diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/adexperiencereport.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/adexperiencereport.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..6fd1b8dce4a623bcaa11cbbdeee66eeb4a443de2 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/adexperiencereport.v1.json @@ -0,0 +1,268 @@ +{ +"basePath": "", +"baseUrl": "https://adexperiencereport.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Ad Experience Report", +"description": "Views Ad Experience Report data, and gets a list of sites that have a significant number of annoying ads.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/ad-experience-report/", +"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": "adexperiencereport:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://adexperiencereport.mtls.googleapis.com/", +"name": "adexperiencereport", +"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": { +"sites": { +"methods": { +"get": { +"description": "Gets a site's Ad Experience Report summary.", +"flatPath": "v1/sites/{sitesId}", +"httpMethod": "GET", +"id": "adexperiencereport.sites.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the site whose summary to get, e.g. `sites/http%3A%2F%2Fwww.google.com%2F`. Format: `sites/{site}`", +"location": "path", +"pattern": "^sites/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "SiteSummaryResponse" +} +} +} +}, +"violatingSites": { +"methods": { +"list": { +"description": "Lists sites that are failing in the Ad Experience Report on at least one platform.", +"flatPath": "v1/violatingSites", +"httpMethod": "GET", +"id": "adexperiencereport.violatingSites.list", +"parameterOrder": [], +"parameters": {}, +"path": "v1/violatingSites", +"response": { +"$ref": "ViolatingSitesResponse" +} +} +} +} +}, +"revision": "20240610", +"rootUrl": "https://adexperiencereport.googleapis.com/", +"schemas": { +"PlatformSummary": { +"description": "A site's Ad Experience Report summary on a single platform.", +"id": "PlatformSummary", +"properties": { +"betterAdsStatus": { +"description": "The site's Ad Experience Report status on this platform.", +"enum": [ +"UNKNOWN", +"PASSING", +"WARNING", +"FAILING" +], +"enumDeprecated": [ +false, +false, +true, +false +], +"enumDescriptions": [ +"Not reviewed.", +"Passing.", +"Warning. No longer a possible status.", +"Failing." +], +"type": "string" +}, +"enforcementTime": { +"description": "The time at which [enforcement](https://support.google.com/webtools/answer/7308033) against the site began or will begin on this platform. Not set when the filter_status is OFF.", +"format": "google-datetime", +"type": "string" +}, +"filterStatus": { +"description": "The site's [enforcement status](https://support.google.com/webtools/answer/7308033) on this platform.", +"enum": [ +"UNKNOWN", +"ON", +"OFF", +"PAUSED", +"PENDING" +], +"enumDescriptions": [ +"N/A.", +"Ad filtering is on.", +"Ad filtering is off.", +"Ad filtering is paused.", +"Ad filtering is pending." +], +"type": "string" +}, +"lastChangeTime": { +"description": "The time at which the site's status last changed on this platform.", +"format": "google-datetime", +"type": "string" +}, +"region": { +"deprecated": true, +"description": "The site's regions on this platform. No longer populated, because there is no longer any semantic difference between sites in different regions.", +"items": { +"enum": [ +"REGION_UNKNOWN", +"REGION_A", +"REGION_B", +"REGION_C" +], +"enumDescriptions": [ +"Ad standard not yet defined for your region.", +"Region A.", +"Region B.", +"Region C." +], +"type": "string" +}, +"type": "array" +}, +"reportUrl": { +"description": "A link to the full Ad Experience Report for the site on this platform.. Not set in ViolatingSitesResponse. Note that you must complete the [Search Console verification process](https://support.google.com/webmasters/answer/9008080) for the site before you can access the full report.", +"type": "string" +}, +"underReview": { +"description": "Whether the site is currently under review on this platform.", +"type": "boolean" +} +}, +"type": "object" +}, +"SiteSummaryResponse": { +"description": "Response message for GetSiteSummary.", +"id": "SiteSummaryResponse", +"properties": { +"desktopSummary": { +"$ref": "PlatformSummary", +"description": "The site's Ad Experience Report summary on desktop." +}, +"mobileSummary": { +"$ref": "PlatformSummary", +"description": "The site's Ad Experience Report summary on mobile." +}, +"reviewedSite": { +"description": "The name of the reviewed site, e.g. `google.com`.", +"type": "string" +} +}, +"type": "object" +}, +"ViolatingSitesResponse": { +"description": "Response message for ListViolatingSites.", +"id": "ViolatingSitesResponse", +"properties": { +"violatingSites": { +"description": "The list of violating sites.", +"items": { +"$ref": "SiteSummaryResponse" +}, +"type": "array" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Ad Experience Report 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/adsensehost.v4.1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/adsensehost.v4.1.json new file mode 100644 index 0000000000000000000000000000000000000000..0dda4de4db62af68bf959a591a3bddc26ed00113 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/adsensehost.v4.1.json @@ -0,0 +1,1573 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/adsensehost": { +"description": "View and manage your AdSense host data and associated accounts" +} +} +} +}, +"basePath": "/adsensehost/v4.1/", +"baseUrl": "https://www.googleapis.com/adsensehost/v4.1/", +"batchPath": "batch/adsensehost/v4.1", +"canonicalName": "AdSense Host", +"description": "Generates performance reports, generates ad codes, and provides publisher management capabilities for AdSense Hosts.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/adsense/host/", +"icons": { +"x16": "https://www.google.com/images/icons/product/adsense-16.png", +"x32": "https://www.google.com/images/icons/product/adsense-32.png" +}, +"id": "adsensehost:v4.1", +"kind": "discovery#restDescription", +"labels": [ +"limited_availability" +], +"name": "adsensehost", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"alt": { +"default": "json", +"description": "Data format for the response.", +"enum": [ +"csv", +"json" +], +"enumDescriptions": [ +"Responses with Content-Type of text/csv", +"Responses with Content-Type of application/json" +], +"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": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"userIp": { +"description": "Deprecated. Please use quotaUser instead.", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"accounts": { +"methods": { +"get": { +"description": "Get information about the selected associated AdSense account.", +"httpMethod": "GET", +"id": "adsensehost.accounts.get", +"parameterOrder": [ +"accountId" +], +"parameters": { +"accountId": { +"description": "Account to get information about.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "accounts/{accountId}", +"response": { +"$ref": "Account" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsensehost" +] +}, +"list": { +"description": "List hosted accounts associated with this AdSense account by ad client id.", +"httpMethod": "GET", +"id": "adsensehost.accounts.list", +"parameterOrder": [ +"filterAdClientId" +], +"parameters": { +"filterAdClientId": { +"description": "Ad clients to list accounts for.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "accounts", +"response": { +"$ref": "Accounts" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsensehost" +] +} +}, +"resources": { +"adclients": { +"methods": { +"get": { +"description": "Get information about one of the ad clients in the specified publisher's AdSense account.", +"httpMethod": "GET", +"id": "adsensehost.accounts.adclients.get", +"parameterOrder": [ +"accountId", +"adClientId" +], +"parameters": { +"accountId": { +"description": "Account which contains the ad client.", +"location": "path", +"required": true, +"type": "string" +}, +"adClientId": { +"description": "Ad client to get.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "accounts/{accountId}/adclients/{adClientId}", +"response": { +"$ref": "AdClient" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsensehost" +] +}, +"list": { +"description": "List all hosted ad clients in the specified hosted account.", +"httpMethod": "GET", +"id": "adsensehost.accounts.adclients.list", +"parameterOrder": [ +"accountId" +], +"parameters": { +"accountId": { +"description": "Account for which to list ad clients.", +"location": "path", +"required": true, +"type": "string" +}, +"maxResults": { +"description": "The maximum number of ad clients to include in the response, used for paging.", +"format": "uint32", +"location": "query", +"maximum": "10000", +"minimum": "0", +"type": "integer" +}, +"pageToken": { +"description": "A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.", +"location": "query", +"type": "string" +} +}, +"path": "accounts/{accountId}/adclients", +"response": { +"$ref": "AdClients" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsensehost" +] +} +} +}, +"adunits": { +"methods": { +"delete": { +"description": "Delete the specified ad unit from the specified publisher AdSense account.", +"httpMethod": "DELETE", +"id": "adsensehost.accounts.adunits.delete", +"parameterOrder": [ +"accountId", +"adClientId", +"adUnitId" +], +"parameters": { +"accountId": { +"description": "Account which contains the ad unit.", +"location": "path", +"required": true, +"type": "string" +}, +"adClientId": { +"description": "Ad client for which to get ad unit.", +"location": "path", +"required": true, +"type": "string" +}, +"adUnitId": { +"description": "Ad unit to delete.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}", +"response": { +"$ref": "AdUnit" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsensehost" +] +}, +"get": { +"description": "Get the specified host ad unit in this AdSense account.", +"httpMethod": "GET", +"id": "adsensehost.accounts.adunits.get", +"parameterOrder": [ +"accountId", +"adClientId", +"adUnitId" +], +"parameters": { +"accountId": { +"description": "Account which contains the ad unit.", +"location": "path", +"required": true, +"type": "string" +}, +"adClientId": { +"description": "Ad client for which to get ad unit.", +"location": "path", +"required": true, +"type": "string" +}, +"adUnitId": { +"description": "Ad unit to get.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}", +"response": { +"$ref": "AdUnit" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsensehost" +] +}, +"getAdCode": { +"description": "Get ad code for the specified ad unit, attaching the specified host custom channels.", +"httpMethod": "GET", +"id": "adsensehost.accounts.adunits.getAdCode", +"parameterOrder": [ +"accountId", +"adClientId", +"adUnitId" +], +"parameters": { +"accountId": { +"description": "Account which contains the ad client.", +"location": "path", +"required": true, +"type": "string" +}, +"adClientId": { +"description": "Ad client with contains the ad unit.", +"location": "path", +"required": true, +"type": "string" +}, +"adUnitId": { +"description": "Ad unit to get the code for.", +"location": "path", +"required": true, +"type": "string" +}, +"hostCustomChannelId": { +"description": "Host custom channel to attach to the ad code.", +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}/adcode", +"response": { +"$ref": "AdCode" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsensehost" +] +}, +"insert": { +"description": "Insert the supplied ad unit into the specified publisher AdSense account.", +"httpMethod": "POST", +"id": "adsensehost.accounts.adunits.insert", +"parameterOrder": [ +"accountId", +"adClientId" +], +"parameters": { +"accountId": { +"description": "Account which will contain the ad unit.", +"location": "path", +"required": true, +"type": "string" +}, +"adClientId": { +"description": "Ad client into which to insert the ad unit.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "accounts/{accountId}/adclients/{adClientId}/adunits", +"request": { +"$ref": "AdUnit" +}, +"response": { +"$ref": "AdUnit" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsensehost" +] +}, +"list": { +"description": "List all ad units in the specified publisher's AdSense account.", +"httpMethod": "GET", +"id": "adsensehost.accounts.adunits.list", +"parameterOrder": [ +"accountId", +"adClientId" +], +"parameters": { +"accountId": { +"description": "Account which contains the ad client.", +"location": "path", +"required": true, +"type": "string" +}, +"adClientId": { +"description": "Ad client for which to list ad units.", +"location": "path", +"required": true, +"type": "string" +}, +"includeInactive": { +"description": "Whether to include inactive ad units. Default: true.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"description": "The maximum number of ad units to include in the response, used for paging.", +"format": "uint32", +"location": "query", +"maximum": "10000", +"minimum": "0", +"type": "integer" +}, +"pageToken": { +"description": "A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.", +"location": "query", +"type": "string" +} +}, +"path": "accounts/{accountId}/adclients/{adClientId}/adunits", +"response": { +"$ref": "AdUnits" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsensehost" +] +}, +"patch": { +"description": "Update the supplied ad unit in the specified publisher AdSense account. This method supports patch semantics.", +"httpMethod": "PATCH", +"id": "adsensehost.accounts.adunits.patch", +"parameterOrder": [ +"accountId", +"adClientId", +"adUnitId" +], +"parameters": { +"accountId": { +"description": "Account which contains the ad client.", +"location": "path", +"required": true, +"type": "string" +}, +"adClientId": { +"description": "Ad client which contains the ad unit.", +"location": "path", +"required": true, +"type": "string" +}, +"adUnitId": { +"description": "Ad unit to get.", +"location": "query", +"required": true, +"type": "string" +} +}, +"path": "accounts/{accountId}/adclients/{adClientId}/adunits", +"request": { +"$ref": "AdUnit" +}, +"response": { +"$ref": "AdUnit" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsensehost" +] +}, +"update": { +"description": "Update the supplied ad unit in the specified publisher AdSense account.", +"httpMethod": "PUT", +"id": "adsensehost.accounts.adunits.update", +"parameterOrder": [ +"accountId", +"adClientId" +], +"parameters": { +"accountId": { +"description": "Account which contains the ad client.", +"location": "path", +"required": true, +"type": "string" +}, +"adClientId": { +"description": "Ad client which contains the ad unit.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "accounts/{accountId}/adclients/{adClientId}/adunits", +"request": { +"$ref": "AdUnit" +}, +"response": { +"$ref": "AdUnit" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsensehost" +] +} +} +}, +"reports": { +"methods": { +"generate": { +"description": "Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify \"alt=csv\" as a query parameter.", +"httpMethod": "GET", +"id": "adsensehost.accounts.reports.generate", +"parameterOrder": [ +"accountId", +"startDate", +"endDate" +], +"parameters": { +"accountId": { +"description": "Hosted account upon which to report.", +"location": "path", +"required": true, +"type": "string" +}, +"dimension": { +"description": "Dimensions to base the report on.", +"location": "query", +"pattern": "[a-zA-Z_]+", +"repeated": true, +"type": "string" +}, +"endDate": { +"description": "End of the date range to report on in \"YYYY-MM-DD\" format, inclusive.", +"location": "query", +"pattern": "\\d{4}-\\d{2}-\\d{2}|(today|startOfMonth|startOfYear)(([\\-\\+]\\d+[dwmy]){0,3}?)", +"required": true, +"type": "string" +}, +"filter": { +"description": "Filters to be run on the report.", +"location": "query", +"pattern": "[a-zA-Z_]+(==|=@).+", +"repeated": true, +"type": "string" +}, +"locale": { +"description": "Optional locale to use for translating report output to a local language. Defaults to \"en_US\" if not specified.", +"location": "query", +"pattern": "[a-zA-Z_]+", +"type": "string" +}, +"maxResults": { +"description": "The maximum number of rows of report data to return.", +"format": "uint32", +"location": "query", +"maximum": "50000", +"minimum": "0", +"type": "integer" +}, +"metric": { +"description": "Numeric columns to include in the report.", +"location": "query", +"pattern": "[a-zA-Z_]+", +"repeated": true, +"type": "string" +}, +"sort": { +"description": "The name of a dimension or metric to sort the resulting report on, optionally prefixed with \"+\" to sort ascending or \"-\" to sort descending. If no prefix is specified, the column is sorted ascending.", +"location": "query", +"pattern": "(\\+|-)?[a-zA-Z_]+", +"repeated": true, +"type": "string" +}, +"startDate": { +"description": "Start of the date range to report on in \"YYYY-MM-DD\" format, inclusive.", +"location": "query", +"pattern": "\\d{4}-\\d{2}-\\d{2}|(today|startOfMonth|startOfYear)(([\\-\\+]\\d+[dwmy]){0,3}?)", +"required": true, +"type": "string" +}, +"startIndex": { +"description": "Index of the first row of report data to return.", +"format": "uint32", +"location": "query", +"maximum": "5000", +"minimum": "0", +"type": "integer" +} +}, +"path": "accounts/{accountId}/reports", +"response": { +"$ref": "Report" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsensehost" +] +} +} +} +} +}, +"adclients": { +"methods": { +"get": { +"description": "Get information about one of the ad clients in the Host AdSense account.", +"httpMethod": "GET", +"id": "adsensehost.adclients.get", +"parameterOrder": [ +"adClientId" +], +"parameters": { +"adClientId": { +"description": "Ad client to get.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "adclients/{adClientId}", +"response": { +"$ref": "AdClient" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsensehost" +] +}, +"list": { +"description": "List all host ad clients in this AdSense account.", +"httpMethod": "GET", +"id": "adsensehost.adclients.list", +"parameters": { +"maxResults": { +"description": "The maximum number of ad clients to include in the response, used for paging.", +"format": "uint32", +"location": "query", +"maximum": "10000", +"minimum": "0", +"type": "integer" +}, +"pageToken": { +"description": "A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.", +"location": "query", +"type": "string" +} +}, +"path": "adclients", +"response": { +"$ref": "AdClients" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsensehost" +] +} +} +}, +"associationsessions": { +"methods": { +"start": { +"description": "Create an association session for initiating an association with an AdSense user.", +"httpMethod": "GET", +"id": "adsensehost.associationsessions.start", +"parameterOrder": [ +"productCode", +"websiteUrl" +], +"parameters": { +"callbackUrl": { +"description": "The URL to redirect the user to once association is completed. It receives a token parameter that can then be used to retrieve the associated account.", +"location": "query", +"type": "string" +}, +"productCode": { +"description": "Products to associate with the user.", +"enum": [ +"AFC", +"AFG", +"AFMC", +"AFS", +"AFV" +], +"enumDescriptions": [ +"AdSense For Content", +"AdSense For Games", +"AdSense For Mobile Content - deprecated", +"AdSense For Search - deprecated", +"AdSense For Video" +], +"location": "query", +"repeated": true, +"required": true, +"type": "string" +}, +"userLocale": { +"description": "The preferred locale of the user.", +"location": "query", +"type": "string" +}, +"websiteLocale": { +"description": "The locale of the user's hosted website.", +"location": "query", +"type": "string" +}, +"websiteUrl": { +"description": "The URL of the user's hosted website.", +"location": "query", +"required": true, +"type": "string" +} +}, +"path": "associationsessions/start", +"response": { +"$ref": "AssociationSession" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsensehost" +] +}, +"verify": { +"description": "Verify an association session after the association callback returns from AdSense signup.", +"httpMethod": "GET", +"id": "adsensehost.associationsessions.verify", +"parameterOrder": [ +"token" +], +"parameters": { +"token": { +"description": "The token returned to the association callback URL.", +"location": "query", +"required": true, +"type": "string" +} +}, +"path": "associationsessions/verify", +"response": { +"$ref": "AssociationSession" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsensehost" +] +} +} +}, +"customchannels": { +"methods": { +"delete": { +"description": "Delete a specific custom channel from the host AdSense account.", +"httpMethod": "DELETE", +"id": "adsensehost.customchannels.delete", +"parameterOrder": [ +"adClientId", +"customChannelId" +], +"parameters": { +"adClientId": { +"description": "Ad client from which to delete the custom channel.", +"location": "path", +"required": true, +"type": "string" +}, +"customChannelId": { +"description": "Custom channel to delete.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "adclients/{adClientId}/customchannels/{customChannelId}", +"response": { +"$ref": "CustomChannel" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsensehost" +] +}, +"get": { +"description": "Get a specific custom channel from the host AdSense account.", +"httpMethod": "GET", +"id": "adsensehost.customchannels.get", +"parameterOrder": [ +"adClientId", +"customChannelId" +], +"parameters": { +"adClientId": { +"description": "Ad client from which to get the custom channel.", +"location": "path", +"required": true, +"type": "string" +}, +"customChannelId": { +"description": "Custom channel to get.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "adclients/{adClientId}/customchannels/{customChannelId}", +"response": { +"$ref": "CustomChannel" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsensehost" +] +}, +"insert": { +"description": "Add a new custom channel to the host AdSense account.", +"httpMethod": "POST", +"id": "adsensehost.customchannels.insert", +"parameterOrder": [ +"adClientId" +], +"parameters": { +"adClientId": { +"description": "Ad client to which the new custom channel will be added.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "adclients/{adClientId}/customchannels", +"request": { +"$ref": "CustomChannel" +}, +"response": { +"$ref": "CustomChannel" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsensehost" +] +}, +"list": { +"description": "List all host custom channels in this AdSense account.", +"httpMethod": "GET", +"id": "adsensehost.customchannels.list", +"parameterOrder": [ +"adClientId" +], +"parameters": { +"adClientId": { +"description": "Ad client for which to list custom channels.", +"location": "path", +"required": true, +"type": "string" +}, +"maxResults": { +"description": "The maximum number of custom channels to include in the response, used for paging.", +"format": "uint32", +"location": "query", +"maximum": "10000", +"minimum": "0", +"type": "integer" +}, +"pageToken": { +"description": "A continuation token, used to page through custom channels. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.", +"location": "query", +"type": "string" +} +}, +"path": "adclients/{adClientId}/customchannels", +"response": { +"$ref": "CustomChannels" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsensehost" +] +}, +"patch": { +"description": "Update a custom channel in the host AdSense account. This method supports patch semantics.", +"httpMethod": "PATCH", +"id": "adsensehost.customchannels.patch", +"parameterOrder": [ +"adClientId", +"customChannelId" +], +"parameters": { +"adClientId": { +"description": "Ad client in which the custom channel will be updated.", +"location": "path", +"required": true, +"type": "string" +}, +"customChannelId": { +"description": "Custom channel to get.", +"location": "query", +"required": true, +"type": "string" +} +}, +"path": "adclients/{adClientId}/customchannels", +"request": { +"$ref": "CustomChannel" +}, +"response": { +"$ref": "CustomChannel" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsensehost" +] +}, +"update": { +"description": "Update a custom channel in the host AdSense account.", +"httpMethod": "PUT", +"id": "adsensehost.customchannels.update", +"parameterOrder": [ +"adClientId" +], +"parameters": { +"adClientId": { +"description": "Ad client in which the custom channel will be updated.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "adclients/{adClientId}/customchannels", +"request": { +"$ref": "CustomChannel" +}, +"response": { +"$ref": "CustomChannel" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsensehost" +] +} +} +}, +"reports": { +"methods": { +"generate": { +"description": "Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify \"alt=csv\" as a query parameter.", +"httpMethod": "GET", +"id": "adsensehost.reports.generate", +"parameterOrder": [ +"startDate", +"endDate" +], +"parameters": { +"dimension": { +"description": "Dimensions to base the report on.", +"location": "query", +"pattern": "[a-zA-Z_]+", +"repeated": true, +"type": "string" +}, +"endDate": { +"description": "End of the date range to report on in \"YYYY-MM-DD\" format, inclusive.", +"location": "query", +"pattern": "\\d{4}-\\d{2}-\\d{2}|(today|startOfMonth|startOfYear)(([\\-\\+]\\d+[dwmy]){0,3}?)", +"required": true, +"type": "string" +}, +"filter": { +"description": "Filters to be run on the report.", +"location": "query", +"pattern": "[a-zA-Z_]+(==|=@).+", +"repeated": true, +"type": "string" +}, +"locale": { +"description": "Optional locale to use for translating report output to a local language. Defaults to \"en_US\" if not specified.", +"location": "query", +"pattern": "[a-zA-Z_]+", +"type": "string" +}, +"maxResults": { +"description": "The maximum number of rows of report data to return.", +"format": "uint32", +"location": "query", +"maximum": "50000", +"minimum": "0", +"type": "integer" +}, +"metric": { +"description": "Numeric columns to include in the report.", +"location": "query", +"pattern": "[a-zA-Z_]+", +"repeated": true, +"type": "string" +}, +"sort": { +"description": "The name of a dimension or metric to sort the resulting report on, optionally prefixed with \"+\" to sort ascending or \"-\" to sort descending. If no prefix is specified, the column is sorted ascending.", +"location": "query", +"pattern": "(\\+|-)?[a-zA-Z_]+", +"repeated": true, +"type": "string" +}, +"startDate": { +"description": "Start of the date range to report on in \"YYYY-MM-DD\" format, inclusive.", +"location": "query", +"pattern": "\\d{4}-\\d{2}-\\d{2}|(today|startOfMonth|startOfYear)(([\\-\\+]\\d+[dwmy]){0,3}?)", +"required": true, +"type": "string" +}, +"startIndex": { +"description": "Index of the first row of report data to return.", +"format": "uint32", +"location": "query", +"maximum": "5000", +"minimum": "0", +"type": "integer" +} +}, +"path": "reports", +"response": { +"$ref": "Report" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsensehost" +] +} +} +}, +"urlchannels": { +"methods": { +"delete": { +"description": "Delete a URL channel from the host AdSense account.", +"httpMethod": "DELETE", +"id": "adsensehost.urlchannels.delete", +"parameterOrder": [ +"adClientId", +"urlChannelId" +], +"parameters": { +"adClientId": { +"description": "Ad client from which to delete the URL channel.", +"location": "path", +"required": true, +"type": "string" +}, +"urlChannelId": { +"description": "URL channel to delete.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "adclients/{adClientId}/urlchannels/{urlChannelId}", +"response": { +"$ref": "UrlChannel" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsensehost" +] +}, +"insert": { +"description": "Add a new URL channel to the host AdSense account.", +"httpMethod": "POST", +"id": "adsensehost.urlchannels.insert", +"parameterOrder": [ +"adClientId" +], +"parameters": { +"adClientId": { +"description": "Ad client to which the new URL channel will be added.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "adclients/{adClientId}/urlchannels", +"request": { +"$ref": "UrlChannel" +}, +"response": { +"$ref": "UrlChannel" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsensehost" +] +}, +"list": { +"description": "List all host URL channels in the host AdSense account.", +"httpMethod": "GET", +"id": "adsensehost.urlchannels.list", +"parameterOrder": [ +"adClientId" +], +"parameters": { +"adClientId": { +"description": "Ad client for which to list URL channels.", +"location": "path", +"required": true, +"type": "string" +}, +"maxResults": { +"description": "The maximum number of URL channels to include in the response, used for paging.", +"format": "uint32", +"location": "query", +"maximum": "10000", +"minimum": "0", +"type": "integer" +}, +"pageToken": { +"description": "A continuation token, used to page through URL channels. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.", +"location": "query", +"type": "string" +} +}, +"path": "adclients/{adClientId}/urlchannels", +"response": { +"$ref": "UrlChannels" +}, +"scopes": [ +"https://www.googleapis.com/auth/adsensehost" +] +} +} +} +}, +"revision": "20200930", +"rootUrl": "https://www.googleapis.com/", +"schemas": { +"Account": { +"id": "Account", +"properties": { +"id": { +"description": "Unique identifier of this account.", +"type": "string" +}, +"kind": { +"default": "adsensehost#account", +"description": "Kind of resource this is, in this case adsensehost#account.", +"type": "string" +}, +"name": { +"description": "Name of this account.", +"type": "string" +}, +"status": { +"description": "Approval status of this account. One of: PENDING, APPROVED, DISABLED.", +"type": "string" +} +}, +"type": "object" +}, +"Accounts": { +"id": "Accounts", +"properties": { +"etag": { +"description": "ETag of this response for caching purposes.", +"type": "string" +}, +"items": { +"description": "The accounts returned in this list response.", +"items": { +"$ref": "Account" +}, +"type": "array" +}, +"kind": { +"default": "adsensehost#accounts", +"description": "Kind of list this is, in this case adsensehost#accounts.", +"type": "string" +} +}, +"type": "object" +}, +"AdClient": { +"id": "AdClient", +"properties": { +"arcOptIn": { +"description": "Whether this ad client is opted in to ARC.", +"type": "boolean" +}, +"id": { +"description": "Unique identifier of this ad client.", +"type": "string" +}, +"kind": { +"default": "adsensehost#adClient", +"description": "Kind of resource this is, in this case adsensehost#adClient.", +"type": "string" +}, +"productCode": { +"description": "This ad client's product code, which corresponds to the PRODUCT_CODE report dimension.", +"type": "string" +}, +"supportsReporting": { +"description": "Whether this ad client supports being reported on.", +"type": "boolean" +} +}, +"type": "object" +}, +"AdClients": { +"id": "AdClients", +"properties": { +"etag": { +"description": "ETag of this response for caching purposes.", +"type": "string" +}, +"items": { +"description": "The ad clients returned in this list response.", +"items": { +"$ref": "AdClient" +}, +"type": "array" +}, +"kind": { +"default": "adsensehost#adClients", +"description": "Kind of list this is, in this case adsensehost#adClients.", +"type": "string" +}, +"nextPageToken": { +"description": "Continuation token used to page through ad clients. To retrieve the next page of results, set the next request's \"pageToken\" value to this.", +"type": "string" +} +}, +"type": "object" +}, +"AdCode": { +"id": "AdCode", +"properties": { +"adCode": { +"description": "The ad code snippet.", +"type": "string" +}, +"kind": { +"default": "adsensehost#adCode", +"description": "Kind this is, in this case adsensehost#adCode.", +"type": "string" +} +}, +"type": "object" +}, +"AdStyle": { +"id": "AdStyle", +"properties": { +"colors": { +"description": "The colors included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.", +"properties": { +"background": { +"description": "The color of the ad background.", +"type": "string" +}, +"border": { +"description": "The color of the ad border.", +"type": "string" +}, +"text": { +"description": "The color of the ad text.", +"type": "string" +}, +"title": { +"description": "The color of the ad title.", +"type": "string" +}, +"url": { +"description": "The color of the ad url.", +"type": "string" +} +}, +"type": "object" +}, +"corners": { +"description": "The style of the corners in the ad (deprecated: never populated, ignored).", +"type": "string" +}, +"font": { +"description": "The font which is included in the style.", +"properties": { +"family": { +"description": "The family of the font. Possible values are: ACCOUNT_DEFAULT_FAMILY, ADSENSE_DEFAULT_FAMILY, ARIAL, TIMES and VERDANA.", +"type": "string" +}, +"size": { +"description": "The size of the font. Possible values are: ACCOUNT_DEFAULT_SIZE, ADSENSE_DEFAULT_SIZE, SMALL, MEDIUM and LARGE.", +"type": "string" +} +}, +"type": "object" +}, +"kind": { +"default": "adsensehost#adStyle", +"description": "Kind this is, in this case adsensehost#adStyle.", +"type": "string" +} +}, +"type": "object" +}, +"AdUnit": { +"id": "AdUnit", +"properties": { +"code": { +"description": "Identity code of this ad unit, not necessarily unique across ad clients.", +"type": "string" +}, +"contentAdsSettings": { +"description": "Settings specific to content ads (AFC) and highend mobile content ads (AFMC - deprecated).", +"properties": { +"backupOption": { +"description": "The backup option to be used in instances where no ad is available.", +"properties": { +"color": { +"description": "Color to use when type is set to COLOR. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.", +"type": "string" +}, +"type": { +"description": "Type of the backup option. Possible values are BLANK, COLOR and URL.", +"type": "string" +}, +"url": { +"description": "URL to use when type is set to URL.", +"type": "string" +} +}, +"type": "object" +}, +"size": { +"description": "Size of this ad unit. Size values are in the form SIZE_{width}_{height}.", +"type": "string" +}, +"type": { +"description": "Type of this ad unit. Possible values are TEXT, TEXT_IMAGE, IMAGE and LINK.", +"type": "string" +} +}, +"type": "object" +}, +"customStyle": { +"$ref": "AdStyle", +"description": "Custom style information specific to this ad unit." +}, +"id": { +"description": "Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.", +"type": "string" +}, +"kind": { +"default": "adsensehost#adUnit", +"description": "Kind of resource this is, in this case adsensehost#adUnit.", +"type": "string" +}, +"mobileContentAdsSettings": { +"description": "Settings specific to WAP mobile content ads (AFMC - deprecated).", +"properties": { +"markupLanguage": { +"description": "The markup language to use for this ad unit.", +"type": "string" +}, +"scriptingLanguage": { +"description": "The scripting language to use for this ad unit.", +"type": "string" +}, +"size": { +"description": "Size of this ad unit.", +"type": "string" +}, +"type": { +"description": "Type of this ad unit.", +"type": "string" +} +}, +"type": "object" +}, +"name": { +"description": "Name of this ad unit.", +"type": "string" +}, +"status": { +"description": "Status of this ad unit. Possible values are:\nNEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.\n\nACTIVE: Indicates that there has been activity on this ad unit in the last seven days.\n\nINACTIVE: Indicates that there has been no activity on this ad unit in the last seven days.", +"type": "string" +} +}, +"type": "object" +}, +"AdUnits": { +"id": "AdUnits", +"properties": { +"etag": { +"description": "ETag of this response for caching purposes.", +"type": "string" +}, +"items": { +"description": "The ad units returned in this list response.", +"items": { +"$ref": "AdUnit" +}, +"type": "array" +}, +"kind": { +"default": "adsensehost#adUnits", +"description": "Kind of list this is, in this case adsensehost#adUnits.", +"type": "string" +}, +"nextPageToken": { +"description": "Continuation token used to page through ad units. To retrieve the next page of results, set the next request's \"pageToken\" value to this.", +"type": "string" +} +}, +"type": "object" +}, +"AssociationSession": { +"id": "AssociationSession", +"properties": { +"accountId": { +"description": "Hosted account id of the associated publisher after association. Present if status is ACCEPTED.", +"type": "string" +}, +"id": { +"description": "Unique identifier of this association session.", +"type": "string" +}, +"kind": { +"default": "adsensehost#associationSession", +"description": "Kind of resource this is, in this case adsensehost#associationSession.", +"type": "string" +}, +"productCodes": { +"description": "The products to associate with the user. Options: AFC, AFG, AFV, AFS (deprecated), AFMC (deprecated)", +"items": { +"type": "string" +}, +"type": "array" +}, +"redirectUrl": { +"description": "Redirect URL of this association session. Used to redirect users into the AdSense association flow.", +"type": "string" +}, +"status": { +"description": "Status of the completed association, available once the association callback token has been verified. One of ACCEPTED, REJECTED, or ERROR.", +"type": "string" +}, +"userLocale": { +"description": "The preferred locale of the user themselves when going through the AdSense association flow.", +"type": "string" +}, +"websiteLocale": { +"description": "The locale of the user's hosted website.", +"type": "string" +}, +"websiteUrl": { +"description": "The URL of the user's hosted website.", +"type": "string" +} +}, +"type": "object" +}, +"CustomChannel": { +"id": "CustomChannel", +"properties": { +"code": { +"description": "Code of this custom channel, not necessarily unique across ad clients.", +"type": "string" +}, +"id": { +"description": "Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.", +"type": "string" +}, +"kind": { +"default": "adsensehost#customChannel", +"description": "Kind of resource this is, in this case adsensehost#customChannel.", +"type": "string" +}, +"name": { +"description": "Name of this custom channel.", +"type": "string" +} +}, +"type": "object" +}, +"CustomChannels": { +"id": "CustomChannels", +"properties": { +"etag": { +"description": "ETag of this response for caching purposes.", +"type": "string" +}, +"items": { +"description": "The custom channels returned in this list response.", +"items": { +"$ref": "CustomChannel" +}, +"type": "array" +}, +"kind": { +"default": "adsensehost#customChannels", +"description": "Kind of list this is, in this case adsensehost#customChannels.", +"type": "string" +}, +"nextPageToken": { +"description": "Continuation token used to page through custom channels. To retrieve the next page of results, set the next request's \"pageToken\" value to this.", +"type": "string" +} +}, +"type": "object" +}, +"Report": { +"id": "Report", +"properties": { +"averages": { +"description": "The averages of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.", +"items": { +"type": "string" +}, +"type": "array" +}, +"headers": { +"description": "The header information of the columns requested in the report. This is a list of headers; one for each dimension in the request, followed by one for each metric in the request.", +"items": { +"properties": { +"currency": { +"description": "The currency of this column. Only present if the header type is METRIC_CURRENCY.", +"type": "string" +}, +"name": { +"description": "The name of the header.", +"type": "string" +}, +"type": { +"description": "The type of the header; one of DIMENSION, METRIC_TALLY, METRIC_RATIO, or METRIC_CURRENCY.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"kind": { +"default": "adsensehost#report", +"description": "Kind this is, in this case adsensehost#report.", +"type": "string" +}, +"rows": { +"description": "The output rows of the report. Each row is a list of cells; one for each dimension in the request, followed by one for each metric in the request. The dimension cells contain strings, and the metric cells contain numbers.", +"items": { +"items": { +"type": "string" +}, +"type": "array" +}, +"type": "array" +}, +"totalMatchedRows": { +"description": "The total number of rows matched by the report request. Fewer rows may be returned in the response due to being limited by the row count requested or the report row limit.", +"format": "int64", +"type": "string" +}, +"totals": { +"description": "The totals of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warnings": { +"description": "Any warnings associated with generation of the report.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"UrlChannel": { +"id": "UrlChannel", +"properties": { +"id": { +"description": "Unique identifier of this URL channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.", +"type": "string" +}, +"kind": { +"default": "adsensehost#urlChannel", +"description": "Kind of resource this is, in this case adsensehost#urlChannel.", +"type": "string" +}, +"urlPattern": { +"description": "URL Pattern of this URL channel. Does not include \"http://\" or \"https://\". Example: www.example.com/home", +"type": "string" +} +}, +"type": "object" +}, +"UrlChannels": { +"id": "UrlChannels", +"properties": { +"etag": { +"description": "ETag of this response for caching purposes.", +"type": "string" +}, +"items": { +"description": "The URL channels returned in this list response.", +"items": { +"$ref": "UrlChannel" +}, +"type": "array" +}, +"kind": { +"default": "adsensehost#urlChannels", +"description": "Kind of list this is, in this case adsensehost#urlChannels.", +"type": "string" +}, +"nextPageToken": { +"description": "Continuation token used to page through URL channels. To retrieve the next page of results, set the next request's \"pageToken\" value to this.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "adsensehost/v4.1/", +"title": "AdSense Host API", +"version": "v4.1" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/alertcenter.v1beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/alertcenter.v1beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..cb4a3147ead3c29858d39d4e800259dcdb25099c --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/alertcenter.v1beta1.json @@ -0,0 +1,2306 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/apps.alerts": { +"description": "See and delete your domain's G Suite alerts, and send alert feedback" +} +} +} +}, +"basePath": "", +"baseUrl": "https://alertcenter.googleapis.com/", +"batchPath": "batch", +"canonicalName": "AlertCenter", +"description": "Manages alerts on issues affecting your domain. Note: The current version of this API (v1beta1) is available to all Google Workspace customers. ", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/admin-sdk/alertcenter/", +"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": "alertcenter:v1beta1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://alertcenter.mtls.googleapis.com/", +"name": "alertcenter", +"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": { +"alerts": { +"methods": { +"batchDelete": { +"description": "Performs batch delete operation on alerts.", +"flatPath": "v1beta1/alerts:batchDelete", +"httpMethod": "POST", +"id": "alertcenter.alerts.batchDelete", +"parameterOrder": [], +"parameters": {}, +"path": "v1beta1/alerts:batchDelete", +"request": { +"$ref": "BatchDeleteAlertsRequest" +}, +"response": { +"$ref": "BatchDeleteAlertsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.alerts" +] +}, +"batchUndelete": { +"description": "Performs batch undelete operation on alerts.", +"flatPath": "v1beta1/alerts:batchUndelete", +"httpMethod": "POST", +"id": "alertcenter.alerts.batchUndelete", +"parameterOrder": [], +"parameters": {}, +"path": "v1beta1/alerts:batchUndelete", +"request": { +"$ref": "BatchUndeleteAlertsRequest" +}, +"response": { +"$ref": "BatchUndeleteAlertsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.alerts" +] +}, +"delete": { +"description": "Marks the specified alert for deletion. An alert that has been marked for deletion is removed from Alert Center after 30 days. Marking an alert for deletion has no effect on an alert which has already been marked for deletion. Attempting to mark a nonexistent alert for deletion results in a `NOT_FOUND` error.", +"flatPath": "v1beta1/alerts/{alertId}", +"httpMethod": "DELETE", +"id": "alertcenter.alerts.delete", +"parameterOrder": [ +"alertId" +], +"parameters": { +"alertId": { +"description": "Required. The identifier of the alert to delete.", +"location": "path", +"required": true, +"type": "string" +}, +"customerId": { +"description": "Optional. The unique identifier of the Google Workspace account of the customer the alert is associated with. The `customer_id` must have the initial \"C\" stripped (for example, `046psxkn`). Inferred from the caller identity if not provided. [Find your customer ID](https://support.google.com/cloudidentity/answer/10070793).", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/alerts/{alertId}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.alerts" +] +}, +"get": { +"description": "Gets the specified alert. Attempting to get a nonexistent alert returns `NOT_FOUND` error.", +"flatPath": "v1beta1/alerts/{alertId}", +"httpMethod": "GET", +"id": "alertcenter.alerts.get", +"parameterOrder": [ +"alertId" +], +"parameters": { +"alertId": { +"description": "Required. The identifier of the alert to retrieve.", +"location": "path", +"required": true, +"type": "string" +}, +"customerId": { +"description": "Optional. The unique identifier of the Google Workspace account of the customer the alert is associated with. The `customer_id` must have the initial \"C\" stripped (for example, `046psxkn`). Inferred from the caller identity if not provided. [Find your customer ID](https://support.google.com/cloudidentity/answer/10070793).", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/alerts/{alertId}", +"response": { +"$ref": "Alert" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.alerts" +] +}, +"getMetadata": { +"description": "Returns the metadata of an alert. Attempting to get metadata for a non-existent alert returns `NOT_FOUND` error.", +"flatPath": "v1beta1/alerts/{alertId}/metadata", +"httpMethod": "GET", +"id": "alertcenter.alerts.getMetadata", +"parameterOrder": [ +"alertId" +], +"parameters": { +"alertId": { +"description": "Required. The identifier of the alert this metadata belongs to.", +"location": "path", +"required": true, +"type": "string" +}, +"customerId": { +"description": "Optional. The unique identifier of the Google Workspace account of the customer the alert metadata is associated with. The `customer_id` must have the initial \"C\" stripped (for example, `046psxkn`). Inferred from the caller identity if not provided. [Find your customer ID](https://support.google.com/cloudidentity/answer/10070793).", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/alerts/{alertId}/metadata", +"response": { +"$ref": "AlertMetadata" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.alerts" +] +}, +"list": { +"description": "Lists the alerts.", +"flatPath": "v1beta1/alerts", +"httpMethod": "GET", +"id": "alertcenter.alerts.list", +"parameterOrder": [], +"parameters": { +"customerId": { +"description": "Optional. The unique identifier of the Google Workspace account of the customer the alerts are associated with. The `customer_id` must have the initial \"C\" stripped (for example, `046psxkn`). Inferred from the caller identity if not provided. [Find your customer ID](https://support.google.com/cloudidentity/answer/10070793).", +"location": "query", +"type": "string" +}, +"filter": { +"description": "Optional. A query string for filtering alert results. For more details, see [Query filters](https://developers.google.com/admin-sdk/alertcenter/guides/query-filters) and [Supported query filter fields](https://developers.google.com/admin-sdk/alertcenter/reference/filter-fields#alerts.list).", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. The sort order of the list results. If not specified results may be returned in arbitrary order. You can sort the results in descending order based on the creation timestamp using `order_by=\"create_time desc\"`. Currently, supported sorting are `create_time asc`, `create_time desc`, `update_time desc`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The requested page size. Server may return fewer items than requested. If unspecified, server picks an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A token identifying a page of results the server should return. If empty, a new iteration is started. To continue an iteration, pass in the value from the previous ListAlertsResponse's next_page_token field.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/alerts", +"response": { +"$ref": "ListAlertsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.alerts" +] +}, +"undelete": { +"description": "Restores, or \"undeletes\", an alert that was marked for deletion within the past 30 days. Attempting to undelete an alert which was marked for deletion over 30 days ago (which has been removed from the Alert Center database) or a nonexistent alert returns a `NOT_FOUND` error. Attempting to undelete an alert which has not been marked for deletion has no effect.", +"flatPath": "v1beta1/alerts/{alertId}:undelete", +"httpMethod": "POST", +"id": "alertcenter.alerts.undelete", +"parameterOrder": [ +"alertId" +], +"parameters": { +"alertId": { +"description": "Required. The identifier of the alert to undelete.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/alerts/{alertId}:undelete", +"request": { +"$ref": "UndeleteAlertRequest" +}, +"response": { +"$ref": "Alert" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.alerts" +] +} +}, +"resources": { +"feedback": { +"methods": { +"create": { +"description": "Creates new feedback for an alert. Attempting to create a feedback for a non-existent alert returns `NOT_FOUND` error. Attempting to create a feedback for an alert that is marked for deletion returns `FAILED_PRECONDITION' error.", +"flatPath": "v1beta1/alerts/{alertId}/feedback", +"httpMethod": "POST", +"id": "alertcenter.alerts.feedback.create", +"parameterOrder": [ +"alertId" +], +"parameters": { +"alertId": { +"description": "Required. The identifier of the alert this feedback belongs to.", +"location": "path", +"required": true, +"type": "string" +}, +"customerId": { +"description": "Optional. The unique identifier of the Google Workspace account of the customer the alert is associated with. The `customer_id` must have the initial \"C\" stripped (for example, `046psxkn`). Inferred from the caller identity if not provided. [Find your customer ID](https://support.google.com/cloudidentity/answer/10070793).", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/alerts/{alertId}/feedback", +"request": { +"$ref": "AlertFeedback" +}, +"response": { +"$ref": "AlertFeedback" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.alerts" +] +}, +"list": { +"description": "Lists all the feedback for an alert. Attempting to list feedbacks for a non-existent alert returns `NOT_FOUND` error.", +"flatPath": "v1beta1/alerts/{alertId}/feedback", +"httpMethod": "GET", +"id": "alertcenter.alerts.feedback.list", +"parameterOrder": [ +"alertId" +], +"parameters": { +"alertId": { +"description": "Required. The alert identifier. The \"-\" wildcard could be used to represent all alerts.", +"location": "path", +"required": true, +"type": "string" +}, +"customerId": { +"description": "Optional. The unique identifier of the Google Workspace account of the customer the alert is associated with. The `customer_id` must have the initial \"C\" stripped (for example, `046psxkn`). Inferred from the caller identity if not provided. [Find your customer ID](https://support.google.com/cloudidentity/answer/10070793).", +"location": "query", +"type": "string" +}, +"filter": { +"description": "Optional. A query string for filtering alert feedback results. For more details, see [Query filters](https://developers.google.com/admin-sdk/alertcenter/guides/query-filters) and [Supported query filter fields](https://developers.google.com/admin-sdk/alertcenter/reference/filter-fields#alerts.feedback.list).", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/alerts/{alertId}/feedback", +"response": { +"$ref": "ListAlertFeedbackResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.alerts" +] +} +} +} +} +}, +"v1beta1": { +"methods": { +"getSettings": { +"description": "Returns customer-level settings.", +"flatPath": "v1beta1/settings", +"httpMethod": "GET", +"id": "alertcenter.getSettings", +"parameterOrder": [], +"parameters": { +"customerId": { +"description": "Optional. The unique identifier of the Google Workspace account of the customer the alert settings are associated with. The `customer_id` must/ have the initial \"C\" stripped (for example, `046psxkn`). Inferred from the caller identity if not provided. [Find your customer ID](https://support.google.com/cloudidentity/answer/10070793).", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/settings", +"response": { +"$ref": "Settings" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.alerts" +] +}, +"updateSettings": { +"description": "Updates the customer-level settings.", +"flatPath": "v1beta1/settings", +"httpMethod": "PATCH", +"id": "alertcenter.updateSettings", +"parameterOrder": [], +"parameters": { +"customerId": { +"description": "Optional. The unique identifier of the Google Workspace account of the customer the alert settings are associated with. The `customer_id` must have the initial \"C\" stripped (for example, `046psxkn`). Inferred from the caller identity if not provided. [Find your customer ID](https://support.google.com/cloudidentity/answer/10070793).", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/settings", +"request": { +"$ref": "Settings" +}, +"response": { +"$ref": "Settings" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.alerts" +] +} +} +} +}, +"revision": "20241028", +"rootUrl": "https://alertcenter.googleapis.com/", +"schemas": { +"AbuseDetected": { +"description": "A generic alert for abusive user activity occurring with a customer.", +"id": "AbuseDetected", +"properties": { +"additionalDetails": { +"$ref": "EntityList", +"description": "List of abusive users/entities to be displayed in a table in the alert." +}, +"product": { +"description": "Product that the abuse is originating from.", +"type": "string" +}, +"subAlertId": { +"description": "Unique identifier of each sub alert that is onboarded.", +"type": "string" +}, +"variationType": { +"description": "Variation of AbuseDetected alerts. The variation_type determines the texts displayed the alert details. This differs from sub_alert_id because each sub alert can have multiple variation_types, representing different stages of the alert.", +"enum": [ +"ABUSE_DETECTED_VARIATION_TYPE_UNSPECIFIED", +"DRIVE_ABUSIVE_CONTENT", +"LIMITED_DISABLE" +], +"enumDescriptions": [ +"AbuseDetected alert variation type unspecified. No alert should be unspecified.", +"Variation displayed for Drive abusive content alerts.", +"Variation displayed for Limited Disable alerts, when a Google service is disabled for a user, totally or partially, due to the user's abusive behavior." +], +"type": "string" +} +}, +"type": "object" +}, +"AccessApproval": { +"description": "Alert that is triggered when Google support requests to access customer data.", +"id": "AccessApproval", +"properties": { +"justificationReason": { +"description": "Justification for data access based on justification enums.", +"items": { +"enum": [ +"JUSTIFICATION_UNSPECIFIED", +"CUSTOMER_INITIATED_SUPPORT", +"GOOGLE_INITIATED_REVIEW", +"GOOGLE_INITIATED_SERVICE", +"THIRD_PARTY_DATA_REQUEST", +"GOOGLE_RESPONSE_TO_PRODUCTION_ALERT" +], +"enumDescriptions": [ +"Justification unspecified", +"Customer Initiated Support", +"Google Initiated Review", +"Google Initiated Service", +"Third Party Data Request", +"Google Response to Production Alert" +], +"type": "string" +}, +"type": "array" +}, +"officeLocation": { +"description": "Office location of Google staff requesting access such as \"US\".", +"type": "string" +}, +"products": { +"description": "Products within scope of the Access Approvals request.", +"items": { +"type": "string" +}, +"type": "array" +}, +"requestId": { +"description": "ID of the Access Approvals request. This is a helpful field when requesting support from Google.", +"type": "string" +}, +"scope": { +"description": "Scope of access, also known as a resource. This is further narrowed down by the product field.", +"type": "string" +}, +"tickets": { +"description": "Support tickets related to this Access Approvals request. Populated if there is an associated case number.", +"items": { +"$ref": "SupportTicket" +}, +"type": "array" +} +}, +"type": "object" +}, +"AccountSuspensionDetails": { +"description": "Details about why an account is receiving an account suspension warning.", +"id": "AccountSuspensionDetails", +"properties": { +"abuseReason": { +"description": "The reason why this account is receiving an account suspension warning.", +"enum": [ +"ACCOUNT_SUSPENSION_ABUSE_REASON_UNSPECIFIED", +"TOS_VIOLATION", +"SPAM", +"PHISHING", +"TRAFFIC_PUMPING", +"FRAUD", +"NUMBER_HARVESTING", +"PAYMENTS_FRAUD", +"UNWANTED_CONTENT" +], +"enumDescriptions": [ +"Abuse reason is unspecified.", +"This account is being suspended for a Terms of Service violation.", +"This account is being suspended for spam.", +"This account is being suspended for phishing.", +"This account is being suspended for artificially boosting traffic to a website.", +"This account is being suspended for fraud.", +"This account is being suspended for number harvesting.", +"This account is being suspended for payments fraud.", +"This account is being suspended for unwanted content." +], +"type": "string" +}, +"productName": { +"description": "The name of the product being abused. This is restricted to only the following values: \"Gmail\" \"Google Workspace\" \"Payments\" \"Voice\" \"YouTube\" \"Other\"", +"type": "string" +} +}, +"type": "object" +}, +"AccountSuspensionWarning": { +"description": "A warning that the customer's account is about to be suspended.", +"id": "AccountSuspensionWarning", +"properties": { +"appealWindow": { +"description": "The amount of time remaining to appeal an imminent suspension. After this window has elapsed, the account will be suspended. Only populated if the account suspension is in WARNING state.", +"format": "google-duration", +"type": "string" +}, +"state": { +"description": "Account suspension warning state.", +"enum": [ +"ACCOUNT_SUSPENSION_WARNING_STATE_UNSPECIFIED", +"WARNING", +"SUSPENDED", +"APPEAL_APPROVED", +"APPEAL_SUBMITTED" +], +"enumDescriptions": [ +"State is unspecified.", +"Customer is receiving a warning about imminent suspension.", +"Customer is being notified that their account has been suspended.", +"Customer is being notified that their suspension appeal was approved.", +"Customer has submitted their appeal, which is pending review." +], +"type": "string" +}, +"suspensionDetails": { +"description": "Details about why an account is being suspended.", +"items": { +"$ref": "AccountSuspensionDetails" +}, +"type": "array" +} +}, +"type": "object" +}, +"AccountWarning": { +"description": "Alerts for user account warning events.", +"id": "AccountWarning", +"properties": { +"email": { +"description": "Required. The email of the user that this event belongs to.", +"type": "string" +}, +"loginDetails": { +"$ref": "LoginDetails", +"description": "Optional. Details of the login action associated with the warning event. This is only available for: * Suspicious login * Suspicious login (less secure app) * Suspicious programmatic login * User suspended (suspicious activity)" +} +}, +"type": "object" +}, +"ActionInfo": { +"description": "Metadata related to the action.", +"id": "ActionInfo", +"properties": {}, +"type": "object" +}, +"ActivityRule": { +"description": "Alerts from Google Workspace Security Center rules service configured by an admin.", +"id": "ActivityRule", +"properties": { +"actionNames": { +"description": "List of action names associated with the rule threshold.", +"items": { +"type": "string" +}, +"type": "array" +}, +"createTime": { +"description": "Rule create timestamp.", +"format": "google-datetime", +"type": "string" +}, +"description": { +"description": "Description of the rule.", +"type": "string" +}, +"displayName": { +"description": "Alert display name.", +"type": "string" +}, +"name": { +"description": "Rule name.", +"type": "string" +}, +"query": { +"description": "Query that is used to get the data from the associated source.", +"type": "string" +}, +"supersededAlerts": { +"description": "List of alert IDs superseded by this alert. It is used to indicate that this alert is essentially extension of superseded alerts and we found the relationship after creating these alerts.", +"items": { +"type": "string" +}, +"type": "array" +}, +"supersedingAlert": { +"description": "Alert ID superseding this alert. It is used to indicate that superseding alert is essentially extension of this alert and we found the relationship after creating both alerts.", +"type": "string" +}, +"threshold": { +"description": "Alert threshold is for example \u201cCOUNT > 5\u201d.", +"type": "string" +}, +"triggerSource": { +"description": "The trigger sources for this rule. * GMAIL_EVENTS * DEVICE_EVENTS * USER_EVENTS", +"type": "string" +}, +"updateTime": { +"description": "The timestamp of the last update to the rule.", +"format": "google-datetime", +"type": "string" +}, +"windowSize": { +"description": "Rule window size. Possible values are 1 hour or 24 hours.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"Alert": { +"description": "An alert affecting a customer.", +"id": "Alert", +"properties": { +"alertId": { +"description": "Output only. The unique identifier for the alert.", +"type": "string" +}, +"createTime": { +"description": "Output only. The time this alert was created.", +"format": "google-datetime", +"type": "string" +}, +"customerId": { +"description": "Output only. The unique identifier of the Google Workspace account of the customer.", +"type": "string" +}, +"data": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Optional. The data associated with this alert, for example google.apps.alertcenter.type.DeviceCompromised.", +"type": "object" +}, +"deleted": { +"description": "Output only. `True` if this alert is marked for deletion.", +"type": "boolean" +}, +"endTime": { +"description": "Optional. The time the event that caused this alert ceased being active. If provided, the end time must not be earlier than the start time. If not provided, it indicates an ongoing alert.", +"format": "google-datetime", +"type": "string" +}, +"etag": { +"description": "Optional. `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of an alert from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform alert updates in order to avoid race conditions: An `etag` is returned in the response which contains alerts, and systems are expected to put that etag in the request to update alert to ensure that their change will be applied to the same version of the alert. If no `etag` is provided in the call to update alert, then the existing alert is overwritten blindly.", +"type": "string" +}, +"metadata": { +"$ref": "AlertMetadata", +"description": "Output only. The metadata associated with this alert." +}, +"securityInvestigationToolLink": { +"description": "Output only. An optional [Security Investigation Tool](https://support.google.com/a/answer/7575955) query for this alert.", +"type": "string" +}, +"source": { +"description": "Required. A unique identifier for the system that reported the alert. This is output only after alert is created. Supported sources are any of the following: * Google Operations * Mobile device management * Gmail phishing * Data Loss Prevention * Domain wide takeout * State sponsored attack * Google identity * Apps outage", +"type": "string" +}, +"startTime": { +"description": "Required. The time the event that caused this alert was started or detected.", +"format": "google-datetime", +"type": "string" +}, +"type": { +"description": "Required. The type of the alert. This is output only after alert is created. For a list of available alert types see [Google Workspace Alert types](https://developers.google.com/admin-sdk/alertcenter/reference/alert-types).", +"type": "string" +}, +"updateTime": { +"description": "Output only. The time this alert was last updated.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"AlertFeedback": { +"description": "A customer feedback about an alert.", +"id": "AlertFeedback", +"properties": { +"alertId": { +"description": "Output only. The alert identifier.", +"type": "string" +}, +"createTime": { +"description": "Output only. The time this feedback was created.", +"format": "google-datetime", +"type": "string" +}, +"customerId": { +"description": "Output only. The unique identifier of the Google Workspace account of the customer.", +"type": "string" +}, +"email": { +"description": "Output only. The email of the user that provided the feedback.", +"type": "string" +}, +"feedbackId": { +"description": "Output only. The unique identifier for the feedback.", +"type": "string" +}, +"type": { +"description": "Required. The type of the feedback.", +"enum": [ +"ALERT_FEEDBACK_TYPE_UNSPECIFIED", +"NOT_USEFUL", +"SOMEWHAT_USEFUL", +"VERY_USEFUL" +], +"enumDescriptions": [ +"The feedback type is not specified.", +"The alert report is not useful.", +"The alert report is somewhat useful.", +"The alert report is very useful." +], +"type": "string" +} +}, +"type": "object" +}, +"AlertMetadata": { +"description": "An alert metadata.", +"id": "AlertMetadata", +"properties": { +"alertId": { +"description": "Output only. The alert identifier.", +"type": "string" +}, +"assignee": { +"description": "The email address of the user assigned to the alert.", +"type": "string" +}, +"customerId": { +"description": "Output only. The unique identifier of the Google Workspace account of the customer.", +"type": "string" +}, +"etag": { +"description": "Optional. `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of an alert metadata from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform metadata updates in order to avoid race conditions: An `etag` is returned in the response which contains alert metadata, and systems are expected to put that etag in the request to update alert metadata to ensure that their change will be applied to the same version of the alert metadata. If no `etag` is provided in the call to update alert metadata, then the existing alert metadata is overwritten blindly.", +"type": "string" +}, +"severity": { +"description": "The severity value of the alert. Alert Center will set this field at alert creation time, default's to an empty string when it could not be determined. The supported values for update actions on this field are the following: * HIGH * MEDIUM * LOW", +"type": "string" +}, +"status": { +"description": "The current status of the alert. The supported values are the following: * NOT_STARTED * IN_PROGRESS * CLOSED", +"type": "string" +}, +"updateTime": { +"description": "Output only. The time this metadata was last updated.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"ApnsCertificateExpirationInfo": { +"description": "The explanation message associated with \"APNS certificate is expiring soon\" and \"APNS certificate has expired\" alerts.", +"id": "ApnsCertificateExpirationInfo", +"properties": { +"appleId": { +"description": "The Apple ID used to create the certificate. It may be blank if admins didn't enter it.", +"type": "string" +}, +"expirationTime": { +"description": "The expiration date of the APNS certificate.", +"format": "google-datetime", +"type": "string" +}, +"uid": { +"description": "The UID of the certificate.", +"type": "string" +} +}, +"type": "object" +}, +"AppMakerSqlSetupNotification": { +"description": "Alerts from App Maker to notify admins to set up default SQL instance.", +"id": "AppMakerSqlSetupNotification", +"properties": { +"requestInfo": { +"description": "List of applications with requests for default SQL set up.", +"items": { +"$ref": "RequestInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"AppSettingsChanged": { +"description": "* Alerts from AppSettingsChanged bucket Rules configured by Admin which contain the below rules. Calendar settings changed Drive settings changed Email settings changed Mobile settings changed", +"id": "AppSettingsChanged", +"properties": { +"alertDetails": { +"description": "Any other associated alert details, for example, AlertConfiguration.", +"format": "byte", +"type": "string" +}, +"name": { +"description": "Rule name", +"type": "string" +} +}, +"type": "object" +}, +"AppsOutage": { +"description": "An outage incident reported for a Google Workspace service.", +"id": "AppsOutage", +"properties": { +"dashboardUri": { +"description": "Link to the outage event in Google Workspace Status Dashboard", +"type": "string" +}, +"incidentTrackingId": { +"description": "Incident tracking ID.", +"type": "string" +}, +"mergeInfo": { +"$ref": "MergeInfo", +"description": "Indicates new alert details under which the outage is communicated. Only populated when Status is MERGED." +}, +"nextUpdateTime": { +"description": "Timestamp by which the next update is expected to arrive.", +"format": "google-datetime", +"type": "string" +}, +"products": { +"description": "List of products impacted by the outage.", +"items": { +"type": "string" +}, +"type": "array" +}, +"resolutionTime": { +"description": "Timestamp when the outage is expected to be resolved, or has confirmed resolution. Provided only when known.", +"format": "google-datetime", +"type": "string" +}, +"status": { +"description": "Current outage status.", +"enum": [ +"STATUS_UNSPECIFIED", +"NEW", +"ONGOING", +"RESOLVED", +"FALSE_POSITIVE", +"PARTIALLY_RESOLVED", +"MERGED", +"DOWNGRADED" +], +"enumDescriptions": [ +"Status is unspecified.", +"The incident has just been reported.", +"The incident is ongoing.", +"The incident has been resolved.", +"Further assessment indicated no customer impact.", +"The incident has been partially resolved.", +"The incident was merged into a parent.", +"The incident has lower impact than initially anticipated." +], +"type": "string" +} +}, +"type": "object" +}, +"Attachment": { +"description": "Attachment with application-specific information about an alert.", +"id": "Attachment", +"properties": { +"csv": { +"$ref": "Csv", +"description": "A CSV file attachment." +} +}, +"type": "object" +}, +"BadWhitelist": { +"description": "Alert for setting the domain or IP that malicious email comes from as whitelisted domain or IP in Gmail advanced settings.", +"id": "BadWhitelist", +"properties": { +"domainId": { +"$ref": "DomainId", +"description": "The domain ID." +}, +"maliciousEntity": { +"$ref": "MaliciousEntity", +"description": "The entity whose actions triggered a Gmail phishing alert." +}, +"messages": { +"description": "The list of messages contained by this alert.", +"items": { +"$ref": "GmailMessageInfo" +}, +"type": "array" +}, +"sourceIp": { +"description": "The source IP address of the malicious email, for example, `127.0.0.1`.", +"type": "string" +} +}, +"type": "object" +}, +"BatchDeleteAlertsRequest": { +"description": "A request to perform batch delete on alerts.", +"id": "BatchDeleteAlertsRequest", +"properties": { +"alertId": { +"description": "Required. The list of alert IDs to delete.", +"items": { +"type": "string" +}, +"type": "array" +}, +"customerId": { +"description": "Optional. The unique identifier of the Google Workspace account of the customer the alerts are associated with. The `customer_id` must have the initial \"C\" stripped (for example, `046psxkn`). Inferred from the caller identity if not provided. [Find your customer ID](https://support.google.com/cloudidentity/answer/10070793).", +"type": "string" +} +}, +"type": "object" +}, +"BatchDeleteAlertsResponse": { +"description": "Response to batch delete operation on alerts.", +"id": "BatchDeleteAlertsResponse", +"properties": { +"failedAlertStatus": { +"additionalProperties": { +"$ref": "Status" +}, +"description": "The status details for each failed `alert_id`.", +"type": "object" +}, +"successAlertIds": { +"description": "The successful list of alert IDs.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"BatchUndeleteAlertsRequest": { +"description": "A request to perform batch undelete on alerts.", +"id": "BatchUndeleteAlertsRequest", +"properties": { +"alertId": { +"description": "Required. The list of alert IDs to undelete.", +"items": { +"type": "string" +}, +"type": "array" +}, +"customerId": { +"description": "Optional. The unique identifier of the Google Workspace account of the customer the alerts are associated with. The `customer_id` must have the initial \"C\" stripped (for example, `046psxkn`). Inferred from the caller identity if not provided. [Find your customer ID](https://support.google.com/cloudidentity/answer/10070793).", +"type": "string" +} +}, +"type": "object" +}, +"BatchUndeleteAlertsResponse": { +"description": "Response to batch undelete operation on alerts.", +"id": "BatchUndeleteAlertsResponse", +"properties": { +"failedAlertStatus": { +"additionalProperties": { +"$ref": "Status" +}, +"description": "The status details for each failed `alert_id`.", +"type": "object" +}, +"successAlertIds": { +"description": "The successful list of alert IDs.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"CloudPubsubTopic": { +"description": "A reference to a Cloud Pubsub topic. To register for notifications, the owner of the topic must grant `alerts-api-push-notifications@system.gserviceaccount.com` the `projects.topics.publish` permission.", +"id": "CloudPubsubTopic", +"properties": { +"payloadFormat": { +"description": "Optional. The format of the payload that would be sent. If not specified the format will be JSON.", +"enum": [ +"PAYLOAD_FORMAT_UNSPECIFIED", +"JSON" +], +"enumDescriptions": [ +"Payload format is not specified (will use JSON as default).", +"Use JSON." +], +"type": "string" +}, +"topicName": { +"description": "The `name` field of a Cloud Pubsub [Topic] (https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics#Topic).", +"type": "string" +} +}, +"type": "object" +}, +"Csv": { +"description": "A representation of a CSV file attachment, as a list of column headers and a list of data rows.", +"id": "Csv", +"properties": { +"dataRows": { +"description": "The list of data rows in a CSV file, as string arrays rather than as a single comma-separated string.", +"items": { +"$ref": "CsvRow" +}, +"type": "array" +}, +"headers": { +"description": "The list of headers for data columns in a CSV file.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"CsvRow": { +"description": "A representation of a single data row in a CSV file.", +"id": "CsvRow", +"properties": { +"entries": { +"description": "The data entries in a CSV file row, as a string array rather than a single comma-separated string.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"DeviceCompromised": { +"description": "A mobile device compromised alert. Derived from audit logs.", +"id": "DeviceCompromised", +"properties": { +"email": { +"description": "The email of the user this alert was created for.", +"type": "string" +}, +"events": { +"description": "Required. The list of security events.", +"items": { +"$ref": "DeviceCompromisedSecurityDetail" +}, +"type": "array" +} +}, +"type": "object" +}, +"DeviceCompromisedSecurityDetail": { +"description": "Detailed information of a single MDM device compromised event.", +"id": "DeviceCompromisedSecurityDetail", +"properties": { +"deviceCompromisedState": { +"description": "The device compromised state. Possible values are \"`Compromised`\" or \"`Not Compromised`\".", +"type": "string" +}, +"deviceId": { +"description": "Required. The device ID.", +"type": "string" +}, +"deviceModel": { +"description": "The model of the device.", +"type": "string" +}, +"deviceType": { +"description": "The type of the device.", +"type": "string" +}, +"iosVendorId": { +"description": "Required for iOS, empty for others.", +"type": "string" +}, +"resourceId": { +"description": "The device resource ID.", +"type": "string" +}, +"serialNumber": { +"description": "The serial number of the device.", +"type": "string" +} +}, +"type": "object" +}, +"DeviceManagementRule": { +"description": "Alerts from Device Management Rules configured by Admin.", +"id": "DeviceManagementRule", +"properties": { +"deviceId": { +"description": "Required. The device ID.", +"type": "string" +}, +"deviceModel": { +"description": "The model of the device.", +"type": "string" +}, +"deviceType": { +"description": "The type of the device.", +"type": "string" +}, +"email": { +"description": "The email of the user this alert was created for.", +"type": "string" +}, +"id": { +"description": "ID of the rule that triggered the alert", +"type": "string" +}, +"iosVendorId": { +"description": "Required for iOS, empty for others.", +"type": "string" +}, +"ownerId": { +"description": "Obfuscated ID of the owner of the device", +"type": "string" +}, +"resourceId": { +"description": "The device resource ID.", +"type": "string" +}, +"ruleAction": { +"description": "Action taken as result of the rule", +"type": "string" +}, +"serialNumber": { +"description": "The serial number of the device.", +"type": "string" +} +}, +"type": "object" +}, +"DlpRuleViolation": { +"description": "Alerts that get triggered on violations of Data Loss Prevention (DLP) rules.", +"id": "DlpRuleViolation", +"properties": { +"ruleViolationInfo": { +"$ref": "RuleViolationInfo", +"description": "Details about the violated DLP rule. Admins can use the predefined detectors provided by Google Cloud DLP https://cloud.google.com/dlp/ when setting up a DLP rule. Matched Cloud DLP detectors in this violation if any will be captured in the MatchInfo.predefined_detector." +} +}, +"type": "object" +}, +"DomainId": { +"description": "Domain ID of Gmail phishing alerts.", +"id": "DomainId", +"properties": { +"customerPrimaryDomain": { +"description": "The primary domain for the customer.", +"type": "string" +} +}, +"type": "object" +}, +"DomainWideTakeoutInitiated": { +"description": "A takeout operation for the entire domain was initiated by an admin. Derived from audit logs.", +"id": "DomainWideTakeoutInitiated", +"properties": { +"email": { +"description": "The email of the admin who initiated the takeout.", +"type": "string" +}, +"takeoutRequestId": { +"description": "The takeout request 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" +}, +"Entity": { +"description": "Individual entity affected by, or related to, an alert.", +"id": "Entity", +"properties": { +"link": { +"description": "Link to a Security Investigation Tool search based on this entity, if available.", +"type": "string" +}, +"name": { +"description": "Human-readable name of this entity, such as an email address, file ID, or device name.", +"type": "string" +}, +"values": { +"description": "Extra values beyond name. The order of values should align with headers in EntityList.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"EntityList": { +"description": "EntityList stores entities in a format that can be translated to a table in the Alert Center UI.", +"id": "EntityList", +"properties": { +"entities": { +"description": "List of entities affected by the alert.", +"items": { +"$ref": "Entity" +}, +"type": "array" +}, +"headers": { +"description": "Headers of the values in entities. If no value is defined in Entity, this field should be empty.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "Name of the key detail used to display this entity list.", +"type": "string" +} +}, +"type": "object" +}, +"GmailMessageInfo": { +"description": "Details of a message in phishing spike alert.", +"id": "GmailMessageInfo", +"properties": { +"attachmentsSha256Hash": { +"description": "The `SHA256` hash of email's attachment and all MIME parts.", +"items": { +"type": "string" +}, +"type": "array" +}, +"date": { +"description": "The date of the event related to this email.", +"format": "google-datetime", +"type": "string" +}, +"md5HashMessageBody": { +"description": "The hash of the message body text.", +"type": "string" +}, +"md5HashSubject": { +"description": "The MD5 Hash of email's subject (only available for reported emails).", +"type": "string" +}, +"messageBodySnippet": { +"description": "The snippet of the message body text (only available for reported emails).", +"type": "string" +}, +"messageId": { +"description": "The message ID.", +"type": "string" +}, +"recipient": { +"description": "The recipient of this email.", +"type": "string" +}, +"sentTime": { +"description": "The sent time of the email.", +"format": "google-datetime", +"type": "string" +}, +"subjectText": { +"description": "The email subject text (only available for reported emails).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleOperations": { +"description": "An incident reported by Google Operations for a Google Workspace application.", +"id": "GoogleOperations", +"properties": { +"affectedUserEmails": { +"description": "The list of emails which correspond to the users directly affected by the incident.", +"items": { +"type": "string" +}, +"type": "array" +}, +"attachmentData": { +"$ref": "Attachment", +"description": "Optional. Application-specific data for an incident, provided when the Google Workspace application which reported the incident cannot be completely restored to a valid state." +}, +"description": { +"description": "A detailed, freeform incident description.", +"type": "string" +}, +"domain": { +"description": "Customer domain for email template personalization.", +"type": "string" +}, +"header": { +"description": "A header to display above the incident message. Typically used to attach a localized notice on the timeline for followup comms translations.", +"type": "string" +}, +"title": { +"description": "A one-line incident description.", +"type": "string" +} +}, +"type": "object" +}, +"ListAlertFeedbackResponse": { +"description": "Response message for an alert feedback listing request.", +"id": "ListAlertFeedbackResponse", +"properties": { +"feedback": { +"description": "The list of alert feedback. Feedback entries for each alert are ordered by creation time descending.", +"items": { +"$ref": "AlertFeedback" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListAlertsResponse": { +"description": "Response message for an alert listing request.", +"id": "ListAlertsResponse", +"properties": { +"alerts": { +"description": "The list of alerts.", +"items": { +"$ref": "Alert" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The token for the next page. If not empty, indicates that there may be more alerts that match the listing request; this value can be used in a subsequent ListAlertsRequest to get alerts continuing from last result of the current list call.", +"type": "string" +} +}, +"type": "object" +}, +"LoginDetails": { +"description": "The details of the login action.", +"id": "LoginDetails", +"properties": { +"ipAddress": { +"description": "Optional. The human-readable IP address (for example, `11.22.33.44`) that is associated with the warning event.", +"type": "string" +}, +"loginTime": { +"description": "Optional. The successful login time that is associated with the warning event. This isn't present for blocked login attempts.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"MailPhishing": { +"description": "Proto for all phishing alerts with common payload. Supported types are any of the following: * User reported phishing * User reported spam spike * Suspicious message reported * Phishing reclassification * Malware reclassification * Gmail potential employee spoofing", +"id": "MailPhishing", +"properties": { +"domainId": { +"$ref": "DomainId", +"description": "The domain ID." +}, +"isInternal": { +"description": "If `true`, the email originated from within the organization.", +"type": "boolean" +}, +"maliciousEntity": { +"$ref": "MaliciousEntity", +"description": "The entity whose actions triggered a Gmail phishing alert." +}, +"messages": { +"description": "The list of messages contained by this alert.", +"items": { +"$ref": "GmailMessageInfo" +}, +"type": "array" +}, +"systemActionType": { +"description": "System actions on the messages.", +"enum": [ +"SYSTEM_ACTION_TYPE_UNSPECIFIED", +"NO_OPERATION", +"REMOVED_FROM_INBOX" +], +"enumDescriptions": [ +"System action is unspecified.", +"No operation.", +"Messages were removed from the inbox." +], +"type": "string" +} +}, +"type": "object" +}, +"MaliciousEntity": { +"description": "Entity whose actions triggered a Gmail phishing alert.", +"id": "MaliciousEntity", +"properties": { +"displayName": { +"description": "The header from display name.", +"type": "string" +}, +"entity": { +"$ref": "User", +"description": "The actor who triggered a gmail phishing alert." +}, +"fromHeader": { +"description": "The sender email address.", +"type": "string" +} +}, +"type": "object" +}, +"MandatoryServiceAnnouncement": { +"description": "Alert Created by the MSA team for communications necessary for continued use of Google Workspace Products.", +"id": "MandatoryServiceAnnouncement", +"properties": { +"description": { +"description": "Detailed, freeform text describing the announcement", +"type": "string" +}, +"title": { +"description": "One line summary of the announcement", +"type": "string" +} +}, +"type": "object" +}, +"MatchInfo": { +"description": "Proto that contains match information from the condition part of the rule.", +"id": "MatchInfo", +"properties": { +"predefinedDetector": { +"$ref": "PredefinedDetectorInfo", +"description": "For matched detector predefined by Google." +}, +"userDefinedDetector": { +"$ref": "UserDefinedDetectorInfo", +"description": "For matched detector defined by administrators." +} +}, +"type": "object" +}, +"MergeInfo": { +"description": "New alert tracking numbers.", +"id": "MergeInfo", +"properties": { +"newAlertId": { +"description": "Optional. New alert ID. Reference the [google.apps.alertcenter.Alert] with this ID for the current state.", +"type": "string" +}, +"newIncidentTrackingId": { +"description": "The new tracking ID from the parent incident.", +"type": "string" +} +}, +"type": "object" +}, +"Notification": { +"description": "Settings for callback notifications. For more details see [Google Workspace Alert Notification](https://developers.google.com/admin-sdk/alertcenter/guides/notifications).", +"id": "Notification", +"properties": { +"cloudPubsubTopic": { +"$ref": "CloudPubsubTopic", +"description": "A Google Cloud Pub/sub topic destination." +} +}, +"type": "object" +}, +"PhishingSpike": { +"description": "Alert for a spike in user reported phishing. *Warning*: This type has been deprecated. Use [MailPhishing](/admin-sdk/alertcenter/reference/rest/v1beta1/MailPhishing) instead.", +"id": "PhishingSpike", +"properties": { +"domainId": { +"$ref": "DomainId", +"description": "The domain ID." +}, +"isInternal": { +"description": "If `true`, the email originated from within the organization.", +"type": "boolean" +}, +"maliciousEntity": { +"$ref": "MaliciousEntity", +"description": "The entity whose actions triggered a Gmail phishing alert." +}, +"messages": { +"description": "The list of messages contained by this alert.", +"items": { +"$ref": "GmailMessageInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"PredefinedDetectorInfo": { +"description": "Detector provided by Google.", +"id": "PredefinedDetectorInfo", +"properties": { +"detectorName": { +"description": "Name that uniquely identifies the detector.", +"type": "string" +} +}, +"type": "object" +}, +"PrimaryAdminChangedEvent": { +"description": "* Event occurred when primary admin changed in customer's account. The event are being received from insight forwarder", +"id": "PrimaryAdminChangedEvent", +"properties": { +"domain": { +"description": "domain in which actioned occurred", +"type": "string" +}, +"previousAdminEmail": { +"description": "Email of person who was the primary admin before the action", +"type": "string" +}, +"updatedAdminEmail": { +"description": "Email of person who is the primary admin after the action", +"type": "string" +} +}, +"type": "object" +}, +"ReportingRule": { +"description": "Alerts from Reporting Rules configured by Admin.", +"id": "ReportingRule", +"properties": { +"alertDetails": { +"description": "Any other associated alert details, for example, AlertConfiguration.", +"format": "byte", +"type": "string" +}, +"name": { +"description": "Rule name", +"type": "string" +}, +"query": { +"description": "Alert Rule query Sample Query query { condition { filter { expected_application_id: 777491262838 expected_event_name: \"indexable_content_change\" filter_op: IN } } conjunction_operator: OR }", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"RequestInfo": { +"description": "Requests for one application that needs default SQL setup.", +"id": "RequestInfo", +"properties": { +"appDeveloperEmail": { +"description": "List of app developers who triggered notifications for above application.", +"items": { +"type": "string" +}, +"type": "array" +}, +"appKey": { +"description": "Required. The application that requires the SQL setup.", +"type": "string" +}, +"numberOfRequests": { +"description": "Required. Number of requests sent for this application to set up default SQL instance.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ResourceInfo": { +"description": "Proto that contains resource information.", +"id": "ResourceInfo", +"properties": { +"chatAttachmentId": { +"description": "Chat attachment ID.", +"type": "string" +}, +"chatMessageId": { +"description": "Chat message ID.", +"type": "string" +}, +"deviceId": { +"description": "Id to identify a device. For example, for Android devices, this is the \"Android Device Id\" and for Chrome OS devices, it's the \"Device Virtual Id\".", +"type": "string" +}, +"documentId": { +"description": "Drive file ID.", +"type": "string" +}, +"resourceTitle": { +"description": "Title of the resource, for example email subject, or document title.", +"type": "string" +} +}, +"type": "object" +}, +"RuleInfo": { +"description": "Proto that contains rule information.", +"id": "RuleInfo", +"properties": { +"displayName": { +"description": "User provided name of the rule.", +"type": "string" +}, +"resourceName": { +"description": "Resource name that uniquely identifies the rule.", +"type": "string" +} +}, +"type": "object" +}, +"RuleViolationInfo": { +"description": "Common alert information about violated rules that are configured by Google Workspace administrators.", +"id": "RuleViolationInfo", +"properties": { +"dataSource": { +"description": "Source of the data.", +"enum": [ +"DATA_SOURCE_UNSPECIFIED", +"DRIVE", +"CHROME", +"CHAT" +], +"enumDescriptions": [ +"Data source is unspecified.", +"Drive data source.", +"Chrome data source.", +"Chat data source." +], +"type": "string" +}, +"eventType": { +"description": "Event associated with this alert after applying the rule.", +"enum": [ +"EVENT_TYPE_UNSPECIFIED", +"ACCESS_BLOCKED", +"SHARING_BLOCKED" +], +"enumDescriptions": [ +"Event type wasn't set.", +"An access attempt was blocked.", +"A sharing attempt was blocked." +], +"type": "string" +}, +"matchInfo": { +"description": "List of matches that were found in the resource content.", +"items": { +"$ref": "MatchInfo" +}, +"type": "array" +}, +"recipients": { +"description": "Resource recipients. For Drive, they are grantees that the Drive file was shared with at the time of rule triggering. Valid values include user emails, group emails, domains, or 'anyone' if the file was publicly accessible. If the file was private the recipients list will be empty. For Gmail, they are emails of the users or groups that the Gmail message was sent to.", +"items": { +"type": "string" +}, +"type": "array" +}, +"resourceInfo": { +"$ref": "ResourceInfo", +"description": "Details of the resource which violated the rule." +}, +"ruleInfo": { +"$ref": "RuleInfo", +"description": "Details of the violated rule." +}, +"suppressedActionTypes": { +"description": "Actions suppressed due to other actions with higher priority.", +"items": { +"enum": [ +"ACTION_TYPE_UNSPECIFIED", +"DRIVE_BLOCK_EXTERNAL_SHARING", +"DRIVE_WARN_ON_EXTERNAL_SHARING", +"DRIVE_RESTRICT_DOWNLOAD_PRINT_COPY", +"DRIVE_APPLY_DRIVE_LABELS", +"CHROME_BLOCK_FILE_DOWNLOAD", +"CHROME_WARN_FILE_DOWNLOAD", +"CHROME_BLOCK_FILE_UPLOAD", +"CHROME_WARN_FILE_UPLOAD", +"CHROME_BLOCK_WEB_CONTENT_UPLOAD", +"CHROME_WARN_WEB_CONTENT_UPLOAD", +"CHROME_BLOCK_PAGE_PRINT", +"CHROME_WARN_PAGE_PRINT", +"CHROME_BLOCK_URL_VISITED", +"CHROME_WARN_URL_VISITED", +"CHROME_STORE_CONTENT", +"DELETE_WEBPROTECT_EVIDENCE", +"CHAT_BLOCK_CONTENT", +"CHAT_WARN_USER", +"ALERT", +"RULE_ACTIVATE", +"RULE_DEACTIVATE" +], +"enumDescriptions": [ +"Action type is unspecified.", +"Block sharing a file externally.", +"Show a warning message when sharing a file externally.", +"Disable download, print, and copy for commenters and viewers in drive.", +"Apply customer specified Drive labels to the file.", +"Chrome actions. Block file download.", +"Warn user about downloaded file.", +"Block file upload.", +"Warn user about uploaded file.", +"Block web content upload.", +"Warn user about uploaded web content.", +"Block page print.", +"Warn user about printed page.", +"Block Chrome URL visit.", +"Warn user about Chrome URL visited.", +"Store the content that violated the rule.", +"Delete web protect evidence file", +"Chat actions. Block Chat content to be sent out.", +"Warn end user about Chat content.", +"Send alert.", +"Activate Rule Action", +"Deactivate Rule Action" +], +"type": "string" +}, +"type": "array" +}, +"trigger": { +"description": "Trigger of the rule.", +"enum": [ +"TRIGGER_UNSPECIFIED", +"DRIVE_SHARE", +"CHROME_FILE_DOWNLOAD", +"CHROME_FILE_UPLOAD", +"CHROME_WEB_CONTENT_UPLOAD", +"CHAT_MESSAGE_SENT", +"CHAT_ATTACHMENT_UPLOADED", +"CHROME_PAGE_PRINT", +"CHROME_URL_VISITED" +], +"enumDescriptions": [ +"Trigger is unspecified.", +"A Drive file is shared.", +"A file being downloaded in a Chrome browser.", +"A file being uploaded from a Chrome browser.", +"Web content being uploaded from a Chrome browser.", +"A Chat message is sent.", +"A Chat attachment is uploaded.", +"A page is being printed by Chrome.", +"A URL is visited within Chrome." +], +"type": "string" +}, +"triggeredActionInfo": { +"description": "Metadata related to the triggered actions.", +"items": { +"$ref": "ActionInfo" +}, +"type": "array" +}, +"triggeredActionTypes": { +"description": "Actions applied as a consequence of the rule being triggered.", +"items": { +"enum": [ +"ACTION_TYPE_UNSPECIFIED", +"DRIVE_BLOCK_EXTERNAL_SHARING", +"DRIVE_WARN_ON_EXTERNAL_SHARING", +"DRIVE_RESTRICT_DOWNLOAD_PRINT_COPY", +"DRIVE_APPLY_DRIVE_LABELS", +"CHROME_BLOCK_FILE_DOWNLOAD", +"CHROME_WARN_FILE_DOWNLOAD", +"CHROME_BLOCK_FILE_UPLOAD", +"CHROME_WARN_FILE_UPLOAD", +"CHROME_BLOCK_WEB_CONTENT_UPLOAD", +"CHROME_WARN_WEB_CONTENT_UPLOAD", +"CHROME_BLOCK_PAGE_PRINT", +"CHROME_WARN_PAGE_PRINT", +"CHROME_BLOCK_URL_VISITED", +"CHROME_WARN_URL_VISITED", +"CHROME_STORE_CONTENT", +"DELETE_WEBPROTECT_EVIDENCE", +"CHAT_BLOCK_CONTENT", +"CHAT_WARN_USER", +"ALERT", +"RULE_ACTIVATE", +"RULE_DEACTIVATE" +], +"enumDescriptions": [ +"Action type is unspecified.", +"Block sharing a file externally.", +"Show a warning message when sharing a file externally.", +"Disable download, print, and copy for commenters and viewers in drive.", +"Apply customer specified Drive labels to the file.", +"Chrome actions. Block file download.", +"Warn user about downloaded file.", +"Block file upload.", +"Warn user about uploaded file.", +"Block web content upload.", +"Warn user about uploaded web content.", +"Block page print.", +"Warn user about printed page.", +"Block Chrome URL visit.", +"Warn user about Chrome URL visited.", +"Store the content that violated the rule.", +"Delete web protect evidence file", +"Chat actions. Block Chat content to be sent out.", +"Warn end user about Chat content.", +"Send alert.", +"Activate Rule Action", +"Deactivate Rule Action" +], +"type": "string" +}, +"type": "array" +}, +"triggeringUserEmail": { +"description": "Email of the user who caused the violation. Value could be empty if not applicable, for example, a violation found by drive continuous scan.", +"type": "string" +} +}, +"type": "object" +}, +"SSOProfileCreatedEvent": { +"description": "* Event occurred when SSO Profile created in customer's account. The event are being received from insight forwarder", +"id": "SSOProfileCreatedEvent", +"properties": { +"inboundSsoProfileName": { +"description": "sso profile name which got created", +"type": "string" +} +}, +"type": "object" +}, +"SSOProfileDeletedEvent": { +"description": "* Event occurred when SSO Profile deleted in customer's account. The event are being received from insight forwarder", +"id": "SSOProfileDeletedEvent", +"properties": { +"inboundSsoProfileName": { +"description": "sso profile name which got deleted", +"type": "string" +} +}, +"type": "object" +}, +"SSOProfileUpdatedEvent": { +"description": "* Event occurred when SSO Profile updated in customer's account. The event are being received from insight forwarder", +"id": "SSOProfileUpdatedEvent", +"properties": { +"inboundSsoProfileChanges": { +"description": "changes made to sso profile", +"type": "string" +}, +"inboundSsoProfileName": { +"description": "sso profile name which got updated", +"type": "string" +} +}, +"type": "object" +}, +"SensitiveAdminAction": { +"description": "Alert that is triggered when Sensitive Admin Action occur in customer account.", +"id": "SensitiveAdminAction", +"properties": { +"actorEmail": { +"description": "Email of person who performed the action", +"type": "string" +}, +"eventTime": { +"description": "The time at which event occurred", +"format": "google-datetime", +"type": "string" +}, +"primaryAdminChangedEvent": { +"$ref": "PrimaryAdminChangedEvent", +"description": "Event occurred when primary admin changed in customer's account" +}, +"ssoProfileCreatedEvent": { +"$ref": "SSOProfileCreatedEvent", +"description": "Event occurred when SSO Profile created in customer's account" +}, +"ssoProfileDeletedEvent": { +"$ref": "SSOProfileDeletedEvent", +"description": "Event occurred when SSO Profile deleted in customer's account" +}, +"ssoProfileUpdatedEvent": { +"$ref": "SSOProfileUpdatedEvent", +"description": "Event occurred when SSO Profile updated in customer's account" +}, +"superAdminPasswordResetEvent": { +"$ref": "SuperAdminPasswordResetEvent", +"description": "Event occurred when password was reset for super admin in customer's account" +} +}, +"type": "object" +}, +"Settings": { +"description": "Customer-level settings.", +"id": "Settings", +"properties": { +"notifications": { +"description": "The list of notifications.", +"items": { +"$ref": "Notification" +}, +"type": "array" +} +}, +"type": "object" +}, +"StateSponsoredAttack": { +"description": "A state-sponsored attack alert. Derived from audit logs.", +"id": "StateSponsoredAttack", +"properties": { +"email": { +"description": "The email of the user this incident was created for.", +"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" +}, +"SuperAdminPasswordResetEvent": { +"description": "* Event occurred when password was reset for super admin in customer's account. The event are being received from insight forwarder", +"id": "SuperAdminPasswordResetEvent", +"properties": { +"userEmail": { +"description": "email of person whose password was reset", +"type": "string" +} +}, +"type": "object" +}, +"SupportTicket": { +"description": "Support ticket related to Access Approvals request", +"id": "SupportTicket", +"properties": { +"ticketId": { +"description": "Support ticket ID", +"type": "string" +}, +"ticketUrl": { +"description": "Link to support ticket", +"type": "string" +} +}, +"type": "object" +}, +"SuspiciousActivity": { +"description": "A mobile suspicious activity alert. Derived from audit logs.", +"id": "SuspiciousActivity", +"properties": { +"email": { +"description": "The email of the user this alert was created for.", +"type": "string" +}, +"events": { +"description": "Required. The list of security events.", +"items": { +"$ref": "SuspiciousActivitySecurityDetail" +}, +"type": "array" +} +}, +"type": "object" +}, +"SuspiciousActivitySecurityDetail": { +"description": "Detailed information of a single MDM suspicious activity event.", +"id": "SuspiciousActivitySecurityDetail", +"properties": { +"deviceId": { +"description": "Required. The device ID.", +"type": "string" +}, +"deviceModel": { +"description": "The model of the device.", +"type": "string" +}, +"deviceProperty": { +"description": "The device property which was changed.", +"type": "string" +}, +"deviceType": { +"description": "The type of the device.", +"type": "string" +}, +"iosVendorId": { +"description": "Required for iOS, empty for others.", +"type": "string" +}, +"newValue": { +"description": "The new value of the device property after the change.", +"type": "string" +}, +"oldValue": { +"description": "The old value of the device property before the change.", +"type": "string" +}, +"resourceId": { +"description": "The device resource ID.", +"type": "string" +}, +"serialNumber": { +"description": "The serial number of the device.", +"type": "string" +} +}, +"type": "object" +}, +"TransferError": { +"description": "Details for an invalid transfer or forward.", +"id": "TransferError", +"properties": { +"email": { +"description": "User's email address. This may be unavailable if the entity was deleted.", +"type": "string" +}, +"entityType": { +"description": "Type of entity being transferred to. For ring group members, this should always be USER.", +"enum": [ +"TRANSFER_ENTITY_TYPE_UNSPECIFIED", +"TRANSFER_AUTO_ATTENDANT", +"TRANSFER_RING_GROUP", +"TRANSFER_USER" +], +"enumDescriptions": [ +"Entity type wasn't set.", +"Transfer to auto attendant.", +"Transfer to ring group.", +"Transfer to user." +], +"type": "string" +}, +"id": { +"description": "Ring group or auto attendant ID. Not set for users.", +"type": "string" +}, +"invalidReason": { +"description": "Reason for the error.", +"enum": [ +"TRANSFER_INVALID_REASON_UNSPECIFIED", +"TRANSFER_TARGET_DELETED", +"UNLICENSED", +"SUSPENDED", +"NO_PHONE_NUMBER" +], +"enumDescriptions": [ +"Reason wasn't specified.", +"The transfer target can't be found\u2014most likely it was deleted.", +"The user's Google Voice license was removed.", +"The user's Google Workspace account was suspended.", +"The transfer target no longer has a phone number. This reason should become deprecated once we support numberless transfer." +], +"type": "string" +}, +"name": { +"description": "User's full name, or the ring group / auto attendant name. This may be unavailable if the entity was deleted.", +"type": "string" +} +}, +"type": "object" +}, +"TransferMisconfiguration": { +"description": "Error related to transferring or forwarding a phone call.", +"id": "TransferMisconfiguration", +"properties": { +"errors": { +"description": "Details for each invalid transfer or forward.", +"items": { +"$ref": "TransferError" +}, +"type": "array" +} +}, +"type": "object" +}, +"UndeleteAlertRequest": { +"description": "A request to undelete a specific alert that was marked for deletion.", +"id": "UndeleteAlertRequest", +"properties": { +"customerId": { +"description": "Optional. The unique identifier of the Google Workspace account of the customer the alert is associated with. The `customer_id` must have the initial \"C\" stripped (for example, `046psxkn`). Inferred from the caller identity if not provided. [Find your customer ID](https://support.google.com/cloudidentity/answer/10070793).", +"type": "string" +} +}, +"type": "object" +}, +"User": { +"description": "A user.", +"id": "User", +"properties": { +"displayName": { +"description": "Display name of the user.", +"type": "string" +}, +"emailAddress": { +"description": "Email address of the user.", +"type": "string" +} +}, +"type": "object" +}, +"UserChanges": { +"description": "* Alerts from UserChanges bucket Rules for predefined rules which contain the below rules. Suspended user made active New user Added User suspended (by admin) User granted admin privileges User admin privileges revoked User deleted Users password changed", +"id": "UserChanges", +"properties": { +"name": { +"description": "Rule name", +"type": "string" +} +}, +"type": "object" +}, +"UserDefinedDetectorInfo": { +"description": "Detector defined by administrators.", +"id": "UserDefinedDetectorInfo", +"properties": { +"displayName": { +"description": "Display name of the detector.", +"type": "string" +}, +"resourceName": { +"description": "Resource name that uniquely identifies the detector.", +"type": "string" +} +}, +"type": "object" +}, +"VoiceMisconfiguration": { +"description": "An alert triggered when Google Voice configuration becomes invalid, generally due to an external entity being modified or deleted.", +"id": "VoiceMisconfiguration", +"properties": { +"entityName": { +"description": "Name of the entity whose configuration is now invalid.", +"type": "string" +}, +"entityType": { +"description": "Type of the entity whose configuration is now invalid.", +"enum": [ +"ENTITY_TYPE_UNSPECIFIED", +"AUTO_ATTENDANT", +"RING_GROUP" +], +"enumDescriptions": [ +"Entity type wasn't set.", +"Invalid auto attendant.", +"Invalid ring group." +], +"type": "string" +}, +"fixUri": { +"description": "Link that the admin can follow to fix the issue.", +"type": "string" +}, +"membersMisconfiguration": { +"$ref": "TransferMisconfiguration", +"description": "Issue(s) with members of a ring group." +}, +"transferMisconfiguration": { +"$ref": "TransferMisconfiguration", +"description": "Issue(s) with transferring or forwarding to an external entity." +}, +"voicemailMisconfiguration": { +"$ref": "VoicemailMisconfiguration", +"description": "Issue(s) with sending to voicemail." +} +}, +"type": "object" +}, +"VoicemailMisconfiguration": { +"description": "Issue(s) with sending to voicemail.", +"id": "VoicemailMisconfiguration", +"properties": { +"errors": { +"description": "Issue(s) with voicemail recipients.", +"items": { +"$ref": "VoicemailRecipientError" +}, +"type": "array" +} +}, +"type": "object" +}, +"VoicemailRecipientError": { +"description": "Issue(s) with a voicemail recipient.", +"id": "VoicemailRecipientError", +"properties": { +"email": { +"description": "Email address of the invalid recipient. This may be unavailable if the recipient was deleted.", +"type": "string" +}, +"invalidReason": { +"description": "Reason for the error.", +"enum": [ +"EMAIL_INVALID_REASON_UNSPECIFIED", +"OUT_OF_QUOTA", +"RECIPIENT_DELETED" +], +"enumDescriptions": [ +"Reason wasn't specified.", +"User can't receive emails due to insufficient quota.", +"All recipients were deleted." +], +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Google Workspace Alert Center 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/analytics.v3.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/analytics.v3.json new file mode 100644 index 0000000000000000000000000000000000000000..14c0d3131b0795a936e2050565e9fbcac6125673 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/analytics.v3.json @@ -0,0 +1,7459 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/analytics": { +"description": "View and manage your Google Analytics data" +}, +"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.provision": { +"description": "Create a new Google Analytics account along with its default property and view" +}, +"https://www.googleapis.com/auth/analytics.readonly": { +"description": "View your Google Analytics data" +}, +"https://www.googleapis.com/auth/analytics.user.deletion": { +"description": "Manage Google Analytics user deletion requests" +} +} +} +}, +"basePath": "/analytics/v3/", +"baseUrl": "https://www.googleapis.com/analytics/v3/", +"batchPath": "batch/analytics/v3", +"description": "Views and manages your Google Analytics data.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/analytics/", +"etag": "\"9eZ1uxVRThTDhLJCZHhqs3eQWz4/o_TVyaWurnALX6ZIQ952-U5m22Y\"", +"icons": { +"x16": "https://www.google.com/images/icons/product/analytics-16.png", +"x32": "https://www.google.com/images/icons/product/analytics-32.png" +}, +"id": "analytics:v3", +"kind": "discovery#restDescription", +"name": "analytics", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"alt": { +"default": "json", +"description": "Data format for the response.", +"enum": [ +"json" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json" +], +"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": "false", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"userIp": { +"description": "Deprecated. Please use quotaUser instead.", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"data": { +"resources": { +"ga": { +"methods": { +"get": { +"description": "Returns Analytics data for a view (profile).", +"httpMethod": "GET", +"id": "analytics.data.ga.get", +"parameterOrder": [ +"ids", +"start-date", +"end-date", +"metrics" +], +"parameters": { +"dimensions": { +"description": "A comma-separated list of Analytics dimensions. E.g., 'ga:browser,ga:city'.", +"location": "query", +"pattern": "(ga:.+)?", +"type": "string" +}, +"end-date": { +"description": "End date for fetching Analytics data. Request can should specify an end date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is yesterday.", +"location": "query", +"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)", +"required": true, +"type": "string" +}, +"filters": { +"description": "A comma-separated list of dimension or metric filters to be applied to Analytics data.", +"location": "query", +"pattern": "ga:.+", +"type": "string" +}, +"ids": { +"description": "Unique table ID for retrieving Analytics data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID.", +"location": "query", +"pattern": "ga:[0-9]+", +"required": true, +"type": "string" +}, +"include-empty-rows": { +"description": "The response will include empty rows if this parameter is set to true, the default is true", +"location": "query", +"type": "boolean" +}, +"max-results": { +"description": "The maximum number of entries to include in this feed.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"metrics": { +"description": "A comma-separated list of Analytics metrics. E.g., 'ga:sessions,ga:pageviews'. At least one metric must be specified.", +"location": "query", +"pattern": "ga:.+", +"required": true, +"type": "string" +}, +"output": { +"description": "The selected format for the response. Default format is JSON.", +"enum": [ +"dataTable", +"json" +], +"enumDescriptions": [ +"Returns the response in Google Charts Data Table format. This is useful in creating visualization using Google Charts.", +"Returns the response in standard JSON format." +], +"location": "query", +"type": "string" +}, +"samplingLevel": { +"description": "The desired sampling level.", +"enum": [ +"DEFAULT", +"FASTER", +"HIGHER_PRECISION" +], +"enumDescriptions": [ +"Returns response with a sample size that balances speed and accuracy.", +"Returns a fast response with a smaller sample size.", +"Returns a more accurate response using a large sample size, but this may result in the response being slower." +], +"location": "query", +"type": "string" +}, +"segment": { +"description": "An Analytics segment to be applied to data.", +"location": "query", +"type": "string" +}, +"sort": { +"description": "A comma-separated list of dimensions or metrics that determine the sort order for Analytics data.", +"location": "query", +"pattern": "(-)?ga:.+", +"type": "string" +}, +"start-date": { +"description": "Start date for fetching Analytics data. Requests can specify a start date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is 7daysAgo.", +"location": "query", +"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)", +"required": true, +"type": "string" +}, +"start-index": { +"description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", +"format": "int32", +"location": "query", +"minimum": "1", +"type": "integer" +} +}, +"path": "data/ga", +"response": { +"$ref": "GaData" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.readonly" +] +} +} +}, +"mcf": { +"methods": { +"get": { +"description": "Returns Analytics Multi-Channel Funnels data for a view (profile).", +"httpMethod": "GET", +"id": "analytics.data.mcf.get", +"parameterOrder": [ +"ids", +"start-date", +"end-date", +"metrics" +], +"parameters": { +"dimensions": { +"description": "A comma-separated list of Multi-Channel Funnels dimensions. E.g., 'mcf:source,mcf:medium'.", +"location": "query", +"pattern": "(mcf:.+)?", +"type": "string" +}, +"end-date": { +"description": "End date for fetching Analytics data. Requests can specify a start date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is 7daysAgo.", +"location": "query", +"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)", +"required": true, +"type": "string" +}, +"filters": { +"description": "A comma-separated list of dimension or metric filters to be applied to the Analytics data.", +"location": "query", +"pattern": "mcf:.+", +"type": "string" +}, +"ids": { +"description": "Unique table ID for retrieving Analytics data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID.", +"location": "query", +"pattern": "ga:[0-9]+", +"required": true, +"type": "string" +}, +"max-results": { +"description": "The maximum number of entries to include in this feed.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"metrics": { +"description": "A comma-separated list of Multi-Channel Funnels metrics. E.g., 'mcf:totalConversions,mcf:totalConversionValue'. At least one metric must be specified.", +"location": "query", +"pattern": "mcf:.+", +"required": true, +"type": "string" +}, +"samplingLevel": { +"description": "The desired sampling level.", +"enum": [ +"DEFAULT", +"FASTER", +"HIGHER_PRECISION" +], +"enumDescriptions": [ +"Returns response with a sample size that balances speed and accuracy.", +"Returns a fast response with a smaller sample size.", +"Returns a more accurate response using a large sample size, but this may result in the response being slower." +], +"location": "query", +"type": "string" +}, +"sort": { +"description": "A comma-separated list of dimensions or metrics that determine the sort order for the Analytics data.", +"location": "query", +"pattern": "(-)?mcf:.+", +"type": "string" +}, +"start-date": { +"description": "Start date for fetching Analytics data. Requests can specify a start date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is 7daysAgo.", +"location": "query", +"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)", +"required": true, +"type": "string" +}, +"start-index": { +"description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", +"format": "int32", +"location": "query", +"minimum": "1", +"type": "integer" +} +}, +"path": "data/mcf", +"response": { +"$ref": "McfData" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.readonly" +] +} +} +}, +"realtime": { +"methods": { +"get": { +"description": "Returns real time data for a view (profile).", +"httpMethod": "GET", +"id": "analytics.data.realtime.get", +"parameterOrder": [ +"ids", +"metrics" +], +"parameters": { +"dimensions": { +"description": "A comma-separated list of real time dimensions. E.g., 'rt:medium,rt:city'.", +"location": "query", +"pattern": "(ga:.+)|(rt:.+)", +"type": "string" +}, +"filters": { +"description": "A comma-separated list of dimension or metric filters to be applied to real time data.", +"location": "query", +"pattern": "(ga:.+)|(rt:.+)", +"type": "string" +}, +"ids": { +"description": "Unique table ID for retrieving real time data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID.", +"location": "query", +"pattern": "ga:[0-9]+", +"required": true, +"type": "string" +}, +"max-results": { +"description": "The maximum number of entries to include in this feed.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"metrics": { +"description": "A comma-separated list of real time metrics. E.g., 'rt:activeUsers'. At least one metric must be specified.", +"location": "query", +"pattern": "(ga:.+)|(rt:.+)", +"required": true, +"type": "string" +}, +"sort": { +"description": "A comma-separated list of dimensions or metrics that determine the sort order for real time data.", +"location": "query", +"pattern": "(-)?((ga:.+)|(rt:.+))", +"type": "string" +} +}, +"path": "data/realtime", +"response": { +"$ref": "RealtimeData" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.readonly" +] +} +} +} +} +}, +"management": { +"resources": { +"accountSummaries": { +"methods": { +"list": { +"description": "Lists account summaries (lightweight tree comprised of accounts/properties/profiles) to which the user has access.", +"httpMethod": "GET", +"id": "analytics.management.accountSummaries.list", +"parameters": { +"max-results": { +"description": "The maximum number of account summaries to include in this response, where the largest acceptable value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"start-index": { +"description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", +"format": "int32", +"location": "query", +"minimum": "1", +"type": "integer" +} +}, +"path": "management/accountSummaries", +"response": { +"$ref": "AccountSummaries" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +} +} +}, +"accountUserLinks": { +"methods": { +"delete": { +"description": "Removes a user from the given account.", +"httpMethod": "DELETE", +"id": "analytics.management.accountUserLinks.delete", +"parameterOrder": [ +"accountId", +"linkId" +], +"parameters": { +"accountId": { +"description": "Account ID to delete the user link for.", +"location": "path", +"required": true, +"type": "string" +}, +"linkId": { +"description": "Link ID to delete the user link for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/entityUserLinks/{linkId}", +"scopes": [ +"https://www.googleapis.com/auth/analytics.manage.users" +] +}, +"insert": { +"description": "Adds a new user to the given account.", +"httpMethod": "POST", +"id": "analytics.management.accountUserLinks.insert", +"parameterOrder": [ +"accountId" +], +"parameters": { +"accountId": { +"description": "Account ID to create the user link for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/entityUserLinks", +"request": { +"$ref": "EntityUserLink" +}, +"response": { +"$ref": "EntityUserLink" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.manage.users" +] +}, +"list": { +"description": "Lists account-user links for a given account.", +"httpMethod": "GET", +"id": "analytics.management.accountUserLinks.list", +"parameterOrder": [ +"accountId" +], +"parameters": { +"accountId": { +"description": "Account ID to retrieve the user links for.", +"location": "path", +"required": true, +"type": "string" +}, +"max-results": { +"description": "The maximum number of account-user links to include in this response.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"start-index": { +"description": "An index of the first account-user link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", +"format": "int32", +"location": "query", +"minimum": "1", +"type": "integer" +} +}, +"path": "management/accounts/{accountId}/entityUserLinks", +"response": { +"$ref": "EntityUserLinks" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.manage.users", +"https://www.googleapis.com/auth/analytics.manage.users.readonly" +] +}, +"update": { +"description": "Updates permissions for an existing user on the given account.", +"httpMethod": "PUT", +"id": "analytics.management.accountUserLinks.update", +"parameterOrder": [ +"accountId", +"linkId" +], +"parameters": { +"accountId": { +"description": "Account ID to update the account-user link for.", +"location": "path", +"required": true, +"type": "string" +}, +"linkId": { +"description": "Link ID to update the account-user link for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/entityUserLinks/{linkId}", +"request": { +"$ref": "EntityUserLink" +}, +"response": { +"$ref": "EntityUserLink" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.manage.users" +] +} +} +}, +"accounts": { +"methods": { +"list": { +"description": "Lists all accounts to which the user has access.", +"httpMethod": "GET", +"id": "analytics.management.accounts.list", +"parameters": { +"max-results": { +"description": "The maximum number of accounts to include in this response.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"start-index": { +"description": "An index of the first account to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", +"format": "int32", +"location": "query", +"minimum": "1", +"type": "integer" +} +}, +"path": "management/accounts", +"response": { +"$ref": "Accounts" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +} +} +}, +"clientId": { +"methods": { +"hashClientId": { +"description": "Hashes the given Client ID.", +"httpMethod": "POST", +"id": "analytics.management.clientId.hashClientId", +"path": "management/clientId:hashClientId", +"request": { +"$ref": "HashClientIdRequest" +}, +"response": { +"$ref": "HashClientIdResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +} +} +}, +"customDataSources": { +"methods": { +"list": { +"description": "List custom data sources to which the user has access.", +"httpMethod": "GET", +"id": "analytics.management.customDataSources.list", +"parameterOrder": [ +"accountId", +"webPropertyId" +], +"parameters": { +"accountId": { +"description": "Account Id for the custom data sources to retrieve.", +"location": "path", +"pattern": "\\d+", +"required": true, +"type": "string" +}, +"max-results": { +"description": "The maximum number of custom data sources to include in this response.", +"format": "int32", +"location": "query", +"minimum": "1", +"type": "integer" +}, +"start-index": { +"description": "A 1-based index of the first custom data source to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", +"format": "int32", +"location": "query", +"minimum": "1", +"type": "integer" +}, +"webPropertyId": { +"description": "Web property Id for the custom data sources to retrieve.", +"location": "path", +"pattern": "UA-(\\d+)-(\\d+)", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources", +"response": { +"$ref": "CustomDataSources" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +} +} +}, +"customDimensions": { +"methods": { +"get": { +"description": "Get a custom dimension to which the user has access.", +"httpMethod": "GET", +"id": "analytics.management.customDimensions.get", +"parameterOrder": [ +"accountId", +"webPropertyId", +"customDimensionId" +], +"parameters": { +"accountId": { +"description": "Account ID for the custom dimension to retrieve.", +"location": "path", +"required": true, +"type": "string" +}, +"customDimensionId": { +"description": "The ID of the custom dimension to retrieve.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID for the custom dimension to retrieve.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions/{customDimensionId}", +"response": { +"$ref": "CustomDimension" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"insert": { +"description": "Create a new custom dimension.", +"httpMethod": "POST", +"id": "analytics.management.customDimensions.insert", +"parameterOrder": [ +"accountId", +"webPropertyId" +], +"parameters": { +"accountId": { +"description": "Account ID for the custom dimension to create.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID for the custom dimension to create.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions", +"request": { +"$ref": "CustomDimension" +}, +"response": { +"$ref": "CustomDimension" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"list": { +"description": "Lists custom dimensions to which the user has access.", +"httpMethod": "GET", +"id": "analytics.management.customDimensions.list", +"parameterOrder": [ +"accountId", +"webPropertyId" +], +"parameters": { +"accountId": { +"description": "Account ID for the custom dimensions to retrieve.", +"location": "path", +"required": true, +"type": "string" +}, +"max-results": { +"description": "The maximum number of custom dimensions to include in this response.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"start-index": { +"description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", +"format": "int32", +"location": "query", +"minimum": "1", +"type": "integer" +}, +"webPropertyId": { +"description": "Web property ID for the custom dimensions to retrieve.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions", +"response": { +"$ref": "CustomDimensions" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"patch": { +"description": "Updates an existing custom dimension. This method supports patch semantics.", +"httpMethod": "PATCH", +"id": "analytics.management.customDimensions.patch", +"parameterOrder": [ +"accountId", +"webPropertyId", +"customDimensionId" +], +"parameters": { +"accountId": { +"description": "Account ID for the custom dimension to update.", +"location": "path", +"required": true, +"type": "string" +}, +"customDimensionId": { +"description": "Custom dimension ID for the custom dimension to update.", +"location": "path", +"required": true, +"type": "string" +}, +"ignoreCustomDataSourceLinks": { +"default": "false", +"description": "Force the update and ignore any warnings related to the custom dimension being linked to a custom data source / data set.", +"location": "query", +"type": "boolean" +}, +"webPropertyId": { +"description": "Web property ID for the custom dimension to update.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions/{customDimensionId}", +"request": { +"$ref": "CustomDimension" +}, +"response": { +"$ref": "CustomDimension" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"update": { +"description": "Updates an existing custom dimension.", +"httpMethod": "PUT", +"id": "analytics.management.customDimensions.update", +"parameterOrder": [ +"accountId", +"webPropertyId", +"customDimensionId" +], +"parameters": { +"accountId": { +"description": "Account ID for the custom dimension to update.", +"location": "path", +"required": true, +"type": "string" +}, +"customDimensionId": { +"description": "Custom dimension ID for the custom dimension to update.", +"location": "path", +"required": true, +"type": "string" +}, +"ignoreCustomDataSourceLinks": { +"default": "false", +"description": "Force the update and ignore any warnings related to the custom dimension being linked to a custom data source / data set.", +"location": "query", +"type": "boolean" +}, +"webPropertyId": { +"description": "Web property ID for the custom dimension to update.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions/{customDimensionId}", +"request": { +"$ref": "CustomDimension" +}, +"response": { +"$ref": "CustomDimension" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +} +} +}, +"customMetrics": { +"methods": { +"get": { +"description": "Get a custom metric to which the user has access.", +"httpMethod": "GET", +"id": "analytics.management.customMetrics.get", +"parameterOrder": [ +"accountId", +"webPropertyId", +"customMetricId" +], +"parameters": { +"accountId": { +"description": "Account ID for the custom metric to retrieve.", +"location": "path", +"required": true, +"type": "string" +}, +"customMetricId": { +"description": "The ID of the custom metric to retrieve.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID for the custom metric to retrieve.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics/{customMetricId}", +"response": { +"$ref": "CustomMetric" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"insert": { +"description": "Create a new custom metric.", +"httpMethod": "POST", +"id": "analytics.management.customMetrics.insert", +"parameterOrder": [ +"accountId", +"webPropertyId" +], +"parameters": { +"accountId": { +"description": "Account ID for the custom metric to create.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID for the custom dimension to create.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics", +"request": { +"$ref": "CustomMetric" +}, +"response": { +"$ref": "CustomMetric" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"list": { +"description": "Lists custom metrics to which the user has access.", +"httpMethod": "GET", +"id": "analytics.management.customMetrics.list", +"parameterOrder": [ +"accountId", +"webPropertyId" +], +"parameters": { +"accountId": { +"description": "Account ID for the custom metrics to retrieve.", +"location": "path", +"required": true, +"type": "string" +}, +"max-results": { +"description": "The maximum number of custom metrics to include in this response.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"start-index": { +"description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", +"format": "int32", +"location": "query", +"minimum": "1", +"type": "integer" +}, +"webPropertyId": { +"description": "Web property ID for the custom metrics to retrieve.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics", +"response": { +"$ref": "CustomMetrics" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"patch": { +"description": "Updates an existing custom metric. This method supports patch semantics.", +"httpMethod": "PATCH", +"id": "analytics.management.customMetrics.patch", +"parameterOrder": [ +"accountId", +"webPropertyId", +"customMetricId" +], +"parameters": { +"accountId": { +"description": "Account ID for the custom metric to update.", +"location": "path", +"required": true, +"type": "string" +}, +"customMetricId": { +"description": "Custom metric ID for the custom metric to update.", +"location": "path", +"required": true, +"type": "string" +}, +"ignoreCustomDataSourceLinks": { +"default": "false", +"description": "Force the update and ignore any warnings related to the custom metric being linked to a custom data source / data set.", +"location": "query", +"type": "boolean" +}, +"webPropertyId": { +"description": "Web property ID for the custom metric to update.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics/{customMetricId}", +"request": { +"$ref": "CustomMetric" +}, +"response": { +"$ref": "CustomMetric" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"update": { +"description": "Updates an existing custom metric.", +"httpMethod": "PUT", +"id": "analytics.management.customMetrics.update", +"parameterOrder": [ +"accountId", +"webPropertyId", +"customMetricId" +], +"parameters": { +"accountId": { +"description": "Account ID for the custom metric to update.", +"location": "path", +"required": true, +"type": "string" +}, +"customMetricId": { +"description": "Custom metric ID for the custom metric to update.", +"location": "path", +"required": true, +"type": "string" +}, +"ignoreCustomDataSourceLinks": { +"default": "false", +"description": "Force the update and ignore any warnings related to the custom metric being linked to a custom data source / data set.", +"location": "query", +"type": "boolean" +}, +"webPropertyId": { +"description": "Web property ID for the custom metric to update.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics/{customMetricId}", +"request": { +"$ref": "CustomMetric" +}, +"response": { +"$ref": "CustomMetric" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +} +} +}, +"experiments": { +"methods": { +"delete": { +"description": "Delete an experiment.", +"httpMethod": "DELETE", +"id": "analytics.management.experiments.delete", +"parameterOrder": [ +"accountId", +"webPropertyId", +"profileId", +"experimentId" +], +"parameters": { +"accountId": { +"description": "Account ID to which the experiment belongs", +"location": "path", +"required": true, +"type": "string" +}, +"experimentId": { +"description": "ID of the experiment to delete", +"location": "path", +"required": true, +"type": "string" +}, +"profileId": { +"description": "View (Profile) ID to which the experiment belongs", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID to which the experiment belongs", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}", +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"get": { +"description": "Returns an experiment to which the user has access.", +"httpMethod": "GET", +"id": "analytics.management.experiments.get", +"parameterOrder": [ +"accountId", +"webPropertyId", +"profileId", +"experimentId" +], +"parameters": { +"accountId": { +"description": "Account ID to retrieve the experiment for.", +"location": "path", +"required": true, +"type": "string" +}, +"experimentId": { +"description": "Experiment ID to retrieve the experiment for.", +"location": "path", +"required": true, +"type": "string" +}, +"profileId": { +"description": "View (Profile) ID to retrieve the experiment for.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID to retrieve the experiment for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}", +"response": { +"$ref": "Experiment" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"insert": { +"description": "Create a new experiment.", +"httpMethod": "POST", +"id": "analytics.management.experiments.insert", +"parameterOrder": [ +"accountId", +"webPropertyId", +"profileId" +], +"parameters": { +"accountId": { +"description": "Account ID to create the experiment for.", +"location": "path", +"required": true, +"type": "string" +}, +"profileId": { +"description": "View (Profile) ID to create the experiment for.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID to create the experiment for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments", +"request": { +"$ref": "Experiment" +}, +"response": { +"$ref": "Experiment" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"list": { +"description": "Lists experiments to which the user has access.", +"httpMethod": "GET", +"id": "analytics.management.experiments.list", +"parameterOrder": [ +"accountId", +"webPropertyId", +"profileId" +], +"parameters": { +"accountId": { +"description": "Account ID to retrieve experiments for.", +"location": "path", +"pattern": "\\d+", +"required": true, +"type": "string" +}, +"max-results": { +"description": "The maximum number of experiments to include in this response.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"profileId": { +"description": "View (Profile) ID to retrieve experiments for.", +"location": "path", +"pattern": "\\d+", +"required": true, +"type": "string" +}, +"start-index": { +"description": "An index of the first experiment to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", +"format": "int32", +"location": "query", +"minimum": "1", +"type": "integer" +}, +"webPropertyId": { +"description": "Web property ID to retrieve experiments for.", +"location": "path", +"pattern": "UA-(\\d+)-(\\d+)", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments", +"response": { +"$ref": "Experiments" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"patch": { +"description": "Update an existing experiment. This method supports patch semantics.", +"httpMethod": "PATCH", +"id": "analytics.management.experiments.patch", +"parameterOrder": [ +"accountId", +"webPropertyId", +"profileId", +"experimentId" +], +"parameters": { +"accountId": { +"description": "Account ID of the experiment to update.", +"location": "path", +"required": true, +"type": "string" +}, +"experimentId": { +"description": "Experiment ID of the experiment to update.", +"location": "path", +"required": true, +"type": "string" +}, +"profileId": { +"description": "View (Profile) ID of the experiment to update.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID of the experiment to update.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}", +"request": { +"$ref": "Experiment" +}, +"response": { +"$ref": "Experiment" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"update": { +"description": "Update an existing experiment.", +"httpMethod": "PUT", +"id": "analytics.management.experiments.update", +"parameterOrder": [ +"accountId", +"webPropertyId", +"profileId", +"experimentId" +], +"parameters": { +"accountId": { +"description": "Account ID of the experiment to update.", +"location": "path", +"required": true, +"type": "string" +}, +"experimentId": { +"description": "Experiment ID of the experiment to update.", +"location": "path", +"required": true, +"type": "string" +}, +"profileId": { +"description": "View (Profile) ID of the experiment to update.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID of the experiment to update.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}", +"request": { +"$ref": "Experiment" +}, +"response": { +"$ref": "Experiment" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.edit" +] +} +} +}, +"filters": { +"methods": { +"delete": { +"description": "Delete a filter.", +"httpMethod": "DELETE", +"id": "analytics.management.filters.delete", +"parameterOrder": [ +"accountId", +"filterId" +], +"parameters": { +"accountId": { +"description": "Account ID to delete the filter for.", +"location": "path", +"required": true, +"type": "string" +}, +"filterId": { +"description": "ID of the filter to be deleted.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/filters/{filterId}", +"response": { +"$ref": "Filter" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"get": { +"description": "Returns filters to which the user has access.", +"httpMethod": "GET", +"id": "analytics.management.filters.get", +"parameterOrder": [ +"accountId", +"filterId" +], +"parameters": { +"accountId": { +"description": "Account ID to retrieve filters for.", +"location": "path", +"required": true, +"type": "string" +}, +"filterId": { +"description": "Filter ID to retrieve filters for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/filters/{filterId}", +"response": { +"$ref": "Filter" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"insert": { +"description": "Create a new filter.", +"httpMethod": "POST", +"id": "analytics.management.filters.insert", +"parameterOrder": [ +"accountId" +], +"parameters": { +"accountId": { +"description": "Account ID to create filter for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/filters", +"request": { +"$ref": "Filter" +}, +"response": { +"$ref": "Filter" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"list": { +"description": "Lists all filters for an account", +"httpMethod": "GET", +"id": "analytics.management.filters.list", +"parameterOrder": [ +"accountId" +], +"parameters": { +"accountId": { +"description": "Account ID to retrieve filters for.", +"location": "path", +"pattern": "\\d+", +"required": true, +"type": "string" +}, +"max-results": { +"description": "The maximum number of filters to include in this response.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"start-index": { +"description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", +"format": "int32", +"location": "query", +"minimum": "1", +"type": "integer" +} +}, +"path": "management/accounts/{accountId}/filters", +"response": { +"$ref": "Filters" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"patch": { +"description": "Updates an existing filter. This method supports patch semantics.", +"httpMethod": "PATCH", +"id": "analytics.management.filters.patch", +"parameterOrder": [ +"accountId", +"filterId" +], +"parameters": { +"accountId": { +"description": "Account ID to which the filter belongs.", +"location": "path", +"required": true, +"type": "string" +}, +"filterId": { +"description": "ID of the filter to be updated.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/filters/{filterId}", +"request": { +"$ref": "Filter" +}, +"response": { +"$ref": "Filter" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"update": { +"description": "Updates an existing filter.", +"httpMethod": "PUT", +"id": "analytics.management.filters.update", +"parameterOrder": [ +"accountId", +"filterId" +], +"parameters": { +"accountId": { +"description": "Account ID to which the filter belongs.", +"location": "path", +"required": true, +"type": "string" +}, +"filterId": { +"description": "ID of the filter to be updated.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/filters/{filterId}", +"request": { +"$ref": "Filter" +}, +"response": { +"$ref": "Filter" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +} +} +}, +"goals": { +"methods": { +"get": { +"description": "Gets a goal to which the user has access.", +"httpMethod": "GET", +"id": "analytics.management.goals.get", +"parameterOrder": [ +"accountId", +"webPropertyId", +"profileId", +"goalId" +], +"parameters": { +"accountId": { +"description": "Account ID to retrieve the goal for.", +"location": "path", +"required": true, +"type": "string" +}, +"goalId": { +"description": "Goal ID to retrieve the goal for.", +"location": "path", +"required": true, +"type": "string" +}, +"profileId": { +"description": "View (Profile) ID to retrieve the goal for.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID to retrieve the goal for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}", +"response": { +"$ref": "Goal" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"insert": { +"description": "Create a new goal.", +"httpMethod": "POST", +"id": "analytics.management.goals.insert", +"parameterOrder": [ +"accountId", +"webPropertyId", +"profileId" +], +"parameters": { +"accountId": { +"description": "Account ID to create the goal for.", +"location": "path", +"required": true, +"type": "string" +}, +"profileId": { +"description": "View (Profile) ID to create the goal for.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID to create the goal for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals", +"request": { +"$ref": "Goal" +}, +"response": { +"$ref": "Goal" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"list": { +"description": "Lists goals to which the user has access.", +"httpMethod": "GET", +"id": "analytics.management.goals.list", +"parameterOrder": [ +"accountId", +"webPropertyId", +"profileId" +], +"parameters": { +"accountId": { +"description": "Account ID to retrieve goals for. Can either be a specific account ID or '~all', which refers to all the accounts that user has access to.", +"location": "path", +"required": true, +"type": "string" +}, +"max-results": { +"description": "The maximum number of goals to include in this response.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"profileId": { +"description": "View (Profile) ID to retrieve goals for. Can either be a specific view (profile) ID or '~all', which refers to all the views (profiles) that user has access to.", +"location": "path", +"required": true, +"type": "string" +}, +"start-index": { +"description": "An index of the first goal to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", +"format": "int32", +"location": "query", +"minimum": "1", +"type": "integer" +}, +"webPropertyId": { +"description": "Web property ID to retrieve goals for. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals", +"response": { +"$ref": "Goals" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"patch": { +"description": "Updates an existing goal. This method supports patch semantics.", +"httpMethod": "PATCH", +"id": "analytics.management.goals.patch", +"parameterOrder": [ +"accountId", +"webPropertyId", +"profileId", +"goalId" +], +"parameters": { +"accountId": { +"description": "Account ID to update the goal.", +"location": "path", +"required": true, +"type": "string" +}, +"goalId": { +"description": "Index of the goal to be updated.", +"location": "path", +"required": true, +"type": "string" +}, +"profileId": { +"description": "View (Profile) ID to update the goal.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID to update the goal.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}", +"request": { +"$ref": "Goal" +}, +"response": { +"$ref": "Goal" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"update": { +"description": "Updates an existing goal.", +"httpMethod": "PUT", +"id": "analytics.management.goals.update", +"parameterOrder": [ +"accountId", +"webPropertyId", +"profileId", +"goalId" +], +"parameters": { +"accountId": { +"description": "Account ID to update the goal.", +"location": "path", +"required": true, +"type": "string" +}, +"goalId": { +"description": "Index of the goal to be updated.", +"location": "path", +"required": true, +"type": "string" +}, +"profileId": { +"description": "View (Profile) ID to update the goal.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID to update the goal.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}", +"request": { +"$ref": "Goal" +}, +"response": { +"$ref": "Goal" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +} +} +}, +"profileFilterLinks": { +"methods": { +"delete": { +"description": "Delete a profile filter link.", +"httpMethod": "DELETE", +"id": "analytics.management.profileFilterLinks.delete", +"parameterOrder": [ +"accountId", +"webPropertyId", +"profileId", +"linkId" +], +"parameters": { +"accountId": { +"description": "Account ID to which the profile filter link belongs.", +"location": "path", +"pattern": "\\d+", +"required": true, +"type": "string" +}, +"linkId": { +"description": "ID of the profile filter link to delete.", +"location": "path", +"pattern": "\\d+:\\d+", +"required": true, +"type": "string" +}, +"profileId": { +"description": "Profile ID to which the filter link belongs.", +"location": "path", +"pattern": "\\d+", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property Id to which the profile filter link belongs.", +"location": "path", +"pattern": "UA-(\\d+)-(\\d+)", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}", +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"get": { +"description": "Returns a single profile filter link.", +"httpMethod": "GET", +"id": "analytics.management.profileFilterLinks.get", +"parameterOrder": [ +"accountId", +"webPropertyId", +"profileId", +"linkId" +], +"parameters": { +"accountId": { +"description": "Account ID to retrieve profile filter link for.", +"location": "path", +"pattern": "\\d+", +"required": true, +"type": "string" +}, +"linkId": { +"description": "ID of the profile filter link.", +"location": "path", +"pattern": "\\d+:\\d+", +"required": true, +"type": "string" +}, +"profileId": { +"description": "Profile ID to retrieve filter link for.", +"location": "path", +"pattern": "\\d+", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property Id to retrieve profile filter link for.", +"location": "path", +"pattern": "UA-(\\d+)-(\\d+)", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}", +"response": { +"$ref": "ProfileFilterLink" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"insert": { +"description": "Create a new profile filter link.", +"httpMethod": "POST", +"id": "analytics.management.profileFilterLinks.insert", +"parameterOrder": [ +"accountId", +"webPropertyId", +"profileId" +], +"parameters": { +"accountId": { +"description": "Account ID to create profile filter link for.", +"location": "path", +"pattern": "\\d+", +"required": true, +"type": "string" +}, +"profileId": { +"description": "Profile ID to create filter link for.", +"location": "path", +"pattern": "\\d+", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property Id to create profile filter link for.", +"location": "path", +"pattern": "UA-(\\d+)-(\\d+)", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks", +"request": { +"$ref": "ProfileFilterLink" +}, +"response": { +"$ref": "ProfileFilterLink" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"list": { +"description": "Lists all profile filter links for a profile.", +"httpMethod": "GET", +"id": "analytics.management.profileFilterLinks.list", +"parameterOrder": [ +"accountId", +"webPropertyId", +"profileId" +], +"parameters": { +"accountId": { +"description": "Account ID to retrieve profile filter links for.", +"location": "path", +"pattern": "\\d+", +"required": true, +"type": "string" +}, +"max-results": { +"description": "The maximum number of profile filter links to include in this response.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"profileId": { +"description": "Profile ID to retrieve filter links for. Can either be a specific profile ID or '~all', which refers to all the profiles that user has access to.", +"location": "path", +"required": true, +"type": "string" +}, +"start-index": { +"description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", +"format": "int32", +"location": "query", +"minimum": "1", +"type": "integer" +}, +"webPropertyId": { +"description": "Web property Id for profile filter links for. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks", +"response": { +"$ref": "ProfileFilterLinks" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"patch": { +"description": "Update an existing profile filter link. This method supports patch semantics.", +"httpMethod": "PATCH", +"id": "analytics.management.profileFilterLinks.patch", +"parameterOrder": [ +"accountId", +"webPropertyId", +"profileId", +"linkId" +], +"parameters": { +"accountId": { +"description": "Account ID to which profile filter link belongs.", +"location": "path", +"pattern": "\\d+", +"required": true, +"type": "string" +}, +"linkId": { +"description": "ID of the profile filter link to be updated.", +"location": "path", +"pattern": "\\d+:\\d+", +"required": true, +"type": "string" +}, +"profileId": { +"description": "Profile ID to which filter link belongs", +"location": "path", +"pattern": "\\d+", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property Id to which profile filter link belongs", +"location": "path", +"pattern": "UA-(\\d+)-(\\d+)", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}", +"request": { +"$ref": "ProfileFilterLink" +}, +"response": { +"$ref": "ProfileFilterLink" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"update": { +"description": "Update an existing profile filter link.", +"httpMethod": "PUT", +"id": "analytics.management.profileFilterLinks.update", +"parameterOrder": [ +"accountId", +"webPropertyId", +"profileId", +"linkId" +], +"parameters": { +"accountId": { +"description": "Account ID to which profile filter link belongs.", +"location": "path", +"pattern": "\\d+", +"required": true, +"type": "string" +}, +"linkId": { +"description": "ID of the profile filter link to be updated.", +"location": "path", +"pattern": "\\d+:\\d+", +"required": true, +"type": "string" +}, +"profileId": { +"description": "Profile ID to which filter link belongs", +"location": "path", +"pattern": "\\d+", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property Id to which profile filter link belongs", +"location": "path", +"pattern": "UA-(\\d+)-(\\d+)", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}", +"request": { +"$ref": "ProfileFilterLink" +}, +"response": { +"$ref": "ProfileFilterLink" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +} +} +}, +"profileUserLinks": { +"methods": { +"delete": { +"description": "Removes a user from the given view (profile).", +"httpMethod": "DELETE", +"id": "analytics.management.profileUserLinks.delete", +"parameterOrder": [ +"accountId", +"webPropertyId", +"profileId", +"linkId" +], +"parameters": { +"accountId": { +"description": "Account ID to delete the user link for.", +"location": "path", +"required": true, +"type": "string" +}, +"linkId": { +"description": "Link ID to delete the user link for.", +"location": "path", +"required": true, +"type": "string" +}, +"profileId": { +"description": "View (Profile) ID to delete the user link for.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web Property ID to delete the user link for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks/{linkId}", +"scopes": [ +"https://www.googleapis.com/auth/analytics.manage.users" +] +}, +"insert": { +"description": "Adds a new user to the given view (profile).", +"httpMethod": "POST", +"id": "analytics.management.profileUserLinks.insert", +"parameterOrder": [ +"accountId", +"webPropertyId", +"profileId" +], +"parameters": { +"accountId": { +"description": "Account ID to create the user link for.", +"location": "path", +"required": true, +"type": "string" +}, +"profileId": { +"description": "View (Profile) ID to create the user link for.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web Property ID to create the user link for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks", +"request": { +"$ref": "EntityUserLink" +}, +"response": { +"$ref": "EntityUserLink" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.manage.users" +] +}, +"list": { +"description": "Lists profile-user links for a given view (profile).", +"httpMethod": "GET", +"id": "analytics.management.profileUserLinks.list", +"parameterOrder": [ +"accountId", +"webPropertyId", +"profileId" +], +"parameters": { +"accountId": { +"description": "Account ID which the given view (profile) belongs to.", +"location": "path", +"required": true, +"type": "string" +}, +"max-results": { +"description": "The maximum number of profile-user links to include in this response.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"profileId": { +"description": "View (Profile) ID to retrieve the profile-user links for. Can either be a specific profile ID or '~all', which refers to all the profiles that user has access to.", +"location": "path", +"required": true, +"type": "string" +}, +"start-index": { +"description": "An index of the first profile-user link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", +"format": "int32", +"location": "query", +"minimum": "1", +"type": "integer" +}, +"webPropertyId": { +"description": "Web Property ID which the given view (profile) belongs to. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks", +"response": { +"$ref": "EntityUserLinks" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.manage.users", +"https://www.googleapis.com/auth/analytics.manage.users.readonly" +] +}, +"update": { +"description": "Updates permissions for an existing user on the given view (profile).", +"httpMethod": "PUT", +"id": "analytics.management.profileUserLinks.update", +"parameterOrder": [ +"accountId", +"webPropertyId", +"profileId", +"linkId" +], +"parameters": { +"accountId": { +"description": "Account ID to update the user link for.", +"location": "path", +"required": true, +"type": "string" +}, +"linkId": { +"description": "Link ID to update the user link for.", +"location": "path", +"required": true, +"type": "string" +}, +"profileId": { +"description": "View (Profile ID) to update the user link for.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web Property ID to update the user link for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks/{linkId}", +"request": { +"$ref": "EntityUserLink" +}, +"response": { +"$ref": "EntityUserLink" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.manage.users" +] +} +} +}, +"profiles": { +"methods": { +"delete": { +"description": "Deletes a view (profile).", +"httpMethod": "DELETE", +"id": "analytics.management.profiles.delete", +"parameterOrder": [ +"accountId", +"webPropertyId", +"profileId" +], +"parameters": { +"accountId": { +"description": "Account ID to delete the view (profile) for.", +"location": "path", +"required": true, +"type": "string" +}, +"profileId": { +"description": "ID of the view (profile) to be deleted.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID to delete the view (profile) for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}", +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"get": { +"description": "Gets a view (profile) to which the user has access.", +"httpMethod": "GET", +"id": "analytics.management.profiles.get", +"parameterOrder": [ +"accountId", +"webPropertyId", +"profileId" +], +"parameters": { +"accountId": { +"description": "Account ID to retrieve the view (profile) for.", +"location": "path", +"pattern": "[0-9]+", +"required": true, +"type": "string" +}, +"profileId": { +"description": "View (Profile) ID to retrieve the view (profile) for.", +"location": "path", +"pattern": "[0-9]+", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID to retrieve the view (profile) for.", +"location": "path", +"pattern": "UA-[0-9]+-[0-9]+", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}", +"response": { +"$ref": "Profile" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"insert": { +"description": "Create a new view (profile).", +"httpMethod": "POST", +"id": "analytics.management.profiles.insert", +"parameterOrder": [ +"accountId", +"webPropertyId" +], +"parameters": { +"accountId": { +"description": "Account ID to create the view (profile) for.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID to create the view (profile) for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles", +"request": { +"$ref": "Profile" +}, +"response": { +"$ref": "Profile" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"list": { +"description": "Lists views (profiles) to which the user has access.", +"httpMethod": "GET", +"id": "analytics.management.profiles.list", +"parameterOrder": [ +"accountId", +"webPropertyId" +], +"parameters": { +"accountId": { +"description": "Account ID for the view (profiles) to retrieve. Can either be a specific account ID or '~all', which refers to all the accounts to which the user has access.", +"location": "path", +"required": true, +"type": "string" +}, +"max-results": { +"description": "The maximum number of views (profiles) to include in this response.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"start-index": { +"description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", +"format": "int32", +"location": "query", +"minimum": "1", +"type": "integer" +}, +"webPropertyId": { +"description": "Web property ID for the views (profiles) to retrieve. Can either be a specific web property ID or '~all', which refers to all the web properties to which the user has access.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles", +"response": { +"$ref": "Profiles" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"patch": { +"description": "Updates an existing view (profile). This method supports patch semantics.", +"httpMethod": "PATCH", +"id": "analytics.management.profiles.patch", +"parameterOrder": [ +"accountId", +"webPropertyId", +"profileId" +], +"parameters": { +"accountId": { +"description": "Account ID to which the view (profile) belongs", +"location": "path", +"required": true, +"type": "string" +}, +"profileId": { +"description": "ID of the view (profile) to be updated.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID to which the view (profile) belongs", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}", +"request": { +"$ref": "Profile" +}, +"response": { +"$ref": "Profile" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"update": { +"description": "Updates an existing view (profile).", +"httpMethod": "PUT", +"id": "analytics.management.profiles.update", +"parameterOrder": [ +"accountId", +"webPropertyId", +"profileId" +], +"parameters": { +"accountId": { +"description": "Account ID to which the view (profile) belongs", +"location": "path", +"required": true, +"type": "string" +}, +"profileId": { +"description": "ID of the view (profile) to be updated.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID to which the view (profile) belongs", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}", +"request": { +"$ref": "Profile" +}, +"response": { +"$ref": "Profile" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +} +} +}, +"remarketingAudience": { +"methods": { +"delete": { +"description": "Delete a remarketing audience.", +"httpMethod": "DELETE", +"id": "analytics.management.remarketingAudience.delete", +"parameterOrder": [ +"accountId", +"webPropertyId", +"remarketingAudienceId" +], +"parameters": { +"accountId": { +"description": "Account ID to which the remarketing audience belongs.", +"location": "path", +"required": true, +"type": "string" +}, +"remarketingAudienceId": { +"description": "The ID of the remarketing audience to delete.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID to which the remarketing audience belongs.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences/{remarketingAudienceId}", +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"get": { +"description": "Gets a remarketing audience to which the user has access.", +"httpMethod": "GET", +"id": "analytics.management.remarketingAudience.get", +"parameterOrder": [ +"accountId", +"webPropertyId", +"remarketingAudienceId" +], +"parameters": { +"accountId": { +"description": "The account ID of the remarketing audience to retrieve.", +"location": "path", +"required": true, +"type": "string" +}, +"remarketingAudienceId": { +"description": "The ID of the remarketing audience to retrieve.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "The web property ID of the remarketing audience to retrieve.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences/{remarketingAudienceId}", +"response": { +"$ref": "RemarketingAudience" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"insert": { +"description": "Creates a new remarketing audience.", +"httpMethod": "POST", +"id": "analytics.management.remarketingAudience.insert", +"parameterOrder": [ +"accountId", +"webPropertyId" +], +"parameters": { +"accountId": { +"description": "The account ID for which to create the remarketing audience.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID for which to create the remarketing audience.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences", +"request": { +"$ref": "RemarketingAudience" +}, +"response": { +"$ref": "RemarketingAudience" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"list": { +"description": "Lists remarketing audiences to which the user has access.", +"httpMethod": "GET", +"id": "analytics.management.remarketingAudience.list", +"parameterOrder": [ +"accountId", +"webPropertyId" +], +"parameters": { +"accountId": { +"description": "The account ID of the remarketing audiences to retrieve.", +"location": "path", +"required": true, +"type": "string" +}, +"max-results": { +"description": "The maximum number of remarketing audiences to include in this response.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"start-index": { +"description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", +"format": "int32", +"location": "query", +"minimum": "1", +"type": "integer" +}, +"type": { +"default": "all", +"location": "query", +"type": "string" +}, +"webPropertyId": { +"description": "The web property ID of the remarketing audiences to retrieve.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences", +"response": { +"$ref": "RemarketingAudiences" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"patch": { +"description": "Updates an existing remarketing audience. This method supports patch semantics.", +"httpMethod": "PATCH", +"id": "analytics.management.remarketingAudience.patch", +"parameterOrder": [ +"accountId", +"webPropertyId", +"remarketingAudienceId" +], +"parameters": { +"accountId": { +"description": "The account ID of the remarketing audience to update.", +"location": "path", +"required": true, +"type": "string" +}, +"remarketingAudienceId": { +"description": "The ID of the remarketing audience to update.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "The web property ID of the remarketing audience to update.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences/{remarketingAudienceId}", +"request": { +"$ref": "RemarketingAudience" +}, +"response": { +"$ref": "RemarketingAudience" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"update": { +"description": "Updates an existing remarketing audience.", +"httpMethod": "PUT", +"id": "analytics.management.remarketingAudience.update", +"parameterOrder": [ +"accountId", +"webPropertyId", +"remarketingAudienceId" +], +"parameters": { +"accountId": { +"description": "The account ID of the remarketing audience to update.", +"location": "path", +"required": true, +"type": "string" +}, +"remarketingAudienceId": { +"description": "The ID of the remarketing audience to update.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "The web property ID of the remarketing audience to update.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences/{remarketingAudienceId}", +"request": { +"$ref": "RemarketingAudience" +}, +"response": { +"$ref": "RemarketingAudience" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +} +} +}, +"segments": { +"methods": { +"list": { +"description": "Lists segments to which the user has access.", +"httpMethod": "GET", +"id": "analytics.management.segments.list", +"parameters": { +"max-results": { +"description": "The maximum number of segments to include in this response.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"start-index": { +"description": "An index of the first segment to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", +"format": "int32", +"location": "query", +"minimum": "1", +"type": "integer" +} +}, +"path": "management/segments", +"response": { +"$ref": "Segments" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +} +} +}, +"unsampledReports": { +"methods": { +"delete": { +"description": "Deletes an unsampled report.", +"httpMethod": "DELETE", +"id": "analytics.management.unsampledReports.delete", +"parameterOrder": [ +"accountId", +"webPropertyId", +"profileId", +"unsampledReportId" +], +"parameters": { +"accountId": { +"description": "Account ID to delete the unsampled report for.", +"location": "path", +"required": true, +"type": "string" +}, +"profileId": { +"description": "View (Profile) ID to delete the unsampled report for.", +"location": "path", +"required": true, +"type": "string" +}, +"unsampledReportId": { +"description": "ID of the unsampled report to be deleted.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID to delete the unsampled reports for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports/{unsampledReportId}", +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"get": { +"description": "Returns a single unsampled report.", +"httpMethod": "GET", +"id": "analytics.management.unsampledReports.get", +"parameterOrder": [ +"accountId", +"webPropertyId", +"profileId", +"unsampledReportId" +], +"parameters": { +"accountId": { +"description": "Account ID to retrieve unsampled report for.", +"location": "path", +"required": true, +"type": "string" +}, +"profileId": { +"description": "View (Profile) ID to retrieve unsampled report for.", +"location": "path", +"required": true, +"type": "string" +}, +"unsampledReportId": { +"description": "ID of the unsampled report to retrieve.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID to retrieve unsampled reports for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports/{unsampledReportId}", +"response": { +"$ref": "UnsampledReport" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"insert": { +"description": "Create a new unsampled report.", +"httpMethod": "POST", +"id": "analytics.management.unsampledReports.insert", +"parameterOrder": [ +"accountId", +"webPropertyId", +"profileId" +], +"parameters": { +"accountId": { +"description": "Account ID to create the unsampled report for.", +"location": "path", +"required": true, +"type": "string" +}, +"profileId": { +"description": "View (Profile) ID to create the unsampled report for.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID to create the unsampled report for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports", +"request": { +"$ref": "UnsampledReport" +}, +"response": { +"$ref": "UnsampledReport" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"list": { +"description": "Lists unsampled reports to which the user has access.", +"httpMethod": "GET", +"id": "analytics.management.unsampledReports.list", +"parameterOrder": [ +"accountId", +"webPropertyId", +"profileId" +], +"parameters": { +"accountId": { +"description": "Account ID to retrieve unsampled reports for. Must be a specific account ID, ~all is not supported.", +"location": "path", +"required": true, +"type": "string" +}, +"max-results": { +"description": "The maximum number of unsampled reports to include in this response.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"profileId": { +"description": "View (Profile) ID to retrieve unsampled reports for. Must be a specific view (profile) ID, ~all is not supported.", +"location": "path", +"required": true, +"type": "string" +}, +"start-index": { +"description": "An index of the first unsampled report to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", +"format": "int32", +"location": "query", +"minimum": "1", +"type": "integer" +}, +"webPropertyId": { +"description": "Web property ID to retrieve unsampled reports for. Must be a specific web property ID, ~all is not supported.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports", +"response": { +"$ref": "UnsampledReports" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +} +} +}, +"uploads": { +"methods": { +"deleteUploadData": { +"description": "Delete data associated with a previous upload.", +"httpMethod": "POST", +"id": "analytics.management.uploads.deleteUploadData", +"parameterOrder": [ +"accountId", +"webPropertyId", +"customDataSourceId" +], +"parameters": { +"accountId": { +"description": "Account Id for the uploads to be deleted.", +"location": "path", +"pattern": "\\d+", +"required": true, +"type": "string" +}, +"customDataSourceId": { +"description": "Custom data source Id for the uploads to be deleted.", +"location": "path", +"pattern": ".{22}", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property Id for the uploads to be deleted.", +"location": "path", +"pattern": "UA-(\\d+)-(\\d+)", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/deleteUploadData", +"request": { +"$ref": "AnalyticsDataimportDeleteUploadDataRequest" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"get": { +"description": "List uploads to which the user has access.", +"httpMethod": "GET", +"id": "analytics.management.uploads.get", +"parameterOrder": [ +"accountId", +"webPropertyId", +"customDataSourceId", +"uploadId" +], +"parameters": { +"accountId": { +"description": "Account Id for the upload to retrieve.", +"location": "path", +"pattern": "\\d+", +"required": true, +"type": "string" +}, +"customDataSourceId": { +"description": "Custom data source Id for upload to retrieve.", +"location": "path", +"pattern": ".{22}", +"required": true, +"type": "string" +}, +"uploadId": { +"description": "Upload Id to retrieve.", +"location": "path", +"pattern": ".{22}", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property Id for the upload to retrieve.", +"location": "path", +"pattern": "UA-(\\d+)-(\\d+)", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads/{uploadId}", +"response": { +"$ref": "Upload" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"list": { +"description": "List uploads to which the user has access.", +"httpMethod": "GET", +"id": "analytics.management.uploads.list", +"parameterOrder": [ +"accountId", +"webPropertyId", +"customDataSourceId" +], +"parameters": { +"accountId": { +"description": "Account Id for the uploads to retrieve.", +"location": "path", +"pattern": "\\d+", +"required": true, +"type": "string" +}, +"customDataSourceId": { +"description": "Custom data source Id for uploads to retrieve.", +"location": "path", +"pattern": ".{22}", +"required": true, +"type": "string" +}, +"max-results": { +"description": "The maximum number of uploads to include in this response.", +"format": "int32", +"location": "query", +"minimum": "1", +"type": "integer" +}, +"start-index": { +"description": "A 1-based index of the first upload to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", +"format": "int32", +"location": "query", +"minimum": "1", +"type": "integer" +}, +"webPropertyId": { +"description": "Web property Id for the uploads to retrieve.", +"location": "path", +"pattern": "UA-(\\d+)-(\\d+)", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads", +"response": { +"$ref": "Uploads" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"uploadData": { +"description": "Upload data for a custom data source.", +"httpMethod": "POST", +"id": "analytics.management.uploads.uploadData", +"mediaUpload": { +"accept": [ +"application/octet-stream" +], +"maxSize": "1GB", +"protocols": { +"resumable": { +"multipart": true, +"path": "/resumable/upload/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads" +}, +"simple": { +"multipart": true, +"path": "/upload/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads" +} +} +}, +"parameterOrder": [ +"accountId", +"webPropertyId", +"customDataSourceId" +], +"parameters": { +"accountId": { +"description": "Account Id associated with the upload.", +"location": "path", +"pattern": "\\d+", +"required": true, +"type": "string" +}, +"customDataSourceId": { +"description": "Custom data source Id to which the data being uploaded belongs.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property UA-string associated with the upload.", +"location": "path", +"pattern": "UA-\\d+-\\d+", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads", +"response": { +"$ref": "Upload" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.edit" +], +"supportsMediaUpload": true +} +} +}, +"webPropertyAdWordsLinks": { +"methods": { +"delete": { +"description": "Deletes a web property-Google Ads link.", +"httpMethod": "DELETE", +"id": "analytics.management.webPropertyAdWordsLinks.delete", +"parameterOrder": [ +"accountId", +"webPropertyId", +"webPropertyAdWordsLinkId" +], +"parameters": { +"accountId": { +"description": "ID of the account which the given web property belongs to.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyAdWordsLinkId": { +"description": "Web property Google Ads link ID.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID to delete the Google Ads link for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}", +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"get": { +"description": "Returns a web property-Google Ads link to which the user has access.", +"httpMethod": "GET", +"id": "analytics.management.webPropertyAdWordsLinks.get", +"parameterOrder": [ +"accountId", +"webPropertyId", +"webPropertyAdWordsLinkId" +], +"parameters": { +"accountId": { +"description": "ID of the account which the given web property belongs to.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyAdWordsLinkId": { +"description": "Web property-Google Ads link ID.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID to retrieve the Google Ads link for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}", +"response": { +"$ref": "EntityAdWordsLink" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"insert": { +"description": "Creates a webProperty-Google Ads link.", +"httpMethod": "POST", +"id": "analytics.management.webPropertyAdWordsLinks.insert", +"parameterOrder": [ +"accountId", +"webPropertyId" +], +"parameters": { +"accountId": { +"description": "ID of the Google Analytics account to create the link for.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID to create the link for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks", +"request": { +"$ref": "EntityAdWordsLink" +}, +"response": { +"$ref": "EntityAdWordsLink" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"list": { +"description": "Lists webProperty-Google Ads links for a given web property.", +"httpMethod": "GET", +"id": "analytics.management.webPropertyAdWordsLinks.list", +"parameterOrder": [ +"accountId", +"webPropertyId" +], +"parameters": { +"accountId": { +"description": "ID of the account which the given web property belongs to.", +"location": "path", +"pattern": "\\d+", +"required": true, +"type": "string" +}, +"max-results": { +"description": "The maximum number of webProperty-Google Ads links to include in this response.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"start-index": { +"description": "An index of the first webProperty-Google Ads link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", +"format": "int32", +"location": "query", +"minimum": "1", +"type": "integer" +}, +"webPropertyId": { +"description": "Web property ID to retrieve the Google Ads links for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks", +"response": { +"$ref": "EntityAdWordsLinks" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"patch": { +"description": "Updates an existing webProperty-Google Ads link. This method supports patch semantics.", +"httpMethod": "PATCH", +"id": "analytics.management.webPropertyAdWordsLinks.patch", +"parameterOrder": [ +"accountId", +"webPropertyId", +"webPropertyAdWordsLinkId" +], +"parameters": { +"accountId": { +"description": "ID of the account which the given web property belongs to.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyAdWordsLinkId": { +"description": "Web property-Google Ads link ID.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID to retrieve the Google Ads link for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}", +"request": { +"$ref": "EntityAdWordsLink" +}, +"response": { +"$ref": "EntityAdWordsLink" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"update": { +"description": "Updates an existing webProperty-Google Ads link.", +"httpMethod": "PUT", +"id": "analytics.management.webPropertyAdWordsLinks.update", +"parameterOrder": [ +"accountId", +"webPropertyId", +"webPropertyAdWordsLinkId" +], +"parameters": { +"accountId": { +"description": "ID of the account which the given web property belongs to.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyAdWordsLinkId": { +"description": "Web property-Google Ads link ID.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID to retrieve the Google Ads link for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}", +"request": { +"$ref": "EntityAdWordsLink" +}, +"response": { +"$ref": "EntityAdWordsLink" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +} +} +}, +"webproperties": { +"methods": { +"get": { +"description": "Gets a web property to which the user has access.", +"httpMethod": "GET", +"id": "analytics.management.webproperties.get", +"parameterOrder": [ +"accountId", +"webPropertyId" +], +"parameters": { +"accountId": { +"description": "Account ID to retrieve the web property for.", +"location": "path", +"pattern": "[0-9]+", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "ID to retrieve the web property for.", +"location": "path", +"pattern": "UA-[0-9]+-[0-9]+", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}", +"response": { +"$ref": "Webproperty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"insert": { +"description": "Create a new property if the account has fewer than 20 properties. Web properties are visible in the Google Analytics interface only if they have at least one profile.", +"httpMethod": "POST", +"id": "analytics.management.webproperties.insert", +"parameterOrder": [ +"accountId" +], +"parameters": { +"accountId": { +"description": "Account ID to create the web property for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties", +"request": { +"$ref": "Webproperty" +}, +"response": { +"$ref": "Webproperty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"list": { +"description": "Lists web properties to which the user has access.", +"httpMethod": "GET", +"id": "analytics.management.webproperties.list", +"parameterOrder": [ +"accountId" +], +"parameters": { +"accountId": { +"description": "Account ID to retrieve web properties for. Can either be a specific account ID or '~all', which refers to all the accounts that user has access to.", +"location": "path", +"required": true, +"type": "string" +}, +"max-results": { +"description": "The maximum number of web properties to include in this response.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"start-index": { +"description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", +"format": "int32", +"location": "query", +"minimum": "1", +"type": "integer" +} +}, +"path": "management/accounts/{accountId}/webproperties", +"response": { +"$ref": "Webproperties" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"patch": { +"description": "Updates an existing web property. This method supports patch semantics.", +"httpMethod": "PATCH", +"id": "analytics.management.webproperties.patch", +"parameterOrder": [ +"accountId", +"webPropertyId" +], +"parameters": { +"accountId": { +"description": "Account ID to which the web property belongs", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}", +"request": { +"$ref": "Webproperty" +}, +"response": { +"$ref": "Webproperty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"update": { +"description": "Updates an existing web property.", +"httpMethod": "PUT", +"id": "analytics.management.webproperties.update", +"parameterOrder": [ +"accountId", +"webPropertyId" +], +"parameters": { +"accountId": { +"description": "Account ID to which the web property belongs", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}", +"request": { +"$ref": "Webproperty" +}, +"response": { +"$ref": "Webproperty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +} +} +}, +"webpropertyUserLinks": { +"methods": { +"delete": { +"description": "Removes a user from the given web property.", +"httpMethod": "DELETE", +"id": "analytics.management.webpropertyUserLinks.delete", +"parameterOrder": [ +"accountId", +"webPropertyId", +"linkId" +], +"parameters": { +"accountId": { +"description": "Account ID to delete the user link for.", +"location": "path", +"required": true, +"type": "string" +}, +"linkId": { +"description": "Link ID to delete the user link for.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web Property ID to delete the user link for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks/{linkId}", +"scopes": [ +"https://www.googleapis.com/auth/analytics.manage.users" +] +}, +"insert": { +"description": "Adds a new user to the given web property.", +"httpMethod": "POST", +"id": "analytics.management.webpropertyUserLinks.insert", +"parameterOrder": [ +"accountId", +"webPropertyId" +], +"parameters": { +"accountId": { +"description": "Account ID to create the user link for.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web Property ID to create the user link for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks", +"request": { +"$ref": "EntityUserLink" +}, +"response": { +"$ref": "EntityUserLink" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.manage.users" +] +}, +"list": { +"description": "Lists webProperty-user links for a given web property.", +"httpMethod": "GET", +"id": "analytics.management.webpropertyUserLinks.list", +"parameterOrder": [ +"accountId", +"webPropertyId" +], +"parameters": { +"accountId": { +"description": "Account ID which the given web property belongs to.", +"location": "path", +"required": true, +"type": "string" +}, +"max-results": { +"description": "The maximum number of webProperty-user Links to include in this response.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"start-index": { +"description": "An index of the first webProperty-user link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", +"format": "int32", +"location": "query", +"minimum": "1", +"type": "integer" +}, +"webPropertyId": { +"description": "Web Property ID for the webProperty-user links to retrieve. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks", +"response": { +"$ref": "EntityUserLinks" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.manage.users", +"https://www.googleapis.com/auth/analytics.manage.users.readonly" +] +}, +"update": { +"description": "Updates permissions for an existing user on the given web property.", +"httpMethod": "PUT", +"id": "analytics.management.webpropertyUserLinks.update", +"parameterOrder": [ +"accountId", +"webPropertyId", +"linkId" +], +"parameters": { +"accountId": { +"description": "Account ID to update the account-user link for.", +"location": "path", +"required": true, +"type": "string" +}, +"linkId": { +"description": "Link ID to update the account-user link for.", +"location": "path", +"required": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID to update the account-user link for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks/{linkId}", +"request": { +"$ref": "EntityUserLink" +}, +"response": { +"$ref": "EntityUserLink" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.manage.users" +] +} +} +} +} +}, +"metadata": { +"resources": { +"columns": { +"methods": { +"list": { +"description": "Lists all columns for a report type", +"httpMethod": "GET", +"id": "analytics.metadata.columns.list", +"parameterOrder": [ +"reportType" +], +"parameters": { +"reportType": { +"description": "Report type. Allowed Values: 'ga'. Where 'ga' corresponds to the Core Reporting API", +"location": "path", +"pattern": "ga", +"required": true, +"type": "string" +} +}, +"path": "metadata/{reportType}/columns", +"response": { +"$ref": "Columns" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +} +} +} +} +}, +"provisioning": { +"methods": { +"createAccountTicket": { +"description": "Creates an account ticket.", +"httpMethod": "POST", +"id": "analytics.provisioning.createAccountTicket", +"path": "provisioning/createAccountTicket", +"request": { +"$ref": "AccountTicket" +}, +"response": { +"$ref": "AccountTicket" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.provision" +] +}, +"createAccountTree": { +"description": "Provision account.", +"httpMethod": "POST", +"id": "analytics.provisioning.createAccountTree", +"path": "provisioning/createAccountTree", +"request": { +"$ref": "AccountTreeRequest" +}, +"response": { +"$ref": "AccountTreeResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.provision" +] +} +} +}, +"userDeletion": { +"resources": { +"userDeletionRequest": { +"methods": { +"upsert": { +"description": "Insert or update a user deletion requests.", +"httpMethod": "POST", +"id": "analytics.userDeletion.userDeletionRequest.upsert", +"path": "userDeletion/userDeletionRequests:upsert", +"request": { +"$ref": "UserDeletionRequest" +}, +"response": { +"$ref": "UserDeletionRequest" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.user.deletion" +] +} +} +} +} +} +}, +"revision": "20190807", +"rootUrl": "https://analytics.googleapis.com/", +"schemas": { +"Account": { +"description": "JSON template for Analytics account entry.", +"id": "Account", +"properties": { +"childLink": { +"description": "Child link for an account entry. Points to the list of web properties for this account.", +"properties": { +"href": { +"description": "Link to the list of web properties for this account.", +"type": "string" +}, +"type": { +"default": "analytics#webproperties", +"description": "Type of the child link. Its value is \"analytics#webproperties\".", +"type": "string" +} +}, +"type": "object" +}, +"created": { +"description": "Time the account was created.", +"format": "date-time", +"type": "string" +}, +"id": { +"description": "Account ID.", +"type": "string" +}, +"kind": { +"default": "analytics#account", +"description": "Resource type for Analytics account.", +"type": "string" +}, +"name": { +"description": "Account name.", +"type": "string" +}, +"permissions": { +"description": "Permissions the user has for this account.", +"properties": { +"effective": { +"description": "All the permissions that the user has for this account. These include any implied permissions (e.g., EDIT implies VIEW).", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"selfLink": { +"description": "Link for this account.", +"type": "string" +}, +"starred": { +"description": "Indicates whether this account is starred or not.", +"type": "boolean" +}, +"updated": { +"description": "Time the account was last modified.", +"format": "date-time", +"type": "string" +} +}, +"type": "object" +}, +"AccountRef": { +"description": "JSON template for a linked account.", +"id": "AccountRef", +"properties": { +"href": { +"description": "Link for this account.", +"type": "string" +}, +"id": { +"description": "Account ID.", +"type": "string" +}, +"kind": { +"default": "analytics#accountRef", +"description": "Analytics account reference.", +"type": "string" +}, +"name": { +"description": "Account name.", +"type": "string" +} +}, +"type": "object" +}, +"AccountSummaries": { +"description": "An AccountSummary collection lists a summary of accounts, properties and views (profiles) to which the user has access. Each resource in the collection corresponds to a single AccountSummary.", +"id": "AccountSummaries", +"properties": { +"items": { +"description": "A list of AccountSummaries.", +"items": { +"$ref": "AccountSummary" +}, +"type": "array" +}, +"itemsPerPage": { +"description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", +"format": "int32", +"type": "integer" +}, +"kind": { +"default": "analytics#accountSummaries", +"description": "Collection type.", +"type": "string" +}, +"nextLink": { +"description": "Link to next page for this AccountSummary collection.", +"type": "string" +}, +"previousLink": { +"description": "Link to previous page for this AccountSummary collection.", +"type": "string" +}, +"startIndex": { +"description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.", +"format": "int32", +"type": "integer" +}, +"totalResults": { +"description": "The total number of results for the query, regardless of the number of results in the response.", +"format": "int32", +"type": "integer" +}, +"username": { +"description": "Email ID of the authenticated user", +"type": "string" +} +}, +"type": "object" +}, +"AccountSummary": { +"description": "JSON template for an Analytics AccountSummary. An AccountSummary is a lightweight tree comprised of properties/profiles.", +"id": "AccountSummary", +"properties": { +"id": { +"description": "Account ID.", +"type": "string" +}, +"kind": { +"default": "analytics#accountSummary", +"description": "Resource type for Analytics AccountSummary.", +"type": "string" +}, +"name": { +"description": "Account name.", +"type": "string" +}, +"starred": { +"description": "Indicates whether this account is starred or not.", +"type": "boolean" +}, +"webProperties": { +"description": "List of web properties under this account.", +"items": { +"$ref": "WebPropertySummary" +}, +"type": "array" +} +}, +"type": "object" +}, +"AccountTicket": { +"description": "JSON template for an Analytics account ticket. The account ticket consists of the ticket ID and the basic information for the account, property and profile.", +"id": "AccountTicket", +"properties": { +"account": { +"$ref": "Account", +"description": "Account for this ticket." +}, +"id": { +"description": "Account ticket ID used to access the account ticket.", +"type": "string" +}, +"kind": { +"default": "analytics#accountTicket", +"description": "Resource type for account ticket.", +"type": "string" +}, +"profile": { +"$ref": "Profile", +"description": "View (Profile) for the account." +}, +"redirectUri": { +"description": "Redirect URI where the user will be sent after accepting Terms of Service. Must be configured in APIs console as a callback URL.", +"type": "string" +}, +"webproperty": { +"$ref": "Webproperty", +"description": "Web property for the account." +} +}, +"type": "object" +}, +"AccountTreeRequest": { +"description": "JSON template for an Analytics account tree requests. The account tree request is used in the provisioning api to create an account, property, and view (profile). It contains the basic information required to make these fields.", +"id": "AccountTreeRequest", +"properties": { +"accountName": { +"annotations": { +"required": [ +"analytics.provisioning.createAccountTree" +] +}, +"type": "string" +}, +"kind": { +"default": "analytics#accountTreeRequest", +"description": "Resource type for account ticket.", +"type": "string" +}, +"profileName": { +"annotations": { +"required": [ +"analytics.provisioning.createAccountTree" +] +}, +"type": "string" +}, +"timezone": { +"annotations": { +"required": [ +"analytics.provisioning.createAccountTree" +] +}, +"type": "string" +}, +"webpropertyName": { +"annotations": { +"required": [ +"analytics.provisioning.createAccountTree" +] +}, +"type": "string" +}, +"websiteUrl": { +"annotations": { +"required": [ +"analytics.provisioning.createAccountTree" +] +}, +"type": "string" +} +}, +"type": "object" +}, +"AccountTreeResponse": { +"description": "JSON template for an Analytics account tree response. The account tree response is used in the provisioning api to return the result of creating an account, property, and view (profile).", +"id": "AccountTreeResponse", +"properties": { +"account": { +"$ref": "Account", +"description": "The account created." +}, +"kind": { +"default": "analytics#accountTreeResponse", +"description": "Resource type for account ticket.", +"type": "string" +}, +"profile": { +"$ref": "Profile", +"description": "View (Profile) for the account." +}, +"webproperty": { +"$ref": "Webproperty", +"description": "Web property for the account." +} +}, +"type": "object" +}, +"Accounts": { +"description": "An account collection provides a list of Analytics accounts to which a user has access. The account collection is the entry point to all management information. Each resource in the collection corresponds to a single Analytics account.", +"id": "Accounts", +"properties": { +"items": { +"description": "A list of accounts.", +"items": { +"$ref": "Account" +}, +"type": "array" +}, +"itemsPerPage": { +"description": "The maximum number of entries the response can contain, regardless of the actual number of entries returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", +"format": "int32", +"type": "integer" +}, +"kind": { +"default": "analytics#accounts", +"description": "Collection type.", +"type": "string" +}, +"nextLink": { +"description": "Next link for this account collection.", +"type": "string" +}, +"previousLink": { +"description": "Previous link for this account collection.", +"type": "string" +}, +"startIndex": { +"description": "The starting index of the entries, which is 1 by default or otherwise specified by the start-index query parameter.", +"format": "int32", +"type": "integer" +}, +"totalResults": { +"description": "The total number of results for the query, regardless of the number of results in the response.", +"format": "int32", +"type": "integer" +}, +"username": { +"description": "Email ID of the authenticated user", +"type": "string" +} +}, +"type": "object" +}, +"AdWordsAccount": { +"description": "JSON template for an Google Ads account.", +"id": "AdWordsAccount", +"properties": { +"autoTaggingEnabled": { +"description": "True if auto-tagging is enabled on the Google Ads account. Read-only after the insert operation.", +"type": "boolean" +}, +"customerId": { +"annotations": { +"required": [ +"analytics.management.webPropertyAdWordsLinks.insert", +"analytics.management.webPropertyAdWordsLinks.update" +] +}, +"description": "Customer ID. This field is required when creating a Google Ads link.", +"type": "string" +}, +"kind": { +"default": "analytics#adWordsAccount", +"description": "Resource type for Google Ads account.", +"type": "string" +} +}, +"type": "object" +}, +"AnalyticsDataimportDeleteUploadDataRequest": { +"description": "Request template for the delete upload data request.", +"id": "AnalyticsDataimportDeleteUploadDataRequest", +"properties": { +"customDataImportUids": { +"description": "A list of upload UIDs.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Column": { +"description": "JSON template for a metadata column.", +"id": "Column", +"properties": { +"attributes": { +"additionalProperties": { +"description": "The name of the attribute.", +"type": "string" +}, +"description": "Map of attribute name and value for this column.", +"type": "object" +}, +"id": { +"description": "Column id.", +"type": "string" +}, +"kind": { +"default": "analytics#column", +"description": "Resource type for Analytics column.", +"type": "string" +} +}, +"type": "object" +}, +"Columns": { +"description": "Lists columns (dimensions and metrics) for a particular report type.", +"id": "Columns", +"properties": { +"attributeNames": { +"description": "List of attributes names returned by columns.", +"items": { +"type": "string" +}, +"type": "array" +}, +"etag": { +"description": "Etag of collection. This etag can be compared with the last response etag to check if response has changed.", +"type": "string" +}, +"items": { +"description": "List of columns for a report type.", +"items": { +"$ref": "Column" +}, +"type": "array" +}, +"kind": { +"default": "analytics#columns", +"description": "Collection type.", +"type": "string" +}, +"totalResults": { +"description": "Total number of columns returned in the response.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"CustomDataSource": { +"description": "JSON template for an Analytics custom data source.", +"id": "CustomDataSource", +"properties": { +"accountId": { +"description": "Account ID to which this custom data source belongs.", +"type": "string" +}, +"childLink": { +"properties": { +"href": { +"description": "Link to the list of daily uploads for this custom data source. Link to the list of uploads for this custom data source.", +"type": "string" +}, +"type": { +"description": "Value is \"analytics#dailyUploads\". Value is \"analytics#uploads\".", +"type": "string" +} +}, +"type": "object" +}, +"created": { +"description": "Time this custom data source was created.", +"format": "date-time", +"type": "string" +}, +"description": { +"description": "Description of custom data source.", +"type": "string" +}, +"id": { +"description": "Custom data source ID.", +"type": "string" +}, +"importBehavior": { +"type": "string" +}, +"kind": { +"default": "analytics#customDataSource", +"description": "Resource type for Analytics custom data source.", +"type": "string" +}, +"name": { +"description": "Name of this custom data source.", +"type": "string" +}, +"parentLink": { +"description": "Parent link for this custom data source. Points to the web property to which this custom data source belongs.", +"properties": { +"href": { +"description": "Link to the web property to which this custom data source belongs.", +"type": "string" +}, +"type": { +"default": "analytics#webproperty", +"description": "Value is \"analytics#webproperty\".", +"type": "string" +} +}, +"type": "object" +}, +"profilesLinked": { +"description": "IDs of views (profiles) linked to the custom data source.", +"items": { +"type": "string" +}, +"type": "array" +}, +"schema": { +"description": "Collection of schema headers of the custom data source.", +"items": { +"type": "string" +}, +"type": "array" +}, +"selfLink": { +"description": "Link for this Analytics custom data source.", +"type": "string" +}, +"type": { +"description": "Type of the custom data source.", +"type": "string" +}, +"updated": { +"description": "Time this custom data source was last modified.", +"format": "date-time", +"type": "string" +}, +"uploadType": { +"description": "Upload type of the custom data source.", +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID of the form UA-XXXXX-YY to which this custom data source belongs.", +"type": "string" +} +}, +"type": "object" +}, +"CustomDataSources": { +"description": "Lists Analytics custom data sources to which the user has access. Each resource in the collection corresponds to a single Analytics custom data source.", +"id": "CustomDataSources", +"properties": { +"items": { +"description": "Collection of custom data sources.", +"items": { +"$ref": "CustomDataSource" +}, +"type": "array" +}, +"itemsPerPage": { +"description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", +"format": "int32", +"type": "integer" +}, +"kind": { +"default": "analytics#customDataSources", +"description": "Collection type.", +"type": "string" +}, +"nextLink": { +"description": "Link to next page for this custom data source collection.", +"type": "string" +}, +"previousLink": { +"description": "Link to previous page for this custom data source collection.", +"type": "string" +}, +"startIndex": { +"description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.", +"format": "int32", +"type": "integer" +}, +"totalResults": { +"description": "The total number of results for the query, regardless of the number of results in the response.", +"format": "int32", +"type": "integer" +}, +"username": { +"description": "Email ID of the authenticated user", +"type": "string" +} +}, +"type": "object" +}, +"CustomDimension": { +"description": "JSON template for Analytics Custom Dimension.", +"id": "CustomDimension", +"properties": { +"accountId": { +"description": "Account ID.", +"type": "string" +}, +"active": { +"description": "Boolean indicating whether the custom dimension is active.", +"type": "boolean" +}, +"created": { +"description": "Time the custom dimension was created.", +"format": "date-time", +"readOnly": true, +"type": "string" +}, +"id": { +"description": "Custom dimension ID.", +"type": "string" +}, +"index": { +"description": "Index of the custom dimension.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"kind": { +"default": "analytics#customDimension", +"description": "Kind value for a custom dimension. Set to \"analytics#customDimension\". It is a read-only field.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Name of the custom dimension.", +"type": "string" +}, +"parentLink": { +"description": "Parent link for the custom dimension. Points to the property to which the custom dimension belongs.", +"properties": { +"href": { +"description": "Link to the property to which the custom dimension belongs.", +"type": "string" +}, +"type": { +"default": "analytics#webproperty", +"description": "Type of the parent link. Set to \"analytics#webproperty\".", +"type": "string" +} +}, +"type": "object" +}, +"scope": { +"description": "Scope of the custom dimension: HIT, SESSION, USER or PRODUCT.", +"type": "string" +}, +"selfLink": { +"description": "Link for the custom dimension", +"readOnly": true, +"type": "string" +}, +"updated": { +"description": "Time the custom dimension was last modified.", +"format": "date-time", +"readOnly": true, +"type": "string" +}, +"webPropertyId": { +"description": "Property ID.", +"type": "string" +} +}, +"type": "object" +}, +"CustomDimensions": { +"description": "A custom dimension collection lists Analytics custom dimensions to which the user has access. Each resource in the collection corresponds to a single Analytics custom dimension.", +"id": "CustomDimensions", +"properties": { +"items": { +"description": "Collection of custom dimensions.", +"items": { +"$ref": "CustomDimension" +}, +"type": "array" +}, +"itemsPerPage": { +"description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", +"format": "int32", +"type": "integer" +}, +"kind": { +"default": "analytics#customDimensions", +"description": "Collection type.", +"type": "string" +}, +"nextLink": { +"description": "Link to next page for this custom dimension collection.", +"type": "string" +}, +"previousLink": { +"description": "Link to previous page for this custom dimension collection.", +"type": "string" +}, +"startIndex": { +"description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.", +"format": "int32", +"type": "integer" +}, +"totalResults": { +"description": "The total number of results for the query, regardless of the number of results in the response.", +"format": "int32", +"type": "integer" +}, +"username": { +"description": "Email ID of the authenticated user", +"type": "string" +} +}, +"type": "object" +}, +"CustomMetric": { +"description": "JSON template for Analytics Custom Metric.", +"id": "CustomMetric", +"properties": { +"accountId": { +"description": "Account ID.", +"type": "string" +}, +"active": { +"description": "Boolean indicating whether the custom metric is active.", +"type": "boolean" +}, +"created": { +"description": "Time the custom metric was created.", +"format": "date-time", +"readOnly": true, +"type": "string" +}, +"id": { +"description": "Custom metric ID.", +"type": "string" +}, +"index": { +"description": "Index of the custom metric.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"kind": { +"default": "analytics#customMetric", +"description": "Kind value for a custom metric. Set to \"analytics#customMetric\". It is a read-only field.", +"readOnly": true, +"type": "string" +}, +"max_value": { +"description": "Max value of custom metric.", +"type": "string" +}, +"min_value": { +"description": "Min value of custom metric.", +"type": "string" +}, +"name": { +"description": "Name of the custom metric.", +"type": "string" +}, +"parentLink": { +"description": "Parent link for the custom metric. Points to the property to which the custom metric belongs.", +"properties": { +"href": { +"description": "Link to the property to which the custom metric belongs.", +"type": "string" +}, +"type": { +"default": "analytics#webproperty", +"description": "Type of the parent link. Set to \"analytics#webproperty\".", +"type": "string" +} +}, +"type": "object" +}, +"scope": { +"description": "Scope of the custom metric: HIT or PRODUCT.", +"type": "string" +}, +"selfLink": { +"description": "Link for the custom metric", +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Data type of custom metric.", +"type": "string" +}, +"updated": { +"description": "Time the custom metric was last modified.", +"format": "date-time", +"readOnly": true, +"type": "string" +}, +"webPropertyId": { +"description": "Property ID.", +"type": "string" +} +}, +"type": "object" +}, +"CustomMetrics": { +"description": "A custom metric collection lists Analytics custom metrics to which the user has access. Each resource in the collection corresponds to a single Analytics custom metric.", +"id": "CustomMetrics", +"properties": { +"items": { +"description": "Collection of custom metrics.", +"items": { +"$ref": "CustomMetric" +}, +"type": "array" +}, +"itemsPerPage": { +"description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", +"format": "int32", +"type": "integer" +}, +"kind": { +"default": "analytics#customMetrics", +"description": "Collection type.", +"type": "string" +}, +"nextLink": { +"description": "Link to next page for this custom metric collection.", +"type": "string" +}, +"previousLink": { +"description": "Link to previous page for this custom metric collection.", +"type": "string" +}, +"startIndex": { +"description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.", +"format": "int32", +"type": "integer" +}, +"totalResults": { +"description": "The total number of results for the query, regardless of the number of results in the response.", +"format": "int32", +"type": "integer" +}, +"username": { +"description": "Email ID of the authenticated user", +"type": "string" +} +}, +"type": "object" +}, +"EntityAdWordsLink": { +"description": "JSON template for Analytics Entity Google Ads Link.", +"id": "EntityAdWordsLink", +"properties": { +"adWordsAccounts": { +"annotations": { +"required": [ +"analytics.management.webPropertyAdWordsLinks.insert", +"analytics.management.webPropertyAdWordsLinks.update" +] +}, +"description": "A list of Google Ads client accounts. These cannot be MCC accounts. This field is required when creating a Google Ads link. It cannot be empty.", +"items": { +"$ref": "AdWordsAccount" +}, +"type": "array" +}, +"entity": { +"description": "Web property being linked.", +"properties": { +"webPropertyRef": { +"$ref": "WebPropertyRef" +} +}, +"type": "object" +}, +"id": { +"description": "Entity Google Ads link ID", +"type": "string" +}, +"kind": { +"default": "analytics#entityAdWordsLink", +"description": "Resource type for entity Google Ads link.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"analytics.management.webPropertyAdWordsLinks.insert", +"analytics.management.webPropertyAdWordsLinks.update" +] +}, +"description": "Name of the link. This field is required when creating a Google Ads link.", +"type": "string" +}, +"profileIds": { +"description": "IDs of linked Views (Profiles) represented as strings.", +"items": { +"type": "string" +}, +"type": "array" +}, +"selfLink": { +"description": "URL link for this Google Analytics - Google Ads link.", +"type": "string" +} +}, +"type": "object" +}, +"EntityAdWordsLinks": { +"description": "An entity Google Ads link collection provides a list of GA-Google Ads links Each resource in this collection corresponds to a single link.", +"id": "EntityAdWordsLinks", +"properties": { +"items": { +"description": "A list of entity Google Ads links.", +"items": { +"$ref": "EntityAdWordsLink" +}, +"type": "array" +}, +"itemsPerPage": { +"description": "The maximum number of entries the response can contain, regardless of the actual number of entries returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", +"format": "int32", +"type": "integer" +}, +"kind": { +"default": "analytics#entityAdWordsLinks", +"description": "Collection type.", +"type": "string" +}, +"nextLink": { +"description": "Next link for this Google Ads link collection.", +"type": "string" +}, +"previousLink": { +"description": "Previous link for this Google Ads link collection.", +"type": "string" +}, +"startIndex": { +"description": "The starting index of the entries, which is 1 by default or otherwise specified by the start-index query parameter.", +"format": "int32", +"type": "integer" +}, +"totalResults": { +"description": "The total number of results for the query, regardless of the number of results in the response.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"EntityUserLink": { +"description": "JSON template for an Analytics Entity-User Link. Returns permissions that a user has for an entity.", +"id": "EntityUserLink", +"properties": { +"entity": { +"description": "Entity for this link. It can be an account, a web property, or a view (profile).", +"properties": { +"accountRef": { +"$ref": "AccountRef", +"description": "Account for this link." +}, +"profileRef": { +"$ref": "ProfileRef", +"description": "View (Profile) for this link." +}, +"webPropertyRef": { +"$ref": "WebPropertyRef", +"description": "Web property for this link." +} +}, +"type": "object" +}, +"id": { +"description": "Entity user link ID", +"type": "string" +}, +"kind": { +"default": "analytics#entityUserLink", +"description": "Resource type for entity user link.", +"type": "string" +}, +"permissions": { +"description": "Permissions the user has for this entity.", +"properties": { +"effective": { +"description": "Effective permissions represent all the permissions that a user has for this entity. These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent entity. Effective permissions are read-only.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"local": { +"description": "Permissions that a user has been assigned at this very level. Does not include any implied or inherited permissions. Local permissions are modifiable.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"selfLink": { +"description": "Self link for this resource.", +"type": "string" +}, +"userRef": { +"$ref": "UserRef", +"description": "User reference." +} +}, +"type": "object" +}, +"EntityUserLinks": { +"description": "An entity user link collection provides a list of Analytics ACL links Each resource in this collection corresponds to a single link.", +"id": "EntityUserLinks", +"properties": { +"items": { +"description": "A list of entity user links.", +"items": { +"$ref": "EntityUserLink" +}, +"type": "array" +}, +"itemsPerPage": { +"description": "The maximum number of entries the response can contain, regardless of the actual number of entries returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", +"format": "int32", +"type": "integer" +}, +"kind": { +"default": "analytics#entityUserLinks", +"description": "Collection type.", +"type": "string" +}, +"nextLink": { +"description": "Next link for this account collection.", +"type": "string" +}, +"previousLink": { +"description": "Previous link for this account collection.", +"type": "string" +}, +"startIndex": { +"description": "The starting index of the entries, which is 1 by default or otherwise specified by the start-index query parameter.", +"format": "int32", +"type": "integer" +}, +"totalResults": { +"description": "The total number of results for the query, regardless of the number of results in the response.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Experiment": { +"description": "JSON template for Analytics experiment resource.", +"id": "Experiment", +"properties": { +"accountId": { +"description": "Account ID to which this experiment belongs. This field is read-only.", +"type": "string" +}, +"created": { +"description": "Time the experiment was created. This field is read-only.", +"format": "date-time", +"type": "string" +}, +"description": { +"description": "Notes about this experiment.", +"type": "string" +}, +"editableInGaUi": { +"description": "If true, the end user will be able to edit the experiment via the Google Analytics user interface.", +"type": "boolean" +}, +"endTime": { +"description": "The ending time of the experiment (the time the status changed from RUNNING to ENDED). This field is present only if the experiment has ended. This field is read-only.", +"format": "date-time", +"type": "string" +}, +"equalWeighting": { +"description": "Boolean specifying whether to distribute traffic evenly across all variations. If the value is False, content experiments follows the default behavior of adjusting traffic dynamically based on variation performance. Optional -- defaults to False. This field may not be changed for an experiment whose status is ENDED.", +"type": "boolean" +}, +"id": { +"annotations": { +"required": [ +"analytics.management.experiments.patch", +"analytics.management.experiments.update" +] +}, +"description": "Experiment ID. Required for patch and update. Disallowed for create.", +"type": "string" +}, +"internalWebPropertyId": { +"description": "Internal ID for the web property to which this experiment belongs. This field is read-only.", +"type": "string" +}, +"kind": { +"default": "analytics#experiment", +"description": "Resource type for an Analytics experiment. This field is read-only.", +"type": "string" +}, +"minimumExperimentLengthInDays": { +"description": "An integer number in [3, 90]. Specifies the minimum length of the experiment. Can be changed for a running experiment. This field may not be changed for an experiments whose status is ENDED.", +"format": "int32", +"type": "integer" +}, +"name": { +"annotations": { +"required": [ +"analytics.management.experiments.insert", +"analytics.management.experiments.update" +] +}, +"description": "Experiment name. This field may not be changed for an experiment whose status is ENDED. This field is required when creating an experiment.", +"type": "string" +}, +"objectiveMetric": { +"description": "The metric that the experiment is optimizing. Valid values: \"ga:goal(n)Completions\", \"ga:adsenseAdsClicks\", \"ga:adsenseAdsViewed\", \"ga:adsenseRevenue\", \"ga:bounces\", \"ga:pageviews\", \"ga:sessionDuration\", \"ga:transactions\", \"ga:transactionRevenue\". This field is required if status is \"RUNNING\" and servingFramework is one of \"REDIRECT\" or \"API\".", +"type": "string" +}, +"optimizationType": { +"description": "Whether the objectiveMetric should be minimized or maximized. Possible values: \"MAXIMUM\", \"MINIMUM\". Optional--defaults to \"MAXIMUM\". Cannot be specified without objectiveMetric. Cannot be modified when status is \"RUNNING\" or \"ENDED\".", +"type": "string" +}, +"parentLink": { +"description": "Parent link for an experiment. Points to the view (profile) to which this experiment belongs.", +"properties": { +"href": { +"description": "Link to the view (profile) to which this experiment belongs. This field is read-only.", +"type": "string" +}, +"type": { +"default": "analytics#profile", +"description": "Value is \"analytics#profile\". This field is read-only.", +"type": "string" +} +}, +"type": "object" +}, +"profileId": { +"description": "View (Profile) ID to which this experiment belongs. This field is read-only.", +"type": "string" +}, +"reasonExperimentEnded": { +"description": "Why the experiment ended. Possible values: \"STOPPED_BY_USER\", \"WINNER_FOUND\", \"EXPERIMENT_EXPIRED\", \"ENDED_WITH_NO_WINNER\", \"GOAL_OBJECTIVE_CHANGED\". \"ENDED_WITH_NO_WINNER\" means that the experiment didn't expire but no winner was projected to be found. If the experiment status is changed via the API to ENDED this field is set to STOPPED_BY_USER. This field is read-only.", +"type": "string" +}, +"rewriteVariationUrlsAsOriginal": { +"description": "Boolean specifying whether variations URLS are rewritten to match those of the original. This field may not be changed for an experiments whose status is ENDED.", +"type": "boolean" +}, +"selfLink": { +"description": "Link for this experiment. This field is read-only.", +"type": "string" +}, +"servingFramework": { +"description": "The framework used to serve the experiment variations and evaluate the results. One of: \n- REDIRECT: Google Analytics redirects traffic to different variation pages, reports the chosen variation and evaluates the results.\n- API: Google Analytics chooses and reports the variation to serve and evaluates the results; the caller is responsible for serving the selected variation.\n- EXTERNAL: The variations will be served externally and the chosen variation reported to Google Analytics. The caller is responsible for serving the selected variation and evaluating the results.", +"type": "string" +}, +"snippet": { +"description": "The snippet of code to include on the control page(s). This field is read-only.", +"type": "string" +}, +"startTime": { +"description": "The starting time of the experiment (the time the status changed from READY_TO_RUN to RUNNING). This field is present only if the experiment has started. This field is read-only.", +"format": "date-time", +"type": "string" +}, +"status": { +"annotations": { +"required": [ +"analytics.management.experiments.insert", +"analytics.management.experiments.update" +] +}, +"description": "Experiment status. Possible values: \"DRAFT\", \"READY_TO_RUN\", \"RUNNING\", \"ENDED\". Experiments can be created in the \"DRAFT\", \"READY_TO_RUN\" or \"RUNNING\" state. This field is required when creating an experiment.", +"type": "string" +}, +"trafficCoverage": { +"description": "A floating-point number in (0, 1]. Specifies the fraction of the traffic that participates in the experiment. Can be changed for a running experiment. This field may not be changed for an experiments whose status is ENDED.", +"format": "double", +"type": "number" +}, +"updated": { +"description": "Time the experiment was last modified. This field is read-only.", +"format": "date-time", +"type": "string" +}, +"variations": { +"description": "Array of variations. The first variation in the array is the original. The number of variations may not change once an experiment is in the RUNNING state. At least two variations are required before status can be set to RUNNING.", +"items": { +"properties": { +"name": { +"annotations": { +"required": [ +"analytics.management.experiments.insert", +"analytics.management.experiments.update" +] +}, +"description": "The name of the variation. This field is required when creating an experiment. This field may not be changed for an experiment whose status is ENDED.", +"type": "string" +}, +"status": { +"description": "Status of the variation. Possible values: \"ACTIVE\", \"INACTIVE\". INACTIVE variations are not served. This field may not be changed for an experiment whose status is ENDED.", +"type": "string" +}, +"url": { +"description": "The URL of the variation. This field may not be changed for an experiment whose status is RUNNING or ENDED.", +"type": "string" +}, +"weight": { +"description": "Weight that this variation should receive. Only present if the experiment is running. This field is read-only.", +"format": "double", +"type": "number" +}, +"won": { +"description": "True if the experiment has ended and this variation performed (statistically) significantly better than the original. This field is read-only.", +"type": "boolean" +} +}, +"type": "object" +}, +"type": "array" +}, +"webPropertyId": { +"description": "Web property ID to which this experiment belongs. The web property ID is of the form UA-XXXXX-YY. This field is read-only.", +"type": "string" +}, +"winnerConfidenceLevel": { +"description": "A floating-point number in (0, 1). Specifies the necessary confidence level to choose a winner. This field may not be changed for an experiments whose status is ENDED.", +"format": "double", +"type": "number" +}, +"winnerFound": { +"description": "Boolean specifying whether a winner has been found for this experiment. This field is read-only.", +"type": "boolean" +} +}, +"type": "object" +}, +"Experiments": { +"description": "An experiment collection lists Analytics experiments to which the user has access. Each view (profile) can have a set of experiments. Each resource in the Experiment collection corresponds to a single Analytics experiment.", +"id": "Experiments", +"properties": { +"items": { +"description": "A list of experiments.", +"items": { +"$ref": "Experiment" +}, +"type": "array" +}, +"itemsPerPage": { +"description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", +"format": "int32", +"type": "integer" +}, +"kind": { +"default": "analytics#experiments", +"description": "Collection type.", +"type": "string" +}, +"nextLink": { +"description": "Link to next page for this experiment collection.", +"type": "string" +}, +"previousLink": { +"description": "Link to previous page for this experiment collection.", +"type": "string" +}, +"startIndex": { +"description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.", +"format": "int32", +"type": "integer" +}, +"totalResults": { +"description": "The total number of results for the query, regardless of the number of resources in the result.", +"format": "int32", +"type": "integer" +}, +"username": { +"description": "Email ID of the authenticated user", +"type": "string" +} +}, +"type": "object" +}, +"Filter": { +"description": "JSON template for an Analytics account filter.", +"id": "Filter", +"properties": { +"accountId": { +"description": "Account ID to which this filter belongs.", +"type": "string" +}, +"advancedDetails": { +"description": "Details for the filter of the type ADVANCED.", +"properties": { +"caseSensitive": { +"description": "Indicates if the filter expressions are case sensitive.", +"type": "boolean" +}, +"extractA": { +"description": "Expression to extract from field A.", +"type": "string" +}, +"extractB": { +"description": "Expression to extract from field B.", +"type": "string" +}, +"fieldA": { +"description": "Field A.", +"type": "string" +}, +"fieldAIndex": { +"description": "The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION.", +"format": "int32", +"type": "integer" +}, +"fieldARequired": { +"description": "Indicates if field A is required to match.", +"type": "boolean" +}, +"fieldB": { +"description": "Field B.", +"type": "string" +}, +"fieldBIndex": { +"description": "The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION.", +"format": "int32", +"type": "integer" +}, +"fieldBRequired": { +"description": "Indicates if field B is required to match.", +"type": "boolean" +}, +"outputConstructor": { +"description": "Expression used to construct the output value.", +"type": "string" +}, +"outputToField": { +"description": "Output field.", +"type": "string" +}, +"outputToFieldIndex": { +"description": "The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION.", +"format": "int32", +"type": "integer" +}, +"overrideOutputField": { +"description": "Indicates if the existing value of the output field, if any, should be overridden by the output expression.", +"type": "boolean" +} +}, +"type": "object" +}, +"created": { +"description": "Time this filter was created.", +"format": "date-time", +"readOnly": true, +"type": "string" +}, +"excludeDetails": { +"$ref": "FilterExpression", +"description": "Details for the filter of the type EXCLUDE." +}, +"id": { +"description": "Filter ID.", +"type": "string" +}, +"includeDetails": { +"$ref": "FilterExpression", +"description": "Details for the filter of the type INCLUDE." +}, +"kind": { +"default": "analytics#filter", +"description": "Resource type for Analytics filter.", +"readOnly": true, +"type": "string" +}, +"lowercaseDetails": { +"description": "Details for the filter of the type LOWER.", +"properties": { +"field": { +"description": "Field to use in the filter.", +"type": "string" +}, +"fieldIndex": { +"description": "The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"name": { +"annotations": { +"required": [ +"analytics.management.filters.insert", +"analytics.management.filters.update" +] +}, +"description": "Name of this filter.", +"type": "string" +}, +"parentLink": { +"description": "Parent link for this filter. Points to the account to which this filter belongs.", +"properties": { +"href": { +"description": "Link to the account to which this filter belongs.", +"type": "string" +}, +"type": { +"default": "analytics#account", +"description": "Value is \"analytics#account\".", +"type": "string" +} +}, +"type": "object" +}, +"searchAndReplaceDetails": { +"description": "Details for the filter of the type SEARCH_AND_REPLACE.", +"properties": { +"caseSensitive": { +"description": "Determines if the filter is case sensitive.", +"type": "boolean" +}, +"field": { +"description": "Field to use in the filter.", +"type": "string" +}, +"fieldIndex": { +"description": "The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION.", +"format": "int32", +"type": "integer" +}, +"replaceString": { +"description": "Term to replace the search term with.", +"type": "string" +}, +"searchString": { +"description": "Term to search.", +"type": "string" +} +}, +"type": "object" +}, +"selfLink": { +"description": "Link for this filter.", +"readOnly": true, +"type": "string" +}, +"type": { +"annotations": { +"required": [ +"analytics.management.filters.insert", +"analytics.management.filters.update" +] +}, +"description": "Type of this filter. Possible values are INCLUDE, EXCLUDE, LOWERCASE, UPPERCASE, SEARCH_AND_REPLACE and ADVANCED.", +"type": "string" +}, +"updated": { +"description": "Time this filter was last modified.", +"format": "date-time", +"readOnly": true, +"type": "string" +}, +"uppercaseDetails": { +"description": "Details for the filter of the type UPPER.", +"properties": { +"field": { +"description": "Field to use in the filter.", +"type": "string" +}, +"fieldIndex": { +"description": "The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"FilterExpression": { +"description": "JSON template for an Analytics filter expression.", +"id": "FilterExpression", +"properties": { +"caseSensitive": { +"description": "Determines if the filter is case sensitive.", +"type": "boolean" +}, +"expressionValue": { +"description": "Filter expression value", +"type": "string" +}, +"field": { +"description": "Field to filter. Possible values: \n- Content and Traffic \n- PAGE_REQUEST_URI, \n- PAGE_HOSTNAME, \n- PAGE_TITLE, \n- REFERRAL, \n- COST_DATA_URI (Campaign target URL), \n- HIT_TYPE, \n- INTERNAL_SEARCH_TERM, \n- INTERNAL_SEARCH_TYPE, \n- SOURCE_PROPERTY_TRACKING_ID, \n- Campaign or AdGroup \n- CAMPAIGN_SOURCE, \n- CAMPAIGN_MEDIUM, \n- CAMPAIGN_NAME, \n- CAMPAIGN_AD_GROUP, \n- CAMPAIGN_TERM, \n- CAMPAIGN_CONTENT, \n- CAMPAIGN_CODE, \n- CAMPAIGN_REFERRAL_PATH, \n- E-Commerce \n- TRANSACTION_COUNTRY, \n- TRANSACTION_REGION, \n- TRANSACTION_CITY, \n- TRANSACTION_AFFILIATION (Store or order location), \n- ITEM_NAME, \n- ITEM_CODE, \n- ITEM_VARIATION, \n- TRANSACTION_ID, \n- TRANSACTION_CURRENCY_CODE, \n- PRODUCT_ACTION_TYPE, \n- Audience/Users \n- BROWSER, \n- BROWSER_VERSION, \n- BROWSER_SIZE, \n- PLATFORM, \n- PLATFORM_VERSION, \n- LANGUAGE, \n- SCREEN_RESOLUTION, \n- SCREEN_COLORS, \n- JAVA_ENABLED (Boolean Field), \n- FLASH_VERSION, \n- GEO_SPEED (Connection speed), \n- VISITOR_TYPE, \n- GEO_ORGANIZATION (ISP organization), \n- GEO_DOMAIN, \n- GEO_IP_ADDRESS, \n- GEO_IP_VERSION, \n- Location \n- GEO_COUNTRY, \n- GEO_REGION, \n- GEO_CITY, \n- Event \n- EVENT_CATEGORY, \n- EVENT_ACTION, \n- EVENT_LABEL, \n- Other \n- CUSTOM_FIELD_1, \n- CUSTOM_FIELD_2, \n- USER_DEFINED_VALUE, \n- Application \n- APP_ID, \n- APP_INSTALLER_ID, \n- APP_NAME, \n- APP_VERSION, \n- SCREEN, \n- IS_APP (Boolean Field), \n- IS_FATAL_EXCEPTION (Boolean Field), \n- EXCEPTION_DESCRIPTION, \n- Mobile device \n- IS_MOBILE (Boolean Field, Deprecated. Use DEVICE_CATEGORY=mobile), \n- IS_TABLET (Boolean Field, Deprecated. Use DEVICE_CATEGORY=tablet), \n- DEVICE_CATEGORY, \n- MOBILE_HAS_QWERTY_KEYBOARD (Boolean Field), \n- MOBILE_HAS_NFC_SUPPORT (Boolean Field), \n- MOBILE_HAS_CELLULAR_RADIO (Boolean Field), \n- MOBILE_HAS_WIFI_SUPPORT (Boolean Field), \n- MOBILE_BRAND_NAME, \n- MOBILE_MODEL_NAME, \n- MOBILE_MARKETING_NAME, \n- MOBILE_POINTING_METHOD, \n- Social \n- SOCIAL_NETWORK, \n- SOCIAL_ACTION, \n- SOCIAL_ACTION_TARGET, \n- Custom dimension \n- CUSTOM_DIMENSION (See accompanying field index),", +"type": "string" +}, +"fieldIndex": { +"description": "The Index of the custom dimension. Set only if the field is a is CUSTOM_DIMENSION.", +"format": "int32", +"type": "integer" +}, +"kind": { +"default": "analytics#filterExpression", +"description": "Kind value for filter expression", +"type": "string" +}, +"matchType": { +"description": "Match type for this filter. Possible values are BEGINS_WITH, EQUAL, ENDS_WITH, CONTAINS, or MATCHES. GEO_DOMAIN, GEO_IP_ADDRESS, PAGE_REQUEST_URI, or PAGE_HOSTNAME filters can use any match type; all other filters must use MATCHES.", +"type": "string" +} +}, +"type": "object" +}, +"FilterRef": { +"description": "JSON template for a profile filter link.", +"id": "FilterRef", +"properties": { +"accountId": { +"description": "Account ID to which this filter belongs.", +"readOnly": true, +"type": "string" +}, +"href": { +"description": "Link for this filter.", +"type": "string" +}, +"id": { +"annotations": { +"required": [ +"analytics.management.profileFilterLinks.insert" +] +}, +"description": "Filter ID.", +"type": "string" +}, +"kind": { +"default": "analytics#filterRef", +"description": "Kind value for filter reference.", +"type": "string" +}, +"name": { +"description": "Name of this filter.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Filters": { +"description": "A filter collection lists filters created by users in an Analytics account. Each resource in the collection corresponds to a filter.", +"id": "Filters", +"properties": { +"items": { +"description": "A list of filters.", +"items": { +"$ref": "Filter" +}, +"type": "array" +}, +"itemsPerPage": { +"description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1,000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", +"format": "int32", +"type": "integer" +}, +"kind": { +"default": "analytics#filters", +"description": "Collection type.", +"type": "string" +}, +"nextLink": { +"description": "Link to next page for this filter collection.", +"type": "string" +}, +"previousLink": { +"description": "Link to previous page for this filter collection.", +"type": "string" +}, +"startIndex": { +"description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.", +"format": "int32", +"type": "integer" +}, +"totalResults": { +"description": "The total number of results for the query, regardless of the number of results in the response.", +"format": "int32", +"type": "integer" +}, +"username": { +"description": "Email ID of the authenticated user", +"type": "string" +} +}, +"type": "object" +}, +"GaData": { +"description": "Analytics data for a given view (profile).", +"id": "GaData", +"properties": { +"columnHeaders": { +"description": "Column headers that list dimension names followed by the metric names. The order of dimensions and metrics is same as specified in the request.", +"items": { +"properties": { +"columnType": { +"description": "Column Type. Either DIMENSION or METRIC.", +"type": "string" +}, +"dataType": { +"description": "Data type. Dimension column headers have only STRING as the data type. Metric column headers have data types for metric values such as INTEGER, DOUBLE, CURRENCY etc.", +"type": "string" +}, +"name": { +"description": "Column name.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"containsSampledData": { +"description": "Determines if Analytics data contains samples.", +"type": "boolean" +}, +"dataLastRefreshed": { +"description": "The last refreshed time in seconds for Analytics data.", +"format": "int64", +"type": "string" +}, +"dataTable": { +"properties": { +"cols": { +"items": { +"properties": { +"id": { +"type": "string" +}, +"label": { +"type": "string" +}, +"type": { +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"rows": { +"items": { +"properties": { +"c": { +"items": { +"properties": { +"v": { +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"id": { +"description": "Unique ID for this data response.", +"type": "string" +}, +"itemsPerPage": { +"description": "The maximum number of rows the response can contain, regardless of the actual number of rows returned. Its value ranges from 1 to 10,000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", +"format": "int32", +"type": "integer" +}, +"kind": { +"default": "analytics#gaData", +"description": "Resource type.", +"type": "string" +}, +"nextLink": { +"description": "Link to next page for this Analytics data query.", +"type": "string" +}, +"previousLink": { +"description": "Link to previous page for this Analytics data query.", +"type": "string" +}, +"profileInfo": { +"description": "Information for the view (profile), for which the Analytics data was requested.", +"properties": { +"accountId": { +"description": "Account ID to which this view (profile) belongs.", +"type": "string" +}, +"internalWebPropertyId": { +"description": "Internal ID for the web property to which this view (profile) belongs.", +"type": "string" +}, +"profileId": { +"description": "View (Profile) ID.", +"type": "string" +}, +"profileName": { +"description": "View (Profile) name.", +"type": "string" +}, +"tableId": { +"description": "Table ID for view (profile).", +"type": "string" +}, +"webPropertyId": { +"description": "Web Property ID to which this view (profile) belongs.", +"type": "string" +} +}, +"type": "object" +}, +"query": { +"description": "Analytics data request query parameters.", +"properties": { +"dimensions": { +"description": "List of analytics dimensions.", +"type": "string" +}, +"end-date": { +"description": "End date.", +"type": "string" +}, +"filters": { +"description": "Comma-separated list of dimension or metric filters.", +"type": "string" +}, +"ids": { +"description": "Unique table ID.", +"type": "string" +}, +"max-results": { +"description": "Maximum results per page.", +"format": "int32", +"type": "integer" +}, +"metrics": { +"description": "List of analytics metrics.", +"items": { +"type": "string" +}, +"type": "array" +}, +"samplingLevel": { +"description": "Desired sampling level", +"type": "string" +}, +"segment": { +"description": "Analytics advanced segment.", +"type": "string" +}, +"sort": { +"description": "List of dimensions or metrics based on which Analytics data is sorted.", +"items": { +"type": "string" +}, +"type": "array" +}, +"start-date": { +"description": "Start date.", +"type": "string" +}, +"start-index": { +"description": "Start index.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"rows": { +"description": "Analytics data rows, where each row contains a list of dimension values followed by the metric values. The order of dimensions and metrics is same as specified in the request.", +"items": { +"items": { +"type": "string" +}, +"type": "array" +}, +"type": "array" +}, +"sampleSize": { +"description": "The number of samples used to calculate the result.", +"format": "int64", +"type": "string" +}, +"sampleSpace": { +"description": "Total size of the sample space from which the samples were selected.", +"format": "int64", +"type": "string" +}, +"selfLink": { +"description": "Link to this page.", +"type": "string" +}, +"totalResults": { +"description": "The total number of rows for the query, regardless of the number of rows in the response.", +"format": "int32", +"type": "integer" +}, +"totalsForAllResults": { +"additionalProperties": { +"description": "Key-value pair for the total value of a metric. Key is the metric name and the value is the total value for that metric.", +"type": "string" +}, +"description": "Total values for the requested metrics over all the results, not just the results returned in this response. The order of the metric totals is same as the metric order specified in the request.", +"type": "object" +} +}, +"type": "object" +}, +"Goal": { +"description": "JSON template for Analytics goal resource.", +"id": "Goal", +"properties": { +"accountId": { +"description": "Account ID to which this goal belongs.", +"type": "string" +}, +"active": { +"description": "Determines whether this goal is active.", +"type": "boolean" +}, +"created": { +"description": "Time this goal was created.", +"format": "date-time", +"type": "string" +}, +"eventDetails": { +"description": "Details for the goal of the type EVENT.", +"properties": { +"eventConditions": { +"description": "List of event conditions.", +"items": { +"properties": { +"comparisonType": { +"description": "Type of comparison. Possible values are LESS_THAN, GREATER_THAN or EQUAL.", +"type": "string" +}, +"comparisonValue": { +"description": "Value used for this comparison.", +"format": "int64", +"type": "string" +}, +"expression": { +"description": "Expression used for this match.", +"type": "string" +}, +"matchType": { +"description": "Type of the match to be performed. Possible values are REGEXP, BEGINS_WITH, or EXACT.", +"type": "string" +}, +"type": { +"description": "Type of this event condition. Possible values are CATEGORY, ACTION, LABEL, or VALUE.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"useEventValue": { +"description": "Determines if the event value should be used as the value for this goal.", +"type": "boolean" +} +}, +"type": "object" +}, +"id": { +"description": "Goal ID.", +"type": "string" +}, +"internalWebPropertyId": { +"description": "Internal ID for the web property to which this goal belongs.", +"type": "string" +}, +"kind": { +"default": "analytics#goal", +"description": "Resource type for an Analytics goal.", +"type": "string" +}, +"name": { +"description": "Goal name.", +"type": "string" +}, +"parentLink": { +"description": "Parent link for a goal. Points to the view (profile) to which this goal belongs.", +"properties": { +"href": { +"description": "Link to the view (profile) to which this goal belongs.", +"type": "string" +}, +"type": { +"default": "analytics#profile", +"description": "Value is \"analytics#profile\".", +"type": "string" +} +}, +"type": "object" +}, +"profileId": { +"description": "View (Profile) ID to which this goal belongs.", +"type": "string" +}, +"selfLink": { +"description": "Link for this goal.", +"type": "string" +}, +"type": { +"description": "Goal type. Possible values are URL_DESTINATION, VISIT_TIME_ON_SITE, VISIT_NUM_PAGES, AND EVENT.", +"type": "string" +}, +"updated": { +"description": "Time this goal was last modified.", +"format": "date-time", +"type": "string" +}, +"urlDestinationDetails": { +"description": "Details for the goal of the type URL_DESTINATION.", +"properties": { +"caseSensitive": { +"description": "Determines if the goal URL must exactly match the capitalization of visited URLs.", +"type": "boolean" +}, +"firstStepRequired": { +"description": "Determines if the first step in this goal is required.", +"type": "boolean" +}, +"matchType": { +"description": "Match type for the goal URL. Possible values are HEAD, EXACT, or REGEX.", +"type": "string" +}, +"steps": { +"description": "List of steps configured for this goal funnel.", +"items": { +"properties": { +"name": { +"description": "Step name.", +"type": "string" +}, +"number": { +"description": "Step number.", +"format": "int32", +"type": "integer" +}, +"url": { +"description": "URL for this step.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"url": { +"description": "URL for this goal.", +"type": "string" +} +}, +"type": "object" +}, +"value": { +"description": "Goal value.", +"format": "float", +"type": "number" +}, +"visitNumPagesDetails": { +"description": "Details for the goal of the type VISIT_NUM_PAGES.", +"properties": { +"comparisonType": { +"description": "Type of comparison. Possible values are LESS_THAN, GREATER_THAN, or EQUAL.", +"type": "string" +}, +"comparisonValue": { +"description": "Value used for this comparison.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"visitTimeOnSiteDetails": { +"description": "Details for the goal of the type VISIT_TIME_ON_SITE.", +"properties": { +"comparisonType": { +"description": "Type of comparison. Possible values are LESS_THAN or GREATER_THAN.", +"type": "string" +}, +"comparisonValue": { +"description": "Value used for this comparison.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"webPropertyId": { +"description": "Web property ID to which this goal belongs. The web property ID is of the form UA-XXXXX-YY.", +"type": "string" +} +}, +"type": "object" +}, +"Goals": { +"description": "A goal collection lists Analytics goals to which the user has access. Each view (profile) can have a set of goals. Each resource in the Goal collection corresponds to a single Analytics goal.", +"id": "Goals", +"properties": { +"items": { +"description": "A list of goals.", +"items": { +"$ref": "Goal" +}, +"type": "array" +}, +"itemsPerPage": { +"description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", +"format": "int32", +"type": "integer" +}, +"kind": { +"default": "analytics#goals", +"description": "Collection type.", +"type": "string" +}, +"nextLink": { +"description": "Link to next page for this goal collection.", +"type": "string" +}, +"previousLink": { +"description": "Link to previous page for this goal collection.", +"type": "string" +}, +"startIndex": { +"description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.", +"format": "int32", +"type": "integer" +}, +"totalResults": { +"description": "The total number of results for the query, regardless of the number of resources in the result.", +"format": "int32", +"type": "integer" +}, +"username": { +"description": "Email ID of the authenticated user", +"type": "string" +} +}, +"type": "object" +}, +"HashClientIdRequest": { +"description": "JSON template for a hash Client Id request resource.", +"id": "HashClientIdRequest", +"properties": { +"clientId": { +"type": "string" +}, +"kind": { +"default": "analytics#hashClientIdRequest", +"type": "string" +}, +"webPropertyId": { +"type": "string" +} +}, +"type": "object" +}, +"HashClientIdResponse": { +"description": "JSON template for a hash Client Id response resource.", +"id": "HashClientIdResponse", +"properties": { +"clientId": { +"type": "string" +}, +"hashedClientId": { +"type": "string" +}, +"kind": { +"default": "analytics#hashClientIdResponse", +"type": "string" +}, +"webPropertyId": { +"type": "string" +} +}, +"type": "object" +}, +"IncludeConditions": { +"description": "JSON template for an Analytics Remarketing Include Conditions.", +"id": "IncludeConditions", +"properties": { +"daysToLookBack": { +"description": "The look-back window lets you specify a time frame for evaluating the behavior that qualifies users for your audience. For example, if your filters include users from Central Asia, and Transactions Greater than 2, and you set the look-back window to 14 days, then any user from Central Asia whose cumulative transactions exceed 2 during the last 14 days is added to the audience.", +"format": "int32", +"type": "integer" +}, +"isSmartList": { +"description": "Boolean indicating whether this segment is a smart list. https://support.google.com/analytics/answer/4628577", +"type": "boolean" +}, +"kind": { +"default": "analytics#includeConditions", +"description": "Resource type for include conditions.", +"type": "string" +}, +"membershipDurationDays": { +"description": "Number of days (in the range 1 to 540) a user remains in the audience.", +"format": "int32", +"type": "integer" +}, +"segment": { +"description": "The segment condition that will cause a user to be added to an audience.", +"type": "string" +} +}, +"type": "object" +}, +"LinkedForeignAccount": { +"description": "JSON template for an Analytics Remarketing Audience Foreign Link.", +"id": "LinkedForeignAccount", +"properties": { +"accountId": { +"description": "Account ID to which this linked foreign account belongs.", +"type": "string" +}, +"eligibleForSearch": { +"description": "Boolean indicating whether this is eligible for search.", +"readOnly": true, +"type": "boolean" +}, +"id": { +"description": "Entity ad account link ID.", +"type": "string" +}, +"internalWebPropertyId": { +"description": "Internal ID for the web property to which this linked foreign account belongs.", +"readOnly": true, +"type": "string" +}, +"kind": { +"default": "analytics#linkedForeignAccount", +"description": "Resource type for linked foreign account.", +"type": "string" +}, +"linkedAccountId": { +"description": "The foreign account ID. For example the an Google Ads `linkedAccountId` has the following format XXX-XXX-XXXX.", +"type": "string" +}, +"remarketingAudienceId": { +"description": "Remarketing audience ID to which this linked foreign account belongs.", +"type": "string" +}, +"status": { +"description": "The status of this foreign account link.", +"type": "string" +}, +"type": { +"description": "The type of the foreign account. For example, `ADWORDS_LINKS`, `DBM_LINKS`, `MCC_LINKS` or `OPTIMIZE`.", +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID of the form UA-XXXXX-YY to which this linked foreign account belongs.", +"type": "string" +} +}, +"type": "object" +}, +"McfData": { +"description": "Multi-Channel Funnels data for a given view (profile).", +"id": "McfData", +"properties": { +"columnHeaders": { +"description": "Column headers that list dimension names followed by the metric names. The order of dimensions and metrics is same as specified in the request.", +"items": { +"properties": { +"columnType": { +"description": "Column Type. Either DIMENSION or METRIC.", +"type": "string" +}, +"dataType": { +"description": "Data type. Dimension and metric values data types such as INTEGER, DOUBLE, CURRENCY, MCF_SEQUENCE etc.", +"type": "string" +}, +"name": { +"description": "Column name.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"containsSampledData": { +"description": "Determines if the Analytics data contains sampled data.", +"type": "boolean" +}, +"id": { +"description": "Unique ID for this data response.", +"type": "string" +}, +"itemsPerPage": { +"description": "The maximum number of rows the response can contain, regardless of the actual number of rows returned. Its value ranges from 1 to 10,000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", +"format": "int32", +"type": "integer" +}, +"kind": { +"default": "analytics#mcfData", +"description": "Resource type.", +"type": "string" +}, +"nextLink": { +"description": "Link to next page for this Analytics data query.", +"type": "string" +}, +"previousLink": { +"description": "Link to previous page for this Analytics data query.", +"type": "string" +}, +"profileInfo": { +"description": "Information for the view (profile), for which the Analytics data was requested.", +"properties": { +"accountId": { +"description": "Account ID to which this view (profile) belongs.", +"type": "string" +}, +"internalWebPropertyId": { +"description": "Internal ID for the web property to which this view (profile) belongs.", +"type": "string" +}, +"profileId": { +"description": "View (Profile) ID.", +"type": "string" +}, +"profileName": { +"description": "View (Profile) name.", +"type": "string" +}, +"tableId": { +"description": "Table ID for view (profile).", +"type": "string" +}, +"webPropertyId": { +"description": "Web Property ID to which this view (profile) belongs.", +"type": "string" +} +}, +"type": "object" +}, +"query": { +"description": "Analytics data request query parameters.", +"properties": { +"dimensions": { +"description": "List of analytics dimensions.", +"type": "string" +}, +"end-date": { +"description": "End date.", +"type": "string" +}, +"filters": { +"description": "Comma-separated list of dimension or metric filters.", +"type": "string" +}, +"ids": { +"description": "Unique table ID.", +"type": "string" +}, +"max-results": { +"description": "Maximum results per page.", +"format": "int32", +"type": "integer" +}, +"metrics": { +"description": "List of analytics metrics.", +"items": { +"type": "string" +}, +"type": "array" +}, +"samplingLevel": { +"description": "Desired sampling level", +"type": "string" +}, +"segment": { +"description": "Analytics advanced segment.", +"type": "string" +}, +"sort": { +"description": "List of dimensions or metrics based on which Analytics data is sorted.", +"items": { +"type": "string" +}, +"type": "array" +}, +"start-date": { +"description": "Start date.", +"type": "string" +}, +"start-index": { +"description": "Start index.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"rows": { +"description": "Analytics data rows, where each row contains a list of dimension values followed by the metric values. The order of dimensions and metrics is same as specified in the request.", +"items": { +"items": { +"description": "A union object representing a dimension or metric value. Only one of \"primitiveValue\" or \"conversionPathValue\" attribute will be populated.", +"properties": { +"conversionPathValue": { +"description": "A conversion path dimension value, containing a list of interactions with their attributes.", +"items": { +"properties": { +"interactionType": { +"description": "Type of an interaction on conversion path. Such as CLICK, IMPRESSION etc.", +"type": "string" +}, +"nodeValue": { +"description": "Node value of an interaction on conversion path. Such as source, medium etc.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"primitiveValue": { +"description": "A primitive dimension value. A primitive metric value.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"type": "array" +}, +"sampleSize": { +"description": "The number of samples used to calculate the result.", +"format": "int64", +"type": "string" +}, +"sampleSpace": { +"description": "Total size of the sample space from which the samples were selected.", +"format": "int64", +"type": "string" +}, +"selfLink": { +"description": "Link to this page.", +"type": "string" +}, +"totalResults": { +"description": "The total number of rows for the query, regardless of the number of rows in the response.", +"format": "int32", +"type": "integer" +}, +"totalsForAllResults": { +"additionalProperties": { +"description": "Key-value pair for the total value of a metric. Key is the metric name and the value is the total value for that metric.", +"type": "string" +}, +"description": "Total values for the requested metrics over all the results, not just the results returned in this response. The order of the metric totals is same as the metric order specified in the request.", +"type": "object" +} +}, +"type": "object" +}, +"Profile": { +"description": "JSON template for an Analytics view (profile).", +"id": "Profile", +"properties": { +"accountId": { +"description": "Account ID to which this view (profile) belongs.", +"type": "string" +}, +"botFilteringEnabled": { +"description": "Indicates whether bot filtering is enabled for this view (profile).", +"type": "boolean" +}, +"childLink": { +"description": "Child link for this view (profile). Points to the list of goals for this view (profile).", +"properties": { +"href": { +"description": "Link to the list of goals for this view (profile).", +"type": "string" +}, +"type": { +"default": "analytics#goals", +"description": "Value is \"analytics#goals\".", +"type": "string" +} +}, +"type": "object" +}, +"created": { +"description": "Time this view (profile) was created.", +"format": "date-time", +"readOnly": true, +"type": "string" +}, +"currency": { +"description": "The currency type associated with this view (profile), defaults to USD. The supported values are:\nUSD, JPY, EUR, GBP, AUD, KRW, BRL, CNY, DKK, RUB, SEK, NOK, PLN, TRY, TWD, HKD, THB, IDR, ARS, MXN, VND, PHP, INR, CHF, CAD, CZK, NZD, HUF, BGN, LTL, ZAR, UAH, AED, BOB, CLP, COP, EGP, HRK, ILS, MAD, MYR, PEN, PKR, RON, RSD, SAR, SGD, VEF, LVL", +"type": "string" +}, +"defaultPage": { +"description": "Default page for this view (profile).", +"type": "string" +}, +"eCommerceTracking": { +"description": "Indicates whether ecommerce tracking is enabled for this view (profile).", +"type": "boolean" +}, +"enhancedECommerceTracking": { +"description": "Indicates whether enhanced ecommerce tracking is enabled for this view (profile). This property can only be enabled if ecommerce tracking is enabled.", +"type": "boolean" +}, +"excludeQueryParameters": { +"description": "The query parameters that are excluded from this view (profile).", +"type": "string" +}, +"id": { +"description": "View (Profile) ID.", +"type": "string" +}, +"internalWebPropertyId": { +"description": "Internal ID for the web property to which this view (profile) belongs.", +"readOnly": true, +"type": "string" +}, +"kind": { +"default": "analytics#profile", +"description": "Resource type for Analytics view (profile).", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Name of this view (profile).", +"type": "string" +}, +"parentLink": { +"description": "Parent link for this view (profile). Points to the web property to which this view (profile) belongs.", +"properties": { +"href": { +"description": "Link to the web property to which this view (profile) belongs.", +"type": "string" +}, +"type": { +"default": "analytics#webproperty", +"description": "Value is \"analytics#webproperty\".", +"type": "string" +} +}, +"type": "object" +}, +"permissions": { +"description": "Permissions the user has for this view (profile).", +"properties": { +"effective": { +"description": "All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"selfLink": { +"description": "Link for this view (profile).", +"readOnly": true, +"type": "string" +}, +"siteSearchCategoryParameters": { +"description": "Site search category parameters for this view (profile).", +"type": "string" +}, +"siteSearchQueryParameters": { +"description": "The site search query parameters for this view (profile).", +"type": "string" +}, +"starred": { +"description": "Indicates whether this view (profile) is starred or not.", +"type": "boolean" +}, +"stripSiteSearchCategoryParameters": { +"description": "Whether or not Analytics will strip search category parameters from the URLs in your reports.", +"type": "boolean" +}, +"stripSiteSearchQueryParameters": { +"description": "Whether or not Analytics will strip search query parameters from the URLs in your reports.", +"type": "boolean" +}, +"timezone": { +"description": "Time zone for which this view (profile) has been configured. Time zones are identified by strings from the TZ database.", +"type": "string" +}, +"type": { +"description": "View (Profile) type. Supported types: WEB or APP.", +"type": "string" +}, +"updated": { +"description": "Time this view (profile) was last modified.", +"format": "date-time", +"readOnly": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs.", +"readOnly": true, +"type": "string" +}, +"websiteUrl": { +"description": "Website URL for this view (profile).", +"type": "string" +} +}, +"type": "object" +}, +"ProfileFilterLink": { +"description": "JSON template for an Analytics profile filter link.", +"id": "ProfileFilterLink", +"properties": { +"filterRef": { +"$ref": "FilterRef", +"description": "Filter for this link." +}, +"id": { +"description": "Profile filter link ID.", +"type": "string" +}, +"kind": { +"default": "analytics#profileFilterLink", +"description": "Resource type for Analytics filter.", +"readOnly": true, +"type": "string" +}, +"profileRef": { +"$ref": "ProfileRef", +"description": "View (Profile) for this link." +}, +"rank": { +"description": "The rank of this profile filter link relative to the other filters linked to the same profile.\nFor readonly (i.e., list and get) operations, the rank always starts at 1.\nFor write (i.e., create, update, or delete) operations, you may specify a value between 0 and 255 inclusively, [0, 255]. In order to insert a link at the end of the list, either don't specify a rank or set a rank to a number greater than the largest rank in the list. In order to insert a link to the beginning of the list specify a rank that is less than or equal to 1. The new link will move all existing filters with the same or lower rank down the list. After the link is inserted/updated/deleted all profile filter links will be renumbered starting at 1.", +"format": "int32", +"type": "integer" +}, +"selfLink": { +"description": "Link for this profile filter link.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ProfileFilterLinks": { +"description": "A profile filter link collection lists profile filter links between profiles and filters. Each resource in the collection corresponds to a profile filter link.", +"id": "ProfileFilterLinks", +"properties": { +"items": { +"description": "A list of profile filter links.", +"items": { +"$ref": "ProfileFilterLink" +}, +"type": "array" +}, +"itemsPerPage": { +"description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1,000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", +"format": "int32", +"type": "integer" +}, +"kind": { +"default": "analytics#profileFilterLinks", +"description": "Collection type.", +"type": "string" +}, +"nextLink": { +"description": "Link to next page for this profile filter link collection.", +"type": "string" +}, +"previousLink": { +"description": "Link to previous page for this profile filter link collection.", +"type": "string" +}, +"startIndex": { +"description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.", +"format": "int32", +"type": "integer" +}, +"totalResults": { +"description": "The total number of results for the query, regardless of the number of results in the response.", +"format": "int32", +"type": "integer" +}, +"username": { +"description": "Email ID of the authenticated user", +"type": "string" +} +}, +"type": "object" +}, +"ProfileRef": { +"description": "JSON template for a linked view (profile).", +"id": "ProfileRef", +"properties": { +"accountId": { +"description": "Account ID to which this view (profile) belongs.", +"type": "string" +}, +"href": { +"description": "Link for this view (profile).", +"type": "string" +}, +"id": { +"description": "View (Profile) ID.", +"type": "string" +}, +"internalWebPropertyId": { +"description": "Internal ID for the web property to which this view (profile) belongs.", +"type": "string" +}, +"kind": { +"default": "analytics#profileRef", +"description": "Analytics view (profile) reference.", +"type": "string" +}, +"name": { +"description": "Name of this view (profile).", +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs.", +"type": "string" +} +}, +"type": "object" +}, +"ProfileSummary": { +"description": "JSON template for an Analytics ProfileSummary. ProfileSummary returns basic information (i.e., summary) for a profile.", +"id": "ProfileSummary", +"properties": { +"id": { +"description": "View (profile) ID.", +"type": "string" +}, +"kind": { +"default": "analytics#profileSummary", +"description": "Resource type for Analytics ProfileSummary.", +"type": "string" +}, +"name": { +"description": "View (profile) name.", +"type": "string" +}, +"starred": { +"description": "Indicates whether this view (profile) is starred or not.", +"type": "boolean" +}, +"type": { +"description": "View (Profile) type. Supported types: WEB or APP.", +"type": "string" +} +}, +"type": "object" +}, +"Profiles": { +"description": "A view (profile) collection lists Analytics views (profiles) to which the user has access. Each resource in the collection corresponds to a single Analytics view (profile).", +"id": "Profiles", +"properties": { +"items": { +"description": "A list of views (profiles).", +"items": { +"$ref": "Profile" +}, +"type": "array" +}, +"itemsPerPage": { +"description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", +"format": "int32", +"type": "integer" +}, +"kind": { +"default": "analytics#profiles", +"description": "Collection type.", +"type": "string" +}, +"nextLink": { +"description": "Link to next page for this view (profile) collection.", +"type": "string" +}, +"previousLink": { +"description": "Link to previous page for this view (profile) collection.", +"type": "string" +}, +"startIndex": { +"description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.", +"format": "int32", +"type": "integer" +}, +"totalResults": { +"description": "The total number of results for the query, regardless of the number of results in the response.", +"format": "int32", +"type": "integer" +}, +"username": { +"description": "Email ID of the authenticated user", +"type": "string" +} +}, +"type": "object" +}, +"RealtimeData": { +"description": "Real time data for a given view (profile).", +"id": "RealtimeData", +"properties": { +"columnHeaders": { +"description": "Column headers that list dimension names followed by the metric names. The order of dimensions and metrics is same as specified in the request.", +"items": { +"properties": { +"columnType": { +"description": "Column Type. Either DIMENSION or METRIC.", +"type": "string" +}, +"dataType": { +"description": "Data type. Dimension column headers have only STRING as the data type. Metric column headers have data types for metric values such as INTEGER, DOUBLE, CURRENCY etc.", +"type": "string" +}, +"name": { +"description": "Column name.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"id": { +"description": "Unique ID for this data response.", +"type": "string" +}, +"kind": { +"default": "analytics#realtimeData", +"description": "Resource type.", +"type": "string" +}, +"profileInfo": { +"description": "Information for the view (profile), for which the real time data was requested.", +"properties": { +"accountId": { +"description": "Account ID to which this view (profile) belongs.", +"type": "string" +}, +"internalWebPropertyId": { +"description": "Internal ID for the web property to which this view (profile) belongs.", +"type": "string" +}, +"profileId": { +"description": "View (Profile) ID.", +"type": "string" +}, +"profileName": { +"description": "View (Profile) name.", +"type": "string" +}, +"tableId": { +"description": "Table ID for view (profile).", +"type": "string" +}, +"webPropertyId": { +"description": "Web Property ID to which this view (profile) belongs.", +"type": "string" +} +}, +"type": "object" +}, +"query": { +"description": "Real time data request query parameters.", +"properties": { +"dimensions": { +"description": "List of real time dimensions.", +"type": "string" +}, +"filters": { +"description": "Comma-separated list of dimension or metric filters.", +"type": "string" +}, +"ids": { +"description": "Unique table ID.", +"type": "string" +}, +"max-results": { +"description": "Maximum results per page.", +"format": "int32", +"type": "integer" +}, +"metrics": { +"description": "List of real time metrics.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sort": { +"description": "List of dimensions or metrics based on which real time data is sorted.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"rows": { +"description": "Real time data rows, where each row contains a list of dimension values followed by the metric values. The order of dimensions and metrics is same as specified in the request.", +"items": { +"items": { +"type": "string" +}, +"type": "array" +}, +"type": "array" +}, +"selfLink": { +"description": "Link to this page.", +"type": "string" +}, +"totalResults": { +"description": "The total number of rows for the query, regardless of the number of rows in the response.", +"format": "int32", +"type": "integer" +}, +"totalsForAllResults": { +"additionalProperties": { +"description": "Key-value pair for the total value of a metric. Key is the metric name and the value is the total value for that metric.", +"type": "string" +}, +"description": "Total values for the requested metrics over all the results, not just the results returned in this response. The order of the metric totals is same as the metric order specified in the request.", +"type": "object" +} +}, +"type": "object" +}, +"RemarketingAudience": { +"description": "JSON template for an Analytics remarketing audience.", +"id": "RemarketingAudience", +"properties": { +"accountId": { +"description": "Account ID to which this remarketing audience belongs.", +"type": "string" +}, +"audienceDefinition": { +"description": "The simple audience definition that will cause a user to be added to an audience.", +"properties": { +"includeConditions": { +"$ref": "IncludeConditions", +"description": "Defines the conditions to include users to the audience." +} +}, +"type": "object" +}, +"audienceType": { +"description": "The type of audience, either SIMPLE or STATE_BASED.", +"type": "string" +}, +"created": { +"description": "Time this remarketing audience was created.", +"format": "date-time", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "The description of this remarketing audience.", +"readOnly": true, +"type": "string" +}, +"id": { +"description": "Remarketing Audience ID.", +"type": "string" +}, +"internalWebPropertyId": { +"description": "Internal ID for the web property to which this remarketing audience belongs.", +"readOnly": true, +"type": "string" +}, +"kind": { +"default": "analytics#remarketingAudience", +"description": "Collection type.", +"type": "string" +}, +"linkedAdAccounts": { +"description": "The linked ad accounts associated with this remarketing audience. A remarketing audience can have only one linkedAdAccount currently.", +"items": { +"$ref": "LinkedForeignAccount" +}, +"type": "array" +}, +"linkedViews": { +"description": "The views (profiles) that this remarketing audience is linked to.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "The name of this remarketing audience.", +"type": "string" +}, +"stateBasedAudienceDefinition": { +"description": "A state based audience definition that will cause a user to be added or removed from an audience.", +"properties": { +"excludeConditions": { +"description": "Defines the conditions to exclude users from the audience.", +"properties": { +"exclusionDuration": { +"description": "Whether to make the exclusion TEMPORARY or PERMANENT.", +"type": "string" +}, +"segment": { +"description": "The segment condition that will cause a user to be removed from an audience.", +"type": "string" +} +}, +"type": "object" +}, +"includeConditions": { +"$ref": "IncludeConditions", +"description": "Defines the conditions to include users to the audience." +} +}, +"type": "object" +}, +"updated": { +"description": "Time this remarketing audience was last modified.", +"format": "date-time", +"readOnly": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID of the form UA-XXXXX-YY to which this remarketing audience belongs.", +"type": "string" +} +}, +"type": "object" +}, +"RemarketingAudiences": { +"description": "A remarketing audience collection lists Analytics remarketing audiences to which the user has access. Each resource in the collection corresponds to a single Analytics remarketing audience.", +"id": "RemarketingAudiences", +"properties": { +"items": { +"description": "A list of remarketing audiences.", +"items": { +"$ref": "RemarketingAudience" +}, +"type": "array" +}, +"itemsPerPage": { +"description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", +"format": "int32", +"type": "integer" +}, +"kind": { +"default": "analytics#remarketingAudiences", +"description": "Collection type.", +"type": "string" +}, +"nextLink": { +"description": "Link to next page for this remarketing audience collection.", +"type": "string" +}, +"previousLink": { +"description": "Link to previous page for this view (profile) collection.", +"type": "string" +}, +"startIndex": { +"description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.", +"format": "int32", +"type": "integer" +}, +"totalResults": { +"description": "The total number of results for the query, regardless of the number of results in the response.", +"format": "int32", +"type": "integer" +}, +"username": { +"description": "Email ID of the authenticated user", +"type": "string" +} +}, +"type": "object" +}, +"Segment": { +"description": "JSON template for an Analytics segment.", +"id": "Segment", +"properties": { +"created": { +"description": "Time the segment was created.", +"format": "date-time", +"type": "string" +}, +"definition": { +"description": "Segment definition.", +"type": "string" +}, +"id": { +"description": "Segment ID.", +"type": "string" +}, +"kind": { +"default": "analytics#segment", +"description": "Resource type for Analytics segment.", +"type": "string" +}, +"name": { +"description": "Segment name.", +"type": "string" +}, +"segmentId": { +"description": "Segment ID. Can be used with the 'segment' parameter in Core Reporting API.", +"type": "string" +}, +"selfLink": { +"description": "Link for this segment.", +"type": "string" +}, +"type": { +"description": "Type for a segment. Possible values are \"BUILT_IN\" or \"CUSTOM\".", +"type": "string" +}, +"updated": { +"description": "Time the segment was last modified.", +"format": "date-time", +"type": "string" +} +}, +"type": "object" +}, +"Segments": { +"description": "An segment collection lists Analytics segments that the user has access to. Each resource in the collection corresponds to a single Analytics segment.", +"id": "Segments", +"properties": { +"items": { +"description": "A list of segments.", +"items": { +"$ref": "Segment" +}, +"type": "array" +}, +"itemsPerPage": { +"description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", +"format": "int32", +"type": "integer" +}, +"kind": { +"default": "analytics#segments", +"description": "Collection type for segments.", +"type": "string" +}, +"nextLink": { +"description": "Link to next page for this segment collection.", +"type": "string" +}, +"previousLink": { +"description": "Link to previous page for this segment collection.", +"type": "string" +}, +"startIndex": { +"description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.", +"format": "int32", +"type": "integer" +}, +"totalResults": { +"description": "The total number of results for the query, regardless of the number of results in the response.", +"format": "int32", +"type": "integer" +}, +"username": { +"description": "Email ID of the authenticated user", +"type": "string" +} +}, +"type": "object" +}, +"UnsampledReport": { +"description": "JSON template for Analytics unsampled report resource.", +"id": "UnsampledReport", +"properties": { +"accountId": { +"description": "Account ID to which this unsampled report belongs.", +"type": "string" +}, +"cloudStorageDownloadDetails": { +"description": "Download details for a file stored in Google Cloud Storage.", +"properties": { +"bucketId": { +"description": "Id of the bucket the file object is stored in.", +"type": "string" +}, +"objectId": { +"description": "Id of the file object containing the report data.", +"type": "string" +} +}, +"readOnly": true, +"type": "object" +}, +"created": { +"description": "Time this unsampled report was created.", +"format": "date-time", +"readOnly": true, +"type": "string" +}, +"dimensions": { +"description": "The dimensions for the unsampled report.", +"type": "string" +}, +"downloadType": { +"description": "The type of download you need to use for the report data file. Possible values include `GOOGLE_DRIVE` and `GOOGLE_CLOUD_STORAGE`. If the value is `GOOGLE_DRIVE`, see the `driveDownloadDetails` field. If the value is `GOOGLE_CLOUD_STORAGE`, see the `cloudStorageDownloadDetails` field.", +"readOnly": true, +"type": "string" +}, +"driveDownloadDetails": { +"description": "Download details for a file stored in Google Drive.", +"properties": { +"documentId": { +"description": "Id of the document/file containing the report data.", +"type": "string" +} +}, +"readOnly": true, +"type": "object" +}, +"end-date": { +"annotations": { +"required": [ +"analytics.management.filters.insert", +"analytics.management.unsampledReports.insert" +] +}, +"description": "The end date for the unsampled report.", +"type": "string" +}, +"filters": { +"description": "The filters for the unsampled report.", +"type": "string" +}, +"id": { +"description": "Unsampled report ID.", +"type": "string" +}, +"kind": { +"default": "analytics#unsampledReport", +"description": "Resource type for an Analytics unsampled report.", +"readOnly": true, +"type": "string" +}, +"metrics": { +"annotations": { +"required": [ +"analytics.management.filters.insert", +"analytics.management.unsampledReports.insert" +] +}, +"description": "The metrics for the unsampled report.", +"type": "string" +}, +"profileId": { +"description": "View (Profile) ID to which this unsampled report belongs.", +"type": "string" +}, +"segment": { +"description": "The segment for the unsampled report.", +"type": "string" +}, +"selfLink": { +"description": "Link for this unsampled report.", +"readOnly": true, +"type": "string" +}, +"start-date": { +"annotations": { +"required": [ +"analytics.management.filters.insert", +"analytics.management.unsampledReports.insert" +] +}, +"description": "The start date for the unsampled report.", +"type": "string" +}, +"status": { +"description": "Status of this unsampled report. Possible values are PENDING, COMPLETED, or FAILED.", +"readOnly": true, +"type": "string" +}, +"title": { +"annotations": { +"required": [ +"analytics.management.filters.insert", +"analytics.management.unsampledReports.insert" +] +}, +"description": "Title of the unsampled report.", +"type": "string" +}, +"updated": { +"description": "Time this unsampled report was last modified.", +"format": "date-time", +"readOnly": true, +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID to which this unsampled report belongs. The web property ID is of the form UA-XXXXX-YY.", +"type": "string" +} +}, +"type": "object" +}, +"UnsampledReports": { +"description": "An unsampled report collection lists Analytics unsampled reports to which the user has access. Each view (profile) can have a set of unsampled reports. Each resource in the unsampled report collection corresponds to a single Analytics unsampled report.", +"id": "UnsampledReports", +"properties": { +"items": { +"description": "A list of unsampled reports.", +"items": { +"$ref": "UnsampledReport" +}, +"type": "array" +}, +"itemsPerPage": { +"description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", +"format": "int32", +"type": "integer" +}, +"kind": { +"default": "analytics#unsampledReports", +"description": "Collection type.", +"type": "string" +}, +"nextLink": { +"description": "Link to next page for this unsampled report collection.", +"type": "string" +}, +"previousLink": { +"description": "Link to previous page for this unsampled report collection.", +"type": "string" +}, +"startIndex": { +"description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.", +"format": "int32", +"type": "integer" +}, +"totalResults": { +"description": "The total number of results for the query, regardless of the number of resources in the result.", +"format": "int32", +"type": "integer" +}, +"username": { +"description": "Email ID of the authenticated user", +"type": "string" +} +}, +"type": "object" +}, +"Upload": { +"description": "Metadata returned for an upload operation.", +"id": "Upload", +"properties": { +"accountId": { +"description": "Account Id to which this upload belongs.", +"format": "int64", +"type": "string" +}, +"customDataSourceId": { +"description": "Custom data source Id to which this data import belongs.", +"type": "string" +}, +"errors": { +"description": "Data import errors collection.", +"items": { +"type": "string" +}, +"type": "array" +}, +"id": { +"description": "A unique ID for this upload.", +"type": "string" +}, +"kind": { +"default": "analytics#upload", +"description": "Resource type for Analytics upload.", +"type": "string" +}, +"status": { +"description": "Upload status. Possible values: PENDING, COMPLETED, FAILED, DELETING, DELETED.", +"type": "string" +}, +"uploadTime": { +"description": "Time this file is uploaded.", +"format": "date-time", +"type": "string" +} +}, +"type": "object" +}, +"Uploads": { +"description": "Upload collection lists Analytics uploads to which the user has access. Each custom data source can have a set of uploads. Each resource in the upload collection corresponds to a single Analytics data upload.", +"id": "Uploads", +"properties": { +"items": { +"description": "A list of uploads.", +"items": { +"$ref": "Upload" +}, +"type": "array" +}, +"itemsPerPage": { +"description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", +"format": "int32", +"type": "integer" +}, +"kind": { +"default": "analytics#uploads", +"description": "Collection type.", +"type": "string" +}, +"nextLink": { +"description": "Link to next page for this upload collection.", +"type": "string" +}, +"previousLink": { +"description": "Link to previous page for this upload collection.", +"type": "string" +}, +"startIndex": { +"description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.", +"format": "int32", +"type": "integer" +}, +"totalResults": { +"description": "The total number of results for the query, regardless of the number of resources in the result.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"UserDeletionRequest": { +"description": "JSON template for a user deletion request resource.", +"id": "UserDeletionRequest", +"properties": { +"deletionRequestTime": { +"description": "This marks the point in time for which all user data before should be deleted", +"format": "date-time", +"readOnly": true, +"type": "string" +}, +"firebaseProjectId": { +"description": "Firebase Project Id", +"type": "string" +}, +"id": { +"description": "User ID.", +"properties": { +"type": { +"description": "Type of user", +"type": "string" +}, +"userId": { +"description": "The User's id", +"type": "string" +} +}, +"type": "object" +}, +"kind": { +"default": "analytics#userDeletionRequest", +"description": "Value is \"analytics#userDeletionRequest\".", +"type": "string" +}, +"propertyId": { +"description": "Property ID", +"type": "string" +}, +"webPropertyId": { +"description": "Web property ID of the form UA-XXXXX-YY.", +"type": "string" +} +}, +"type": "object" +}, +"UserRef": { +"description": "JSON template for a user reference.", +"id": "UserRef", +"properties": { +"email": { +"description": "Email ID of this user.", +"type": "string" +}, +"id": { +"description": "User ID.", +"type": "string" +}, +"kind": { +"default": "analytics#userRef", +"type": "string" +} +}, +"type": "object" +}, +"WebPropertyRef": { +"description": "JSON template for a web property reference.", +"id": "WebPropertyRef", +"properties": { +"accountId": { +"description": "Account ID to which this web property belongs.", +"type": "string" +}, +"href": { +"description": "Link for this web property.", +"type": "string" +}, +"id": { +"description": "Web property ID of the form UA-XXXXX-YY.", +"type": "string" +}, +"internalWebPropertyId": { +"description": "Internal ID for this web property.", +"type": "string" +}, +"kind": { +"default": "analytics#webPropertyRef", +"description": "Analytics web property reference.", +"type": "string" +}, +"name": { +"description": "Name of this web property.", +"type": "string" +} +}, +"type": "object" +}, +"WebPropertySummary": { +"description": "JSON template for an Analytics WebPropertySummary. WebPropertySummary returns basic information (i.e., summary) for a web property.", +"id": "WebPropertySummary", +"properties": { +"id": { +"description": "Web property ID of the form UA-XXXXX-YY.", +"type": "string" +}, +"internalWebPropertyId": { +"description": "Internal ID for this web property.", +"type": "string" +}, +"kind": { +"default": "analytics#webPropertySummary", +"description": "Resource type for Analytics WebPropertySummary.", +"type": "string" +}, +"level": { +"description": "Level for this web property. Possible values are STANDARD or PREMIUM.", +"type": "string" +}, +"name": { +"description": "Web property name.", +"type": "string" +}, +"profiles": { +"description": "List of profiles under this web property.", +"items": { +"$ref": "ProfileSummary" +}, +"type": "array" +}, +"starred": { +"description": "Indicates whether this web property is starred or not.", +"type": "boolean" +}, +"websiteUrl": { +"description": "Website url for this web property.", +"type": "string" +} +}, +"type": "object" +}, +"Webproperties": { +"description": "A web property collection lists Analytics web properties to which the user has access. Each resource in the collection corresponds to a single Analytics web property.", +"id": "Webproperties", +"properties": { +"items": { +"description": "A list of web properties.", +"items": { +"$ref": "Webproperty" +}, +"type": "array" +}, +"itemsPerPage": { +"description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", +"format": "int32", +"type": "integer" +}, +"kind": { +"default": "analytics#webproperties", +"description": "Collection type.", +"type": "string" +}, +"nextLink": { +"description": "Link to next page for this web property collection.", +"type": "string" +}, +"previousLink": { +"description": "Link to previous page for this web property collection.", +"type": "string" +}, +"startIndex": { +"description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.", +"format": "int32", +"type": "integer" +}, +"totalResults": { +"description": "The total number of results for the query, regardless of the number of results in the response.", +"format": "int32", +"type": "integer" +}, +"username": { +"description": "Email ID of the authenticated user", +"type": "string" +} +}, +"type": "object" +}, +"Webproperty": { +"description": "JSON template for an Analytics web property.", +"id": "Webproperty", +"properties": { +"accountId": { +"description": "Account ID to which this web property belongs.", +"type": "string" +}, +"childLink": { +"description": "Child link for this web property. Points to the list of views (profiles) for this web property.", +"properties": { +"href": { +"description": "Link to the list of views (profiles) for this web property.", +"type": "string" +}, +"type": { +"default": "analytics#profiles", +"description": "Type of the parent link. Its value is \"analytics#profiles\".", +"type": "string" +} +}, +"type": "object" +}, +"created": { +"description": "Time this web property was created.", +"format": "date-time", +"readOnly": true, +"type": "string" +}, +"dataRetentionResetOnNewActivity": { +"description": "Set to true to reset the retention period of the user identifier with each new event from that user (thus setting the expiration date to current time plus retention period).\nSet to false to delete data associated with the user identifier automatically after the rentention period.\nThis property cannot be set on insert.", +"type": "boolean" +}, +"dataRetentionTtl": { +"description": "The length of time for which user and event data is retained.\nThis property cannot be set on insert.", +"type": "string" +}, +"defaultProfileId": { +"description": "Default view (profile) ID.", +"format": "int64", +"type": "string" +}, +"id": { +"description": "Web property ID of the form UA-XXXXX-YY.", +"type": "string" +}, +"industryVertical": { +"description": "The industry vertical/category selected for this web property.", +"type": "string" +}, +"internalWebPropertyId": { +"description": "Internal ID for this web property.", +"readOnly": true, +"type": "string" +}, +"kind": { +"default": "analytics#webproperty", +"description": "Resource type for Analytics WebProperty.", +"readOnly": true, +"type": "string" +}, +"level": { +"description": "Level for this web property. Possible values are STANDARD or PREMIUM.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Name of this web property.", +"type": "string" +}, +"parentLink": { +"description": "Parent link for this web property. Points to the account to which this web property belongs.", +"properties": { +"href": { +"description": "Link to the account for this web property.", +"type": "string" +}, +"type": { +"default": "analytics#account", +"description": "Type of the parent link. Its value is \"analytics#account\".", +"type": "string" +} +}, +"type": "object" +}, +"permissions": { +"description": "Permissions the user has for this web property.", +"properties": { +"effective": { +"description": "All the permissions that the user has for this web property. These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent account.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"profileCount": { +"description": "View (Profile) count for this web property.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"selfLink": { +"description": "Link for this web property.", +"readOnly": true, +"type": "string" +}, +"starred": { +"description": "Indicates whether this web property is starred or not.", +"type": "boolean" +}, +"updated": { +"description": "Time this web property was last modified.", +"format": "date-time", +"readOnly": true, +"type": "string" +}, +"websiteUrl": { +"description": "Website url for this web property.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "analytics/v3/", +"title": "Google Analytics API", +"version": "v3" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/androidmanagement.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/androidmanagement.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..cfa3eb698627a83a0c12328594e7621e4f8454d6 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/androidmanagement.v1.json @@ -0,0 +1,6734 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/androidmanagement": { +"description": "Manage Android devices and apps for your customers" +} +} +} +}, +"basePath": "", +"baseUrl": "https://androidmanagement.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Android Management", +"description": "The Android Management API provides remote enterprise management of Android devices and apps.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/android/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": "androidmanagement:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://androidmanagement.mtls.googleapis.com/", +"name": "androidmanagement", +"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": { +"enterprises": { +"methods": { +"create": { +"description": "Creates an enterprise. This is the last step in the enterprise signup flow. See also: SigninDetail", +"flatPath": "v1/enterprises", +"httpMethod": "POST", +"id": "androidmanagement.enterprises.create", +"parameterOrder": [], +"parameters": { +"agreementAccepted": { +"deprecated": true, +"description": "Whether the enterprise admin has seen and agreed to the managed Google Play Agreement (https://www.android.com/enterprise/terms/). Do not set this field for any customer-managed enterprise (https://developers.google.com/android/management/create-enterprise#customer-managed_enterprises). Set this to field to true for all EMM-managed enterprises (https://developers.google.com/android/management/create-enterprise#emm-managed_enterprises).", +"location": "query", +"type": "boolean" +}, +"enterpriseToken": { +"description": "The enterprise token appended to the callback URL. Set this when creating a customer-managed enterprise (https://developers.google.com/android/management/create-enterprise#customer-managed_enterprises) and not when creating a deprecated EMM-managed enterprise (https://developers.google.com/android/management/create-enterprise#emm-managed_enterprises).", +"location": "query", +"type": "string" +}, +"projectId": { +"description": "The ID of the Google Cloud Platform project which will own the enterprise.", +"location": "query", +"type": "string" +}, +"signupUrlName": { +"description": "The name of the SignupUrl used to sign up for the enterprise. Set this when creating a customer-managed enterprise (https://developers.google.com/android/management/create-enterprise#customer-managed_enterprises) and not when creating a deprecated EMM-managed enterprise (https://developers.google.com/android/management/create-enterprise#emm-managed_enterprises).", +"location": "query", +"type": "string" +} +}, +"path": "v1/enterprises", +"request": { +"$ref": "Enterprise" +}, +"response": { +"$ref": "Enterprise" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidmanagement" +] +}, +"delete": { +"description": "Permanently deletes an enterprise and all accounts and data associated with it. Warning: this will result in a cascaded deletion of all AM API devices associated with the deleted enterprise. Only available for EMM-managed enterprises.", +"flatPath": "v1/enterprises/{enterprisesId}", +"httpMethod": "DELETE", +"id": "androidmanagement.enterprises.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the enterprise in the form enterprises/{enterpriseId}.", +"location": "path", +"pattern": "^enterprises/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidmanagement" +] +}, +"get": { +"description": "Gets an enterprise.", +"flatPath": "v1/enterprises/{enterprisesId}", +"httpMethod": "GET", +"id": "androidmanagement.enterprises.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the enterprise in the form enterprises/{enterpriseId}.", +"location": "path", +"pattern": "^enterprises/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Enterprise" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidmanagement" +] +}, +"list": { +"description": "Lists EMM-managed enterprises. Only BASIC fields are returned.", +"flatPath": "v1/enterprises", +"httpMethod": "GET", +"id": "androidmanagement.enterprises.list", +"parameterOrder": [], +"parameters": { +"pageSize": { +"description": "The requested page size. The actual page size may be fixed to a min or max value.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results returned by the server.", +"location": "query", +"type": "string" +}, +"projectId": { +"description": "Required. The Cloud project ID of the EMM managing the enterprises.", +"location": "query", +"type": "string" +}, +"view": { +"description": "Specifies which Enterprise fields to return. This method only supports BASIC.", +"enum": [ +"ENTERPRISE_VIEW_UNSPECIFIED", +"BASIC" +], +"enumDescriptions": [ +"The API will default to the BASIC view for the List method.", +"Includes name and enterprise_display_name fields." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/enterprises", +"response": { +"$ref": "ListEnterprisesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidmanagement" +] +}, +"patch": { +"description": "Updates an enterprise. See also: SigninDetail", +"flatPath": "v1/enterprises/{enterprisesId}", +"httpMethod": "PATCH", +"id": "androidmanagement.enterprises.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the enterprise in the form enterprises/{enterpriseId}.", +"location": "path", +"pattern": "^enterprises/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The field mask indicating the fields to update. If not set, all modifiable fields will be modified.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Enterprise" +}, +"response": { +"$ref": "Enterprise" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidmanagement" +] +} +}, +"resources": { +"applications": { +"methods": { +"get": { +"description": "Gets info about an application.", +"flatPath": "v1/enterprises/{enterprisesId}/applications/{applicationsId}", +"httpMethod": "GET", +"id": "androidmanagement.enterprises.applications.get", +"parameterOrder": [ +"name" +], +"parameters": { +"languageCode": { +"description": "The preferred language for localized application info, as a BCP47 tag (e.g. \"en-US\", \"de\"). If not specified the default language of the application will be used.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the application in the form enterprises/{enterpriseId}/applications/{package_name}.", +"location": "path", +"pattern": "^enterprises/[^/]+/applications/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Application" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidmanagement" +] +} +} +}, +"devices": { +"methods": { +"delete": { +"description": "Deletes a device. This operation wipes the device. Deleted devices do not show up in enterprises.devices.list calls and a 404 is returned from enterprises.devices.get.", +"flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}", +"httpMethod": "DELETE", +"id": "androidmanagement.enterprises.devices.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the device in the form enterprises/{enterpriseId}/devices/{deviceId}.", +"location": "path", +"pattern": "^enterprises/[^/]+/devices/[^/]+$", +"required": true, +"type": "string" +}, +"wipeDataFlags": { +"description": "Optional flags that control the device wiping behavior.", +"enum": [ +"WIPE_DATA_FLAG_UNSPECIFIED", +"PRESERVE_RESET_PROTECTION_DATA", +"WIPE_EXTERNAL_STORAGE" +], +"enumDescriptions": [ +"This value is ignored.", +"Preserve the factory reset protection data on the device.", +"Additionally wipe the device's external storage (such as SD cards)." +], +"location": "query", +"repeated": true, +"type": "string" +}, +"wipeReasonMessage": { +"description": "Optional. A short message displayed to the user before wiping the work profile on personal devices. This has no effect on company owned devices. The maximum message length is 200 characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidmanagement" +] +}, +"get": { +"description": "Gets a device. Deleted devices will respond with a 404 error.", +"flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}", +"httpMethod": "GET", +"id": "androidmanagement.enterprises.devices.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the device in the form enterprises/{enterpriseId}/devices/{deviceId}.", +"location": "path", +"pattern": "^enterprises/[^/]+/devices/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Device" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidmanagement" +] +}, +"issueCommand": { +"description": "Issues a command to a device. The Operation resource returned contains a Command in its metadata field. Use the get operation method to get the status of the command.", +"flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}:issueCommand", +"httpMethod": "POST", +"id": "androidmanagement.enterprises.devices.issueCommand", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the device in the form enterprises/{enterpriseId}/devices/{deviceId}.", +"location": "path", +"pattern": "^enterprises/[^/]+/devices/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:issueCommand", +"request": { +"$ref": "Command" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidmanagement" +] +}, +"list": { +"description": "Lists devices for a given enterprise. Deleted devices are not returned in the response.", +"flatPath": "v1/enterprises/{enterprisesId}/devices", +"httpMethod": "GET", +"id": "androidmanagement.enterprises.devices.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The requested page size. The actual page size may be fixed to a min or max value.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results returned by the server.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "The name of the enterprise in the form enterprises/{enterpriseId}.", +"location": "path", +"pattern": "^enterprises/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/devices", +"response": { +"$ref": "ListDevicesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidmanagement" +] +}, +"patch": { +"description": "Updates a device.", +"flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}", +"httpMethod": "PATCH", +"id": "androidmanagement.enterprises.devices.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the device in the form enterprises/{enterpriseId}/devices/{deviceId}.", +"location": "path", +"pattern": "^enterprises/[^/]+/devices/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The field mask indicating the fields to update. If not set, all modifiable fields will be modified.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Device" +}, +"response": { +"$ref": "Device" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidmanagement" +] +} +}, +"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/enterprises/{enterprisesId}/devices/{devicesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "androidmanagement.enterprises.devices.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^enterprises/[^/]+/devices/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidmanagement" +] +}, +"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/enterprises/{enterprisesId}/devices/{devicesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "androidmanagement.enterprises.devices.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^enterprises/[^/]+/devices/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidmanagement" +] +}, +"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/enterprises/{enterprisesId}/devices/{devicesId}/operations", +"httpMethod": "GET", +"id": "androidmanagement.enterprises.devices.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": "^enterprises/[^/]+/devices/[^/]+/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/androidmanagement" +] +} +} +} +} +}, +"enrollmentTokens": { +"methods": { +"create": { +"description": "Creates an enrollment token for a given enterprise. It's up to the caller's responsibility to manage the lifecycle of newly created tokens and deleting them when they're not intended to be used anymore.", +"flatPath": "v1/enterprises/{enterprisesId}/enrollmentTokens", +"httpMethod": "POST", +"id": "androidmanagement.enterprises.enrollmentTokens.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "The name of the enterprise in the form enterprises/{enterpriseId}.", +"location": "path", +"pattern": "^enterprises/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/enrollmentTokens", +"request": { +"$ref": "EnrollmentToken" +}, +"response": { +"$ref": "EnrollmentToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidmanagement" +] +}, +"delete": { +"description": "Deletes an enrollment token. This operation invalidates the token, preventing its future use.", +"flatPath": "v1/enterprises/{enterprisesId}/enrollmentTokens/{enrollmentTokensId}", +"httpMethod": "DELETE", +"id": "androidmanagement.enterprises.enrollmentTokens.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the enrollment token in the form enterprises/{enterpriseId}/enrollmentTokens/{enrollmentTokenId}.", +"location": "path", +"pattern": "^enterprises/[^/]+/enrollmentTokens/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidmanagement" +] +}, +"get": { +"description": "Gets an active, unexpired enrollment token. A partial view of the enrollment token is returned. Only the following fields are populated: name, expirationTimestamp, allowPersonalUsage, value, qrCode. This method is meant to help manage active enrollment tokens lifecycle. For security reasons, it's recommended to delete active enrollment tokens as soon as they're not intended to be used anymore.", +"flatPath": "v1/enterprises/{enterprisesId}/enrollmentTokens/{enrollmentTokensId}", +"httpMethod": "GET", +"id": "androidmanagement.enterprises.enrollmentTokens.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the enrollment token in the form enterprises/{enterpriseId}/enrollmentTokens/{enrollmentTokenId}.", +"location": "path", +"pattern": "^enterprises/[^/]+/enrollmentTokens/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "EnrollmentToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidmanagement" +] +}, +"list": { +"description": "Lists active, unexpired enrollment tokens for a given enterprise. The list items contain only a partial view of EnrollmentToken object. Only the following fields are populated: name, expirationTimestamp, allowPersonalUsage, value, qrCode. This method is meant to help manage active enrollment tokens lifecycle. For security reasons, it's recommended to delete active enrollment tokens as soon as they're not intended to be used anymore.", +"flatPath": "v1/enterprises/{enterprisesId}/enrollmentTokens", +"httpMethod": "GET", +"id": "androidmanagement.enterprises.enrollmentTokens.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The requested page size. The service may return fewer than this value. If unspecified, at most 10 items will be returned. The maximum value is 100; values above 100 will be coerced to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results returned by the server.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the enterprise in the form enterprises/{enterpriseId}.", +"location": "path", +"pattern": "^enterprises/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/enrollmentTokens", +"response": { +"$ref": "ListEnrollmentTokensResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidmanagement" +] +} +} +}, +"migrationTokens": { +"methods": { +"create": { +"description": "Creates a migration token, to migrate an existing device from being managed by the EMM's Device Policy Controller (DPC) to being managed by the Android Management API. See the guide (https://developers.google.com/android/management/dpc-migration) for more details.", +"flatPath": "v1/enterprises/{enterprisesId}/migrationTokens", +"httpMethod": "POST", +"id": "androidmanagement.enterprises.migrationTokens.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The enterprise in which this migration token is created. This must be the same enterprise which already manages the device in the Play EMM API. Format: enterprises/{enterprise}", +"location": "path", +"pattern": "^enterprises/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/migrationTokens", +"request": { +"$ref": "MigrationToken" +}, +"response": { +"$ref": "MigrationToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidmanagement" +] +}, +"get": { +"description": "Gets a migration token.", +"flatPath": "v1/enterprises/{enterprisesId}/migrationTokens/{migrationTokensId}", +"httpMethod": "GET", +"id": "androidmanagement.enterprises.migrationTokens.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the migration token to retrieve. Format: enterprises/{enterprise}/migrationTokens/{migration_token}", +"location": "path", +"pattern": "^enterprises/[^/]+/migrationTokens/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "MigrationToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidmanagement" +] +}, +"list": { +"description": "Lists migration tokens.", +"flatPath": "v1/enterprises/{enterprisesId}/migrationTokens", +"httpMethod": "GET", +"id": "androidmanagement.enterprises.migrationTokens.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of migration tokens to return. Fewer migration tokens may be returned. If unspecified, at most 100 migration tokens will be returned. The maximum value is 100; values above 100 will be coerced to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous ListMigrationTokens call. Provide this to retrieve the subsequent page.When paginating, all other parameters provided to ListMigrationTokens must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The enterprise which the migration tokens belong to. Format: enterprises/{enterprise}", +"location": "path", +"pattern": "^enterprises/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/migrationTokens", +"response": { +"$ref": "ListMigrationTokensResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidmanagement" +] +} +} +}, +"policies": { +"methods": { +"delete": { +"description": "Deletes a policy. This operation is only permitted if no devices are currently referencing the policy.", +"flatPath": "v1/enterprises/{enterprisesId}/policies/{policiesId}", +"httpMethod": "DELETE", +"id": "androidmanagement.enterprises.policies.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the policy in the form enterprises/{enterpriseId}/policies/{policyId}.", +"location": "path", +"pattern": "^enterprises/[^/]+/policies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidmanagement" +] +}, +"get": { +"description": "Gets a policy.", +"flatPath": "v1/enterprises/{enterprisesId}/policies/{policiesId}", +"httpMethod": "GET", +"id": "androidmanagement.enterprises.policies.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the policy in the form enterprises/{enterpriseId}/policies/{policyId}.", +"location": "path", +"pattern": "^enterprises/[^/]+/policies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidmanagement" +] +}, +"list": { +"description": "Lists policies for a given enterprise.", +"flatPath": "v1/enterprises/{enterprisesId}/policies", +"httpMethod": "GET", +"id": "androidmanagement.enterprises.policies.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The requested page size. The actual page size may be fixed to a min or max value.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results returned by the server.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "The name of the enterprise in the form enterprises/{enterpriseId}.", +"location": "path", +"pattern": "^enterprises/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/policies", +"response": { +"$ref": "ListPoliciesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidmanagement" +] +}, +"patch": { +"description": "Updates or creates a policy.", +"flatPath": "v1/enterprises/{enterprisesId}/policies/{policiesId}", +"httpMethod": "PATCH", +"id": "androidmanagement.enterprises.policies.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the policy in the form enterprises/{enterpriseId}/policies/{policyId}.", +"location": "path", +"pattern": "^enterprises/[^/]+/policies/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The field mask indicating the fields to update. If not set, all modifiable fields will be modified.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Policy" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidmanagement" +] +} +} +}, +"webApps": { +"methods": { +"create": { +"description": "Creates a web app.", +"flatPath": "v1/enterprises/{enterprisesId}/webApps", +"httpMethod": "POST", +"id": "androidmanagement.enterprises.webApps.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "The name of the enterprise in the form enterprises/{enterpriseId}.", +"location": "path", +"pattern": "^enterprises/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/webApps", +"request": { +"$ref": "WebApp" +}, +"response": { +"$ref": "WebApp" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidmanagement" +] +}, +"delete": { +"description": "Deletes a web app.", +"flatPath": "v1/enterprises/{enterprisesId}/webApps/{webAppsId}", +"httpMethod": "DELETE", +"id": "androidmanagement.enterprises.webApps.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the web app in the form enterprises/{enterpriseId}/webApps/{packageName}.", +"location": "path", +"pattern": "^enterprises/[^/]+/webApps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidmanagement" +] +}, +"get": { +"description": "Gets a web app.", +"flatPath": "v1/enterprises/{enterprisesId}/webApps/{webAppsId}", +"httpMethod": "GET", +"id": "androidmanagement.enterprises.webApps.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the web app in the form enterprises/{enterpriseId}/webApp/{packageName}.", +"location": "path", +"pattern": "^enterprises/[^/]+/webApps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "WebApp" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidmanagement" +] +}, +"list": { +"description": "Lists web apps for a given enterprise.", +"flatPath": "v1/enterprises/{enterprisesId}/webApps", +"httpMethod": "GET", +"id": "androidmanagement.enterprises.webApps.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The requested page size. This is a hint and the actual page size in the response may be different.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results returned by the server.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "The name of the enterprise in the form enterprises/{enterpriseId}.", +"location": "path", +"pattern": "^enterprises/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/webApps", +"response": { +"$ref": "ListWebAppsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidmanagement" +] +}, +"patch": { +"description": "Updates a web app.", +"flatPath": "v1/enterprises/{enterprisesId}/webApps/{webAppsId}", +"httpMethod": "PATCH", +"id": "androidmanagement.enterprises.webApps.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the web app in the form enterprises/{enterpriseId}/webApps/{packageName}.", +"location": "path", +"pattern": "^enterprises/[^/]+/webApps/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The field mask indicating the fields to update. If not set, all modifiable fields will be modified.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "WebApp" +}, +"response": { +"$ref": "WebApp" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidmanagement" +] +} +} +}, +"webTokens": { +"methods": { +"create": { +"description": "Creates a web token to access an embeddable managed Google Play web UI for a given enterprise.", +"flatPath": "v1/enterprises/{enterprisesId}/webTokens", +"httpMethod": "POST", +"id": "androidmanagement.enterprises.webTokens.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "The name of the enterprise in the form enterprises/{enterpriseId}.", +"location": "path", +"pattern": "^enterprises/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/webTokens", +"request": { +"$ref": "WebToken" +}, +"response": { +"$ref": "WebToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidmanagement" +] +} +} +} +} +}, +"provisioningInfo": { +"methods": { +"get": { +"description": "Get the device provisioning information by the identifier provided in the sign-in url.", +"flatPath": "v1/provisioningInfo/{provisioningInfoId}", +"httpMethod": "GET", +"id": "androidmanagement.provisioningInfo.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The identifier that Android Device Policy passes to the 3P sign-in page in the form of provisioningInfo/{provisioning_info}.", +"location": "path", +"pattern": "^provisioningInfo/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ProvisioningInfo" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidmanagement" +] +} +} +}, +"signupUrls": { +"methods": { +"create": { +"description": "Creates an enterprise signup URL.", +"flatPath": "v1/signupUrls", +"httpMethod": "POST", +"id": "androidmanagement.signupUrls.create", +"parameterOrder": [], +"parameters": { +"adminEmail": { +"description": "Optional. Email address used to prefill the admin field of the enterprise signup form. This value is a hint only and can be altered by the user. If allowedDomains is non-empty then this must belong to one of the allowedDomains.", +"location": "query", +"type": "string" +}, +"allowedDomains": { +"description": "Optional. A list of domains that are permitted for the admin email. The IT admin cannot enter an email address with a domain name that is not in this list. Subdomains of domains in this list are not allowed but can be allowed by adding a second entry which has *. prefixed to the domain name (e.g. *.example.com). If the field is not present or is an empty list then the IT admin is free to use any valid domain name. Personal email domains are always allowed, but will result in the creation of a managed Google Play Accounts enterprise.", +"location": "query", +"repeated": true, +"type": "string" +}, +"callbackUrl": { +"description": "The callback URL that the admin will be redirected to after successfully creating an enterprise. Before redirecting there the system will add a query parameter to this URL named enterpriseToken which will contain an opaque token to be used for the create enterprise request. The URL will be parsed then reformatted in order to add the enterpriseToken parameter, so there may be some minor formatting changes.", +"location": "query", +"type": "string" +}, +"projectId": { +"description": "The ID of the Google Cloud Platform project which will own the enterprise.", +"location": "query", +"type": "string" +} +}, +"path": "v1/signupUrls", +"response": { +"$ref": "SignupUrl" +}, +"scopes": [ +"https://www.googleapis.com/auth/androidmanagement" +] +} +} +} +}, +"revision": "20250109", +"rootUrl": "https://androidmanagement.googleapis.com/", +"schemas": { +"AdbShellCommandEvent": { +"description": "A shell command was issued over ADB via \u201cadb shell command\u201d.", +"id": "AdbShellCommandEvent", +"properties": { +"shellCmd": { +"description": "Shell command that was issued over ADB via \"adb shell command\". Redacted to empty string on organization-owned managed profile devices.", +"type": "string" +} +}, +"type": "object" +}, +"AdbShellInteractiveEvent": { +"description": "An ADB interactive shell was opened via \u201cadb shell\u201d. Intentionally empty.", +"id": "AdbShellInteractiveEvent", +"properties": {}, +"type": "object" +}, +"AdvancedSecurityOverrides": { +"description": "Advanced security settings. In most cases, setting these is not needed.", +"id": "AdvancedSecurityOverrides", +"properties": { +"commonCriteriaMode": { +"description": "Controls Common Criteria Mode\u2014security standards defined in the Common Criteria for Information Technology Security Evaluation (https://www.commoncriteriaportal.org/) (CC). Enabling Common Criteria Mode increases certain security components on a device, see CommonCriteriaMode for details.Warning: Common Criteria Mode enforces a strict security model typically only required for IT products used in national security systems and other highly sensitive organizations. Standard device use may be affected. Only enabled if required. If Common Criteria Mode is turned off after being enabled previously, all user-configured Wi-Fi networks may be lost and any enterprise-configured Wi-Fi networks that require user input may need to be reconfigured.", +"enum": [ +"COMMON_CRITERIA_MODE_UNSPECIFIED", +"COMMON_CRITERIA_MODE_DISABLED", +"COMMON_CRITERIA_MODE_ENABLED" +], +"enumDescriptions": [ +"Unspecified. Defaults to COMMON_CRITERIA_MODE_DISABLED.", +"Default. Disables Common Criteria Mode.", +"Enables Common Criteria Mode." +], +"type": "string" +}, +"contentProtectionPolicy": { +"description": "Optional. Controls whether content protection, which scans for deceptive apps, is enabled. This is supported on Android 15 and above.", +"enum": [ +"CONTENT_PROTECTION_POLICY_UNSPECIFIED", +"CONTENT_PROTECTION_DISABLED", +"CONTENT_PROTECTION_ENFORCED", +"CONTENT_PROTECTION_USER_CHOICE" +], +"enumDescriptions": [ +"Unspecified. Defaults to CONTENT_PROTECTION_DISABLED.", +"Content protection is disabled and the user cannot change this.", +"Content protection is enabled and the user cannot change this.Supported on Android 15 and above. A nonComplianceDetail with API_LEVEL is reported if the Android version is less than 15.", +"Content protection is not controlled by the policy. The user is allowed to choose the behavior of content protection.Supported on Android 15 and above. A nonComplianceDetail with API_LEVEL is reported if the Android version is less than 15." +], +"type": "string" +}, +"developerSettings": { +"description": "Controls access to developer settings: developer options and safe boot. Replaces safeBootDisabled (deprecated) and debuggingFeaturesAllowed (deprecated).", +"enum": [ +"DEVELOPER_SETTINGS_UNSPECIFIED", +"DEVELOPER_SETTINGS_DISABLED", +"DEVELOPER_SETTINGS_ALLOWED" +], +"enumDescriptions": [ +"Unspecified. Defaults to DEVELOPER_SETTINGS_DISABLED.", +"Default. Disables all developer settings and prevents the user from accessing them.", +"Allows all developer settings. The user can access and optionally configure the settings." +], +"type": "string" +}, +"googlePlayProtectVerifyApps": { +"description": "Whether Google Play Protect verification (https://support.google.com/accounts/answer/2812853) is enforced. Replaces ensureVerifyAppsEnabled (deprecated).", +"enum": [ +"GOOGLE_PLAY_PROTECT_VERIFY_APPS_UNSPECIFIED", +"VERIFY_APPS_ENFORCED", +"VERIFY_APPS_USER_CHOICE" +], +"enumDescriptions": [ +"Unspecified. Defaults to VERIFY_APPS_ENFORCED.", +"Default. Force-enables app verification.", +"Allows the user to choose whether to enable app verification." +], +"type": "string" +}, +"mtePolicy": { +"description": "Optional. Controls Memory Tagging Extension (MTE) (https://source.android.com/docs/security/test/memory-safety/arm-mte) on the device. The device needs to be rebooted to apply changes to the MTE policy.", +"enum": [ +"MTE_POLICY_UNSPECIFIED", +"MTE_USER_CHOICE", +"MTE_ENFORCED", +"MTE_DISABLED" +], +"enumDescriptions": [ +"Unspecified. Defaults to MTE_USER_CHOICE.", +"The user can choose to enable or disable MTE on the device if the device supports this.", +"MTE is enabled on the device and the user is not allowed to change this setting. This can be set on fully managed devices and work profiles on company-owned devices. A nonComplianceDetail with MANAGEMENT_MODE is reported for other management modes. A nonComplianceDetail with DEVICE_INCOMPATIBLE is reported if the device does not support MTE.Supported on Android 14 and above. A nonComplianceDetail with API_LEVEL is reported if the Android version is less than 14.", +"MTE is disabled on the device and the user is not allowed to change this setting. This applies only on fully managed devices. In other cases, a nonComplianceDetail with MANAGEMENT_MODE is reported. A nonComplianceDetail with DEVICE_INCOMPATIBLE is reported if the device does not support MTE.Supported on Android 14 and above. A nonComplianceDetail with API_LEVEL is reported if the Android version is less than 14." +], +"type": "string" +}, +"personalAppsThatCanReadWorkNotifications": { +"description": "Personal apps that can read work profile notifications using a NotificationListenerService (https://developer.android.com/reference/android/service/notification/NotificationListenerService). By default, no personal apps (aside from system apps) can read work notifications. Each value in the list must be a package name.", +"items": { +"type": "string" +}, +"type": "array" +}, +"untrustedAppsPolicy": { +"description": "The policy for untrusted apps (apps from unknown sources) enforced on the device. Replaces install_unknown_sources_allowed (deprecated).", +"enum": [ +"UNTRUSTED_APPS_POLICY_UNSPECIFIED", +"DISALLOW_INSTALL", +"ALLOW_INSTALL_IN_PERSONAL_PROFILE_ONLY", +"ALLOW_INSTALL_DEVICE_WIDE" +], +"enumDescriptions": [ +"Unspecified. Defaults to DISALLOW_INSTALL.", +"Default. Disallow untrusted app installs on entire device.", +"For devices with work profiles, allow untrusted app installs in the device's personal profile only.", +"Allow untrusted app installs on entire device." +], +"type": "string" +} +}, +"type": "object" +}, +"AlwaysOnVpnPackage": { +"description": "Configuration for an always-on VPN connection.", +"id": "AlwaysOnVpnPackage", +"properties": { +"lockdownEnabled": { +"description": "Disallows networking when the VPN is not connected.", +"type": "boolean" +}, +"packageName": { +"description": "The package name of the VPN app.", +"type": "string" +} +}, +"type": "object" +}, +"ApiLevelCondition": { +"deprecated": true, +"description": "A compliance rule condition which is satisfied if the Android Framework API level on the device doesn't meet a minimum requirement. There can only be one rule with this type of condition per policy.", +"id": "ApiLevelCondition", +"properties": { +"minApiLevel": { +"description": "The minimum desired Android Framework API level. If the device doesn't meet the minimum requirement, this condition is satisfied. Must be greater than zero.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"AppProcessInfo": { +"description": "Information about a process. It contains process name, start time, app Uid, app Pid, seinfo tag, hash of the base APK.", +"id": "AppProcessInfo", +"properties": { +"apkSha256Hash": { +"description": "SHA-256 hash of the base APK, in hexadecimal format.", +"type": "string" +}, +"packageNames": { +"description": "Package names of all packages that are associated with the particular user ID. In most cases, this will be a single package name, the package that has been assigned that user ID. If multiple application share a UID then all packages sharing UID will be included.", +"items": { +"type": "string" +}, +"type": "array" +}, +"pid": { +"description": "Process ID.", +"format": "int32", +"type": "integer" +}, +"processName": { +"description": "Process name.", +"type": "string" +}, +"seinfo": { +"description": "SELinux policy info.", +"type": "string" +}, +"startTime": { +"description": "Process start time.", +"format": "google-datetime", +"type": "string" +}, +"uid": { +"description": "UID of the package.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"AppProcessStartEvent": { +"description": "An app process was started. This is available device-wide on fully managed devices and within the work profile on organization-owned devices with a work profile.", +"id": "AppProcessStartEvent", +"properties": { +"processInfo": { +"$ref": "AppProcessInfo", +"description": "Information about a process." +} +}, +"type": "object" +}, +"AppTrackInfo": { +"description": "Id to name association of a app track.", +"id": "AppTrackInfo", +"properties": { +"trackAlias": { +"description": "The track name associated with the trackId, set in the Play Console. The name is modifiable from Play Console.", +"type": "string" +}, +"trackId": { +"description": "The unmodifiable unique track identifier, taken from the releaseTrackId in the URL of the Play Console page that displays the app\u2019s track information.", +"type": "string" +} +}, +"type": "object" +}, +"AppVersion": { +"description": "This represents a single version of the app.", +"id": "AppVersion", +"properties": { +"production": { +"description": "If the value is True, it indicates that this version is a production track.", +"type": "boolean" +}, +"trackIds": { +"description": "Track identifiers that the app version is published in. This does not include the production track (see production instead).", +"items": { +"type": "string" +}, +"type": "array" +}, +"versionCode": { +"description": "Unique increasing identifier for the app version.", +"format": "int32", +"type": "integer" +}, +"versionString": { +"description": "The string used in the Play store by the app developer to identify the version. The string is not necessarily unique or localized (for example, the string could be \"1.4\").", +"type": "string" +} +}, +"type": "object" +}, +"Application": { +"description": "Information about an app.", +"id": "Application", +"properties": { +"appPricing": { +"description": "Whether this app is free, free with in-app purchases, or paid. If the pricing is unspecified, this means the app is not generally available anymore (even though it might still be available to people who own it).", +"enum": [ +"APP_PRICING_UNSPECIFIED", +"FREE", +"FREE_WITH_IN_APP_PURCHASE", +"PAID" +], +"enumDescriptions": [ +"Unknown pricing, used to denote an approved app that is not generally available.", +"The app is free.", +"The app is free, but offers in-app purchases.", +"The app is paid." +], +"type": "string" +}, +"appTracks": { +"description": "Application tracks visible to the enterprise.", +"items": { +"$ref": "AppTrackInfo" +}, +"type": "array" +}, +"appVersions": { +"description": "Versions currently available for this app.", +"items": { +"$ref": "AppVersion" +}, +"type": "array" +}, +"author": { +"description": "The name of the author of the apps (for example, the app developer).", +"type": "string" +}, +"availableCountries": { +"description": "The countries which this app is available in as per ISO 3166-1 alpha-2.", +"items": { +"type": "string" +}, +"type": "array" +}, +"category": { +"description": "The app category (e.g. RACING, SOCIAL, etc.)", +"type": "string" +}, +"contentRating": { +"description": "The content rating for this app.", +"enum": [ +"CONTENT_RATING_UNSPECIFIED", +"THREE_YEARS", +"SEVEN_YEARS", +"TWELVE_YEARS", +"SIXTEEN_YEARS", +"EIGHTEEN_YEARS" +], +"enumDescriptions": [ +"Unspecified.", +"Content suitable for ages 3 and above only.", +"Content suitable for ages 7 and above only.", +"Content suitable for ages 12 and above only.", +"Content suitable for ages 16 and above only.", +"Content suitable for ages 18 and above only." +], +"type": "string" +}, +"description": { +"description": "The localized promotional description, if available.", +"type": "string" +}, +"distributionChannel": { +"description": "How and to whom the package is made available.", +"enum": [ +"DISTRIBUTION_CHANNEL_UNSPECIFIED", +"PUBLIC_GOOGLE_HOSTED", +"PRIVATE_GOOGLE_HOSTED", +"PRIVATE_SELF_HOSTED" +], +"enumDescriptions": [ +"Unspecified.", +"Package is available through the Play store and not restricted to a specific enterprise.", +"Package is a private app (restricted to an enterprise) but hosted by Google.", +"Private app (restricted to an enterprise) and is privately hosted." +], +"type": "string" +}, +"features": { +"description": "Noteworthy features (if any) of this app.", +"items": { +"enum": [ +"APP_FEATURE_UNSPECIFIED", +"VPN_APP" +], +"enumDescriptions": [ +"Unspecified.", +"The app is a VPN." +], +"type": "string" +}, +"type": "array" +}, +"fullDescription": { +"description": "Full app description, if available.", +"type": "string" +}, +"iconUrl": { +"description": "A link to an image that can be used as an icon for the app. This image is suitable for use up to a pixel size of 512 x 512.", +"type": "string" +}, +"managedProperties": { +"description": "The set of managed properties available to be pre-configured for the app.", +"items": { +"$ref": "ManagedProperty" +}, +"type": "array" +}, +"minAndroidSdkVersion": { +"description": "The minimum Android SDK necessary to run the app.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "The name of the app in the form enterprises/{enterprise}/applications/{package_name}.", +"type": "string" +}, +"permissions": { +"description": "The permissions required by the app.", +"items": { +"$ref": "ApplicationPermission" +}, +"type": "array" +}, +"playStoreUrl": { +"description": "A link to the (consumer) Google Play details page for the app.", +"type": "string" +}, +"recentChanges": { +"description": "A localised description of the recent changes made to the app.", +"type": "string" +}, +"screenshotUrls": { +"description": "A list of screenshot links representing the app.", +"items": { +"type": "string" +}, +"type": "array" +}, +"smallIconUrl": { +"description": "A link to a smaller image that can be used as an icon for the app. This image is suitable for use up to a pixel size of 128 x 128.", +"type": "string" +}, +"title": { +"description": "The title of the app. Localized.", +"type": "string" +}, +"updateTime": { +"description": "Output only. The approximate time (within 7 days) the app was last published.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ApplicationEvent": { +"description": "An app-related event.", +"id": "ApplicationEvent", +"properties": { +"createTime": { +"description": "The creation time of the event.", +"format": "google-datetime", +"type": "string" +}, +"eventType": { +"description": "App event type.", +"enum": [ +"APPLICATION_EVENT_TYPE_UNSPECIFIED", +"INSTALLED", +"CHANGED", +"DATA_CLEARED", +"REMOVED", +"REPLACED", +"RESTARTED", +"PINNED", +"UNPINNED" +], +"enumDescriptions": [ +"This value is disallowed.", +"The app was installed.", +"The app was changed, for example, a component was enabled or disabled.", +"The app data was cleared.", +"The app was removed.", +"A new version of the app has been installed, replacing the old version.", +"The app was restarted.", +"The app was pinned to the foreground.", +"The app was unpinned." +], +"type": "string" +} +}, +"type": "object" +}, +"ApplicationPermission": { +"description": "A permission required by the app.", +"id": "ApplicationPermission", +"properties": { +"description": { +"description": "A longer description of the permission, providing more detail on what it affects. Localized.", +"type": "string" +}, +"name": { +"description": "The name of the permission. Localized.", +"type": "string" +}, +"permissionId": { +"description": "An opaque string uniquely identifying the permission. Not localized.", +"type": "string" +} +}, +"type": "object" +}, +"ApplicationPolicy": { +"description": "Policy for an individual app. Note: Application availability on a given device cannot be changed using this policy if installAppsDisabled is enabled. The maximum number of applications that you can specify per policy is 3,000.", +"id": "ApplicationPolicy", +"properties": { +"accessibleTrackIds": { +"description": "List of the app\u2019s track IDs that a device belonging to the enterprise can access. If the list contains multiple track IDs, devices receive the latest version among all accessible tracks. If the list contains no track IDs, devices only have access to the app\u2019s production track. More details about each track are available in AppTrackInfo.", +"items": { +"type": "string" +}, +"type": "array" +}, +"alwaysOnVpnLockdownExemption": { +"description": "Specifies whether the app is allowed networking when the VPN is not connected and alwaysOnVpnPackage.lockdownEnabled is enabled. If set to VPN_LOCKDOWN_ENFORCED, the app is not allowed networking, and if set to VPN_LOCKDOWN_EXEMPTION, the app is allowed networking. Only supported on devices running Android 10 and above. If this is not supported by the device, the device will contain a NonComplianceDetail with non_compliance_reason set to API_LEVEL and a fieldPath. If this is not applicable to the app, the device will contain a NonComplianceDetail with non_compliance_reason set to UNSUPPORTED and a fieldPath. The fieldPath is set to applications[i].alwaysOnVpnLockdownExemption, where i is the index of the package in the applications policy.", +"enum": [ +"ALWAYS_ON_VPN_LOCKDOWN_EXEMPTION_UNSPECIFIED", +"VPN_LOCKDOWN_ENFORCED", +"VPN_LOCKDOWN_EXEMPTION" +], +"enumDescriptions": [ +"Unspecified. Defaults to VPN_LOCKDOWN_ENFORCED.", +"The app respects the always-on VPN lockdown setting.", +"The app is exempt from the always-on VPN lockdown setting." +], +"type": "string" +}, +"autoUpdateMode": { +"description": "Controls the auto-update mode for the app.", +"enum": [ +"AUTO_UPDATE_MODE_UNSPECIFIED", +"AUTO_UPDATE_DEFAULT", +"AUTO_UPDATE_POSTPONED", +"AUTO_UPDATE_HIGH_PRIORITY" +], +"enumDescriptions": [ +"Unspecified. Defaults to AUTO_UPDATE_DEFAULT.", +"The default update mode.The app is automatically updated with low priority to minimize the impact on the user.The app is updated when all of the following constraints are met: The device is not actively used. The device is connected to an unmetered network. The device is charging. The app to be updated is not running in the foreground.The device is notified about a new update within 24 hours after it is published by the developer, after which the app is updated the next time the constraints above are met.", +"The app is not automatically updated for a maximum of 90 days after the app becomes out of date.90 days after the app becomes out of date, the latest available version is installed automatically with low priority (see AUTO_UPDATE_DEFAULT). After the app is updated it is not automatically updated again until 90 days after it becomes out of date again.The user can still manually update the app from the Play Store at any time.", +"The app is updated as soon as possible. No constraints are applied.The device is notified as soon as possible about a new update after it becomes available.*NOTE:* Updates to apps with larger deployments across Android's ecosystem can take up to 24h." +], +"type": "string" +}, +"connectedWorkAndPersonalApp": { +"description": "Controls whether the app can communicate with itself across a device\u2019s work and personal profiles, subject to user consent.", +"enum": [ +"CONNECTED_WORK_AND_PERSONAL_APP_UNSPECIFIED", +"CONNECTED_WORK_AND_PERSONAL_APP_DISALLOWED", +"CONNECTED_WORK_AND_PERSONAL_APP_ALLOWED" +], +"enumDescriptions": [ +"Unspecified. Defaults to CONNECTED_WORK_AND_PERSONAL_APPS_DISALLOWED.", +"Default. Prevents the app from communicating cross-profile.", +"Allows the app to communicate across profiles after receiving user consent." +], +"type": "string" +}, +"credentialProviderPolicy": { +"description": "Optional. Whether the app is allowed to act as a credential provider on Android 14 and above.", +"enum": [ +"CREDENTIAL_PROVIDER_POLICY_UNSPECIFIED", +"CREDENTIAL_PROVIDER_ALLOWED" +], +"enumDescriptions": [ +"Unspecified. The behaviour is governed by credentialProviderPolicyDefault.", +"App is allowed to act as a credential provider." +], +"type": "string" +}, +"defaultPermissionPolicy": { +"description": "The default policy for all permissions requested by the app. If specified, this overrides the policy-level default_permission_policy which applies to all apps. It does not override the permission_grants which applies to all apps.", +"enum": [ +"PERMISSION_POLICY_UNSPECIFIED", +"PROMPT", +"GRANT", +"DENY" +], +"enumDescriptions": [ +"Policy not specified. If no policy is specified for a permission at any level, then the PROMPT behavior is used by default.", +"Prompt the user to grant a permission.", +"Automatically grant a permission.On Android 12 and above, READ_SMS (https://developer.android.com/reference/android/Manifest.permission#READ_SMS) and following sensor-related permissions can only be granted on fully managed devices: ACCESS_FINE_LOCATION (https://developer.android.com/reference/android/Manifest.permission#ACCESS_FINE_LOCATION) ACCESS_BACKGROUND_LOCATION (https://developer.android.com/reference/android/Manifest.permission#ACCESS_BACKGROUND_LOCATION) ACCESS_COARSE_LOCATION (https://developer.android.com/reference/android/Manifest.permission#ACCESS_COARSE_LOCATION) CAMERA (https://developer.android.com/reference/android/Manifest.permission#CAMERA) RECORD_AUDIO (https://developer.android.com/reference/android/Manifest.permission#RECORD_AUDIO) ACTIVITY_RECOGNITION (https://developer.android.com/reference/android/Manifest.permission#ACTIVITY_RECOGNITION) BODY_SENSORS (https://developer.android.com/reference/android/Manifest.permission#BODY_SENSORS)", +"Automatically deny a permission." +], +"type": "string" +}, +"delegatedScopes": { +"description": "The scopes delegated to the app from Android Device Policy. These provide additional privileges for the applications they are applied to.", +"items": { +"enum": [ +"DELEGATED_SCOPE_UNSPECIFIED", +"CERT_INSTALL", +"MANAGED_CONFIGURATIONS", +"BLOCK_UNINSTALL", +"PERMISSION_GRANT", +"PACKAGE_ACCESS", +"ENABLE_SYSTEM_APP", +"NETWORK_ACTIVITY_LOGS", +"SECURITY_LOGS", +"CERT_SELECTION" +], +"enumDescriptions": [ +"No delegation scope specified.", +"Grants access to certificate installation and management. This scope can be delegated to multiple applications.", +"Grants access to managed configurations management. This scope can be delegated to multiple applications.", +"Grants access to blocking uninstallation. This scope can be delegated to multiple applications.", +"Grants access to permission policy and permission grant state. This scope can be delegated to multiple applications.", +"Grants access to package access state. This scope can be delegated to multiple applications.", +"Grants access for enabling system apps. This scope can be delegated to multiple applications.", +"Grants access to network activity logs. Allows the delegated application to call setNetworkLoggingEnabled (https://developer.android.com/reference/android/app/admin/DevicePolicyManager#setNetworkLoggingEnabled%28android.content.ComponentName,%20boolean%29), isNetworkLoggingEnabled (https://developer.android.com/reference/android/app/admin/DevicePolicyManager#isNetworkLoggingEnabled%28android.content.ComponentName%29) and retrieveNetworkLogs (https://developer.android.com/reference/android/app/admin/DevicePolicyManager#retrieveNetworkLogs%28android.content.ComponentName,%20long%29) methods. This scope can be delegated to at most one application. Supported for fully managed devices on Android 10 and above. Supported for a work profile on Android 12 and above. When delegation is supported and set, NETWORK_ACTIVITY_LOGS is ignored.", +"Grants access to security logs. Allows the delegated application to call setSecurityLoggingEnabled (https://developer.android.com/reference/android/app/admin/DevicePolicyManager#setSecurityLoggingEnabled%28android.content.ComponentName,%20boolean%29), isSecurityLoggingEnabled (https://developer.android.com/reference/android/app/admin/DevicePolicyManager#isSecurityLoggingEnabled%28android.content.ComponentName%29), retrieveSecurityLogs (https://developer.android.com/reference/android/app/admin/DevicePolicyManager#retrieveSecurityLogs%28android.content.ComponentName%29) and retrievePreRebootSecurityLogs (https://developer.android.com/reference/android/app/admin/DevicePolicyManager#retrievePreRebootSecurityLogs%28android.content.ComponentName%29) methods. This scope can be delegated to at most one application. Supported for fully managed devices and company-owned devices with a work profile on Android 12 and above. When delegation is supported and set, SECURITY_LOGS is ignored.", +"Grants access to selection of KeyChain certificates on behalf of requesting apps. Once granted, the delegated application will start receiving DelegatedAdminReceiver#onChoosePrivateKeyAlias (https://developer.android.com/reference/android/app/admin/DelegatedAdminReceiver#onChoosePrivateKeyAlias%28android.content.Context,%20android.content.Intent,%20int,%20android.net.Uri,%20java.lang.String%29). Allows the delegated application to call grantKeyPairToApp (https://developer.android.com/reference/android/app/admin/DevicePolicyManager#grantKeyPairToApp%28android.content.ComponentName,%20java.lang.String,%20java.lang.String%29) and revokeKeyPairFromApp (https://developer.android.com/reference/android/app/admin/DevicePolicyManager#revokeKeyPairFromApp%28android.content.ComponentName,%20java.lang.String,%20java.lang.String%29) methods. This scope can be delegated to at most one application. choosePrivateKeyRules must be empty and privateKeySelectionEnabled has no effect if certificate selection is delegated to an application." +], +"type": "string" +}, +"type": "array" +}, +"disabled": { +"description": "Whether the app is disabled. When disabled, the app data is still preserved.", +"type": "boolean" +}, +"extensionConfig": { +"$ref": "ExtensionConfig", +"description": "Configuration to enable this app as an extension app, with the capability of interacting with Android Device Policy offline.This field can be set for at most one app." +}, +"installConstraint": { +"description": "Optional. The constraints for installing the app. You can specify a maximum of one InstallConstraint. Multiple constraints are rejected.", +"items": { +"$ref": "InstallConstraint" +}, +"type": "array" +}, +"installPriority": { +"description": "Optional. Amongst apps with installType set to: FORCE_INSTALLED PREINSTALLEDthis controls the relative priority of installation. A value of 0 (default) means this app has no priority over other apps. For values between 1 and 10,000, a lower value means a higher priority. Values outside of the range 0 to 10,000 inclusive are rejected.", +"format": "int32", +"type": "integer" +}, +"installType": { +"description": "The type of installation to perform.", +"enum": [ +"INSTALL_TYPE_UNSPECIFIED", +"PREINSTALLED", +"FORCE_INSTALLED", +"BLOCKED", +"AVAILABLE", +"REQUIRED_FOR_SETUP", +"KIOSK" +], +"enumDescriptions": [ +"Unspecified. Defaults to AVAILABLE.", +"The app is automatically installed and can be removed by the user.", +"The app is automatically installed regardless of a set maintenance window and can't be removed by the user.", +"The app is blocked and can't be installed. If the app was installed under a previous policy, it will be uninstalled. This also blocks its instant app functionality.", +"The app is available to install.", +"The app is automatically installed and can't be removed by the user and will prevent setup from completion until installation is complete.", +"The app is automatically installed in kiosk mode: it's set as the preferred home intent and whitelisted for lock task mode. Device setup won't complete until the app is installed. After installation, users won't be able to remove the app. You can only set this installType for one app per policy. When this is present in the policy, status bar will be automatically disabled." +], +"type": "string" +}, +"lockTaskAllowed": { +"deprecated": true, +"description": "Whether the app is allowed to lock itself in full-screen mode. DEPRECATED. Use InstallType KIOSK or kioskCustomLauncherEnabled to configure a dedicated device.", +"type": "boolean" +}, +"managedConfiguration": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Managed configuration applied to the app. The format for the configuration is dictated by the ManagedProperty values supported by the app. Each field name in the managed configuration must match the key field of the ManagedProperty. The field value must be compatible with the type of the ManagedProperty: *type* *JSON value* BOOL true or false STRING string INTEGER number CHOICE string MULTISELECT array of strings HIDDEN string BUNDLE_ARRAY array of objects ", +"type": "object" +}, +"managedConfigurationTemplate": { +"$ref": "ManagedConfigurationTemplate", +"description": "The managed configurations template for the app, saved from the managed configurations iframe. This field is ignored if managed_configuration is set." +}, +"minimumVersionCode": { +"description": "The minimum version of the app that runs on the device. If set, the device attempts to update the app to at least this version code. If the app is not up-to-date, the device will contain a NonComplianceDetail with non_compliance_reason set to APP_NOT_UPDATED. The app must already be published to Google Play with a version code greater than or equal to this value. At most 20 apps may specify a minimum version code per policy.", +"format": "int32", +"type": "integer" +}, +"packageName": { +"description": "The package name of the app. For example, com.google.android.youtube for the YouTube app.", +"type": "string" +}, +"permissionGrants": { +"description": "Explicit permission grants or denials for the app. These values override the default_permission_policy and permission_grants which apply to all apps.", +"items": { +"$ref": "PermissionGrant" +}, +"type": "array" +}, +"userControlSettings": { +"description": "Optional. Specifies whether user control is permitted for the app. User control includes user actions like force-stopping and clearing app data. Supported on Android 11 and above.", +"enum": [ +"USER_CONTROL_SETTINGS_UNSPECIFIED", +"USER_CONTROL_ALLOWED", +"USER_CONTROL_DISALLOWED" +], +"enumDescriptions": [ +"Uses the default behaviour of the app to determine if user control is allowed or disallowed. For most apps, user control is allowed by default, but for some critical apps such as companion apps (extensionConfig set to true), kiosk apps and other critical system apps, user control is disallowed.", +"User control is allowed for the app. Kiosk apps can use this to allow user control.", +"User control is disallowed for the app. API_LEVEL is reported if the Android version is less than 11." +], +"type": "string" +}, +"workProfileWidgets": { +"description": "Specifies whether the app installed in the work profile is allowed to add widgets to the home screen.", +"enum": [ +"WORK_PROFILE_WIDGETS_UNSPECIFIED", +"WORK_PROFILE_WIDGETS_ALLOWED", +"WORK_PROFILE_WIDGETS_DISALLOWED" +], +"enumDescriptions": [ +"Unspecified. Defaults to work_profile_widgets_default", +"Work profile widgets are allowed. This means the application will be able to add widgets to the home screen.", +"Work profile widgets are disallowed. This means the application will not be able to add widgets to the home screen." +], +"type": "string" +} +}, +"type": "object" +}, +"ApplicationReport": { +"description": "Information reported about an installed app.", +"id": "ApplicationReport", +"properties": { +"applicationSource": { +"description": "The source of the package.", +"enum": [ +"APPLICATION_SOURCE_UNSPECIFIED", +"SYSTEM_APP_FACTORY_VERSION", +"SYSTEM_APP_UPDATED_VERSION", +"INSTALLED_FROM_PLAY_STORE" +], +"enumDescriptions": [ +"The app was sideloaded from an unspecified source.", +"This is a system app from the device's factory image.", +"This is an updated system app.", +"The app was installed from the Google Play Store." +], +"type": "string" +}, +"displayName": { +"description": "The display name of the app.", +"type": "string" +}, +"events": { +"description": "The list of app events which have occurred in the last 30 hours.", +"items": { +"$ref": "ApplicationEvent" +}, +"type": "array" +}, +"installerPackageName": { +"description": "The package name of the app that installed this app.", +"type": "string" +}, +"keyedAppStates": { +"description": "List of keyed app states reported by the app.", +"items": { +"$ref": "KeyedAppState" +}, +"type": "array" +}, +"packageName": { +"description": "Package name of the app.", +"type": "string" +}, +"packageSha256Hash": { +"description": "The SHA-256 hash of the app's APK file, which can be used to verify the app hasn't been modified. Each byte of the hash value is represented as a two-digit hexadecimal number.", +"type": "string" +}, +"signingKeyCertFingerprints": { +"description": "The SHA-1 hash of each android.content.pm.Signature (https://developer.android.com/reference/android/content/pm/Signature.html) associated with the app package. Each byte of each hash value is represented as a two-digit hexadecimal number.", +"items": { +"type": "string" +}, +"type": "array" +}, +"state": { +"description": "Application state.", +"enum": [ +"APPLICATION_STATE_UNSPECIFIED", +"REMOVED", +"INSTALLED" +], +"enumDescriptions": [ +"App state is unspecified", +"App was removed from the device", +"App is installed on the device" +], +"type": "string" +}, +"userFacingType": { +"description": "Whether the app is user facing.", +"enum": [ +"USER_FACING_TYPE_UNSPECIFIED", +"NOT_USER_FACING", +"USER_FACING" +], +"enumDescriptions": [ +"App user facing type is unspecified.", +"App is not user facing.", +"App is user facing." +], +"type": "string" +}, +"versionCode": { +"description": "The app version code, which can be used to determine whether one version is more recent than another.", +"format": "int32", +"type": "integer" +}, +"versionName": { +"description": "The app version as displayed to the user.", +"type": "string" +} +}, +"type": "object" +}, +"ApplicationReportingSettings": { +"description": "Settings controlling the behavior of application reports.", +"id": "ApplicationReportingSettings", +"properties": { +"includeRemovedApps": { +"description": "Whether removed apps are included in application reports.", +"type": "boolean" +} +}, +"type": "object" +}, +"BatchUsageLogEvents": { +"description": "Batched event logs of events from the device.", +"id": "BatchUsageLogEvents", +"properties": { +"device": { +"description": "If present, the name of the device in the form \u2018enterprises/{enterpriseId}/devices/{deviceId}\u2019", +"type": "string" +}, +"retrievalTime": { +"description": "The device timestamp when the batch of events were collected from the device.", +"format": "google-datetime", +"type": "string" +}, +"usageLogEvents": { +"description": "The list of UsageLogEvent that were reported by the device, sorted chronologically by the event time.", +"items": { +"$ref": "UsageLogEvent" +}, +"type": "array" +}, +"user": { +"description": "If present, the resource name of the user that owns this device in the form \u2018enterprises/{enterpriseId}/users/{userId}\u2019.", +"type": "string" +} +}, +"type": "object" +}, +"BlockAction": { +"description": "An action to block access to apps and data on a fully managed device or in a work profile. This action also triggers a device or work profile to displays a user-facing notification with information (where possible) on how to correct the compliance issue. Note: wipeAction must also be specified.", +"id": "BlockAction", +"properties": { +"blockAfterDays": { +"description": "Number of days the policy is non-compliant before the device or work profile is blocked. To block access immediately, set to 0. blockAfterDays must be less than wipeAfterDays.", +"format": "int32", +"type": "integer" +}, +"blockScope": { +"description": "Specifies the scope of this BlockAction. Only applicable to devices that are company-owned.", +"enum": [ +"BLOCK_SCOPE_UNSPECIFIED", +"BLOCK_SCOPE_WORK_PROFILE", +"BLOCK_SCOPE_DEVICE" +], +"enumDescriptions": [ +"Unspecified. Defaults to BLOCK_SCOPE_WORK_PROFILE.", +"Block action is only applied to apps in the work profile. Apps in the personal profile are unaffected.", +"Block action is applied to the entire device, including apps in the personal profile." +], +"type": "string" +} +}, +"type": "object" +}, +"CertAuthorityInstalledEvent": { +"description": "A new root certificate was installed into the system's trusted credential storage. This is available device-wide on fully managed devices and within the work profile on organization-owned devices with a work profile.", +"id": "CertAuthorityInstalledEvent", +"properties": { +"certificate": { +"description": "Subject of the certificate.", +"type": "string" +}, +"success": { +"description": "Whether the installation event succeeded.", +"type": "boolean" +}, +"userId": { +"description": "The user in which the certificate install event happened. Only available for devices running Android 11 and above.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"CertAuthorityRemovedEvent": { +"description": "A root certificate was removed from the system's trusted credential storage. This is available device-wide on fully managed devices and within the work profile on organization-owned devices with a work profile.", +"id": "CertAuthorityRemovedEvent", +"properties": { +"certificate": { +"description": "Subject of the certificate.", +"type": "string" +}, +"success": { +"description": "Whether the removal succeeded.", +"type": "boolean" +}, +"userId": { +"description": "The user in which the certificate removal event occurred. Only available for devices running Android 11 and above.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"CertValidationFailureEvent": { +"description": "An X.509v3 certificate failed to validate, currently this validation is performed on the Wi-FI access point and failure may be due to a mismatch upon server certificate validation. However it may in the future include other validation events of an X.509v3 certificate.", +"id": "CertValidationFailureEvent", +"properties": { +"failureReason": { +"description": "The reason why certification validation failed.", +"type": "string" +} +}, +"type": "object" +}, +"ChoosePrivateKeyRule": { +"description": "Controls apps' access to private keys. The rule determines which private key, if any, Android Device Policy grants to the specified app. Access is granted either when the app calls KeyChain.choosePrivateKeyAlias (https://developer.android.com/reference/android/security/KeyChain#choosePrivateKeyAlias%28android.app.Activity,%20android.security.KeyChainAliasCallback,%20java.lang.String[],%20java.security.Principal[],%20java.lang.String,%20int,%20java.lang.String%29) (or any overloads) to request a private key alias for a given URL, or for rules that are not URL-specific (that is, if urlPattern is not set, or set to the empty string or .*) on Android 11 and above, directly so that the app can call KeyChain.getPrivateKey (https://developer.android.com/reference/android/security/KeyChain#getPrivateKey%28android.content.Context,%20java.lang.String%29), without first having to call KeyChain.choosePrivateKeyAlias.When an app calls KeyChain.choosePrivateKeyAlias if more than one choosePrivateKeyRules matches, the last matching rule defines which key alias to return.", +"id": "ChoosePrivateKeyRule", +"properties": { +"packageNames": { +"description": "The package names to which this rule applies. The hash of the signing certificate for each app is verified against the hash provided by Play. If no package names are specified, then the alias is provided to all apps that call KeyChain.choosePrivateKeyAlias (https://developer.android.com/reference/android/security/KeyChain#choosePrivateKeyAlias%28android.app.Activity,%20android.security.KeyChainAliasCallback,%20java.lang.String[],%20java.security.Principal[],%20java.lang.String,%20int,%20java.lang.String%29) or any overloads (but not without calling KeyChain.choosePrivateKeyAlias, even on Android 11 and above). Any app with the same Android UID as a package specified here will have access when they call KeyChain.choosePrivateKeyAlias.", +"items": { +"type": "string" +}, +"type": "array" +}, +"privateKeyAlias": { +"description": "The alias of the private key to be used.", +"type": "string" +}, +"urlPattern": { +"description": "The URL pattern to match against the URL of the request. If not set or empty, it matches all URLs. This uses the regular expression syntax of java.util.regex.Pattern.", +"type": "string" +} +}, +"type": "object" +}, +"ClearAppsDataParams": { +"description": "Parameters associated with the CLEAR_APP_DATA command to clear the data of specified apps from the device.", +"id": "ClearAppsDataParams", +"properties": { +"packageNames": { +"description": "The package names of the apps whose data will be cleared when the command is executed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ClearAppsDataStatus": { +"description": "Status of the CLEAR_APP_DATA command to clear the data of specified apps from the device.", +"id": "ClearAppsDataStatus", +"properties": { +"results": { +"additionalProperties": { +"$ref": "PerAppResult" +}, +"description": "The per-app results, a mapping from package names to the respective clearing result.", +"type": "object" +} +}, +"type": "object" +}, +"Command": { +"description": "A command.", +"id": "Command", +"properties": { +"clearAppsDataParams": { +"$ref": "ClearAppsDataParams", +"description": "Parameters for the CLEAR_APP_DATA command to clear the data of specified apps from the device. See ClearAppsDataParams. If this is set, then it is suggested that type should not be set. In this case, the server automatically sets it to CLEAR_APP_DATA. It is also acceptable to explicitly set type to CLEAR_APP_DATA." +}, +"clearAppsDataStatus": { +"$ref": "ClearAppsDataStatus", +"description": "Output only. Status of the CLEAR_APP_DATA command to clear the data of specified apps from the device. See ClearAppsDataStatus.", +"readOnly": true +}, +"createTime": { +"description": "The timestamp at which the command was created. The timestamp is automatically generated by the server.", +"format": "google-datetime", +"type": "string" +}, +"duration": { +"description": "The duration for which the command is valid. The command will expire if not executed by the device during this time. The default duration if unspecified is ten minutes. There is no maximum duration.", +"format": "google-duration", +"type": "string" +}, +"errorCode": { +"description": "If the command failed, an error code explaining the failure. This is not set when the command is cancelled by the caller.", +"enum": [ +"COMMAND_ERROR_CODE_UNSPECIFIED", +"UNKNOWN", +"API_LEVEL", +"MANAGEMENT_MODE", +"INVALID_VALUE", +"UNSUPPORTED" +], +"enumDescriptions": [ +"There was no error.", +"An unknown error occurred.", +"The API level of the device does not support this command.", +"The management mode (profile owner, device owner, etc.) does not support the command.", +"The command has an invalid parameter value.", +"The device doesn't support the command. Updating Android Device Policy to the latest version may resolve the issue." +], +"type": "string" +}, +"newPassword": { +"description": "For commands of type RESET_PASSWORD, optionally specifies the new password. Note: The new password must be at least 6 characters long if it is numeric in case of Android 14 devices. Else the command will fail with INVALID_VALUE.", +"type": "string" +}, +"resetPasswordFlags": { +"description": "For commands of type RESET_PASSWORD, optionally specifies flags.", +"items": { +"enum": [ +"RESET_PASSWORD_FLAG_UNSPECIFIED", +"REQUIRE_ENTRY", +"DO_NOT_ASK_CREDENTIALS_ON_BOOT", +"LOCK_NOW" +], +"enumDescriptions": [ +"This value is ignored.", +"Don't allow other admins to change the password again until the user has entered it.", +"Don't ask for user credentials on device boot.", +"Lock the device after password reset." +], +"type": "string" +}, +"type": "array" +}, +"startLostModeParams": { +"$ref": "StartLostModeParams", +"description": "Parameters for the START_LOST_MODE command to put the device into lost mode. See StartLostModeParams. If this is set, then it is suggested that type should not be set. In this case, the server automatically sets it to START_LOST_MODE. It is also acceptable to explicitly set type to START_LOST_MODE." +}, +"startLostModeStatus": { +"$ref": "StartLostModeStatus", +"description": "Output only. Status of the START_LOST_MODE command to put the device into lost mode. See StartLostModeStatus.", +"readOnly": true +}, +"stopLostModeParams": { +"$ref": "StopLostModeParams", +"description": "Parameters for the STOP_LOST_MODE command to take the device out of lost mode. See StopLostModeParams. If this is set, then it is suggested that type should not be set. In this case, the server automatically sets it to STOP_LOST_MODE. It is also acceptable to explicitly set type to STOP_LOST_MODE." +}, +"stopLostModeStatus": { +"$ref": "StopLostModeStatus", +"description": "Output only. Status of the STOP_LOST_MODE command to take the device out of lost mode. See StopLostModeStatus.", +"readOnly": true +}, +"type": { +"description": "The type of the command.", +"enum": [ +"COMMAND_TYPE_UNSPECIFIED", +"LOCK", +"RESET_PASSWORD", +"REBOOT", +"RELINQUISH_OWNERSHIP", +"CLEAR_APP_DATA", +"START_LOST_MODE", +"STOP_LOST_MODE" +], +"enumDescriptions": [ +"This value is disallowed.", +"Lock the device, as if the lock screen timeout had expired.", +"Reset the user's password.", +"Reboot the device. Only supported on fully managed devices running Android 7.0 (API level 24) or higher.", +"Removes the work profile and all policies from a company-owned Android 8.0+ device, relinquishing the device for personal use. Apps and data associated with the personal profile(s) are preserved. The device will be deleted from the server after it acknowledges the command.", +"Clears the application data of specified apps. This is supported on Android 9 and above. Note that an application can store data outside of its application data, for example in external storage or in a user dictionary. See also clear_apps_data_params.", +"Puts the device into lost mode. Only supported on fully managed devices or organization-owned devices with a managed profile. See also start_lost_mode_params.", +"Takes the device out of lost mode. Only supported on fully managed devices or organization-owned devices with a managed profile. See also stop_lost_mode_params." +], +"type": "string" +}, +"userName": { +"description": "The resource name of the user that owns the device in the form enterprises/{enterpriseId}/users/{userId}. This is automatically generated by the server based on the device the command is sent to.", +"type": "string" +} +}, +"type": "object" +}, +"CommonCriteriaModeInfo": { +"description": "Information about Common Criteria Mode\u2014security standards defined in the Common Criteria for Information Technology Security Evaluation (https://www.commoncriteriaportal.org/) (CC).This information is only available if statusReportingSettings.commonCriteriaModeEnabled is true in the device's policy.", +"id": "CommonCriteriaModeInfo", +"properties": { +"commonCriteriaModeStatus": { +"description": "Whether Common Criteria Mode is enabled.", +"enum": [ +"COMMON_CRITERIA_MODE_STATUS_UNKNOWN", +"COMMON_CRITERIA_MODE_DISABLED", +"COMMON_CRITERIA_MODE_ENABLED" +], +"enumDescriptions": [ +"Unknown status.", +"Common Criteria Mode is currently disabled.", +"Common Criteria Mode is currently enabled." +], +"type": "string" +}, +"policySignatureVerificationStatus": { +"description": "Output only. The status of policy signature verification.", +"enum": [ +"POLICY_SIGNATURE_VERIFICATION_STATUS_UNSPECIFIED", +"POLICY_SIGNATURE_VERIFICATION_DISABLED", +"POLICY_SIGNATURE_VERIFICATION_SUCCEEDED", +"POLICY_SIGNATURE_VERIFICATION_NOT_SUPPORTED", +"POLICY_SIGNATURE_VERIFICATION_FAILED" +], +"enumDescriptions": [ +"Unspecified. The verification status has not been reported. This is set only if statusReportingSettings.commonCriteriaModeEnabled is false.", +"Policy signature verification is disabled on the device as common_criteria_mode is set to false.", +"Policy signature verification succeeded.", +"Policy signature verification is not supported, e.g. because the device has been enrolled with a CloudDPC version that does not support the policy signature verification.", +"The policy signature verification failed. The policy has not been applied." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ComplianceRule": { +"deprecated": true, +"description": "A rule declaring which mitigating actions to take when a device is not compliant with its policy. For every rule, there is always an implicit mitigating action to set policy_compliant to false for the Device resource, and display a message on the device indicating that the device is not compliant with its policy. Other mitigating actions may optionally be taken as well, depending on the field values in the rule.", +"id": "ComplianceRule", +"properties": { +"apiLevelCondition": { +"$ref": "ApiLevelCondition", +"description": "A condition which is satisfied if the Android Framework API level on the device doesn't meet a minimum requirement." +}, +"disableApps": { +"description": "If set to true, the rule includes a mitigating action to disable apps so that the device is effectively disabled, but app data is preserved. If the device is running an app in locked task mode, the app will be closed and a UI showing the reason for non-compliance will be displayed.", +"type": "boolean" +}, +"nonComplianceDetailCondition": { +"$ref": "NonComplianceDetailCondition", +"description": "A condition which is satisfied if there exists any matching NonComplianceDetail for the device." +}, +"packageNamesToDisable": { +"description": "If set, the rule includes a mitigating action to disable apps specified in the list, but app data is preserved.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ConnectEvent": { +"description": "A TCP connect event was initiated through the standard network stack.", +"id": "ConnectEvent", +"properties": { +"destinationIpAddress": { +"description": "The destination IP address of the connect call.", +"type": "string" +}, +"destinationPort": { +"description": "The destination port of the connect call.", +"format": "int32", +"type": "integer" +}, +"packageName": { +"description": "The package name of the UID that performed the connect call.", +"type": "string" +} +}, +"type": "object" +}, +"ContactInfo": { +"description": "Contact details for managed Google Play enterprises.", +"id": "ContactInfo", +"properties": { +"contactEmail": { +"description": "Email address for a point of contact, which will be used to send important announcements related to managed Google Play.", +"type": "string" +}, +"dataProtectionOfficerEmail": { +"description": "The email of the data protection officer. The email is validated but not verified.", +"type": "string" +}, +"dataProtectionOfficerName": { +"description": "The name of the data protection officer.", +"type": "string" +}, +"dataProtectionOfficerPhone": { +"description": "The phone number of the data protection officer The phone number is validated but not verified.", +"type": "string" +}, +"euRepresentativeEmail": { +"description": "The email of the EU representative. The email is validated but not verified.", +"type": "string" +}, +"euRepresentativeName": { +"description": "The name of the EU representative.", +"type": "string" +}, +"euRepresentativePhone": { +"description": "The phone number of the EU representative. The phone number is validated but not verified.", +"type": "string" +} +}, +"type": "object" +}, +"ContentProviderEndpoint": { +"description": "This feature is not generally available.", +"id": "ContentProviderEndpoint", +"properties": { +"packageName": { +"description": "This feature is not generally available.", +"type": "string" +}, +"signingCertsSha256": { +"description": "Required. This feature is not generally available.", +"items": { +"type": "string" +}, +"type": "array" +}, +"uri": { +"description": "This feature is not generally available.", +"type": "string" +} +}, +"type": "object" +}, +"CrossProfilePolicies": { +"description": "Controls the data from the work profile that can be accessed from the personal profile and vice versa. A nonComplianceDetail with MANAGEMENT_MODE is reported if the device does not have a work profile.", +"id": "CrossProfilePolicies", +"properties": { +"crossProfileCopyPaste": { +"description": "Whether text copied from one profile (personal or work) can be pasted in the other profile.", +"enum": [ +"CROSS_PROFILE_COPY_PASTE_UNSPECIFIED", +"COPY_FROM_WORK_TO_PERSONAL_DISALLOWED", +"CROSS_PROFILE_COPY_PASTE_ALLOWED" +], +"enumDescriptions": [ +"Unspecified. Defaults to COPY_FROM_WORK_TO_PERSONAL_DISALLOWED", +"Default. Prevents users from pasting into the personal profile text copied from the work profile. Text copied from the personal profile can be pasted into the work profile, and text copied from the work profile can be pasted into the work profile.", +"Text copied in either profile can be pasted in the other profile." +], +"type": "string" +}, +"crossProfileDataSharing": { +"description": "Whether data from one profile (personal or work) can be shared with apps in the other profile. Specifically controls simple data sharing via intents. Management of other cross-profile communication channels, such as contact search, copy/paste, or connected work & personal apps, are configured separately.", +"enum": [ +"CROSS_PROFILE_DATA_SHARING_UNSPECIFIED", +"CROSS_PROFILE_DATA_SHARING_DISALLOWED", +"DATA_SHARING_FROM_WORK_TO_PERSONAL_DISALLOWED", +"CROSS_PROFILE_DATA_SHARING_ALLOWED" +], +"enumDescriptions": [ +"Unspecified. Defaults to DATA_SHARING_FROM_WORK_TO_PERSONAL_DISALLOWED.", +"Prevents data from being shared from both the personal profile to the work profile and the work profile to the personal profile.", +"Default. Prevents users from sharing data from the work profile to apps in the personal profile. Personal data can be shared with work apps.", +"Data from either profile can be shared with the other profile." +], +"type": "string" +}, +"exemptionsToShowWorkContactsInPersonalProfile": { +"$ref": "PackageNameList", +"description": "List of apps which are excluded from the ShowWorkContactsInPersonalProfile setting. For this to be set, ShowWorkContactsInPersonalProfile must be set to one of the following values: SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_ALLOWED. In this case, these exemptions act as a blocklist. SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_DISALLOWED. In this case, these exemptions act as an allowlist. SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_DISALLOWED_EXCEPT_SYSTEM. In this case, these exemptions act as an allowlist, in addition to the already allowlisted system apps.Supported on Android 14 and above. A nonComplianceDetail with API_LEVEL is reported if the Android version is less than 14." +}, +"showWorkContactsInPersonalProfile": { +"description": "Whether personal apps can access contacts stored in the work profile.See also exemptions_to_show_work_contacts_in_personal_profile.", +"enum": [ +"SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_UNSPECIFIED", +"SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_DISALLOWED", +"SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_ALLOWED", +"SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_DISALLOWED_EXCEPT_SYSTEM" +], +"enumDescriptions": [ +"Unspecified. Defaults to SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_ALLOWED.When this is set, exemptions_to_show_work_contacts_in_personal_profile must not be set.", +"Prevents personal apps from accessing work profile contacts and looking up work contacts.When this is set, personal apps specified in exemptions_to_show_work_contacts_in_personal_profile are allowlisted and can access work profile contacts directly.Supported on Android 7.0 and above. A nonComplianceDetail with API_LEVEL is reported if the Android version is less than 7.0.", +"Default. Allows apps in the personal profile to access work profile contacts including contact searches and incoming calls.When this is set, personal apps specified in exemptions_to_show_work_contacts_in_personal_profile are blocklisted and can not access work profile contacts directly.Supported on Android 7.0 and above. A nonComplianceDetail with API_LEVEL is reported if the Android version is less than 7.0.", +"Prevents most personal apps from accessing work profile contacts including contact searches and incoming calls, except for the OEM default Dialer, Messages, and Contacts apps. Neither user-configured Dialer, Messages, and Contacts apps, nor any other system or play installed apps, will be able to query work contacts directly.When this is set, personal apps specified in exemptions_to_show_work_contacts_in_personal_profile are allowlisted and can access work profile contacts.Supported on Android 14 and above. If this is set on a device with Android version less than 14, the behaviour falls back to SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_DISALLOWED and a nonComplianceDetail with API_LEVEL is reported." +], +"type": "string" +}, +"workProfileWidgetsDefault": { +"description": "Specifies the default behaviour for work profile widgets. If the policy does not specify work_profile_widgets for a specific application, it will behave according to the value specified here.", +"enum": [ +"WORK_PROFILE_WIDGETS_DEFAULT_UNSPECIFIED", +"WORK_PROFILE_WIDGETS_DEFAULT_ALLOWED", +"WORK_PROFILE_WIDGETS_DEFAULT_DISALLOWED" +], +"enumDescriptions": [ +"Unspecified. Defaults to WORK_PROFILE_WIDGETS_DEFAULT_DISALLOWED.", +"Work profile widgets are allowed by default. This means that if the policy does not specify work_profile_widgets as WORK_PROFILE_WIDGETS_DISALLOWED for the application, it will be able to add widgets to the home screen.", +"Work profile widgets are disallowed by default. This means that if the policy does not specify work_profile_widgets as WORK_PROFILE_WIDGETS_ALLOWED for the application, it will be unable to add widgets to the home screen." +], +"type": "string" +} +}, +"type": "object" +}, +"CryptoSelfTestCompletedEvent": { +"description": "Validates whether Android\u2019s built-in cryptographic library (BoringSSL) is valid. Should always succeed on device boot, if it fails, the device should be considered untrusted.", +"id": "CryptoSelfTestCompletedEvent", +"properties": { +"success": { +"description": "Whether the test succeeded.", +"type": "boolean" +} +}, +"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" +}, +"Device": { +"description": "A device owned by an enterprise. Unless otherwise noted, all fields are read-only and can't be modified by enterprises.devices.patch.", +"id": "Device", +"properties": { +"apiLevel": { +"description": "The API level of the Android platform version running on the device.", +"format": "int32", +"type": "integer" +}, +"applicationReports": { +"description": "Reports for apps installed on the device. This information is only available when application_reports_enabled is true in the device's policy.", +"items": { +"$ref": "ApplicationReport" +}, +"type": "array" +}, +"appliedPasswordPolicies": { +"description": "The password requirements currently applied to the device. The applied requirements may be slightly different from those specified in passwordPolicies in some cases. fieldPath is set based on passwordPolicies.", +"items": { +"$ref": "PasswordRequirements" +}, +"type": "array" +}, +"appliedPolicyName": { +"description": "The name of the policy currently applied to the device.", +"type": "string" +}, +"appliedPolicyVersion": { +"description": "The version of the policy currently applied to the device.", +"format": "int64", +"type": "string" +}, +"appliedState": { +"description": "The state currently applied to the device.", +"enum": [ +"DEVICE_STATE_UNSPECIFIED", +"ACTIVE", +"DISABLED", +"DELETED", +"PROVISIONING", +"LOST", +"PREPARING_FOR_MIGRATION", +"DEACTIVATED_BY_DEVICE_FINANCE" +], +"enumDescriptions": [ +"This value is disallowed.", +"The device is active.", +"The device is disabled.", +"The device was deleted. This state is never returned by an API call, but is used in the final status report when the device acknowledges the deletion. If the device is deleted via the API call, this state is published to Pub/Sub. If the user deletes the work profile or resets the device, the device state will remain unknown to the server.", +"The device is being provisioned. Newly enrolled devices are in this state until they have a policy applied.", +"The device is lost. This state is only possible on organization-owned devices.", +"The device is preparing for migrating to Android Management API. No further action is needed for the migration to continue.", +"This is a financed device that has been \"locked\" by the financing agent. This means certain policy settings have been applied which limit device functionality until the device has been \"unlocked\" by the financing agent. The device will continue to apply policy settings excluding those overridden by the financing agent. When the device is \"locked\", the state is reported in appliedState as DEACTIVATED_BY_DEVICE_FINANCE." +], +"type": "string" +}, +"commonCriteriaModeInfo": { +"$ref": "CommonCriteriaModeInfo", +"description": "Information about Common Criteria Mode\u2014security standards defined in the Common Criteria for Information Technology Security Evaluation (https://www.commoncriteriaportal.org/) (CC).This information is only available if statusReportingSettings.commonCriteriaModeEnabled is true in the device's policy the device is company-owned." +}, +"deviceSettings": { +"$ref": "DeviceSettings", +"description": "Device settings information. This information is only available if deviceSettingsEnabled is true in the device's policy." +}, +"disabledReason": { +"$ref": "UserFacingMessage", +"description": "If the device state is DISABLED, an optional message that is displayed on the device indicating the reason the device is disabled. This field can be modified by a patch request." +}, +"displays": { +"description": "Detailed information about displays on the device. This information is only available if displayInfoEnabled is true in the device's policy.", +"items": { +"$ref": "Display" +}, +"type": "array" +}, +"dpcMigrationInfo": { +"$ref": "DpcMigrationInfo", +"description": "Output only. Information related to whether this device was migrated from being managed by another Device Policy Controller (DPC).", +"readOnly": true +}, +"enrollmentTime": { +"description": "The time of device enrollment.", +"format": "google-datetime", +"type": "string" +}, +"enrollmentTokenData": { +"description": "If the device was enrolled with an enrollment token with additional data provided, this field contains that data.", +"type": "string" +}, +"enrollmentTokenName": { +"description": "If the device was enrolled with an enrollment token, this field contains the name of the token.", +"type": "string" +}, +"hardwareInfo": { +"$ref": "HardwareInfo", +"description": "Detailed information about the device hardware." +}, +"hardwareStatusSamples": { +"description": "Hardware status samples in chronological order. This information is only available if hardwareStatusEnabled is true in the device's policy.", +"items": { +"$ref": "HardwareStatus" +}, +"type": "array" +}, +"lastPolicyComplianceReportTime": { +"deprecated": true, +"description": "Deprecated.", +"format": "google-datetime", +"type": "string" +}, +"lastPolicySyncTime": { +"description": "The last time the device fetched its policy.", +"format": "google-datetime", +"type": "string" +}, +"lastStatusReportTime": { +"description": "The last time the device sent a status report.", +"format": "google-datetime", +"type": "string" +}, +"managementMode": { +"description": "The type of management mode Android Device Policy takes on the device. This influences which policy settings are supported.", +"enum": [ +"MANAGEMENT_MODE_UNSPECIFIED", +"DEVICE_OWNER", +"PROFILE_OWNER" +], +"enumDescriptions": [ +"This value is disallowed.", +"Device owner. Android Device Policy has full control over the device.", +"Profile owner. Android Device Policy has control over a managed profile on the device." +], +"type": "string" +}, +"memoryEvents": { +"description": "Events related to memory and storage measurements in chronological order. This information is only available if memoryInfoEnabled is true in the device's policy.Events are retained for a certain period of time and old events are deleted.", +"items": { +"$ref": "MemoryEvent" +}, +"type": "array" +}, +"memoryInfo": { +"$ref": "MemoryInfo", +"description": "Memory information: contains information about device memory and storage." +}, +"name": { +"description": "The name of the device in the form enterprises/{enterpriseId}/devices/{deviceId}.", +"type": "string" +}, +"networkInfo": { +"$ref": "NetworkInfo", +"description": "Device network information. This information is only available if networkInfoEnabled is true in the device's policy." +}, +"nonComplianceDetails": { +"description": "Details about policy settings that the device is not compliant with.", +"items": { +"$ref": "NonComplianceDetail" +}, +"type": "array" +}, +"ownership": { +"description": "Ownership of the managed device.", +"enum": [ +"OWNERSHIP_UNSPECIFIED", +"COMPANY_OWNED", +"PERSONALLY_OWNED" +], +"enumDescriptions": [ +"Ownership is unspecified.", +"Device is company-owned.", +"Device is personally-owned." +], +"type": "string" +}, +"policyCompliant": { +"description": "Whether the device is compliant with its policy.", +"type": "boolean" +}, +"policyName": { +"description": "The name of the policy applied to the device, in the form enterprises/{enterpriseId}/policies/{policyId}. If not specified, the policy_name for the device's user is applied. This field can be modified by a patch request. You can specify only the policyId when calling enterprises.devices.patch, as long as the policyId doesn\u2019t contain any slashes. The rest of the policy name is inferred.", +"type": "string" +}, +"powerManagementEvents": { +"description": "Power management events on the device in chronological order. This information is only available if powerManagementEventsEnabled is true in the device's policy.", +"items": { +"$ref": "PowerManagementEvent" +}, +"type": "array" +}, +"previousDeviceNames": { +"description": "If the same physical device has been enrolled multiple times, this field contains its previous device names. The serial number is used as the unique identifier to determine if the same physical device has enrolled previously. The names are in chronological order.", +"items": { +"type": "string" +}, +"type": "array" +}, +"securityPosture": { +"$ref": "SecurityPosture", +"description": "Device's security posture value that reflects how secure the device is." +}, +"softwareInfo": { +"$ref": "SoftwareInfo", +"description": "Detailed information about the device software. This information is only available if softwareInfoEnabled is true in the device's policy." +}, +"state": { +"description": "The state to be applied to the device. This field can be modified by a patch request. Note that when calling enterprises.devices.patch, ACTIVE and DISABLED are the only allowable values. To enter the device into a DELETED state, call enterprises.devices.delete.", +"enum": [ +"DEVICE_STATE_UNSPECIFIED", +"ACTIVE", +"DISABLED", +"DELETED", +"PROVISIONING", +"LOST", +"PREPARING_FOR_MIGRATION", +"DEACTIVATED_BY_DEVICE_FINANCE" +], +"enumDescriptions": [ +"This value is disallowed.", +"The device is active.", +"The device is disabled.", +"The device was deleted. This state is never returned by an API call, but is used in the final status report when the device acknowledges the deletion. If the device is deleted via the API call, this state is published to Pub/Sub. If the user deletes the work profile or resets the device, the device state will remain unknown to the server.", +"The device is being provisioned. Newly enrolled devices are in this state until they have a policy applied.", +"The device is lost. This state is only possible on organization-owned devices.", +"The device is preparing for migrating to Android Management API. No further action is needed for the migration to continue.", +"This is a financed device that has been \"locked\" by the financing agent. This means certain policy settings have been applied which limit device functionality until the device has been \"unlocked\" by the financing agent. The device will continue to apply policy settings excluding those overridden by the financing agent. When the device is \"locked\", the state is reported in appliedState as DEACTIVATED_BY_DEVICE_FINANCE." +], +"type": "string" +}, +"systemProperties": { +"additionalProperties": { +"type": "string" +}, +"description": "Map of selected system properties name and value related to the device. This information is only available if systemPropertiesEnabled is true in the device's policy.", +"type": "object" +}, +"user": { +"$ref": "User", +"description": "The user who owns the device." +}, +"userName": { +"description": "The resource name of the user that owns this device in the form enterprises/{enterpriseId}/users/{userId}.", +"type": "string" +} +}, +"type": "object" +}, +"DeviceConnectivityManagement": { +"description": "Covers controls for device connectivity such as Wi-Fi, USB data access, keyboard/mouse connections, and more.", +"id": "DeviceConnectivityManagement", +"properties": { +"configureWifi": { +"description": "Controls Wi-Fi configuring privileges. Based on the option set, user will have either full or limited or no control in configuring Wi-Fi networks.", +"enum": [ +"CONFIGURE_WIFI_UNSPECIFIED", +"ALLOW_CONFIGURING_WIFI", +"DISALLOW_ADD_WIFI_CONFIG", +"DISALLOW_CONFIGURING_WIFI" +], +"enumDescriptions": [ +"Unspecified. Defaults to ALLOW_CONFIGURING_WIFI unless wifiConfigDisabled is set to true. If wifiConfigDisabled is set to true, this is equivalent to DISALLOW_CONFIGURING_WIFI.", +"The user is allowed to configure Wi-Fi. wifiConfigDisabled is ignored.", +"Adding new Wi-Fi configurations is disallowed. The user is only able to switch between already configured networks. Supported on Android 13 and above, on fully managed devices and work profiles on company-owned devices. If the setting is not supported, ALLOW_CONFIGURING_WIFI is set. A nonComplianceDetail with API_LEVEL is reported if the Android version is less than 13. wifiConfigDisabled is ignored.", +"Disallows configuring Wi-Fi networks. The setting wifiConfigDisabled is ignored when this value is set. Supported on fully managed devices and work profile on company-owned devices, on all supported API levels. For fully managed devices, setting this removes all configured networks and retains only the networks configured using openNetworkConfiguration policy. For work profiles on company-owned devices, existing configured networks are not affected and the user is not allowed to add, remove, or modify Wi-Fi networks. Note: If a network connection can't be made at boot time and configuring Wi-Fi is disabled then network escape hatch will be shown in order to refresh the device policy (see networkEscapeHatchEnabled)." +], +"type": "string" +}, +"tetheringSettings": { +"description": "Controls tethering settings. Based on the value set, the user is partially or fully disallowed from using different forms of tethering.", +"enum": [ +"TETHERING_SETTINGS_UNSPECIFIED", +"ALLOW_ALL_TETHERING", +"DISALLOW_WIFI_TETHERING", +"DISALLOW_ALL_TETHERING" +], +"enumDescriptions": [ +"Unspecified. Defaults to ALLOW_ALL_TETHERING unless tetheringConfigDisabled is set to true. If tetheringConfigDisabled is set to true, this is equivalent to DISALLOW_ALL_TETHERING.", +"Allows configuration and use of all forms of tethering. tetheringConfigDisabled is ignored.", +"Disallows the user from using Wi-Fi tethering. Supported on company owned devices running Android 13 and above. If the setting is not supported, ALLOW_ALL_TETHERING will be set. A nonComplianceDetail with API_LEVEL is reported if the Android version is less than 13. tetheringConfigDisabled is ignored.", +"Disallows all forms of tethering. Supported on fully managed devices and work profile on company-owned devices, on all supported android versions. The setting tetheringConfigDisabled is ignored." +], +"type": "string" +}, +"usbDataAccess": { +"description": "Controls what files and/or data can be transferred via USB. Supported only on company-owned devices.", +"enum": [ +"USB_DATA_ACCESS_UNSPECIFIED", +"ALLOW_USB_DATA_TRANSFER", +"DISALLOW_USB_FILE_TRANSFER", +"DISALLOW_USB_DATA_TRANSFER" +], +"enumDescriptions": [ +"Unspecified. Defaults to DISALLOW_USB_FILE_TRANSFER.", +"All types of USB data transfers are allowed. usbFileTransferDisabled is ignored.", +"Transferring files over USB is disallowed. Other types of USB data connections, such as mouse and keyboard connection, are allowed. usbFileTransferDisabled is ignored.", +"When set, all types of USB data transfers are prohibited. Supported for devices running Android 12 or above with USB HAL 1.3 or above. If the setting is not supported, DISALLOW_USB_FILE_TRANSFER will be set. A nonComplianceDetail with API_LEVEL is reported if the Android version is less than 12. A nonComplianceDetail with DEVICE_INCOMPATIBLE is reported if the device does not have USB HAL 1.3 or above. usbFileTransferDisabled is ignored." +], +"type": "string" +}, +"wifiDirectSettings": { +"description": "Controls configuring and using Wi-Fi direct settings. Supported on company-owned devices running Android 13 and above.", +"enum": [ +"WIFI_DIRECT_SETTINGS_UNSPECIFIED", +"ALLOW_WIFI_DIRECT", +"DISALLOW_WIFI_DIRECT" +], +"enumDescriptions": [ +"Unspecified. Defaults to ALLOW_WIFI_DIRECT", +"The user is allowed to use Wi-Fi direct.", +"The user is not allowed to use Wi-Fi direct. A nonComplianceDetail with API_LEVEL is reported if the Android version is less than 13." +], +"type": "string" +}, +"wifiRoamingPolicy": { +"$ref": "WifiRoamingPolicy", +"description": "Optional. Wi-Fi roaming policy." +}, +"wifiSsidPolicy": { +"$ref": "WifiSsidPolicy", +"description": "Restrictions on which Wi-Fi SSIDs the device can connect to. Note that this does not affect which networks can be configured on the device. Supported on company-owned devices running Android 13 and above." +} +}, +"type": "object" +}, +"DeviceRadioState": { +"description": "Controls for device radio settings.", +"id": "DeviceRadioState", +"properties": { +"airplaneModeState": { +"description": "Controls whether airplane mode can be toggled by the user or not.", +"enum": [ +"AIRPLANE_MODE_STATE_UNSPECIFIED", +"AIRPLANE_MODE_USER_CHOICE", +"AIRPLANE_MODE_DISABLED" +], +"enumDescriptions": [ +"Unspecified. Defaults to AIRPLANE_MODE_USER_CHOICE.", +"The user is allowed to toggle airplane mode on or off.", +"Airplane mode is disabled. The user is not allowed to toggle airplane mode on. A nonComplianceDetail with API_LEVEL is reported if the Android version is less than 9." +], +"type": "string" +}, +"cellularTwoGState": { +"description": "Controls whether cellular 2G setting can be toggled by the user or not.", +"enum": [ +"CELLULAR_TWO_G_STATE_UNSPECIFIED", +"CELLULAR_TWO_G_USER_CHOICE", +"CELLULAR_TWO_G_DISABLED" +], +"enumDescriptions": [ +"Unspecified. Defaults to CELLULAR_TWO_G_USER_CHOICE.", +"The user is allowed to toggle cellular 2G on or off.", +"Cellular 2G is disabled. The user is not allowed to toggle cellular 2G on via settings. A nonComplianceDetail with API_LEVEL is reported if the Android version is less than 14." +], +"type": "string" +}, +"minimumWifiSecurityLevel": { +"description": "The minimum required security level of Wi-Fi networks that the device can connect to.", +"enum": [ +"MINIMUM_WIFI_SECURITY_LEVEL_UNSPECIFIED", +"OPEN_NETWORK_SECURITY", +"PERSONAL_NETWORK_SECURITY", +"ENTERPRISE_NETWORK_SECURITY", +"ENTERPRISE_BIT192_NETWORK_SECURITY" +], +"enumDescriptions": [ +"Defaults to OPEN_NETWORK_SECURITY, which means the device will be able to connect to all types of Wi-Fi networks.", +"The device will be able to connect to all types of Wi-Fi networks.", +"A personal network such as WEP, WPA2-PSK is the minimum required security. The device will not be able to connect to open wifi networks. This is stricter than OPEN_NETWORK_SECURITY. A nonComplianceDetail with API_LEVEL is reported if the Android version is less than 13.", +"An enterprise EAP network is the minimum required security level. The device will not be able to connect to Wi-Fi network below this security level. This is stricter than PERSONAL_NETWORK_SECURITY. A nonComplianceDetail with API_LEVEL is reported if the Android version is less than 13.", +"A 192-bit enterprise network is the minimum required security level. The device will not be able to connect to Wi-Fi network below this security level. This is stricter than ENTERPRISE_NETWORK_SECURITY. A nonComplianceDetail with API_LEVEL is reported if the Android version is less than 13." +], +"type": "string" +}, +"ultraWidebandState": { +"description": "Controls the state of the ultra wideband setting and whether the user can toggle it on or off.", +"enum": [ +"ULTRA_WIDEBAND_STATE_UNSPECIFIED", +"ULTRA_WIDEBAND_USER_CHOICE", +"ULTRA_WIDEBAND_DISABLED" +], +"enumDescriptions": [ +"Unspecified. Defaults to ULTRA_WIDEBAND_USER_CHOICE.", +"The user is allowed to toggle ultra wideband on or off.", +"Ultra wideband is disabled. The user is not allowed to toggle ultra wideband on via settings. A nonComplianceDetail with API_LEVEL is reported if the Android version is less than 14." +], +"type": "string" +}, +"wifiState": { +"description": "Controls current state of Wi-Fi and if user can change its state.", +"enum": [ +"WIFI_STATE_UNSPECIFIED", +"WIFI_STATE_USER_CHOICE", +"WIFI_ENABLED", +"WIFI_DISABLED" +], +"enumDescriptions": [ +"Unspecified. Defaults to WIFI_STATE_USER_CHOICE", +"User is allowed to enable/disable Wi-Fi.", +"Wi-Fi is on and the user is not allowed to turn it off. A nonComplianceDetail with API_LEVEL is reported if the Android version is less than 13.", +"Wi-Fi is off and the user is not allowed to turn it on. A nonComplianceDetail with API_LEVEL is reported if the Android version is less than 13." +], +"type": "string" +} +}, +"type": "object" +}, +"DeviceSettings": { +"description": "Information about security related device settings on device.", +"id": "DeviceSettings", +"properties": { +"adbEnabled": { +"description": "Whether ADB (https://developer.android.com/studio/command-line/adb.html) is enabled on the device.", +"type": "boolean" +}, +"developmentSettingsEnabled": { +"description": "Whether developer mode is enabled on the device.", +"type": "boolean" +}, +"encryptionStatus": { +"description": "Encryption status from DevicePolicyManager.", +"enum": [ +"ENCRYPTION_STATUS_UNSPECIFIED", +"UNSUPPORTED", +"INACTIVE", +"ACTIVATING", +"ACTIVE", +"ACTIVE_DEFAULT_KEY", +"ACTIVE_PER_USER" +], +"enumDescriptions": [ +"Unspecified. No device should have this type.", +"Encryption is not supported by the device.", +"Encryption is supported by the device, but is not currently active.", +"Encryption is not currently active, but is currently being activated.", +"Encryption is active.", +"Encryption is active, but an encryption key is not set by the user.", +"Encryption is active, and the encryption key is tied to the user profile." +], +"type": "string" +}, +"isDeviceSecure": { +"description": "Whether the device is secured with PIN/password.", +"type": "boolean" +}, +"isEncrypted": { +"description": "Whether the storage encryption is enabled.", +"type": "boolean" +}, +"unknownSourcesEnabled": { +"description": "Whether installing apps from unknown sources is enabled.", +"type": "boolean" +}, +"verifyAppsEnabled": { +"description": "Whether Google Play Protect verification (https://support.google.com/accounts/answer/2812853) is enforced on the device.", +"type": "boolean" +} +}, +"type": "object" +}, +"Display": { +"description": "Device display information.", +"id": "Display", +"properties": { +"density": { +"description": "Display density expressed as dots-per-inch.", +"format": "int32", +"type": "integer" +}, +"displayId": { +"description": "Unique display id.", +"format": "int32", +"type": "integer" +}, +"height": { +"description": "Display height in pixels.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "Name of the display.", +"type": "string" +}, +"refreshRate": { +"description": "Refresh rate of the display in frames per second.", +"format": "int32", +"type": "integer" +}, +"state": { +"description": "State of the display.", +"enum": [ +"DISPLAY_STATE_UNSPECIFIED", +"OFF", +"ON", +"DOZE", +"SUSPENDED" +], +"enumDescriptions": [ +"This value is disallowed.", +"Display is off.", +"Display is on.", +"Display is dozing in a low power state", +"Display is dozing in a suspended low power state." +], +"type": "string" +}, +"width": { +"description": "Display width in pixels.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"DisplaySettings": { +"description": "Controls for the display settings.", +"id": "DisplaySettings", +"properties": { +"screenBrightnessSettings": { +"$ref": "ScreenBrightnessSettings", +"description": "Optional. Controls the screen brightness settings." +}, +"screenTimeoutSettings": { +"$ref": "ScreenTimeoutSettings", +"description": "Optional. Controls the screen timeout settings." +} +}, +"type": "object" +}, +"DnsEvent": { +"description": "A DNS lookup event was initiated through the standard network stack.", +"id": "DnsEvent", +"properties": { +"hostname": { +"description": "The hostname that was looked up.", +"type": "string" +}, +"ipAddresses": { +"description": "The (possibly truncated) list of the IP addresses returned for DNS lookup (max 10 IPv4 or IPv6 addresses).", +"items": { +"type": "string" +}, +"type": "array" +}, +"packageName": { +"description": "The package name of the UID that performed the DNS lookup.", +"type": "string" +}, +"totalIpAddressesReturned": { +"description": "The number of IP addresses returned from the DNS lookup event. May be higher than the amount of ip_addresses if there were too many addresses to log.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"DpcMigrationInfo": { +"description": "Information related to whether this device was migrated from being managed by another Device Policy Controller (DPC).", +"id": "DpcMigrationInfo", +"properties": { +"additionalData": { +"description": "Output only. If this device was migrated from another DPC, the additionalData field of the migration token is populated here.", +"readOnly": true, +"type": "string" +}, +"previousDpc": { +"description": "Output only. If this device was migrated from another DPC, this is its package name. Not populated otherwise.", +"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" +}, +"EnrollmentCompleteEvent": { +"description": "Represents that the device has completed enrollment. User should be in the launcher at this point, device at this point will be compliant and all setup steps have been completed. Intentionally empty.", +"id": "EnrollmentCompleteEvent", +"properties": {}, +"type": "object" +}, +"EnrollmentToken": { +"description": "An enrollment token.", +"id": "EnrollmentToken", +"properties": { +"additionalData": { +"description": "Optional, arbitrary data associated with the enrollment token. This could contain, for example, the ID of an org unit the device is assigned to after enrollment. After a device enrolls with the token, this data will be exposed in the enrollment_token_data field of the Device resource. The data must be 1024 characters or less; otherwise, the creation request will fail.", +"type": "string" +}, +"allowPersonalUsage": { +"description": "Controls whether personal usage is allowed on a device provisioned with this enrollment token.For company-owned devices: Enabling personal usage allows the user to set up a work profile on the device. Disabling personal usage requires the user provision the device as a fully managed device.For personally-owned devices: Enabling personal usage allows the user to set up a work profile on the device. Disabling personal usage will prevent the device from provisioning. Personal usage cannot be disabled on personally-owned device.", +"enum": [ +"ALLOW_PERSONAL_USAGE_UNSPECIFIED", +"PERSONAL_USAGE_ALLOWED", +"PERSONAL_USAGE_DISALLOWED", +"PERSONAL_USAGE_DISALLOWED_USERLESS" +], +"enumDescriptions": [ +"Personal usage restriction is not specified", +"Personal usage is allowed", +"Personal usage is disallowed", +"Device is not associated with a single user, and thus both personal usage and corporate identity authentication are not expected. Important: This setting is mandatory for dedicated device enrollment and it is a breaking change. This change needs to be implemented before January 2025.For additional details see the dedicated device provisioning guide (https://developers.google.com/android/management/provision-device#company-owned_devices_for_work_use_only). " +], +"type": "string" +}, +"duration": { +"description": "The length of time the enrollment token is valid, ranging from 1 minute to Durations.MAX_VALUE (https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/util/Durations.html#MAX_VALUE), approximately 10,000 years. If not specified, the default duration is 1 hour. Please note that if requested duration causes the resulting expiration_timestamp to exceed Timestamps.MAX_VALUE (https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/util/Timestamps.html#MAX_VALUE), then expiration_timestamp is coerced to Timestamps.MAX_VALUE.", +"format": "google-duration", +"type": "string" +}, +"expirationTimestamp": { +"description": "The expiration time of the token. This is a read-only field generated by the server.", +"format": "google-datetime", +"type": "string" +}, +"name": { +"description": "The name of the enrollment token, which is generated by the server during creation, in the form enterprises/{enterpriseId}/enrollmentTokens/{enrollmentTokenId}.", +"type": "string" +}, +"oneTimeOnly": { +"description": "Whether the enrollment token is for one time use only. If the flag is set to true, only one device can use it for registration.", +"type": "boolean" +}, +"policyName": { +"description": "The name of the policy initially applied to the enrolled device, in the form enterprises/{enterpriseId}/policies/{policyId}. If not specified, the policy_name for the device\u2019s user is applied. If user_name is also not specified, enterprises/{enterpriseId}/policies/default is applied by default. When updating this field, you can specify only the policyId as long as the policyId doesn\u2019t contain any slashes. The rest of the policy name will be inferred.", +"type": "string" +}, +"qrCode": { +"description": "A JSON string whose UTF-8 representation can be used to generate a QR code to enroll a device with this enrollment token. To enroll a device using NFC, the NFC record must contain a serialized java.util.Properties representation of the properties in the JSON.", +"type": "string" +}, +"user": { +"$ref": "User", +"deprecated": true, +"description": "This field is deprecated and the value is ignored." +}, +"value": { +"description": "The token value that's passed to the device and authorizes the device to enroll. This is a read-only field generated by the server.", +"type": "string" +} +}, +"type": "object" +}, +"Enterprise": { +"description": "The configuration applied to an enterprise.", +"id": "Enterprise", +"properties": { +"appAutoApprovalEnabled": { +"deprecated": true, +"description": "Deprecated and unused.", +"type": "boolean" +}, +"contactInfo": { +"$ref": "ContactInfo", +"description": "The enterprise contact info of an EMM-managed enterprise." +}, +"enabledNotificationTypes": { +"description": "The types of Google Pub/Sub notifications enabled for the enterprise.", +"items": { +"enum": [ +"NOTIFICATION_TYPE_UNSPECIFIED", +"ENROLLMENT", +"COMPLIANCE_REPORT", +"STATUS_REPORT", +"COMMAND", +"USAGE_LOGS" +], +"enumDeprecated": [ +false, +false, +true, +false, +false, +false +], +"enumDescriptions": [ +"This value is ignored.", +"A notification sent when a device enrolls.", +"Deprecated.", +"A notification sent when a device issues a status report.", +"A notification sent when a device command has completed.", +"A notification sent when device sends BatchUsageLogEvents." +], +"type": "string" +}, +"type": "array" +}, +"enterpriseDisplayName": { +"description": "The name of the enterprise displayed to users. This field has a maximum length of 100 characters.", +"type": "string" +}, +"googleAuthenticationSettings": { +"$ref": "GoogleAuthenticationSettings", +"description": "Settings for Google-provided user authentication." +}, +"logo": { +"$ref": "ExternalData", +"description": "An image displayed as a logo during device provisioning. Supported types are: image/bmp, image/gif, image/x-ico, image/jpeg, image/png, image/webp, image/vnd.wap.wbmp, image/x-adobe-dng." +}, +"name": { +"description": "The name of the enterprise which is generated by the server during creation, in the form enterprises/{enterpriseId}.", +"type": "string" +}, +"primaryColor": { +"description": "A color in RGB format that indicates the predominant color to display in the device management app UI. The color components are stored as follows: (red << 16) | (green << 8) | blue, where the value of each component is between 0 and 255, inclusive.", +"format": "int32", +"type": "integer" +}, +"pubsubTopic": { +"description": "The topic which Pub/Sub notifications are published to, in the form projects/{project}/topics/{topic}. This field is only required if Pub/Sub notifications are enabled.", +"type": "string" +}, +"signinDetails": { +"description": "Sign-in details of the enterprise.", +"items": { +"$ref": "SigninDetail" +}, +"type": "array" +}, +"termsAndConditions": { +"description": "Terms and conditions that must be accepted when provisioning a device for this enterprise. A page of terms is generated for each value in this list.", +"items": { +"$ref": "TermsAndConditions" +}, +"type": "array" +} +}, +"type": "object" +}, +"ExtensionConfig": { +"description": "Configuration to enable an app as an extension app, with the capability of interacting with Android Device Policy offline. For Android versions 11 and above, extension apps are exempt from battery restrictions so will not be placed into the restricted App Standby Bucket (https://developer.android.com/topic/performance/appstandby#restricted-bucket). Extensions apps are also protected against users clearing their data or force-closing the application, although admins can continue to use the clear app data command on extension apps if needed for Android 11 and above.", +"id": "ExtensionConfig", +"properties": { +"notificationReceiver": { +"description": "Fully qualified class name of the receiver service class for Android Device Policy to notify the extension app of any local command status updates.", +"type": "string" +}, +"signingKeyFingerprintsSha256": { +"description": "Hex-encoded SHA-256 hash of the signing certificate of the extension app. Only hexadecimal string representations of 64 characters are valid.If not specified, the signature for the corresponding package name is obtained from the Play Store instead.If this list is empty, the signature of the extension app on the device must match the signature obtained from the Play Store for the app to be able to communicate with Android Device Policy.If this list is not empty, the signature of the extension app on the device must match one of the entries in this list for the app to be able to communicate with Android Device Policy.In production use cases, it is recommended to leave this empty.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ExternalData": { +"description": "Data hosted at an external location. The data is to be downloaded by Android Device Policy and verified against the hash.", +"id": "ExternalData", +"properties": { +"sha256Hash": { +"description": "The base-64 encoded SHA-256 hash of the content hosted at url. If the content doesn't match this hash, Android Device Policy won't use the data.", +"type": "string" +}, +"url": { +"description": "The absolute URL to the data, which must use either the http or https scheme. Android Device Policy doesn't provide any credentials in the GET request, so the URL must be publicly accessible. Including a long, random component in the URL may be used to prevent attackers from discovering the URL.", +"type": "string" +} +}, +"type": "object" +}, +"FilePulledEvent": { +"description": "A file was downloaded from the device.", +"id": "FilePulledEvent", +"properties": { +"filePath": { +"description": "The path of the file being pulled.", +"type": "string" +} +}, +"type": "object" +}, +"FilePushedEvent": { +"description": "A file was uploaded onto the device.", +"id": "FilePushedEvent", +"properties": { +"filePath": { +"description": "The path of the file being pushed.", +"type": "string" +} +}, +"type": "object" +}, +"FreezePeriod": { +"description": "A system freeze period. When a device\u2019s clock is within the freeze period, all incoming system updates (including security patches) are blocked and won\u2019t be installed.When the device is outside any set freeze periods, the normal policy behavior (automatic, windowed, or postponed) applies.Leap years are ignored in freeze period calculations, in particular: If Feb. 29th is set as the start or end date of a freeze period, the freeze period will start or end on Feb. 28th instead. When a device\u2019s system clock reads Feb. 29th, it\u2019s treated as Feb. 28th. When calculating the number of days in a freeze period or the time between two freeze periods, Feb. 29th is ignored and not counted as a day.Note: For Freeze Periods to take effect, SystemUpdateType cannot be specified as SYSTEM_UPDATE_TYPE_UNSPECIFIED, because freeze periods require a defined policy to be specified.", +"id": "FreezePeriod", +"properties": { +"endDate": { +"$ref": "Date", +"description": "The end date (inclusive) of the freeze period. Must be no later than 90 days from the start date. If the end date is earlier than the start date, the freeze period is considered wrapping year-end. Note: year must not be set. For example, {\"month\": 1,\"date\": 30}." +}, +"startDate": { +"$ref": "Date", +"description": "The start date (inclusive) of the freeze period. Note: year must not be set. For example, {\"month\": 1,\"date\": 30}." +} +}, +"type": "object" +}, +"GoogleAuthenticationSettings": { +"description": "Contains settings for Google-provided user authentication.", +"id": "GoogleAuthenticationSettings", +"properties": { +"googleAuthenticationRequired": { +"description": "Output only. Whether users need to be authenticated by Google during the enrollment process. IT admin can specify if Google authentication is enabled for the enterprise for knowledge worker devices. This value can be set only via the Google Admin Console. Google authentication can be used with signin_url In the case where Google authentication is required and a signin_url is specified, Google authentication will be launched before signin_url.", +"enum": [ +"GOOGLE_AUTHENTICATION_REQUIRED_UNSPECIFIED", +"NOT_REQUIRED", +"REQUIRED" +], +"enumDescriptions": [ +"This value is not used.", +"Google authentication is not required.", +"User is required to be successfully authenticated by Google." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"HardwareInfo": { +"description": "Information about device hardware. The fields related to temperature thresholds are only available if hardwareStatusEnabled is true in the device's policy.", +"id": "HardwareInfo", +"properties": { +"batteryShutdownTemperatures": { +"description": "Battery shutdown temperature thresholds in Celsius for each battery on the device.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"batteryThrottlingTemperatures": { +"description": "Battery throttling temperature thresholds in Celsius for each battery on the device.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"brand": { +"description": "Brand of the device. For example, Google.", +"type": "string" +}, +"cpuShutdownTemperatures": { +"description": "CPU shutdown temperature thresholds in Celsius for each CPU on the device.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"cpuThrottlingTemperatures": { +"description": "CPU throttling temperature thresholds in Celsius for each CPU on the device.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"deviceBasebandVersion": { +"description": "Baseband version. For example, MDM9625_104662.22.05.34p.", +"type": "string" +}, +"enterpriseSpecificId": { +"description": "Output only. ID that uniquely identifies a personally-owned device in a particular organization. On the same physical device when enrolled with the same organization, this ID persists across setups and even factory resets. This ID is available on personally-owned devices with a work profile on devices running Android 12 and above.", +"readOnly": true, +"type": "string" +}, +"gpuShutdownTemperatures": { +"description": "GPU shutdown temperature thresholds in Celsius for each GPU on the device.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"gpuThrottlingTemperatures": { +"description": "GPU throttling temperature thresholds in Celsius for each GPU on the device.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"hardware": { +"description": "Name of the hardware. For example, Angler.", +"type": "string" +}, +"manufacturer": { +"description": "Manufacturer. For example, Motorola.", +"type": "string" +}, +"model": { +"description": "The model of the device. For example, Asus Nexus 7.", +"type": "string" +}, +"serialNumber": { +"description": "The device serial number.", +"type": "string" +}, +"skinShutdownTemperatures": { +"description": "Device skin shutdown temperature thresholds in Celsius.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"skinThrottlingTemperatures": { +"description": "Device skin throttling temperature thresholds in Celsius.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"HardwareStatus": { +"description": "Hardware status. Temperatures may be compared to the temperature thresholds available in hardwareInfo to determine hardware health.", +"id": "HardwareStatus", +"properties": { +"batteryTemperatures": { +"description": "Current battery temperatures in Celsius for each battery on the device.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"cpuTemperatures": { +"description": "Current CPU temperatures in Celsius for each CPU on the device.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"cpuUsages": { +"description": "CPU usages in percentage for each core available on the device. Usage is 0 for each unplugged core. Empty array implies that CPU usage is not supported in the system.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"createTime": { +"description": "The time the measurements were taken.", +"format": "google-datetime", +"type": "string" +}, +"fanSpeeds": { +"description": "Fan speeds in RPM for each fan on the device. Empty array means that there are no fans or fan speed is not supported on the system.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"gpuTemperatures": { +"description": "Current GPU temperatures in Celsius for each GPU on the device.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"skinTemperatures": { +"description": "Current device skin temperatures in Celsius.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstallConstraint": { +"description": "Amongst apps with InstallType set to: FORCE_INSTALLED PREINSTALLEDthis defines a set of restrictions for the app installation. At least one of the fields must be set. When multiple fields are set, then all the constraints need to be satisfied for the app to be installed.", +"id": "InstallConstraint", +"properties": { +"chargingConstraint": { +"description": "Optional. Charging constraint.", +"enum": [ +"CHARGING_CONSTRAINT_UNSPECIFIED", +"CHARGING_NOT_REQUIRED", +"INSTALL_ONLY_WHEN_CHARGING" +], +"enumDescriptions": [ +"Unspecified. Default to CHARGING_NOT_REQUIRED.", +"Device doesn't have to be charging.", +"Device has to be charging." +], +"type": "string" +}, +"deviceIdleConstraint": { +"description": "Optional. Device idle constraint.", +"enum": [ +"DEVICE_IDLE_CONSTRAINT_UNSPECIFIED", +"DEVICE_IDLE_NOT_REQUIRED", +"INSTALL_ONLY_WHEN_DEVICE_IDLE" +], +"enumDescriptions": [ +"Unspecified. Default to DEVICE_IDLE_NOT_REQUIRED.", +"Device doesn't have to be idle, app can be installed while the user is interacting with the device.", +"Device has to be idle." +], +"type": "string" +}, +"networkTypeConstraint": { +"description": "Optional. Network type constraint.", +"enum": [ +"NETWORK_TYPE_CONSTRAINT_UNSPECIFIED", +"INSTALL_ON_ANY_NETWORK", +"INSTALL_ONLY_ON_UNMETERED_NETWORK" +], +"enumDescriptions": [ +"Unspecified. Default to INSTALL_ON_ANY_NETWORK.", +"Any active networks (Wi-Fi, cellular, etc.).", +"Any unmetered network (e.g. Wi-FI)." +], +"type": "string" +} +}, +"type": "object" +}, +"IssueCommandResponse": { +"description": "Response on issuing a command. This is currently empty as a placeholder.", +"id": "IssueCommandResponse", +"properties": {}, +"type": "object" +}, +"KeyDestructionEvent": { +"description": "A cryptographic key including user installed, admin installed and system maintained private key is removed from the device either by the user or management. This is available device-wide on fully managed devices and within the work profile on organization-owned devices with a work profile.", +"id": "KeyDestructionEvent", +"properties": { +"applicationUid": { +"description": "UID of the application which owns the key.", +"format": "int32", +"type": "integer" +}, +"keyAlias": { +"description": "Alias of the key.", +"type": "string" +}, +"success": { +"description": "Whether the operation was successful.", +"type": "boolean" +} +}, +"type": "object" +}, +"KeyGeneratedEvent": { +"description": "A cryptographic key including user installed, admin installed and system maintained private key is installed on the device either by the user or management.This is available device-wide on fully managed devices and within the work profile on organization-owned devices with a work profile.", +"id": "KeyGeneratedEvent", +"properties": { +"applicationUid": { +"description": "UID of the application which generated the key.", +"format": "int32", +"type": "integer" +}, +"keyAlias": { +"description": "Alias of the key.", +"type": "string" +}, +"success": { +"description": "Whether the operation was successful.", +"type": "boolean" +} +}, +"type": "object" +}, +"KeyImportEvent": { +"description": "A cryptographic key including user installed, admin installed and system maintained private key is imported on the device either by the user or management. This is available device-wide on fully managed devices and within the work profile on organization-owned devices with a work profile.", +"id": "KeyImportEvent", +"properties": { +"applicationUid": { +"description": "UID of the application which imported the key", +"format": "int32", +"type": "integer" +}, +"keyAlias": { +"description": "Alias of the key.", +"type": "string" +}, +"success": { +"description": "Whether the operation was successful.", +"type": "boolean" +} +}, +"type": "object" +}, +"KeyIntegrityViolationEvent": { +"description": "A cryptographic key including user installed, admin installed and system maintained private key is determined to be corrupted due to storage corruption, hardware failure or some OS issue. This is available device-wide on fully managed devices and within the work profile on organization-owned devices with a work profile.", +"id": "KeyIntegrityViolationEvent", +"properties": { +"applicationUid": { +"description": "UID of the application which owns the key", +"format": "int32", +"type": "integer" +}, +"keyAlias": { +"description": "Alias of the key.", +"type": "string" +} +}, +"type": "object" +}, +"KeyedAppState": { +"description": "Keyed app state reported by the app.", +"id": "KeyedAppState", +"properties": { +"createTime": { +"description": "The creation time of the app state on the device.", +"format": "google-datetime", +"type": "string" +}, +"data": { +"description": "Optionally, a machine-readable value to be read by the EMM. For example, setting values that the admin can choose to query against in the EMM console (e.g. \u201cnotify me if the battery_warning data < 10\u201d).", +"type": "string" +}, +"key": { +"description": "The key for the app state. Acts as a point of reference for what the app is providing state for. For example, when providing managed configuration feedback, this key could be the managed configuration key.", +"type": "string" +}, +"lastUpdateTime": { +"description": "The time the app state was most recently updated.", +"format": "google-datetime", +"type": "string" +}, +"message": { +"description": "Optionally, a free-form message string to explain the app state. If the state was triggered by a particular value (e.g. a managed configuration value), it should be included in the message.", +"type": "string" +}, +"severity": { +"description": "The severity of the app state.", +"enum": [ +"SEVERITY_UNSPECIFIED", +"INFO", +"ERROR" +], +"enumDescriptions": [ +"Unspecified severity level.", +"Information severity level.", +"Error severity level. This should only be set for genuine error conditions that a management organization needs to take action to fix." +], +"type": "string" +} +}, +"type": "object" +}, +"KeyguardDismissAuthAttemptEvent": { +"description": "An attempt was made to unlock the device.", +"id": "KeyguardDismissAuthAttemptEvent", +"properties": { +"strongAuthMethodUsed": { +"description": "Whether a strong form of authentication (password, PIN, or pattern) was used to unlock device.", +"type": "boolean" +}, +"success": { +"description": "Whether the unlock attempt was successful.", +"type": "boolean" +} +}, +"type": "object" +}, +"KeyguardDismissedEvent": { +"description": "The keyguard was dismissed. Intentionally empty.", +"id": "KeyguardDismissedEvent", +"properties": {}, +"type": "object" +}, +"KeyguardSecuredEvent": { +"description": "The device was locked either by user or timeout. Intentionally empty.", +"id": "KeyguardSecuredEvent", +"properties": {}, +"type": "object" +}, +"KioskCustomization": { +"description": "Settings controlling the behavior of a device in kiosk mode. To enable kiosk mode, set kioskCustomLauncherEnabled to true or specify an app in the policy with installType KIOSK.", +"id": "KioskCustomization", +"properties": { +"deviceSettings": { +"description": "Specifies whether the Settings app is allowed in kiosk mode.", +"enum": [ +"DEVICE_SETTINGS_UNSPECIFIED", +"SETTINGS_ACCESS_ALLOWED", +"SETTINGS_ACCESS_BLOCKED" +], +"enumDescriptions": [ +"Unspecified, defaults to SETTINGS_ACCESS_ALLOWED.", +"Access to the Settings app is allowed in kiosk mode.", +"Access to the Settings app is not allowed in kiosk mode." +], +"type": "string" +}, +"powerButtonActions": { +"description": "Sets the behavior of a device in kiosk mode when a user presses and holds (long-presses) the Power button.", +"enum": [ +"POWER_BUTTON_ACTIONS_UNSPECIFIED", +"POWER_BUTTON_AVAILABLE", +"POWER_BUTTON_BLOCKED" +], +"enumDescriptions": [ +"Unspecified, defaults to POWER_BUTTON_AVAILABLE.", +"The power menu (e.g. Power off, Restart) is shown when a user long-presses the Power button of a device in kiosk mode.", +"The power menu (e.g. Power off, Restart) is not shown when a user long-presses the Power button of a device in kiosk mode. Note: this may prevent users from turning off the device." +], +"type": "string" +}, +"statusBar": { +"description": "Specifies whether system info and notifications are disabled in kiosk mode.", +"enum": [ +"STATUS_BAR_UNSPECIFIED", +"NOTIFICATIONS_AND_SYSTEM_INFO_ENABLED", +"NOTIFICATIONS_AND_SYSTEM_INFO_DISABLED", +"SYSTEM_INFO_ONLY" +], +"enumDescriptions": [ +"Unspecified, defaults to INFO_AND_NOTIFICATIONS_DISABLED.", +"System info and notifications are shown on the status bar in kiosk mode.Note: For this policy to take effect, the device's home button must be enabled using kioskCustomization.systemNavigation.", +"System info and notifications are disabled in kiosk mode.", +"Only system info is shown on the status bar." +], +"type": "string" +}, +"systemErrorWarnings": { +"description": "Specifies whether system error dialogs for crashed or unresponsive apps are blocked in kiosk mode. When blocked, the system will force-stop the app as if the user chooses the \"close app\" option on the UI.", +"enum": [ +"SYSTEM_ERROR_WARNINGS_UNSPECIFIED", +"ERROR_AND_WARNINGS_ENABLED", +"ERROR_AND_WARNINGS_MUTED" +], +"enumDescriptions": [ +"Unspecified, defaults to ERROR_AND_WARNINGS_MUTED.", +"All system error dialogs such as crash and app not responding (ANR) are displayed.", +"All system error dialogs, such as crash and app not responding (ANR) are blocked. When blocked, the system force-stops the app as if the user closes the app from the UI." +], +"type": "string" +}, +"systemNavigation": { +"description": "Specifies which navigation features are enabled (e.g. Home, Overview buttons) in kiosk mode.", +"enum": [ +"SYSTEM_NAVIGATION_UNSPECIFIED", +"NAVIGATION_ENABLED", +"NAVIGATION_DISABLED", +"HOME_BUTTON_ONLY" +], +"enumDescriptions": [ +"Unspecified, defaults to NAVIGATION_DISABLED.", +"Home and overview buttons are enabled.", +"The home and Overview buttons are not accessible.", +"Only the home button is enabled." +], +"type": "string" +} +}, +"type": "object" +}, +"LaunchAppAction": { +"description": "An action to launch an app.", +"id": "LaunchAppAction", +"properties": { +"packageName": { +"description": "Package name of app to be launched", +"type": "string" +} +}, +"type": "object" +}, +"ListDevicesResponse": { +"description": "Response to a request to list devices for a given enterprise.", +"id": "ListDevicesResponse", +"properties": { +"devices": { +"description": "The list of devices.", +"items": { +"$ref": "Device" +}, +"type": "array" +}, +"nextPageToken": { +"description": "If there are more results, a token to retrieve next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListEnrollmentTokensResponse": { +"description": "Response to a request to list enrollment tokens for a given enterprise.", +"id": "ListEnrollmentTokensResponse", +"properties": { +"enrollmentTokens": { +"description": "The list of enrollment tokens.", +"items": { +"$ref": "EnrollmentToken" +}, +"type": "array" +}, +"nextPageToken": { +"description": "If there are more results, a token to retrieve next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListEnterprisesResponse": { +"description": "Response to a request to list enterprises.", +"id": "ListEnterprisesResponse", +"properties": { +"enterprises": { +"description": "The list of enterprises.", +"items": { +"$ref": "Enterprise" +}, +"type": "array" +}, +"nextPageToken": { +"description": "If there are more results, a token to retrieve next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListMigrationTokensResponse": { +"description": "Response to a request to list migration tokens for a given enterprise.", +"id": "ListMigrationTokensResponse", +"properties": { +"migrationTokens": { +"description": "The migration tokens from the specified enterprise.", +"items": { +"$ref": "MigrationToken" +}, +"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" +}, +"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" +}, +"ListPoliciesResponse": { +"description": "Response to a request to list policies for a given enterprise.", +"id": "ListPoliciesResponse", +"properties": { +"nextPageToken": { +"description": "If there are more results, a token to retrieve next page of results.", +"type": "string" +}, +"policies": { +"description": "The list of policies.", +"items": { +"$ref": "Policy" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListWebAppsResponse": { +"description": "Response to a request to list web apps for a given enterprise.", +"id": "ListWebAppsResponse", +"properties": { +"nextPageToken": { +"description": "If there are more results, a token to retrieve next page of results.", +"type": "string" +}, +"webApps": { +"description": "The list of web apps.", +"items": { +"$ref": "WebApp" +}, +"type": "array" +} +}, +"type": "object" +}, +"Location": { +"description": "The device location containing the latitude and longitude.", +"id": "Location", +"properties": { +"latitude": { +"description": "The latitude position of the location", +"format": "double", +"type": "number" +}, +"longitude": { +"description": "The longitude position of the location", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"LogBufferSizeCriticalEvent": { +"description": "The usageLog buffer on the device has reached 90% of its capacity, therefore older events may be dropped. Intentionally empty.", +"id": "LogBufferSizeCriticalEvent", +"properties": {}, +"type": "object" +}, +"LoggingStartedEvent": { +"description": "usageLog policy has been enabled. Intentionally empty.", +"id": "LoggingStartedEvent", +"properties": {}, +"type": "object" +}, +"LoggingStoppedEvent": { +"description": "usageLog policy has been disabled. Intentionally empty.", +"id": "LoggingStoppedEvent", +"properties": {}, +"type": "object" +}, +"LostModeLocationEvent": { +"description": "A lost mode event containing the device location and battery level as a percentage.", +"id": "LostModeLocationEvent", +"properties": { +"batteryLevel": { +"description": "The battery level as a number between 0 and 100 inclusive", +"format": "int32", +"type": "integer" +}, +"location": { +"$ref": "Location", +"description": "The device location" +} +}, +"type": "object" +}, +"LostModeOutgoingPhoneCallEvent": { +"description": "An event indicating an outgoing phone call has been made when a device is in lost mode. Intentionally empty.", +"id": "LostModeOutgoingPhoneCallEvent", +"properties": {}, +"type": "object" +}, +"ManagedConfigurationTemplate": { +"description": "The managed configurations template for the app, saved from the managed configurations iframe.", +"id": "ManagedConfigurationTemplate", +"properties": { +"configurationVariables": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional, a map containing configuration variables defined for the configuration.", +"type": "object" +}, +"templateId": { +"description": "The ID of the managed configurations template.", +"type": "string" +} +}, +"type": "object" +}, +"ManagedProperty": { +"description": "Managed property.", +"id": "ManagedProperty", +"properties": { +"defaultValue": { +"description": "The default value of the property. BUNDLE_ARRAY properties don't have a default value.", +"type": "any" +}, +"description": { +"description": "A longer description of the property, providing more detail of what it affects. Localized.", +"type": "string" +}, +"entries": { +"description": "For CHOICE or MULTISELECT properties, the list of possible entries.", +"items": { +"$ref": "ManagedPropertyEntry" +}, +"type": "array" +}, +"key": { +"description": "The unique key that the app uses to identify the property, e.g. \"com.google.android.gm.fieldname\".", +"type": "string" +}, +"nestedProperties": { +"description": "For BUNDLE_ARRAY properties, the list of nested properties. A BUNDLE_ARRAY property is at most two levels deep.", +"items": { +"$ref": "ManagedProperty" +}, +"type": "array" +}, +"title": { +"description": "The name of the property. Localized.", +"type": "string" +}, +"type": { +"description": "The type of the property.", +"enum": [ +"MANAGED_PROPERTY_TYPE_UNSPECIFIED", +"BOOL", +"STRING", +"INTEGER", +"CHOICE", +"MULTISELECT", +"HIDDEN", +"BUNDLE", +"BUNDLE_ARRAY" +], +"enumDescriptions": [ +"Not used.", +"A property of boolean type.", +"A property of string type.", +"A property of integer type.", +"A choice of one item from a set.", +"A choice of multiple items from a set.", +"A hidden restriction of string type (the default value can be used to pass along information that can't be modified, such as a version code).", +"A bundle of properties", +"An array of property bundles." +], +"type": "string" +} +}, +"type": "object" +}, +"ManagedPropertyEntry": { +"description": "An entry of a managed property.", +"id": "ManagedPropertyEntry", +"properties": { +"name": { +"description": "The human-readable name of the value. Localized.", +"type": "string" +}, +"value": { +"description": "The machine-readable value of the entry, which should be used in the configuration. Not localized.", +"type": "string" +} +}, +"type": "object" +}, +"MediaMountEvent": { +"description": "Removable media was mounted.", +"id": "MediaMountEvent", +"properties": { +"mountPoint": { +"description": "Mount point.", +"type": "string" +}, +"volumeLabel": { +"description": "Volume label. Redacted to empty string on organization-owned managed profile devices.", +"type": "string" +} +}, +"type": "object" +}, +"MediaUnmountEvent": { +"description": "Removable media was unmounted.", +"id": "MediaUnmountEvent", +"properties": { +"mountPoint": { +"description": "Mount point.", +"type": "string" +}, +"volumeLabel": { +"description": "Volume label. Redacted to empty string on organization-owned managed profile devices.", +"type": "string" +} +}, +"type": "object" +}, +"MemoryEvent": { +"description": "An event related to memory and storage measurements.To distinguish between new and old events, we recommend using the createTime field.", +"id": "MemoryEvent", +"properties": { +"byteCount": { +"description": "The number of free bytes in the medium, or for EXTERNAL_STORAGE_DETECTED, the total capacity in bytes of the storage medium.", +"format": "int64", +"type": "string" +}, +"createTime": { +"description": "The creation time of the event.", +"format": "google-datetime", +"type": "string" +}, +"eventType": { +"description": "Event type.", +"enum": [ +"MEMORY_EVENT_TYPE_UNSPECIFIED", +"RAM_MEASURED", +"INTERNAL_STORAGE_MEASURED", +"EXTERNAL_STORAGE_DETECTED", +"EXTERNAL_STORAGE_REMOVED", +"EXTERNAL_STORAGE_MEASURED" +], +"enumDescriptions": [ +"Unspecified. No events have this type.", +"Free space in RAM was measured.", +"Free space in internal storage was measured.", +"A new external storage medium was detected. The reported byte count is the total capacity of the storage medium.", +"An external storage medium was removed. The reported byte count is zero.", +"Free space in an external storage medium was measured." +], +"type": "string" +} +}, +"type": "object" +}, +"MemoryInfo": { +"description": "Information about device memory and storage.", +"id": "MemoryInfo", +"properties": { +"totalInternalStorage": { +"description": "Total internal storage on device in bytes.", +"format": "int64", +"type": "string" +}, +"totalRam": { +"description": "Total RAM on device in bytes.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"MigrationToken": { +"description": "A token to initiate the migration of a device from being managed by a third-party DPC to being managed by Android Management API. A migration token is valid only for a single device. See the guide (https://developers.google.com/android/management/dpc-migration) for more details.", +"id": "MigrationToken", +"properties": { +"additionalData": { +"description": "Immutable. Optional EMM-specified additional data. Once the device is migrated this will be populated in the migrationAdditionalData field of the Device resource. This must be at most 1024 characters.", +"type": "string" +}, +"createTime": { +"description": "Output only. Time when this migration token was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"device": { +"description": "Output only. Once this migration token is used to migrate a device, the name of the resulting Device resource will be populated here, in the form enterprises/{enterprise}/devices/{device}.", +"readOnly": true, +"type": "string" +}, +"deviceId": { +"description": "Required. Immutable. The id of the device, as in the Play EMM API. This corresponds to the deviceId parameter in Play EMM API's Devices.get (https://developers.google.com/android/work/play/emm-api/v1/devices/get#parameters) call.", +"type": "string" +}, +"expireTime": { +"description": "Immutable. The time when this migration token expires. This can be at most seven days from the time of creation. The migration token is deleted seven days after it expires.", +"format": "google-datetime", +"type": "string" +}, +"managementMode": { +"description": "Required. Immutable. The management mode of the device or profile being migrated.", +"enum": [ +"MANAGEMENT_MODE_UNSPECIFIED", +"WORK_PROFILE_PERSONALLY_OWNED", +"WORK_PROFILE_COMPANY_OWNED", +"FULLY_MANAGED" +], +"enumDescriptions": [ +"This value must not be used.", +"A work profile on a personally owned device. Supported only on devices running Android 9 and above.", +"A work profile on a company-owned device. Supported only on devices running Android 11 and above.", +"A fully-managed device. Supported only on devices running Android 9 and above." +], +"type": "string" +}, +"name": { +"description": "Output only. The name of the migration token, which is generated by the server during creation, in the form enterprises/{enterprise}/migrationTokens/{migration_token}.", +"readOnly": true, +"type": "string" +}, +"policy": { +"description": "Required. Immutable. The name of the policy initially applied to the enrolled device, in the form enterprises/{enterprise}/policies/{policy}.", +"type": "string" +}, +"ttl": { +"description": "Input only. The time that this migration token is valid for. This is input-only, and for returning a migration token the server will populate the expireTime field. This can be at most seven days. The default is seven days.", +"format": "google-duration", +"type": "string" +}, +"userId": { +"description": "Required. Immutable. The user id of the Managed Google Play account on the device, as in the Play EMM API. This corresponds to the userId parameter in Play EMM API's Devices.get (https://developers.google.com/android/work/play/emm-api/v1/devices/get#parameters) call.", +"type": "string" +}, +"value": { +"description": "Output only. The value of the migration token.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"NetworkInfo": { +"description": "Device network info.", +"id": "NetworkInfo", +"properties": { +"imei": { +"description": "IMEI number of the GSM device. For example, A1000031212.", +"type": "string" +}, +"meid": { +"description": "MEID number of the CDMA device. For example, A00000292788E1.", +"type": "string" +}, +"networkOperatorName": { +"deprecated": true, +"description": "Alphabetic name of current registered operator. For example, Vodafone.", +"type": "string" +}, +"telephonyInfos": { +"description": "Provides telephony information associated with each SIM card on the device. Only supported on fully managed devices starting from Android API level 23.", +"items": { +"$ref": "TelephonyInfo" +}, +"type": "array" +}, +"wifiMacAddress": { +"description": "Wi-Fi MAC address of the device. For example, 7c:11:11:11:11:11.", +"type": "string" +} +}, +"type": "object" +}, +"NonComplianceDetail": { +"description": "Provides detail about non-compliance with a policy setting.", +"id": "NonComplianceDetail", +"properties": { +"currentValue": { +"description": "If the policy setting could not be applied, the current value of the setting on the device.", +"type": "any" +}, +"fieldPath": { +"description": "For settings with nested fields, if a particular nested field is out of compliance, this specifies the full path to the offending field. The path is formatted in the same way the policy JSON field would be referenced in JavaScript, that is: 1) For object-typed fields, the field name is followed by a dot then by a subfield name. 2) For array-typed fields, the field name is followed by the array index enclosed in brackets. For example, to indicate a problem with the url field in the externalData field in the 3rd application, the path would be applications[2].externalData.url", +"type": "string" +}, +"installationFailureReason": { +"description": "If package_name is set and the non-compliance reason is APP_NOT_INSTALLED or APP_NOT_UPDATED, the detailed reason the app can't be installed or updated.", +"enum": [ +"INSTALLATION_FAILURE_REASON_UNSPECIFIED", +"INSTALLATION_FAILURE_REASON_UNKNOWN", +"IN_PROGRESS", +"NOT_FOUND", +"NOT_COMPATIBLE_WITH_DEVICE", +"NOT_APPROVED", +"PERMISSIONS_NOT_ACCEPTED", +"NOT_AVAILABLE_IN_COUNTRY", +"NO_LICENSES_REMAINING", +"NOT_ENROLLED", +"USER_INVALID", +"NETWORK_ERROR_UNRELIABLE_CONNECTION", +"INSUFFICIENT_STORAGE" +], +"enumDescriptions": [ +"This value is disallowed.", +"An unknown condition is preventing the app from being installed. Some potential reasons are that the device doesn't have enough storage, the device network connection is unreliable, or the installation is taking longer than expected. The installation will be retried automatically.", +"The installation is still in progress.", +"The app was not found in Play.", +"The app is incompatible with the device.", +"The app has not been approved by the admin.", +"The app has new permissions that have not been accepted by the admin.", +"The app is not available in the user's country.", +"There are no licenses available to assign to the user.", +"The enterprise is no longer enrolled with Managed Google Play or the admin has not accepted the latest Managed Google Play Terms of Service.", +"The user is no longer valid. The user may have been deleted or disabled.", +"A network error on the user's device has prevented the install from succeeding. This usually happens when the device's internet connectivity is degraded, unavailable or there's a network configuration issue. Please ensure the device has access to full internet connectivity on a network that meets Android Enterprise Network Requirements (https://support.google.com/work/android/answer/10513641). App install or update will automatically resume once this is the case.", +"The user's device does not have sufficient storage space to install the app. This can be resolved by clearing up storage space on the device. App install or update will automatically resume once the device has sufficient storage." +], +"type": "string" +}, +"nonComplianceReason": { +"description": "The reason the device is not in compliance with the setting.", +"enum": [ +"NON_COMPLIANCE_REASON_UNSPECIFIED", +"API_LEVEL", +"MANAGEMENT_MODE", +"USER_ACTION", +"INVALID_VALUE", +"APP_NOT_INSTALLED", +"UNSUPPORTED", +"APP_INSTALLED", +"PENDING", +"APP_INCOMPATIBLE", +"APP_NOT_UPDATED", +"DEVICE_INCOMPATIBLE" +], +"enumDescriptions": [ +"This value is not used.", +"The setting is not supported in the API level of the Android version running on the device.", +"The management mode (such as fully managed or work profile) doesn't support the setting.", +"The user has not taken required action to comply with the setting.", +"The setting has an invalid value.", +"The app required to implement the policy is not installed.", +"The policy is not supported by the version of Android Device Policy on the device.", +"A blocked app is installed.", +"The setting hasn't been applied at the time of the report, but is expected to be applied shortly.", +"The setting can't be applied to the app because the app doesn't support it, for example because its target SDK version is not high enough.", +"The app is installed, but it hasn't been updated to the minimum version code specified by policy.", +"The device is incompatible with the policy requirements." +], +"type": "string" +}, +"packageName": { +"description": "The package name indicating which app is out of compliance, if applicable.", +"type": "string" +}, +"settingName": { +"description": "The name of the policy setting. This is the JSON field name of a top-level Policy field.", +"type": "string" +}, +"specificNonComplianceContext": { +"$ref": "SpecificNonComplianceContext", +"description": "Additional context for specific_non_compliance_reason." +}, +"specificNonComplianceReason": { +"description": "The policy-specific reason the device is not in compliance with the setting.", +"enum": [ +"SPECIFIC_NON_COMPLIANCE_REASON_UNSPECIFIED", +"PASSWORD_POLICIES_USER_CREDENTIALS_CONFIRMATION_REQUIRED", +"PASSWORD_POLICIES_PASSWORD_EXPIRED", +"PASSWORD_POLICIES_PASSWORD_NOT_SUFFICIENT", +"ONC_WIFI_INVALID_VALUE", +"ONC_WIFI_API_LEVEL", +"ONC_WIFI_INVALID_ENTERPRISE_CONFIG", +"ONC_WIFI_USER_SHOULD_REMOVE_NETWORK", +"ONC_WIFI_KEY_PAIR_ALIAS_NOT_CORRESPONDING_TO_EXISTING_KEY" +], +"enumDescriptions": [ +"Specific non-compliance reason is not specified. Fields in specific_non_compliance_context are not set.", +"User needs to confirm credentials by entering the screen lock. Fields in specific_non_compliance_context are not set. nonComplianceReason is set to USER_ACTION.", +"The device or profile password has expired. passwordPoliciesContext is set. nonComplianceReason is set to USER_ACTION.", +"The device password does not satisfy password requirements. passwordPoliciesContext is set. nonComplianceReason is set to USER_ACTION.", +"There is an incorrect value in ONC Wi-Fi configuration. fieldPath specifies which field value is incorrect. oncWifiContext is set. nonComplianceReason is set to INVALID_VALUE.", +"The ONC Wi-Fi setting is not supported in the API level of the Android version running on the device. fieldPath specifies which field value is not supported. oncWifiContext is set. nonComplianceReason is set to API_LEVEL.", +"The enterprise Wi-Fi network is missing either the root CA or domain name. nonComplianceReason is set to INVALID_VALUE.", +"User needs to remove the configured Wi-Fi network manually. This is applicable only on work profiles on personally-owned devices. nonComplianceReason is set to USER_ACTION.", +"Key pair alias specified via ClientCertKeyPairAlias (https://chromium.googlesource.com/chromium/src/+/main/components/onc/docs/onc_spec.md#eap-type) field in openNetworkConfiguration does not correspond to an existing key installed on the device. nonComplianceReason is set to INVALID_VALUE." +], +"type": "string" +} +}, +"type": "object" +}, +"NonComplianceDetailCondition": { +"deprecated": true, +"description": "A compliance rule condition which is satisfied if there exists any matching NonComplianceDetail for the device. A NonComplianceDetail matches a NonComplianceDetailCondition if all the fields which are set within the NonComplianceDetailCondition match the corresponding NonComplianceDetail fields.", +"id": "NonComplianceDetailCondition", +"properties": { +"nonComplianceReason": { +"description": "The reason the device is not in compliance with the setting. If not set, then this condition matches any reason.", +"enum": [ +"NON_COMPLIANCE_REASON_UNSPECIFIED", +"API_LEVEL", +"MANAGEMENT_MODE", +"USER_ACTION", +"INVALID_VALUE", +"APP_NOT_INSTALLED", +"UNSUPPORTED", +"APP_INSTALLED", +"PENDING", +"APP_INCOMPATIBLE", +"APP_NOT_UPDATED", +"DEVICE_INCOMPATIBLE" +], +"enumDescriptions": [ +"This value is not used.", +"The setting is not supported in the API level of the Android version running on the device.", +"The management mode (such as fully managed or work profile) doesn't support the setting.", +"The user has not taken required action to comply with the setting.", +"The setting has an invalid value.", +"The app required to implement the policy is not installed.", +"The policy is not supported by the version of Android Device Policy on the device.", +"A blocked app is installed.", +"The setting hasn't been applied at the time of the report, but is expected to be applied shortly.", +"The setting can't be applied to the app because the app doesn't support it, for example because its target SDK version is not high enough.", +"The app is installed, but it hasn't been updated to the minimum version code specified by policy.", +"The device is incompatible with the policy requirements." +], +"type": "string" +}, +"packageName": { +"description": "The package name of the app that's out of compliance. If not set, then this condition matches any package name.", +"type": "string" +}, +"settingName": { +"description": "The name of the policy setting. This is the JSON field name of a top-level Policy field. If not set, then this condition matches any setting name.", +"type": "string" +} +}, +"type": "object" +}, +"OncCertificateProvider": { +"description": "This feature is not generally available.", +"id": "OncCertificateProvider", +"properties": { +"certificateReferences": { +"description": "This feature is not generally available.", +"items": { +"type": "string" +}, +"type": "array" +}, +"contentProviderEndpoint": { +"$ref": "ContentProviderEndpoint", +"description": "This feature is not generally available." +} +}, +"type": "object" +}, +"OncWifiContext": { +"description": "Additional context for non-compliance related to Wi-Fi configuration.", +"id": "OncWifiContext", +"properties": { +"wifiGuid": { +"description": "The GUID of non-compliant Wi-Fi configuration.", +"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" +}, +"OsShutdownEvent": { +"description": "Device was shutdown. Intentionally empty.", +"id": "OsShutdownEvent", +"properties": {}, +"type": "object" +}, +"OsStartupEvent": { +"description": "Device was started.", +"id": "OsStartupEvent", +"properties": { +"verifiedBootState": { +"description": "Verified Boot state.", +"enum": [ +"VERIFIED_BOOT_STATE_UNSPECIFIED", +"GREEN", +"YELLOW", +"ORANGE" +], +"enumDescriptions": [ +"Unknown value.", +"Indicates that there is a full chain of trust extending from the bootloader to verified partitions including the bootloader, boot partition, and all verified partitions.", +"Indicates that the boot partition has been verified using the embedded certificate and the signature is valid.", +"Indicates that the device may be freely modified. Device integrity is left to the user to verify out-of-band." +], +"type": "string" +}, +"verityMode": { +"description": "dm-verity mode.", +"enum": [ +"DM_VERITY_MODE_UNSPECIFIED", +"ENFORCING", +"IO_ERROR", +"DISABLED" +], +"enumDescriptions": [ +"Unknown value.", +"Indicates that the device will be restarted when corruption is detected.", +"Indicates that an I/O error will be returned for an attempt to read corrupted data blocks (also known as eio boot state).", +"Indicates that dm-verity is disabled on device." +], +"type": "string" +} +}, +"type": "object" +}, +"PackageNameList": { +"description": "A list of package names.", +"id": "PackageNameList", +"properties": { +"packageNames": { +"description": "A list of package names.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"PasswordPoliciesContext": { +"description": "Additional context for non-compliance related to password policies.", +"id": "PasswordPoliciesContext", +"properties": { +"passwordPolicyScope": { +"description": "The scope of non-compliant password.", +"enum": [ +"SCOPE_UNSPECIFIED", +"SCOPE_DEVICE", +"SCOPE_PROFILE" +], +"enumDescriptions": [ +"The scope is unspecified. The password requirements are applied to the work profile for work profile devices and the whole device for fully managed or dedicated devices.", +"The password requirements are only applied to the device.", +"The password requirements are only applied to the work profile." +], +"type": "string" +} +}, +"type": "object" +}, +"PasswordRequirements": { +"description": "Requirements for the password used to unlock a device.", +"id": "PasswordRequirements", +"properties": { +"maximumFailedPasswordsForWipe": { +"description": "Number of incorrect device-unlock passwords that can be entered before a device is wiped. A value of 0 means there is no restriction.", +"format": "int32", +"type": "integer" +}, +"passwordExpirationTimeout": { +"description": "Password expiration timeout.", +"format": "google-duration", +"type": "string" +}, +"passwordHistoryLength": { +"description": "The length of the password history. After setting this field, the user won't be able to enter a new password that is the same as any password in the history. A value of 0 means there is no restriction.", +"format": "int32", +"type": "integer" +}, +"passwordMinimumLength": { +"description": "The minimum allowed password length. A value of 0 means there is no restriction. Only enforced when password_quality is NUMERIC, NUMERIC_COMPLEX, ALPHABETIC, ALPHANUMERIC, or COMPLEX.", +"format": "int32", +"type": "integer" +}, +"passwordMinimumLetters": { +"description": "Minimum number of letters required in the password. Only enforced when password_quality is COMPLEX.", +"format": "int32", +"type": "integer" +}, +"passwordMinimumLowerCase": { +"description": "Minimum number of lower case letters required in the password. Only enforced when password_quality is COMPLEX.", +"format": "int32", +"type": "integer" +}, +"passwordMinimumNonLetter": { +"description": "Minimum number of non-letter characters (numerical digits or symbols) required in the password. Only enforced when password_quality is COMPLEX.", +"format": "int32", +"type": "integer" +}, +"passwordMinimumNumeric": { +"description": "Minimum number of numerical digits required in the password. Only enforced when password_quality is COMPLEX.", +"format": "int32", +"type": "integer" +}, +"passwordMinimumSymbols": { +"description": "Minimum number of symbols required in the password. Only enforced when password_quality is COMPLEX.", +"format": "int32", +"type": "integer" +}, +"passwordMinimumUpperCase": { +"description": "Minimum number of upper case letters required in the password. Only enforced when password_quality is COMPLEX.", +"format": "int32", +"type": "integer" +}, +"passwordQuality": { +"description": "The required password quality.", +"enum": [ +"PASSWORD_QUALITY_UNSPECIFIED", +"BIOMETRIC_WEAK", +"SOMETHING", +"NUMERIC", +"NUMERIC_COMPLEX", +"ALPHABETIC", +"ALPHANUMERIC", +"COMPLEX", +"COMPLEXITY_LOW", +"COMPLEXITY_MEDIUM", +"COMPLEXITY_HIGH" +], +"enumDescriptions": [ +"There are no password requirements.", +"The device must be secured with a low-security biometric recognition technology, at minimum. This includes technologies that can recognize the identity of an individual that are roughly equivalent to a 3-digit PIN (false detection is less than 1 in 1,000).This, when applied on personally owned work profile devices on Android 12 device-scoped, will be treated as COMPLEXITY_LOW for application. See PasswordQuality for details.", +"A password is required, but there are no restrictions on what the password must contain.This, when applied on personally owned work profile devices on Android 12 device-scoped, will be treated as COMPLEXITY_LOW for application. See PasswordQuality for details.", +"The password must contain numeric characters.This, when applied on personally owned work profile devices on Android 12 device-scoped, will be treated as COMPLEXITY_MEDIUM for application. See PasswordQuality for details.", +"The password must contain numeric characters with no repeating (4444) or ordered (1234, 4321, 2468) sequences.This, when applied on personally owned work profile devices on Android 12 device-scoped, will be treated as COMPLEXITY_MEDIUM for application. See PasswordQuality for details.", +"The password must contain alphabetic (or symbol) characters.This, when applied on personally owned work profile devices on Android 12 device-scoped, will be treated as COMPLEXITY_HIGH for application. See PasswordQuality for details.", +"The password must contain both numeric and alphabetic (or symbol) characters.This, when applied on personally owned work profile devices on Android 12 device-scoped, will be treated as COMPLEXITY_HIGH for application. See PasswordQuality for details.", +"The password must meet the minimum requirements specified in passwordMinimumLength, passwordMinimumLetters, passwordMinimumSymbols, etc. For example, if passwordMinimumSymbols is 2, the password must contain at least two symbols.This, when applied on personally owned work profile devices on Android 12 device-scoped, will be treated as COMPLEXITY_HIGH for application. In this case, the requirements in passwordMinimumLength, passwordMinimumLetters, passwordMinimumSymbols, etc are not applied. See PasswordQuality for details.", +"Define the low password complexity band as: pattern PIN with repeating (4444) or ordered (1234, 4321, 2468) sequencesThis sets the minimum complexity band which the password must meet.Enforcement varies among different Android versions, management modes and password scopes. See PasswordQuality for details.", +"Define the medium password complexity band as: PIN with no repeating (4444) or ordered (1234, 4321, 2468) sequences, length at least 4 alphabetic, length at least 4 alphanumeric, length at least 4This sets the minimum complexity band which the password must meet.Enforcement varies among different Android versions, management modes and password scopes. See PasswordQuality for details.", +"Define the high password complexity band as:On Android 12 and above: PIN with no repeating (4444) or ordered (1234, 4321, 2468) sequences, length at least 8 alphabetic, length at least 6 alphanumeric, length at least 6This sets the minimum complexity band which the password must meet.Enforcement varies among different Android versions, management modes and password scopes. See PasswordQuality for details." +], +"type": "string" +}, +"passwordScope": { +"description": "The scope that the password requirement applies to.", +"enum": [ +"SCOPE_UNSPECIFIED", +"SCOPE_DEVICE", +"SCOPE_PROFILE" +], +"enumDescriptions": [ +"The scope is unspecified. The password requirements are applied to the work profile for work profile devices and the whole device for fully managed or dedicated devices.", +"The password requirements are only applied to the device.", +"The password requirements are only applied to the work profile." +], +"type": "string" +}, +"requirePasswordUnlock": { +"description": "The length of time after a device or work profile is unlocked using a strong form of authentication (password, PIN, pattern) that it can be unlocked using any other authentication method (e.g. fingerprint, trust agents, face). After the specified time period elapses, only strong forms of authentication can be used to unlock the device or work profile.", +"enum": [ +"REQUIRE_PASSWORD_UNLOCK_UNSPECIFIED", +"USE_DEFAULT_DEVICE_TIMEOUT", +"REQUIRE_EVERY_DAY" +], +"enumDescriptions": [ +"Unspecified. Defaults to USE_DEFAULT_DEVICE_TIMEOUT.", +"The timeout period is set to the device\u2019s default.", +"The timeout period is set to 24 hours." +], +"type": "string" +}, +"unifiedLockSettings": { +"description": "Controls whether a unified lock is allowed for the device and the work profile, on devices running Android 9 and above with a work profile. This can be set only if password_scope is set to SCOPE_PROFILE, the policy will be rejected otherwise. If user has not set a separate work lock and this field is set to REQUIRE_SEPARATE_WORK_LOCK, a NonComplianceDetail is reported with nonComplianceReason set to USER_ACTION.", +"enum": [ +"UNIFIED_LOCK_SETTINGS_UNSPECIFIED", +"ALLOW_UNIFIED_WORK_AND_PERSONAL_LOCK", +"REQUIRE_SEPARATE_WORK_LOCK" +], +"enumDescriptions": [ +"Unspecified. Defaults to ALLOW_UNIFIED_WORK_AND_PERSONAL_LOCK.", +"A common lock for the device and the work profile is allowed.", +"A separate lock for the work profile is required." +], +"type": "string" +} +}, +"type": "object" +}, +"PerAppResult": { +"description": "The result of an attempt to clear the data of a single app.", +"id": "PerAppResult", +"properties": { +"clearingResult": { +"description": "The result of an attempt to clear the data of a single app.", +"enum": [ +"CLEARING_RESULT_UNSPECIFIED", +"SUCCESS", +"APP_NOT_FOUND", +"APP_PROTECTED", +"API_LEVEL" +], +"enumDescriptions": [ +"Unspecified result.", +"This app\u2019s data was successfully cleared.", +"This app\u2019s data could not be cleared because the app was not found.", +"This app\u2019s data could not be cleared because the app is protected. For example, this may apply to apps critical to the functioning of the device, such as Google Play Store.", +"This app\u2019s data could not be cleared because the device API level does not support this command." +], +"type": "string" +} +}, +"type": "object" +}, +"PermissionGrant": { +"description": "Configuration for an Android permission and its grant state.", +"id": "PermissionGrant", +"properties": { +"permission": { +"description": "The Android permission or group, e.g. android.permission.READ_CALENDAR or android.permission_group.CALENDAR.", +"type": "string" +}, +"policy": { +"description": "The policy for granting the permission.", +"enum": [ +"PERMISSION_POLICY_UNSPECIFIED", +"PROMPT", +"GRANT", +"DENY" +], +"enumDescriptions": [ +"Policy not specified. If no policy is specified for a permission at any level, then the PROMPT behavior is used by default.", +"Prompt the user to grant a permission.", +"Automatically grant a permission.On Android 12 and above, READ_SMS (https://developer.android.com/reference/android/Manifest.permission#READ_SMS) and following sensor-related permissions can only be granted on fully managed devices: ACCESS_FINE_LOCATION (https://developer.android.com/reference/android/Manifest.permission#ACCESS_FINE_LOCATION) ACCESS_BACKGROUND_LOCATION (https://developer.android.com/reference/android/Manifest.permission#ACCESS_BACKGROUND_LOCATION) ACCESS_COARSE_LOCATION (https://developer.android.com/reference/android/Manifest.permission#ACCESS_COARSE_LOCATION) CAMERA (https://developer.android.com/reference/android/Manifest.permission#CAMERA) RECORD_AUDIO (https://developer.android.com/reference/android/Manifest.permission#RECORD_AUDIO) ACTIVITY_RECOGNITION (https://developer.android.com/reference/android/Manifest.permission#ACTIVITY_RECOGNITION) BODY_SENSORS (https://developer.android.com/reference/android/Manifest.permission#BODY_SENSORS)", +"Automatically deny a permission." +], +"type": "string" +} +}, +"type": "object" +}, +"PersistentPreferredActivity": { +"description": "A default activity for handling intents that match a particular intent filter. Note: To set up a kiosk, use InstallType to KIOSK rather than use persistent preferred activities.", +"id": "PersistentPreferredActivity", +"properties": { +"actions": { +"description": "The intent actions to match in the filter. If any actions are included in the filter, then an intent's action must be one of those values for it to match. If no actions are included, the intent action is ignored.", +"items": { +"type": "string" +}, +"type": "array" +}, +"categories": { +"description": "The intent categories to match in the filter. An intent includes the categories that it requires, all of which must be included in the filter in order to match. In other words, adding a category to the filter has no impact on matching unless that category is specified in the intent.", +"items": { +"type": "string" +}, +"type": "array" +}, +"receiverActivity": { +"description": "The activity that should be the default intent handler. This should be an Android component name, e.g. com.android.enterprise.app/.MainActivity. Alternatively, the value may be the package name of an app, which causes Android Device Policy to choose an appropriate activity from the app to handle the intent.", +"type": "string" +} +}, +"type": "object" +}, +"PersonalApplicationPolicy": { +"description": "Policies for apps in the personal profile of a company-owned device with a work profile.", +"id": "PersonalApplicationPolicy", +"properties": { +"installType": { +"description": "The type of installation to perform.", +"enum": [ +"INSTALL_TYPE_UNSPECIFIED", +"BLOCKED", +"AVAILABLE" +], +"enumDescriptions": [ +"Unspecified. Defaults to AVAILABLE.", +"The app is blocked and can't be installed in the personal profile. If the app was previously installed in the device, it will be uninstalled.", +"The app is available to install in the personal profile." +], +"type": "string" +}, +"packageName": { +"description": "The package name of the application.", +"type": "string" +} +}, +"type": "object" +}, +"PersonalUsagePolicies": { +"description": "Policies controlling personal usage on a company-owned device with a work profile.", +"id": "PersonalUsagePolicies", +"properties": { +"accountTypesWithManagementDisabled": { +"description": "Account types that can't be managed by the user.", +"items": { +"type": "string" +}, +"type": "array" +}, +"cameraDisabled": { +"description": "If true, the camera is disabled on the personal profile.", +"type": "boolean" +}, +"maxDaysWithWorkOff": { +"description": "Controls how long the work profile can stay off. The minimum duration must be at least 3 days. Other details are as follows: - If the duration is set to 0, the feature is turned off. - If the duration is set to a value smaller than the minimum duration, the feature returns an error. *Note:* If you want to avoid personal profiles being suspended during long periods of off-time, you can temporarily set a large value for this parameter.", +"format": "int32", +"type": "integer" +}, +"personalApplications": { +"description": "Policy applied to applications in the personal profile.", +"items": { +"$ref": "PersonalApplicationPolicy" +}, +"type": "array" +}, +"personalPlayStoreMode": { +"description": "Used together with personalApplications to control how apps in the personal profile are allowed or blocked.", +"enum": [ +"PLAY_STORE_MODE_UNSPECIFIED", +"BLACKLIST", +"BLOCKLIST", +"ALLOWLIST" +], +"enumDeprecated": [ +false, +true, +false, +false +], +"enumDescriptions": [ +"Unspecified. Defaults to BLOCKLIST.", +"All Play Store apps are available for installation in the personal profile, except those whose installType is BLOCKED in personalApplications.", +"All Play Store apps are available for installation in the personal profile, except those whose installType is BLOCKED in personalApplications.", +"Only apps explicitly specified in personalApplications with installType set to AVAILABLE are allowed to be installed in the personal profile." +], +"type": "string" +}, +"privateSpacePolicy": { +"description": "Optional. Controls whether a private space is allowed on the device.", +"enum": [ +"PRIVATE_SPACE_POLICY_UNSPECIFIED", +"PRIVATE_SPACE_ALLOWED", +"PRIVATE_SPACE_DISALLOWED" +], +"enumDescriptions": [ +"Unspecified. Defaults to PRIVATE_SPACE_ALLOWED.", +"Users can create a private space profile.", +"Users cannot create a private space profile. Supported only for company-owned devices with a work profile. Caution: Any existing private space will be removed." +], +"type": "string" +}, +"screenCaptureDisabled": { +"description": "If true, screen capture is disabled for all users.", +"type": "boolean" +} +}, +"type": "object" +}, +"Policy": { +"description": "A policy resource represents a group of settings that govern the behavior of a managed device and the apps installed on it.", +"id": "Policy", +"properties": { +"accountTypesWithManagementDisabled": { +"description": "Account types that can't be managed by the user.", +"items": { +"type": "string" +}, +"type": "array" +}, +"addUserDisabled": { +"description": "Whether adding new users and profiles is disabled. For devices where managementMode is DEVICE_OWNER this field is ignored and the user is never allowed to add or remove users.", +"type": "boolean" +}, +"adjustVolumeDisabled": { +"description": "Whether adjusting the master volume is disabled. Also mutes the device.", +"type": "boolean" +}, +"advancedSecurityOverrides": { +"$ref": "AdvancedSecurityOverrides", +"description": "Advanced security settings. In most cases, setting these is not needed." +}, +"alwaysOnVpnPackage": { +"$ref": "AlwaysOnVpnPackage", +"description": "Configuration for an always-on VPN connection. Use with vpn_config_disabled to prevent modification of this setting." +}, +"androidDevicePolicyTracks": { +"deprecated": true, +"description": "This setting is not supported. Any value is ignored.", +"items": { +"enum": [ +"APP_TRACK_UNSPECIFIED", +"PRODUCTION", +"BETA" +], +"enumDescriptions": [ +"This value is ignored.", +"The production track, which provides the latest stable release.", +"The beta track, which provides the latest beta release." +], +"type": "string" +}, +"type": "array" +}, +"appAutoUpdatePolicy": { +"description": "Recommended alternative: autoUpdateMode which is set per app, provides greater flexibility around update frequency.When autoUpdateMode is set to AUTO_UPDATE_POSTPONED or AUTO_UPDATE_HIGH_PRIORITY, this field has no effect.The app auto update policy, which controls when automatic app updates can be applied.", +"enum": [ +"APP_AUTO_UPDATE_POLICY_UNSPECIFIED", +"CHOICE_TO_THE_USER", +"NEVER", +"WIFI_ONLY", +"ALWAYS" +], +"enumDescriptions": [ +"The auto-update policy is not set. Equivalent to CHOICE_TO_THE_USER.", +"The user can control auto-updates.", +"Apps are never auto-updated.", +"Apps are auto-updated over Wi-Fi only.", +"Apps are auto-updated at any time. Data charges may apply." +], +"type": "string" +}, +"applications": { +"description": "Policy applied to apps. This can have at most 3,000 elements.", +"items": { +"$ref": "ApplicationPolicy" +}, +"type": "array" +}, +"assistContentPolicy": { +"description": "Optional. Controls whether AssistContent (https://developer.android.com/reference/android/app/assist/AssistContent) is allowed to be sent to a privileged app such as an assistant app. AssistContent includes screenshots and information about an app, such as package name. This is supported on Android 15 and above.", +"enum": [ +"ASSIST_CONTENT_POLICY_UNSPECIFIED", +"ASSIST_CONTENT_DISALLOWED", +"ASSIST_CONTENT_ALLOWED" +], +"enumDescriptions": [ +"Unspecified. Defaults to ASSIST_CONTENT_ALLOWED.", +"Assist content is blocked from being sent to a privileged app.Supported on Android 15 and above. A nonComplianceDetail with API_LEVEL is reported if the Android version is less than 15.", +"Assist content is allowed to be sent to a privileged app.Supported on Android 15 and above." +], +"type": "string" +}, +"autoDateAndTimeZone": { +"description": "Whether auto date, time, and time zone are enabled on a company-owned device. If this is set, then autoTimeRequired is ignored.", +"enum": [ +"AUTO_DATE_AND_TIME_ZONE_UNSPECIFIED", +"AUTO_DATE_AND_TIME_ZONE_USER_CHOICE", +"AUTO_DATE_AND_TIME_ZONE_ENFORCED" +], +"enumDescriptions": [ +"Unspecified. Defaults to AUTO_DATE_AND_TIME_ZONE_USER_CHOICE.", +"Auto date, time, and time zone are left to user's choice.", +"Enforce auto date, time, and time zone on the device." +], +"type": "string" +}, +"autoTimeRequired": { +"deprecated": true, +"description": "Whether auto time is required, which prevents the user from manually setting the date and time. If autoDateAndTimeZone is set, this field is ignored.", +"type": "boolean" +}, +"blockApplicationsEnabled": { +"deprecated": true, +"description": "Whether applications other than the ones configured in applications are blocked from being installed. When set, applications that were installed under a previous policy but no longer appear in the policy are automatically uninstalled.", +"type": "boolean" +}, +"bluetoothConfigDisabled": { +"description": "Whether configuring bluetooth is disabled.", +"type": "boolean" +}, +"bluetoothContactSharingDisabled": { +"description": "Whether bluetooth contact sharing is disabled.", +"type": "boolean" +}, +"bluetoothDisabled": { +"description": "Whether bluetooth is disabled. Prefer this setting over bluetooth_config_disabled because bluetooth_config_disabled can be bypassed by the user.", +"type": "boolean" +}, +"cameraAccess": { +"description": "Controls the use of the camera and whether the user has access to the camera access toggle.", +"enum": [ +"CAMERA_ACCESS_UNSPECIFIED", +"CAMERA_ACCESS_USER_CHOICE", +"CAMERA_ACCESS_DISABLED", +"CAMERA_ACCESS_ENFORCED" +], +"enumDescriptions": [ +"If camera_disabled is true, this is equivalent to CAMERA_ACCESS_DISABLED. Otherwise, this is equivalent to CAMERA_ACCESS_USER_CHOICE.", +"The field camera_disabled is ignored. This is the default device behaviour: all cameras on the device are available. On Android 12 and above, the user can use the camera access toggle.", +"The field camera_disabled is ignored. All cameras on the device are disabled (for fully managed devices, this applies device-wide and for work profiles this applies only to the work profile).There are no explicit restrictions placed on the camera access toggle on Android 12 and above: on fully managed devices, the camera access toggle has no effect as all cameras are disabled. On devices with a work profile, this toggle has no effect on apps in the work profile, but it affects apps outside the work profile.", +"The field camera_disabled is ignored. All cameras on the device are available. On fully managed devices running Android 12 and above, the user is unable to use the camera access toggle. On devices which are not fully managed or which run Android 11 or below, this is equivalent to CAMERA_ACCESS_USER_CHOICE." +], +"type": "string" +}, +"cameraDisabled": { +"deprecated": true, +"description": "If camera_access is set to any value other than CAMERA_ACCESS_UNSPECIFIED, this has no effect. Otherwise this field controls whether cameras are disabled: If true, all cameras are disabled, otherwise they are available. For fully managed devices this field applies for all apps on the device. For work profiles, this field applies only to apps in the work profile, and the camera access of apps outside the work profile is unaffected.", +"type": "boolean" +}, +"cellBroadcastsConfigDisabled": { +"description": "Whether configuring cell broadcast is disabled.", +"type": "boolean" +}, +"choosePrivateKeyRules": { +"description": "Rules for determining apps' access to private keys. See ChoosePrivateKeyRule for details. This must be empty if any application has CERT_SELECTION delegation scope.", +"items": { +"$ref": "ChoosePrivateKeyRule" +}, +"type": "array" +}, +"complianceRules": { +"deprecated": true, +"description": "Rules declaring which mitigating actions to take when a device is not compliant with its policy. When the conditions for multiple rules are satisfied, all of the mitigating actions for the rules are taken. There is a maximum limit of 100 rules. Use policy enforcement rules instead.", +"items": { +"$ref": "ComplianceRule" +}, +"type": "array" +}, +"createWindowsDisabled": { +"description": "Whether creating windows besides app windows is disabled.", +"type": "boolean" +}, +"credentialProviderPolicyDefault": { +"description": "Controls which apps are allowed to act as credential providers on Android 14 and above. These apps store credentials, see this (https://developer.android.com/training/sign-in/passkeys) and this (https://developer.android.com/reference/androidx/credentials/CredentialManager) for details. See also credentialProviderPolicy.", +"enum": [ +"CREDENTIAL_PROVIDER_POLICY_DEFAULT_UNSPECIFIED", +"CREDENTIAL_PROVIDER_DEFAULT_DISALLOWED", +"CREDENTIAL_PROVIDER_DEFAULT_DISALLOWED_EXCEPT_SYSTEM" +], +"enumDescriptions": [ +"Unspecified. Defaults to CREDENTIAL_PROVIDER_DEFAULT_DISALLOWED.", +"Apps with credentialProviderPolicy unspecified are not allowed to act as a credential provider.", +"Apps with credentialProviderPolicy unspecified are not allowed to act as a credential provider except for the OEM default credential providers. OEM default credential providers are always allowed to act as credential providers." +], +"type": "string" +}, +"credentialsConfigDisabled": { +"description": "Whether configuring user credentials is disabled.", +"type": "boolean" +}, +"crossProfilePolicies": { +"$ref": "CrossProfilePolicies", +"description": "Cross-profile policies applied on the device." +}, +"dataRoamingDisabled": { +"description": "Whether roaming data services are disabled.", +"type": "boolean" +}, +"debuggingFeaturesAllowed": { +"deprecated": true, +"description": "Whether the user is allowed to enable debugging features.", +"type": "boolean" +}, +"defaultPermissionPolicy": { +"description": "The default permission policy for runtime permission requests.", +"enum": [ +"PERMISSION_POLICY_UNSPECIFIED", +"PROMPT", +"GRANT", +"DENY" +], +"enumDescriptions": [ +"Policy not specified. If no policy is specified for a permission at any level, then the PROMPT behavior is used by default.", +"Prompt the user to grant a permission.", +"Automatically grant a permission.On Android 12 and above, READ_SMS (https://developer.android.com/reference/android/Manifest.permission#READ_SMS) and following sensor-related permissions can only be granted on fully managed devices: ACCESS_FINE_LOCATION (https://developer.android.com/reference/android/Manifest.permission#ACCESS_FINE_LOCATION) ACCESS_BACKGROUND_LOCATION (https://developer.android.com/reference/android/Manifest.permission#ACCESS_BACKGROUND_LOCATION) ACCESS_COARSE_LOCATION (https://developer.android.com/reference/android/Manifest.permission#ACCESS_COARSE_LOCATION) CAMERA (https://developer.android.com/reference/android/Manifest.permission#CAMERA) RECORD_AUDIO (https://developer.android.com/reference/android/Manifest.permission#RECORD_AUDIO) ACTIVITY_RECOGNITION (https://developer.android.com/reference/android/Manifest.permission#ACTIVITY_RECOGNITION) BODY_SENSORS (https://developer.android.com/reference/android/Manifest.permission#BODY_SENSORS)", +"Automatically deny a permission." +], +"type": "string" +}, +"deviceConnectivityManagement": { +"$ref": "DeviceConnectivityManagement", +"description": "Covers controls for device connectivity such as Wi-Fi, USB data access, keyboard/mouse connections, and more." +}, +"deviceOwnerLockScreenInfo": { +"$ref": "UserFacingMessage", +"description": "The device owner information to be shown on the lock screen." +}, +"deviceRadioState": { +"$ref": "DeviceRadioState", +"description": "Covers controls for radio state such as Wi-Fi, bluetooth, and more." +}, +"displaySettings": { +"$ref": "DisplaySettings", +"description": "Optional. Controls for the display settings." +}, +"encryptionPolicy": { +"description": "Whether encryption is enabled", +"enum": [ +"ENCRYPTION_POLICY_UNSPECIFIED", +"ENABLED_WITHOUT_PASSWORD", +"ENABLED_WITH_PASSWORD" +], +"enumDescriptions": [ +"This value is ignored, i.e. no encryption required", +"Encryption required but no password required to boot", +"Encryption required with password required to boot" +], +"type": "string" +}, +"ensureVerifyAppsEnabled": { +"deprecated": true, +"description": "Whether app verification is force-enabled.", +"type": "boolean" +}, +"factoryResetDisabled": { +"description": "Whether factory resetting from settings is disabled.", +"type": "boolean" +}, +"frpAdminEmails": { +"description": "Email addresses of device administrators for factory reset protection. When the device is factory reset, it will require one of these admins to log in with the Google account email and password to unlock the device. If no admins are specified, the device won't provide factory reset protection.", +"items": { +"type": "string" +}, +"type": "array" +}, +"funDisabled": { +"description": "Whether the user is allowed to have fun. Controls whether the Easter egg game in Settings is disabled.", +"type": "boolean" +}, +"installAppsDisabled": { +"description": "Whether user installation of apps is disabled.", +"type": "boolean" +}, +"installUnknownSourcesAllowed": { +"deprecated": true, +"description": "This field has no effect.", +"type": "boolean" +}, +"keyguardDisabled": { +"description": "If true, this disables the Lock Screen (https://source.android.com/docs/core/display/multi_display/lock-screen) for primary and/or secondary displays. This policy is supported only in dedicated device management mode.", +"type": "boolean" +}, +"keyguardDisabledFeatures": { +"description": "Disabled keyguard customizations, such as widgets.", +"items": { +"enum": [ +"KEYGUARD_DISABLED_FEATURE_UNSPECIFIED", +"CAMERA", +"NOTIFICATIONS", +"UNREDACTED_NOTIFICATIONS", +"TRUST_AGENTS", +"DISABLE_FINGERPRINT", +"DISABLE_REMOTE_INPUT", +"FACE", +"IRIS", +"BIOMETRICS", +"SHORTCUTS", +"ALL_FEATURES" +], +"enumDescriptions": [ +"This value is ignored.", +"Disable the camera on secure keyguard screens (e.g. PIN).", +"Disable showing all notifications on secure keyguard screens.", +"Disable unredacted notifications on secure keyguard screens.", +"Ignore trust agent state on secure keyguard screens.", +"Disable fingerprint sensor on secure keyguard screens.", +"On devices running Android 6 and below, disables text entry into notifications on secure keyguard screens. Has no effect on Android 7 and above.", +"Disable face authentication on secure keyguard screens.", +"Disable iris authentication on secure keyguard screens.", +"Disable all biometric authentication on secure keyguard screens.", +"Disable all shortcuts on secure keyguard screen on Android 14 and above.", +"Disable all current and future keyguard customizations." +], +"type": "string" +}, +"type": "array" +}, +"kioskCustomLauncherEnabled": { +"description": "Whether the kiosk custom launcher is enabled. This replaces the home screen with a launcher that locks down the device to the apps installed via the applications setting. Apps appear on a single page in alphabetical order. Use kioskCustomization to further configure the kiosk device behavior.", +"type": "boolean" +}, +"kioskCustomization": { +"$ref": "KioskCustomization", +"description": "Settings controlling the behavior of a device in kiosk mode. To enable kiosk mode, set kioskCustomLauncherEnabled to true or specify an app in the policy with installType KIOSK." +}, +"locationMode": { +"description": "The degree of location detection enabled.", +"enum": [ +"LOCATION_MODE_UNSPECIFIED", +"HIGH_ACCURACY", +"SENSORS_ONLY", +"BATTERY_SAVING", +"OFF", +"LOCATION_USER_CHOICE", +"LOCATION_ENFORCED", +"LOCATION_DISABLED" +], +"enumDeprecated": [ +false, +true, +true, +true, +true, +false, +false, +false +], +"enumDescriptions": [ +"Defaults to LOCATION_USER_CHOICE.", +"On Android 8 and below, all location detection methods are enabled, including GPS, networks, and other sensors. On Android 9 and above, this is equivalent to LOCATION_ENFORCED.", +"On Android 8 and below, only GPS and other sensors are enabled. On Android 9 and above, this is equivalent to LOCATION_ENFORCED.", +"On Android 8 and below, only the network location provider is enabled. On Android 9 and above, this is equivalent to LOCATION_ENFORCED.", +"On Android 8 and below, location setting and accuracy are disabled. On Android 9 and above, this is equivalent to LOCATION_DISABLED.", +"Location setting is not restricted on the device. No specific behavior is set or enforced.", +"Enable location setting on the device.", +"Disable location setting on the device." +], +"type": "string" +}, +"longSupportMessage": { +"$ref": "UserFacingMessage", +"description": "A message displayed to the user in the device administators settings screen." +}, +"maximumTimeToLock": { +"description": "Maximum time in milliseconds for user activity until the device locks. A value of 0 means there is no restriction.", +"format": "int64", +"type": "string" +}, +"microphoneAccess": { +"description": "Controls the use of the microphone and whether the user has access to the microphone access toggle. This applies only on fully managed devices.", +"enum": [ +"MICROPHONE_ACCESS_UNSPECIFIED", +"MICROPHONE_ACCESS_USER_CHOICE", +"MICROPHONE_ACCESS_DISABLED", +"MICROPHONE_ACCESS_ENFORCED" +], +"enumDescriptions": [ +"If unmute_microphone_disabled is true, this is equivalent to MICROPHONE_ACCESS_DISABLED. Otherwise, this is equivalent to MICROPHONE_ACCESS_USER_CHOICE.", +"The field unmute_microphone_disabled is ignored. This is the default device behaviour: the microphone on the device is available. On Android 12 and above, the user can use the microphone access toggle.", +"The field unmute_microphone_disabled is ignored. The microphone on the device is disabled (for fully managed devices, this applies device-wide).The microphone access toggle has no effect as the microphone is disabled.", +"The field unmute_microphone_disabled is ignored. The microphone on the device is available. On devices running Android 12 and above, the user is unable to use the microphone access toggle. On devices which run Android 11 or below, this is equivalent to MICROPHONE_ACCESS_USER_CHOICE." +], +"type": "string" +}, +"minimumApiLevel": { +"description": "The minimum allowed Android API level.", +"format": "int32", +"type": "integer" +}, +"mobileNetworksConfigDisabled": { +"description": "Whether configuring mobile networks is disabled.", +"type": "boolean" +}, +"modifyAccountsDisabled": { +"description": "Whether adding or removing accounts is disabled.", +"type": "boolean" +}, +"mountPhysicalMediaDisabled": { +"description": "Whether the user mounting physical external media is disabled.", +"type": "boolean" +}, +"name": { +"description": "The name of the policy in the form enterprises/{enterpriseId}/policies/{policyId}.", +"type": "string" +}, +"networkEscapeHatchEnabled": { +"description": "Whether the network escape hatch is enabled. If a network connection can't be made at boot time, the escape hatch prompts the user to temporarily connect to a network in order to refresh the device policy. After applying policy, the temporary network will be forgotten and the device will continue booting. This prevents being unable to connect to a network if there is no suitable network in the last policy and the device boots into an app in lock task mode, or the user is otherwise unable to reach device settings.Note: Setting wifiConfigDisabled to true will override this setting under specific circumstances. Please see wifiConfigDisabled for further details. Setting configureWifi to DISALLOW_CONFIGURING_WIFI will override this setting under specific circumstances. Please see DISALLOW_CONFIGURING_WIFI for further details.", +"type": "boolean" +}, +"networkResetDisabled": { +"description": "Whether resetting network settings is disabled.", +"type": "boolean" +}, +"oncCertificateProviders": { +"description": "This feature is not generally available.", +"items": { +"$ref": "OncCertificateProvider" +}, +"type": "array" +}, +"openNetworkConfiguration": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Network configuration for the device. See configure networks for more information.", +"type": "object" +}, +"outgoingBeamDisabled": { +"description": "Whether using NFC to beam data from apps is disabled.", +"type": "boolean" +}, +"outgoingCallsDisabled": { +"description": "Whether outgoing calls are disabled.", +"type": "boolean" +}, +"passwordPolicies": { +"description": "Password requirement policies. Different policies can be set for work profile or fully managed devices by setting the password_scope field in the policy.", +"items": { +"$ref": "PasswordRequirements" +}, +"type": "array" +}, +"passwordRequirements": { +"$ref": "PasswordRequirements", +"deprecated": true, +"description": "Password requirements. The field password_requirements.require_password_unlock must not be set. DEPRECATED - Use passwordPolicies.Note:Complexity-based values of PasswordQuality, that is, COMPLEXITY_LOW, COMPLEXITY_MEDIUM, and COMPLEXITY_HIGH, cannot be used here. unified_lock_settings cannot be used here." +}, +"permissionGrants": { +"description": "Explicit permission or group grants or denials for all apps. These values override the default_permission_policy.", +"items": { +"$ref": "PermissionGrant" +}, +"type": "array" +}, +"permittedAccessibilityServices": { +"$ref": "PackageNameList", +"description": "Specifies permitted accessibility services. If the field is not set, any accessibility service can be used. If the field is set, only the accessibility services in this list and the system's built-in accessibility service can be used. In particular, if the field is set to empty, only the system's built-in accessibility servicess can be used. This can be set on fully managed devices and on work profiles. When applied to a work profile, this affects both the personal profile and the work profile." +}, +"permittedInputMethods": { +"$ref": "PackageNameList", +"description": "If present, only the input methods provided by packages in this list are permitted. If this field is present, but the list is empty, then only system input methods are permitted." +}, +"persistentPreferredActivities": { +"description": "Default intent handler activities.", +"items": { +"$ref": "PersistentPreferredActivity" +}, +"type": "array" +}, +"personalUsagePolicies": { +"$ref": "PersonalUsagePolicies", +"description": "Policies managing personal usage on a company-owned device." +}, +"playStoreMode": { +"description": "This mode controls which apps are available to the user in the Play Store and the behavior on the device when apps are removed from the policy.", +"enum": [ +"PLAY_STORE_MODE_UNSPECIFIED", +"WHITELIST", +"BLACKLIST" +], +"enumDescriptions": [ +"Unspecified. Defaults to WHITELIST.", +"Only apps that are in the policy are available and any app not in the policy will be automatically uninstalled from the device.", +"All apps are available and any app that should not be on the device should be explicitly marked as 'BLOCKED' in the applications policy." +], +"type": "string" +}, +"policyEnforcementRules": { +"description": "Rules that define the behavior when a particular policy can not be applied on device", +"items": { +"$ref": "PolicyEnforcementRule" +}, +"type": "array" +}, +"preferentialNetworkService": { +"description": "Controls whether preferential network service is enabled on the work profile. For example, an organization may have an agreement with a carrier that all of the work data from its employees' devices will be sent via a network service dedicated for enterprise use. An example of a supported preferential network service is the enterprise slice on 5G networks. This has no effect on fully managed devices.", +"enum": [ +"PREFERENTIAL_NETWORK_SERVICE_UNSPECIFIED", +"PREFERENTIAL_NETWORK_SERVICE_DISABLED", +"PREFERENTIAL_NETWORK_SERVICE_ENABLED" +], +"enumDescriptions": [ +"Unspecified. Defaults to PREFERENTIAL_NETWORK_SERVICES_DISABLED.", +"Preferential network service is disabled on the work profile.", +"Preferential network service is enabled on the work profile." +], +"type": "string" +}, +"printingPolicy": { +"description": "Optional. Controls whether printing is allowed. This is supported on devices running Android 9 and above. .", +"enum": [ +"PRINTING_POLICY_UNSPECIFIED", +"PRINTING_DISALLOWED", +"PRINTING_ALLOWED" +], +"enumDescriptions": [ +"Unspecified. Defaults to PRINTING_ALLOWED.", +"Printing is disallowed. A nonComplianceDetail with API_LEVEL is reported if the Android version is less than 9.", +"Printing is allowed." +], +"type": "string" +}, +"privateKeySelectionEnabled": { +"description": "Allows showing UI on a device for a user to choose a private key alias if there are no matching rules in ChoosePrivateKeyRules. For devices below Android P, setting this may leave enterprise keys vulnerable. This value will have no effect if any application has CERT_SELECTION delegation scope.", +"type": "boolean" +}, +"recommendedGlobalProxy": { +"$ref": "ProxyInfo", +"description": "The network-independent global HTTP proxy. Typically proxies should be configured per-network in open_network_configuration. However for unusual configurations like general internal filtering a global HTTP proxy may be useful. If the proxy is not accessible, network access may break. The global proxy is only a recommendation and some apps may ignore it." +}, +"removeUserDisabled": { +"description": "Whether removing other users is disabled.", +"type": "boolean" +}, +"safeBootDisabled": { +"deprecated": true, +"description": "Whether rebooting the device into safe boot is disabled.", +"type": "boolean" +}, +"screenCaptureDisabled": { +"description": "Whether screen capture is disabled.", +"type": "boolean" +}, +"setUserIconDisabled": { +"description": "Whether changing the user icon is disabled.", +"type": "boolean" +}, +"setWallpaperDisabled": { +"description": "Whether changing the wallpaper is disabled.", +"type": "boolean" +}, +"setupActions": { +"description": "Action to take during the setup process. At most one action may be specified.", +"items": { +"$ref": "SetupAction" +}, +"type": "array" +}, +"shareLocationDisabled": { +"description": "Whether location sharing is disabled. share_location_disabled is supported for both fully managed devices and personally owned work profiles.", +"type": "boolean" +}, +"shortSupportMessage": { +"$ref": "UserFacingMessage", +"description": "A message displayed to the user in the settings screen wherever functionality has been disabled by the admin. If the message is longer than 200 characters it may be truncated." +}, +"skipFirstUseHintsEnabled": { +"description": "Flag to skip hints on the first use. Enterprise admin can enable the system recommendation for apps to skip their user tutorial and other introductory hints on first start-up.", +"type": "boolean" +}, +"smsDisabled": { +"description": "Whether sending and receiving SMS messages is disabled.", +"type": "boolean" +}, +"statusBarDisabled": { +"deprecated": true, +"description": "Whether the status bar is disabled. This disables notifications, quick settings, and other screen overlays that allow escape from full-screen mode. DEPRECATED. To disable the status bar on a kiosk device, use InstallType KIOSK or kioskCustomLauncherEnabled.", +"type": "boolean" +}, +"statusReportingSettings": { +"$ref": "StatusReportingSettings", +"description": "Status reporting settings" +}, +"stayOnPluggedModes": { +"description": "The battery plugged in modes for which the device stays on. When using this setting, it is recommended to clear maximum_time_to_lock so that the device doesn't lock itself while it stays on.", +"items": { +"enum": [ +"BATTERY_PLUGGED_MODE_UNSPECIFIED", +"AC", +"USB", +"WIRELESS" +], +"enumDescriptions": [ +"This value is ignored.", +"Power source is an AC charger.", +"Power source is a USB port.", +"Power source is wireless." +], +"type": "string" +}, +"type": "array" +}, +"systemUpdate": { +"$ref": "SystemUpdate", +"description": "The system update policy, which controls how OS updates are applied. If the update type is WINDOWED, the update window will automatically apply to Play app updates as well.Note: Google Play system updates (https://source.android.com/docs/core/ota/modular-system) (also called Mainline updates) are automatically downloaded and require a device reboot to be installed. Refer to the mainline section in Manage system updates (https://developer.android.com/work/dpc/system-updates#mainline) for further details." +}, +"tetheringConfigDisabled": { +"deprecated": true, +"description": "Whether configuring tethering and portable hotspots is disabled. If tetheringSettings is set to anything other than TETHERING_SETTINGS_UNSPECIFIED, this setting is ignored.", +"type": "boolean" +}, +"uninstallAppsDisabled": { +"description": "Whether user uninstallation of applications is disabled. This prevents apps from being uninstalled, even those removed using applications", +"type": "boolean" +}, +"unmuteMicrophoneDisabled": { +"deprecated": true, +"description": "If microphone_access is set to any value other than MICROPHONE_ACCESS_UNSPECIFIED, this has no effect. Otherwise this field controls whether microphones are disabled: If true, all microphones are disabled, otherwise they are available. This is available only on fully managed devices.", +"type": "boolean" +}, +"usageLog": { +"$ref": "UsageLog", +"description": "Configuration of device activity logging." +}, +"usbFileTransferDisabled": { +"deprecated": true, +"description": "Whether transferring files over USB is disabled. This is supported only on company-owned devices.", +"type": "boolean" +}, +"usbMassStorageEnabled": { +"deprecated": true, +"description": "Whether USB storage is enabled. Deprecated.", +"type": "boolean" +}, +"version": { +"description": "The version of the policy. This is a read-only field. The version is incremented each time the policy is updated.", +"format": "int64", +"type": "string" +}, +"vpnConfigDisabled": { +"description": "Whether configuring VPN is disabled.", +"type": "boolean" +}, +"wifiConfigDisabled": { +"deprecated": true, +"description": "Whether configuring Wi-Fi networks is disabled. Supported on fully managed devices and work profiles on company-owned devices. For fully managed devices, setting this to true removes all configured networks and retains only the networks configured using openNetworkConfiguration. For work profiles on company-owned devices, existing configured networks are not affected and the user is not allowed to add, remove, or modify Wi-Fi networks. If configureWifi is set to anything other than CONFIGURE_WIFI_UNSPECIFIED, this setting is ignored. Note: If a network connection can't be made at boot time and configuring Wi-Fi is disabled then network escape hatch will be shown in order to refresh the device policy (see networkEscapeHatchEnabled).", +"type": "boolean" +}, +"wifiConfigsLockdownEnabled": { +"deprecated": true, +"description": "This is deprecated.", +"type": "boolean" +} +}, +"type": "object" +}, +"PolicyEnforcementRule": { +"description": "A rule that defines the actions to take if a device or work profile is not compliant with the policy specified in settingName. In the case of multiple matching or multiple triggered enforcement rules, a merge will occur with the most severe action being taken. However, all triggered rules are still kept track of: this includes initial trigger time and all associated non-compliance details. In the situation where the most severe enforcement rule is satisfied, the next most appropriate action is applied.", +"id": "PolicyEnforcementRule", +"properties": { +"blockAction": { +"$ref": "BlockAction", +"description": "An action to block access to apps and data on a company owned device or in a work profile. This action also triggers a user-facing notification with information (where possible) on how to correct the compliance issue. Note: wipeAction must also be specified." +}, +"settingName": { +"description": "The top-level policy to enforce. For example, applications or passwordPolicies.", +"type": "string" +}, +"wipeAction": { +"$ref": "WipeAction", +"description": "An action to reset a company owned device or delete a work profile. Note: blockAction must also be specified." +} +}, +"type": "object" +}, +"PostureDetail": { +"description": "Additional details regarding the security posture of the device.", +"id": "PostureDetail", +"properties": { +"advice": { +"description": "Corresponding admin-facing advice to mitigate this security risk and improve the security posture of the device.", +"items": { +"$ref": "UserFacingMessage" +}, +"type": "array" +}, +"securityRisk": { +"description": "A specific security risk that negatively affects the security posture of the device.", +"enum": [ +"SECURITY_RISK_UNSPECIFIED", +"UNKNOWN_OS", +"COMPROMISED_OS", +"HARDWARE_BACKED_EVALUATION_FAILED" +], +"enumDescriptions": [ +"Unspecified.", +"Play Integrity API detects that the device is running an unknown OS (basicIntegrity check succeeds but ctsProfileMatch fails).", +"Play Integrity API detects that the device is running a compromised OS (basicIntegrity check fails).", +"Play Integrity API detects that the device does not have a strong guarantee of system integrity, if the MEETS_STRONG_INTEGRITY label doesn't show in the device integrity field (https://developer.android.com/google/play/integrity/verdicts#device-integrity-field)." +], +"type": "string" +} +}, +"type": "object" +}, +"PowerManagementEvent": { +"description": "A power management event.", +"id": "PowerManagementEvent", +"properties": { +"batteryLevel": { +"description": "For BATTERY_LEVEL_COLLECTED events, the battery level as a percentage.", +"format": "float", +"type": "number" +}, +"createTime": { +"description": "The creation time of the event.", +"format": "google-datetime", +"type": "string" +}, +"eventType": { +"description": "Event type.", +"enum": [ +"POWER_MANAGEMENT_EVENT_TYPE_UNSPECIFIED", +"BATTERY_LEVEL_COLLECTED", +"POWER_CONNECTED", +"POWER_DISCONNECTED", +"BATTERY_LOW", +"BATTERY_OKAY", +"BOOT_COMPLETED", +"SHUTDOWN" +], +"enumDescriptions": [ +"Unspecified. No events have this type.", +"Battery level was measured.", +"The device started charging.", +"The device stopped charging.", +"The device entered low-power mode.", +"The device exited low-power mode.", +"The device booted.", +"The device shut down." +], +"type": "string" +} +}, +"type": "object" +}, +"ProvisioningInfo": { +"description": "Information about a device that is available during setup.", +"id": "ProvisioningInfo", +"properties": { +"apiLevel": { +"description": "The API level of the Android platform version running on the device.", +"format": "int32", +"type": "integer" +}, +"authenticatedUserEmail": { +"description": "The email address of the authenticated user (only present for Google Account provisioning method).", +"type": "string" +}, +"brand": { +"description": "The brand of the device. For example, Google.", +"type": "string" +}, +"enterprise": { +"description": "The name of the enterprise in the form enterprises/{enterprise}.", +"type": "string" +}, +"imei": { +"description": "For corporate-owned devices, IMEI number of the GSM device. For example, A1000031212.", +"type": "string" +}, +"managementMode": { +"description": "The management mode of the device or profile.", +"enum": [ +"MANAGEMENT_MODE_UNSPECIFIED", +"DEVICE_OWNER", +"PROFILE_OWNER" +], +"enumDescriptions": [ +"This value is disallowed.", +"Device owner. Android Device Policy has full control over the device.", +"Profile owner. Android Device Policy has control over a managed profile on the device." +], +"type": "string" +}, +"meid": { +"description": "For corporate-owned devices, MEID number of the CDMA device. For example, A00000292788E1.", +"type": "string" +}, +"model": { +"description": "The model of the device. For example, Asus Nexus 7.", +"type": "string" +}, +"name": { +"description": "The name of this resource in the form provisioningInfo/{provisioning_info}.", +"type": "string" +}, +"ownership": { +"description": "Ownership of the managed device.", +"enum": [ +"OWNERSHIP_UNSPECIFIED", +"COMPANY_OWNED", +"PERSONALLY_OWNED" +], +"enumDescriptions": [ +"Ownership is unspecified.", +"Device is company-owned.", +"Device is personally-owned." +], +"type": "string" +}, +"serialNumber": { +"description": "For corporate-owned devices, The device serial number.", +"type": "string" +} +}, +"type": "object" +}, +"ProxyInfo": { +"description": "Configuration info for an HTTP proxy. For a direct proxy, set the host, port, and excluded_hosts fields. For a PAC script proxy, set the pac_uri field.", +"id": "ProxyInfo", +"properties": { +"excludedHosts": { +"description": "For a direct proxy, the hosts for which the proxy is bypassed. The host names may contain wildcards such as *.example.com.", +"items": { +"type": "string" +}, +"type": "array" +}, +"host": { +"description": "The host of the direct proxy.", +"type": "string" +}, +"pacUri": { +"description": "The URI of the PAC script used to configure the proxy.", +"type": "string" +}, +"port": { +"description": "The port of the direct proxy.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"RemoteLockEvent": { +"description": "The device or profile has been remotely locked via the LOCK command.", +"id": "RemoteLockEvent", +"properties": { +"adminPackageName": { +"description": "Package name of the admin app requesting the change.", +"type": "string" +}, +"adminUserId": { +"description": "User ID of the admin app from the which the change was requested.", +"format": "int32", +"type": "integer" +}, +"targetUserId": { +"description": "User ID in which the change was requested in.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ScreenBrightnessSettings": { +"description": "Controls for the screen brightness settings.", +"id": "ScreenBrightnessSettings", +"properties": { +"screenBrightness": { +"description": "Optional. The screen brightness between 1 and 255 where 1 is the lowest and 255 is the highest brightness. A value of 0 (default) means no screen brightness set. Any other value is rejected. screenBrightnessMode must be either BRIGHTNESS_AUTOMATIC or BRIGHTNESS_FIXED to set this. Supported on Android 9 and above on fully managed devices. A NonComplianceDetail with API_LEVEL is reported if the Android version is less than 9. Supported on work profiles on company-owned devices on Android 15 and above.", +"format": "int32", +"type": "integer" +}, +"screenBrightnessMode": { +"description": "Optional. Controls the screen brightness mode.", +"enum": [ +"SCREEN_BRIGHTNESS_MODE_UNSPECIFIED", +"BRIGHTNESS_USER_CHOICE", +"BRIGHTNESS_AUTOMATIC", +"BRIGHTNESS_FIXED" +], +"enumDescriptions": [ +"Unspecified. Defaults to BRIGHTNESS_USER_CHOICE.", +"The user is allowed to configure the screen brightness. screenBrightness must not be set.", +"The screen brightness mode is automatic in which the brightness is automatically adjusted and the user is not allowed to configure the screen brightness. screenBrightness can still be set and it is taken into account while the brightness is automatically adjusted. Supported on Android 9 and above on fully managed devices. A NonComplianceDetail with API_LEVEL is reported if the Android version is less than 9. Supported on work profiles on company-owned devices on Android 15 and above.", +"The screen brightness mode is fixed in which the brightness is set to screenBrightness and the user is not allowed to configure the screen brightness. screenBrightness must be set. Supported on Android 9 and above on fully managed devices. A NonComplianceDetail with API_LEVEL is reported if the Android version is less than 9. Supported on work profiles on company-owned devices on Android 15 and above." +], +"type": "string" +} +}, +"type": "object" +}, +"ScreenTimeoutSettings": { +"description": "Controls the screen timeout settings.", +"id": "ScreenTimeoutSettings", +"properties": { +"screenTimeout": { +"description": "Optional. Controls the screen timeout duration. The screen timeout duration must be greater than 0, otherwise it is rejected. Additionally, it should not be greater than maximumTimeToLock, otherwise the screen timeout is set to maximumTimeToLock and a NonComplianceDetail with INVALID_VALUE reason and SCREEN_TIMEOUT_GREATER_THAN_MAXIMUM_TIME_TO_LOCK specific reason is reported. If the screen timeout is less than a certain lower bound, it is set to the lower bound. The lower bound may vary across devices. If this is set, screenTimeoutMode must be SCREEN_TIMEOUT_ENFORCED. Supported on Android 9 and above on fully managed devices. A NonComplianceDetail with API_LEVEL is reported if the Android version is less than 9. Supported on work profiles on company-owned devices on Android 15 and above.", +"format": "google-duration", +"type": "string" +}, +"screenTimeoutMode": { +"description": "Optional. Controls whether the user is allowed to configure the screen timeout.", +"enum": [ +"SCREEN_TIMEOUT_MODE_UNSPECIFIED", +"SCREEN_TIMEOUT_USER_CHOICE", +"SCREEN_TIMEOUT_ENFORCED" +], +"enumDescriptions": [ +"Unspecified. Defaults to SCREEN_TIMEOUT_USER_CHOICE.", +"The user is allowed to configure the screen timeout. screenTimeout must not be set.", +"The screen timeout is set to screenTimeout and the user is not allowed to configure the timeout. screenTimeout must be set. Supported on Android 9 and above on fully managed devices. A NonComplianceDetail with API_LEVEL is reported if the Android version is less than 9. Supported on work profiles on company-owned devices on Android 15 and above." +], +"type": "string" +} +}, +"type": "object" +}, +"SecurityPosture": { +"description": "The security posture of the device, as determined by the current device state and the policies applied.", +"id": "SecurityPosture", +"properties": { +"devicePosture": { +"description": "Device's security posture value.", +"enum": [ +"POSTURE_UNSPECIFIED", +"SECURE", +"AT_RISK", +"POTENTIALLY_COMPROMISED" +], +"enumDescriptions": [ +"Unspecified. There is no posture detail for this posture value.", +"This device is secure.", +"This device may be more vulnerable to malicious actors than is recommended for use with corporate data.", +"This device may be compromised and corporate data may be accessible to unauthorized actors." +], +"type": "string" +}, +"postureDetails": { +"description": "Additional details regarding the security posture of the device.", +"items": { +"$ref": "PostureDetail" +}, +"type": "array" +} +}, +"type": "object" +}, +"SetupAction": { +"description": "An action executed during setup.", +"id": "SetupAction", +"properties": { +"description": { +"$ref": "UserFacingMessage", +"description": "Description of this action." +}, +"launchApp": { +"$ref": "LaunchAppAction", +"description": "An action to launch an app. The app will be launched with an intent containing an extra with key com.google.android.apps.work.clouddpc.EXTRA_LAUNCHED_AS_SETUP_ACTION set to the boolean value true to indicate that this is a setup action flow. If SetupAction references an app, the corresponding installType in the application policy must be set as REQUIRED_FOR_SETUP or said setup will fail." +}, +"title": { +"$ref": "UserFacingMessage", +"description": "Title of this action." +} +}, +"type": "object" +}, +"SigninDetail": { +"description": "A resource containing sign in details for an enterprise. Use enterprises to manage SigninDetails for a given enterprise.For an enterprise, we can have any number of SigninDetails that is uniquely identified by combination of the following three fields (signin_url, allow_personal_usage, token_tag). One cannot create two SigninDetails with the same (signin_url, allow_personal_usage, token_tag). (token_tag is an optional field).Patch: The operation updates the current list of SigninDetails with the new list of SigninDetails. If the stored SigninDetail configuration is passed, it returns the same signin_enrollment_token and qr_code. If we pass multiple identical SigninDetail configurations that are not stored, it will store the first one amongst those SigninDetail configurations. if the configuration already exists we cannot request it more than once in a particular patch API call, otherwise it will give a duplicate key error and the whole operation will fail. If we remove certain SigninDetail configuration from the request then it will get removed from the storage. We can then request another signin_enrollment_token and qr_code for the same SigninDetail configuration.", +"id": "SigninDetail", +"properties": { +"allowPersonalUsage": { +"description": "Controls whether personal usage is allowed on a device provisioned with this enrollment token.For company-owned devices: Enabling personal usage allows the user to set up a work profile on the device. Disabling personal usage requires the user provision the device as a fully managed device.For personally-owned devices: Enabling personal usage allows the user to set up a work profile on the device. Disabling personal usage will prevent the device from provisioning. Personal usage cannot be disabled on personally-owned device.", +"enum": [ +"ALLOW_PERSONAL_USAGE_UNSPECIFIED", +"PERSONAL_USAGE_ALLOWED", +"PERSONAL_USAGE_DISALLOWED", +"PERSONAL_USAGE_DISALLOWED_USERLESS" +], +"enumDescriptions": [ +"Personal usage restriction is not specified", +"Personal usage is allowed", +"Personal usage is disallowed", +"Device is not associated with a single user, and thus both personal usage and corporate identity authentication are not expected. Important: This setting is mandatory for dedicated device enrollment and it is a breaking change. This change needs to be implemented before January 2025.For additional details see the dedicated device provisioning guide (https://developers.google.com/android/management/provision-device#company-owned_devices_for_work_use_only). " +], +"type": "string" +}, +"defaultStatus": { +"description": "Optional. Whether the sign-in URL should be used by default for the enterprise. The SigninDetail with defaultStatus set to SIGNIN_DETAIL_IS_DEFAULT is used for Google account enrollment method. Only one of an enterprise's signinDetails can have defaultStatus set to SIGNIN_DETAIL_IS_DEFAULT. If an Enterprise has at least one signinDetails and none of them have defaultStatus set to SIGNIN_DETAIL_IS_DEFAULT then the first one from the list is selected and has set defaultStatus to SIGNIN_DETAIL_IS_DEFAULT. If no signinDetails specified for the Enterprise then the Google Account device enrollment will fail.", +"enum": [ +"SIGNIN_DETAIL_DEFAULT_STATUS_UNSPECIFIED", +"SIGNIN_DETAIL_IS_DEFAULT", +"SIGNIN_DETAIL_IS_NOT_DEFAULT" +], +"enumDescriptions": [ +"Equivalent to SIGNIN_DETAIL_IS_NOT_DEFAULT.", +"The sign-in URL will be used by default for the enterprise.", +"The sign-in URL will not be used by default for the enterprise." +], +"type": "string" +}, +"qrCode": { +"description": "A JSON string whose UTF-8 representation can be used to generate a QR code to enroll a device with this enrollment token. To enroll a device using NFC, the NFC record must contain a serialized java.util.Properties representation of the properties in the JSON. This is a read-only field generated by the server.", +"type": "string" +}, +"signinEnrollmentToken": { +"description": "An enterprise wide enrollment token used to trigger custom sign-in flow. This is a read-only field generated by the server.", +"type": "string" +}, +"signinUrl": { +"description": "Sign-in URL for authentication when device is provisioned with a sign-in enrollment token. The sign-in endpoint should finish authentication flow with a URL in the form of https://enterprise.google.com/android/enroll?et= for a successful login, or https://enterprise.google.com/android/enroll/invalid for a failed login.", +"type": "string" +}, +"tokenTag": { +"description": "An EMM-specified metadata to distinguish between instances of SigninDetail.", +"type": "string" +} +}, +"type": "object" +}, +"SignupUrl": { +"description": "An enterprise signup URL.", +"id": "SignupUrl", +"properties": { +"name": { +"description": "The name of the resource. Use this value in the signupUrl field when calling enterprises.create to complete the enterprise signup flow.", +"type": "string" +}, +"url": { +"description": "A URL where an enterprise admin can register their enterprise. The page can't be rendered in an iframe.", +"type": "string" +} +}, +"type": "object" +}, +"SoftwareInfo": { +"description": "Information about device software.", +"id": "SoftwareInfo", +"properties": { +"androidBuildNumber": { +"description": "Android build ID string meant for displaying to the user. For example, shamu-userdebug 6.0.1 MOB30I 2756745 dev-keys.", +"type": "string" +}, +"androidBuildTime": { +"description": "Build time.", +"format": "google-datetime", +"type": "string" +}, +"androidDevicePolicyVersionCode": { +"description": "The Android Device Policy app version code.", +"format": "int32", +"type": "integer" +}, +"androidDevicePolicyVersionName": { +"description": "The Android Device Policy app version as displayed to the user.", +"type": "string" +}, +"androidVersion": { +"description": "The user-visible Android version string. For example, 6.0.1.", +"type": "string" +}, +"bootloaderVersion": { +"description": "The system bootloader version number, e.g. 0.6.7.", +"type": "string" +}, +"deviceBuildSignature": { +"description": "SHA-256 hash of android.content.pm.Signature (https://developer.android.com/reference/android/content/pm/Signature.html) associated with the system package, which can be used to verify that the system build hasn't been modified.", +"type": "string" +}, +"deviceKernelVersion": { +"description": "Kernel version, for example, 2.6.32.9-g103d848.", +"type": "string" +}, +"primaryLanguageCode": { +"description": "An IETF BCP 47 language code for the primary locale on the device.", +"type": "string" +}, +"securityPatchLevel": { +"description": "Security patch level, e.g. 2016-05-01.", +"type": "string" +}, +"systemUpdateInfo": { +"$ref": "SystemUpdateInfo", +"description": "Information about a potential pending system update." +} +}, +"type": "object" +}, +"SpecificNonComplianceContext": { +"description": "Additional context for SpecificNonComplianceReason.", +"id": "SpecificNonComplianceContext", +"properties": { +"oncWifiContext": { +"$ref": "OncWifiContext", +"description": "Additional context for non-compliance related to Wi-Fi configuration. See ONC_WIFI_INVALID_VALUE and ONC_WIFI_API_LEVEL" +}, +"passwordPoliciesContext": { +"$ref": "PasswordPoliciesContext", +"description": "Additional context for non-compliance related to password policies. See PASSWORD_POLICIES_PASSWORD_EXPIRED and PASSWORD_POLICIES_PASSWORD_NOT_SUFFICIENT." +} +}, +"type": "object" +}, +"StartLostModeParams": { +"description": "Parameters associated with the START_LOST_MODE command to put the device into lost mode. At least one of the parameters, not including the organization name, must be provided in order for the device to be put into lost mode.", +"id": "StartLostModeParams", +"properties": { +"lostEmailAddress": { +"description": "The email address displayed to the user when the device is in lost mode.", +"type": "string" +}, +"lostMessage": { +"$ref": "UserFacingMessage", +"description": "The message displayed to the user when the device is in lost mode." +}, +"lostOrganization": { +"$ref": "UserFacingMessage", +"description": "The organization name displayed to the user when the device is in lost mode." +}, +"lostPhoneNumber": { +"$ref": "UserFacingMessage", +"description": "The phone number that will be called when the device is in lost mode and the call owner button is tapped." +}, +"lostStreetAddress": { +"$ref": "UserFacingMessage", +"description": "The street address displayed to the user when the device is in lost mode." +} +}, +"type": "object" +}, +"StartLostModeStatus": { +"description": "Status of the START_LOST_MODE command to put the device into lost mode.", +"id": "StartLostModeStatus", +"properties": { +"status": { +"description": "The status. See StartLostModeStatus.", +"enum": [ +"STATUS_UNSPECIFIED", +"SUCCESS", +"RESET_PASSWORD_RECENTLY", +"USER_EXIT_LOST_MODE_RECENTLY", +"ALREADY_IN_LOST_MODE" +], +"enumDescriptions": [ +"Unspecified. This value is not used.", +"The device was put into lost mode.", +"The device could not be put into lost mode because the admin reset the device's password recently.", +"The device could not be put into lost mode because the user exited lost mode recently.", +"The device is already in lost mode." +], +"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" +}, +"StatusReportingSettings": { +"description": "Settings controlling the behavior of status reports.", +"id": "StatusReportingSettings", +"properties": { +"applicationReportingSettings": { +"$ref": "ApplicationReportingSettings", +"description": "Application reporting settings. Only applicable if application_reports_enabled is true." +}, +"applicationReportsEnabled": { +"description": "Whether app reports are enabled.", +"type": "boolean" +}, +"commonCriteriaModeEnabled": { +"description": "Whether Common Criteria Mode reporting is enabled. This is supported only on company-owned devices.", +"type": "boolean" +}, +"deviceSettingsEnabled": { +"description": "Whether device settings reporting is enabled.", +"type": "boolean" +}, +"displayInfoEnabled": { +"description": "Whether displays reporting is enabled. Report data is not available for personally owned devices with work profiles.", +"type": "boolean" +}, +"hardwareStatusEnabled": { +"description": "Whether hardware status reporting is enabled. Report data is not available for personally owned devices with work profiles.", +"type": "boolean" +}, +"memoryInfoEnabled": { +"description": "Whether memory event reporting is enabled.", +"type": "boolean" +}, +"networkInfoEnabled": { +"description": "Whether network info reporting is enabled.", +"type": "boolean" +}, +"powerManagementEventsEnabled": { +"description": "Whether power management event reporting is enabled. Report data is not available for personally owned devices with work profiles.", +"type": "boolean" +}, +"softwareInfoEnabled": { +"description": "Whether software info reporting is enabled.", +"type": "boolean" +}, +"systemPropertiesEnabled": { +"description": "Whether system properties reporting is enabled.", +"type": "boolean" +} +}, +"type": "object" +}, +"StopLostModeParams": { +"description": "Parameters associated with the STOP_LOST_MODE command to take the device out of lost mode.", +"id": "StopLostModeParams", +"properties": {}, +"type": "object" +}, +"StopLostModeStatus": { +"description": "Status of the STOP_LOST_MODE command to take the device out of lost mode.", +"id": "StopLostModeStatus", +"properties": { +"status": { +"description": "The status. See StopLostModeStatus.", +"enum": [ +"STATUS_UNSPECIFIED", +"SUCCESS", +"NOT_IN_LOST_MODE" +], +"enumDescriptions": [ +"Unspecified. This value is not used.", +"The device was taken out of lost mode.", +"The device is not in lost mode." +], +"type": "string" +} +}, +"type": "object" +}, +"StopLostModeUserAttemptEvent": { +"description": "A lost mode event indicating the user has attempted to stop lost mode.", +"id": "StopLostModeUserAttemptEvent", +"properties": { +"status": { +"description": "The status of the attempt to stop lost mode.", +"enum": [ +"STATUS_UNSPECIFIED", +"ATTEMPT_SUCCEEDED", +"ATTEMPT_FAILED" +], +"enumDescriptions": [ +"This value is not used.", +"Indicates that the user successfully stopped lost mode.", +"Indicates that the user's attempt to stop lost mode failed." +], +"type": "string" +} +}, +"type": "object" +}, +"SystemUpdate": { +"description": "Configuration for managing system updatesNote: Google Play system updates (https://source.android.com/docs/core/ota/modular-system) (also called Mainline updates) are automatically downloaded but require a device reboot to be installed. Refer to the mainline section in Manage system updates (https://developer.android.com/work/dpc/system-updates#mainline) for further details.", +"id": "SystemUpdate", +"properties": { +"endMinutes": { +"description": "If the type is WINDOWED, the end of the maintenance window, measured as the number of minutes after midnight in device's local time. This value must be between 0 and 1439, inclusive. If this value is less than start_minutes, then the maintenance window spans midnight. If the maintenance window specified is smaller than 30 minutes, the actual window is extended to 30 minutes beyond the start time.", +"format": "int32", +"type": "integer" +}, +"freezePeriods": { +"description": "An annually repeating time period in which over-the-air (OTA) system updates are postponed to freeze the OS version running on a device. To prevent freezing the device indefinitely, each freeze period must be separated by at least 60 days.", +"items": { +"$ref": "FreezePeriod" +}, +"type": "array" +}, +"startMinutes": { +"description": "If the type is WINDOWED, the start of the maintenance window, measured as the number of minutes after midnight in the device's local time. This value must be between 0 and 1439, inclusive.", +"format": "int32", +"type": "integer" +}, +"type": { +"description": "The type of system update to configure.", +"enum": [ +"SYSTEM_UPDATE_TYPE_UNSPECIFIED", +"AUTOMATIC", +"WINDOWED", +"POSTPONE" +], +"enumDescriptions": [ +"Follow the default update behavior for the device, which typically requires the user to accept system updates.", +"Install automatically as soon as an update is available.", +"Install automatically within a daily maintenance window. This also configures Play apps to be updated within the window. This is strongly recommended for kiosk devices because this is the only way apps persistently pinned to the foreground can be updated by Play.If autoUpdateMode is set to AUTO_UPDATE_HIGH_PRIORITY for an app, then the maintenance window is ignored for that app and it is updated as soon as possible even outside of the maintenance window.", +"Postpone automatic install up to a maximum of 30 days. This policy does not affect security updates (e.g. monthly security patches)." +], +"type": "string" +} +}, +"type": "object" +}, +"SystemUpdateInfo": { +"description": "Information about a potential pending system update.", +"id": "SystemUpdateInfo", +"properties": { +"updateReceivedTime": { +"description": "The time when the update was first available. A zero value indicates that this field is not set. This field is set only if an update is available (that is, updateStatus is neither UPDATE_STATUS_UNKNOWN nor UP_TO_DATE).", +"format": "google-datetime", +"type": "string" +}, +"updateStatus": { +"description": "The status of an update: whether an update exists and what type it is.", +"enum": [ +"UPDATE_STATUS_UNKNOWN", +"UP_TO_DATE", +"UNKNOWN_UPDATE_AVAILABLE", +"SECURITY_UPDATE_AVAILABLE", +"OS_UPDATE_AVAILABLE" +], +"enumDescriptions": [ +"It is unknown whether there is a pending system update. This happens when, for example, the device API level is less than 26, or if the version of Android Device Policy is outdated.", +"There is no pending system update available on the device.", +"There is a pending system update available, but its type is not known.", +"There is a pending security update available.", +"There is a pending OS update available." +], +"type": "string" +} +}, +"type": "object" +}, +"TelephonyInfo": { +"description": "Telephony information associated with a given SIM card on the device. Only supported on fully managed devices starting from Android API level 23.", +"id": "TelephonyInfo", +"properties": { +"carrierName": { +"description": "The carrier name associated with this SIM card.", +"type": "string" +}, +"iccId": { +"description": "Output only. The ICCID associated with this SIM card.", +"readOnly": true, +"type": "string" +}, +"phoneNumber": { +"description": "The phone number associated with this SIM card.", +"type": "string" +} +}, +"type": "object" +}, +"TermsAndConditions": { +"description": "A terms and conditions page to be accepted during provisioning.", +"id": "TermsAndConditions", +"properties": { +"content": { +"$ref": "UserFacingMessage", +"description": "A well-formatted HTML string. It will be parsed on the client with android.text.Html#fromHtml." +}, +"header": { +"$ref": "UserFacingMessage", +"description": "A short header which appears above the HTML content." +} +}, +"type": "object" +}, +"UsageLog": { +"description": "Controls types of device activity logs collected from the device and reported via Pub/Sub notification (https://developers.google.com/android/management/notifications).", +"id": "UsageLog", +"properties": { +"enabledLogTypes": { +"description": "Specifies which log types are enabled. Note that users will receive on-device messaging when usage logging is enabled.", +"items": { +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"SECURITY_LOGS", +"NETWORK_ACTIVITY_LOGS" +], +"enumDescriptions": [ +"This value is not used.", +"Enable logging of on-device security events, like when the device password is incorrectly entered or removable storage is mounted. See UsageLogEvent for a complete description of the logged security events. Supported for fully managed devices on Android 7 and above. Supported for company-owned devices with a work profile on Android 12 and above, on which only security events from the work profile are logged. Can be overridden by the application delegated scope SECURITY_LOGS", +"Enable logging of on-device network events, like DNS lookups and TCP connections. See UsageLogEvent for a complete description of the logged network events. Supported for fully managed devices on Android 8 and above. Supported for company-owned devices with a work profile on Android 12 and above, on which only network events from the work profile are logged. Can be overridden by the application delegated scope NETWORK_ACTIVITY_LOGS" +], +"type": "string" +}, +"type": "array" +}, +"uploadOnCellularAllowed": { +"description": "Specifies which of the enabled log types can be uploaded over mobile data. By default logs are queued for upload when the device connects to WiFi.", +"items": { +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"SECURITY_LOGS", +"NETWORK_ACTIVITY_LOGS" +], +"enumDescriptions": [ +"This value is not used.", +"Enable logging of on-device security events, like when the device password is incorrectly entered or removable storage is mounted. See UsageLogEvent for a complete description of the logged security events. Supported for fully managed devices on Android 7 and above. Supported for company-owned devices with a work profile on Android 12 and above, on which only security events from the work profile are logged. Can be overridden by the application delegated scope SECURITY_LOGS", +"Enable logging of on-device network events, like DNS lookups and TCP connections. See UsageLogEvent for a complete description of the logged network events. Supported for fully managed devices on Android 8 and above. Supported for company-owned devices with a work profile on Android 12 and above, on which only network events from the work profile are logged. Can be overridden by the application delegated scope NETWORK_ACTIVITY_LOGS" +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"UsageLogEvent": { +"description": "An event logged on the device.", +"id": "UsageLogEvent", +"properties": { +"adbShellCommandEvent": { +"$ref": "AdbShellCommandEvent", +"description": "A shell command was issued over ADB via \u201cadb shell command\u201d. Part of SECURITY_LOGS." +}, +"adbShellInteractiveEvent": { +"$ref": "AdbShellInteractiveEvent", +"description": "An ADB interactive shell was opened via \u201cadb shell\u201d. Part of SECURITY_LOGS." +}, +"appProcessStartEvent": { +"$ref": "AppProcessStartEvent", +"description": "An app process was started. Part of SECURITY_LOGS." +}, +"certAuthorityInstalledEvent": { +"$ref": "CertAuthorityInstalledEvent", +"description": "A new root certificate was installed into the system's trusted credential storage. Part of SECURITY_LOGS." +}, +"certAuthorityRemovedEvent": { +"$ref": "CertAuthorityRemovedEvent", +"description": "A root certificate was removed from the system's trusted credential storage. Part of SECURITY_LOGS." +}, +"certValidationFailureEvent": { +"$ref": "CertValidationFailureEvent", +"description": "An X.509v3 certificate failed to validate, currently this validation is performed on the Wi-FI access point and failure may be due to a mismatch upon server certificate validation. However it may in the future include other validation events of an X.509v3 certificate. Part of SECURITY_LOGS." +}, +"connectEvent": { +"$ref": "ConnectEvent", +"description": "A TCP connect event was initiated through the standard network stack. Part of NETWORK_ACTIVITY_LOGS." +}, +"cryptoSelfTestCompletedEvent": { +"$ref": "CryptoSelfTestCompletedEvent", +"description": "Validates whether Android\u2019s built-in cryptographic library (BoringSSL) is valid. Should always succeed on device boot, if it fails, the device should be considered untrusted. Part of SECURITY_LOGS." +}, +"dnsEvent": { +"$ref": "DnsEvent", +"description": "A DNS lookup event was initiated through the standard network stack. Part of NETWORK_ACTIVITY_LOGS." +}, +"enrollmentCompleteEvent": { +"$ref": "EnrollmentCompleteEvent", +"description": "Device has completed enrollment. Part of AMAPI_LOGS." +}, +"eventId": { +"description": "Unique id of the event.", +"format": "int64", +"type": "string" +}, +"eventTime": { +"description": "Device timestamp when the event was logged.", +"format": "google-datetime", +"type": "string" +}, +"eventType": { +"description": "The particular usage log event type that was reported on the device. Use this to determine which event field to access.", +"enum": [ +"EVENT_TYPE_UNSPECIFIED", +"ADB_SHELL_COMMAND", +"ADB_SHELL_INTERACTIVE", +"APP_PROCESS_START", +"KEYGUARD_DISMISSED", +"KEYGUARD_DISMISS_AUTH_ATTEMPT", +"KEYGUARD_SECURED", +"FILE_PULLED", +"FILE_PUSHED", +"CERT_AUTHORITY_INSTALLED", +"CERT_AUTHORITY_REMOVED", +"CERT_VALIDATION_FAILURE", +"CRYPTO_SELF_TEST_COMPLETED", +"KEY_DESTRUCTION", +"KEY_GENERATED", +"KEY_IMPORT", +"KEY_INTEGRITY_VIOLATION", +"LOGGING_STARTED", +"LOGGING_STOPPED", +"LOG_BUFFER_SIZE_CRITICAL", +"MEDIA_MOUNT", +"MEDIA_UNMOUNT", +"OS_SHUTDOWN", +"OS_STARTUP", +"REMOTE_LOCK", +"WIPE_FAILURE", +"CONNECT", +"DNS", +"STOP_LOST_MODE_USER_ATTEMPT", +"LOST_MODE_OUTGOING_PHONE_CALL", +"LOST_MODE_LOCATION", +"ENROLLMENT_COMPLETE" +], +"enumDescriptions": [ +"This value is not used", +"Indicates adb_shell_command_event has been set.", +"Indicates adb_shell_interactive_event has been set.", +"Indicates app_process_start_event has been set.", +"Indicates keyguard_dismissed_event has been set.", +"Indicates keyguard_dismiss_auth_attempt_event has been set.", +"Indicates keyguard_secured_event has been set.", +"Indicates file_pulled_event has been set.", +"Indicates file_pushed_event has been set.", +"Indicates cert_authority_installed_event has been set.", +"Indicates cert_authority_removed_event has been set.", +"Indicates cert_validation_failure_event has been set.", +"Indicates crypto_self_test_completed_event has been set.", +"Indicates key_destruction_event has been set.", +"Indicates key_generated_event has been set.", +"Indicates key_import_event has been set.", +"Indicates key_integrity_violation_event has been set.", +"Indicates logging_started_event has been set.", +"Indicates logging_stopped_event has been set.", +"Indicates log_buffer_size_critical_event has been set.", +"Indicates media_mount_event has been set.", +"Indicates media_unmount_event has been set.", +"Indicates os_shutdown_event has been set.", +"Indicates os_startup_event has been set.", +"Indicates remote_lock_event has been set.", +"Indicates wipe_failure_event has been set.", +"Indicates connect_event has been set.", +"Indicates dns_event has been set.", +"Indicates stopLostModeUserAttemptEvent has been set.", +"Indicates lostModeOutgoingPhoneCallEvent has been set.", +"Indicates lostModeLocationEvent has been set.", +"Indicates enrollment_complete_event has been set." +], +"type": "string" +}, +"filePulledEvent": { +"$ref": "FilePulledEvent", +"description": "A file was downloaded from the device. Part of SECURITY_LOGS." +}, +"filePushedEvent": { +"$ref": "FilePushedEvent", +"description": "A file was uploaded onto the device. Part of SECURITY_LOGS." +}, +"keyDestructionEvent": { +"$ref": "KeyDestructionEvent", +"description": "A cryptographic key including user installed, admin installed and system maintained private key is removed from the device either by the user or management. Part of SECURITY_LOGS." +}, +"keyGeneratedEvent": { +"$ref": "KeyGeneratedEvent", +"description": "A cryptographic key including user installed, admin installed and system maintained private key is installed on the device either by the user or management. Part of SECURITY_LOGS." +}, +"keyImportEvent": { +"$ref": "KeyImportEvent", +"description": "A cryptographic key including user installed, admin installed and system maintained private key is imported on the device either by the user or management. Part of SECURITY_LOGS." +}, +"keyIntegrityViolationEvent": { +"$ref": "KeyIntegrityViolationEvent", +"description": "A cryptographic key including user installed, admin installed and system maintained private key is determined to be corrupted due to storage corruption, hardware failure or some OS issue. Part of SECURITY_LOGS." +}, +"keyguardDismissAuthAttemptEvent": { +"$ref": "KeyguardDismissAuthAttemptEvent", +"description": "An attempt was made to unlock the device. Part of SECURITY_LOGS." +}, +"keyguardDismissedEvent": { +"$ref": "KeyguardDismissedEvent", +"description": "The keyguard was dismissed. Part of SECURITY_LOGS." +}, +"keyguardSecuredEvent": { +"$ref": "KeyguardSecuredEvent", +"description": "The device was locked either by user or timeout. Part of SECURITY_LOGS." +}, +"logBufferSizeCriticalEvent": { +"$ref": "LogBufferSizeCriticalEvent", +"description": "The audit log buffer has reached 90% of its capacity, therefore older events may be dropped. Part of SECURITY_LOGS." +}, +"loggingStartedEvent": { +"$ref": "LoggingStartedEvent", +"description": "usageLog policy has been enabled. Part of SECURITY_LOGS." +}, +"loggingStoppedEvent": { +"$ref": "LoggingStoppedEvent", +"description": "usageLog policy has been disabled. Part of SECURITY_LOGS." +}, +"lostModeLocationEvent": { +"$ref": "LostModeLocationEvent", +"description": "A lost mode location update when a device in lost mode." +}, +"lostModeOutgoingPhoneCallEvent": { +"$ref": "LostModeOutgoingPhoneCallEvent", +"description": "An outgoing phone call has been made when a device in lost mode." +}, +"mediaMountEvent": { +"$ref": "MediaMountEvent", +"description": "Removable media was mounted. Part of SECURITY_LOGS." +}, +"mediaUnmountEvent": { +"$ref": "MediaUnmountEvent", +"description": "Removable media was unmounted. Part of SECURITY_LOGS." +}, +"osShutdownEvent": { +"$ref": "OsShutdownEvent", +"description": "Device was shutdown. Part of SECURITY_LOGS." +}, +"osStartupEvent": { +"$ref": "OsStartupEvent", +"description": "Device was started. Part of SECURITY_LOGS." +}, +"remoteLockEvent": { +"$ref": "RemoteLockEvent", +"description": "The device or profile has been remotely locked via the LOCK command. Part of SECURITY_LOGS." +}, +"stopLostModeUserAttemptEvent": { +"$ref": "StopLostModeUserAttemptEvent", +"description": "An attempt to take a device out of lost mode." +}, +"wipeFailureEvent": { +"$ref": "WipeFailureEvent", +"description": "The work profile or company-owned device failed to wipe when requested. This could be user initiated or admin initiated e.g. delete was received. Part of SECURITY_LOGS." +} +}, +"type": "object" +}, +"User": { +"description": "A user belonging to an enterprise.", +"id": "User", +"properties": { +"accountIdentifier": { +"description": "A unique identifier you create for this user, such as user342 or asset#44418. This field must be set when the user is created and can't be updated. This field must not contain personally identifiable information (PII). This identifier must be 1024 characters or less; otherwise, the update policy request will fail.", +"type": "string" +} +}, +"type": "object" +}, +"UserFacingMessage": { +"description": "Provides a user-facing message with locale info. The maximum message length is 4096 characters.", +"id": "UserFacingMessage", +"properties": { +"defaultMessage": { +"description": "The default message displayed if no localized message is specified or the user's locale doesn't match with any of the localized messages. A default message must be provided if any localized messages are provided.", +"type": "string" +}, +"localizedMessages": { +"additionalProperties": { +"type": "string" +}, +"description": "A map containing pairs, where locale is a well-formed BCP 47 language (https://www.w3.org/International/articles/language-tags/) code, such as en-US, es-ES, or fr.", +"type": "object" +} +}, +"type": "object" +}, +"WebApp": { +"description": "A web app.", +"id": "WebApp", +"properties": { +"displayMode": { +"description": "The display mode of the web app.", +"enum": [ +"DISPLAY_MODE_UNSPECIFIED", +"MINIMAL_UI", +"STANDALONE", +"FULL_SCREEN" +], +"enumDescriptions": [ +"Not used.", +"Opens the web app with a minimal set of browser UI elements for controlling navigation and viewing the page URL.", +"Opens the web app to look and feel like a standalone native application. The browser UI elements and page URL are not visible, however the system status bar and back button are visible.", +"Opens the web app in full screen without any visible controls. The browser UI elements, page URL, system status bar and back button are not visible, and the web app takes up the entirety of the available display area." +], +"type": "string" +}, +"icons": { +"description": "A list of icons for the web app. Must have at least one element.", +"items": { +"$ref": "WebAppIcon" +}, +"type": "array" +}, +"name": { +"description": "The name of the web app, which is generated by the server during creation in the form enterprises/{enterpriseId}/webApps/{packageName}.", +"type": "string" +}, +"startUrl": { +"description": "The start URL, i.e. the URL that should load when the user opens the application.", +"type": "string" +}, +"title": { +"description": "The title of the web app as displayed to the user (e.g., amongst a list of other applications, or as a label for an icon).", +"type": "string" +}, +"versionCode": { +"description": "The current version of the app.Note that the version can automatically increase during the lifetime of the web app, while Google does internal housekeeping to keep the web app up-to-date.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"WebAppIcon": { +"description": "An icon for a web app. Supported formats are: png, jpg and webp.", +"id": "WebAppIcon", +"properties": { +"imageData": { +"description": "The actual bytes of the image in a base64url encoded string (c.f. RFC4648, section 5 \"Base 64 Encoding with URL and Filename Safe Alphabet\"). - The image type can be png or jpg. - The image should ideally be square. - The image should ideally have a size of 512x512. ", +"type": "string" +} +}, +"type": "object" +}, +"WebToken": { +"description": "A web token used to access the managed Google Play iframe.", +"id": "WebToken", +"properties": { +"enabledFeatures": { +"description": "The features to enable. Use this if you want to control exactly which feature(s) will be activated; leave empty to allow all features.Restrictions / things to note: - If no features are listed here, all features are enabled \u2014 this is the default behavior where you give access to all features to your admins. - This must not contain any FEATURE_UNSPECIFIED values. - Repeated values are ignored ", +"items": { +"enum": [ +"FEATURE_UNSPECIFIED", +"PLAY_SEARCH", +"PRIVATE_APPS", +"WEB_APPS", +"STORE_BUILDER", +"MANAGED_CONFIGURATIONS", +"ZERO_TOUCH_CUSTOMER_MANAGEMENT" +], +"enumDescriptions": [ +"Unspecified feature.", +"The Managed Play search apps page (https://developers.google.com/android/management/apps#search-apps).", +"The private apps page (https://developers.google.com/android/management/apps#private-apps).", +"The Web Apps page (https://developers.google.com/android/management/apps#web-apps).", +"The organize apps page (https://developers.google.com/android/management/apps#organize-apps).", +"The managed configurations page (https://developers.google.com/android/management/managed-configurations-iframe).", +"The zero-touch iframe (https://developers.google.com/android/management/zero-touch-iframe)." +], +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "The name of the web token, which is generated by the server during creation in the form enterprises/{enterpriseId}/webTokens/{webTokenId}.", +"type": "string" +}, +"parentFrameUrl": { +"description": "The URL of the parent frame hosting the iframe with the embedded UI. To prevent XSS, the iframe may not be hosted at other URLs. The URL must use the https scheme.", +"type": "string" +}, +"permissions": { +"deprecated": true, +"description": "Permissions available to an admin in the embedded UI. An admin must have all of these permissions in order to view the UI. This field is deprecated.", +"items": { +"enum": [ +"WEB_TOKEN_PERMISSION_UNSPECIFIED", +"APPROVE_APPS" +], +"enumDescriptions": [ +"This value is ignored.", +"The permission to approve apps for the enterprise." +], +"type": "string" +}, +"type": "array" +}, +"value": { +"description": "The token value which is used in the hosting page to generate the iframe with the embedded UI. This is a read-only field generated by the server.", +"type": "string" +} +}, +"type": "object" +}, +"WifiRoamingPolicy": { +"description": "Wi-Fi roaming policy.", +"id": "WifiRoamingPolicy", +"properties": { +"wifiRoamingSettings": { +"description": "Optional. Wi-Fi roaming settings. SSIDs provided in this list must be unique, the policy will be rejected otherwise.", +"items": { +"$ref": "WifiRoamingSetting" +}, +"type": "array" +} +}, +"type": "object" +}, +"WifiRoamingSetting": { +"description": "Wi-Fi roaming setting.", +"id": "WifiRoamingSetting", +"properties": { +"wifiRoamingMode": { +"description": "Required. Wi-Fi roaming mode for the specified SSID.", +"enum": [ +"WIFI_ROAMING_MODE_UNSPECIFIED", +"WIFI_ROAMING_DISABLED", +"WIFI_ROAMING_DEFAULT", +"WIFI_ROAMING_AGGRESSIVE" +], +"enumDescriptions": [ +"Unspecified. Defaults to WIFI_ROAMING_DEFAULT.", +"Wi-Fi roaming is disabled. Supported on Android 15 and above on fully managed devices and work profiles on company-owned devices. A nonComplianceDetail with MANAGEMENT_MODE is reported for other management modes. A nonComplianceDetail with API_LEVEL is reported if the Android version is less than 15.", +"Default Wi-Fi roaming mode of the device.", +"Aggressive roaming mode which allows quicker Wi-Fi roaming. Supported on Android 15 and above on fully managed devices and work profiles on company-owned devices. A nonComplianceDetail with MANAGEMENT_MODE is reported for other management modes. A nonComplianceDetail with API_LEVEL is reported if the Android version is less than 15. A nonComplianceDetail with DEVICE_INCOMPATIBLE is reported if the device does not support aggressive roaming mode." +], +"type": "string" +}, +"wifiSsid": { +"description": "Required. SSID of the Wi-Fi network.", +"type": "string" +} +}, +"type": "object" +}, +"WifiSsid": { +"description": "Represents a Wi-Fi SSID.", +"id": "WifiSsid", +"properties": { +"wifiSsid": { +"description": "Required. Wi-Fi SSID represented as a string.", +"type": "string" +} +}, +"type": "object" +}, +"WifiSsidPolicy": { +"description": "Restrictions on which Wi-Fi SSIDs the device can connect to. Note that this does not affect which networks can be configured on the device. Supported on company-owned devices running Android 13 and above.", +"id": "WifiSsidPolicy", +"properties": { +"wifiSsidPolicyType": { +"description": "Type of the Wi-Fi SSID policy to be applied.", +"enum": [ +"WIFI_SSID_POLICY_TYPE_UNSPECIFIED", +"WIFI_SSID_DENYLIST", +"WIFI_SSID_ALLOWLIST" +], +"enumDescriptions": [ +"Defaults to WIFI_SSID_DENYLIST. wifiSsids must not be set. There are no restrictions on which SSID the device can connect to.", +"The device cannot connect to any Wi-Fi network whose SSID is in wifiSsids, but can connect to other networks.", +"The device can make Wi-Fi connections only to the SSIDs in wifiSsids. wifiSsids must not be empty. The device will not be able to connect to any other Wi-Fi network." +], +"type": "string" +}, +"wifiSsids": { +"description": "Optional. List of Wi-Fi SSIDs that should be applied in the policy. This field must be non-empty when WifiSsidPolicyType is set to WIFI_SSID_ALLOWLIST. If this is set to a non-empty list, then a nonComplianceDetail detail with API_LEVEL is reported if the Android version is less than 13 and a nonComplianceDetail with MANAGEMENT_MODE is reported for non-company-owned devices.", +"items": { +"$ref": "WifiSsid" +}, +"type": "array" +} +}, +"type": "object" +}, +"WipeAction": { +"description": "An action to reset a company owned device or delete a work profile. Note: blockAction must also be specified.", +"id": "WipeAction", +"properties": { +"preserveFrp": { +"description": "Whether the factory-reset protection data is preserved on the device. This setting doesn\u2019t apply to work profiles.", +"type": "boolean" +}, +"wipeAfterDays": { +"description": "Number of days the policy is non-compliant before the device or work profile is wiped. wipeAfterDays must be greater than blockAfterDays.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"WipeFailureEvent": { +"description": "The work profile or company-owned device failed to wipe when requested. This could be user initiated or admin initiated e.g. delete was received. Intentionally empty.", +"id": "WipeFailureEvent", +"properties": {}, +"type": "object" +} +}, +"servicePath": "", +"title": "Android 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/apphub.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/apphub.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..e2cb3b3a583f95354e2585471cddb1c0b32ee313 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/apphub.v1.json @@ -0,0 +1,2809 @@ +{ +"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://apphub.googleapis.com/", +"batchPath": "batch", +"canonicalName": "App Hub", +"description": "", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/app-hub/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": "apphub:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://apphub.mtls.googleapis.com/", +"name": "apphub", +"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": { +"detachServiceProjectAttachment": { +"description": "Detaches a service project from a host project. You can call this API from any service project without needing access to the host project that it is attached to.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}:detachServiceProjectAttachment", +"httpMethod": "POST", +"id": "apphub.projects.locations.detachServiceProjectAttachment", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Service project id and location to detach from a host project. Only global location is supported. Expected format: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:detachServiceProjectAttachment", +"request": { +"$ref": "DetachServiceProjectAttachmentRequest" +}, +"response": { +"$ref": "DetachServiceProjectAttachmentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets information about a location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "apphub.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": "apphub.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" +] +}, +"lookupServiceProjectAttachment": { +"description": "Lists a service project attachment for a given service project. You can call this API from any project to find if it is attached to a host project.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}:lookupServiceProjectAttachment", +"httpMethod": "GET", +"id": "apphub.projects.locations.lookupServiceProjectAttachment", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Service project ID and location to lookup service project attachment for. Only global location is supported. Expected format: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:lookupServiceProjectAttachment", +"response": { +"$ref": "LookupServiceProjectAttachmentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"applications": { +"methods": { +"create": { +"description": "Creates an Application in a host project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/applications", +"httpMethod": "POST", +"id": "apphub.projects.locations.applications.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"applicationId": { +"description": "Required. The Application identifier. Must contain only lowercase letters, numbers or hyphens, with the first character a letter, the last a letter or a number, and a 63 character maximum.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Project and location to create Application in. Expected format: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/applications", +"request": { +"$ref": "Application" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an Application in a host project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}", +"httpMethod": "DELETE", +"id": "apphub.projects.locations.applications.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Fully qualified name of the Application to delete. Expected format: `projects/{project}/locations/{location}/applications/{application}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/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" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets an Application in a host project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}", +"httpMethod": "GET", +"id": "apphub.projects.locations.applications.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Fully qualified name of the Application to fetch. Expected format: `projects/{project}/locations/{location}/applications/{application}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/applications/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Application" +}, +"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}/applications/{applicationsId}:getIamPolicy", +"httpMethod": "GET", +"id": "apphub.projects.locations.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/[^/]+/applications/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Applications in a host project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/applications", +"httpMethod": "GET", +"id": "apphub.projects.locations.applications.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. Project and location to list Applications on. Expected format: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/applications", +"response": { +"$ref": "ListApplicationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an Application in a host project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}", +"httpMethod": "PATCH", +"id": "apphub.projects.locations.applications.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name of an Application. Format: `\"projects/{host-project-id}/locations/{location}/applications/{application-id}\"`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/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 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 Application resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Application" +}, +"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}/applications/{applicationsId}:setIamPolicy", +"httpMethod": "POST", +"id": "apphub.projects.locations.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/[^/]+/applications/[^/]+$", +"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}/applications/{applicationsId}:testIamPermissions", +"httpMethod": "POST", +"id": "apphub.projects.locations.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/[^/]+/applications/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"services": { +"methods": { +"create": { +"description": "Creates a Service in an Application.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services", +"httpMethod": "POST", +"id": "apphub.projects.locations.applications.services.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Fully qualified name of the parent Application to create the Service in. Expected format: `projects/{project}/locations/{location}/applications/{application}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/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 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" +}, +"serviceId": { +"description": "Required. The Service identifier. Must contain only lowercase letters, numbers or hyphens, with the first character a letter, the last a letter or a number, and a 63 character maximum.", +"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 Service from an Application.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services/{servicesId}", +"httpMethod": "DELETE", +"id": "apphub.projects.locations.applications.services.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Fully qualified name of the Service to delete from an Application. Expected format: `projects/{project}/locations/{location}/applications/{application}/services/{service}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/applications/[^/]+/services/[^/]+$", +"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 a Service in an Application.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services/{servicesId}", +"httpMethod": "GET", +"id": "apphub.projects.locations.applications.services.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Fully qualified name of the Service to fetch. Expected format: `projects/{project}/locations/{location}/applications/{application}/services/{service}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/applications/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Service" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Services in an Application.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services", +"httpMethod": "GET", +"id": "apphub.projects.locations.applications.services.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. Fully qualified name of the parent Application to list Services for. Expected format: `projects/{project}/locations/{location}/applications/{application}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/applications/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/services", +"response": { +"$ref": "ListServicesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Service in an Application.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services/{servicesId}", +"httpMethod": "PATCH", +"id": "apphub.projects.locations.applications.services.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name of a Service. Format: `\"projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}\"`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/applications/[^/]+/services/[^/]+$", +"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 Service resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Service" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"workloads": { +"methods": { +"create": { +"description": "Creates a Workload in an Application.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/workloads", +"httpMethod": "POST", +"id": "apphub.projects.locations.applications.workloads.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Fully qualified name of the Application to create Workload in. Expected format: `projects/{project}/locations/{location}/applications/{application}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/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 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" +}, +"workloadId": { +"description": "Required. The Workload identifier. Must contain only lowercase letters, numbers or hyphens, with the first character a letter, the last a letter or a number, and a 63 character maximum.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/workloads", +"request": { +"$ref": "Workload" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Workload from an Application.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/workloads/{workloadsId}", +"httpMethod": "DELETE", +"id": "apphub.projects.locations.applications.workloads.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Fully qualified name of the Workload to delete from an Application. Expected format: `projects/{project}/locations/{location}/applications/{application}/workloads/{workload}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/applications/[^/]+/workloads/[^/]+$", +"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 a Workload in an Application.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/workloads/{workloadsId}", +"httpMethod": "GET", +"id": "apphub.projects.locations.applications.workloads.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Fully qualified name of the Workload to fetch. Expected format: `projects/{project}/locations/{location}/applications/{application}/workloads/{workload}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/applications/[^/]+/workloads/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Workload" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Workloads in an Application.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/workloads", +"httpMethod": "GET", +"id": "apphub.projects.locations.applications.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": "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. Fully qualified name of the parent Application to list Workloads for. Expected format: `projects/{project}/locations/{location}/applications/{application}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/applications/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/workloads", +"response": { +"$ref": "ListWorkloadsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Workload in an Application.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/workloads/{workloadsId}", +"httpMethod": "PATCH", +"id": "apphub.projects.locations.applications.workloads.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name of the Workload. Format: `\"projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}\"`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/applications/[^/]+/workloads/[^/]+$", +"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 Workload resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Workload" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"discoveredServices": { +"methods": { +"get": { +"description": "Gets a Discovered Service in a host project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/discoveredServices/{discoveredServicesId}", +"httpMethod": "GET", +"id": "apphub.projects.locations.discoveredServices.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Fully qualified name of the Discovered Service to fetch. Expected format: `projects/{project}/locations/{location}/discoveredServices/{discoveredService}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/discoveredServices/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "DiscoveredService" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Discovered Services that can be added to an Application in a host project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/discoveredServices", +"httpMethod": "GET", +"id": "apphub.projects.locations.discoveredServices.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. Project and location to list Discovered Services on. Expected format: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/discoveredServices", +"response": { +"$ref": "ListDiscoveredServicesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"lookup": { +"description": "Lists a Discovered Service in a host project and location, with a given resource URI.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/discoveredServices:lookup", +"httpMethod": "GET", +"id": "apphub.projects.locations.discoveredServices.lookup", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Host project ID and location to lookup Discovered Service in. Expected format: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"uri": { +"description": "Required. Resource URI to find DiscoveredService for. Accepts both project number and project ID and does translation when needed.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/discoveredServices:lookup", +"response": { +"$ref": "LookupDiscoveredServiceResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"discoveredWorkloads": { +"methods": { +"get": { +"description": "Gets a Discovered Workload in a host project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/discoveredWorkloads/{discoveredWorkloadsId}", +"httpMethod": "GET", +"id": "apphub.projects.locations.discoveredWorkloads.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Fully qualified name of the Discovered Workload to fetch. Expected format: `projects/{project}/locations/{location}/discoveredWorkloads/{discoveredWorkload}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/discoveredWorkloads/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "DiscoveredWorkload" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Discovered Workloads that can be added to an Application in a host project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/discoveredWorkloads", +"httpMethod": "GET", +"id": "apphub.projects.locations.discoveredWorkloads.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. Project and location to list Discovered Workloads on. Expected format: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/discoveredWorkloads", +"response": { +"$ref": "ListDiscoveredWorkloadsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"lookup": { +"description": "Lists a Discovered Workload in a host project and location, with a given resource URI.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/discoveredWorkloads:lookup", +"httpMethod": "GET", +"id": "apphub.projects.locations.discoveredWorkloads.lookup", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Host project ID and location to lookup Discovered Workload in. Expected format: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"uri": { +"description": "Required. Resource URI to find Discovered Workload for. Accepts both project number and project ID and does translation when needed.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/discoveredWorkloads:lookup", +"response": { +"$ref": "LookupDiscoveredWorkloadResponse" +}, +"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": "apphub.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": "apphub.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": "apphub.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": "apphub.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" +] +} +} +}, +"serviceProjectAttachments": { +"methods": { +"create": { +"description": "Attaches a service project to the host project.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serviceProjectAttachments", +"httpMethod": "POST", +"id": "apphub.projects.locations.serviceProjectAttachments.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Host project ID and location to which service project is being attached. Only global location is supported. Expected format: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"serviceProjectAttachmentId": { +"description": "Required. The service project attachment identifier must contain the project id of the service project specified in the service_project_attachment.service_project field.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/serviceProjectAttachments", +"request": { +"$ref": "ServiceProjectAttachment" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a service project attachment.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serviceProjectAttachments/{serviceProjectAttachmentsId}", +"httpMethod": "DELETE", +"id": "apphub.projects.locations.serviceProjectAttachments.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Fully qualified name of the service project attachment to delete. Expected format: `projects/{project}/locations/{location}/serviceProjectAttachments/{serviceProjectAttachment}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/serviceProjectAttachments/[^/]+$", +"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 a service project attachment.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serviceProjectAttachments/{serviceProjectAttachmentsId}", +"httpMethod": "GET", +"id": "apphub.projects.locations.serviceProjectAttachments.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Fully qualified name of the service project attachment to retrieve. Expected format: `projects/{project}/locations/{location}/serviceProjectAttachments/{serviceProjectAttachment}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/serviceProjectAttachments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ServiceProjectAttachment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists service projects attached to the host project.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serviceProjectAttachments", +"httpMethod": "GET", +"id": "apphub.projects.locations.serviceProjectAttachments.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. Host project ID and location to list service project attachments. Only global location is supported. Expected format: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/serviceProjectAttachments", +"response": { +"$ref": "ListServiceProjectAttachmentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20241008", +"rootUrl": "https://apphub.googleapis.com/", +"schemas": { +"Application": { +"description": "Application defines the governance boundary for App Hub entities that perform a logical end-to-end business function. App Hub supports application level IAM permission to align with governance requirements.", +"id": "Application", +"properties": { +"attributes": { +"$ref": "Attributes", +"description": "Optional. Consumer provided attributes." +}, +"createTime": { +"description": "Output only. Create time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. User-defined description of an Application. Can have a maximum length of 2048 characters.", +"type": "string" +}, +"displayName": { +"description": "Optional. User-defined name for the Application. Can have a maximum length of 63 characters.", +"type": "string" +}, +"name": { +"description": "Identifier. The resource name of an Application. Format: `\"projects/{host-project-id}/locations/{location}/applications/{application-id}\"`", +"type": "string" +}, +"scope": { +"$ref": "Scope", +"description": "Required. Immutable. Defines what data can be included into this Application. Limits which Services and Workloads can be registered." +}, +"state": { +"description": "Output only. Application state.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"DELETING" +], +"enumDescriptions": [ +"Unspecified state.", +"The Application is being created.", +"The Application is ready to register Services and Workloads.", +"The Application is being deleted." +], +"readOnly": true, +"type": "string" +}, +"uid": { +"description": "Output only. A universally unique identifier (in UUID4 format) for the `Application`.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Update time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AssetLocation": { +"description": "Provides the mapping of a cloud asset to a direct physical location or to a proxy that defines the location on its behalf.", +"id": "AssetLocation", +"properties": { +"ccfeRmsPath": { +"description": "Spanner path of the CCFE RMS database. It is only applicable for CCFE tenants that use CCFE RMS for storing resource metadata.", +"type": "string" +}, +"expected": { +"$ref": "IsolationExpectations", +"description": "Defines the customer expectation around ZI/ZS for this asset and ZI/ZS state of the region at the time of asset creation." +}, +"extraParameters": { +"description": "Defines extra parameters required for specific asset types.", +"items": { +"$ref": "ExtraParameter" +}, +"type": "array" +}, +"locationData": { +"description": "Contains all kinds of physical location definitions for this asset.", +"items": { +"$ref": "LocationData" +}, +"type": "array" +}, +"parentAsset": { +"description": "Defines parents assets if any in order to allow later generation of child_asset_location data via child assets.", +"items": { +"$ref": "CloudAsset" +}, +"type": "array" +} +}, +"type": "object" +}, +"Attributes": { +"description": "Consumer provided attributes.", +"id": "Attributes", +"properties": { +"businessOwners": { +"description": "Optional. Business team that ensures user needs are met and value is delivered", +"items": { +"$ref": "ContactInfo" +}, +"type": "array" +}, +"criticality": { +"$ref": "Criticality", +"description": "Optional. User-defined criticality information." +}, +"developerOwners": { +"description": "Optional. Developer team that owns development and coding.", +"items": { +"$ref": "ContactInfo" +}, +"type": "array" +}, +"environment": { +"$ref": "Environment", +"description": "Optional. User-defined environment information." +}, +"operatorOwners": { +"description": "Optional. Operator team that ensures runtime and operations.", +"items": { +"$ref": "ContactInfo" +}, +"type": "array" +} +}, +"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" +}, +"BlobstoreLocation": { +"description": "Policy ID that identified data placement in Blobstore as per go/blobstore-user-guide#data-metadata-placement-and-failure-domains", +"id": "BlobstoreLocation", +"properties": { +"policyId": { +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"CloudAsset": { +"id": "CloudAsset", +"properties": { +"assetName": { +"type": "string" +}, +"assetType": { +"type": "string" +} +}, +"type": "object" +}, +"CloudAssetComposition": { +"id": "CloudAssetComposition", +"properties": { +"childAsset": { +"items": { +"$ref": "CloudAsset" +}, +"type": "array" +} +}, +"type": "object" +}, +"ContactInfo": { +"description": "Contact information of stakeholders.", +"id": "ContactInfo", +"properties": { +"displayName": { +"description": "Optional. Contact's name. Can have a maximum length of 63 characters.", +"type": "string" +}, +"email": { +"description": "Required. Email address of the contacts.", +"type": "string" +} +}, +"type": "object" +}, +"Criticality": { +"description": "Criticality of the Application, Service, or Workload", +"id": "Criticality", +"properties": { +"type": { +"description": "Required. Criticality Type.", +"enum": [ +"TYPE_UNSPECIFIED", +"MISSION_CRITICAL", +"HIGH", +"MEDIUM", +"LOW" +], +"enumDescriptions": [ +"Unspecified type.", +"Mission critical service, application or workload.", +"High impact.", +"Medium impact.", +"Low impact." +], +"type": "string" +} +}, +"type": "object" +}, +"DetachServiceProjectAttachmentRequest": { +"description": "Request for DetachServiceProjectAttachment.", +"id": "DetachServiceProjectAttachmentRequest", +"properties": {}, +"type": "object" +}, +"DetachServiceProjectAttachmentResponse": { +"description": "Response for DetachServiceProjectAttachment.", +"id": "DetachServiceProjectAttachmentResponse", +"properties": {}, +"type": "object" +}, +"DirectLocationAssignment": { +"id": "DirectLocationAssignment", +"properties": { +"location": { +"items": { +"$ref": "LocationAssignment" +}, +"type": "array" +} +}, +"type": "object" +}, +"DiscoveredService": { +"description": "DiscoveredService is a network or API interface that exposes some functionality to clients for consumption over the network. A discovered service can be registered to a App Hub service.", +"id": "DiscoveredService", +"properties": { +"name": { +"description": "Identifier. The resource name of the discovered service. Format: `\"projects/{host-project-id}/locations/{location}/discoveredServices/{uuid}\"`", +"type": "string" +}, +"serviceProperties": { +"$ref": "ServiceProperties", +"description": "Output only. Properties of an underlying compute resource that can comprise a Service. These are immutable.", +"readOnly": true +}, +"serviceReference": { +"$ref": "ServiceReference", +"description": "Output only. Reference to an underlying networking resource that can comprise a Service. These are immutable.", +"readOnly": true +} +}, +"type": "object" +}, +"DiscoveredWorkload": { +"description": "DiscoveredWorkload is a binary deployment (such as managed instance groups (MIGs) and GKE deployments) that performs the smallest logical subset of business functionality. A discovered workload can be registered to an App Hub Workload.", +"id": "DiscoveredWorkload", +"properties": { +"name": { +"description": "Identifier. The resource name of the discovered workload. Format: `\"projects/{host-project-id}/locations/{location}/discoveredWorkloads/{uuid}\"`", +"type": "string" +}, +"workloadProperties": { +"$ref": "WorkloadProperties", +"description": "Output only. Properties of an underlying compute resource represented by the Workload. These are immutable.", +"readOnly": true +}, +"workloadReference": { +"$ref": "WorkloadReference", +"description": "Output only. Reference of an underlying compute resource represented by the Workload. These are immutable.", +"readOnly": true +} +}, +"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": "Environment of the Application, Service, or Workload", +"id": "Environment", +"properties": { +"type": { +"description": "Required. Environment Type.", +"enum": [ +"TYPE_UNSPECIFIED", +"PRODUCTION", +"STAGING", +"TEST", +"DEVELOPMENT" +], +"enumDescriptions": [ +"Unspecified type.", +"Production environment.", +"Staging environment.", +"Test environment.", +"Development environment." +], +"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" +}, +"ExtraParameter": { +"description": "Defines parameters that should only be used for specific asset types.", +"id": "ExtraParameter", +"properties": { +"regionalMigDistributionPolicy": { +"$ref": "RegionalMigDistributionPolicy", +"description": "Details about zones used by regional compute.googleapis.com/InstanceGroupManager to create instances." +} +}, +"type": "object" +}, +"IsolationExpectations": { +"id": "IsolationExpectations", +"properties": { +"requirementOverride": { +"$ref": "RequirementOverride", +"description": "Explicit overrides for ZI and ZS requirements to be used for resources that should be excluded from ZI/ZS verification logic." +}, +"ziOrgPolicy": { +"enum": [ +"ZI_UNSPECIFIED", +"ZI_UNKNOWN", +"ZI_NOT_REQUIRED", +"ZI_PREFERRED", +"ZI_REQUIRED" +], +"enumDescriptions": [ +"", +"To be used if tracking is not available", +"", +"", +"" +], +"type": "string" +}, +"ziRegionPolicy": { +"enum": [ +"ZI_REGION_POLICY_UNSPECIFIED", +"ZI_REGION_POLICY_UNKNOWN", +"ZI_REGION_POLICY_NOT_SET", +"ZI_REGION_POLICY_FAIL_OPEN", +"ZI_REGION_POLICY_FAIL_CLOSED" +], +"enumDescriptions": [ +"", +"To be used if tracking is not available", +"", +"", +"" +], +"type": "string" +}, +"ziRegionState": { +"enum": [ +"ZI_REGION_UNSPECIFIED", +"ZI_REGION_UNKNOWN", +"ZI_REGION_NOT_ENABLED", +"ZI_REGION_ENABLED" +], +"enumDescriptions": [ +"", +"To be used if tracking is not available", +"", +"" +], +"type": "string" +}, +"zoneIsolation": { +"deprecated": true, +"description": "Deprecated: use zi_org_policy, zi_region_policy and zi_region_state instead for setting ZI expectations as per go/zicy-publish-physical-location.", +"enum": [ +"ZI_UNSPECIFIED", +"ZI_UNKNOWN", +"ZI_NOT_REQUIRED", +"ZI_PREFERRED", +"ZI_REQUIRED" +], +"enumDescriptions": [ +"", +"To be used if tracking is not available", +"", +"", +"" +], +"type": "string" +}, +"zoneSeparation": { +"deprecated": true, +"description": "Deprecated: use zs_org_policy, and zs_region_stateinstead for setting Zs expectations as per go/zicy-publish-physical-location.", +"enum": [ +"ZS_UNSPECIFIED", +"ZS_UNKNOWN", +"ZS_NOT_REQUIRED", +"ZS_REQUIRED" +], +"enumDescriptions": [ +"", +"To be used if tracking is not available", +"", +"" +], +"type": "string" +}, +"zsOrgPolicy": { +"enum": [ +"ZS_UNSPECIFIED", +"ZS_UNKNOWN", +"ZS_NOT_REQUIRED", +"ZS_REQUIRED" +], +"enumDescriptions": [ +"", +"To be used if tracking is not available", +"", +"" +], +"type": "string" +}, +"zsRegionState": { +"enum": [ +"ZS_REGION_UNSPECIFIED", +"ZS_REGION_UNKNOWN", +"ZS_REGION_NOT_ENABLED", +"ZS_REGION_ENABLED" +], +"enumDescriptions": [ +"", +"To be used if tracking of the asset ZS-bit is not available", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"ListApplicationsResponse": { +"description": "Response for ListApplications.", +"id": "ListApplicationsResponse", +"properties": { +"applications": { +"description": "List of Applications.", +"items": { +"$ref": "Application" +}, +"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" +}, +"ListDiscoveredServicesResponse": { +"description": "Response for ListDiscoveredServices.", +"id": "ListDiscoveredServicesResponse", +"properties": { +"discoveredServices": { +"description": "List of Discovered Services.", +"items": { +"$ref": "DiscoveredService" +}, +"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" +}, +"ListDiscoveredWorkloadsResponse": { +"description": "Response for ListDiscoveredWorkloads.", +"id": "ListDiscoveredWorkloadsResponse", +"properties": { +"discoveredWorkloads": { +"description": "List of Discovered Workloads.", +"items": { +"$ref": "DiscoveredWorkload" +}, +"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" +}, +"ListServiceProjectAttachmentsResponse": { +"description": "Response for ListServiceProjectAttachments.", +"id": "ListServiceProjectAttachmentsResponse", +"properties": { +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", +"type": "string" +}, +"serviceProjectAttachments": { +"description": "List of service project attachments.", +"items": { +"$ref": "ServiceProjectAttachment" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListServicesResponse": { +"description": "Response for ListServices.", +"id": "ListServicesResponse", +"properties": { +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", +"type": "string" +}, +"services": { +"description": "List of Services.", +"items": { +"$ref": "Service" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListWorkloadsResponse": { +"description": "Response for ListWorkloads.", +"id": "ListWorkloadsResponse", +"properties": { +"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" +}, +"workloads": { +"description": "List of Workloads.", +"items": { +"$ref": "Workload" +}, +"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" +}, +"LocationAssignment": { +"id": "LocationAssignment", +"properties": { +"location": { +"type": "string" +}, +"locationType": { +"enum": [ +"UNSPECIFIED", +"CLUSTER", +"POP", +"CLOUD_ZONE", +"CLOUD_REGION", +"MULTI_REGION_GEO", +"MULTI_REGION_JURISDICTION", +"GLOBAL", +"OTHER" +], +"enumDescriptions": [ +"", +"1-10: Physical failure domains.", +"", +"11-20: Logical failure domains.", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"LocationData": { +"id": "LocationData", +"properties": { +"blobstoreLocation": { +"$ref": "BlobstoreLocation" +}, +"childAssetLocation": { +"$ref": "CloudAssetComposition" +}, +"directLocation": { +"$ref": "DirectLocationAssignment" +}, +"gcpProjectProxy": { +"$ref": "TenantProjectProxy" +}, +"placerLocation": { +"$ref": "PlacerLocation" +}, +"spannerLocation": { +"$ref": "SpannerLocation" +} +}, +"type": "object" +}, +"LookupDiscoveredServiceResponse": { +"description": "Response for LookupDiscoveredService.", +"id": "LookupDiscoveredServiceResponse", +"properties": { +"discoveredService": { +"$ref": "DiscoveredService", +"description": "Discovered Service if exists, empty otherwise." +} +}, +"type": "object" +}, +"LookupDiscoveredWorkloadResponse": { +"description": "Response for LookupDiscoveredWorkload.", +"id": "LookupDiscoveredWorkloadResponse", +"properties": { +"discoveredWorkload": { +"$ref": "DiscoveredWorkload", +"description": "Discovered Workload if exists, empty otherwise." +} +}, +"type": "object" +}, +"LookupServiceProjectAttachmentResponse": { +"description": "Response for LookupServiceProjectAttachment.", +"id": "LookupServiceProjectAttachmentResponse", +"properties": { +"serviceProjectAttachment": { +"$ref": "ServiceProjectAttachment", +"description": "Service project attachment for a project if exists, empty otherwise." +} +}, +"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" +}, +"PlacerLocation": { +"description": "Message describing that the location of the customer resource is tied to placer allocations", +"id": "PlacerLocation", +"properties": { +"placerConfig": { +"description": "Directory with a config related to it in placer (e.g. \"/placer/prod/home/my-root/my-dir\")", +"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" +}, +"ReconciliationOperationMetadata": { +"description": "Operation metadata returned by the CLH during resource state reconciliation.", +"id": "ReconciliationOperationMetadata", +"properties": { +"deleteResource": { +"deprecated": true, +"description": "DEPRECATED. Use exclusive_action instead.", +"type": "boolean" +}, +"exclusiveAction": { +"description": "Excluisive action returned by the CLH.", +"enum": [ +"UNKNOWN_REPAIR_ACTION", +"DELETE", +"RETRY" +], +"enumDeprecated": [ +false, +true, +false +], +"enumDescriptions": [ +"Unknown repair action.", +"The resource has to be deleted. When using this bit, the CLH should fail the operation. DEPRECATED. Instead use DELETE_RESOURCE OperationSignal in SideChannel.", +"This resource could not be repaired but the repair should be tried again at a later time. This can happen if there is a dependency that needs to be resolved first- e.g. if a parent resource must be repaired before a child resource." +], +"type": "string" +} +}, +"type": "object" +}, +"RegionalMigDistributionPolicy": { +"description": "To be used for specifying the intended distribution of regional compute.googleapis.com/InstanceGroupManager instances", +"id": "RegionalMigDistributionPolicy", +"properties": { +"targetShape": { +"description": "The shape in which the group converges around distribution of resources. Instance of proto2 enum", +"format": "int32", +"type": "integer" +}, +"zones": { +"description": "Cloud zones used by regional MIG to create instances.", +"items": { +"$ref": "ZoneConfiguration" +}, +"type": "array" +} +}, +"type": "object" +}, +"RequirementOverride": { +"id": "RequirementOverride", +"properties": { +"ziOverride": { +"enum": [ +"ZI_UNSPECIFIED", +"ZI_UNKNOWN", +"ZI_NOT_REQUIRED", +"ZI_PREFERRED", +"ZI_REQUIRED" +], +"enumDescriptions": [ +"", +"To be used if tracking is not available", +"", +"", +"" +], +"type": "string" +}, +"zsOverride": { +"enum": [ +"ZS_UNSPECIFIED", +"ZS_UNKNOWN", +"ZS_NOT_REQUIRED", +"ZS_REQUIRED" +], +"enumDescriptions": [ +"", +"To be used if tracking is not available", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"Scope": { +"description": "Scope of an application.", +"id": "Scope", +"properties": { +"type": { +"description": "Required. Scope Type.", +"enum": [ +"TYPE_UNSPECIFIED", +"REGIONAL", +"GLOBAL" +], +"enumDescriptions": [ +"Unspecified type.", +"Regional type.", +"Global type." +], +"type": "string" +} +}, +"type": "object" +}, +"Service": { +"description": "Service is an App Hub data model that contains a discovered service, which represents a network or API interface that exposes some functionality to clients for consumption over the network.", +"id": "Service", +"properties": { +"attributes": { +"$ref": "Attributes", +"description": "Optional. Consumer provided attributes." +}, +"createTime": { +"description": "Output only. Create time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. User-defined description of a Service. Can have a maximum length of 2048 characters.", +"type": "string" +}, +"discoveredService": { +"description": "Required. Immutable. The resource name of the original discovered service.", +"type": "string" +}, +"displayName": { +"description": "Optional. User-defined name for the Service. Can have a maximum length of 63 characters.", +"type": "string" +}, +"name": { +"description": "Identifier. The resource name of a Service. Format: `\"projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}\"`", +"type": "string" +}, +"serviceProperties": { +"$ref": "ServiceProperties", +"description": "Output only. Properties of an underlying compute resource that can comprise a Service. These are immutable.", +"readOnly": true +}, +"serviceReference": { +"$ref": "ServiceReference", +"description": "Output only. Reference to an underlying networking resource that can comprise a Service. These are immutable.", +"readOnly": true +}, +"state": { +"description": "Output only. Service state.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"DELETING", +"DETACHED" +], +"enumDescriptions": [ +"Unspecified state.", +"The service is being created.", +"The service is ready.", +"The service is being deleted.", +"The underlying networking resources have been deleted." +], +"readOnly": true, +"type": "string" +}, +"uid": { +"description": "Output only. A universally unique identifier (UUID) for the `Service` in the UUID4 format.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Update time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ServiceProjectAttachment": { +"description": "ServiceProjectAttachment represents an attachment from a service project to a host project. Service projects contain the underlying cloud infrastructure resources, and expose these resources to the host project through a ServiceProjectAttachment. With the attachments, the host project can provide an aggregated view of resources across all service projects.", +"id": "ServiceProjectAttachment", +"properties": { +"createTime": { +"description": "Output only. Create time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Identifier. The resource name of a ServiceProjectAttachment. Format: `\"projects/{host-project-id}/locations/global/serviceProjectAttachments/{service-project-id}.\"`", +"type": "string" +}, +"serviceProject": { +"description": "Required. Immutable. Service project name in the format: `\"projects/abc\"` or `\"projects/123\"`. As input, project name with either project id or number are accepted. As output, this field will contain project number.", +"type": "string" +}, +"state": { +"description": "Output only. ServiceProjectAttachment state.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"DELETING" +], +"enumDescriptions": [ +"Unspecified state.", +"The ServiceProjectAttachment is being created.", +"The ServiceProjectAttachment is ready. This means Services and Workloads under the corresponding ServiceProjectAttachment is ready for registration.", +"The ServiceProjectAttachment is being deleted." +], +"readOnly": true, +"type": "string" +}, +"uid": { +"description": "Output only. A globally unique identifier (in UUID4 format) for the `ServiceProjectAttachment`.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ServiceProperties": { +"description": "Properties of an underlying cloud resource that can comprise a Service.", +"id": "ServiceProperties", +"properties": { +"gcpProject": { +"description": "Output only. The service project identifier that the underlying cloud resource resides in.", +"readOnly": true, +"type": "string" +}, +"location": { +"description": "Output only. The location that the underlying resource resides in, for example, us-west1.", +"readOnly": true, +"type": "string" +}, +"zone": { +"description": "Output only. The location that the underlying resource resides in if it is zonal, for example, us-west1-a).", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ServiceReference": { +"description": "Reference to an underlying networking resource that can comprise a Service.", +"id": "ServiceReference", +"properties": { +"uri": { +"description": "Output only. The underlying resource URI. For example, URI of Forwarding Rule, URL Map, and Backend Service.", +"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" +}, +"SpannerLocation": { +"id": "SpannerLocation", +"properties": { +"backupName": { +"description": "Set of backups used by the resource with name in the same format as what is available at http://table/spanner_automon.backup_metadata", +"items": { +"type": "string" +}, +"type": "array" +}, +"dbName": { +"description": "Set of databases used by the resource in format /span//", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Status": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +}, +"TenantProjectProxy": { +"id": "TenantProjectProxy", +"properties": { +"projectNumbers": { +"items": { +"type": "string" +}, +"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" +}, +"Workload": { +"description": "Workload is an App Hub data model that contains a discovered workload, which represents a binary deployment (such as managed instance groups (MIGs) and GKE deployments) that performs the smallest logical subset of business functionality.", +"id": "Workload", +"properties": { +"attributes": { +"$ref": "Attributes", +"description": "Optional. Consumer provided attributes." +}, +"createTime": { +"description": "Output only. Create time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. User-defined description of a Workload. Can have a maximum length of 2048 characters.", +"type": "string" +}, +"discoveredWorkload": { +"description": "Required. Immutable. The resource name of the original discovered workload.", +"type": "string" +}, +"displayName": { +"description": "Optional. User-defined name for the Workload. Can have a maximum length of 63 characters.", +"type": "string" +}, +"name": { +"description": "Identifier. The resource name of the Workload. Format: `\"projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}\"`", +"type": "string" +}, +"state": { +"description": "Output only. Workload state.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"DELETING", +"DETACHED" +], +"enumDescriptions": [ +"Unspecified state.", +"The Workload is being created.", +"The Workload is ready.", +"The Workload is being deleted.", +"The underlying compute resources have been deleted." +], +"readOnly": true, +"type": "string" +}, +"uid": { +"description": "Output only. A universally unique identifier (UUID) for the `Workload` in the UUID4 format.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Update time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"workloadProperties": { +"$ref": "WorkloadProperties", +"description": "Output only. Properties of an underlying compute resource represented by the Workload. These are immutable.", +"readOnly": true +}, +"workloadReference": { +"$ref": "WorkloadReference", +"description": "Output only. Reference of an underlying compute resource represented by the Workload. These are immutable.", +"readOnly": true +} +}, +"type": "object" +}, +"WorkloadProperties": { +"description": "Properties of an underlying compute resource represented by the Workload.", +"id": "WorkloadProperties", +"properties": { +"gcpProject": { +"description": "Output only. The service project identifier that the underlying cloud resource resides in. Empty for non-cloud resources.", +"readOnly": true, +"type": "string" +}, +"location": { +"description": "Output only. The location that the underlying compute resource resides in (for example, us-west1).", +"readOnly": true, +"type": "string" +}, +"zone": { +"description": "Output only. The location that the underlying compute resource resides in if it is zonal (for example, us-west1-a).", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"WorkloadReference": { +"description": "Reference of an underlying compute resource represented by the Workload.", +"id": "WorkloadReference", +"properties": { +"uri": { +"description": "Output only. The underlying compute resource uri.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ZoneConfiguration": { +"id": "ZoneConfiguration", +"properties": { +"zone": { +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "App Hub 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/area120tables.v1alpha1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/area120tables.v1alpha1.json new file mode 100644 index 0000000000000000000000000000000000000000..1c383fac562e6e8636385c28d5bf545e98e60834 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/area120tables.v1alpha1.json @@ -0,0 +1,998 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/drive": { +"description": "See, edit, create, and delete all of your Google Drive files" +}, +"https://www.googleapis.com/auth/drive.file": { +"description": "See, edit, create, and delete only the specific Google Drive files you use with this app" +}, +"https://www.googleapis.com/auth/drive.readonly": { +"description": "See and download all your Google Drive files" +}, +"https://www.googleapis.com/auth/spreadsheets": { +"description": "See, edit, create, and delete all your Google Sheets spreadsheets" +}, +"https://www.googleapis.com/auth/spreadsheets.readonly": { +"description": "See all your Google Sheets spreadsheets" +}, +"https://www.googleapis.com/auth/tables": { +"description": "See, edit, create, and delete your tables in Tables by Area 120" +} +} +} +}, +"basePath": "", +"baseUrl": "https://area120tables.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Area120 Tables", +"description": "", +"discoveryVersion": "v1", +"documentationLink": "https://support.google.com/area120-tables/answer/10011390", +"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": "area120tables:v1alpha1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://area120tables.mtls.googleapis.com/", +"name": "area120tables", +"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": { +"tables": { +"methods": { +"get": { +"description": "Gets a table. Returns NOT_FOUND if the table does not exist.", +"flatPath": "v1alpha1/tables/{tablesId}", +"httpMethod": "GET", +"id": "area120tables.tables.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the table to retrieve. Format: tables/{table}", +"location": "path", +"pattern": "^tables/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+name}", +"response": { +"$ref": "Table" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.readonly", +"https://www.googleapis.com/auth/spreadsheets", +"https://www.googleapis.com/auth/spreadsheets.readonly", +"https://www.googleapis.com/auth/tables" +] +}, +"list": { +"description": "Lists tables for the user.", +"flatPath": "v1alpha1/tables", +"httpMethod": "GET", +"id": "area120tables.tables.list", +"parameterOrder": [], +"parameters": { +"orderBy": { +"description": "Optional. Sorting order for the list of tables on createTime/updateTime.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of tables to return. The service may return fewer than this value. If unspecified, at most 20 tables 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 `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" +} +}, +"path": "v1alpha1/tables", +"response": { +"$ref": "ListTablesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.readonly", +"https://www.googleapis.com/auth/spreadsheets", +"https://www.googleapis.com/auth/spreadsheets.readonly", +"https://www.googleapis.com/auth/tables" +] +} +}, +"resources": { +"rows": { +"methods": { +"batchCreate": { +"description": "Creates multiple rows.", +"flatPath": "v1alpha1/tables/{tablesId}/rows:batchCreate", +"httpMethod": "POST", +"id": "area120tables.tables.rows.batchCreate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent table where the rows will be created. Format: tables/{table}", +"location": "path", +"pattern": "^tables/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+parent}/rows:batchCreate", +"request": { +"$ref": "BatchCreateRowsRequest" +}, +"response": { +"$ref": "BatchCreateRowsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/spreadsheets", +"https://www.googleapis.com/auth/tables" +] +}, +"batchDelete": { +"description": "Deletes multiple rows.", +"flatPath": "v1alpha1/tables/{tablesId}/rows:batchDelete", +"httpMethod": "POST", +"id": "area120tables.tables.rows.batchDelete", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent table shared by all rows being deleted. Format: tables/{table}", +"location": "path", +"pattern": "^tables/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+parent}/rows:batchDelete", +"request": { +"$ref": "BatchDeleteRowsRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/spreadsheets", +"https://www.googleapis.com/auth/tables" +] +}, +"batchUpdate": { +"description": "Updates multiple rows.", +"flatPath": "v1alpha1/tables/{tablesId}/rows:batchUpdate", +"httpMethod": "POST", +"id": "area120tables.tables.rows.batchUpdate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent table shared by all rows being updated. Format: tables/{table}", +"location": "path", +"pattern": "^tables/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+parent}/rows:batchUpdate", +"request": { +"$ref": "BatchUpdateRowsRequest" +}, +"response": { +"$ref": "BatchUpdateRowsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/spreadsheets", +"https://www.googleapis.com/auth/tables" +] +}, +"create": { +"description": "Creates a row.", +"flatPath": "v1alpha1/tables/{tablesId}/rows", +"httpMethod": "POST", +"id": "area120tables.tables.rows.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent table where this row will be created. Format: tables/{table}", +"location": "path", +"pattern": "^tables/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Optional. Column key to use for values in the row. Defaults to user entered name.", +"enum": [ +"VIEW_UNSPECIFIED", +"COLUMN_ID_VIEW" +], +"enumDescriptions": [ +"Defaults to user entered text.", +"Uses internally generated column id to identify values." +], +"location": "query", +"type": "string" +} +}, +"path": "v1alpha1/{+parent}/rows", +"request": { +"$ref": "Row" +}, +"response": { +"$ref": "Row" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/spreadsheets", +"https://www.googleapis.com/auth/tables" +] +}, +"delete": { +"description": "Deletes a row.", +"flatPath": "v1alpha1/tables/{tablesId}/rows/{rowsId}", +"httpMethod": "DELETE", +"id": "area120tables.tables.rows.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the row to delete. Format: tables/{table}/rows/{row}", +"location": "path", +"pattern": "^tables/[^/]+/rows/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/spreadsheets", +"https://www.googleapis.com/auth/tables" +] +}, +"get": { +"description": "Gets a row. Returns NOT_FOUND if the row does not exist in the table.", +"flatPath": "v1alpha1/tables/{tablesId}/rows/{rowsId}", +"httpMethod": "GET", +"id": "area120tables.tables.rows.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the row to retrieve. Format: tables/{table}/rows/{row}", +"location": "path", +"pattern": "^tables/[^/]+/rows/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Optional. Column key to use for values in the row. Defaults to user entered name.", +"enum": [ +"VIEW_UNSPECIFIED", +"COLUMN_ID_VIEW" +], +"enumDescriptions": [ +"Defaults to user entered text.", +"Uses internally generated column id to identify values." +], +"location": "query", +"type": "string" +} +}, +"path": "v1alpha1/{+name}", +"response": { +"$ref": "Row" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.readonly", +"https://www.googleapis.com/auth/spreadsheets", +"https://www.googleapis.com/auth/spreadsheets.readonly", +"https://www.googleapis.com/auth/tables" +] +}, +"list": { +"description": "Lists rows in a table. Returns NOT_FOUND if the table does not exist.", +"flatPath": "v1alpha1/tables/{tablesId}/rows", +"httpMethod": "GET", +"id": "area120tables.tables.rows.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filter to only include resources matching the requirements. For more information, see [Filtering list results](https://support.google.com/area120-tables/answer/10503371).", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Sorting order for the list of rows on createTime/updateTime.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of rows to return. The service may return fewer than this value. If unspecified, at most 50 rows are returned. The maximum value is 1,000; values above 1,000 are coerced to 1,000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListRows` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListRows` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent table. Format: tables/{table}", +"location": "path", +"pattern": "^tables/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Optional. Column key to use for values in the row. Defaults to user entered name.", +"enum": [ +"VIEW_UNSPECIFIED", +"COLUMN_ID_VIEW" +], +"enumDescriptions": [ +"Defaults to user entered text.", +"Uses internally generated column id to identify values." +], +"location": "query", +"type": "string" +} +}, +"path": "v1alpha1/{+parent}/rows", +"response": { +"$ref": "ListRowsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.readonly", +"https://www.googleapis.com/auth/spreadsheets", +"https://www.googleapis.com/auth/spreadsheets.readonly", +"https://www.googleapis.com/auth/tables" +] +}, +"patch": { +"description": "Updates a row.", +"flatPath": "v1alpha1/tables/{tablesId}/rows/{rowsId}", +"httpMethod": "PATCH", +"id": "area120tables.tables.rows.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name of the row. Row names have the form `tables/{table}/rows/{row}`. The name is ignored when creating a row.", +"location": "path", +"pattern": "^tables/[^/]+/rows/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The list of fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"view": { +"description": "Optional. Column key to use for values in the row. Defaults to user entered name.", +"enum": [ +"VIEW_UNSPECIFIED", +"COLUMN_ID_VIEW" +], +"enumDescriptions": [ +"Defaults to user entered text.", +"Uses internally generated column id to identify values." +], +"location": "query", +"type": "string" +} +}, +"path": "v1alpha1/{+name}", +"request": { +"$ref": "Row" +}, +"response": { +"$ref": "Row" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/spreadsheets", +"https://www.googleapis.com/auth/tables" +] +} +} +} +} +}, +"workspaces": { +"methods": { +"get": { +"description": "Gets a workspace. Returns NOT_FOUND if the workspace does not exist.", +"flatPath": "v1alpha1/workspaces/{workspacesId}", +"httpMethod": "GET", +"id": "area120tables.workspaces.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the workspace to retrieve. Format: workspaces/{workspace}", +"location": "path", +"pattern": "^workspaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+name}", +"response": { +"$ref": "Workspace" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.readonly", +"https://www.googleapis.com/auth/spreadsheets", +"https://www.googleapis.com/auth/spreadsheets.readonly", +"https://www.googleapis.com/auth/tables" +] +}, +"list": { +"description": "Lists workspaces for the user.", +"flatPath": "v1alpha1/workspaces", +"httpMethod": "GET", +"id": "area120tables.workspaces.list", +"parameterOrder": [], +"parameters": { +"pageSize": { +"description": "The maximum number of workspaces to return. The service may return fewer than this value. If unspecified, at most 10 workspaces are returned. The maximum value is 25; values above 25 are coerced to 25.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListWorkspaces` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListWorkspaces` must match the call that provided the page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha1/workspaces", +"response": { +"$ref": "ListWorkspacesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.readonly", +"https://www.googleapis.com/auth/spreadsheets", +"https://www.googleapis.com/auth/spreadsheets.readonly", +"https://www.googleapis.com/auth/tables" +] +} +} +} +}, +"revision": "20240707", +"rootUrl": "https://area120tables.googleapis.com/", +"schemas": { +"BatchCreateRowsRequest": { +"description": "Request message for TablesService.BatchCreateRows.", +"id": "BatchCreateRowsRequest", +"properties": { +"requests": { +"description": "Required. The request message specifying the rows to create. A maximum of 500 rows can be created in a single batch.", +"items": { +"$ref": "CreateRowRequest" +}, +"type": "array" +} +}, +"type": "object" +}, +"BatchCreateRowsResponse": { +"description": "Response message for TablesService.BatchCreateRows.", +"id": "BatchCreateRowsResponse", +"properties": { +"rows": { +"description": "The created rows.", +"items": { +"$ref": "Row" +}, +"type": "array" +} +}, +"type": "object" +}, +"BatchDeleteRowsRequest": { +"description": "Request message for TablesService.BatchDeleteRows", +"id": "BatchDeleteRowsRequest", +"properties": { +"names": { +"description": "Required. The names of the rows to delete. All rows must belong to the parent table or else the entire batch will fail. A maximum of 500 rows can be deleted in a batch. Format: tables/{table}/rows/{row}", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"BatchUpdateRowsRequest": { +"description": "Request message for TablesService.BatchUpdateRows.", +"id": "BatchUpdateRowsRequest", +"properties": { +"requests": { +"description": "Required. The request messages specifying the rows to update. A maximum of 500 rows can be modified in a single batch.", +"items": { +"$ref": "UpdateRowRequest" +}, +"type": "array" +} +}, +"type": "object" +}, +"BatchUpdateRowsResponse": { +"description": "Response message for TablesService.BatchUpdateRows.", +"id": "BatchUpdateRowsResponse", +"properties": { +"rows": { +"description": "The updated rows.", +"items": { +"$ref": "Row" +}, +"type": "array" +} +}, +"type": "object" +}, +"ColumnDescription": { +"description": "Details on a column in the table.", +"id": "ColumnDescription", +"properties": { +"dataType": { +"description": "Data type of the column Supported types are auto_id, boolean, boolean_list, creator, create_timestamp, date, dropdown, location, integer, integer_list, number, number_list, person, person_list, tags, check_list, text, text_list, update_timestamp, updater, relationship, file_attachment_list. These types directly map to the column types supported on Tables website.", +"type": "string" +}, +"dateDetails": { +"$ref": "DateDetails", +"description": "Optional. Additional details about a date column." +}, +"id": { +"description": "Internal id for a column.", +"type": "string" +}, +"labels": { +"description": "Optional. Range of labeled values for the column. Some columns like tags and drop-downs limit the values to a set of possible values. We return the range of values in such cases to help clients implement better user data validation.", +"items": { +"$ref": "LabeledItem" +}, +"type": "array" +}, +"lookupDetails": { +"$ref": "LookupDetails", +"description": "Optional. Indicates that this is a lookup column whose value is derived from the relationship column specified in the details. Lookup columns can not be updated directly. To change the value you must update the associated relationship column." +}, +"multipleValuesDisallowed": { +"description": "Optional. Indicates whether or not multiple values are allowed for array types where such a restriction is possible.", +"type": "boolean" +}, +"name": { +"description": "column name", +"type": "string" +}, +"readonly": { +"description": "Optional. Indicates that values for the column cannot be set by the user.", +"type": "boolean" +}, +"relationshipDetails": { +"$ref": "RelationshipDetails", +"description": "Optional. Additional details about a relationship column. Specified when data_type is relationship." +} +}, +"type": "object" +}, +"CreateRowRequest": { +"description": "Request message for TablesService.CreateRow.", +"id": "CreateRowRequest", +"properties": { +"parent": { +"description": "Required. The parent table where this row will be created. Format: tables/{table}", +"type": "string" +}, +"row": { +"$ref": "Row", +"description": "Required. The row to create." +}, +"view": { +"description": "Optional. Column key to use for values in the row. Defaults to user entered name.", +"enum": [ +"VIEW_UNSPECIFIED", +"COLUMN_ID_VIEW" +], +"enumDescriptions": [ +"Defaults to user entered text.", +"Uses internally generated column id to identify values." +], +"type": "string" +} +}, +"type": "object" +}, +"DateDetails": { +"description": "Details about a date column.", +"id": "DateDetails", +"properties": { +"hasTime": { +"description": "Whether the date column includes time.", +"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" +}, +"LabeledItem": { +"description": "A single item in a labeled column.", +"id": "LabeledItem", +"properties": { +"id": { +"description": "Internal id associated with the item.", +"type": "string" +}, +"name": { +"description": "Display string as entered by user.", +"type": "string" +} +}, +"type": "object" +}, +"ListRowsResponse": { +"description": "Response message for TablesService.ListRows.", +"id": "ListRowsResponse", +"properties": { +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is empty, there are no subsequent pages.", +"type": "string" +}, +"rows": { +"description": "The rows from the specified table.", +"items": { +"$ref": "Row" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListTablesResponse": { +"description": "Response message for TablesService.ListTables.", +"id": "ListTablesResponse", +"properties": { +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is empty, there are no subsequent pages.", +"type": "string" +}, +"tables": { +"description": "The list of tables.", +"items": { +"$ref": "Table" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListWorkspacesResponse": { +"description": "Response message for TablesService.ListWorkspaces.", +"id": "ListWorkspacesResponse", +"properties": { +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is empty, there are no subsequent pages.", +"type": "string" +}, +"workspaces": { +"description": "The list of workspaces.", +"items": { +"$ref": "Workspace" +}, +"type": "array" +} +}, +"type": "object" +}, +"LookupDetails": { +"description": "Details about a lookup column whose value comes from the associated relationship.", +"id": "LookupDetails", +"properties": { +"relationshipColumn": { +"description": "The name of the relationship column associated with the lookup.", +"type": "string" +}, +"relationshipColumnId": { +"description": "The id of the relationship column.", +"type": "string" +} +}, +"type": "object" +}, +"RelationshipDetails": { +"description": "Details about a relationship column.", +"id": "RelationshipDetails", +"properties": { +"linkedTable": { +"description": "The name of the table this relationship is linked to.", +"type": "string" +} +}, +"type": "object" +}, +"Row": { +"description": "A single row in a table.", +"id": "Row", +"properties": { +"createTime": { +"description": "Time when the row was created.", +"format": "google-datetime", +"type": "string" +}, +"name": { +"description": "The resource name of the row. Row names have the form `tables/{table}/rows/{row}`. The name is ignored when creating a row.", +"type": "string" +}, +"updateTime": { +"description": "Time when the row was last updated.", +"format": "google-datetime", +"type": "string" +}, +"values": { +"additionalProperties": { +"type": "any" +}, +"description": "The values of the row. This is a map of column key to value. Key is user entered name(default) or the internal column id based on the view in the request.", +"type": "object" +} +}, +"type": "object" +}, +"SavedView": { +"description": "A saved view of a table. NextId: 3", +"id": "SavedView", +"properties": { +"id": { +"description": "Internal id associated with the saved view.", +"type": "string" +}, +"name": { +"description": "Display name of the saved view.", +"type": "string" +} +}, +"type": "object" +}, +"Table": { +"description": "A single table. NextId: 8", +"id": "Table", +"properties": { +"columns": { +"description": "List of columns in this table. Order of columns matches the display order.", +"items": { +"$ref": "ColumnDescription" +}, +"type": "array" +}, +"createTime": { +"description": "Time when the table was created.", +"format": "google-datetime", +"type": "string" +}, +"displayName": { +"description": "The human readable title of the table.", +"type": "string" +}, +"name": { +"description": "The resource name of the table. Table names have the form `tables/{table}`.", +"type": "string" +}, +"savedViews": { +"description": "Saved views for this table.", +"items": { +"$ref": "SavedView" +}, +"type": "array" +}, +"timeZone": { +"description": "The time zone of the table. IANA Time Zone Database time zone, e.g. \"America/New_York\".", +"type": "string" +}, +"updateTime": { +"description": "Time when the table was last updated excluding updates to individual rows", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"UpdateRowRequest": { +"description": "Request message for TablesService.UpdateRow.", +"id": "UpdateRowRequest", +"properties": { +"row": { +"$ref": "Row", +"description": "Required. The row to update." +}, +"updateMask": { +"description": "The list of fields to update.", +"format": "google-fieldmask", +"type": "string" +}, +"view": { +"description": "Optional. Column key to use for values in the row. Defaults to user entered name.", +"enum": [ +"VIEW_UNSPECIFIED", +"COLUMN_ID_VIEW" +], +"enumDescriptions": [ +"Defaults to user entered text.", +"Uses internally generated column id to identify values." +], +"type": "string" +} +}, +"type": "object" +}, +"Workspace": { +"description": "A single workspace.", +"id": "Workspace", +"properties": { +"createTime": { +"description": "Time when the workspace was created.", +"format": "google-datetime", +"type": "string" +}, +"displayName": { +"description": "The human readable title of the workspace.", +"type": "string" +}, +"name": { +"description": "The resource name of the workspace. Workspace names have the form `workspaces/{workspace}`.", +"type": "string" +}, +"tables": { +"description": "The list of tables in the workspace.", +"items": { +"$ref": "Table" +}, +"type": "array" +}, +"updateTime": { +"description": "Time when the workspace was last updated.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Area120 Tables 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/areainsights.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/areainsights.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..725926bc53e10ca83c7f655c344af638278f6daf --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/areainsights.v1.json @@ -0,0 +1,402 @@ +{ +"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://areainsights.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Area Insights", +"description": "Places Insights API.", +"discoveryVersion": "v1", +"documentationLink": "https://g3doc.corp.google.com/geo/platform/area_insights/README.md?cl=head", +"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": "areainsights:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://areainsights.mtls.googleapis.com/", +"name": "areainsights", +"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": { +"v1": { +"methods": { +"computeInsights": { +"description": "Compute Insights RPC This method lets you retrieve insights about areas using a variaty of filter such as: area, place type, operating status, price level and ratings. Currently \"count\" and \"places\" insights are supported. With \"count\" insights you can answer questions such as \"How many restaurant are located in California that are operational, are inexpensive and have an average rating of at least 4 stars\" (see `insight` enum for more details). With \"places\" insights, you can determine which places match the requested filter. Clients can then use those place resource names to fetch more details about each individual place using the Places API.", +"flatPath": "v1:computeInsights", +"httpMethod": "POST", +"id": "areainsights.computeInsights", +"parameterOrder": [], +"parameters": {}, +"path": "v1:computeInsights", +"request": { +"$ref": "ComputeInsightsRequest" +}, +"response": { +"$ref": "ComputeInsightsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +}, +"revision": "20241211", +"rootUrl": "https://areainsights.googleapis.com/", +"schemas": { +"Circle": { +"description": "A circle is defined by a center point and radius in meters.", +"id": "Circle", +"properties": { +"latLng": { +"$ref": "LatLng", +"description": "The latitude and longitude of the center of the circle." +}, +"place": { +"description": "The Place resource name of the center of the circle. Only point places are supported.", +"type": "string" +}, +"radius": { +"description": "Optional. The radius of the circle in meters", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ComputeInsightsRequest": { +"description": "Request for the ComputeInsights RPC.", +"id": "ComputeInsightsRequest", +"properties": { +"filter": { +"$ref": "Filter", +"description": "Required. Insight filter." +}, +"insights": { +"description": "Required. Insights to compute. Currently only INSIGHT_COUNT and INSIGHT_PLACES are supported.", +"items": { +"enum": [ +"INSIGHT_UNSPECIFIED", +"INSIGHT_COUNT", +"INSIGHT_PLACES" +], +"enumDescriptions": [ +"Not Specified.", +"Count insight. When this insight is specified ComputeInsights returns the number of places that match the specified filter criteria. ``` For example if the request is: ComputeInsightsRequest { insights: INSIGHT_COUNT filter { location_filter {region: } type_filter {included_types: \"restaurant\"} operating_status: OPERATING_STATUS_OPERATIONAL price_levels: PRICE_LEVEL_FREE price_levels: PRICE_LEVEL_INEXPENSIVE min_rating: 4.0 } } The method will return the count of restaurants in California that are operational, with price level free or inexpensive and have an average rating of at least 4 starts. Example response: ComputeInsightsResponse { count: } ```", +"Return Places When this insight is specified ComputeInsights returns Places that match the specified filter criteria. ``` For example if the request is: ComputeInsightsRequest { insights: INSIGHT_PLACES filter { location_filter {region: } type_filter {included_types: \"restaurant\"} operating_status: OPERATING_STATUS_OPERATIONAL price_levels: PRICE_LEVEL_FREE price_levels: PRICE_LEVEL_INEXPENSIVE min_rating: 4.0 } } The method will return list of places of restaurants in California that are operational, with price level free or inexpensive and have an average rating of at least 4 stars. Example response: ComputeInsightsResponse { place_insights { place: \"places/ABC\" } place_insights { place: \"places/PQR\" } place_insights { place: \"places/XYZ\" } } ```" +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ComputeInsightsResponse": { +"description": "Response for the ComputeInsights RPC.", +"id": "ComputeInsightsResponse", +"properties": { +"count": { +"description": "Result for Insights.INSIGHT_COUNT.", +"format": "int64", +"type": "string" +}, +"placeInsights": { +"description": "Result for Insights.INSIGHT_PLACES.", +"items": { +"$ref": "PlaceInsight" +}, +"type": "array" +} +}, +"type": "object" +}, +"CustomArea": { +"description": "Custom Area.", +"id": "CustomArea", +"properties": { +"polygon": { +"$ref": "Polygon", +"description": "Required. The custom area represented as a polygon" +} +}, +"type": "object" +}, +"Filter": { +"description": "Filters for the ComputeInsights RPC.", +"id": "Filter", +"properties": { +"locationFilter": { +"$ref": "LocationFilter", +"description": "Required. Restricts results to places which are located in the area specified by location filters." +}, +"operatingStatus": { +"description": "Optional. Restricts results to places whose operating status is included on this list. If operating_status is not set, OPERATING_STATUS_OPERATIONAL is used as default.", +"items": { +"enum": [ +"OPERATING_STATUS_UNSPECIFIED", +"OPERATING_STATUS_OPERATIONAL", +"OPERATING_STATUS_PERMANENTLY_CLOSED", +"OPERATING_STATUS_TEMPORARILY_CLOSED" +], +"enumDescriptions": [ +"Not Specified.", +"The place is operational and its open during its defined hours.", +"The Place is no longer in business.", +"The Place is temporarily closed and expected to reopen in the future." +], +"type": "string" +}, +"type": "array" +}, +"priceLevels": { +"description": "Optional. Restricts results to places whose price level is included on this list. If price_level is not set, all price levels are included in the results.", +"items": { +"enum": [ +"PRICE_LEVEL_UNSPECIFIED", +"PRICE_LEVEL_FREE", +"PRICE_LEVEL_INEXPENSIVE", +"PRICE_LEVEL_MODERATE", +"PRICE_LEVEL_EXPENSIVE", +"PRICE_LEVEL_VERY_EXPENSIVE" +], +"enumDescriptions": [ +"Place price level is unspecified or unknown.", +"Place provides free services.", +"Place provides inexpensive services.", +"Place provides moderately priced services.", +"Place provides expensive services.", +"Place provides very expensive services." +], +"type": "string" +}, +"type": "array" +}, +"ratingFilter": { +"$ref": "RatingFilter", +"description": "Optional. Restricts results to places whose average user ratings are in the range specified by rating_filter. If rating_filter is not set, all ratings are included in the result." +}, +"typeFilter": { +"$ref": "TypeFilter", +"description": "Required. Place type filters." +} +}, +"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" +}, +"LocationFilter": { +"description": "Location filters. Specifies the area of interest for the insight.", +"id": "LocationFilter", +"properties": { +"circle": { +"$ref": "Circle", +"description": "Area as a circle." +}, +"customArea": { +"$ref": "CustomArea", +"description": "Custom area specified by a polygon." +}, +"region": { +"$ref": "Region", +"description": "Area as region." +} +}, +"type": "object" +}, +"PlaceInsight": { +"description": "Holds information about a place", +"id": "PlaceInsight", +"properties": { +"place": { +"description": "The unique identifier of the place. This resource name can be used to retrieve details about the place using the [Places API](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places/get).", +"type": "string" +} +}, +"type": "object" +}, +"Polygon": { +"description": "A polygon is represented by a series of connected coordinates in an counterclockwise ordered sequence. The coordinates form a closed loop and define a filled region. The first and last coordinates are equivalent, and they must contain identical values. The format is a simplified version of GeoJSON polygons (we only support one counterclockwise exterior ring).", +"id": "Polygon", +"properties": { +"coordinates": { +"description": "Optional. The coordinates that define the polygon.", +"items": { +"$ref": "LatLng" +}, +"type": "array" +} +}, +"type": "object" +}, +"RatingFilter": { +"description": "Average user rating filters.", +"id": "RatingFilter", +"properties": { +"maxRating": { +"description": "Optional. Restricts results to places whose average user rating is strictly less than or equal to max_rating. Values must be between 1.0 and 5.0.", +"format": "float", +"type": "number" +}, +"minRating": { +"description": "Optional. Restricts results to places whose average user rating is greater than or equal to min_rating. Values must be between 1.0 and 5.0.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"Region": { +"description": "A region is a geographic boundary such as: cities, postal codes, counties, states, etc.", +"id": "Region", +"properties": { +"place": { +"description": "The unique identifier of a specific geographic region.", +"type": "string" +} +}, +"type": "object" +}, +"TypeFilter": { +"description": "Place type filters. Only Place types from [Table a](https://developers.google.com/maps/documentation/places/web-service/place-types#table-a) are supported. A place can only have a single primary type associated with it. For example, the primary type might be \"mexican_restaurant\" or \"steak_house\". Use included_primary_types and excluded_primary_types to filter the results on a place's primary type. A place can also have multiple type values associated with it. For example a restaurant might have the following types: \"seafood_restaurant\", \"restaurant\", \"food\", \"point_of_interest\", \"establishment\". Use included_types and excluded_types to filter the results on the list of types associated with a place. If a search is specified with multiple type restrictions, only places that satisfy all of the restrictions are returned. For example, if you specify {\"included_types\": [\"restaurant\"], \"excluded_primary_types\": [\"steak_house\"]}, the returned places provide \"restaurant\" related services but do not operate primarily as a \"steak_house\". If there are any conflicting types, i.e. a type appears in both included_types and excluded_types types or included_primary_types and excluded_primary_types, an INVALID_ARGUMENT error is returned. One of included_types or included_primary_types must be set.", +"id": "TypeFilter", +"properties": { +"excludedPrimaryTypes": { +"description": "Optional. Excluded primary Place types.", +"items": { +"type": "string" +}, +"type": "array" +}, +"excludedTypes": { +"description": "Optional. Excluded Place types.", +"items": { +"type": "string" +}, +"type": "array" +}, +"includedPrimaryTypes": { +"description": "Optional. Included primary Place types.", +"items": { +"type": "string" +}, +"type": "array" +}, +"includedTypes": { +"description": "Optional. Included Place types.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Places Insights 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/backupdr.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/backupdr.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..ad2dc54fe06ad6cf5067876873535ea4b238d3a3 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/backupdr.v1.json @@ -0,0 +1,4722 @@ +{ +"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://backupdr.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Backupdr", +"description": "", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/backup-disaster-recovery", +"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": "backupdr:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://backupdr.mtls.googleapis.com/", +"name": "backupdr", +"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": "backupdr.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": "backupdr.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": { +"backupPlanAssociations": { +"methods": { +"create": { +"description": "Create a BackupPlanAssociation", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupPlanAssociations", +"httpMethod": "POST", +"id": "backupdr.projects.locations.backupPlanAssociations.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"backupPlanAssociationId": { +"description": "Required. The name of the backup plan association to create. The name must be unique for the specified project and location.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The backup plan association project and location in the format `projects/{project_id}/locations/{location}`. In Cloud BackupDR locations map to GCP regions, for example **us-central1**.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/backupPlanAssociations", +"request": { +"$ref": "BackupPlanAssociation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single BackupPlanAssociation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupPlanAssociations/{backupPlanAssociationsId}", +"httpMethod": "DELETE", +"id": "backupdr.projects.locations.backupPlanAssociations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the backup plan association resource, in the format `projects/{project}/locations/{location}/backupPlanAssociations/{backupPlanAssociationId}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/backupPlanAssociations/[^/]+$", +"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 BackupPlanAssociation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupPlanAssociations/{backupPlanAssociationsId}", +"httpMethod": "GET", +"id": "backupdr.projects.locations.backupPlanAssociations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the backup plan association resource, in the format `projects/{project}/locations/{location}/backupPlanAssociations/{backupPlanAssociationId}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/backupPlanAssociations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "BackupPlanAssociation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists BackupPlanAssociations in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupPlanAssociations", +"httpMethod": "GET", +"id": "backupdr.projects.locations.backupPlanAssociations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filtering 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 project and location for which to retrieve backup Plan Associations information, in the format `projects/{project_id}/locations/{location}`. In Cloud BackupDR, locations map to GCP regions, for example **us-central1**. To retrieve backup plan associations for all locations, use \"-\" for the `{location}` value.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/backupPlanAssociations", +"response": { +"$ref": "ListBackupPlanAssociationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"triggerBackup": { +"description": "Triggers a new Backup.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupPlanAssociations/{backupPlanAssociationsId}:triggerBackup", +"httpMethod": "POST", +"id": "backupdr.projects.locations.backupPlanAssociations.triggerBackup", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the backup plan association resource, in the format `projects/{project}/locations/{location}/backupPlanAssociations/{backupPlanAssociationId}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/backupPlanAssociations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:triggerBackup", +"request": { +"$ref": "TriggerBackupRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"backupPlans": { +"methods": { +"create": { +"description": "Create a BackupPlan", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupPlans", +"httpMethod": "POST", +"id": "backupdr.projects.locations.backupPlans.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"backupPlanId": { +"description": "Required. The name of the `BackupPlan` to create. The name must be unique for the specified project and location.The name must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens. Pattern, /a-z{,62}/.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The `BackupPlan` project and location in the format `projects/{project}/locations/{location}`. In Cloud BackupDR locations map to GCP regions, for example **us-central1**.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/backupPlans", +"request": { +"$ref": "BackupPlan" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single BackupPlan.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupPlans/{backupPlansId}", +"httpMethod": "DELETE", +"id": "backupdr.projects.locations.backupPlans.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the `BackupPlan` to delete. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/backupPlans/[^/]+$", +"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 BackupPlan.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupPlans/{backupPlansId}", +"httpMethod": "GET", +"id": "backupdr.projects.locations.backupPlans.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the `BackupPlan` to retrieve. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/backupPlans/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "BackupPlan" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists BackupPlans in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupPlans", +"httpMethod": "GET", +"id": "backupdr.projects.locations.backupPlans.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Field match expression used to filter the results.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Field by which to sort the results.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of `BackupPlans` to return in a single response. If not specified, a default value will be chosen by the service. Note that the response may include a partial list and a caller should only rely on the response's next_page_token to determine if there are more instances left to be queried.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The value of next_page_token received from a previous `ListBackupPlans` call. Provide this to retrieve the subsequent page in a multi-page list of results. When paginating, all other parameters provided to `ListBackupPlans` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The project and location for which to retrieve `BackupPlans` information. Format: `projects/{project}/locations/{location}`. In Cloud BackupDR, locations map to GCP regions, for e.g. **us-central1**. To retrieve backup plans for all locations, use \"-\" for the `{location}` value.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/backupPlans", +"response": { +"$ref": "ListBackupPlansResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"backupVaults": { +"methods": { +"create": { +"description": "Creates a new BackupVault in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults", +"httpMethod": "POST", +"id": "backupdr.projects.locations.backupVaults.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"backupVaultId": { +"description": "Required. ID of the requesting object If auto-generating ID server-side, remove this field and backup_vault_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. Only validate the request, but do not perform mutations. The default is 'false'.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/backupVaults", +"request": { +"$ref": "BackupVault" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a BackupVault.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}", +"httpMethod": "DELETE", +"id": "backupdr.projects.locations.backupVaults.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "Optional. If true and the BackupVault is not found, the request will succeed but no action will be taken.", +"location": "query", +"type": "boolean" +}, +"etag": { +"description": "The current etag of the backup vault. If an etag is provided and does not match the current etag of the connection, deletion will be blocked.", +"location": "query", +"type": "string" +}, +"force": { +"description": "Optional. If set to true, any data source from this backup vault will also be deleted.", +"location": "query", +"type": "boolean" +}, +"ignoreBackupPlanReferences": { +"description": "Optional. If set to true, backupvault deletion will proceed even if there are backup plans referencing the backupvault. The default is 'false'.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+$", +"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. Only validate the request, but do not perform mutations. The default is 'false'.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"fetchUsable": { +"description": "FetchUsableBackupVaults lists usable BackupVaults in a given project and location. Usable BackupVault are the ones that user has backupdr.backupVaults.get permission.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults:fetchUsable", +"httpMethod": "GET", +"id": "backupdr.projects.locations.backupVaults.fetchUsable", +"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 project and location for which to retrieve backupvault stores information, in the format 'projects/{project_id}/locations/{location}'. In Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**. To retrieve backupvault stores for all locations, use \"-\" for the '{location}' value.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/backupVaults:fetchUsable", +"response": { +"$ref": "FetchUsableBackupVaultsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a BackupVault.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}", +"httpMethod": "GET", +"id": "backupdr.projects.locations.backupVaults.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the backupvault store resource name, in the format 'projects/{project_id}/locations/{location}/backupVaults/{resource_name}'", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Optional. Reserved for future use to provide a BASIC & FULL view of Backup Vault", +"enum": [ +"BACKUP_VAULT_VIEW_UNSPECIFIED", +"BACKUP_VAULT_VIEW_BASIC", +"BACKUP_VAULT_VIEW_FULL" +], +"enumDescriptions": [ +"If the value is not set, the default 'FULL' view is used.", +"Includes basic data about the Backup Vault, but not the full contents.", +"Includes all data about the Backup Vault. This is the default value (for both ListBackupVaults and GetBackupVault)." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "BackupVault" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists BackupVaults in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults", +"httpMethod": "GET", +"id": "backupdr.projects.locations.backupVaults.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 project and location for which to retrieve backupvault stores information, in the format 'projects/{project_id}/locations/{location}'. In Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**. To retrieve backupvault stores for all locations, use \"-\" for the '{location}' value.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Optional. Reserved for future use to provide a BASIC & FULL view of Backup Vault.", +"enum": [ +"BACKUP_VAULT_VIEW_UNSPECIFIED", +"BACKUP_VAULT_VIEW_BASIC", +"BACKUP_VAULT_VIEW_FULL" +], +"enumDescriptions": [ +"If the value is not set, the default 'FULL' view is used.", +"Includes basic data about the Backup Vault, but not the full contents.", +"Includes all data about the Backup Vault. This is the default value (for both ListBackupVaults and GetBackupVault)." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/backupVaults", +"response": { +"$ref": "ListBackupVaultsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the settings of a BackupVault.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}", +"httpMethod": "PATCH", +"id": "backupdr.projects.locations.backupVaults.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "Optional. If set to true, will not check plan duration against backup vault enforcement duration.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Output only. Identifier. Name of the backup vault to create. It must have the format`\"projects/{project}/locations/{location}/backupVaults/{backupvault}\"`. `{backupvault}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the project and location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+$", +"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 BackupVault 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 the request will fail.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. Only validate the request, but do not perform mutations. The default is 'false'.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "BackupVault" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns the caller's permissions on a BackupVault resource. A caller is not required to have Google IAM permission to make this request.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}:testIamPermissions", +"httpMethod": "POST", +"id": "backupdr.projects.locations.backupVaults.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/[^/]+/backupVaults/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"dataSources": { +"methods": { +"abandonBackup": { +"description": "Internal only. Abandons a backup.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/dataSources/{dataSourcesId}:abandonBackup", +"httpMethod": "POST", +"id": "backupdr.projects.locations.backupVaults.dataSources.abandonBackup", +"parameterOrder": [ +"dataSource" +], +"parameters": { +"dataSource": { +"description": "Required. The resource name of the instance, in the format 'projects/*/locations/*/backupVaults/*/dataSources/'.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/dataSources/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+dataSource}:abandonBackup", +"request": { +"$ref": "AbandonBackupRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"fetchAccessToken": { +"description": "Internal only. Fetch access token for a given data source.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/dataSources/{dataSourcesId}:fetchAccessToken", +"httpMethod": "POST", +"id": "backupdr.projects.locations.backupVaults.dataSources.fetchAccessToken", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name for the location for which static IPs should be returned. Must be in the format 'projects/*/locations/*/backupVaults/*/dataSources'.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/dataSources/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:fetchAccessToken", +"request": { +"$ref": "FetchAccessTokenRequest" +}, +"response": { +"$ref": "FetchAccessTokenResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"finalizeBackup": { +"description": "Internal only. Finalize a backup that was started by a call to InitiateBackup.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/dataSources/{dataSourcesId}:finalizeBackup", +"httpMethod": "POST", +"id": "backupdr.projects.locations.backupVaults.dataSources.finalizeBackup", +"parameterOrder": [ +"dataSource" +], +"parameters": { +"dataSource": { +"description": "Required. The resource name of the instance, in the format 'projects/*/locations/*/backupVaults/*/dataSources/'.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/dataSources/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+dataSource}:finalizeBackup", +"request": { +"$ref": "FinalizeBackupRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a DataSource.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/dataSources/{dataSourcesId}", +"httpMethod": "GET", +"id": "backupdr.projects.locations.backupVaults.dataSources.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the data source resource name, in the format 'projects/{project_id}/locations/{location}/backupVaults/{resource_name}/dataSource/{resource_name}'", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/dataSources/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "DataSource" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"initiateBackup": { +"description": "Internal only. Initiates a backup.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/dataSources/{dataSourcesId}:initiateBackup", +"httpMethod": "POST", +"id": "backupdr.projects.locations.backupVaults.dataSources.initiateBackup", +"parameterOrder": [ +"dataSource" +], +"parameters": { +"dataSource": { +"description": "Required. The resource name of the instance, in the format 'projects/*/locations/*/backupVaults/*/dataSources/'.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/dataSources/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+dataSource}:initiateBackup", +"request": { +"$ref": "InitiateBackupRequest" +}, +"response": { +"$ref": "InitiateBackupResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists DataSources in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/dataSources", +"httpMethod": "GET", +"id": "backupdr.projects.locations.backupVaults.dataSources.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 project and location for which to retrieve data sources information, in the format 'projects/{project_id}/locations/{location}'. In Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**. To retrieve data sources for all locations, use \"-\" for the '{location}' value.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/dataSources", +"response": { +"$ref": "ListDataSourcesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the settings of a DataSource.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/dataSources/{dataSourcesId}", +"httpMethod": "PATCH", +"id": "backupdr.projects.locations.backupVaults.dataSources.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "Optional. Enable upsert.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Output only. Identifier. Name of the datasource to create. It must have the format`\"projects/{project}/locations/{location}/backupVaults/{backupvault}/dataSources/{datasource}\"`. `{datasource}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the backup vault.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/dataSources/[^/]+$", +"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 DataSource 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 the request will fail.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "DataSource" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"remove": { +"description": "Deletes a DataSource. This is a custom method instead of a standard delete method because external clients will not delete DataSources except for BackupDR backup appliances.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/dataSources/{dataSourcesId}:remove", +"httpMethod": "POST", +"id": "backupdr.projects.locations.backupVaults.dataSources.remove", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/dataSources/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:remove", +"request": { +"$ref": "RemoveDataSourceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setInternalStatus": { +"description": "Sets the internal status of a DataSource.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/dataSources/{dataSourcesId}:setInternalStatus", +"httpMethod": "POST", +"id": "backupdr.projects.locations.backupVaults.dataSources.setInternalStatus", +"parameterOrder": [ +"dataSource" +], +"parameters": { +"dataSource": { +"description": "Required. The resource name of the instance, in the format 'projects/*/locations/*/backupVaults/*/dataSources/'.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/dataSources/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+dataSource}:setInternalStatus", +"request": { +"$ref": "SetInternalStatusRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"backups": { +"methods": { +"delete": { +"description": "Deletes a Backup.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/dataSources/{dataSourcesId}/backups/{backupsId}", +"httpMethod": "DELETE", +"id": "backupdr.projects.locations.backupVaults.dataSources.backups.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/dataSources/[^/]+/backups/[^/]+$", +"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 Backup.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/dataSources/{dataSourcesId}/backups/{backupsId}", +"httpMethod": "GET", +"id": "backupdr.projects.locations.backupVaults.dataSources.backups.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the data source resource name, in the format 'projects/{project_id}/locations/{location}/backupVaults/{backupVault}/dataSources/{datasource}/backups/{backup}'", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/dataSources/[^/]+/backups/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Optional. Reserved for future use to provide a BASIC & FULL view of Backup resource.", +"enum": [ +"BACKUP_VIEW_UNSPECIFIED", +"BACKUP_VIEW_BASIC", +"BACKUP_VIEW_FULL" +], +"enumDescriptions": [ +"If the value is not set, the default 'FULL' view is used.", +"Includes basic data about the Backup, but not the full contents.", +"Includes all data about the Backup. This is the default value (for both ListBackups and GetBackup)." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Backup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Backups in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/dataSources/{dataSourcesId}/backups", +"httpMethod": "GET", +"id": "backupdr.projects.locations.backupVaults.dataSources.backups.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 project and location for which to retrieve backup information, in the format 'projects/{project_id}/locations/{location}'. In Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**. To retrieve data sources for all locations, use \"-\" for the '{location}' value.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/dataSources/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Optional. Reserved for future use to provide a BASIC & FULL view of Backup resource.", +"enum": [ +"BACKUP_VIEW_UNSPECIFIED", +"BACKUP_VIEW_BASIC", +"BACKUP_VIEW_FULL" +], +"enumDescriptions": [ +"If the value is not set, the default 'FULL' view is used.", +"Includes basic data about the Backup, but not the full contents.", +"Includes all data about the Backup. This is the default value (for both ListBackups and GetBackup)." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/backups", +"response": { +"$ref": "ListBackupsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the settings of a Backup.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/dataSources/{dataSourcesId}/backups/{backupsId}", +"httpMethod": "PATCH", +"id": "backupdr.projects.locations.backupVaults.dataSources.backups.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Identifier. Name of the backup to create. It must have the format`\"projects//locations//backupVaults//dataSources/{datasource}/backups/{backup}\"`. `{backup}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the datasource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/dataSources/[^/]+/backups/[^/]+$", +"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 Backup 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 the request will fail.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Backup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"restore": { +"description": "Restore from a Backup", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/dataSources/{dataSourcesId}/backups/{backupsId}:restore", +"httpMethod": "POST", +"id": "backupdr.projects.locations.backupVaults.dataSources.backups.restore", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Backup instance, in the format 'projects/*/locations/*/backupVaults/*/dataSources/*/backups/'.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/dataSources/[^/]+/backups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:restore", +"request": { +"$ref": "RestoreBackupRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"managementServers": { +"methods": { +"create": { +"description": "Creates a new ManagementServer in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/managementServers", +"httpMethod": "POST", +"id": "backupdr.projects.locations.managementServers.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"managementServerId": { +"description": "Required. The name of the management server to create. The name must be unique for the specified project and location.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The management server project and location in the format 'projects/{project_id}/locations/{location}'. In Cloud Backup and DR locations map to Google Cloud regions, for example **us-central1**.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/managementServers", +"request": { +"$ref": "ManagementServer" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single ManagementServer.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/managementServers/{managementServersId}", +"httpMethod": "DELETE", +"id": "backupdr.projects.locations.managementServers.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/managementServers/[^/]+$", +"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 ManagementServer.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/managementServers/{managementServersId}", +"httpMethod": "GET", +"id": "backupdr.projects.locations.managementServers.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the management server resource name, in the format 'projects/{project_id}/locations/{location}/managementServers/{resource_name}'", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/managementServers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ManagementServer" +}, +"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}/managementServers/{managementServersId}:getIamPolicy", +"httpMethod": "GET", +"id": "backupdr.projects.locations.managementServers.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/[^/]+/managementServers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists ManagementServers in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/managementServers", +"httpMethod": "GET", +"id": "backupdr.projects.locations.managementServers.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 project and location for which to retrieve management servers information, in the format 'projects/{project_id}/locations/{location}'. In Cloud BackupDR, locations map to Google Cloud regions, for example **us-central1**. To retrieve management servers for all locations, use \"-\" for the '{location}' value.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/managementServers", +"response": { +"$ref": "ListManagementServersResponse" +}, +"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}/managementServers/{managementServersId}:setIamPolicy", +"httpMethod": "POST", +"id": "backupdr.projects.locations.managementServers.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/[^/]+/managementServers/[^/]+$", +"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}/managementServers/{managementServersId}:testIamPermissions", +"httpMethod": "POST", +"id": "backupdr.projects.locations.managementServers.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/[^/]+/managementServers/[^/]+$", +"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": "backupdr.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": "backupdr.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": "backupdr.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": "backupdr.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" +] +} +} +}, +"serviceConfig": { +"methods": { +"initialize": { +"description": "Initializes the service related config for a project.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serviceConfig:initialize", +"httpMethod": "POST", +"id": "backupdr.projects.locations.serviceConfig.initialize", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the serviceConfig used to initialize the service. Format: `projects/{project_id}/locations/{location}/serviceConfig`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/serviceConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:initialize", +"request": { +"$ref": "InitializeServiceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20241204", +"rootUrl": "https://backupdr.googleapis.com/", +"schemas": { +"AbandonBackupRequest": { +"description": "request message for AbandonBackup.", +"id": "AbandonBackupRequest", +"properties": { +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"type": "string" +} +}, +"type": "object" +}, +"AcceleratorConfig": { +"description": "A specification of the type and number of accelerator cards attached to the instance.", +"id": "AcceleratorConfig", +"properties": { +"acceleratorCount": { +"description": "Optional. The number of the guest accelerator cards exposed to this instance.", +"format": "int32", +"type": "integer" +}, +"acceleratorType": { +"description": "Optional. Full or partial URL of the accelerator type resource to attach to this instance.", +"type": "string" +} +}, +"type": "object" +}, +"AccessConfig": { +"description": "An access configuration attached to an instance's network interface. Only one access config per instance is supported.", +"id": "AccessConfig", +"properties": { +"externalIpv6": { +"description": "Optional. The external IPv6 address of this access configuration.", +"type": "string" +}, +"externalIpv6PrefixLength": { +"description": "Optional. The prefix length of the external IPv6 range.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "Optional. The name of this access configuration.", +"type": "string" +}, +"natIP": { +"description": "Optional. The external IP address of this access configuration.", +"type": "string" +}, +"networkTier": { +"description": "Optional. This signifies the networking tier used for configuring this access", +"enum": [ +"NETWORK_TIER_UNSPECIFIED", +"PREMIUM", +"STANDARD" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"High quality, Google-grade network tier, support for all networking products.", +"Public internet quality, only limited support for other networking products." +], +"type": "string" +}, +"publicPtrDomainName": { +"description": "Optional. The DNS domain name for the public PTR record.", +"type": "string" +}, +"setPublicPtr": { +"description": "Optional. Specifies whether a public DNS 'PTR' record should be created to map the external IP address of the instance to a DNS domain name.", +"type": "boolean" +}, +"type": { +"description": "Optional. In accessConfigs (IPv4), the default and only option is ONE_TO_ONE_NAT. In ipv6AccessConfigs, the default and only option is DIRECT_IPV6.", +"enum": [ +"ACCESS_TYPE_UNSPECIFIED", +"ONE_TO_ONE_NAT", +"DIRECT_IPV6" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"ONE_TO_ONE_NAT", +"Direct IPv6 access." +], +"type": "string" +} +}, +"type": "object" +}, +"AdvancedMachineFeatures": { +"description": "Specifies options for controlling advanced machine features.", +"id": "AdvancedMachineFeatures", +"properties": { +"enableNestedVirtualization": { +"description": "Optional. Whether to enable nested virtualization or not (default is false).", +"type": "boolean" +}, +"enableUefiNetworking": { +"description": "Optional. Whether to enable UEFI networking for instance creation.", +"type": "boolean" +}, +"threadsPerCore": { +"description": "Optional. The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.", +"format": "int32", +"type": "integer" +}, +"visibleCoreCount": { +"description": "Optional. The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance's nominal CPU count and the underlying platform's SMT width.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"AliasIpRange": { +"description": "An alias IP range attached to an instance's network interface.", +"id": "AliasIpRange", +"properties": { +"ipCidrRange": { +"description": "Optional. The IP alias ranges to allocate for this interface.", +"type": "string" +}, +"subnetworkRangeName": { +"description": "Optional. The name of a subnetwork secondary IP range from which to allocate an IP alias range. If not specified, the primary range of the subnetwork is used.", +"type": "string" +} +}, +"type": "object" +}, +"AllocationAffinity": { +"description": "Specifies the reservations that this instance can consume from.", +"id": "AllocationAffinity", +"properties": { +"consumeReservationType": { +"description": "Optional. Specifies the type of reservation from which this instance can consume", +"enum": [ +"TYPE_UNSPECIFIED", +"NO_RESERVATION", +"ANY_RESERVATION", +"SPECIFIC_RESERVATION" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Do not consume from any allocated capacity.", +"Consume any allocation available.", +"Must consume from a specific reservation. Must specify key value fields for specifying the reservations." +], +"type": "string" +}, +"key": { +"description": "Optional. Corresponds to the label key of a reservation resource.", +"type": "string" +}, +"values": { +"description": "Optional. Corresponds to the label values of a reservation resource.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"AttachedDisk": { +"description": "An instance-attached disk resource.", +"id": "AttachedDisk", +"properties": { +"autoDelete": { +"description": "Optional. Specifies whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).", +"type": "boolean" +}, +"boot": { +"description": "Optional. Indicates that this is a boot disk. The virtual machine will use the first partition of the disk for its root filesystem.", +"type": "boolean" +}, +"deviceName": { +"description": "Optional. This is used as an identifier for the disks. This is the unique name has to provided to modify disk parameters like disk_name and replica_zones (in case of RePDs)", +"type": "string" +}, +"diskEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Optional. Encrypts or decrypts a disk using a customer-supplied encryption key." +}, +"diskInterface": { +"description": "Optional. Specifies the disk interface to use for attaching this disk.", +"enum": [ +"DISK_INTERFACE_UNSPECIFIED", +"SCSI", +"NVME", +"NVDIMM", +"ISCSI" +], +"enumDescriptions": [ +"Default value, which is unused.", +"SCSI Disk Interface.", +"NVME Disk Interface.", +"NVDIMM Disk Interface.", +"ISCSI Disk Interface." +], +"type": "string" +}, +"diskSizeGb": { +"description": "Optional. The size of the disk in GB.", +"format": "int64", +"type": "string" +}, +"diskType": { +"description": "Optional. Output only. The URI of the disk type resource. For example: projects/project/zones/zone/diskTypes/pd-standard or pd-ssd", +"readOnly": true, +"type": "string" +}, +"diskTypeDeprecated": { +"deprecated": true, +"description": "Specifies the type of the disk.", +"enum": [ +"DISK_TYPE_UNSPECIFIED", +"SCRATCH", +"PERSISTENT" +], +"enumDescriptions": [ +"Default value, which is unused.", +"A scratch disk type.", +"A persistent disk type." +], +"type": "string" +}, +"guestOsFeature": { +"description": "Optional. A list of features to enable on the guest operating system. Applicable only for bootable images.", +"items": { +"$ref": "GuestOsFeature" +}, +"type": "array" +}, +"index": { +"description": "Optional. A zero-based index to this disk, where 0 is reserved for the boot disk.", +"format": "int64", +"type": "string" +}, +"initializeParams": { +"$ref": "InitializeParams", +"description": "Optional. Specifies the parameters to initialize this disk." +}, +"kind": { +"description": "Optional. Type of the resource.", +"type": "string" +}, +"license": { +"description": "Optional. Any valid publicly visible licenses.", +"items": { +"type": "string" +}, +"type": "array" +}, +"mode": { +"description": "Optional. The mode in which to attach this disk.", +"enum": [ +"DISK_MODE_UNSPECIFIED", +"READ_WRITE", +"READ_ONLY", +"LOCKED" +], +"enumDescriptions": [ +"Default value, which is unused.", +"Attaches this disk in read-write mode. Only one virtual machine at a time can be attached to a disk in read-write mode.", +"Attaches this disk in read-only mode. Multiple virtual machines can use a disk in read-only mode at a time.", +"The disk is locked for administrative reasons. Nobody else can use the disk. This mode is used (for example) when taking a snapshot of a disk to prevent mounting the disk while it is being snapshotted." +], +"type": "string" +}, +"savedState": { +"description": "Optional. Output only. The state of the disk.", +"enum": [ +"DISK_SAVED_STATE_UNSPECIFIED", +"PRESERVED" +], +"enumDescriptions": [ +"Default Disk state has not been preserved.", +"Disk state has been preserved." +], +"readOnly": true, +"type": "string" +}, +"source": { +"description": "Optional. Specifies a valid partial or full URL to an existing Persistent Disk resource.", +"type": "string" +}, +"type": { +"description": "Optional. Specifies the type of the disk.", +"enum": [ +"DISK_TYPE_UNSPECIFIED", +"SCRATCH", +"PERSISTENT" +], +"enumDescriptions": [ +"Default value, which is unused.", +"A scratch disk type.", +"A persistent disk type." +], +"type": "string" +} +}, +"type": "object" +}, +"AuditConfig": { +"description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", +"id": "AuditConfig", +"properties": { +"auditLogConfigs": { +"description": "The configuration for logging of each type of permission.", +"items": { +"$ref": "AuditLogConfig" +}, +"type": "array" +}, +"service": { +"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", +"type": "string" +} +}, +"type": "object" +}, +"AuditLogConfig": { +"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", +"id": "AuditLogConfig", +"properties": { +"exemptedMembers": { +"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logType": { +"description": "The log type that this config enables.", +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"ADMIN_READ", +"DATA_WRITE", +"DATA_READ" +], +"enumDescriptions": [ +"Default case. Should never be this.", +"Admin reads. Example: CloudIAM getIamPolicy", +"Data writes. Example: CloudSQL Users create", +"Data reads. Example: CloudSQL Users list" +], +"type": "string" +} +}, +"type": "object" +}, +"Backup": { +"description": "Message describing a Backup object.", +"id": "Backup", +"properties": { +"backupApplianceBackupProperties": { +"$ref": "BackupApplianceBackupProperties", +"description": "Output only. Backup Appliance specific backup properties.", +"readOnly": true +}, +"backupApplianceLocks": { +"description": "Optional. The list of BackupLocks taken by the accessor Backup Appliance.", +"items": { +"$ref": "BackupLock" +}, +"type": "array" +}, +"backupType": { +"description": "Output only. Type of the backup, unspecified, scheduled or ondemand.", +"enum": [ +"BACKUP_TYPE_UNSPECIFIED", +"SCHEDULED", +"ON_DEMAND" +], +"enumDescriptions": [ +"Backup type is unspecified.", +"Scheduled backup.", +"On demand backup." +], +"readOnly": true, +"type": "string" +}, +"computeInstanceBackupProperties": { +"$ref": "ComputeInstanceBackupProperties", +"description": "Output only. Compute Engine specific backup properties.", +"readOnly": true +}, +"consistencyTime": { +"description": "Output only. The point in time when this backup was captured from the source.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time when the instance was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Output only. The description of the Backup instance (2048 characters or less).", +"readOnly": true, +"type": "string" +}, +"enforcedRetentionEndTime": { +"description": "Optional. The backup can not be deleted before this time.", +"format": "google-datetime", +"type": "string" +}, +"etag": { +"description": "Optional. Server specified ETag to prevent updates from overwriting each other.", +"type": "string" +}, +"expireTime": { +"description": "Optional. When this backup is automatically expired.", +"format": "google-datetime", +"type": "string" +}, +"gcpBackupPlanInfo": { +"$ref": "GCPBackupPlanInfo", +"description": "Output only. Configuration for a Google Cloud resource.", +"readOnly": true +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Resource labels to represent user provided metadata. No labels currently defined.", +"type": "object" +}, +"name": { +"description": "Output only. Identifier. Name of the backup to create. It must have the format`\"projects//locations//backupVaults//dataSources/{datasource}/backups/{backup}\"`. `{backup}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the datasource.", +"readOnly": true, +"type": "string" +}, +"resourceSizeBytes": { +"description": "Output only. source resource size in bytes at the time of the backup.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"satisfiesPzi": { +"description": "Optional. Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Optional. Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"serviceLocks": { +"description": "Output only. The list of BackupLocks taken by the service to prevent the deletion of the backup.", +"items": { +"$ref": "BackupLock" +}, +"readOnly": true, +"type": "array" +}, +"state": { +"description": "Output only. The Backup resource instance state.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"DELETING", +"ERROR" +], +"enumDescriptions": [ +"State not set.", +"The backup is being created.", +"The backup has been created and is fully usable.", +"The backup is being deleted.", +"The backup is experiencing an issue and might be unusable." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The time when the instance was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"BackupApplianceBackupConfig": { +"description": "BackupApplianceBackupConfig captures the backup configuration for applications that are protected by Backup Appliances.", +"id": "BackupApplianceBackupConfig", +"properties": { +"applicationName": { +"description": "The name of the application.", +"type": "string" +}, +"backupApplianceId": { +"description": "The ID of the backup appliance.", +"format": "int64", +"type": "string" +}, +"backupApplianceName": { +"description": "The name of the backup appliance.", +"type": "string" +}, +"hostName": { +"description": "The name of the host where the application is running.", +"type": "string" +}, +"slaId": { +"description": "The ID of the SLA of this application.", +"format": "int64", +"type": "string" +}, +"slpName": { +"description": "The name of the SLP associated with the application.", +"type": "string" +}, +"sltName": { +"description": "The name of the SLT associated with the application.", +"type": "string" +} +}, +"type": "object" +}, +"BackupApplianceBackupProperties": { +"description": "BackupApplianceBackupProperties represents BackupDR backup appliance's properties.", +"id": "BackupApplianceBackupProperties", +"properties": { +"finalizeTime": { +"description": "Output only. The time when this backup object was finalized (if none, backup is not finalized).", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"generationId": { +"description": "Output only. The numeric generation ID of the backup (monotonically increasing).", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"recoveryRangeEndTime": { +"description": "Optional. The latest timestamp of data available in this Backup.", +"format": "google-datetime", +"type": "string" +}, +"recoveryRangeStartTime": { +"description": "Optional. The earliest timestamp of data available in this Backup.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"BackupApplianceLockInfo": { +"description": "BackupApplianceLockInfo contains metadata about the backupappliance that created the lock.", +"id": "BackupApplianceLockInfo", +"properties": { +"backupApplianceId": { +"description": "Required. The ID of the backup/recovery appliance that created this lock.", +"format": "int64", +"type": "string" +}, +"backupApplianceName": { +"description": "Required. The name of the backup/recovery appliance that created this lock.", +"type": "string" +}, +"backupImage": { +"description": "The image name that depends on this Backup.", +"type": "string" +}, +"jobName": { +"description": "The job name on the backup/recovery appliance that created this lock.", +"type": "string" +}, +"lockReason": { +"description": "Required. The reason for the lock: e.g. MOUNT/RESTORE/BACKUP/etc. The value of this string is only meaningful to the client and it is not interpreted by the BackupVault service.", +"type": "string" +}, +"slaId": { +"description": "The SLA on the backup/recovery appliance that owns the lock.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"BackupConfigInfo": { +"description": "BackupConfigInfo has information about how the resource is configured for Backup and about the most recent backup to this vault.", +"id": "BackupConfigInfo", +"properties": { +"backupApplianceBackupConfig": { +"$ref": "BackupApplianceBackupConfig", +"description": "Configuration for an application backed up by a Backup Appliance." +}, +"gcpBackupConfig": { +"$ref": "GcpBackupConfig", +"description": "Configuration for a Google Cloud resource." +}, +"lastBackupError": { +"$ref": "Status", +"description": "Output only. If the last backup failed, this field has the error message.", +"readOnly": true +}, +"lastBackupState": { +"description": "Output only. The status of the last backup to this BackupVault", +"enum": [ +"LAST_BACKUP_STATE_UNSPECIFIED", +"FIRST_BACKUP_PENDING", +"SUCCEEDED", +"FAILED", +"PERMISSION_DENIED" +], +"enumDescriptions": [ +"Status not set.", +"The first backup has not yet completed", +"The most recent backup was successful", +"The most recent backup failed", +"The most recent backup could not be run/failed because of the lack of permissions" +], +"readOnly": true, +"type": "string" +}, +"lastSuccessfulBackupConsistencyTime": { +"description": "Output only. If the last backup were successful, this field has the consistency date.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"BackupLock": { +"description": "BackupLock represents a single lock on a Backup resource. An unexpired lock on a Backup prevents the Backup from being deleted.", +"id": "BackupLock", +"properties": { +"backupApplianceLockInfo": { +"$ref": "BackupApplianceLockInfo", +"description": "If the client is a backup and recovery appliance, this contains metadata about why the lock exists." +}, +"lockUntilTime": { +"description": "Required. The time after which this lock is not considered valid and will no longer protect the Backup from deletion.", +"format": "google-datetime", +"type": "string" +}, +"serviceLockInfo": { +"$ref": "ServiceLockInfo", +"description": "Output only. Contains metadata about the lock exist for Google Cloud native backups.", +"readOnly": true +} +}, +"type": "object" +}, +"BackupPlan": { +"description": "A `BackupPlan` specifies some common fields, such as `description` as well as one or more `BackupRule` messages. Each `BackupRule` has a retention policy and defines a schedule by which the system is to perform backup workloads.", +"id": "BackupPlan", +"properties": { +"backupRules": { +"description": "Required. The backup rules for this `BackupPlan`. There must be at least one `BackupRule` message.", +"items": { +"$ref": "BackupRule" +}, +"type": "array" +}, +"backupVault": { +"description": "Required. Resource name of backup vault which will be used as storage location for backups. Format: projects/{project}/locations/{location}/backupVaults/{backupvault}", +"type": "string" +}, +"backupVaultServiceAccount": { +"description": "Output only. The Google Cloud Platform Service Account to be used by the BackupVault for taking backups. Specify the email address of the Backup Vault Service Account.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. When the `BackupPlan` was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. The description of the `BackupPlan` resource. The description allows for additional details about `BackupPlan` and its use cases to be provided. An example description is the following: \"This is a backup plan that performs a daily backup at 6pm and retains data for 3 months\". The description must be at most 2048 characters.", +"type": "string" +}, +"etag": { +"description": "Optional. `etag` is returned from the service in the response. As a user of the service, you may provide an etag value in this field to prevent stale resources.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. This collection of key/value pairs allows for custom labels to be supplied by the user. Example, {\"tag\": \"Weekly\"}.", +"type": "object" +}, +"name": { +"description": "Output only. Identifier. The resource name of the `BackupPlan`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}`", +"readOnly": true, +"type": "string" +}, +"resourceType": { +"description": "Required. The resource type to which the `BackupPlan` will be applied. Examples include, \"compute.googleapis.com/Instance\", \"sqladmin.googleapis.com/Instance\", or \"alloydb.googleapis.com/Cluster\".", +"type": "string" +}, +"state": { +"description": "Output only. The `State` for the `BackupPlan`.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"DELETING", +"INACTIVE" +], +"enumDescriptions": [ +"State not set.", +"The resource is being created.", +"The resource has been created and is fully usable.", +"The resource is being deleted.", +"The resource has been created but is not usable." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. When the `BackupPlan` was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"BackupPlanAssociation": { +"description": "A BackupPlanAssociation represents a single BackupPlanAssociation which contains details like workload, backup plan etc", +"id": "BackupPlanAssociation", +"properties": { +"backupPlan": { +"description": "Required. Resource name of backup plan which needs to be applied on workload. Format: projects/{project}/locations/{location}/backupPlans/{backupPlanId}", +"type": "string" +}, +"createTime": { +"description": "Output only. The time when the instance was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataSource": { +"description": "Output only. Resource name of data source which will be used as storage location for backups taken. Format : projects/{project}/locations/{location}/backupVaults/{backupvault}/dataSources/{datasource}", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Identifier. The resource name of BackupPlanAssociation in below format Format : projects/{project}/locations/{location}/backupPlanAssociations/{backupPlanAssociationId}", +"readOnly": true, +"type": "string" +}, +"resource": { +"description": "Required. Immutable. Resource name of workload on which backupplan is applied", +"type": "string" +}, +"resourceType": { +"description": "Required. Immutable. Resource type of workload on which backupplan is applied", +"type": "string" +}, +"rulesConfigInfo": { +"description": "Output only. The config info related to backup rules.", +"items": { +"$ref": "RuleConfigInfo" +}, +"readOnly": true, +"type": "array" +}, +"state": { +"description": "Output only. The BackupPlanAssociation resource state.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"DELETING", +"INACTIVE", +"UPDATING" +], +"enumDescriptions": [ +"State not set.", +"The resource is being created.", +"The resource has been created and is fully usable.", +"The resource is being deleted.", +"The resource has been created but is not usable.", +"The resource is being updated." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The time when the instance was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"BackupRule": { +"description": "`BackupRule` binds the backup schedule to a retention policy.", +"id": "BackupRule", +"properties": { +"backupRetentionDays": { +"description": "Required. Configures the duration for which backup data will be kept. It is defined in \u201cdays\u201d. The value should be greater than or equal to minimum enforced retention of the backup vault. Minimum value is 1 and maximum value is 90 for hourly backups. Minimum value is 1 and maximum value is 90 for daily backups. Minimum value is 7 and maximum value is 186 for weekly backups. Minimum value is 30 and maximum value is 732 for monthly backups. Minimum value is 365 and maximum value is 36159 for yearly backups.", +"format": "int32", +"type": "integer" +}, +"ruleId": { +"description": "Required. Immutable. The unique id of this `BackupRule`. The `rule_id` is unique per `BackupPlan`.The `rule_id` must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens. Pattern, /a-z{,62}/.", +"type": "string" +}, +"standardSchedule": { +"$ref": "StandardSchedule", +"description": "Required. Defines a schedule that runs within the confines of a defined window of time." +} +}, +"type": "object" +}, +"BackupVault": { +"description": "Message describing a BackupVault object.", +"id": "BackupVault", +"properties": { +"accessRestriction": { +"description": "Optional. Note: This field is added for future use case and will not be supported in the current release. Access restriction for the backup vault. Default value is WITHIN_ORGANIZATION if not provided during creation.", +"enum": [ +"ACCESS_RESTRICTION_UNSPECIFIED", +"WITHIN_PROJECT", +"WITHIN_ORGANIZATION", +"UNRESTRICTED", +"WITHIN_ORG_BUT_UNRESTRICTED_FOR_BA" +], +"enumDescriptions": [ +"Access restriction not set. If user does not provide any value or pass this value, it will be changed to WITHIN_ORGANIZATION.", +"Access to or from resources outside your current project will be denied.", +"Access to or from resources outside your current organization will be denied.", +"No access restriction.", +"Access to or from resources outside your current organization will be denied except for backup appliance." +], +"type": "string" +}, +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. User annotations. See https://google.aip.dev/128#annotations Stores small amounts of arbitrary data.", +"type": "object" +}, +"backupCount": { +"description": "Output only. The number of backups in this backup vault.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"backupMinimumEnforcedRetentionDuration": { +"description": "Required. The default and minimum enforced retention for each backup within the backup vault. The enforced retention for each backup can be extended.", +"format": "google-duration", +"type": "string" +}, +"createTime": { +"description": "Output only. The time when the instance was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deletable": { +"description": "Output only. Set to true when there are no backups nested under this resource.", +"readOnly": true, +"type": "boolean" +}, +"description": { +"description": "Optional. The description of the BackupVault instance (2048 characters or less).", +"type": "string" +}, +"effectiveTime": { +"description": "Optional. Time after which the BackupVault resource is locked.", +"format": "google-datetime", +"type": "string" +}, +"etag": { +"description": "Optional. Server specified ETag for the backup vault resource to prevent simultaneous updates from overwiting each other.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Resource labels to represent user provided metadata. No labels currently defined:", +"type": "object" +}, +"name": { +"description": "Output only. Identifier. Name of the backup vault to create. It must have the format`\"projects/{project}/locations/{location}/backupVaults/{backupvault}\"`. `{backupvault}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the project and location.", +"readOnly": true, +"type": "string" +}, +"serviceAccount": { +"description": "Output only. Service account used by the BackupVault Service for this BackupVault. The user should grant this account permissions in their workload project to enable the service to run backups and restores there.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The BackupVault resource instance state.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"DELETING", +"ERROR" +], +"enumDescriptions": [ +"State not set.", +"The backup vault is being created.", +"The backup vault has been created and is fully usable.", +"The backup vault is being deleted.", +"The backup vault is experiencing an issue and might be unusable." +], +"readOnly": true, +"type": "string" +}, +"totalStoredBytes": { +"description": "Output only. Total size of the storage used by all backup resources.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"uid": { +"description": "Output only. Immutable after resource creation until resource deletion.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The time when the instance was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"BackupWindow": { +"description": "`BackupWindow` defines a window of the day during which backup jobs will run.", +"id": "BackupWindow", +"properties": { +"endHourOfDay": { +"description": "Required. The hour of day (1-24) when the window end for e.g. if value of end hour of day is 10 that mean backup window end time is 10:00. End hour of day should be greater than start hour of day. 0 <= start_hour_of_day < end_hour_of_day <= 24 End hour of day is not include in backup window that mean if end_hour_of_day= 10 jobs should start before 10:00.", +"format": "int32", +"type": "integer" +}, +"startHourOfDay": { +"description": "Required. The hour of day (0-23) when the window starts for e.g. if value of start hour of day is 6 that mean backup window start at 6:00.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"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" +}, +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"ComputeInstanceBackupProperties": { +"description": "ComputeInstanceBackupProperties represents Compute Engine instance backup properties.", +"id": "ComputeInstanceBackupProperties", +"properties": { +"canIpForward": { +"description": "Enables instances created based on these properties to send packets with source IP addresses other than their own and receive packets with destination IP addresses other than their own. If these instances will be used as an IP gateway or it will be set as the next-hop in a Route resource, specify `true`. If unsure, leave this set to `false`. See the https://cloud.google.com/vpc/docs/using-routes#canipforward documentation for more information.", +"type": "boolean" +}, +"description": { +"description": "An optional text description for the instances that are created from these properties.", +"type": "string" +}, +"disk": { +"description": "An array of disks that are associated with the instances that are created from these properties.", +"items": { +"$ref": "AttachedDisk" +}, +"type": "array" +}, +"guestAccelerator": { +"description": "A list of guest accelerator cards' type and count to use for instances created from these properties.", +"items": { +"$ref": "AcceleratorConfig" +}, +"type": "array" +}, +"keyRevocationActionType": { +"description": "KeyRevocationActionType of the instance. Supported options are \"STOP\" and \"NONE\". The default value is \"NONE\" if it is not specified.", +"enum": [ +"KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", +"NONE", +"STOP" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Indicates user chose no operation.", +"Indicates user chose to opt for VM shutdown on key revocation." +], +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to instances that are created from these properties.", +"type": "object" +}, +"machineType": { +"description": "The machine type to use for instances that are created from these properties.", +"type": "string" +}, +"metadata": { +"$ref": "Metadata", +"description": "The metadata key/value pairs to assign to instances that are created from these properties. These pairs can consist of custom metadata or predefined keys. See https://cloud.google.com/compute/docs/metadata/overview for more information." +}, +"minCpuPlatform": { +"description": "Minimum cpu/platform to be used by instances. The instance may be scheduled on the specified or newer cpu/platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: Intel Haswell` or `minCpuPlatform: Intel Sandy Bridge`. For more information, read https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform.", +"type": "string" +}, +"networkInterface": { +"description": "An array of network access configurations for this interface.", +"items": { +"$ref": "NetworkInterface" +}, +"type": "array" +}, +"scheduling": { +"$ref": "Scheduling", +"description": "Specifies the scheduling options for the instances that are created from these properties." +}, +"serviceAccount": { +"description": "A list of service accounts with specified scopes. Access tokens for these service accounts are available to the instances that are created from these properties. Use metadata queries to obtain the access tokens for these instances.", +"items": { +"$ref": "ServiceAccount" +}, +"type": "array" +}, +"sourceInstance": { +"description": "The source instance used to create this backup. This can be a partial or full URL to the resource. For example, the following are valid values: -https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance -projects/project/zones/zone/instances/instance", +"type": "string" +}, +"tags": { +"$ref": "Tags", +"description": "A list of tags to apply to the instances that are created from these properties. The tags identify valid sources or targets for network firewalls. The setTags method can modify this list of tags. Each tag within the list must comply with RFC1035 (https://www.ietf.org/rfc/rfc1035.txt)." +} +}, +"type": "object" +}, +"ComputeInstanceDataSourceProperties": { +"description": "ComputeInstanceDataSourceProperties represents the properties of a ComputeEngine resource that are stored in the DataSource.", +"id": "ComputeInstanceDataSourceProperties", +"properties": { +"description": { +"description": "The description of the Compute Engine instance.", +"type": "string" +}, +"machineType": { +"description": "The machine type of the instance.", +"type": "string" +}, +"name": { +"description": "Name of the compute instance backed up by the datasource.", +"type": "string" +}, +"totalDiskCount": { +"description": "The total number of disks attached to the Instance.", +"format": "int64", +"type": "string" +}, +"totalDiskSizeGb": { +"description": "The sum of all the disk sizes.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ComputeInstanceRestoreProperties": { +"description": "ComputeInstanceRestoreProperties represents Compute Engine instance properties to be overridden during restore.", +"id": "ComputeInstanceRestoreProperties", +"properties": { +"advancedMachineFeatures": { +"$ref": "AdvancedMachineFeatures", +"description": "Optional. Controls for advanced machine-related behavior features." +}, +"canIpForward": { +"description": "Optional. Allows this instance to send and receive packets with non-matching destination or source IPs.", +"type": "boolean" +}, +"confidentialInstanceConfig": { +"$ref": "ConfidentialInstanceConfig", +"description": "Optional. Controls Confidential compute options on the instance" +}, +"deletionProtection": { +"description": "Optional. Whether the resource should be protected against deletion.", +"type": "boolean" +}, +"description": { +"description": "Optional. An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"disks": { +"description": "Optional. Array of disks associated with this instance. Persistent disks must be created before you can assign them.", +"items": { +"$ref": "AttachedDisk" +}, +"type": "array" +}, +"displayDevice": { +"$ref": "DisplayDevice", +"description": "Optional. Enables display device for the instance." +}, +"guestAccelerators": { +"description": "Optional. A list of the type and count of accelerator cards attached to the instance.", +"items": { +"$ref": "AcceleratorConfig" +}, +"type": "array" +}, +"hostname": { +"description": "Optional. Specifies the hostname of the instance. The specified hostname must be RFC1035 compliant. If hostname is not specified, the default hostname is [INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS.", +"type": "string" +}, +"instanceEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Optional. Encrypts suspended data for an instance with a customer-managed encryption key." +}, +"keyRevocationActionType": { +"description": "Optional. KeyRevocationActionType of the instance.", +"enum": [ +"KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", +"NONE", +"STOP" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Indicates user chose no operation.", +"Indicates user chose to opt for VM shutdown on key revocation." +], +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels to apply to this instance.", +"type": "object" +}, +"machineType": { +"description": "Optional. Full or partial URL of the machine type resource to use for this instance.", +"type": "string" +}, +"metadata": { +"$ref": "Metadata", +"description": "Optional. This includes custom metadata and predefined keys." +}, +"minCpuPlatform": { +"description": "Optional. Minimum CPU platform to use for this instance.", +"type": "string" +}, +"name": { +"description": "Required. Name of the compute instance.", +"type": "string" +}, +"networkInterfaces": { +"description": "Optional. An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance.", +"items": { +"$ref": "NetworkInterface" +}, +"type": "array" +}, +"networkPerformanceConfig": { +"$ref": "NetworkPerformanceConfig", +"description": "Optional. Configure network performance such as egress bandwidth tier." +}, +"params": { +"$ref": "InstanceParams", +"description": "Input only. Additional params passed with the request, but not persisted as part of resource payload." +}, +"privateIpv6GoogleAccess": { +"description": "Optional. The private IPv6 google access type for the VM. If not specified, use INHERIT_FROM_SUBNETWORK as default.", +"enum": [ +"INSTANCE_PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED", +"INHERIT_FROM_SUBNETWORK", +"ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE", +"ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Each network interface inherits PrivateIpv6GoogleAccess from its subnetwork.", +"Outbound private IPv6 access from VMs in this subnet to Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before.", +"Bidirectional private IPv6 access to/from Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before." +], +"type": "string" +}, +"reservationAffinity": { +"$ref": "AllocationAffinity", +"description": "Optional. Specifies the reservations that this instance can consume from." +}, +"resourcePolicies": { +"description": "Optional. Resource policies applied to this instance.", +"items": { +"type": "string" +}, +"type": "array" +}, +"scheduling": { +"$ref": "Scheduling", +"description": "Optional. Sets the scheduling options for this instance." +}, +"serviceAccounts": { +"description": "Optional. A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported.", +"items": { +"$ref": "ServiceAccount" +}, +"type": "array" +}, +"tags": { +"$ref": "Tags", +"description": "Optional. Tags to apply to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation." +} +}, +"type": "object" +}, +"ComputeInstanceTargetEnvironment": { +"description": "ComputeInstanceTargetEnvironment represents Compute Engine target environment to be used during restore.", +"id": "ComputeInstanceTargetEnvironment", +"properties": { +"project": { +"description": "Required. Target project for the Compute Engine instance.", +"type": "string" +}, +"zone": { +"description": "Required. The zone of the Compute Engine instance.", +"type": "string" +} +}, +"type": "object" +}, +"ConfidentialInstanceConfig": { +"description": "A set of Confidential Instance options.", +"id": "ConfidentialInstanceConfig", +"properties": { +"enableConfidentialCompute": { +"description": "Optional. Defines whether the instance should have confidential compute enabled.", +"type": "boolean" +} +}, +"type": "object" +}, +"CustomerEncryptionKey": { +"description": "A customer-supplied encryption key.", +"id": "CustomerEncryptionKey", +"properties": { +"kmsKeyName": { +"description": "Optional. The name of the encryption key that is stored in Google Cloud KMS.", +"type": "string" +}, +"kmsKeyServiceAccount": { +"description": "Optional. The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.", +"type": "string" +}, +"rawKey": { +"description": "Optional. Specifies a 256-bit customer-supplied encryption key.", +"type": "string" +}, +"rsaEncryptedKey": { +"description": "Optional. RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource.", +"type": "string" +} +}, +"type": "object" +}, +"DataSource": { +"description": "Message describing a DataSource object. Datasource object used to represent Datasource details for both admin and basic view.", +"id": "DataSource", +"properties": { +"backupConfigInfo": { +"$ref": "BackupConfigInfo", +"description": "Output only. Details of how the resource is configured for backup.", +"readOnly": true +}, +"backupCount": { +"description": "Number of backups in the data source.", +"format": "int64", +"type": "string" +}, +"configState": { +"description": "Output only. The backup configuration state.", +"enum": [ +"BACKUP_CONFIG_STATE_UNSPECIFIED", +"ACTIVE", +"PASSIVE" +], +"enumDescriptions": [ +"The possible states of backup configuration. Status not set.", +"The data source is actively protected (i.e. there is a BackupPlanAssociation or Appliance SLA pointing to it)", +"The data source is no longer protected (but may have backups under it)" +], +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time when the instance was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataSourceBackupApplianceApplication": { +"$ref": "DataSourceBackupApplianceApplication", +"description": "The backed up resource is a backup appliance application." +}, +"dataSourceGcpResource": { +"$ref": "DataSourceGcpResource", +"description": "The backed up resource is a Google Cloud resource. The word 'DataSource' was included in the names to indicate that this is the representation of the Google Cloud resource used within the DataSource object." +}, +"etag": { +"description": "Server specified ETag for the ManagementServer resource to prevent simultaneous updates from overwiting each other.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Resource labels to represent user provided metadata. No labels currently defined:", +"type": "object" +}, +"name": { +"description": "Output only. Identifier. Name of the datasource to create. It must have the format`\"projects/{project}/locations/{location}/backupVaults/{backupvault}/dataSources/{datasource}\"`. `{datasource}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the backup vault.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The DataSource resource instance state.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"DELETING", +"ERROR" +], +"enumDescriptions": [ +"State not set.", +"The data source is being created.", +"The data source has been created and is fully usable.", +"The data source is being deleted.", +"The data source is experiencing an issue and might be unusable." +], +"readOnly": true, +"type": "string" +}, +"totalStoredBytes": { +"description": "The number of bytes (metadata and data) stored in this datasource.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Output only. The time when the instance was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"DataSourceBackupApplianceApplication": { +"description": "BackupApplianceApplication describes a Source Resource when it is an application backed up by a BackupAppliance.", +"id": "DataSourceBackupApplianceApplication", +"properties": { +"applianceId": { +"description": "Appliance Id of the Backup Appliance.", +"format": "int64", +"type": "string" +}, +"applicationId": { +"description": "The appid field of the application within the Backup Appliance.", +"format": "int64", +"type": "string" +}, +"applicationName": { +"description": "The name of the Application as known to the Backup Appliance.", +"type": "string" +}, +"backupAppliance": { +"description": "Appliance name.", +"type": "string" +}, +"hostId": { +"description": "Hostid of the application host.", +"format": "int64", +"type": "string" +}, +"hostname": { +"description": "Hostname of the host where the application is running.", +"type": "string" +}, +"type": { +"description": "The type of the application. e.g. VMBackup", +"type": "string" +} +}, +"type": "object" +}, +"DataSourceGcpResource": { +"description": "DataSourceGcpResource is used for protected resources that are Google Cloud Resources. This name is easeier to understand than GcpResourceDataSource or GcpDataSourceResource", +"id": "DataSourceGcpResource", +"properties": { +"computeInstanceDatasourceProperties": { +"$ref": "ComputeInstanceDataSourceProperties", +"description": "ComputeInstanceDataSourceProperties has a subset of Compute Instance properties that are useful at the Datasource level." +}, +"gcpResourcename": { +"description": "Output only. Full resource pathname URL of the source Google Cloud resource.", +"readOnly": true, +"type": "string" +}, +"location": { +"description": "Location of the resource: //\"global\"/\"unspecified\".", +"type": "string" +}, +"type": { +"description": "The type of the Google Cloud resource. Use the Unified Resource Type, eg. compute.googleapis.com/Instance.", +"type": "string" +} +}, +"type": "object" +}, +"DisplayDevice": { +"description": "A set of Display Device options", +"id": "DisplayDevice", +"properties": { +"enableDisplay": { +"description": "Optional. Enables display for the Compute Engine VM", +"type": "boolean" +} +}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"Entry": { +"description": "A key/value pair to be used for storing metadata.", +"id": "Entry", +"properties": { +"key": { +"description": "Optional. Key for the metadata entry.", +"type": "string" +}, +"value": { +"description": "Optional. Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 262144 bytes (256 KiB).", +"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" +}, +"FetchAccessTokenRequest": { +"description": "Request message for FetchAccessToken.", +"id": "FetchAccessTokenRequest", +"properties": { +"generationId": { +"description": "Required. The generation of the backup to update.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"FetchAccessTokenResponse": { +"description": "Response message for FetchAccessToken.", +"id": "FetchAccessTokenResponse", +"properties": { +"expireTime": { +"description": "The token is valid until this time.", +"format": "google-datetime", +"type": "string" +}, +"readLocation": { +"description": "The location in bucket that can be used for reading.", +"type": "string" +}, +"token": { +"description": "The downscoped token that was created.", +"type": "string" +}, +"writeLocation": { +"description": "The location in bucket that can be used for writing.", +"type": "string" +} +}, +"type": "object" +}, +"FetchUsableBackupVaultsResponse": { +"description": "Response message for fetching usable BackupVaults.", +"id": "FetchUsableBackupVaultsResponse", +"properties": { +"backupVaults": { +"description": "The list of BackupVault instances in the project for the specified location. If the '{location}' value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return backup vaults in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", +"items": { +"$ref": "BackupVault" +}, +"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" +}, +"FinalizeBackupRequest": { +"description": "Message for finalizing a Backup.", +"id": "FinalizeBackupRequest", +"properties": { +"backupId": { +"description": "Required. Resource ID of the Backup resource to be finalized. This must be the same backup_id that was used in the InitiateBackupRequest.", +"type": "string" +}, +"consistencyTime": { +"description": "The point in time when this backup was captured from the source. This will be assigned to the consistency_time field of the newly created Backup.", +"format": "google-datetime", +"type": "string" +}, +"description": { +"description": "This will be assigned to the description field of the newly created Backup.", +"type": "string" +}, +"recoveryRangeEndTime": { +"description": "The latest timestamp of data available in this Backup. This will be set on the newly created Backup.", +"format": "google-datetime", +"type": "string" +}, +"recoveryRangeStartTime": { +"description": "The earliest timestamp of data available in this Backup. This will set on the newly created Backup.", +"format": "google-datetime", +"type": "string" +}, +"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" +}, +"retentionDuration": { +"description": "The ExpireTime on the backup will be set to FinalizeTime plus this duration. If the resulting ExpireTime is less than EnforcedRetentionEndTime, then ExpireTime is set to EnforcedRetentionEndTime.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GCPBackupPlanInfo": { +"description": "GCPBackupPlanInfo captures the plan configuration details of Google Cloud resources at the time of backup.", +"id": "GCPBackupPlanInfo", +"properties": { +"backupPlan": { +"description": "Resource name of backup plan by which workload is protected at the time of the backup. Format: projects/{project}/locations/{location}/backupPlans/{backupPlanId}", +"type": "string" +}, +"backupPlanRuleId": { +"description": "The rule id of the backup plan which triggered this backup in case of scheduled backup or used for", +"type": "string" +} +}, +"type": "object" +}, +"GcpBackupConfig": { +"description": "GcpBackupConfig captures the Backup configuration details for Google Cloud resources. All Google Cloud resources regardless of type are protected with backup plan associations.", +"id": "GcpBackupConfig", +"properties": { +"backupPlan": { +"description": "The name of the backup plan.", +"type": "string" +}, +"backupPlanAssociation": { +"description": "The name of the backup plan association.", +"type": "string" +}, +"backupPlanDescription": { +"description": "The description of the backup plan.", +"type": "string" +}, +"backupPlanRules": { +"description": "The names of the backup plan rules which point to this backupvault", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GcpResource": { +"description": "Minimum details to identify a Google Cloud resource", +"id": "GcpResource", +"properties": { +"gcpResourcename": { +"description": "Name of the Google Cloud resource.", +"type": "string" +}, +"location": { +"description": "Location of the resource: //\"global\"/\"unspecified\".", +"type": "string" +}, +"type": { +"description": "Type of the resource. Use the Unified Resource Type, eg. compute.googleapis.com/Instance.", +"type": "string" +} +}, +"type": "object" +}, +"GuestOsFeature": { +"description": "Feature type of the Guest OS.", +"id": "GuestOsFeature", +"properties": { +"type": { +"description": "The ID of a supported feature.", +"enum": [ +"FEATURE_TYPE_UNSPECIFIED", +"VIRTIO_SCSI_MULTIQUEUE", +"WINDOWS", +"MULTI_IP_SUBNET", +"UEFI_COMPATIBLE", +"SECURE_BOOT", +"GVNIC", +"SEV_CAPABLE", +"BARE_METAL_LINUX_COMPATIBLE", +"SUSPEND_RESUME_COMPATIBLE", +"SEV_LIVE_MIGRATABLE", +"SEV_SNP_CAPABLE", +"TDX_CAPABLE", +"IDPF", +"SEV_LIVE_MIGRATABLE_V2" +], +"enumDescriptions": [ +"Default value, which is unused.", +"VIRTIO_SCSI_MULTIQUEUE feature type.", +"WINDOWS feature type.", +"MULTI_IP_SUBNET feature type.", +"UEFI_COMPATIBLE feature type.", +"SECURE_BOOT feature type.", +"GVNIC feature type.", +"SEV_CAPABLE feature type.", +"BARE_METAL_LINUX_COMPATIBLE feature type.", +"SUSPEND_RESUME_COMPATIBLE feature type.", +"SEV_LIVE_MIGRATABLE feature type.", +"SEV_SNP_CAPABLE feature type.", +"TDX_CAPABLE feature type.", +"IDPF feature type.", +"SEV_LIVE_MIGRATABLE_V2 feature type." +], +"type": "string" +} +}, +"type": "object" +}, +"InitializeParams": { +"description": "Specifies the parameters to initialize this disk.", +"id": "InitializeParams", +"properties": { +"diskName": { +"description": "Optional. Specifies the disk name. If not specified, the default is to use the name of the instance.", +"type": "string" +}, +"replicaZones": { +"description": "Optional. URL of the zone where the disk should be created. Required for each regional disk associated with the instance.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InitializeServiceRequest": { +"description": "Request message for initializing the service.", +"id": "InitializeServiceRequest", +"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 t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"type": "string" +}, +"resourceType": { +"description": "Required. The resource type to which the default service config will be applied. Examples include, \"compute.googleapis.com/Instance\" and \"storage.googleapis.com/Bucket\".", +"type": "string" +} +}, +"type": "object" +}, +"InitiateBackupRequest": { +"description": "request message for InitiateBackup.", +"id": "InitiateBackupRequest", +"properties": { +"backupId": { +"description": "Required. Resource ID of the Backup resource.", +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"type": "string" +} +}, +"type": "object" +}, +"InitiateBackupResponse": { +"description": "Response message for InitiateBackup.", +"id": "InitiateBackupResponse", +"properties": { +"backup": { +"description": "The name of the backup that was created.", +"type": "string" +}, +"baseBackupGenerationId": { +"description": "The generation id of the base backup. It is needed for the incremental backups.", +"format": "int32", +"type": "integer" +}, +"newBackupGenerationId": { +"description": "The generation id of the new backup.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"InstanceParams": { +"description": "Additional instance params.", +"id": "InstanceParams", +"properties": { +"resourceManagerTags": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Resource manager tags to be bound to the instance.", +"type": "object" +} +}, +"type": "object" +}, +"ListBackupPlanAssociationsResponse": { +"description": "Response message for List BackupPlanAssociation", +"id": "ListBackupPlanAssociationsResponse", +"properties": { +"backupPlanAssociations": { +"description": "The list of Backup Plan Associations in the project for the specified location. If the `{location}` value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return backup plan associations in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", +"items": { +"$ref": "BackupPlanAssociation" +}, +"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" +}, +"ListBackupPlansResponse": { +"description": "The response message for getting a list of `BackupPlan`.", +"id": "ListBackupPlansResponse", +"properties": { +"backupPlans": { +"description": "The list of `BackupPlans` in the project for the specified location. If the `{location}` value in the request is \"-\", the response contains a list of resources from all locations. In case any location is unreachable, the response will only return backup plans in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations. BackupPlan", +"items": { +"$ref": "BackupPlan" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token which may be sent as page_token in a subsequent `ListBackupPlans` call to retrieve the next page of results. If this field is omitted or empty, then there are no more results to return.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListBackupVaultsResponse": { +"description": "Response message for listing BackupVaults.", +"id": "ListBackupVaultsResponse", +"properties": { +"backupVaults": { +"description": "The list of BackupVault instances in the project for the specified location. If the '{location}' value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return backup vaults in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", +"items": { +"$ref": "BackupVault" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListBackupsResponse": { +"description": "Response message for listing Backups.", +"id": "ListBackupsResponse", +"properties": { +"backups": { +"description": "The list of Backup instances in the project for the specified location. If the '{location}' value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return data sources in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", +"items": { +"$ref": "Backup" +}, +"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" +}, +"ListDataSourcesResponse": { +"description": "Response message for listing DataSources.", +"id": "ListDataSourcesResponse", +"properties": { +"dataSources": { +"description": "The list of DataSource instances in the project for the specified location. If the '{location}' value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return data sources in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", +"items": { +"$ref": "DataSource" +}, +"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" +}, +"ListManagementServersResponse": { +"description": "Response message for listing management servers.", +"id": "ListManagementServersResponse", +"properties": { +"managementServers": { +"description": "The list of ManagementServer instances in the project for the specified location. If the '{location}' value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return management servers in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", +"items": { +"$ref": "ManagementServer" +}, +"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" +}, +"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" +}, +"ManagementServer": { +"description": "ManagementServer describes a single BackupDR ManagementServer instance.", +"id": "ManagementServer", +"properties": { +"baProxyUri": { +"description": "Output only. The hostname or ip address of the exposed AGM endpoints, used by BAs to connect to BA proxy.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"createTime": { +"description": "Output only. The time when the instance was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. The description of the ManagementServer instance (2048 characters or less).", +"type": "string" +}, +"etag": { +"description": "Optional. Server specified ETag for the ManagementServer resource to prevent simultaneous updates from overwiting each other.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Resource labels to represent user provided metadata. Labels currently defined: 1. migrate_from_go= If set to true, the MS is created in migration ready mode.", +"type": "object" +}, +"managementUri": { +"$ref": "ManagementURI", +"description": "Output only. The hostname or ip address of the exposed AGM endpoints, used by clients to connect to AGM/RD graphical user interface and APIs.", +"readOnly": true +}, +"name": { +"description": "Output only. Identifier. The resource name.", +"readOnly": true, +"type": "string" +}, +"networks": { +"description": "Optional. VPC networks to which the ManagementServer instance is connected. For this version, only a single network is supported. This field is optional if MS is created without PSA", +"items": { +"$ref": "NetworkConfig" +}, +"type": "array" +}, +"oauth2ClientId": { +"description": "Output only. The OAuth 2.0 client id is required to make API calls to the BackupDR instance API of this ManagementServer. This is the value that should be provided in the 'aud' field of the OIDC ID Token (see openid specification https://openid.net/specs/openid-connect-core-1_0.html#IDToken).", +"readOnly": true, +"type": "string" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"state": { +"description": "Output only. The ManagementServer state.", +"enum": [ +"INSTANCE_STATE_UNSPECIFIED", +"CREATING", +"READY", +"UPDATING", +"DELETING", +"REPAIRING", +"MAINTENANCE", +"ERROR" +], +"enumDescriptions": [ +"State not set.", +"The instance is being created.", +"The instance has been created and is fully usable.", +"The instance configuration is being updated. Certain kinds of updates may cause the instance to become unusable while the update is in progress.", +"The instance is being deleted.", +"The instance is being repaired and may be unstable.", +"Maintenance is being performed on this instance.", +"The instance is experiencing an issue and might be unusable. You can get further details from the statusMessage field of Instance resource." +], +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Optional. The type of the ManagementServer resource.", +"enum": [ +"INSTANCE_TYPE_UNSPECIFIED", +"BACKUP_RESTORE" +], +"enumDescriptions": [ +"Instance type is not mentioned.", +"Instance for backup and restore management (i.e., AGM)." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. The time when the instance was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"workforceIdentityBasedManagementUri": { +"$ref": "WorkforceIdentityBasedManagementURI", +"description": "Output only. The hostnames of the exposed AGM endpoints for both types of user i.e. 1p and 3p, used to connect AGM/RM UI.", +"readOnly": true +}, +"workforceIdentityBasedOauth2ClientId": { +"$ref": "WorkforceIdentityBasedOAuth2ClientID", +"description": "Output only. The OAuth client IDs for both types of user i.e. 1p and 3p.", +"readOnly": true +} +}, +"type": "object" +}, +"ManagementURI": { +"description": "ManagementURI for the Management Server resource.", +"id": "ManagementURI", +"properties": { +"api": { +"description": "Output only. The ManagementServer AGM/RD API URL.", +"readOnly": true, +"type": "string" +}, +"webUi": { +"description": "Output only. The ManagementServer AGM/RD WebUI URL.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Metadata": { +"description": "A metadata key/value entry.", +"id": "Metadata", +"properties": { +"items": { +"description": "Optional. Array of key/value pairs. The total size of all keys and values must be less than 512 KB.", +"items": { +"$ref": "Entry" +}, +"type": "array" +} +}, +"type": "object" +}, +"NetworkConfig": { +"description": "Network configuration for ManagementServer instance.", +"id": "NetworkConfig", +"properties": { +"network": { +"description": "Optional. The resource name of the Google Compute Engine VPC network to which the ManagementServer instance is connected.", +"type": "string" +}, +"peeringMode": { +"description": "Optional. The network connect mode of the ManagementServer instance. For this version, only PRIVATE_SERVICE_ACCESS is supported.", +"enum": [ +"PEERING_MODE_UNSPECIFIED", +"PRIVATE_SERVICE_ACCESS" +], +"enumDescriptions": [ +"Peering mode not set.", +"Connect using Private Service Access to the Management Server. Private services access provides an IP address range for multiple Google Cloud services, including Cloud BackupDR." +], +"type": "string" +} +}, +"type": "object" +}, +"NetworkInterface": { +"description": "A network interface resource attached to an instance. s", +"id": "NetworkInterface", +"properties": { +"accessConfigs": { +"description": "Optional. An array of configurations for this interface. Currently, only one access config,ONE_TO_ONE_NAT is supported. If there are no accessConfigs specified, then this instance will have no external internet access.", +"items": { +"$ref": "AccessConfig" +}, +"type": "array" +}, +"aliasIpRanges": { +"description": "Optional. An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.", +"items": { +"$ref": "AliasIpRange" +}, +"type": "array" +}, +"internalIpv6PrefixLength": { +"description": "Optional. The prefix length of the primary internal IPv6 range.", +"format": "int32", +"type": "integer" +}, +"ipv6AccessConfigs": { +"description": "Optional. An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.", +"items": { +"$ref": "AccessConfig" +}, +"type": "array" +}, +"ipv6AccessType": { +"description": "Optional. [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.", +"enum": [ +"UNSPECIFIED_IPV6_ACCESS_TYPE", +"INTERNAL", +"EXTERNAL" +], +"enumDescriptions": [ +"IPv6 access type not set. Means this network interface hasn't been turned on IPv6 yet.", +"This network interface can have internal IPv6.", +"This network interface can have external IPv6." +], +"type": "string" +}, +"ipv6Address": { +"description": "Optional. An IPv6 internal network address for this network interface. To use a static internal IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.", +"type": "string" +}, +"name": { +"description": "Output only. [Output Only] The name of the network interface, which is generated by the server.", +"readOnly": true, +"type": "string" +}, +"network": { +"description": "Optional. URL of the VPC network resource for this instance.", +"type": "string" +}, +"networkAttachment": { +"description": "Optional. The URL of the network attachment that this interface should connect to in the following format: projects/{project_number}/regions/{region_name}/networkAttachments/{network_attachment_name}.", +"type": "string" +}, +"networkIP": { +"description": "Optional. An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.", +"type": "string" +}, +"nicType": { +"description": "Optional. The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.", +"enum": [ +"NIC_TYPE_UNSPECIFIED", +"VIRTIO_NET", +"GVNIC" +], +"enumDescriptions": [ +"Default should be NIC_TYPE_UNSPECIFIED.", +"VIRTIO", +"GVNIC" +], +"type": "string" +}, +"queueCount": { +"description": "Optional. The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It'll be empty if not specified by the users.", +"format": "int32", +"type": "integer" +}, +"stackType": { +"description": "The stack type for this network interface.", +"enum": [ +"STACK_TYPE_UNSPECIFIED", +"IPV4_ONLY", +"IPV4_IPV6" +], +"enumDescriptions": [ +"Default should be STACK_TYPE_UNSPECIFIED.", +"The network interface will be assigned IPv4 address.", +"The network interface can have both IPv4 and IPv6 addresses." +], +"type": "string" +}, +"subnetwork": { +"description": "Optional. The URL of the Subnetwork resource for this instance.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkPerformanceConfig": { +"description": "Network performance configuration.", +"id": "NetworkPerformanceConfig", +"properties": { +"totalEgressBandwidthTier": { +"description": "Optional. The tier of the total egress bandwidth.", +"enum": [ +"TIER_UNSPECIFIED", +"DEFAULT", +"TIER_1" +], +"enumDescriptions": [ +"This value is unused.", +"Default network performance config.", +"Tier 1 network performance config." +], +"type": "string" +} +}, +"type": "object" +}, +"NodeAffinity": { +"description": "Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled.", +"id": "NodeAffinity", +"properties": { +"key": { +"description": "Optional. Corresponds to the label key of Node resource.", +"type": "string" +}, +"operator": { +"description": "Optional. Defines the operation of node selection.", +"enum": [ +"OPERATOR_UNSPECIFIED", +"IN", +"NOT_IN" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Requires Compute Engine to seek for matched nodes.", +"Requires Compute Engine to avoid certain nodes." +], +"type": "string" +}, +"values": { +"description": "Optional. Corresponds to the label values of Node resource.", +"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" +}, +"OperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "OperationMetadata", +"properties": { +"additionalInfo": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. AdditionalInfo contains additional Info related to backup plan association resource.", +"readOnly": true, +"type": "object" +}, +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"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" +}, +"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" +}, +"RemoveDataSourceRequest": { +"description": "Message for deleting a DataSource.", +"id": "RemoveDataSourceRequest", +"properties": { +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"type": "string" +} +}, +"type": "object" +}, +"RestoreBackupRequest": { +"description": "Request message for restoring from a Backup.", +"id": "RestoreBackupRequest", +"properties": { +"computeInstanceRestoreProperties": { +"$ref": "ComputeInstanceRestoreProperties", +"description": "Compute Engine instance properties to be overridden during restore." +}, +"computeInstanceTargetEnvironment": { +"$ref": "ComputeInstanceTargetEnvironment", +"description": "Compute Engine target environment to be used during restore." +}, +"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" +}, +"RestoreBackupResponse": { +"description": "Response message for restoring from a Backup.", +"id": "RestoreBackupResponse", +"properties": { +"targetResource": { +"$ref": "TargetResource", +"description": "Details of the target resource created/modified as part of restore." +} +}, +"type": "object" +}, +"RuleConfigInfo": { +"description": "Message for rules config info.", +"id": "RuleConfigInfo", +"properties": { +"lastBackupError": { +"$ref": "Status", +"description": "Output only. google.rpc.Status object to store the last backup error.", +"readOnly": true +}, +"lastBackupState": { +"description": "Output only. The last backup state for rule.", +"enum": [ +"LAST_BACKUP_STATE_UNSPECIFIED", +"FIRST_BACKUP_PENDING", +"PERMISSION_DENIED", +"SUCCEEDED", +"FAILED" +], +"enumDescriptions": [ +"State not set.", +"The first backup is pending.", +"The most recent backup could not be run/failed because of the lack of permissions.", +"The last backup operation succeeded.", +"The last backup operation failed." +], +"readOnly": true, +"type": "string" +}, +"lastSuccessfulBackupConsistencyTime": { +"description": "Output only. The point in time when the last successful backup was captured from the source.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"ruleId": { +"description": "Output only. Backup Rule id fetched from backup plan.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Scheduling": { +"description": "Sets the scheduling options for an Instance.", +"id": "Scheduling", +"properties": { +"automaticRestart": { +"description": "Optional. Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user).", +"type": "boolean" +}, +"instanceTerminationAction": { +"description": "Optional. Specifies the termination action for the instance.", +"enum": [ +"INSTANCE_TERMINATION_ACTION_UNSPECIFIED", +"DELETE", +"STOP" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Delete the VM.", +"Stop the VM without storing in-memory content. default action." +], +"type": "string" +}, +"localSsdRecoveryTimeout": { +"$ref": "SchedulingDuration", +"description": "Optional. Specifies the maximum amount of time a Local Ssd Vm should wait while recovery of the Local Ssd state is attempted. Its value should be in between 0 and 168 hours with hour granularity and the default value being 1 hour." +}, +"minNodeCpus": { +"description": "Optional. The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node.", +"format": "int32", +"type": "integer" +}, +"nodeAffinities": { +"description": "Optional. A set of node affinity and anti-affinity configurations. Overrides reservationAffinity.", +"items": { +"$ref": "NodeAffinity" +}, +"type": "array" +}, +"onHostMaintenance": { +"description": "Optional. Defines the maintenance behavior for this instance.", +"enum": [ +"ON_HOST_MAINTENANCE_UNSPECIFIED", +"TERMINATE", +"MIGRATE" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Tells Compute Engine to terminate and (optionally) restart the instance away from the maintenance activity.", +"Default, Allows Compute Engine to automatically migrate instances out of the way of maintenance events." +], +"type": "string" +}, +"preemptible": { +"description": "Optional. Defines whether the instance is preemptible.", +"type": "boolean" +}, +"provisioningModel": { +"description": "Optional. Specifies the provisioning model of the instance.", +"enum": [ +"PROVISIONING_MODEL_UNSPECIFIED", +"STANDARD", +"SPOT" +], +"enumDescriptions": [ +"Default value. This value is not used.", +"Standard provisioning with user controlled runtime, no discounts.", +"Heavily discounted, no guaranteed runtime." +], +"type": "string" +} +}, +"type": "object" +}, +"SchedulingDuration": { +"description": "A SchedulingDuration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like \"day\" or \"month\". Range is approximately 10,000 years.", +"id": "SchedulingDuration", +"properties": { +"nanos": { +"description": "Optional. Span of time that's a fraction of a second at nanosecond resolution.", +"format": "int32", +"type": "integer" +}, +"seconds": { +"description": "Optional. Span of time at a resolution of a second.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ServiceAccount": { +"description": "A service account.", +"id": "ServiceAccount", +"properties": { +"email": { +"description": "Optional. Email address of the service account.", +"type": "string" +}, +"scopes": { +"description": "Optional. The list of scopes to be made available for this service account.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ServiceLockInfo": { +"description": "ServiceLockInfo represents the details of a lock taken by the service on a Backup resource.", +"id": "ServiceLockInfo", +"properties": { +"operation": { +"description": "Output only. The name of the operation that created this lock. The lock will automatically be released when the operation completes.", +"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" +}, +"SetInternalStatusRequest": { +"description": "Request message for SetStatusInternal method.", +"id": "SetInternalStatusRequest", +"properties": { +"backupConfigState": { +"description": "Required. Output only. The new BackupConfigState to set for the DataSource.", +"enum": [ +"BACKUP_CONFIG_STATE_UNSPECIFIED", +"ACTIVE", +"PASSIVE" +], +"enumDescriptions": [ +"The possible states of backup configuration. Status not set.", +"The data source is actively protected (i.e. there is a BackupPlanAssociation or Appliance SLA pointing to it)", +"The data source is no longer protected (but may have backups under it)" +], +"readOnly": 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. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"type": "string" +}, +"value": { +"description": "Required. The value required for this method to work. This field must be the 32-byte SHA256 hash of the DataSourceID. The DataSourceID used here is only the final piece of the fully qualified resource path for this DataSource (i.e. the part after '.../dataSources/'). This field exists to make this method difficult to call since it is intended for use only by Backup Appliances.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"SetInternalStatusResponse": { +"description": "Response message from SetStatusInternal method.", +"id": "SetInternalStatusResponse", +"properties": {}, +"type": "object" +}, +"StandardSchedule": { +"description": "`StandardSchedule` defines a schedule that run within the confines of a defined window of days. We can define recurrence type for schedule as HOURLY, DAILY, WEEKLY, MONTHLY or YEARLY.", +"id": "StandardSchedule", +"properties": { +"backupWindow": { +"$ref": "BackupWindow", +"description": "Required. A BackupWindow defines the window of day during which backup jobs will run. Jobs are queued at the beginning of the window and will be marked as `NOT_RUN` if they do not start by the end of the window. Note: running jobs will not be cancelled at the end of the window." +}, +"daysOfMonth": { +"description": "Optional. Specifies days of months like 1, 5, or 14 on which jobs will run. Values for `days_of_month` are only applicable for `recurrence_type`, `MONTHLY` and `YEARLY`. A validation error will occur if other values are supplied.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"daysOfWeek": { +"description": "Optional. Specifies days of week like, MONDAY or TUESDAY, on which jobs will run. This is required for `recurrence_type`, `WEEKLY` and is not applicable otherwise. A validation error will occur if a value is supplied and `recurrence_type` is not `WEEKLY`.", +"items": { +"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" +}, +"type": "array" +}, +"hourlyFrequency": { +"description": "Optional. Specifies frequency for hourly backups. A hourly frequency of 2 means jobs will run every 2 hours from start time till end time defined. This is required for `recurrence_type`, `HOURLY` and is not applicable otherwise. A validation error will occur if a value is supplied and `recurrence_type` is not `HOURLY`. Value of hourly frequency should be between 6 and 23. Reason for limit : We found that there is bandwidth limitation of 3GB/S for GMI while taking a backup and 5GB/S while doing a restore. Given the amount of parallel backups and restore we are targeting, this will potentially take the backup time to mins and hours (in worst case scenario).", +"format": "int32", +"type": "integer" +}, +"months": { +"description": "Optional. Specifies the months of year, like `FEBRUARY` and/or `MAY`, on which jobs will run. This field is only applicable when `recurrence_type` is `YEARLY`. A validation error will occur if other values are supplied.", +"items": { +"enum": [ +"MONTH_UNSPECIFIED", +"JANUARY", +"FEBRUARY", +"MARCH", +"APRIL", +"MAY", +"JUNE", +"JULY", +"AUGUST", +"SEPTEMBER", +"OCTOBER", +"NOVEMBER", +"DECEMBER" +], +"enumDescriptions": [ +"The unspecified month.", +"The month of January.", +"The month of February.", +"The month of March.", +"The month of April.", +"The month of May.", +"The month of June.", +"The month of July.", +"The month of August.", +"The month of September.", +"The month of October.", +"The month of November.", +"The month of December." +], +"type": "string" +}, +"type": "array" +}, +"recurrenceType": { +"description": "Required. Specifies the `RecurrenceType` for the schedule.", +"enum": [ +"RECURRENCE_TYPE_UNSPECIFIED", +"HOURLY", +"DAILY", +"WEEKLY", +"MONTHLY", +"YEARLY" +], +"enumDescriptions": [ +"recurrence type not set", +"The `BackupRule` is to be applied hourly.", +"The `BackupRule` is to be applied daily.", +"The `BackupRule` is to be applied weekly.", +"The `BackupRule` is to be applied monthly.", +"The `BackupRule` is to be applied yearly." +], +"type": "string" +}, +"timeZone": { +"description": "Required. The time zone to be used when interpreting the schedule. The value of this field must be a time zone name from the IANA tz database. See https://en.wikipedia.org/wiki/List_of_tz_database_time_zones for the list of valid timezone names. For e.g., Europe/Paris.", +"type": "string" +}, +"weekDayOfMonth": { +"$ref": "WeekDayOfMonth", +"description": "Optional. Specifies a week day of the month like, FIRST SUNDAY or LAST MONDAY, on which jobs will run. This will be specified by two fields in `WeekDayOfMonth`, one for the day, e.g. `MONDAY`, and one for the week, e.g. `LAST`. This field is only applicable for `recurrence_type`, `MONTHLY` and `YEARLY`. A validation error will occur if other values are supplied." +} +}, +"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" +}, +"Tags": { +"description": "A set of instance tags.", +"id": "Tags", +"properties": { +"items": { +"description": "Optional. An array of tags. Each tag must be 1-63 characters long, and comply with RFC1035.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TargetResource": { +"description": "Details of the target resource created/modified as part of restore.", +"id": "TargetResource", +"properties": { +"gcpResource": { +"$ref": "GcpResource", +"description": "Details of the native Google Cloud resource created as part of restore." +} +}, +"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" +}, +"TriggerBackupRequest": { +"description": "Request message for triggering a backup.", +"id": "TriggerBackupRequest", +"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" +}, +"ruleId": { +"description": "Required. backup rule_id for which a backup needs to be triggered.", +"type": "string" +} +}, +"type": "object" +}, +"WeekDayOfMonth": { +"description": "`WeekDayOfMonth` defines the week day of the month on which the backups will run. The message combines a `WeekOfMonth` and `DayOfWeek` to produce values like `FIRST`/`MONDAY` or `LAST`/`FRIDAY`.", +"id": "WeekDayOfMonth", +"properties": { +"dayOfWeek": { +"description": "Required. Specifies the day of the week.", +"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" +}, +"weekOfMonth": { +"description": "Required. Specifies the week of the month.", +"enum": [ +"WEEK_OF_MONTH_UNSPECIFIED", +"FIRST", +"SECOND", +"THIRD", +"FOURTH", +"LAST" +], +"enumDescriptions": [ +"The zero value. Do not use.", +"The first week of the month.", +"The second week of the month.", +"The third week of the month.", +"The fourth week of the month.", +"The last week of the month." +], +"type": "string" +} +}, +"type": "object" +}, +"WorkforceIdentityBasedManagementURI": { +"description": "ManagementURI depending on the Workforce Identity i.e. either 1p or 3p.", +"id": "WorkforceIdentityBasedManagementURI", +"properties": { +"firstPartyManagementUri": { +"description": "Output only. First party Management URI for Google Identities.", +"readOnly": true, +"type": "string" +}, +"thirdPartyManagementUri": { +"description": "Output only. Third party Management URI for External Identity Providers.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"WorkforceIdentityBasedOAuth2ClientID": { +"description": "OAuth Client ID depending on the Workforce Identity i.e. either 1p or 3p,", +"id": "WorkforceIdentityBasedOAuth2ClientID", +"properties": { +"firstPartyOauth2ClientId": { +"description": "Output only. First party OAuth Client ID for Google Identities.", +"readOnly": true, +"type": "string" +}, +"thirdPartyOauth2ClientId": { +"description": "Output only. Third party OAuth Client ID for External Identity Providers.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Backup and DR Service 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/bigqueryconnection.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/bigqueryconnection.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..b20918df1a5228d99511defd5fef39703547d88d --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/bigqueryconnection.v1.json @@ -0,0 +1,1020 @@ +{ +"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://bigqueryconnection.googleapis.com/", +"batchPath": "batch", +"canonicalName": "BigQuery Connection Service", +"description": "Allows users to manage BigQuery connections to external data sources.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/bigquery/docs/connections-api-intro", +"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": "bigqueryconnection:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://bigqueryconnection.mtls.googleapis.com/", +"name": "bigqueryconnection", +"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": { +"connections": { +"methods": { +"create": { +"description": "Creates a new connection.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections", +"httpMethod": "POST", +"id": "bigqueryconnection.projects.locations.connections.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"connectionId": { +"description": "Optional. Connection id that should be assigned to the created connection.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource name. Must be in the format `projects/{project_id}/locations/{location_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/connections", +"request": { +"$ref": "Connection" +}, +"response": { +"$ref": "Connection" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes connection and associated credential.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}", +"httpMethod": "DELETE", +"id": "bigqueryconnection.projects.locations.connections.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the deleted connection, for example: `projects/{project_id}/locations/{location_id}/connections/{connection_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns specified connection.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}", +"httpMethod": "GET", +"id": "bigqueryconnection.projects.locations.connections.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the requested connection, for example: `projects/{project_id}/locations/{location_id}/connections/{connection_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Connection" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"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}/connections/{connectionsId}:getIamPolicy", +"httpMethod": "POST", +"id": "bigqueryconnection.projects.locations.connections.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/[^/]+/connections/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"request": { +"$ref": "GetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Returns a list of connections in the given project.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections", +"httpMethod": "GET", +"id": "bigqueryconnection.projects.locations.connections.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Required. Page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource name. Must be in the form: `projects/{project_id}/locations/{location_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/connections", +"response": { +"$ref": "ListConnectionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the specified connection. For security reasons, also resets credential if connection properties are in the update field mask.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}", +"httpMethod": "PATCH", +"id": "bigqueryconnection.projects.locations.connections.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the connection to update, for example: `projects/{project_id}/locations/{location_id}/connections/{connection_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Update mask for the connection fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Connection" +}, +"response": { +"$ref": "Connection" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"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}/connections/{connectionsId}:setIamPolicy", +"httpMethod": "POST", +"id": "bigqueryconnection.projects.locations.connections.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/[^/]+/connections/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "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}/connections/{connectionsId}:testIamPermissions", +"httpMethod": "POST", +"id": "bigqueryconnection.projects.locations.connections.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/[^/]+/connections/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20240727", +"rootUrl": "https://bigqueryconnection.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" +}, +"AwsAccessRole": { +"description": "Authentication method for Amazon Web Services (AWS) that uses Google owned Google service account to assume into customer's AWS IAM Role.", +"id": "AwsAccessRole", +"properties": { +"iamRoleId": { +"description": "The user\u2019s AWS IAM Role that trusts the Google-owned AWS IAM user Connection.", +"type": "string" +}, +"identity": { +"description": "A unique Google-owned and Google-generated identity for the Connection. This identity will be used to access the user's AWS IAM Role.", +"type": "string" +} +}, +"type": "object" +}, +"AwsProperties": { +"description": "Connection properties specific to Amazon Web Services (AWS).", +"id": "AwsProperties", +"properties": { +"accessRole": { +"$ref": "AwsAccessRole", +"description": "Authentication using Google owned service account to assume into customer's AWS IAM Role." +} +}, +"type": "object" +}, +"AzureProperties": { +"description": "Container for connection properties specific to Azure.", +"id": "AzureProperties", +"properties": { +"application": { +"description": "Output only. The name of the Azure Active Directory Application.", +"readOnly": true, +"type": "string" +}, +"clientId": { +"description": "Output only. The client id of the Azure Active Directory Application.", +"readOnly": true, +"type": "string" +}, +"customerTenantId": { +"description": "The id of customer's directory that host the data.", +"type": "string" +}, +"federatedApplicationClientId": { +"description": "The client ID of the user's Azure Active Directory Application used for a federated connection.", +"type": "string" +}, +"identity": { +"description": "Output only. A unique Google-owned and Google-generated identity for the Connection. This identity will be used to access the user's Azure Active Directory Application.", +"readOnly": true, +"type": "string" +}, +"objectId": { +"description": "Output only. The object id of the Azure Active Directory Application.", +"readOnly": true, +"type": "string" +}, +"redirectUri": { +"description": "The URL user will be redirected to after granting consent during connection setup.", +"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" +}, +"CloudResourceProperties": { +"description": "Container for connection properties for delegation of access to GCP resources.", +"id": "CloudResourceProperties", +"properties": { +"serviceAccountId": { +"description": "Output only. The account ID of the service created for the purpose of this connection. The service account does not have any permissions associated with it when it is created. After creation, customers delegate permissions to the service account. When the connection is used in the context of an operation in BigQuery, the service account will be used to connect to the desired resources in GCP. The account ID is in the form of: @gcp-sa-bigquery-cloudresource.iam.gserviceaccount.com", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"CloudSpannerProperties": { +"description": "Connection properties specific to Cloud Spanner.", +"id": "CloudSpannerProperties", +"properties": { +"database": { +"description": "Cloud Spanner database in the form `project/instance/database'", +"type": "string" +}, +"databaseRole": { +"description": "Optional. Cloud Spanner database role for fine-grained access control. The Cloud Spanner admin should have provisioned the database role with appropriate permissions, such as `SELECT` and `INSERT`. Other users should only use roles provided by their Cloud Spanner admins. For more details, see [About fine-grained access control] (https://cloud.google.com/spanner/docs/fgac-about). REQUIRES: The database role name must start with a letter, and can only contain letters, numbers, and underscores.", +"type": "string" +}, +"maxParallelism": { +"description": "Allows setting max parallelism per query when executing on Spanner independent compute resources. If unspecified, default values of parallelism are chosen that are dependent on the Cloud Spanner instance configuration. REQUIRES: `use_parallelism` must be set. REQUIRES: `use_data_boost` must be set.", +"format": "int32", +"type": "integer" +}, +"useDataBoost": { +"description": "If set, the request will be executed via Spanner independent compute resources. REQUIRES: `use_parallelism` must be set.", +"type": "boolean" +}, +"useParallelism": { +"description": "If parallelism should be used when reading from Cloud Spanner", +"type": "boolean" +}, +"useServerlessAnalytics": { +"deprecated": true, +"description": "Deprecated: prefer use_data_boost instead. If the serverless analytics service should be used to read data from Cloud Spanner. Note: `use_parallelism` must be set when using serverless analytics.", +"type": "boolean" +} +}, +"type": "object" +}, +"CloudSqlCredential": { +"description": "Credential info for the Cloud SQL.", +"id": "CloudSqlCredential", +"properties": { +"password": { +"description": "The password for the credential.", +"type": "string" +}, +"username": { +"description": "The username for the credential.", +"type": "string" +} +}, +"type": "object" +}, +"CloudSqlProperties": { +"description": "Connection properties specific to the Cloud SQL.", +"id": "CloudSqlProperties", +"properties": { +"credential": { +"$ref": "CloudSqlCredential", +"description": "Input only. Cloud SQL credential." +}, +"database": { +"description": "Database name.", +"type": "string" +}, +"instanceId": { +"description": "Cloud SQL instance ID in the form `project:location:instance`.", +"type": "string" +}, +"serviceAccountId": { +"description": "Output only. The account ID of the service used for the purpose of this connection. When the connection is used in the context of an operation in BigQuery, this service account will serve as the identity being used for connecting to the CloudSQL instance specified in this connection.", +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Type of the Cloud SQL database.", +"enum": [ +"DATABASE_TYPE_UNSPECIFIED", +"POSTGRES", +"MYSQL" +], +"enumDescriptions": [ +"Unspecified database type.", +"Cloud SQL for PostgreSQL.", +"Cloud SQL for MySQL." +], +"type": "string" +} +}, +"type": "object" +}, +"Connection": { +"description": "Configuration parameters to establish connection with an external data source, except the credential attributes.", +"id": "Connection", +"properties": { +"aws": { +"$ref": "AwsProperties", +"description": "Amazon Web Services (AWS) properties." +}, +"azure": { +"$ref": "AzureProperties", +"description": "Azure properties." +}, +"cloudResource": { +"$ref": "CloudResourceProperties", +"description": "Cloud Resource properties." +}, +"cloudSpanner": { +"$ref": "CloudSpannerProperties", +"description": "Cloud Spanner properties." +}, +"cloudSql": { +"$ref": "CloudSqlProperties", +"description": "Cloud SQL properties." +}, +"configuration": { +"$ref": "ConnectorConfiguration", +"description": "Optional. Connector configuration." +}, +"creationTime": { +"description": "Output only. The creation timestamp of the connection.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "User provided description.", +"type": "string" +}, +"friendlyName": { +"description": "User provided display name for the connection.", +"type": "string" +}, +"hasCredential": { +"description": "Output only. True, if credential is configured for this connection.", +"readOnly": true, +"type": "boolean" +}, +"kmsKeyName": { +"description": "Optional. The Cloud KMS key that is used for credentials encryption. If omitted, internal Google owned encryption keys are used. Example: `projects/[kms_project_id]/locations/[region]/keyRings/[key_region]/cryptoKeys/[key]`", +"type": "string" +}, +"lastModifiedTime": { +"description": "Output only. The last update timestamp of the connection.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The resource name of the connection in the form of: `projects/{project_id}/locations/{location_id}/connections/{connection_id}`", +"readOnly": true, +"type": "string" +}, +"salesforceDataCloud": { +"$ref": "SalesforceDataCloudProperties", +"description": "Optional. Salesforce DataCloud properties. This field is intended for use only by Salesforce partner projects. This field contains properties for your Salesforce DataCloud connection." +}, +"spark": { +"$ref": "SparkProperties", +"description": "Spark properties." +} +}, +"type": "object" +}, +"ConnectorConfiguration": { +"description": "Represents concrete parameter values for Connector Configuration.", +"id": "ConnectorConfiguration", +"properties": { +"asset": { +"$ref": "ConnectorConfigurationAsset", +"description": "Data asset." +}, +"authentication": { +"$ref": "ConnectorConfigurationAuthentication", +"description": "Client authentication." +}, +"connectorId": { +"description": "Required. Immutable. The ID of the Connector these parameters are configured for.", +"type": "string" +}, +"endpoint": { +"$ref": "ConnectorConfigurationEndpoint", +"description": "Specifies how to reach the remote system this connection is pointing to." +}, +"network": { +"$ref": "ConnectorConfigurationNetwork", +"description": "Networking configuration." +} +}, +"type": "object" +}, +"ConnectorConfigurationAsset": { +"description": "Data Asset - a resource within instance of the system, reachable under specified endpoint. For example a database name in a SQL DB.", +"id": "ConnectorConfigurationAsset", +"properties": { +"database": { +"description": "Name of the database.", +"type": "string" +}, +"googleCloudResource": { +"description": "Full Google Cloud resource name - https://cloud.google.com/apis/design/resource_names#full_resource_name. Example: `//library.googleapis.com/shelves/shelf1/books/book2`", +"type": "string" +} +}, +"type": "object" +}, +"ConnectorConfigurationAuthentication": { +"description": "Client authentication.", +"id": "ConnectorConfigurationAuthentication", +"properties": { +"serviceAccount": { +"description": "Output only. Google-managed service account associated with this connection, e.g., `service-{project_number}@gcp-sa-bigqueryconnection.iam.gserviceaccount.com`. BigQuery jobs using this connection will act as `service_account` identity while connecting to the datasource.", +"readOnly": true, +"type": "string" +}, +"usernamePassword": { +"$ref": "ConnectorConfigurationUsernamePassword", +"description": "Username/password authentication." +} +}, +"type": "object" +}, +"ConnectorConfigurationEndpoint": { +"description": "Remote endpoint specification.", +"id": "ConnectorConfigurationEndpoint", +"properties": { +"hostPort": { +"description": "Host and port in a format of `hostname:port` as defined in https://www.ietf.org/rfc/rfc3986.html#section-3.2.2 and https://www.ietf.org/rfc/rfc3986.html#section-3.2.3.", +"type": "string" +} +}, +"type": "object" +}, +"ConnectorConfigurationNetwork": { +"description": "Network related configuration.", +"id": "ConnectorConfigurationNetwork", +"properties": { +"privateServiceConnect": { +"$ref": "ConnectorConfigurationPrivateServiceConnect", +"description": "Private Service Connect networking configuration." +} +}, +"type": "object" +}, +"ConnectorConfigurationPrivateServiceConnect": { +"description": "Private Service Connect configuration.", +"id": "ConnectorConfigurationPrivateServiceConnect", +"properties": { +"networkAttachment": { +"description": "Required. Network Attachment name in the format of `projects/{project}/regions/{region}/networkAttachments/{networkattachment}`.", +"type": "string" +} +}, +"type": "object" +}, +"ConnectorConfigurationSecret": { +"description": "Secret value parameter.", +"id": "ConnectorConfigurationSecret", +"properties": { +"plaintext": { +"description": "Input only. Secret as plaintext.", +"type": "string" +}, +"secretType": { +"description": "Output only. Indicates type of secret. Can be used to check type of stored secret value even if it's `INPUT_ONLY`.", +"enum": [ +"SECRET_TYPE_UNSPECIFIED", +"PLAINTEXT" +], +"enumDescriptions": [ +"", +"" +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ConnectorConfigurationUsernamePassword": { +"description": "Username and Password authentication.", +"id": "ConnectorConfigurationUsernamePassword", +"properties": { +"password": { +"$ref": "ConnectorConfigurationSecret", +"description": "Required. Password." +}, +"username": { +"description": "Required. Username.", +"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" +}, +"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" +}, +"ListConnectionsResponse": { +"description": "The response for ConnectionService.ListConnections.", +"id": "ListConnectionsResponse", +"properties": { +"connections": { +"description": "List of connections.", +"items": { +"$ref": "Connection" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Next page token.", +"type": "string" +} +}, +"type": "object" +}, +"MetastoreServiceConfig": { +"description": "Configuration of the Dataproc Metastore Service.", +"id": "MetastoreServiceConfig", +"properties": { +"metastoreService": { +"description": "Optional. Resource name of an existing Dataproc Metastore service. Example: * `projects/[project_id]/locations/[region]/services/[service_id]`", +"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" +}, +"SalesforceDataCloudProperties": { +"description": "Connection properties specific to Salesforce DataCloud. This is intended for use only by Salesforce partner projects.", +"id": "SalesforceDataCloudProperties", +"properties": { +"identity": { +"description": "Output only. A unique Google-owned and Google-generated service account identity for the connection.", +"readOnly": true, +"type": "string" +}, +"instanceUri": { +"description": "The URL to the user's Salesforce DataCloud instance.", +"type": "string" +}, +"tenantId": { +"description": "The ID of the user's Salesforce tenant.", +"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" +}, +"SparkHistoryServerConfig": { +"description": "Configuration of the Spark History Server.", +"id": "SparkHistoryServerConfig", +"properties": { +"dataprocCluster": { +"description": "Optional. Resource name of an existing Dataproc Cluster to act as a Spark History Server for the connection. Example: * `projects/[project_id]/regions/[region]/clusters/[cluster_name]`", +"type": "string" +} +}, +"type": "object" +}, +"SparkProperties": { +"description": "Container for connection properties to execute stored procedures for Apache Spark.", +"id": "SparkProperties", +"properties": { +"metastoreServiceConfig": { +"$ref": "MetastoreServiceConfig", +"description": "Optional. Dataproc Metastore Service configuration for the connection." +}, +"serviceAccountId": { +"description": "Output only. The account ID of the service created for the purpose of this connection. The service account does not have any permissions associated with it when it is created. After creation, customers delegate permissions to the service account. When the connection is used in the context of a stored procedure for Apache Spark in BigQuery, the service account is used to connect to the desired resources in Google Cloud. The account ID is in the form of: bqcx--@gcp-sa-bigquery-consp.iam.gserviceaccount.com", +"readOnly": true, +"type": "string" +}, +"sparkHistoryServerConfig": { +"$ref": "SparkHistoryServerConfig", +"description": "Optional. Spark History Server configuration for the connection." +} +}, +"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": "BigQuery Connection 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/bigqueryreservation.v1beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/bigqueryreservation.v1beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..da6e3d8efbf1211992ab7dd92071a19f1f921b61 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/bigqueryreservation.v1beta1.json @@ -0,0 +1,1181 @@ +{ + "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://bigqueryreservation.googleapis.com/", + "batchPath": "batch", + "canonicalName": "BigQuery Reservation", + "description": "A service to modify your BigQuery flat-rate reservations.", + "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": "bigqueryreservation:v1beta1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://bigqueryreservation.mtls.googleapis.com/", + "name": "bigqueryreservation", + "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": { + "getBiReservation": { + "description": "Retrieves a BI reservation.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/biReservation", + "httpMethod": "GET", + "id": "bigqueryreservation.projects.locations.getBiReservation", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the requested reservation, for example: `projects/{project_id}/locations/{location_id}/biReservation`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/biReservation$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "BiReservation" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "searchAssignments": { + "description": "Looks up assignments for a specified resource for a particular region. If the request is about a project: 1. Assignments created on the project will be returned if they exist. 2. Otherwise assignments created on the closest ancestor will be returned. 3. Assignments for different JobTypes will all be returned. The same logic applies if the request is about a folder. If the request is about an organization, then assignments created on the organization will be returned (organization doesn't have ancestors). Comparing to ListAssignments, there are some behavior differences: 1. permission on the assignee will be verified in this API. 2. Hierarchy lookup (project->folder->organization) happens in this API. 3. Parent here is `projects/*/locations/*`, instead of `projects/*/locations/*reservations/*`. **Note** \"-\" cannot be used for projects nor locations.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}:searchAssignments", + "httpMethod": "GET", + "id": "bigqueryreservation.projects.locations.searchAssignments", + "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 resource name of the admin project(containing project and location), e.g.: `projects/myproject/locations/US`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "query": { + "description": "Please specify resource name as assignee in the query. Examples: * `assignee=projects/myproject` * `assignee=folders/123` * `assignee=organizations/456`", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}:searchAssignments", + "response": { + "$ref": "SearchAssignmentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateBiReservation": { + "description": "Updates a BI reservation. Only fields specified in the `field_mask` are updated. A singleton BI reservation always exists with default size 0. In order to reserve BI capacity it needs to be updated to an amount greater than 0. In order to release BI capacity reservation size must be set to 0.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/biReservation", + "httpMethod": "PATCH", + "id": "bigqueryreservation.projects.locations.updateBiReservation", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the singleton BI reservation. Reservation names have the form `projects/{project_id}/locations/{location_id}/biReservation`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/biReservation$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "A list of fields to be updated in this request.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "BiReservation" + }, + "response": { + "$ref": "BiReservation" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "capacityCommitments": { + "methods": { + "create": { + "description": "Creates a new capacity commitment resource.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/capacityCommitments", + "httpMethod": "POST", + "id": "bigqueryreservation.projects.locations.capacityCommitments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "capacityCommitmentId": { + "description": "The optional capacity commitment ID. Capacity commitment name will be generated automatically if this field is empty. This field must only contain lower case alphanumeric characters or dashes. The first and last character cannot be a dash. Max length is 64 characters. NOTE: this ID won't be kept if the capacity commitment is split or merged.", + "location": "query", + "type": "string" + }, + "enforceSingleAdminProjectPerOrg": { + "description": "If true, fail the request if another project in the organization has a capacity commitment.", + "location": "query", + "type": "boolean" + }, + "parent": { + "description": "Required. Resource name of the parent reservation. E.g., `projects/myproject/locations/US`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/capacityCommitments", + "request": { + "$ref": "CapacityCommitment" + }, + "response": { + "$ref": "CapacityCommitment" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a capacity commitment. Attempting to delete capacity commitment before its commitment_end_time will fail with the error code `google.rpc.Code.FAILED_PRECONDITION`.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/capacityCommitments/{capacityCommitmentsId}", + "httpMethod": "DELETE", + "id": "bigqueryreservation.projects.locations.capacityCommitments.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "force": { + "description": "Can be used to force delete commitments even if assignments exist. Deleting commitments with assignments may cause queries to fail if they no longer have access to slots.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. Resource name of the capacity commitment to delete. E.g., `projects/myproject/locations/US/capacityCommitments/123`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/capacityCommitments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns information about the capacity commitment.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/capacityCommitments/{capacityCommitmentsId}", + "httpMethod": "GET", + "id": "bigqueryreservation.projects.locations.capacityCommitments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name of the capacity commitment to retrieve. E.g., `projects/myproject/locations/US/capacityCommitments/123`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/capacityCommitments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "CapacityCommitment" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all the capacity commitments for the admin project.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/capacityCommitments", + "httpMethod": "GET", + "id": "bigqueryreservation.projects.locations.capacityCommitments.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. Resource name of the parent reservation. E.g., `projects/myproject/locations/US`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/capacityCommitments", + "response": { + "$ref": "ListCapacityCommitmentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "merge": { + "description": "Merges capacity commitments of the same plan into a single commitment. The resulting capacity commitment has the greater commitment_end_time out of the to-be-merged capacity commitments. Attempting to merge capacity commitments of different plan will fail with the error code `google.rpc.Code.FAILED_PRECONDITION`.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/capacityCommitments:merge", + "httpMethod": "POST", + "id": "bigqueryreservation.projects.locations.capacityCommitments.merge", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Parent resource that identifies admin project and location e.g., `projects/myproject/locations/us`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/capacityCommitments:merge", + "request": { + "$ref": "MergeCapacityCommitmentsRequest" + }, + "response": { + "$ref": "CapacityCommitment" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an existing capacity commitment. Only `plan` and `renewal_plan` fields can be updated. Plan can only be changed to a plan of a longer commitment period. Attempting to change to a plan with shorter commitment period will fail with the error code `google.rpc.Code.FAILED_PRECONDITION`.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/capacityCommitments/{capacityCommitmentsId}", + "httpMethod": "PATCH", + "id": "bigqueryreservation.projects.locations.capacityCommitments.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The resource name of the capacity commitment, e.g., `projects/myproject/locations/US/capacityCommitments/123` The commitment_id must only contain lower case alphanumeric characters or dashes. It must start with a letter and must not end with a dash. Its maximum length is 64 characters.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/capacityCommitments/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Standard field mask for the set of fields to be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "CapacityCommitment" + }, + "response": { + "$ref": "CapacityCommitment" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "split": { + "description": "Splits capacity commitment to two commitments of the same plan and `commitment_end_time`. A common use case is to enable downgrading commitments. For example, in order to downgrade from 10000 slots to 8000, you might split a 10000 capacity commitment into commitments of 2000 and 8000. Then, you delete the first one after the commitment end time passes.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/capacityCommitments/{capacityCommitmentsId}:split", + "httpMethod": "POST", + "id": "bigqueryreservation.projects.locations.capacityCommitments.split", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name e.g.,: `projects/myproject/locations/US/capacityCommitments/123`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/capacityCommitments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:split", + "request": { + "$ref": "SplitCapacityCommitmentRequest" + }, + "response": { + "$ref": "SplitCapacityCommitmentResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "reservations": { + "methods": { + "create": { + "description": "Creates a new reservation resource.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reservations", + "httpMethod": "POST", + "id": "bigqueryreservation.projects.locations.reservations.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Project, location. E.g., `projects/myproject/locations/US`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "reservationId": { + "description": "The reservation ID. It must only contain lower case alphanumeric characters or dashes. It must start with a letter and must not end with a dash. Its maximum length is 64 characters.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/reservations", + "request": { + "$ref": "Reservation" + }, + "response": { + "$ref": "Reservation" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a reservation. Returns `google.rpc.Code.FAILED_PRECONDITION` when reservation has assignments.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}", + "httpMethod": "DELETE", + "id": "bigqueryreservation.projects.locations.reservations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name of the reservation to retrieve. E.g., `projects/myproject/locations/US/reservations/team1-prod`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns information about the reservation.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}", + "httpMethod": "GET", + "id": "bigqueryreservation.projects.locations.reservations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name of the reservation to retrieve. E.g., `projects/myproject/locations/US/reservations/team1-prod`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Reservation" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all the reservations for the project in the specified location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reservations", + "httpMethod": "GET", + "id": "bigqueryreservation.projects.locations.reservations.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Can be used to filter out reservations based on names, capacity, etc, e.g.: filter=\"reservation.slot_capacity > 200\" filter=\"reservation.name = \\\"*dev/*\\\"\" Advanced filtering syntax can be [here](https://cloud.google.com/logging/docs/view/advanced-filters).", + "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 containing project and location, e.g.: `projects/myproject/locations/US`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/reservations", + "response": { + "$ref": "ListReservationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an existing reservation resource.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}", + "httpMethod": "PATCH", + "id": "bigqueryreservation.projects.locations.reservations.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the reservation, e.g., `projects/*/locations/*/reservations/team1-prod`. The reservation_id must only contain lower case alphanumeric characters or dashes. It must start with a letter and must not end with a dash. Its maximum length is 64 characters.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Standard field mask for the set of fields to be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "Reservation" + }, + "response": { + "$ref": "Reservation" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "assignments": { + "methods": { + "create": { + "description": "Creates an assignment object which allows the given project to submit jobs of a certain type using slots from the specified reservation. Currently a resource (project, folder, organization) can only have one assignment per each (job_type, location) combination, and that reservation will be used for all jobs of the matching type. Different assignments can be created on different levels of the projects, folders or organization hierarchy. During query execution, the assignment is looked up at the project, folder and organization levels in that order. The first assignment found is applied to the query. When creating assignments, it does not matter if other assignments exist at higher levels. Example: * The organization `organizationA` contains two projects, `project1` and `project2`. * Assignments for all three entities (`organizationA`, `project1`, and `project2`) could all be created and mapped to the same or different reservations. \"None\" assignments represent an absence of the assignment. Projects assigned to None use on-demand pricing. To create a \"None\" assignment, use \"none\" as a reservation_id in the parent. Example parent: `projects/myproject/locations/US/reservations/none`. Returns `google.rpc.Code.PERMISSION_DENIED` if user does not have 'bigquery.admin' permissions on the project using the reservation and the project that owns this reservation. Returns `google.rpc.Code.INVALID_ARGUMENT` when location of the assignment does not match location of the reservation.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}/assignments", + "httpMethod": "POST", + "id": "bigqueryreservation.projects.locations.reservations.assignments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "assignmentId": { + "description": "The optional assignment ID. Assignment name will be generated automatically if this field is empty. This field must only contain lower case alphanumeric characters or dashes. Max length is 64 characters.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name of the assignment E.g. `projects/myproject/locations/US/reservations/team1-prod`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/assignments", + "request": { + "$ref": "Assignment" + }, + "response": { + "$ref": "Assignment" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a assignment. No expansion will happen. Example: * Organization `organizationA` contains two projects, `project1` and `project2`. * Reservation `res1` exists and was created previously. * CreateAssignment was used previously to define the following associations between entities and reservations: `` and `` In this example, deletion of the `` assignment won't affect the other assignment ``. After said deletion, queries from `project1` will still use `res1` while queries from `project2` will switch to use on-demand mode.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}/assignments/{assignmentsId}", + "httpMethod": "DELETE", + "id": "bigqueryreservation.projects.locations.reservations.assignments.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource, e.g. `projects/myproject/locations/US/reservations/team1-prod/assignments/123`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+/assignments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists assignments. Only explicitly created assignments will be returned. Example: * Organization `organizationA` contains two projects, `project1` and `project2`. * Reservation `res1` exists and was created previously. * CreateAssignment was used previously to define the following associations between entities and reservations: `` and `` In this example, ListAssignments will just return the above two assignments for reservation `res1`, and no expansion/merge will happen. The wildcard \"-\" can be used for reservations in the request. In that case all assignments belongs to the specified project and location will be listed. **Note** \"-\" cannot be used for projects nor locations.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}/assignments", + "httpMethod": "GET", + "id": "bigqueryreservation.projects.locations.reservations.assignments.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 e.g.: `projects/myproject/locations/US/reservations/team1-prod` Or: `projects/myproject/locations/US/reservations/-`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/assignments", + "response": { + "$ref": "ListAssignmentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "move": { + "description": "Moves an assignment under a new reservation. This differs from removing an existing assignment and recreating a new one by providing a transactional change that ensures an assignee always has an associated reservation.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}/assignments/{assignmentsId}:move", + "httpMethod": "POST", + "id": "bigqueryreservation.projects.locations.reservations.assignments.move", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the assignment, e.g. `projects/myproject/locations/US/reservations/team1-prod/assignments/123`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+/assignments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:move", + "request": { + "$ref": "MoveAssignmentRequest" + }, + "response": { + "$ref": "Assignment" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an existing assignment. Only the `priority` field can be updated.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}/assignments/{assignmentsId}", + "httpMethod": "PATCH", + "id": "bigqueryreservation.projects.locations.reservations.assignments.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. Name of the resource. E.g.: `projects/myproject/locations/US/reservations/team1-prod/assignments/123`. The assignment_id must only contain lower case alphanumeric characters or dashes and the max length is 64 characters.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+/assignments/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Standard field mask for the set of fields to be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "Assignment" + }, + "response": { + "$ref": "Assignment" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + }, + "revision": "20221016", + "rootUrl": "https://bigqueryreservation.googleapis.com/", + "schemas": { + "Assignment": { + "description": "An assignment allows a project to submit jobs of a certain type using slots from the specified reservation.", + "id": "Assignment", + "properties": { + "assignee": { + "description": "The resource which will use the reservation. E.g. `projects/myproject`, `folders/123`, or `organizations/456`.", + "type": "string" + }, + "jobType": { + "description": "Which type of jobs will use the reservation.", + "enum": [ + "JOB_TYPE_UNSPECIFIED", + "PIPELINE", + "QUERY", + "ML_EXTERNAL" + ], + "enumDescriptions": [ + "Invalid type. Requests with this value will be rejected with error code `google.rpc.Code.INVALID_ARGUMENT`.", + "Pipeline (load/export) jobs from the project will use the reservation.", + "Query jobs from the project will use the reservation.", + "BigQuery ML jobs that use services external to BigQuery for model training. These jobs will not utilize idle slots from other reservations." + ], + "type": "string" + }, + "name": { + "description": "Output only. Name of the resource. E.g.: `projects/myproject/locations/US/reservations/team1-prod/assignments/123`. The assignment_id must only contain lower case alphanumeric characters or dashes and the max length is 64 characters.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. State of the assignment.", + "enum": [ + "STATE_UNSPECIFIED", + "PENDING", + "ACTIVE" + ], + "enumDescriptions": [ + "Invalid state value.", + "Queries from assignee will be executed as on-demand, if related assignment is pending.", + "Assignment is ready." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "BiReservation": { + "description": "Represents a BI Reservation.", + "id": "BiReservation", + "properties": { + "name": { + "description": "The resource name of the singleton BI reservation. Reservation names have the form `projects/{project_id}/locations/{location_id}/biReservation`.", + "type": "string" + }, + "preferredTables": { + "description": "Preferred tables to use BI capacity for.", + "items": { + "$ref": "TableReference" + }, + "type": "array" + }, + "size": { + "description": "Size of a reservation, in bytes.", + "format": "int64", + "type": "string" + }, + "updateTime": { + "description": "Output only. The last update timestamp of a reservation.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CapacityCommitment": { + "description": "Capacity commitment is a way to purchase compute capacity for BigQuery jobs (in the form of slots) with some committed period of usage. Annual commitments renew by default. Commitments can be removed after their commitment end time passes. In order to remove annual commitment, its plan needs to be changed to monthly or flex first. A capacity commitment resource exists as a child resource of the admin project.", + "id": "CapacityCommitment", + "properties": { + "commitmentEndTime": { + "description": "Output only. The end of the current commitment period. It is applicable only for ACTIVE capacity commitments.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "commitmentStartTime": { + "description": "Output only. The start of the current commitment period. It is applicable only for ACTIVE capacity commitments.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "failureStatus": { + "$ref": "Status", + "description": "Output only. For FAILED commitment plan, provides the reason of failure.", + "readOnly": true + }, + "multiRegionAuxiliary": { + "description": "Applicable only for commitments located within one of the BigQuery multi-regions (US or EU). If set to true, this commitment is placed in the organization's secondary region which is designated for disaster recovery purposes. If false, this commitment is placed in the organization's default region.", + "type": "boolean" + }, + "name": { + "description": "Output only. The resource name of the capacity commitment, e.g., `projects/myproject/locations/US/capacityCommitments/123` The commitment_id must only contain lower case alphanumeric characters or dashes. It must start with a letter and must not end with a dash. Its maximum length is 64 characters.", + "readOnly": true, + "type": "string" + }, + "plan": { + "description": "Capacity commitment commitment plan.", + "enum": [ + "COMMITMENT_PLAN_UNSPECIFIED", + "FLEX", + "TRIAL", + "MONTHLY", + "ANNUAL" + ], + "enumDescriptions": [ + "Invalid plan value. Requests with this value will be rejected with error code `google.rpc.Code.INVALID_ARGUMENT`.", + "Flex commitments have committed period of 1 minute after becoming ACTIVE. After that, they are not in a committed period anymore and can be removed any time.", + "Trial commitments have a committed period of 182 days after becoming ACTIVE. After that, they are converted to a new commitment based on the `renewal_plan`. Default `renewal_plan` for Trial commitment is Flex so that it can be deleted right after committed period ends.", + "Monthly commitments have a committed period of 30 days after becoming ACTIVE. After that, they are not in a committed period anymore and can be removed any time.", + "Annual commitments have a committed period of 365 days after becoming ACTIVE. After that they are converted to a new commitment based on the renewal_plan." + ], + "type": "string" + }, + "renewalPlan": { + "description": "The plan this capacity commitment is converted to after commitment_end_time passes. Once the plan is changed, committed period is extended according to commitment plan. Only applicable for ANNUAL commitments.", + "enum": [ + "COMMITMENT_PLAN_UNSPECIFIED", + "FLEX", + "TRIAL", + "MONTHLY", + "ANNUAL" + ], + "enumDescriptions": [ + "Invalid plan value. Requests with this value will be rejected with error code `google.rpc.Code.INVALID_ARGUMENT`.", + "Flex commitments have committed period of 1 minute after becoming ACTIVE. After that, they are not in a committed period anymore and can be removed any time.", + "Trial commitments have a committed period of 182 days after becoming ACTIVE. After that, they are converted to a new commitment based on the `renewal_plan`. Default `renewal_plan` for Trial commitment is Flex so that it can be deleted right after committed period ends.", + "Monthly commitments have a committed period of 30 days after becoming ACTIVE. After that, they are not in a committed period anymore and can be removed any time.", + "Annual commitments have a committed period of 365 days after becoming ACTIVE. After that they are converted to a new commitment based on the renewal_plan." + ], + "type": "string" + }, + "slotCount": { + "description": "Number of slots in this commitment.", + "format": "int64", + "type": "string" + }, + "state": { + "description": "Output only. State of the commitment.", + "enum": [ + "STATE_UNSPECIFIED", + "PENDING", + "ACTIVE", + "FAILED" + ], + "enumDescriptions": [ + "Invalid state value.", + "Capacity commitment is pending provisioning. Pending capacity commitment does not contribute to the project's slot_capacity.", + "Once slots are provisioned, capacity commitment becomes active. slot_count is added to the project's slot_capacity.", + "Capacity commitment is failed to be activated by the backend." + ], + "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" + }, + "ListAssignmentsResponse": { + "description": "The response for ReservationService.ListAssignments.", + "id": "ListAssignmentsResponse", + "properties": { + "assignments": { + "description": "List of assignments visible to the user.", + "items": { + "$ref": "Assignment" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "type": "string" + } + }, + "type": "object" + }, + "ListCapacityCommitmentsResponse": { + "description": "The response for ReservationService.ListCapacityCommitments.", + "id": "ListCapacityCommitmentsResponse", + "properties": { + "capacityCommitments": { + "description": "List of capacity commitments visible to the user.", + "items": { + "$ref": "CapacityCommitment" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "type": "string" + } + }, + "type": "object" + }, + "ListReservationsResponse": { + "description": "The response for ReservationService.ListReservations.", + "id": "ListReservationsResponse", + "properties": { + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "type": "string" + }, + "reservations": { + "description": "List of reservations visible to the user.", + "items": { + "$ref": "Reservation" + }, + "type": "array" + } + }, + "type": "object" + }, + "MergeCapacityCommitmentsRequest": { + "description": "The request for ReservationService.MergeCapacityCommitments.", + "id": "MergeCapacityCommitmentsRequest", + "properties": { + "capacityCommitmentIds": { + "description": "Ids of capacity commitments to merge. These capacity commitments must exist under admin project and location specified in the parent. ID is the last portion of capacity commitment name e.g., 'abc' for projects/myproject/locations/US/capacityCommitments/abc", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "MoveAssignmentRequest": { + "description": "The request for ReservationService.MoveAssignment. **Note**: \"bigquery.reservationAssignments.create\" permission is required on the destination_id. **Note**: \"bigquery.reservationAssignments.create\" and \"bigquery.reservationAssignments.delete\" permission are required on the related assignee.", + "id": "MoveAssignmentRequest", + "properties": { + "destinationId": { + "description": "The new reservation ID, e.g.: `projects/myotherproject/locations/US/reservations/team2-prod`", + "type": "string" + } + }, + "type": "object" + }, + "Reservation": { + "description": "A reservation is a mechanism used to guarantee slots to users.", + "id": "Reservation", + "properties": { + "concurrency": { + "description": "Job concurrency target which sets a soft upper bound on the number of jobs that can run concurrently in this reservation. This is a soft target due to asynchronous nature of the system and various optimizations for small queries. Default value is 0 which means that concurrency target will be automatically computed by the system. NOTE: this field is exposed as `target_job_concurrency` in the Information Schema, DDL and BQ CLI.", + "format": "int64", + "type": "string" + }, + "creationTime": { + "description": "Output only. Creation time of the reservation.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "ignoreIdleSlots": { + "description": "If false, any query or pipeline job using this reservation will use idle slots from other reservations within the same admin project. If true, a query or pipeline job using this reservation will execute with the slot capacity specified in the slot_capacity field at most.", + "type": "boolean" + }, + "multiRegionAuxiliary": { + "description": "Applicable only for reservations located within one of the BigQuery multi-regions (US or EU). If set to true, this reservation is placed in the organization's secondary region which is designated for disaster recovery purposes. If false, this reservation is placed in the organization's default region.", + "type": "boolean" + }, + "name": { + "description": "The resource name of the reservation, e.g., `projects/*/locations/*/reservations/team1-prod`. The reservation_id must only contain lower case alphanumeric characters or dashes. It must start with a letter and must not end with a dash. Its maximum length is 64 characters.", + "type": "string" + }, + "slotCapacity": { + "description": "Minimum slots available to this reservation. A slot is a unit of computational power in BigQuery, and serves as the unit of parallelism. Queries using this reservation might use more slots during runtime if ignore_idle_slots is set to false. If the new reservation's slot capacity exceeds the project's slot capacity or if total slot capacity of the new reservation and its siblings exceeds the project's slot capacity, the request will fail with `google.rpc.Code.RESOURCE_EXHAUSTED`. NOTE: for reservations in US or EU multi-regions, slot capacity constraints are checked separately for default and auxiliary regions. See multi_region_auxiliary flag for more details.", + "format": "int64", + "type": "string" + }, + "updateTime": { + "description": "Output only. Last update time of the reservation.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "SearchAssignmentsResponse": { + "description": "The response for ReservationService.SearchAssignments.", + "id": "SearchAssignmentsResponse", + "properties": { + "assignments": { + "description": "List of assignments visible to the user.", + "items": { + "$ref": "Assignment" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "type": "string" + } + }, + "type": "object" + }, + "SplitCapacityCommitmentRequest": { + "description": "The request for ReservationService.SplitCapacityCommitment.", + "id": "SplitCapacityCommitmentRequest", + "properties": { + "slotCount": { + "description": "Number of slots in the capacity commitment after the split.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "SplitCapacityCommitmentResponse": { + "description": "The response for ReservationService.SplitCapacityCommitment.", + "id": "SplitCapacityCommitmentResponse", + "properties": { + "first": { + "$ref": "CapacityCommitment", + "description": "First capacity commitment, result of a split." + }, + "second": { + "$ref": "CapacityCommitment", + "description": "Second capacity commitment, result of a split." + } + }, + "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" + }, + "TableReference": { + "description": "Fully qualified reference to BigQuery table. Internally stored as google.cloud.bi.v1.BqTableReference.", + "id": "TableReference", + "properties": { + "datasetId": { + "description": "The ID of the dataset in the above project.", + "type": "string" + }, + "projectId": { + "description": "The assigned project ID of the project.", + "type": "string" + }, + "tableId": { + "description": "The ID of the table in the above dataset.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "BigQuery Reservation 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/billingbudgets.v1beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/billingbudgets.v1beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..d95dc943d65ed7dc823c1b7d970a39ab18022c2b --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/billingbudgets.v1beta1.json @@ -0,0 +1,606 @@ +{ +"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-platform": { +"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +} +} +} +}, +"basePath": "", +"baseUrl": "https://billingbudgets.googleapis.com/", +"batchPath": "batch", +"canonicalName": "CloudBillingBudget", +"description": "The Cloud Billing Budget API stores Cloud Billing budgets, which define a budget plan and the rules to execute as spend is tracked against that plan.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/billing/docs/how-to/budget-api-overview", +"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": "billingbudgets:v1beta1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://billingbudgets.mtls.googleapis.com/", +"name": "billingbudgets", +"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": { +"resources": { +"budgets": { +"methods": { +"create": { +"description": "Creates a new budget. See [Quotas and limits](https://cloud.google.com/billing/quotas) for more information on the limits of the number of budgets you can create.", +"flatPath": "v1beta1/billingAccounts/{billingAccountsId}/budgets", +"httpMethod": "POST", +"id": "billingbudgets.billingAccounts.budgets.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the billing account to create the budget in. Values are of the form `billingAccounts/{billingAccountId}`.", +"location": "path", +"pattern": "^billingAccounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/budgets", +"request": { +"$ref": "GoogleCloudBillingBudgetsV1beta1CreateBudgetRequest" +}, +"response": { +"$ref": "GoogleCloudBillingBudgetsV1beta1Budget" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a budget. Returns successfully if already deleted.", +"flatPath": "v1beta1/billingAccounts/{billingAccountsId}/budgets/{budgetsId}", +"httpMethod": "DELETE", +"id": "billingbudgets.billingAccounts.budgets.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the budget to delete. Values are of the form `billingAccounts/{billingAccountId}/budgets/{budgetId}`.", +"location": "path", +"pattern": "^billingAccounts/[^/]+/budgets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns a budget. WARNING: There are some fields exposed on the Google Cloud Console that aren't available on this API. When reading from the API, you will not see these fields in the return value, though they may have been set in the Cloud Console.", +"flatPath": "v1beta1/billingAccounts/{billingAccountsId}/budgets/{budgetsId}", +"httpMethod": "GET", +"id": "billingbudgets.billingAccounts.budgets.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of budget to get. Values are of the form `billingAccounts/{billingAccountId}/budgets/{budgetId}`.", +"location": "path", +"pattern": "^billingAccounts/[^/]+/budgets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudBillingBudgetsV1beta1Budget" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Returns a list of budgets for a billing account. WARNING: There are some fields exposed on the Google Cloud Console that aren't available on this API. When reading from the API, you will not see these fields in the return value, though they may have been set in the Cloud Console.", +"flatPath": "v1beta1/billingAccounts/{billingAccountsId}/budgets", +"httpMethod": "GET", +"id": "billingbudgets.billingAccounts.budgets.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of budgets to return per page. The default and maximum value are 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The value returned by the last `ListBudgetsResponse` which indicates that this is a continuation of a prior `ListBudgets` call, and that the system should return the next page of data.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Name of billing account to list budgets under. Values are of the form `billingAccounts/{billingAccountId}`.", +"location": "path", +"pattern": "^billingAccounts/[^/]+$", +"required": true, +"type": "string" +}, +"scope": { +"description": "Optional. Set the scope of the budgets to be returned, in the format of the resource name. The scope of a budget is the cost that it tracks, such as costs for a single project, or the costs for all projects in a folder. Only project scope (in the format of \"projects/project-id\" or \"projects/123\") is supported in this field. When this field is set to a project's resource name, the budgets returned are tracking the costs for that project.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/budgets", +"response": { +"$ref": "GoogleCloudBillingBudgetsV1beta1ListBudgetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a budget and returns the updated budget. WARNING: There are some fields exposed on the Google Cloud Console that aren't available on this API. Budget fields that are not exposed in this API will not be changed by this method.", +"flatPath": "v1beta1/billingAccounts/{billingAccountsId}/budgets/{budgetsId}", +"httpMethod": "PATCH", +"id": "billingbudgets.billingAccounts.budgets.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name of the budget. The resource name implies the scope of a budget. Values are of the form `billingAccounts/{billingAccountId}/budgets/{budgetId}`.", +"location": "path", +"pattern": "^billingAccounts/[^/]+/budgets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudBillingBudgetsV1beta1UpdateBudgetRequest" +}, +"response": { +"$ref": "GoogleCloudBillingBudgetsV1beta1Budget" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +}, +"revision": "20240707", +"rootUrl": "https://billingbudgets.googleapis.com/", +"schemas": { +"GoogleCloudBillingBudgetsV1beta1AllUpdatesRule": { +"description": "AllUpdatesRule defines notifications that are sent based on budget spend and thresholds.", +"id": "GoogleCloudBillingBudgetsV1beta1AllUpdatesRule", +"properties": { +"disableDefaultIamRecipients": { +"description": "Optional. When set to true, disables default notifications sent when a threshold is exceeded. Default notifications are sent to those with Billing Account Administrator and Billing Account User IAM roles for the target account.", +"type": "boolean" +}, +"enableProjectLevelRecipients": { +"description": "Optional. When set to true, and when the budget has a single project configured, notifications will be sent to project level recipients of that project. This field will be ignored if the budget has multiple or no project configured. Currently, project level recipients are the users with `Owner` role on a cloud project.", +"type": "boolean" +}, +"monitoringNotificationChannels": { +"description": "Optional. Targets to send notifications to when a threshold is exceeded. This is in addition to default recipients who have billing account IAM roles. The value is the full REST resource name of a monitoring notification channel with the form `projects/{project_id}/notificationChannels/{channel_id}`. A maximum of 5 channels are allowed. See https://cloud.google.com/billing/docs/how-to/budgets-notification-recipients for more details.", +"items": { +"type": "string" +}, +"type": "array" +}, +"pubsubTopic": { +"description": "Optional. The name of the Pub/Sub topic where budget related messages will be published, in the form `projects/{project_id}/topics/{topic_id}`. Updates are sent at regular intervals to the topic. The topic needs to be created before the budget is created; see https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications for more details. Caller is expected to have `pubsub.topics.setIamPolicy` permission on the topic when it's set for a budget, otherwise, the API call will fail with PERMISSION_DENIED. See https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#permissions_required_for_this_task for more details on Pub/Sub roles and permissions.", +"type": "string" +}, +"schemaVersion": { +"description": "Optional. Required when AllUpdatesRule.pubsub_topic is set. The schema version of the notification sent to AllUpdatesRule.pubsub_topic. Only \"1.0\" is accepted. It represents the JSON schema as defined in https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#notification_format.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBillingBudgetsV1beta1Budget": { +"description": "A budget is a plan that describes what you expect to spend on Cloud projects, plus the rules to execute as spend is tracked against that plan, (for example, send an alert when 90% of the target spend is met). The budget time period is configurable, with options such as month (default), quarter, year, or custom time period.", +"id": "GoogleCloudBillingBudgetsV1beta1Budget", +"properties": { +"allUpdatesRule": { +"$ref": "GoogleCloudBillingBudgetsV1beta1AllUpdatesRule", +"description": "Optional. Rules to apply to notifications sent based on budget spend and thresholds." +}, +"amount": { +"$ref": "GoogleCloudBillingBudgetsV1beta1BudgetAmount", +"description": "Required. Budgeted amount." +}, +"budgetFilter": { +"$ref": "GoogleCloudBillingBudgetsV1beta1Filter", +"description": "Optional. Filters that define which resources are used to compute the actual spend against the budget amount, such as projects, services, and the budget's time period, as well as other filters." +}, +"displayName": { +"description": "User data for display name in UI. Validation: <= 60 chars.", +"type": "string" +}, +"etag": { +"description": "Optional. Etag to validate that the object is unchanged for a read-modify-write operation. An empty etag will cause an update to overwrite other changes.", +"type": "string" +}, +"name": { +"description": "Output only. Resource name of the budget. The resource name implies the scope of a budget. Values are of the form `billingAccounts/{billingAccountId}/budgets/{budgetId}`.", +"readOnly": true, +"type": "string" +}, +"ownershipScope": { +"enum": [ +"OWNERSHIP_SCOPE_UNSPECIFIED", +"ALL_USERS", +"BILLING_ACCOUNT" +], +"enumDescriptions": [ +"Unspecified ownership scope, same as ALL_USERS.", +"The Budget is fully accessible to both billing account users and resource users, provided that they have the required IAM permissions.", +"Only billing account users have full access to the `Budget`, resource-level users have read-only access, provided that they have the required IAM permissions." +], +"type": "string" +}, +"thresholdRules": { +"description": "Optional. Rules that trigger alerts (notifications of thresholds being crossed) when spend exceeds the specified percentages of the budget. Optional for `pubsubTopic` notifications. Required if using email notifications.", +"items": { +"$ref": "GoogleCloudBillingBudgetsV1beta1ThresholdRule" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudBillingBudgetsV1beta1BudgetAmount": { +"description": "The budgeted amount for each usage period.", +"id": "GoogleCloudBillingBudgetsV1beta1BudgetAmount", +"properties": { +"lastPeriodAmount": { +"$ref": "GoogleCloudBillingBudgetsV1beta1LastPeriodAmount", +"description": "Use the last period's actual spend as the budget for the present period. LastPeriodAmount can only be set when the budget's time period is a Filter.calendar_period. It cannot be set in combination with Filter.custom_period." +}, +"specifiedAmount": { +"$ref": "GoogleTypeMoney", +"description": "A specified amount to use as the budget. `currency_code` is optional. If specified when creating a budget, it must match the currency of the billing account. If specified when updating a budget, it must match the currency_code of the existing budget. The `currency_code` is provided on output." +} +}, +"type": "object" +}, +"GoogleCloudBillingBudgetsV1beta1CreateBudgetRequest": { +"description": "Request for CreateBudget", +"id": "GoogleCloudBillingBudgetsV1beta1CreateBudgetRequest", +"properties": { +"budget": { +"$ref": "GoogleCloudBillingBudgetsV1beta1Budget", +"description": "Required. Budget to create." +} +}, +"type": "object" +}, +"GoogleCloudBillingBudgetsV1beta1CustomPeriod": { +"description": "All date times begin at 12 AM US and Canadian Pacific Time (UTC-8).", +"id": "GoogleCloudBillingBudgetsV1beta1CustomPeriod", +"properties": { +"endDate": { +"$ref": "GoogleTypeDate", +"description": "Optional. The end date of the time period. Budgets with elapsed end date won't be processed. If unset, specifies to track all usage incurred since the start_date." +}, +"startDate": { +"$ref": "GoogleTypeDate", +"description": "Required. The start date must be after January 1, 2017." +} +}, +"type": "object" +}, +"GoogleCloudBillingBudgetsV1beta1Filter": { +"description": "A filter for a budget, limiting the scope of the cost to calculate.", +"id": "GoogleCloudBillingBudgetsV1beta1Filter", +"properties": { +"calendarPeriod": { +"description": "Optional. Specifies to track usage for recurring calendar period. For example, assume that CalendarPeriod.QUARTER is set. The budget will track usage from April 1 to June 30, when the current calendar month is April, May, June. After that, it will track usage from July 1 to September 30 when the current calendar month is July, August, September, so on.", +"enum": [ +"CALENDAR_PERIOD_UNSPECIFIED", +"MONTH", +"QUARTER", +"YEAR" +], +"enumDescriptions": [ +"Calendar period is unset. This is the default if the budget is for a custom time period (CustomPeriod).", +"A month. Month starts on the first day of each month, such as January 1, February 1, March 1, and so on.", +"A quarter. Quarters start on dates January 1, April 1, July 1, and October 1 of each year.", +"A year. Year starts on January 1." +], +"type": "string" +}, +"creditTypes": { +"description": "Optional. If Filter.credit_types_treatment is INCLUDE_SPECIFIED_CREDITS, this is a list of credit types to be subtracted from gross cost to determine the spend for threshold calculations. See [a list of acceptable credit type values](https://cloud.google.com/billing/docs/how-to/export-data-bigquery-tables#credits-type). If Filter.credit_types_treatment is **not** INCLUDE_SPECIFIED_CREDITS, this field must be empty.", +"items": { +"type": "string" +}, +"type": "array" +}, +"creditTypesTreatment": { +"description": "Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`.", +"enum": [ +"CREDIT_TYPES_TREATMENT_UNSPECIFIED", +"INCLUDE_ALL_CREDITS", +"EXCLUDE_ALL_CREDITS", +"INCLUDE_SPECIFIED_CREDITS" +], +"enumDescriptions": [ +"", +"All types of credit are subtracted from the gross cost to determine the spend for threshold calculations.", +"All types of credit are added to the net cost to determine the spend for threshold calculations.", +"[Credit types](https://cloud.google.com/billing/docs/how-to/export-data-bigquery-tables#credits-type) specified in the credit_types field are subtracted from the gross cost to determine the spend for threshold calculations." +], +"type": "string" +}, +"customPeriod": { +"$ref": "GoogleCloudBillingBudgetsV1beta1CustomPeriod", +"description": "Optional. Specifies to track usage from any start date (required) to any end date (optional). This time period is static, it does not recur." +}, +"labels": { +"additionalProperties": { +"items": { +"type": "any" +}, +"type": "array" +}, +"description": "Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report will include all labeled and unlabeled usage. An object containing a single `\"key\": value` pair. Example: `{ \"name\": \"wrench\" }`. _Currently, multiple entries or multiple values per entry are not allowed._", +"type": "object" +}, +"projects": { +"description": "Optional. A set of projects of the form `projects/{project}`, specifying that usage from only this set of projects should be included in the budget. If omitted, the report will include all usage for the billing account, regardless of which project the usage occurred on.", +"items": { +"type": "string" +}, +"type": "array" +}, +"resourceAncestors": { +"description": "Optional. A set of folder and organization names of the form `folders/{folderId}` or `organizations/{organizationId}`, specifying that usage from only this set of folders and organizations should be included in the budget. If omitted, the budget includes all usage that the billing account pays for. If the folder or organization contains projects that are paid for by a different Cloud Billing account, the budget *doesn't* apply to those projects.", +"items": { +"type": "string" +}, +"type": "array" +}, +"services": { +"description": "Optional. A set of services of the form `services/{service_id}`, specifying that usage from only this set of services should be included in the budget. If omitted, the report will include usage for all the services. The service names are available through the Catalog API: https://cloud.google.com/billing/v1/how-tos/catalog-api.", +"items": { +"type": "string" +}, +"type": "array" +}, +"subaccounts": { +"description": "Optional. A set of subaccounts of the form `billingAccounts/{account_id}`, specifying that usage from only this set of subaccounts should be included in the budget. If a subaccount is set to the name of the parent account, usage from the parent account will be included. If omitted, the report will include usage from the parent account and all subaccounts, if they exist.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudBillingBudgetsV1beta1LastPeriodAmount": { +"description": "Describes a budget amount targeted to the last Filter.calendar_period spend. At this time, the amount is automatically 100% of the last calendar period's spend; that is, there are no other options yet. Future configuration options will be described here (for example, configuring a percentage of last period's spend). LastPeriodAmount cannot be set for a budget configured with a Filter.custom_period.", +"id": "GoogleCloudBillingBudgetsV1beta1LastPeriodAmount", +"properties": {}, +"type": "object" +}, +"GoogleCloudBillingBudgetsV1beta1ListBudgetsResponse": { +"description": "Response for ListBudgets", +"id": "GoogleCloudBillingBudgetsV1beta1ListBudgetsResponse", +"properties": { +"budgets": { +"description": "List of the budgets owned by the requested billing account.", +"items": { +"$ref": "GoogleCloudBillingBudgetsV1beta1Budget" +}, +"type": "array" +}, +"nextPageToken": { +"description": "If not empty, indicates that there may be more budgets that match the request; this value should be passed in a new `ListBudgetsRequest`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBillingBudgetsV1beta1ThresholdRule": { +"description": "ThresholdRule contains the definition of a threshold. Threshold rules define the triggering events used to generate a budget notification email. When a threshold is crossed (spend exceeds the specified percentages of the budget), budget alert emails are sent to the email recipients you specify in the [NotificationsRule](#notificationsrule). Threshold rules also affect the fields included in the [JSON data object](https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#notification_format) sent to a Pub/Sub topic. Threshold rules are _required_ if using email notifications. Threshold rules are _optional_ if only setting a [`pubsubTopic` NotificationsRule](#NotificationsRule), unless you want your JSON data object to include data about the thresholds you set. For more information, see [set budget threshold rules and actions](https://cloud.google.com/billing/docs/how-to/budgets#budget-actions).", +"id": "GoogleCloudBillingBudgetsV1beta1ThresholdRule", +"properties": { +"spendBasis": { +"description": "Optional. The type of basis used to determine if spend has passed the threshold. Behavior defaults to CURRENT_SPEND if not set.", +"enum": [ +"BASIS_UNSPECIFIED", +"CURRENT_SPEND", +"FORECASTED_SPEND" +], +"enumDescriptions": [ +"Unspecified threshold basis.", +"Use current spend as the basis for comparison against the threshold.", +"Use forecasted spend for the period as the basis for comparison against the threshold. FORECASTED_SPEND can only be set when the budget's time period is a Filter.calendar_period. It cannot be set in combination with Filter.custom_period." +], +"type": "string" +}, +"thresholdPercent": { +"description": "Required. Send an alert when this threshold is exceeded. This is a 1.0-based percentage, so 0.5 = 50%. Validation: non-negative number.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudBillingBudgetsV1beta1UpdateBudgetRequest": { +"description": "Request for UpdateBudget", +"id": "GoogleCloudBillingBudgetsV1beta1UpdateBudgetRequest", +"properties": { +"budget": { +"$ref": "GoogleCloudBillingBudgetsV1beta1Budget", +"description": "Required. The updated budget object. The budget to update is specified by the budget name in the budget." +}, +"updateMask": { +"description": "Optional. Indicates which fields in the provided budget to update. Read-only fields (such as `name`) cannot be changed. If this is not provided, then only fields with non-default values from the request are updated. See https://developers.google.com/protocol-buffers/docs/proto3#default for more details about default values.", +"format": "google-fieldmask", +"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" +}, +"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" +}, +"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": "Cloud Billing Budget 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/chromemanagement.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/chromemanagement.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..19fc9235aced02e7eb10021e99280bc63b9d30b5 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/chromemanagement.v1.json @@ -0,0 +1,5826 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/chrome.management.appdetails.readonly": { +"description": "See detailed information about apps installed on Chrome browsers and devices managed by your organization" +}, +"https://www.googleapis.com/auth/chrome.management.reports.readonly": { +"description": "See reports about devices and Chrome browsers managed within your organization" +}, +"https://www.googleapis.com/auth/chrome.management.telemetry.readonly": { +"description": "See basic device and telemetry information collected from ChromeOS devices or users managed within your organization" +} +} +} +}, +"basePath": "", +"baseUrl": "https://chromemanagement.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Chrome Management", +"description": "The Chrome Management API is a suite of services that allows Chrome administrators to view, manage and gain insights on their Chrome OS and Chrome Browser devices.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/chrome/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": "chromemanagement:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://chromemanagement.mtls.googleapis.com/", +"name": "chromemanagement", +"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": { +"customers": { +"resources": { +"apps": { +"methods": { +"countChromeAppRequests": { +"description": "Generate summary of app installation requests.", +"flatPath": "v1/customers/{customersId}/apps:countChromeAppRequests", +"httpMethod": "GET", +"id": "chromemanagement.customers.apps.countChromeAppRequests", +"parameterOrder": [ +"customer" +], +"parameters": { +"customer": { +"description": "Required. Customer id or \"my_customer\" to use the customer associated to the account making the request.", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +}, +"orderBy": { +"description": "Field used to order results. Supported fields: * request_count * latest_request_time", +"location": "query", +"type": "string" +}, +"orgUnitId": { +"description": "The ID of the organizational unit.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results to return. Maximum and default are 50, anything above will be coerced to 50.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token to specify the page of the request to be returned.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+customer}/apps:countChromeAppRequests", +"response": { +"$ref": "GoogleChromeManagementV1CountChromeAppRequestsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.appdetails.readonly" +] +}, +"fetchDevicesRequestingExtension": { +"description": "Get a list of devices that have requested to install an extension.", +"flatPath": "v1/customers/{customersId}/apps:fetchDevicesRequestingExtension", +"httpMethod": "GET", +"id": "chromemanagement.customers.apps.fetchDevicesRequestingExtension", +"parameterOrder": [ +"customer" +], +"parameters": { +"customer": { +"description": "Required. The customer ID or \"my_customer\" prefixed with \"customers/\".", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +}, +"extensionId": { +"description": "Required. The extension for which we want to find requesting devices.", +"location": "query", +"type": "string" +}, +"orgUnitId": { +"description": "The ID of the organizational unit. Only consider devices that directly belong to this org unit, i.e. sub-orgunits are not counted. If omitted, all data will be returned.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum number of results to return. Maximum and default are 50. Any page size larger than 50 will be coerced to 50.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Token to specify the page of the request to be returned. Token expires after 1 day.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+customer}/apps:fetchDevicesRequestingExtension", +"response": { +"$ref": "GoogleChromeManagementV1FetchDevicesRequestingExtensionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.appdetails.readonly" +] +}, +"fetchUsersRequestingExtension": { +"description": "Get a list of users that have requested to install an extension.", +"flatPath": "v1/customers/{customersId}/apps:fetchUsersRequestingExtension", +"httpMethod": "GET", +"id": "chromemanagement.customers.apps.fetchUsersRequestingExtension", +"parameterOrder": [ +"customer" +], +"parameters": { +"customer": { +"description": "Required. The customer ID or \"my_customer\" prefixed with \"customers/\".", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +}, +"extensionId": { +"description": "Required. The extension for which we want to find the requesting users.", +"location": "query", +"type": "string" +}, +"orgUnitId": { +"description": "The ID of the organizational unit. Only consider devices that directly belong to this org unit, i.e. sub-orgunits are not counted. If omitted, all data will be returned.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum number of results to return. Maximum and default are 50. Any page size larger than 50 will be coerced to 50.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Token to specify the page of the request to be returned. Token expires after 1 day.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+customer}/apps:fetchUsersRequestingExtension", +"response": { +"$ref": "GoogleChromeManagementV1FetchUsersRequestingExtensionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.appdetails.readonly" +] +} +}, +"resources": { +"android": { +"methods": { +"get": { +"description": "Get a specific app for a customer by its resource name.", +"flatPath": "v1/customers/{customersId}/apps/android/{androidId}", +"httpMethod": "GET", +"id": "chromemanagement.customers.apps.android.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The app for which details are being queried. Examples: \"customers/my_customer/apps/chrome/gmbmikajjgmnabiglmofipeabaddhgne@2.1.2\" for the Save to Google Drive Chrome extension version 2.1.2, \"customers/my_customer/apps/android/com.google.android.apps.docs\" for the Google Drive Android app's latest version.", +"location": "path", +"pattern": "^customers/[^/]+/apps/android/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleChromeManagementV1AppDetails" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.appdetails.readonly" +] +} +} +}, +"chrome": { +"methods": { +"get": { +"description": "Get a specific app for a customer by its resource name.", +"flatPath": "v1/customers/{customersId}/apps/chrome/{chromeId}", +"httpMethod": "GET", +"id": "chromemanagement.customers.apps.chrome.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The app for which details are being queried. Examples: \"customers/my_customer/apps/chrome/gmbmikajjgmnabiglmofipeabaddhgne@2.1.2\" for the Save to Google Drive Chrome extension version 2.1.2, \"customers/my_customer/apps/android/com.google.android.apps.docs\" for the Google Drive Android app's latest version.", +"location": "path", +"pattern": "^customers/[^/]+/apps/chrome/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleChromeManagementV1AppDetails" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.appdetails.readonly" +] +} +} +}, +"web": { +"methods": { +"get": { +"description": "Get a specific app for a customer by its resource name.", +"flatPath": "v1/customers/{customersId}/apps/web/{webId}", +"httpMethod": "GET", +"id": "chromemanagement.customers.apps.web.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The app for which details are being queried. Examples: \"customers/my_customer/apps/chrome/gmbmikajjgmnabiglmofipeabaddhgne@2.1.2\" for the Save to Google Drive Chrome extension version 2.1.2, \"customers/my_customer/apps/android/com.google.android.apps.docs\" for the Google Drive Android app's latest version.", +"location": "path", +"pattern": "^customers/[^/]+/apps/web/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleChromeManagementV1AppDetails" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.appdetails.readonly" +] +} +} +} +} +}, +"profiles": { +"methods": { +"delete": { +"description": "Deletes the data collected from a Chrome browser profile.", +"flatPath": "v1/customers/{customersId}/profiles/{profilesId}", +"httpMethod": "DELETE", +"id": "chromemanagement.customers.profiles.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: customers/{customer_id}/profiles/{profile_permanent_id}", +"location": "path", +"pattern": "^customers/[^/]+/profiles/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +} +}, +"get": { +"description": "Gets a Chrome browser profile with customer ID and profile permanent ID.", +"flatPath": "v1/customers/{customersId}/profiles/{profilesId}", +"httpMethod": "GET", +"id": "chromemanagement.customers.profiles.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: customers/{customer_id}/profiles/{profile_permanent_id}", +"location": "path", +"pattern": "^customers/[^/]+/profiles/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleChromeManagementVersionsV1ChromeBrowserProfile" +} +}, +"list": { +"description": "Lists Chrome browser profiles of a customer based on the given search and sorting criteria.", +"flatPath": "v1/customers/{customersId}/profiles", +"httpMethod": "GET", +"id": "chromemanagement.customers.profiles.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The filter used to filter profiles. The following fields can be used in the filter: - profile_id - display_name - user_email - last_activity_time - last_policy_sync_time - last_status_report_time - first_enrollment_time - os_platform_type - os_version - browser_version - browser_channel - policy_count - extension_count - identity_provider - affiliation_state - ouId Any of the above fields can be used to specify a filter, and filtering by multiple fields is supported with AND operator. String type fields and enum type fields support '=' and '!=' operators. The integer type and the timestamp type fields support '=', '!=', '<', '>', '<=' and '>=' operators. Timestamps expect an RFC-3339 formatted string (e.g. 2012-04-21T11:30:00-04:00). Wildcard '*' can be used with a string type field filter. In addition, string literal filtering is also supported, for example, 'ABC' as a filter maps to a filter that checks if any of the filterable string type fields contains 'ABC'. Organization unit number can be used as a filtering criteria here by specifying 'ouId = ${your_org_unit_id}', please note that only single OU ID matching is supported.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. The fields used to specify the ordering of the results. The supported fields are: - profile_id - display_name - user_email - last_activity_time - last_policy_sync_time - last_status_report_time - first_enrollment_time - os_platform_type - os_version - browser_version - browser_channel - policy_count - extension_count - identity_provider - affiliation_state By default, sorting is in ascending order, to specify descending order for a field, a suffix \" desc\" should be added to the field name. The default ordering is the descending order of last_status_report_time.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of profiles to return. The default page size is 100 if page_size is unspecified, and the maximum page size allowed is 200.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The page token used to retrieve a specific page of the listing request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Format: customers/{customer_id}", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/profiles", +"response": { +"$ref": "GoogleChromeManagementVersionsV1ListChromeBrowserProfilesResponse" +} +} +} +}, +"reports": { +"methods": { +"countChromeBrowsersNeedingAttention": { +"description": "Count of Chrome Browsers that have been recently enrolled, have new policy to be synced, or have no recent activity.", +"flatPath": "v1/customers/{customersId}/reports:countChromeBrowsersNeedingAttention", +"httpMethod": "GET", +"id": "chromemanagement.customers.reports.countChromeBrowsersNeedingAttention", +"parameterOrder": [ +"customer" +], +"parameters": { +"customer": { +"description": "Required. The customer ID or \"my_customer\" prefixed with \"customers/\".", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +}, +"orgUnitId": { +"description": "Optional. The ID of the organizational unit. If omitted, all data will be returned.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+customer}/reports:countChromeBrowsersNeedingAttention", +"response": { +"$ref": "GoogleChromeManagementV1CountChromeBrowsersNeedingAttentionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.reports.readonly" +] +}, +"countChromeCrashEvents": { +"description": "Get a count of Chrome crash events.", +"flatPath": "v1/customers/{customersId}/reports:countChromeCrashEvents", +"httpMethod": "GET", +"id": "chromemanagement.customers.reports.countChromeCrashEvents", +"parameterOrder": [ +"customer" +], +"parameters": { +"customer": { +"description": "Customer ID.", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +}, +"filter": { +"description": "Query string to filter results, AND-separated fields in EBNF syntax. Supported filter fields: * major_browser_version * minor_browser_version * browser_channel * device_platform * past_number_days Example: `major_browser_version = 'M115' AND past_number_days = '28'`.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field used to order results. Supported order by fields: * browser_version * count * date", +"location": "query", +"type": "string" +}, +"orgUnitId": { +"description": "If specified, only count the number of crash events of the devices in this organizational unit.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+customer}/reports:countChromeCrashEvents", +"response": { +"$ref": "GoogleChromeManagementV1CountChromeCrashEventsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.reports.readonly" +] +}, +"countChromeDevicesReachingAutoExpirationDate": { +"description": "Generate report of the number of devices expiring in each month of the selected time frame. Devices are grouped by auto update expiration date and model. Further information can be found [here](https://support.google.com/chrome/a/answer/10564947).", +"flatPath": "v1/customers/{customersId}/reports:countChromeDevicesReachingAutoExpirationDate", +"httpMethod": "GET", +"id": "chromemanagement.customers.reports.countChromeDevicesReachingAutoExpirationDate", +"parameterOrder": [ +"customer" +], +"parameters": { +"customer": { +"description": "Required. The customer ID or \"my_customer\" prefixed with \"customers/\".", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +}, +"maxAueDate": { +"description": "Optional. Maximum expiration date in format yyyy-mm-dd in UTC timezone. If included returns all devices that have already expired and devices with auto expiration date equal to or earlier than the maximum date.", +"location": "query", +"type": "string" +}, +"minAueDate": { +"description": "Optional. Maximum expiration date in format yyyy-mm-dd in UTC timezone. If included returns all devices that have already expired and devices with auto expiration date equal to or later than the minimum date.", +"location": "query", +"type": "string" +}, +"orgUnitId": { +"description": "Optional. The organizational unit ID, if omitted, will return data for all organizational units.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+customer}/reports:countChromeDevicesReachingAutoExpirationDate", +"response": { +"$ref": "GoogleChromeManagementV1CountChromeDevicesReachingAutoExpirationDateResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.reports.readonly" +] +}, +"countChromeDevicesThatNeedAttention": { +"description": "Counts of ChromeOS devices that have not synced policies or have lacked user activity in the past 28 days, are out of date, or are not complaint. Further information can be found here https://support.google.com/chrome/a/answer/10564947", +"flatPath": "v1/customers/{customersId}/reports:countChromeDevicesThatNeedAttention", +"httpMethod": "GET", +"id": "chromemanagement.customers.reports.countChromeDevicesThatNeedAttention", +"parameterOrder": [ +"customer" +], +"parameters": { +"customer": { +"description": "Required. The customer ID or \"my_customer\" prefixed with \"customers/\".", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +}, +"orgUnitId": { +"description": "Optional. The ID of the organizational unit. If omitted, all data will be returned.", +"location": "query", +"type": "string" +}, +"readMask": { +"description": "Required. Mask of the fields that should be populated in the returned report.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+customer}/reports:countChromeDevicesThatNeedAttention", +"response": { +"$ref": "GoogleChromeManagementV1CountChromeDevicesThatNeedAttentionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.reports.readonly" +] +}, +"countChromeHardwareFleetDevices": { +"description": "Counts of devices with a specific hardware specification from the requested hardware type (for example model name, processor type). Further information can be found here https://support.google.com/chrome/a/answer/10564947", +"flatPath": "v1/customers/{customersId}/reports:countChromeHardwareFleetDevices", +"httpMethod": "GET", +"id": "chromemanagement.customers.reports.countChromeHardwareFleetDevices", +"parameterOrder": [ +"customer" +], +"parameters": { +"customer": { +"description": "Required. The customer ID or \"my_customer\".", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +}, +"orgUnitId": { +"description": "Optional. The ID of the organizational unit. If omitted, all data will be returned.", +"location": "query", +"type": "string" +}, +"readMask": { +"description": "Required. Mask of the fields that should be populated in the returned report.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+customer}/reports:countChromeHardwareFleetDevices", +"response": { +"$ref": "GoogleChromeManagementV1CountChromeHardwareFleetDevicesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.reports.readonly" +] +}, +"countChromeVersions": { +"description": "Generate report of installed Chrome versions.", +"flatPath": "v1/customers/{customersId}/reports:countChromeVersions", +"httpMethod": "GET", +"id": "chromemanagement.customers.reports.countChromeVersions", +"parameterOrder": [ +"customer" +], +"parameters": { +"customer": { +"description": "Required. Customer id or \"my_customer\" to use the customer associated to the account making the request.", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +}, +"filter": { +"description": "Query string to filter results, AND-separated fields in EBNF syntax. Note: OR operations are not supported in this filter. Supported filter fields: * last_active_date", +"location": "query", +"type": "string" +}, +"orgUnitId": { +"description": "The ID of the organizational unit.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results to return. Maximum and default are 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token to specify the page of the request to be returned.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+customer}/reports:countChromeVersions", +"response": { +"$ref": "GoogleChromeManagementV1CountChromeVersionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.reports.readonly" +] +}, +"countInstalledApps": { +"description": "Generate report of app installations.", +"flatPath": "v1/customers/{customersId}/reports:countInstalledApps", +"httpMethod": "GET", +"id": "chromemanagement.customers.reports.countInstalledApps", +"parameterOrder": [ +"customer" +], +"parameters": { +"customer": { +"description": "Required. Customer id or \"my_customer\" to use the customer associated to the account making the request.", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +}, +"filter": { +"description": "Query string to filter results, AND-separated fields in EBNF syntax. Note: OR operations are not supported in this filter. Supported filter fields: * app_name * app_type * install_type * number_of_permissions * total_install_count * latest_profile_active_date * permission_name * app_id * manifest_versions * risk_score", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field used to order results. Supported order by fields: * app_name * app_type * install_type * number_of_permissions * total_install_count * app_id * manifest_versions * risk_score", +"location": "query", +"type": "string" +}, +"orgUnitId": { +"description": "The ID of the organizational unit.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results to return. Maximum and default are 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token to specify the page of the request to be returned.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+customer}/reports:countInstalledApps", +"response": { +"$ref": "GoogleChromeManagementV1CountInstalledAppsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.reports.readonly" +] +}, +"countPrintJobsByPrinter": { +"description": "Get a summary of printing done by each printer.", +"flatPath": "v1/customers/{customersId}/reports:countPrintJobsByPrinter", +"httpMethod": "GET", +"id": "chromemanagement.customers.reports.countPrintJobsByPrinter", +"parameterOrder": [ +"customer" +], +"parameters": { +"customer": { +"description": "Required. Customer ID prefixed with \"customers/\" or \"customers/my_customer\" to use the customer associated to the account making the request.", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +}, +"filter": { +"description": "Query string to filter results, AND-separated fields in EBNF syntax. Note: OR operations are not supported in this filter. Note: Only >= and <= comparators are supported in this filter. Supported filter fields: * complete_time", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field used to order results. If omitted, results will be ordered in ascending order of the 'printer' field. Supported order_by fields: * printer * job_count * device_count * user_count", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results to return. Maximum and default are 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token to specify the page of the response to be returned.", +"location": "query", +"type": "string" +}, +"printerOrgUnitId": { +"description": "The ID of the organizational unit for printers. If specified, only data for printers from the specified organizational unit will be returned. If omitted, data for printers from all organizational units will be returned.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+customer}/reports:countPrintJobsByPrinter", +"response": { +"$ref": "GoogleChromeManagementV1CountPrintJobsByPrinterResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.reports.readonly" +] +}, +"countPrintJobsByUser": { +"description": "Get a summary of printing done by each user.", +"flatPath": "v1/customers/{customersId}/reports:countPrintJobsByUser", +"httpMethod": "GET", +"id": "chromemanagement.customers.reports.countPrintJobsByUser", +"parameterOrder": [ +"customer" +], +"parameters": { +"customer": { +"description": "Required. Customer ID prefixed with \"customers/\" or \"customers/my_customer\" to use the customer associated to the account making the request.", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +}, +"filter": { +"description": "Query string to filter results, AND-separated fields in EBNF syntax. Note: OR operations are not supported in this filter. Note: Only >= and <= comparators are supported in this filter. Supported filter fields: * complete_time", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field used to order results. If omitted, results will be ordered in ascending order of the 'user_email' field. Supported order_by fields: * user_email * job_count * printer_count * device_count", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results to return. Maximum and default are 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token to specify the page of the response to be returned.", +"location": "query", +"type": "string" +}, +"printerOrgUnitId": { +"description": "The ID of the organizational unit for printers. If specified, only print jobs initiated with printers from the specified organizational unit will be counted. If omitted, all print jobs will be counted.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+customer}/reports:countPrintJobsByUser", +"response": { +"$ref": "GoogleChromeManagementV1CountPrintJobsByUserResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.reports.readonly" +] +}, +"enumeratePrintJobs": { +"description": "Get a list of print jobs.", +"flatPath": "v1/customers/{customersId}/reports:enumeratePrintJobs", +"httpMethod": "GET", +"id": "chromemanagement.customers.reports.enumeratePrintJobs", +"parameterOrder": [ +"customer" +], +"parameters": { +"customer": { +"description": "Required. Customer ID prefixed with \"customers/\" or \"customers/my_customer\" to use the customer associated to the account making the request.", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +}, +"filter": { +"description": "Query string to filter results, AND-separated fields in EBNF syntax. Note: OR operations are not supported in this filter. Note: Only >= and <= comparators are supported for `complete_time`. Note: Only = comparator supported for `user_id` and `printer_id`. Supported filter fields: * complete_time * printer_id * user_id", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field used to order results. If not specified, results will be ordered in descending order of the `complete_time` field. Supported order by fields: * title * state * create_time * complete_time * document_page_count * color_mode * duplex_mode * printer * user_email", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The number of print jobs in the page from 0 to 100 inclusive, if page_size is not specified or zero, the size will be 50.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from a previous `EnumeratePrintJobs` call. Provide this to retrieve the subsequent page. If omitted, the first page of results will be returned. When paginating, all other parameters provided to `EnumeratePrintJobs` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"printerOrgUnitId": { +"description": "The ID of the organizational unit for printers. If specified, only print jobs submitted to printers from the specified organizational unit will be returned.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+customer}/reports:enumeratePrintJobs", +"response": { +"$ref": "GoogleChromeManagementV1EnumeratePrintJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.reports.readonly" +] +}, +"findInstalledAppDevices": { +"description": "Generate report of managed Chrome browser devices that have a specified app installed.", +"flatPath": "v1/customers/{customersId}/reports:findInstalledAppDevices", +"httpMethod": "GET", +"id": "chromemanagement.customers.reports.findInstalledAppDevices", +"parameterOrder": [ +"customer" +], +"parameters": { +"appId": { +"description": "Unique identifier of the app. For Chrome apps and extensions, the 32-character id (e.g. ehoadneljpdggcbbknedodolkkjodefl). For Android apps, the package name (e.g. com.evernote).", +"location": "query", +"type": "string" +}, +"appType": { +"description": "Type of the app.", +"enum": [ +"APP_TYPE_UNSPECIFIED", +"EXTENSION", +"APP", +"THEME", +"HOSTED_APP", +"ANDROID_APP" +], +"enumDescriptions": [ +"App type not specified.", +"Chrome extension.", +"Chrome app.", +"Chrome theme.", +"Chrome hosted app.", +"ARC++ app." +], +"location": "query", +"type": "string" +}, +"customer": { +"description": "Required. Customer id or \"my_customer\" to use the customer associated to the account making the request.", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +}, +"filter": { +"description": "Query string to filter results, AND-separated fields in EBNF syntax. Note: OR operations are not supported in this filter. Supported filter fields: * last_active_date", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field used to order results. Supported order by fields: * machine * device_id", +"location": "query", +"type": "string" +}, +"orgUnitId": { +"description": "The ID of the organizational unit.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results to return. Maximum and default are 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token to specify the page of the request to be returned.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+customer}/reports:findInstalledAppDevices", +"response": { +"$ref": "GoogleChromeManagementV1FindInstalledAppDevicesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.reports.readonly" +] +} +} +}, +"telemetry": { +"resources": { +"devices": { +"methods": { +"get": { +"description": "Get telemetry device.", +"flatPath": "v1/customers/{customersId}/telemetry/devices/{devicesId}", +"httpMethod": "GET", +"id": "chromemanagement.customers.telemetry.devices.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the `TelemetryDevice` to return.", +"location": "path", +"pattern": "^customers/[^/]+/telemetry/devices/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Required. Read mask to specify which fields to return. Supported read_mask paths are: - name - org_unit_id - device_id - serial_number - cpu_info - cpu_status_report - memory_info - memory_status_report - network_info - network_diagnostics_report - network_status_report - os_update_status - graphics_info - graphics_status_report - battery_info - battery_status_report - storage_info - storage_status_report - thunderbolt_info - audio_status_report - boot_performance_report - heartbeat_status_report - network_bandwidth_report - peripherals_report - kiosk_app_status_report - app_report - runtime_counters_report ", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleChromeManagementV1TelemetryDevice" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.telemetry.readonly" +] +}, +"list": { +"description": "List all telemetry devices.", +"flatPath": "v1/customers/{customersId}/telemetry/devices", +"httpMethod": "GET", +"id": "chromemanagement.customers.telemetry.devices.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Only include resources that match the filter. Requests that don't specify a \"reports_timestamp\" value will default to returning only recent reports. Specify \"reports_timestamp>=0\" to get all report data. Supported filter fields: - org_unit_id - serial_number - device_id - reports_timestamp The \"reports_timestamp\" filter accepts either the Unix Epoch milliseconds format or the RFC3339 UTC \"Zulu\" format with nanosecond resolution and up to nine fractional digits. Both formats should be surrounded by simple double quotes. Examples: \"2014-10-02T15:01:23Z\", \"2014-10-02T15:01:23.045123456Z\", \"1679283943823\".", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results to return. Default value is 100. Maximum value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token to specify next page in the list.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Customer id or \"my_customer\" to use the customer associated to the account making the request.", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Required. Read mask to specify which fields to return. Supported read_mask paths are: - name - org_unit_id - device_id - serial_number - cpu_info - cpu_status_report - memory_info - memory_status_report - network_info - network_diagnostics_report - network_status_report - os_update_status - graphics_info - graphics_status_report - battery_info - battery_status_report - storage_info - storage_status_report - thunderbolt_info - audio_status_report - boot_performance_report - heartbeat_status_report - network_bandwidth_report - peripherals_report - kiosk_app_status_report - app_report - runtime_counters_report ", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/telemetry/devices", +"response": { +"$ref": "GoogleChromeManagementV1ListTelemetryDevicesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.telemetry.readonly" +] +} +} +}, +"events": { +"methods": { +"list": { +"description": "List telemetry events.", +"flatPath": "v1/customers/{customersId}/telemetry/events", +"httpMethod": "GET", +"id": "chromemanagement.customers.telemetry.events.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Only include resources that match the filter. Although this parameter is currently optional, this parameter will be required- please specify at least 1 event type. Supported filter fields: - device_id - user_id - device_org_unit_id - user_org_unit_id - timestamp - event_type The \"timestamp\" filter accepts either the Unix Epoch milliseconds format or the RFC3339 UTC \"Zulu\" format with nanosecond resolution and up to nine fractional digits. Both formats should be surrounded by simple double quotes. Examples: \"2014-10-02T15:01:23Z\", \"2014-10-02T15:01:23.045123456Z\", \"1679283943823\".", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum number of results to return. Default value is 100. Maximum value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Token to specify next page in the list.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Customer id or \"my_customer\" to use the customer associated to the account making the request.", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Required. Read mask to specify which fields to return. Although currently required, this field will become optional, while the filter parameter with an event type will be come required. Supported read_mask paths are: - device - user - audio_severe_underrun_event - usb_peripherals_event - https_latency_change_event - network_state_change_event - wifi_signal_strength_event - vpn_connection_state_change_event - app_install_event - app_uninstall_event - app_launch_event - os_crash_event ", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/telemetry/events", +"response": { +"$ref": "GoogleChromeManagementV1ListTelemetryEventsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.telemetry.readonly" +] +} +} +}, +"notificationConfigs": { +"methods": { +"create": { +"description": "Create a telemetry notification config.", +"flatPath": "v1/customers/{customersId}/telemetry/notificationConfigs", +"httpMethod": "POST", +"id": "chromemanagement.customers.telemetry.notificationConfigs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource where this notification config will be created. Format: `customers/{customer}`", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/telemetry/notificationConfigs", +"request": { +"$ref": "GoogleChromeManagementV1TelemetryNotificationConfig" +}, +"response": { +"$ref": "GoogleChromeManagementV1TelemetryNotificationConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.telemetry.readonly" +] +}, +"delete": { +"description": "Delete a telemetry notification config.", +"flatPath": "v1/customers/{customersId}/telemetry/notificationConfigs/{notificationConfigsId}", +"httpMethod": "DELETE", +"id": "chromemanagement.customers.telemetry.notificationConfigs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the notification config to delete. Format: `customers/{customer}/telemetry/notificationConfigs/{notification_config}`", +"location": "path", +"pattern": "^customers/[^/]+/telemetry/notificationConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.telemetry.readonly" +] +}, +"list": { +"description": "List all telemetry notification configs.", +"flatPath": "v1/customers/{customersId}/telemetry/notificationConfigs", +"httpMethod": "GET", +"id": "chromemanagement.customers.telemetry.notificationConfigs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of notification configs to return. The service may return fewer than this value. If unspecified, at most 100 notification configs will be returned. The maximum value is 100; values above 100 will be coerced to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListTelemetryNotificationConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListTelemetryNotificationConfigs` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent which owns the notification configs.", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/telemetry/notificationConfigs", +"response": { +"$ref": "GoogleChromeManagementV1ListTelemetryNotificationConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.telemetry.readonly" +] +} +} +}, +"users": { +"methods": { +"get": { +"description": "Get telemetry user.", +"flatPath": "v1/customers/{customersId}/telemetry/users/{usersId}", +"httpMethod": "GET", +"id": "chromemanagement.customers.telemetry.users.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the `TelemetryUser` to return.", +"location": "path", +"pattern": "^customers/[^/]+/telemetry/users/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Read mask to specify which fields to return. Supported read_mask paths are: - name - org_unit_id - user_id - user_email - user_device.device_id - user_device.audio_status_report - user_device.device_activity_report - user_device.network_bandwidth_report - user_device.peripherals_report - user_device.app_report ", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleChromeManagementV1TelemetryUser" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.telemetry.readonly" +] +}, +"list": { +"description": "List all telemetry users.", +"flatPath": "v1/customers/{customersId}/telemetry/users", +"httpMethod": "GET", +"id": "chromemanagement.customers.telemetry.users.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Only include resources that match the filter. Supported filter fields: - user_id - user_org_unit_id ", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results to return. Default value is 100. Maximum value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token to specify next page in the list.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Customer id or \"my_customer\" to use the customer associated to the account making the request.", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Read mask to specify which fields to return. Supported read_mask paths are: - name - org_unit_id - user_id - user_email - user_device.device_id - user_device.audio_status_report - user_device.device_activity_report - user_device.network_bandwidth_report - user_device.peripherals_report - user_device.app_report ", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/telemetry/users", +"response": { +"$ref": "GoogleChromeManagementV1ListTelemetryUsersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.telemetry.readonly" +] +} +} +} +} +} +} +} +}, +"revision": "20241216", +"rootUrl": "https://chromemanagement.googleapis.com/", +"schemas": { +"GoogleChromeManagementV1AndroidAppInfo": { +"description": "Android app information.", +"id": "GoogleChromeManagementV1AndroidAppInfo", +"properties": { +"permissions": { +"description": "Output only. Permissions requested by an Android app.", +"items": { +"$ref": "GoogleChromeManagementV1AndroidAppPermission" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1AndroidAppPermission": { +"description": "Permission requested by an Android app.", +"id": "GoogleChromeManagementV1AndroidAppPermission", +"properties": { +"type": { +"description": "Output only. The type of the permission.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1AppDetails": { +"description": "Resource representing app details.", +"id": "GoogleChromeManagementV1AppDetails", +"properties": { +"androidAppInfo": { +"$ref": "GoogleChromeManagementV1AndroidAppInfo", +"description": "Output only. Android app information.", +"readOnly": true +}, +"appId": { +"description": "Output only. Unique store identifier for the item. Examples: \"gmbmikajjgmnabiglmofipeabaddhgne\" for the Save to Google Drive Chrome extension, \"com.google.android.apps.docs\" for the Google Drive Android app.", +"readOnly": true, +"type": "string" +}, +"chromeAppInfo": { +"$ref": "GoogleChromeManagementV1ChromeAppInfo", +"description": "Output only. Chrome Web Store app information.", +"readOnly": true +}, +"description": { +"description": "Output only. App's description.", +"readOnly": true, +"type": "string" +}, +"detailUri": { +"description": "Output only. The uri for the detail page of the item.", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Output only. App's display name.", +"readOnly": true, +"type": "string" +}, +"firstPublishTime": { +"description": "Output only. First published time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"homepageUri": { +"description": "Output only. Home page or Website uri.", +"readOnly": true, +"type": "string" +}, +"iconUri": { +"description": "Output only. A link to an image that can be used as an icon for the product.", +"readOnly": true, +"type": "string" +}, +"isPaidApp": { +"description": "Output only. Indicates if the app has to be paid for OR has paid content.", +"readOnly": true, +"type": "boolean" +}, +"latestPublishTime": { +"description": "Output only. Latest published time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Format: name=customers/{customer_id}/apps/{chrome|android|web}/{app_id}@{version}", +"readOnly": true, +"type": "string" +}, +"privacyPolicyUri": { +"description": "Output only. The URI pointing to the privacy policy of the app, if it was provided by the developer. Version-specific field that will only be set when the requested app version is found.", +"readOnly": true, +"type": "string" +}, +"publisher": { +"description": "Output only. The publisher of the item.", +"readOnly": true, +"type": "string" +}, +"reviewNumber": { +"description": "Output only. Number of reviews received. Chrome Web Store review information will always be for the latest version of an app.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"reviewRating": { +"description": "Output only. The rating of the app (on 5 stars). Chrome Web Store review information will always be for the latest version of an app.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"revisionId": { +"description": "Output only. App version. A new revision is committed whenever a new version of the app is published.", +"readOnly": true, +"type": "string" +}, +"serviceError": { +"$ref": "GoogleRpcStatus", +"description": "Output only. Information about a partial service error if applicable.", +"readOnly": true +}, +"type": { +"description": "Output only. App type.", +"enum": [ +"APP_ITEM_TYPE_UNSPECIFIED", +"CHROME", +"ANDROID", +"WEB" +], +"enumDescriptions": [ +"App type unspecified.", +"Chrome app.", +"ARC++ app.", +"Web app." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1AppReport": { +"description": "App report.", +"id": "GoogleChromeManagementV1AppReport", +"properties": { +"reportTime": { +"description": "Timestamp when the report was collected.", +"format": "google-datetime", +"type": "string" +}, +"usageData": { +"description": "App usage data.", +"items": { +"$ref": "GoogleChromeManagementV1AppUsageData" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1AppUsageData": { +"description": "App usage data.", +"id": "GoogleChromeManagementV1AppUsageData", +"properties": { +"appId": { +"description": "App id.", +"type": "string" +}, +"appInstanceId": { +"description": "Application instance id. This will be unique per window/instance.", +"type": "string" +}, +"appType": { +"description": "Type of app.", +"enum": [ +"TELEMETRY_APPLICATION_TYPE_UNSPECIFIED", +"APPLICATION_TYPE_ARC", +"APPLICATION_TYPE_BUILT_IN", +"APPLICATION_TYPE_CROSTINI", +"APPLICATION_TYPE_CHROME_APP", +"APPLICATION_TYPE_WEB", +"APPLICATION_TYPE_MAC_OS", +"APPLICATION_TYPE_PLUGIN_VM", +"APPLICATION_TYPE_STANDALONE_BROWSER", +"APPLICATION_TYPE_REMOTE", +"APPLICATION_TYPE_BOREALIS", +"APPLICATION_TYPE_SYSTEM_WEB", +"APPLICATION_TYPE_STANDALONE_BROWSER_CHROME_APP", +"APPLICATION_TYPE_EXTENSION", +"APPLICATION_TYPE_STANDALONE_BROWSER_EXTENSION", +"APPLICATION_TYPE_BRUSCHETTA" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +true, +false, +true, +false +], +"enumDescriptions": [ +"Application type unknown.", +"Application type arc (Android app).", +"Application type built-in.", +"Application type Linux (via Crostini).", +"Application type Chrome app.", +"Application type web.", +"Application type Mac OS.", +"Application type Plugin VM.", +"Deprecated. This vaule is no longer used. Application type standalone browser (Lacros browser app).", +"Application type remote.", +"Application type borealis.", +"Application type system web.", +"Deprecated. This vaule is no longer used. Application type standalone browser chrome app.", +"Application type extension.", +"Deprecated. This vaule is no longer used. Application type standalone browser extension.", +"Application type bruschetta." +], +"type": "string" +}, +"runningDuration": { +"description": "App foreground running time.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1AudioStatusReport": { +"description": "Status data for storage. * This field is telemetry information and this will change over time as the device is utilized. * Data for this field is controlled via policy: [ReportDeviceAudioStatus](https://chromeenterprise.google/policies/#ReportDeviceAudioStatus) * Data Collection Frequency: 10 minutes * Default Data Reporting Frequency: 3 hours - Policy Controlled: Yes * Cache: If the device is offline, the collected data is stored locally, and will be reported when the device is next online: No * Reported for affiliated users only: N/A * Granular permission needed: TELEMETRY_API_AUDIO_REPORT", +"id": "GoogleChromeManagementV1AudioStatusReport", +"properties": { +"inputDevice": { +"description": "Output only. Active input device's name.", +"readOnly": true, +"type": "string" +}, +"inputGain": { +"description": "Output only. Active input device's gain in [0, 100].", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"inputMute": { +"description": "Output only. Is active input device mute or not.", +"readOnly": true, +"type": "boolean" +}, +"outputDevice": { +"description": "Output only. Active output device's name.", +"readOnly": true, +"type": "string" +}, +"outputMute": { +"description": "Output only. Is active output device mute or not.", +"readOnly": true, +"type": "boolean" +}, +"outputVolume": { +"description": "Output only. Active output device's volume in [0, 100].", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"reportTime": { +"description": "Output only. Timestamp of when the sample was collected on device.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1BatteryInfo": { +"description": "Information about the battery. * This field provides device information, which is static and will not change over time. * Data for this field is controlled via policy: [ReportDevicePowerStatus](https://chromeenterprise.google/policies/#ReportDevicePowerStatus) * Data Collection Frequency: Only at Upload * Default Data Reporting Frequency: 3 hours - Policy Controlled: Yes * Cache: If the device is offline, the collected data is stored locally, and will be reported when the device is next online: No * Reported for affiliated users only: N/A * Granular permission needed: TELEMETRY_API_BATTERY_INFO", +"id": "GoogleChromeManagementV1BatteryInfo", +"properties": { +"designCapacity": { +"description": "Output only. Design capacity (mAmpere-hours).", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"designMinVoltage": { +"description": "Output only. Designed minimum output voltage (mV)", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"manufactureDate": { +"$ref": "GoogleTypeDate", +"description": "Output only. The date the battery was manufactured.", +"readOnly": true +}, +"manufacturer": { +"description": "Output only. Battery manufacturer.", +"readOnly": true, +"type": "string" +}, +"serialNumber": { +"description": "Output only. Battery serial number.", +"readOnly": true, +"type": "string" +}, +"technology": { +"description": "Output only. Technology of the battery. Example: Li-ion", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1BatterySampleReport": { +"description": "Sampling data for battery. * This field is telemetry information and this will change over time as the device is utilized. * Data for this field is controlled via policy: [ReportDevicePowerStatus](https://chromeenterprise.google/policies/#ReportDevicePowerStatus) * Data Collection Frequency: Only at Upload * Default Data Reporting Frequency: 3 hours - Policy Controlled: Yes * Cache: If the device is offline, the collected data is stored locally, and will be reported when the device is next online: No * Reported for affiliated users only: N/A", +"id": "GoogleChromeManagementV1BatterySampleReport", +"properties": { +"chargeRate": { +"description": "Output only. Battery charge percentage.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"current": { +"description": "Output only. Battery current (mA).", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"dischargeRate": { +"description": "Output only. The battery discharge rate measured in mW. Positive if the battery is being discharged, negative if it's being charged.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"remainingCapacity": { +"description": "Output only. Battery remaining capacity (mAmpere-hours).", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"reportTime": { +"description": "Output only. Timestamp of when the sample was collected on device", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"status": { +"description": "Output only. Battery status read from sysfs. Example: Discharging", +"readOnly": true, +"type": "string" +}, +"temperature": { +"description": "Output only. Temperature in Celsius degrees.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"voltage": { +"description": "Output only. Battery voltage (millivolt).", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1BatteryStatusReport": { +"description": "Status data for battery. * This field is telemetry information and this will change over time as the device is utilized. * Data for this field is controlled via policy: [ReportDevicePowerStatus](https://chromeenterprise.google/policies/#ReportDevicePowerStatus) * Data Collection Frequency: Only at Upload * Default Data Reporting Frequency: 3 hours - Policy Controlled: Yes * Cache: If the device is offline, the collected data is stored locally, and will be reported when the device is next online: No * Reported for affiliated users only: N/A * Granular permission needed: TELEMETRY_API_BATTERY_REPORT", +"id": "GoogleChromeManagementV1BatteryStatusReport", +"properties": { +"batteryHealth": { +"description": "Output only. Battery health.", +"enum": [ +"BATTERY_HEALTH_UNSPECIFIED", +"BATTERY_HEALTH_NORMAL", +"BATTERY_REPLACE_SOON", +"BATTERY_REPLACE_NOW" +], +"enumDescriptions": [ +"Health unknown.", +"Battery is healthy, full charge capacity / design capacity > 80%", +"Battery is moderately unhealthy and suggested to be replaced soon, full charge capacity / design capacity 75% - 80%", +"Battery is unhealthy and suggested to be replaced, full charge capacity / design capacity < 75%" +], +"readOnly": true, +"type": "string" +}, +"cycleCount": { +"description": "Output only. Cycle count.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"fullChargeCapacity": { +"description": "Output only. Full charge capacity (mAmpere-hours).", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"reportTime": { +"description": "Output only. Timestamp of when the sample was collected on device", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"sample": { +"description": "Output only. Sampling data for the battery sorted in a decreasing order of report_time.", +"items": { +"$ref": "GoogleChromeManagementV1BatterySampleReport" +}, +"readOnly": true, +"type": "array" +}, +"serialNumber": { +"description": "Output only. Battery serial number.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1BootPerformanceReport": { +"description": "Boot performance report of a device. * This field is telemetry information and this will change over time as the device is utilized. * Data for this field is controlled via policy: [ReportDeviceBootMode](https://chromeenterprise.google/policies/#ReportDeviceBootMode) * Data Collection Frequency: On every boot up event * Default Data Reporting Frequency: 3 hours - Policy Controlled: Yes * Cache: If the device is offline, the collected data is stored locally, and will be reported when the device is next online: Yes * Reported for affiliated users only: N/A * Granular permission needed: TELEMETRY_API_OS_REPORT", +"id": "GoogleChromeManagementV1BootPerformanceReport", +"properties": { +"bootUpDuration": { +"description": "Total time to boot up.", +"format": "google-duration", +"type": "string" +}, +"bootUpTime": { +"description": "The timestamp when power came on.", +"format": "google-datetime", +"type": "string" +}, +"reportTime": { +"description": "Timestamp when the report was collected.", +"format": "google-datetime", +"type": "string" +}, +"shutdownDuration": { +"description": "Total time since shutdown start to power off.", +"format": "google-duration", +"type": "string" +}, +"shutdownReason": { +"description": "The shutdown reason.", +"enum": [ +"SHUTDOWN_REASON_UNSPECIFIED", +"USER_REQUEST", +"SYSTEM_UPDATE", +"LOW_BATTERY", +"OTHER" +], +"enumDescriptions": [ +"Shutdown reason is not specified.", +"User initiated.", +"System update initiated.", +"Shutdown due to low battery.", +"Shutdown due to other reasons." +], +"type": "string" +}, +"shutdownTime": { +"description": "The timestamp when shutdown.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1BrowserVersion": { +"description": "Describes a browser version and its install count.", +"id": "GoogleChromeManagementV1BrowserVersion", +"properties": { +"channel": { +"description": "Output only. The release channel of the installed browser.", +"enum": [ +"RELEASE_CHANNEL_UNSPECIFIED", +"CANARY", +"DEV", +"BETA", +"STABLE" +], +"enumDescriptions": [ +"No release channel specified.", +"Canary release channel.", +"Dev release channel.", +"Beta release channel.", +"Stable release channel." +], +"readOnly": true, +"type": "string" +}, +"count": { +"description": "Output only. Count grouped by device_system and major version", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"deviceOsVersion": { +"description": "Output only. Version of the system-specified operating system.", +"readOnly": true, +"type": "string" +}, +"system": { +"description": "Output only. The device operating system.", +"enum": [ +"DEVICE_SYSTEM_UNSPECIFIED", +"SYSTEM_OTHER", +"SYSTEM_ANDROID", +"SYSTEM_IOS", +"SYSTEM_CROS", +"SYSTEM_WINDOWS", +"SYSTEM_MAC", +"SYSTEM_LINUX" +], +"enumDescriptions": [ +"No operating system specified.", +"Other operating system.", +"Android operating system.", +"Apple iOS operating system.", +"ChromeOS operating system.", +"Microsoft Windows operating system.", +"Apple macOS operating system.", +"Linux operating system." +], +"readOnly": true, +"type": "string" +}, +"version": { +"description": "Output only. The full version of the installed browser.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1ChromeAppInfo": { +"description": "Chrome Web Store app information.", +"id": "GoogleChromeManagementV1ChromeAppInfo", +"properties": { +"googleOwned": { +"description": "Output only. Whether the app or extension is built and maintained by Google. Version-specific field that will only be set when the requested app version is found.", +"readOnly": true, +"type": "boolean" +}, +"isCwsHosted": { +"description": "Output only. Whether the app or extension is in a published state in the Chrome Web Store.", +"readOnly": true, +"type": "boolean" +}, +"isExtensionPolicySupported": { +"description": "Output only. Whether an app supports policy for extensions.", +"readOnly": true, +"type": "boolean" +}, +"isKioskOnly": { +"description": "Output only. Whether the app is only for Kiosk mode on ChromeOS devices", +"readOnly": true, +"type": "boolean" +}, +"isTheme": { +"description": "Output only. Whether the app or extension is a theme.", +"readOnly": true, +"type": "boolean" +}, +"kioskEnabled": { +"description": "Output only. Whether this app is enabled for Kiosk mode on ChromeOS devices", +"readOnly": true, +"type": "boolean" +}, +"minUserCount": { +"description": "Output only. The minimum number of users using this app.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"permissions": { +"description": "Output only. Every custom permission requested by the app. Version-specific field that will only be set when the requested app version is found.", +"items": { +"$ref": "GoogleChromeManagementV1ChromeAppPermission" +}, +"readOnly": true, +"type": "array" +}, +"siteAccess": { +"description": "Output only. Every permission giving access to domains or broad host patterns. ( e.g. www.google.com). This includes the matches from content scripts as well as hosts in the permissions node of the manifest. Version-specific field that will only be set when the requested app version is found.", +"items": { +"$ref": "GoogleChromeManagementV1ChromeAppSiteAccess" +}, +"readOnly": true, +"type": "array" +}, +"supportEnabled": { +"description": "Output only. The app developer has enabled support for their app. Version-specific field that will only be set when the requested app version is found.", +"readOnly": true, +"type": "boolean" +}, +"type": { +"description": "Output only. Types of an item in the Chrome Web Store", +"enum": [ +"ITEM_TYPE_UNSPECIFIED", +"EXTENSION", +"OTHERS" +], +"enumDescriptions": [ +"Unspecified ItemType.", +"Chrome Extensions.", +"Any other type than extension." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1ChromeAppPermission": { +"description": "Permission requested by a Chrome app or extension.", +"id": "GoogleChromeManagementV1ChromeAppPermission", +"properties": { +"accessUserData": { +"description": "Output only. If available, whether this permissions grants the app/extension access to user data.", +"readOnly": true, +"type": "boolean" +}, +"documentationUri": { +"description": "Output only. If available, a URI to a page that has documentation for the current permission.", +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Output only. The type of the permission.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1ChromeAppRequest": { +"description": "Details of an app installation request.", +"id": "GoogleChromeManagementV1ChromeAppRequest", +"properties": { +"appDetails": { +"description": "Output only. Format: app_details=customers/{customer_id}/apps/chrome/{app_id}", +"readOnly": true, +"type": "string" +}, +"appId": { +"description": "Output only. Unique store identifier for the app. Example: \"gmbmikajjgmnabiglmofipeabaddhgne\" for the Save to Google Drive Chrome extension.", +"readOnly": true, +"type": "string" +}, +"detailUri": { +"description": "Output only. The uri for the detail page of the item.", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Output only. App's display name.", +"readOnly": true, +"type": "string" +}, +"iconUri": { +"description": "Output only. A link to an image that can be used as an icon for the product.", +"readOnly": true, +"type": "string" +}, +"latestRequestTime": { +"description": "Output only. The timestamp of the most recently made request for this app.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"requestCount": { +"description": "Output only. Total count of requests for this app.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1ChromeAppSiteAccess": { +"description": "Represent one host permission.", +"id": "GoogleChromeManagementV1ChromeAppSiteAccess", +"properties": { +"hostMatch": { +"description": "Output only. This can contain very specific hosts, or patterns like \"*.com\" for instance.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1CountChromeAppRequestsResponse": { +"description": "Response containing summary of requested app installations.", +"id": "GoogleChromeManagementV1CountChromeAppRequestsResponse", +"properties": { +"nextPageToken": { +"description": "Token to specify the next page in the list.", +"type": "string" +}, +"requestedApps": { +"description": "Count of requested apps matching request.", +"items": { +"$ref": "GoogleChromeManagementV1ChromeAppRequest" +}, +"type": "array" +}, +"totalSize": { +"description": "Total number of matching app requests.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1CountChromeBrowsersNeedingAttentionResponse": { +"description": "Response containing counts for browsers that need attention.", +"id": "GoogleChromeManagementV1CountChromeBrowsersNeedingAttentionResponse", +"properties": { +"noRecentActivityCount": { +"description": "Number of browsers that haven\u2019t had any recent activity", +"format": "int64", +"type": "string" +}, +"pendingBrowserUpdateCount": { +"description": "Number of browsers that are pending an OS update", +"format": "int64", +"type": "string" +}, +"recentlyEnrolledCount": { +"description": "Number of browsers that have been recently enrolled", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1CountChromeCrashEventsResponse": { +"description": "Response contains a list of CrashEventCountByVersionPerDay which count the chrome crash at the certain date.", +"id": "GoogleChromeManagementV1CountChromeCrashEventsResponse", +"properties": { +"crashEventCounts": { +"description": "Crash event counts grouped by date and browser version.", +"items": { +"$ref": "GoogleChromeManagementV1CountChromeCrashEventsResponseCrashEventCount" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1CountChromeCrashEventsResponseCrashEventCount": { +"description": "The `count` of the Chrome crash events at the `date`.", +"id": "GoogleChromeManagementV1CountChromeCrashEventsResponseCrashEventCount", +"properties": { +"browserVersion": { +"description": "Browser version this is counting.", +"type": "string" +}, +"count": { +"description": "Total count of crash events.", +"format": "int64", +"type": "string" +}, +"date": { +"$ref": "GoogleTypeDate", +"description": "Date of the crash event." +} +}, +"type": "object" +}, +"GoogleChromeManagementV1CountChromeDevicesReachingAutoExpirationDateResponse": { +"description": "Response containing a list of devices expiring in each month of a selected time frame. Counts are grouped by model and Auto Update Expiration date.", +"id": "GoogleChromeManagementV1CountChromeDevicesReachingAutoExpirationDateResponse", +"properties": { +"deviceAueCountReports": { +"description": "The list of reports sorted by auto update expiration date in ascending order.", +"items": { +"$ref": "GoogleChromeManagementV1DeviceAueCountReport" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1CountChromeDevicesThatNeedAttentionResponse": { +"description": "Response containing counts for devices that need attention.", +"id": "GoogleChromeManagementV1CountChromeDevicesThatNeedAttentionResponse", +"properties": { +"noRecentPolicySyncCount": { +"description": "Number of ChromeOS devices have not synced policies in the past 28 days.", +"format": "int64", +"type": "string" +}, +"noRecentUserActivityCount": { +"description": "Number of ChromeOS devices that have not seen any user activity in the past 28 days.", +"format": "int64", +"type": "string" +}, +"osVersionNotCompliantCount": { +"description": "Number of devices whose OS version is not compliant.", +"format": "int64", +"type": "string" +}, +"pendingUpdate": { +"description": "Number of devices that are pending an OS update.", +"format": "int64", +"type": "string" +}, +"unsupportedPolicyCount": { +"description": "Number of devices that are unable to apply a policy due to an OS version mismatch.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1CountChromeHardwareFleetDevicesResponse": { +"description": "Response containing a list of devices with a specific type of hardware specification from the requested hardware type.", +"id": "GoogleChromeManagementV1CountChromeHardwareFleetDevicesResponse", +"properties": { +"cpuReports": { +"description": "The DeviceHardwareCountReport for device cpu type (for example Intel(R) Core(TM) i7-10610U CPU @ 1.80GHz).", +"items": { +"$ref": "GoogleChromeManagementV1DeviceHardwareCountReport" +}, +"type": "array" +}, +"memoryReports": { +"description": "The DeviceHardwareCountReport for device memory amount in gigabytes (for example 16).", +"items": { +"$ref": "GoogleChromeManagementV1DeviceHardwareCountReport" +}, +"type": "array" +}, +"modelReports": { +"description": "The DeviceHardwareCountReport for device model type (for example Acer C7 Chromebook).", +"items": { +"$ref": "GoogleChromeManagementV1DeviceHardwareCountReport" +}, +"type": "array" +}, +"storageReports": { +"description": "The DeviceHardwareCountReport for device storage amount in gigabytes (for example 128).", +"items": { +"$ref": "GoogleChromeManagementV1DeviceHardwareCountReport" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1CountChromeVersionsResponse": { +"description": "Response containing requested browser versions details and counts.", +"id": "GoogleChromeManagementV1CountChromeVersionsResponse", +"properties": { +"browserVersions": { +"description": "List of all browser versions and their install counts.", +"items": { +"$ref": "GoogleChromeManagementV1BrowserVersion" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to specify the next page of the request.", +"type": "string" +}, +"totalSize": { +"description": "Total number browser versions matching request.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1CountInstalledAppsResponse": { +"description": "Response containing details of queried installed apps.", +"id": "GoogleChromeManagementV1CountInstalledAppsResponse", +"properties": { +"installedApps": { +"description": "List of installed apps matching request.", +"items": { +"$ref": "GoogleChromeManagementV1InstalledApp" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to specify the next page of the request.", +"type": "string" +}, +"totalSize": { +"description": "Total number of installed apps matching request.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1CountPrintJobsByPrinterResponse": { +"description": "Response containing a summary printing report for each printer from the specified organizational unit for the requested time interval.", +"id": "GoogleChromeManagementV1CountPrintJobsByPrinterResponse", +"properties": { +"nextPageToken": { +"description": "Pagination token for requesting the next page.", +"type": "string" +}, +"printerReports": { +"description": "List of PrinterReports matching request.", +"items": { +"$ref": "GoogleChromeManagementV1PrinterReport" +}, +"type": "array" +}, +"totalSize": { +"description": "Total number of printers matching request.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1CountPrintJobsByUserResponse": { +"description": "Response containing a summary printing report for each user that has initiated a print job with a printer from the specified organizational unit during the requested time interval.", +"id": "GoogleChromeManagementV1CountPrintJobsByUserResponse", +"properties": { +"nextPageToken": { +"description": "Pagination token for requesting the next page.", +"type": "string" +}, +"totalSize": { +"description": "Total number of users matching request.", +"format": "int64", +"type": "string" +}, +"userPrintReports": { +"description": "List of UserPrintReports matching request.", +"items": { +"$ref": "GoogleChromeManagementV1UserPrintReport" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1CpuInfo": { +"description": "CPU specifications for the device * This field provides device information, which is static and will not change over time. * Data for this field is controlled via policy: [ReportDeviceCpuInfo](https://chromeenterprise.google/policies/#ReportDeviceCpuInfo) * Data Collection Frequency: Only at Upload * Default Data Reporting Frequency: 3 hours - Policy Controlled: Yes * Cache: If the device is offline, the collected data is stored locally, and will be reported when the device is next online: No * Reported for affiliated users only: N/A * Granular permission needed: TELEMETRY_API_CPU_INFO", +"id": "GoogleChromeManagementV1CpuInfo", +"properties": { +"architecture": { +"description": "Output only. Architecture type for the CPU. * This field provides device information, which is static and will not change over time. * Data for this field is controlled via policy: [ReportDeviceCpuInfo](https://chromeenterprise.google/policies/#ReportDeviceCpuInfo) * Data Collection Frequency: Only at Upload * Default Data Reporting Frequency: 3 hours - Policy Controlled: Yes * Cache: If the device is offline, the collected data is stored locally, and will be reported when the device is next online: No * Reported for affiliated users only: N/A", +"enum": [ +"ARCHITECTURE_UNSPECIFIED", +"X64" +], +"enumDescriptions": [ +"Architecture unknown.", +"x64 architecture" +], +"readOnly": true, +"type": "string" +}, +"keylockerConfigured": { +"description": "Output only. Whether keylocker is configured.`TRUE` = Enabled; `FALSE` = disabled. Only reported if keylockerSupported = `TRUE`.", +"readOnly": true, +"type": "boolean" +}, +"keylockerSupported": { +"description": "Output only. Whether keylocker is supported.", +"readOnly": true, +"type": "boolean" +}, +"maxClockSpeed": { +"description": "Output only. The max CPU clock speed in kHz.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"model": { +"description": "Output only. The CPU model name. Example: Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1CpuStatusReport": { +"description": "Provides information about the status of the CPU. * This field is telemetry information and this will change over time as the device is utilized. * Data for this field is controlled via policy: [ReportDeviceCpuInfo](https://chromeenterprise.google/policies/#ReportDeviceCpuInfo) * Data Collection Frequency: Every 10 minutes * Default Data Reporting Frequency: 3 hours - Policy Controlled: Yes * Cache: If the device is offline, the collected data is stored locally, and will be reported when the device is next online: No * Reported for affiliated users only: N/A * Granular permission needed: TELEMETRY_API_CPU_REPORT", +"id": "GoogleChromeManagementV1CpuStatusReport", +"properties": { +"cpuTemperatureInfo": { +"description": "Output only. CPU temperature sample info per CPU core in Celsius", +"items": { +"$ref": "GoogleChromeManagementV1CpuTemperatureInfo" +}, +"readOnly": true, +"type": "array" +}, +"cpuUtilizationPct": { +"description": "Output only. Sample of CPU utilization (0-100 percent).", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"reportTime": { +"description": "Output only. The timestamp in milliseconds representing time at which this report was sampled.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"sampleFrequency": { +"description": "Output only. Frequency the report is sampled.", +"format": "google-duration", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1CpuTemperatureInfo": { +"description": "CPU temperature of a device. Sampled per CPU core in Celsius. * This field is telemetry information and this will change over time as the device is utilized. * Data for this field is controlled via policy: [ReportDeviceCpuInfo](https://chromeenterprise.google/policies/#ReportDeviceCpuInfo) * Data Collection Frequency: Every 10 minutes * Default Data Reporting Frequency: 3 hours - Policy Controlled: Yes * Cache: If the device is offline, the collected data is stored locally, and will be reported when the device is next online: No * Reported for affiliated users only: N/A", +"id": "GoogleChromeManagementV1CpuTemperatureInfo", +"properties": { +"label": { +"description": "Output only. CPU label. Example: Core 0", +"readOnly": true, +"type": "string" +}, +"temperatureCelsius": { +"description": "Output only. CPU temperature in Celsius.", +"format": "int32", +"readOnly": true, +"type": "integer" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1Device": { +"description": "Describes a device reporting Chrome browser information.", +"id": "GoogleChromeManagementV1Device", +"properties": { +"deviceId": { +"description": "Output only. The ID of the device that reported this Chrome browser information.", +"readOnly": true, +"type": "string" +}, +"machine": { +"description": "Output only. The name of the machine within its local network.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1DeviceActivityReport": { +"description": "Device activity report. * Granular permission needed: TELEMETRY_API_DEVICE_ACTIVITY_REPORT", +"id": "GoogleChromeManagementV1DeviceActivityReport", +"properties": { +"deviceActivityState": { +"description": "Output only. Device activity state.", +"enum": [ +"DEVICE_ACTIVITY_STATE_UNSPECIFIED", +"ACTIVE", +"IDLE", +"LOCKED" +], +"enumDescriptions": [ +"Device activity state is unspecified.", +"Device is currently being used.", +"Device is currently idle.", +"Device is currently locked." +], +"readOnly": true, +"type": "string" +}, +"reportTime": { +"description": "Output only. Timestamp of when the report was collected.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1DeviceAueCountReport": { +"description": "Report for CountChromeDevicesPerAueDateResponse, contains the count of devices of a specific model and auto update expiration range.", +"id": "GoogleChromeManagementV1DeviceAueCountReport", +"properties": { +"aueMonth": { +"description": "Enum value of month corresponding to the auto update expiration date in UTC time zone. If the device is already expired, this field is empty.", +"enum": [ +"MONTH_UNSPECIFIED", +"JANUARY", +"FEBRUARY", +"MARCH", +"APRIL", +"MAY", +"JUNE", +"JULY", +"AUGUST", +"SEPTEMBER", +"OCTOBER", +"NOVEMBER", +"DECEMBER" +], +"enumDescriptions": [ +"The unspecified month.", +"The month of January.", +"The month of February.", +"The month of March.", +"The month of April.", +"The month of May.", +"The month of June.", +"The month of July.", +"The month of August.", +"The month of September.", +"The month of October.", +"The month of November.", +"The month of December." +], +"type": "string" +}, +"aueYear": { +"description": "Int value of year corresponding to the Auto Update Expiration date in UTC time zone. If the device is already expired, this field is empty.", +"format": "int64", +"type": "string" +}, +"count": { +"description": "Count of devices of this model.", +"format": "int64", +"type": "string" +}, +"expired": { +"description": "Boolean value for whether or not the device has already expired.", +"type": "boolean" +}, +"model": { +"description": "Public model name of the devices.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1DeviceHardwareCountReport": { +"description": "Report for CountChromeDevicesPerHardwareSpecResponse, contains the count of devices with a unique hardware specification.", +"id": "GoogleChromeManagementV1DeviceHardwareCountReport", +"properties": { +"bucket": { +"description": "Public name of the hardware specification.", +"type": "string" +}, +"count": { +"description": "Count of devices with a unique hardware specification.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1DeviceRequestingExtensionDetails": { +"description": "Details of a device requesting an extension, including the name of the device and the justification of the request.", +"id": "GoogleChromeManagementV1DeviceRequestingExtensionDetails", +"properties": { +"deviceName": { +"description": "The name of a device that has requested the extension.", +"type": "string" +}, +"justification": { +"description": "Request justification as entered by the user.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1DiskInfo": { +"description": "Status of the single storage device.", +"id": "GoogleChromeManagementV1DiskInfo", +"properties": { +"bytesReadThisSession": { +"description": "Output only. Number of bytes read since last boot.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"bytesWrittenThisSession": { +"description": "Output only. Number of bytes written since last boot.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"discardTimeThisSession": { +"description": "Output only. Time spent discarding since last boot. Discarding is writing to clear blocks which are no longer in use. Supported on kernels 4.18+.", +"format": "google-duration", +"readOnly": true, +"type": "string" +}, +"health": { +"description": "Output only. Disk health.", +"readOnly": true, +"type": "string" +}, +"ioTimeThisSession": { +"description": "Output only. Counts the time the disk and queue were busy, so unlike the fields above, parallel requests are not counted multiple times.", +"format": "google-duration", +"readOnly": true, +"type": "string" +}, +"manufacturer": { +"description": "Output only. Disk manufacturer.", +"readOnly": true, +"type": "string" +}, +"model": { +"description": "Output only. Disk model.", +"readOnly": true, +"type": "string" +}, +"readTimeThisSession": { +"description": "Output only. Time spent reading from disk since last boot.", +"format": "google-duration", +"readOnly": true, +"type": "string" +}, +"serialNumber": { +"description": "Output only. Disk serial number.", +"readOnly": true, +"type": "string" +}, +"sizeBytes": { +"description": "Output only. Disk size.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Output only. Disk type: eMMC / NVMe / ATA / SCSI.", +"readOnly": true, +"type": "string" +}, +"volumeIds": { +"description": "Output only. Disk volumes.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"writeTimeThisSession": { +"description": "Output only. Time spent writing to disk since last boot.", +"format": "google-duration", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1DisplayDevice": { +"description": "Information of a display device.", +"id": "GoogleChromeManagementV1DisplayDevice", +"properties": { +"displayHeightMm": { +"description": "Output only. Display height in millimeters.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"displayName": { +"description": "Output only. Display device name.", +"readOnly": true, +"type": "string" +}, +"displayWidthMm": { +"description": "Output only. Display width in millimeters.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"internal": { +"description": "Output only. Is display internal or not.", +"readOnly": true, +"type": "boolean" +}, +"manufactureYear": { +"description": "Output only. Year of manufacture.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"manufacturerId": { +"description": "Output only. Three letter manufacturer ID.", +"readOnly": true, +"type": "string" +}, +"modelId": { +"description": "Output only. Manufacturer product code.", +"format": "int32", +"readOnly": true, +"type": "integer" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1DisplayInfo": { +"description": "Information for a display.", +"id": "GoogleChromeManagementV1DisplayInfo", +"properties": { +"deviceId": { +"description": "Output only. Represents the graphics card device id.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Output only. Display device name.", +"readOnly": true, +"type": "string" +}, +"isInternal": { +"description": "Output only. Indicates if display is internal or not.", +"readOnly": true, +"type": "boolean" +}, +"refreshRate": { +"description": "Output only. Refresh rate in Hz.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"resolutionHeight": { +"description": "Output only. Resolution height in pixels.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"resolutionWidth": { +"description": "Output only. Resolution width in pixels.", +"format": "int32", +"readOnly": true, +"type": "integer" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1EnumeratePrintJobsResponse": { +"description": "Response containing a list of print jobs.", +"id": "GoogleChromeManagementV1EnumeratePrintJobsResponse", +"properties": { +"nextPageToken": { +"description": "A token, which can be used in a subsequent request to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"printJobs": { +"description": "List of requested print jobs.", +"items": { +"$ref": "GoogleChromeManagementV1PrintJob" +}, +"type": "array" +}, +"totalSize": { +"description": "Total number of print jobs matching request.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1FetchDevicesRequestingExtensionResponse": { +"description": "Response containing a list of devices that have requested the queried extension.", +"id": "GoogleChromeManagementV1FetchDevicesRequestingExtensionResponse", +"properties": { +"deviceDetails": { +"description": "Details of devices that have requested the queried extension.", +"items": { +"$ref": "GoogleChromeManagementV1DeviceRequestingExtensionDetails" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Optional. Token to specify the next page in the list. Token expires after 1 day.", +"type": "string" +}, +"totalSize": { +"description": "Optional. Total number of devices in response.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1FetchUsersRequestingExtensionResponse": { +"description": "Response containing a list of users that have requested the queried extension.", +"id": "GoogleChromeManagementV1FetchUsersRequestingExtensionResponse", +"properties": { +"nextPageToken": { +"description": "Token to specify the next page in the list.", +"type": "string" +}, +"totalSize": { +"description": "Total number of users in response.", +"format": "int32", +"type": "integer" +}, +"userDetails": { +"description": "Details of users that have requested the queried extension.", +"items": { +"$ref": "GoogleChromeManagementV1UserRequestingExtensionDetails" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1FindInstalledAppDevicesResponse": { +"description": "Response containing a list of devices with queried app installed.", +"id": "GoogleChromeManagementV1FindInstalledAppDevicesResponse", +"properties": { +"devices": { +"description": "A list of devices which have the app installed. Sorted in ascending alphabetical order on the Device.machine field.", +"items": { +"$ref": "GoogleChromeManagementV1Device" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to specify the next page of the request.", +"type": "string" +}, +"totalSize": { +"description": "Total number of devices matching request.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1GraphicsAdapterInfo": { +"description": "Information of a graphics adapter (GPU).", +"id": "GoogleChromeManagementV1GraphicsAdapterInfo", +"properties": { +"adapter": { +"description": "Output only. Adapter name. Example: Mesa DRI Intel(R) UHD Graphics 620 (Kabylake GT2).", +"readOnly": true, +"type": "string" +}, +"deviceId": { +"description": "Output only. Represents the graphics card device id.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"driverVersion": { +"description": "Output only. Version of the GPU driver.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1GraphicsInfo": { +"description": "Information of the graphics subsystem. * This field provides device information, which is static and will not change over time. * Data for this field is controlled via policy: [ReportDeviceGraphicsStatus](https://chromeenterprise.google/policies/#ReportDeviceGraphicsStatus) * Data Collection Frequency: Only at Upload * Default Data Reporting Frequency: 3 hours - Policy Controlled: Yes * Cache: If the device is offline, the collected data is stored locally, and will be reported when the device is next online: No * Reported for affiliated users only: N/A * Granular permission needed: TELEMETRY_API_GRAPHICS_INFO", +"id": "GoogleChromeManagementV1GraphicsInfo", +"properties": { +"adapterInfo": { +"$ref": "GoogleChromeManagementV1GraphicsAdapterInfo", +"description": "Output only. Information about the graphics adapter (GPU).", +"readOnly": true +}, +"displayDevices": { +"description": "Output only. Information about the display(s) of the device.", +"items": { +"$ref": "GoogleChromeManagementV1DisplayDevice" +}, +"readOnly": true, +"type": "array" +}, +"eprivacySupported": { +"description": "Output only. Is ePrivacy screen supported or not.", +"readOnly": true, +"type": "boolean" +}, +"touchScreenInfo": { +"$ref": "GoogleChromeManagementV1TouchScreenInfo", +"description": "Output only. Information about the internal touch screen(s) of the device.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleChromeManagementV1GraphicsStatusReport": { +"description": "Information of the graphics subsystem. * This field is telemetry information and this will change over time as the device is utilized. * Data for this field is controlled via policy: [ReportDeviceGraphicsInfo](https://chromeenterprise.google/policies/#ReportDeviceGraphicsInfo) * Data Collection Frequency: 3 hours. * Default Data Reporting Frequency: 3 hours - Policy Controlled: Yes * Cache: If the device is offline, the collected data is stored locally, and will be reported when the device is next online: No * Reported for affiliated users only: N/A * Granular permission needed: TELEMETRY_API_GRAPHICS_REPORT", +"id": "GoogleChromeManagementV1GraphicsStatusReport", +"properties": { +"displays": { +"description": "Output only. Information about the displays for the device.", +"items": { +"$ref": "GoogleChromeManagementV1DisplayInfo" +}, +"readOnly": true, +"type": "array" +}, +"reportTime": { +"description": "Output only. Time at which the graphics data was reported.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1HeartbeatStatusReport": { +"description": "Heartbeat status report of a device. * Available for Kiosks * This field provides online/offline/unknown status of a device and will only be included if the status has changed (e.g. Online -> Offline) * Data for this field is controlled via policy: [HeartbeatEnabled](https://chromeenterprise.google/policies/#HeartbeatEnabled) [More Info](https://support.google.com/chrome/a/answer/6179663#:~:text=On%20the%20Chrome,device%20status%20alerts) * Heartbeat Frequency: 2 mins * Note: If a device goes offline, it can take up to 12 minutes for the online status of the device to be updated * Cache: If the device is offline, the collected data is stored locally, and will be reported when the device is next online: N/A * Reported for affiliated users only: N/A * Granular permission needed: TELEMETRY_API_DEVICE_ACTIVITY_REPORT", +"id": "GoogleChromeManagementV1HeartbeatStatusReport", +"properties": { +"reportTime": { +"description": "Timestamp of when status changed was detected", +"format": "google-datetime", +"type": "string" +}, +"state": { +"description": "State the device changed to", +"enum": [ +"STATE_UNSPECIFIED", +"UNKNOWN", +"ONLINE", +"OFFLINE" +], +"enumDescriptions": [ +"State not specified", +"Device is not eligible for heartbeat monitoring", +"Device is online", +"Device is offline" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1HttpsLatencyRoutineData": { +"description": "Data that describes the result of the HTTPS latency diagnostics routine, with the HTTPS requests issued to Google websites.", +"id": "GoogleChromeManagementV1HttpsLatencyRoutineData", +"properties": { +"latency": { +"description": "Output only. HTTPS latency if routine succeeded or failed because of HIGH_LATENCY or VERY_HIGH_LATENCY.", +"format": "google-duration", +"readOnly": true, +"type": "string" +}, +"problem": { +"description": "Output only. HTTPS latency routine problem if a problem occurred.", +"enum": [ +"HTTPS_LATENCY_PROBLEM_UNSPECIFIED", +"FAILED_DNS_RESOLUTIONS", +"FAILED_HTTPS_REQUESTS", +"HIGH_LATENCY", +"VERY_HIGH_LATENCY" +], +"enumDescriptions": [ +"HTTPS latency problem not specified.", +"One or more DNS resolutions resulted in a failure.", +"One or more HTTPS requests resulted in a failure.", +"Average HTTPS request latency time between 500ms and 1000ms is high.", +"Average HTTPS request latency time greater than 1000ms is very high." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1InstalledApp": { +"description": "Describes an installed app.", +"id": "GoogleChromeManagementV1InstalledApp", +"properties": { +"appId": { +"description": "Output only. Unique identifier of the app. For Chrome apps and extensions, the 32-character id (e.g. ehoadneljpdggcbbknedodolkkjodefl). For Android apps, the package name (e.g. com.evernote).", +"readOnly": true, +"type": "string" +}, +"appInstallType": { +"description": "Output only. How the app was installed.", +"enum": [ +"APP_INSTALL_TYPE_UNSPECIFIED", +"MULTIPLE", +"NORMAL", +"ADMIN", +"DEVELOPMENT", +"SIDELOAD", +"OTHER" +], +"enumDescriptions": [ +"Application install type not specified.", +"Multiple app install types.", +"Normal app install type.", +"Administrator app install type.", +"Development app install type.", +"Sideloaded app install type.", +"Other app install type." +], +"readOnly": true, +"type": "string" +}, +"appSource": { +"description": "Output only. Source of the installed app.", +"enum": [ +"APP_SOURCE_UNSPECIFIED", +"CHROME_WEBSTORE", +"PLAY_STORE" +], +"enumDescriptions": [ +"Application source not specified.", +"Generally for extensions and Chrome apps.", +"Play Store app." +], +"readOnly": true, +"type": "string" +}, +"appType": { +"description": "Output only. Type of the app.", +"enum": [ +"APP_TYPE_UNSPECIFIED", +"EXTENSION", +"APP", +"THEME", +"HOSTED_APP", +"ANDROID_APP" +], +"enumDescriptions": [ +"App type not specified.", +"Chrome extension.", +"Chrome app.", +"Chrome theme.", +"Chrome hosted app.", +"ARC++ app." +], +"readOnly": true, +"type": "string" +}, +"browserDeviceCount": { +"description": "Output only. Count of browser devices with this app installed.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Output only. Description of the installed app.", +"readOnly": true, +"type": "string" +}, +"disabled": { +"description": "Output only. Whether the app is disabled.", +"readOnly": true, +"type": "boolean" +}, +"displayName": { +"description": "Output only. Name of the installed app.", +"readOnly": true, +"type": "string" +}, +"homepageUri": { +"description": "Output only. Homepage uri of the installed app.", +"readOnly": true, +"type": "string" +}, +"osUserCount": { +"description": "Output only. Count of ChromeOS users with this app installed.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"permissions": { +"description": "Output only. Permissions of the installed app.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"riskAssessment": { +"$ref": "GoogleChromeManagementV1RiskAssessmentData", +"description": "Output only. If available, the risk assessment data about this extension.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleChromeManagementV1KioskAppStatusReport": { +"description": "Kiosk app status report of a device. * Available for Kiosks * This field provides the app id and version number running on a kiosk device and the timestamp of when the report was last updated * Data for this field is controlled via policy: [ReportDeviceSessionStatus](https://chromeenterprise.google/policies/#ReportDeviceSessionStatus) * Data Collection Frequency: Only at Upload * Default Data Reporting Frequency: 3 hours - Policy Controlled: Yes * Cache: If the device is offline, the collected data is stored locally, and will be reported when the device is next online: No * Reported for affiliated users only: N/A * Granular permission needed: TELEMETRY_API_APPS_REPORT", +"id": "GoogleChromeManagementV1KioskAppStatusReport", +"properties": { +"appId": { +"description": "App id of kiosk app for example \"mdmkkicfmmkgmpkmkdikhlbggogpicma\"", +"type": "string" +}, +"appVersion": { +"description": "App version number of kiosk app for example \"1.10.118\"", +"type": "string" +}, +"reportTime": { +"description": "Timestamp of when report was collected", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1ListTelemetryDevicesResponse": { +"id": "GoogleChromeManagementV1ListTelemetryDevicesResponse", +"properties": { +"devices": { +"description": "Telemetry devices returned in the response.", +"items": { +"$ref": "GoogleChromeManagementV1TelemetryDevice" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to specify next page in the list.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1ListTelemetryEventsResponse": { +"description": "Response message for listing telemetry events for a customer.", +"id": "GoogleChromeManagementV1ListTelemetryEventsResponse", +"properties": { +"nextPageToken": { +"description": "Token to specify next page in the list.", +"type": "string" +}, +"telemetryEvents": { +"description": "Telemetry events returned in the response.", +"items": { +"$ref": "GoogleChromeManagementV1TelemetryEvent" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1ListTelemetryNotificationConfigsResponse": { +"description": "Response message for listing notification configs for a customer.", +"id": "GoogleChromeManagementV1ListTelemetryNotificationConfigsResponse", +"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" +}, +"telemetryNotificationConfigs": { +"description": "The telemetry notification configs from the specified customer.", +"items": { +"$ref": "GoogleChromeManagementV1TelemetryNotificationConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1ListTelemetryUsersResponse": { +"description": "Response message for listing telemetry users for a customer.", +"id": "GoogleChromeManagementV1ListTelemetryUsersResponse", +"properties": { +"nextPageToken": { +"description": "Token to specify next page in the list.", +"type": "string" +}, +"telemetryUsers": { +"description": "Telemetry users returned in the response.", +"items": { +"$ref": "GoogleChromeManagementV1TelemetryUser" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1MemoryInfo": { +"description": "Memory information of a device. * This field has both telemetry and device information: - `totalRamBytes` - Device information - `availableRamBytes` - Telemetry information - `totalMemoryEncryption` - Device information * Data for this field is controlled via policy: [ReportDeviceMemoryInfo](https://chromeenterprise.google/policies/#ReportDeviceMemoryInfo) * Data Collection Frequency: - `totalRamBytes` - Only at upload - `availableRamBytes` - Every 10 minutes - `totalMemoryEncryption` - at device startup * Default Data Reporting Frequency: - `totalRamBytes` - 3 hours - `availableRamBytes` - 3 hours - `totalMemoryEncryption` - at device startup - Policy Controlled: Yes * Cache: If the device is offline, the collected data is stored locally, and will be reported when the device is next online: only for `totalMemoryEncryption` * Reported for affiliated users only: N/A * Granular permission needed: TELEMETRY_API_MEMORY_INFO", +"id": "GoogleChromeManagementV1MemoryInfo", +"properties": { +"availableRamBytes": { +"description": "Output only. Amount of available RAM in bytes.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"totalMemoryEncryption": { +"$ref": "GoogleChromeManagementV1TotalMemoryEncryptionInfo", +"description": "Output only. Total memory encryption info for the device.", +"readOnly": true +}, +"totalRamBytes": { +"description": "Output only. Total RAM in bytes.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1MemoryStatusReport": { +"description": "Contains samples of memory status reports. * This field is telemetry information and this will change over time as the device is utilized. * Data for this field is controlled via policy: [ReportDeviceMemoryInfo](https://chromeenterprise.google/policies/#ReportDeviceMemoryInfo) * Data Collection Frequency: Only at upload, SystemRamFreeByes is collected every 10 minutes * Default Data Reporting Frequency: Every 3 hours - Policy Controlled: Yes * Cache: If the device is offline, the collected data is stored locally, and will be reported when the device is next online: No * Reported for affiliated users only: N/A * Granular permission needed: TELEMETRY_API_MEMORY_REPORT", +"id": "GoogleChromeManagementV1MemoryStatusReport", +"properties": { +"pageFaults": { +"description": "Output only. Number of page faults during this collection", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"reportTime": { +"description": "Output only. The timestamp in milliseconds representing time at which this report was sampled.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"sampleFrequency": { +"description": "Output only. Frequency the report is sampled.", +"format": "google-duration", +"readOnly": true, +"type": "string" +}, +"systemRamFreeBytes": { +"description": "Output only. Amount of free RAM in bytes (unreliable due to Garbage Collection).", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1NetworkBandwidthReport": { +"description": "Network bandwidth report. * Granular permission needed: TELEMETRY_API_NETWORK_REPORT", +"id": "GoogleChromeManagementV1NetworkBandwidthReport", +"properties": { +"downloadSpeedKbps": { +"description": "Output only. Download speed in kilobits per second.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"reportTime": { +"description": "Output only. Timestamp of when the report was collected.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1NetworkDevice": { +"description": "Details about the network device. * This field provides device information, which is static and will not change over time. * Data for this field is controlled via policy: [ReportNetworkDeviceConfiguration](https://chromeenterprise.google/policies/#ReportNetworkDeviceConfiguration) * Data Collection Frequency: At device startup * Default Data Reporting Frequency: At device startup - Policy Controlled: Yes * Cache: If the device is offline, the collected data is stored locally, and will be reported when the device is next online: Yes * Reported for affiliated users only: N/A", +"id": "GoogleChromeManagementV1NetworkDevice", +"properties": { +"iccid": { +"description": "Output only. The integrated circuit card ID associated with the device's sim card.", +"readOnly": true, +"type": "string" +}, +"imei": { +"description": "Output only. IMEI (if applicable) of the corresponding network device.", +"readOnly": true, +"type": "string" +}, +"macAddress": { +"description": "Output only. MAC address (if applicable) of the corresponding network device.", +"readOnly": true, +"type": "string" +}, +"mdn": { +"description": "Output only. The mobile directory number associated with the device's sim card.", +"readOnly": true, +"type": "string" +}, +"meid": { +"description": "Output only. MEID (if applicable) of the corresponding network device.", +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Output only. Network device type.", +"enum": [ +"NETWORK_DEVICE_TYPE_UNSPECIFIED", +"CELLULAR_DEVICE", +"ETHERNET_DEVICE", +"WIFI_DEVICE" +], +"enumDescriptions": [ +"Network device type not specified.", +"Cellular device.", +"Ethernet device.", +"Wifi device." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1NetworkDiagnosticsReport": { +"description": "Network testing results to determine the health of the device's network connection, for example whether the HTTPS latency is high or normal. * Granular permission needed: TELEMETRY_API_NETWORK_REPORT", +"id": "GoogleChromeManagementV1NetworkDiagnosticsReport", +"properties": { +"httpsLatencyData": { +"$ref": "GoogleChromeManagementV1HttpsLatencyRoutineData", +"description": "Output only. HTTPS latency test data.", +"readOnly": true +}, +"reportTime": { +"description": "Output only. Timestamp of when the diagnostics were collected.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1NetworkInfo": { +"description": "Network device information. * This field provides device information, which is static and will not change over time. * Data for this field is controlled via policy: [ReportNetworkDeviceConfiguration](https://chromeenterprise.google/policies/#ReportNetworkDeviceConfiguration) * Data Collection Frequency: At device startup * Default Data Reporting Frequency: At device startup - Policy Controlled: Yes * Cache: If the device is offline, the collected data is stored locally, and will be reported when the device is next online: Yes * Reported for affiliated users only: N/A * Granular permission needed: TELEMETRY_API_NETWORK_INFO", +"id": "GoogleChromeManagementV1NetworkInfo", +"properties": { +"networkDevices": { +"description": "Output only. List of network devices.", +"items": { +"$ref": "GoogleChromeManagementV1NetworkDevice" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1NetworkStatusReport": { +"description": "State of visible/configured networks. * This field is telemetry information and this will change over time as the device is utilized. * Data for this field is controlled via policy: [ReportNetworkStatus](https://chromeenterprise.google/policies/#ReportNetworkStatus) * Data Collection Frequency: 60 minutes * Default Data Reporting Frequency: 3 hours - Policy Controlled: Yes * Cache: If the device is offline, the collected data is stored locally, and will be reported when the device is next online: Yes * Reported for affiliated users only: Yes * Granular permission needed: TELEMETRY_API_NETWORK_REPORT", +"id": "GoogleChromeManagementV1NetworkStatusReport", +"properties": { +"connectionState": { +"description": "Output only. Current connection state of the network.", +"enum": [ +"NETWORK_CONNECTION_STATE_UNSPECIFIED", +"ONLINE", +"CONNECTED", +"PORTAL", +"CONNECTING", +"NOT_CONNECTED" +], +"enumDescriptions": [ +"Network connection state unspecified.", +"The network is connected and internet connectivity is available.", +"The network is connected and not in a detected portal state, but internet connectivity may not be available.", +"The network is connected but a portal state was detected. Internet connectivity may be limited.", +"The network is in the process of connecting.", +"The network is not connected." +], +"readOnly": true, +"type": "string" +}, +"connectionType": { +"description": "Output only. Network connection type.", +"enum": [ +"NETWORK_TYPE_UNSPECIFIED", +"CELLULAR", +"ETHERNET", +"TETHER", +"VPN", +"WIFI" +], +"enumDescriptions": [ +"Network connection type unspecified", +"Cellular network connection.", +"Ethernet network connection.", +"Tether network connection.", +"VPN network connection.", +"Wifi network connection." +], +"readOnly": true, +"type": "string" +}, +"encryptionOn": { +"description": "Output only. Whether the wifi encryption key is turned off.", +"readOnly": true, +"type": "boolean" +}, +"gatewayIpAddress": { +"description": "Output only. Gateway IP address.", +"readOnly": true, +"type": "string" +}, +"guid": { +"description": "Output only. Network connection guid.", +"readOnly": true, +"type": "string" +}, +"lanIpAddress": { +"description": "Output only. LAN IP address.", +"readOnly": true, +"type": "string" +}, +"receivingBitRateMbps": { +"description": "Output only. Receiving bit rate measured in Megabits per second.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"reportTime": { +"description": "Output only. Time at which the network state was reported.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"sampleFrequency": { +"description": "Output only. Frequency the report is sampled.", +"format": "google-duration", +"readOnly": true, +"type": "string" +}, +"signalStrengthDbm": { +"description": "Output only. Signal strength for wireless networks measured in decibels.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"transmissionBitRateMbps": { +"description": "Output only. Transmission bit rate measured in Megabits per second.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"transmissionPowerDbm": { +"description": "Output only. Transmission power measured in decibels.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"wifiLinkQuality": { +"description": "Output only. Wifi link quality. Value ranges from [0, 70]. 0 indicates no signal and 70 indicates a strong signal.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"wifiPowerManagementEnabled": { +"description": "Output only. Wifi power management enabled", +"readOnly": true, +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1OsUpdateStatus": { +"description": "Contains information regarding the current OS update status. * This field is telemetry information and this will change over time as the device is utilized. * Data for this field is controlled via policy: [ReportDeviceOsUpdateStatus](https://chromeenterprise.google/policies/#ReportDeviceOsUpdateStatus) * Data Collection Frequency: Only at Upload * Default Data Reporting Frequency: 3 hours - Policy Controlled: Yes * Cache: If the device is offline, the collected data is stored locally, and will be reported when the device is next online: No * Reported for affiliated users only: N/A * Granular permission needed: TELEMETRY_API_OS_REPORT", +"id": "GoogleChromeManagementV1OsUpdateStatus", +"properties": { +"lastRebootTime": { +"description": "Output only. Timestamp of the last reboot.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"lastUpdateCheckTime": { +"description": "Output only. Timestamp of the last update check.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"lastUpdateTime": { +"description": "Output only. Timestamp of the last successful update.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"newPlatformVersion": { +"description": "Output only. New platform version of the os image being downloaded and applied. It is only set when update status is OS_IMAGE_DOWNLOAD_IN_PROGRESS or OS_UPDATE_NEED_REBOOT. Note this could be a dummy \"0.0.0.0\" for OS_UPDATE_NEED_REBOOT status for some edge cases, e.g. update engine is restarted without a reboot.", +"readOnly": true, +"type": "string" +}, +"newRequestedPlatformVersion": { +"description": "Output only. New requested platform version from the pending updated kiosk app.", +"readOnly": true, +"type": "string" +}, +"updateState": { +"description": "Output only. Current state of the os update.", +"enum": [ +"UPDATE_STATE_UNSPECIFIED", +"OS_IMAGE_DOWNLOAD_NOT_STARTED", +"OS_IMAGE_DOWNLOAD_IN_PROGRESS", +"OS_UPDATE_NEED_REBOOT" +], +"enumDescriptions": [ +"State unspecified.", +"OS has not started downloading.", +"OS has started download on device.", +"Device needs reboot to finish upload." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1PeripheralsReport": { +"description": "Peripherals report. * Granular permission needed: TELEMETRY_API_PERIPHERALS_REPORT", +"id": "GoogleChromeManagementV1PeripheralsReport", +"properties": { +"reportTime": { +"description": "Output only. Timestamp of when the report was collected.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"usbPeripheralReport": { +"description": "Reports of all usb connected devices.", +"items": { +"$ref": "GoogleChromeManagementV1UsbPeripheralReport" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1PrintJob": { +"description": "Represents a request to print a document that has been submitted to a printer.", +"id": "GoogleChromeManagementV1PrintJob", +"properties": { +"colorMode": { +"description": "Color mode.", +"enum": [ +"COLOR_MODE_UNSPECIFIED", +"BLACK_AND_WHITE", +"COLOR" +], +"enumDescriptions": [ +"Unspecified.", +"Black and white.", +"Color." +], +"type": "string" +}, +"completeTime": { +"description": "Print job completion timestamp.", +"format": "google-datetime", +"type": "string" +}, +"copyCount": { +"description": "Number of copies.", +"format": "int32", +"type": "integer" +}, +"createTime": { +"description": "Print job creation timestamp.", +"format": "google-datetime", +"type": "string" +}, +"documentPageCount": { +"description": "Number of pages in the document.", +"format": "int32", +"type": "integer" +}, +"duplexMode": { +"description": "Duplex mode.", +"enum": [ +"DUPLEX_MODE_UNSPECIFIED", +"ONE_SIDED", +"TWO_SIDED_LONG_EDGE", +"TWO_SIDED_SHORT_EDGE" +], +"enumDescriptions": [ +"Unspecified.", +"One-sided.", +"Two-sided flipping over long edge.", +"Two-sided flipping over short edge." +], +"type": "string" +}, +"id": { +"description": "Unique ID of the print job.", +"type": "string" +}, +"printer": { +"description": "Name of the printer used for printing.", +"type": "string" +}, +"printerId": { +"description": "API ID of the printer used for printing.", +"type": "string" +}, +"state": { +"description": "The final state of the job.", +"enum": [ +"STATE_UNSPECIFIED", +"PRINTED", +"CANCELLED", +"FAILED" +], +"enumDescriptions": [ +"Print job is in an unspecified state.", +"The document was successfully printed.", +"Print job was cancelled.", +"Print job failed." +], +"type": "string" +}, +"title": { +"description": "The title of the document.", +"type": "string" +}, +"userEmail": { +"description": "The primary e-mail address of the user who submitted the print job.", +"type": "string" +}, +"userId": { +"description": "The unique Directory API ID of the user who submitted the print job.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1PrinterReport": { +"description": "Report for CountPrintJobsByPrinter, contains statistics on printer usage. Contains the total number of print jobs initiated with this printer, the number of users and the number of devices that have initiated at least one print job with this printer.", +"id": "GoogleChromeManagementV1PrinterReport", +"properties": { +"deviceCount": { +"description": "Number of chrome devices that have been used to send print jobs to the specified printer.", +"format": "int64", +"type": "string" +}, +"jobCount": { +"description": "Number of print jobs sent to the printer.", +"format": "int64", +"type": "string" +}, +"printer": { +"description": "Printer name.", +"type": "string" +}, +"printerId": { +"description": "Printer API ID.", +"type": "string" +}, +"printerModel": { +"description": "Printer model.", +"type": "string" +}, +"userCount": { +"description": "Number of users that have sent print jobs to the printer.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1RiskAssessment": { +"description": "Risk assessment for a Chrome extension.", +"id": "GoogleChromeManagementV1RiskAssessment", +"properties": { +"assessment": { +"description": "Risk assessment for the extension. Currently, this is a numerical value, and its interpretation is specific to each risk assessment provider.", +"type": "string" +}, +"detailsUrl": { +"description": "A URL that a user can navigate to for more information about the risk assessment.", +"type": "string" +}, +"version": { +"description": "The version of the extension that this assessment applies to.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1RiskAssessmentData": { +"description": "Risk assessment data about an extension/app.", +"id": "GoogleChromeManagementV1RiskAssessmentData", +"properties": { +"entries": { +"description": "Individual risk assessments.", +"items": { +"$ref": "GoogleChromeManagementV1RiskAssessmentEntry" +}, +"type": "array" +}, +"overallRiskLevel": { +"description": "Overall assessed risk level across all entries. This will be the highest risk level from all entries.", +"enum": [ +"RISK_LEVEL_UNSPECIFIED", +"RISK_LEVEL_LOW", +"RISK_LEVEL_MEDIUM", +"RISK_LEVEL_HIGH" +], +"enumDescriptions": [ +"Risk level not specified.", +"Extension that represents a low risk.", +"Extension that represents a medium risk.", +"Extension that represents a high risk." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1RiskAssessmentEntry": { +"description": "One risk assessment entry.", +"id": "GoogleChromeManagementV1RiskAssessmentEntry", +"properties": { +"provider": { +"description": "The risk assessment provider from which this entry comes from.", +"enum": [ +"RISK_ASSESSMENT_PROVIDER_UNSPECIFIED", +"RISK_ASSESSMENT_PROVIDER_CRXCAVATOR", +"RISK_ASSESSMENT_PROVIDER_SPIN_AI" +], +"enumDescriptions": [ +"Default value when no provider is specified.", +"CRXcavator.", +"Spin.Ai." +], +"type": "string" +}, +"riskAssessment": { +"$ref": "GoogleChromeManagementV1RiskAssessment", +"description": "The details of the provider's risk assessment." +}, +"riskLevel": { +"description": "The bucketed risk level for the risk assessment.", +"enum": [ +"RISK_LEVEL_UNSPECIFIED", +"RISK_LEVEL_LOW", +"RISK_LEVEL_MEDIUM", +"RISK_LEVEL_HIGH" +], +"enumDescriptions": [ +"Risk level not specified.", +"Extension that represents a low risk.", +"Extension that represents a medium risk.", +"Extension that represents a high risk." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1RuntimeCountersReport": { +"description": "Runtime counters retrieved from CPU. Currently the runtime counters telemetry is only supported by Intel vPro PSR on Gen 14+.", +"id": "GoogleChromeManagementV1RuntimeCountersReport", +"properties": { +"enterHibernationCount": { +"description": "Number of times that the device has entered into the hibernation state. Currently obtained via the PSR, count from S0->S4.", +"format": "int64", +"type": "string" +}, +"enterPoweroffCount": { +"description": "Number of times that the device has entered into the power-off state. Currently obtained via the PSR, count from S0->S5.", +"format": "int64", +"type": "string" +}, +"enterSleepCount": { +"description": "Number of times that the device has entered into the sleep state. Currently obtained via the PSR, count from S0->S3.", +"format": "int64", +"type": "string" +}, +"reportTime": { +"description": "Timestamp when the report was collected.", +"format": "google-datetime", +"type": "string" +}, +"uptimeRuntimeDuration": { +"description": "Total lifetime runtime. Currently always S0 runtime from Intel vPro PSR.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1StorageInfo": { +"description": "Status data for storage. * This field is telemetry information and this will change over time as the device is utilized. * Data for this field is controlled via policy: [ReportDeviceStorageStatus](https://chromeenterprise.google/policies/#ReportDeviceStorageStatus) * Data Collection Frequency: Only at Upload * Default Data Reporting Frequency: 3 hours - Policy Controlled: Yes * Cache: If the device is offline, the collected data is stored locally, and will be reported when the device is next online: No * Reported for affiliated users only: N/A * Granular permission needed: TELEMETRY_API_STORAGE_INFO", +"id": "GoogleChromeManagementV1StorageInfo", +"properties": { +"availableDiskBytes": { +"description": "The available space for user data storage in the device in bytes.", +"format": "int64", +"type": "string" +}, +"totalDiskBytes": { +"description": "The total space for user data storage in the device in bytes.", +"format": "int64", +"type": "string" +}, +"volume": { +"description": "Information for disk volumes", +"items": { +"$ref": "GoogleChromeManagementV1StorageInfoDiskVolume" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1StorageInfoDiskVolume": { +"description": "Information for disk volumes", +"id": "GoogleChromeManagementV1StorageInfoDiskVolume", +"properties": { +"storageFreeBytes": { +"description": "Free storage space in bytes.", +"format": "int64", +"type": "string" +}, +"storageTotalBytes": { +"description": "Total storage space in bytes.", +"format": "int64", +"type": "string" +}, +"volumeId": { +"description": "Disk volume id.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1StorageStatusReport": { +"description": "Status data for storage. * This field is telemetry information and this will change over time as the device is utilized. * Data for this field is controlled via policy: [ReportDeviceStorageStatus](https://chromeenterprise.google/policies/#ReportDeviceStorageStatus) * Data Collection Frequency: Only at Upload * Default Data Reporting Frequency: 3 hours - Policy Controlled: Yes * Cache: If the device is offline, the collected data is stored locally, and will be reported when the device is next online: No * Reported for affiliated users only: N/A * Granular permission needed: TELEMETRY_API_STORAGE_REPORT", +"id": "GoogleChromeManagementV1StorageStatusReport", +"properties": { +"disk": { +"description": "Output only. Reports on disk.", +"items": { +"$ref": "GoogleChromeManagementV1DiskInfo" +}, +"readOnly": true, +"type": "array" +}, +"reportTime": { +"description": "Output only. Timestamp of when the sample was collected on device", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1TelemetryAppInstallEvent": { +"description": "App installation data.", +"id": "GoogleChromeManagementV1TelemetryAppInstallEvent", +"properties": { +"appId": { +"description": "App id. For PWAs this is the start URL, and for extensions this is the extension id.", +"type": "string" +}, +"appInstallReason": { +"description": "App installation reason.", +"enum": [ +"APPLICATION_INSTALL_REASON_UNSPECIFIED", +"APPLICATION_INSTALL_REASON_SYSTEM", +"APPLICATION_INSTALL_REASON_POLICY", +"APPLICATION_INSTALL_REASON_OEM", +"APPLICATION_INSTALL_REASON_DEFAULT", +"APPLICATION_INSTALL_REASON_SYNC", +"APPLICATION_INSTALL_REASON_USER", +"APPLICATION_INSTALL_REASON_SUB_APP", +"APPLICATION_INSTALL_REASON_KIOSK", +"APPLICATION_INSTALL_REASON_COMMAND_LINE" +], +"enumDescriptions": [ +"Application install reason is unknown.", +"Application installed with the system and is considered part of the OS.", +"Application installed by policy.", +"Application installed by an original equipment manufacturer (OEM).", +"Application installed by default, but is not considered a system app.", +"Application installed by sync.", +"Application installed by user action.", +"Application installed bt SubApp API call.", +"Application installed by Kiosk on Chrome OS.", +"Application installed by command line argument." +], +"type": "string" +}, +"appInstallSource": { +"description": "App installation source.", +"enum": [ +"APPLICATION_INSTALL_SOURCE_UNSPECIFIED", +"APPLICATION_INSTALL_SOURCE_SYSTEM", +"APPLICATION_INSTALL_SOURCE_SYNC", +"APPLICATION_INSTALL_SOURCE_PLAY_STORE", +"APPLICATION_INSTALL_SOURCE_CHROME_WEB_STORE", +"APPLICATION_INSTALL_SOURCE_BROWSER" +], +"enumDescriptions": [ +"Application install source is unknown.", +"Application installed as part of Chrome OS.", +"Application install source is a sync.", +"Application install source is the Play store.", +"Application install source is the Chrome web store.", +"Application install source is a browser." +], +"type": "string" +}, +"appInstallTime": { +"description": "App installation time depending on the app lifecycle.", +"enum": [ +"APPLICATION_INSTALL_TIME_UNSPECIFIED", +"APPLICATION_INSTALL_TIME_INIT", +"APPLICATION_INSTALL_TIME_RUNNING" +], +"enumDescriptions": [ +"Application install time unknown.", +"Application install is initialized.", +"Application install is currently running." +], +"type": "string" +}, +"appType": { +"description": "Type of app.", +"enum": [ +"TELEMETRY_APPLICATION_TYPE_UNSPECIFIED", +"APPLICATION_TYPE_ARC", +"APPLICATION_TYPE_BUILT_IN", +"APPLICATION_TYPE_CROSTINI", +"APPLICATION_TYPE_CHROME_APP", +"APPLICATION_TYPE_WEB", +"APPLICATION_TYPE_MAC_OS", +"APPLICATION_TYPE_PLUGIN_VM", +"APPLICATION_TYPE_STANDALONE_BROWSER", +"APPLICATION_TYPE_REMOTE", +"APPLICATION_TYPE_BOREALIS", +"APPLICATION_TYPE_SYSTEM_WEB", +"APPLICATION_TYPE_STANDALONE_BROWSER_CHROME_APP", +"APPLICATION_TYPE_EXTENSION", +"APPLICATION_TYPE_STANDALONE_BROWSER_EXTENSION", +"APPLICATION_TYPE_BRUSCHETTA" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +true, +false, +true, +false +], +"enumDescriptions": [ +"Application type unknown.", +"Application type arc (Android app).", +"Application type built-in.", +"Application type Linux (via Crostini).", +"Application type Chrome app.", +"Application type web.", +"Application type Mac OS.", +"Application type Plugin VM.", +"Deprecated. This vaule is no longer used. Application type standalone browser (Lacros browser app).", +"Application type remote.", +"Application type borealis.", +"Application type system web.", +"Deprecated. This vaule is no longer used. Application type standalone browser chrome app.", +"Application type extension.", +"Deprecated. This vaule is no longer used. Application type standalone browser extension.", +"Application type bruschetta." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1TelemetryAppLaunchEvent": { +"description": "App launch data.", +"id": "GoogleChromeManagementV1TelemetryAppLaunchEvent", +"properties": { +"appId": { +"description": "App id. For PWAs this is the start URL, and for extensions this is the extension id.", +"type": "string" +}, +"appLaunchSource": { +"description": "App launch source.", +"enum": [ +"APPLICATION_LAUNCH_SOURCE_UNSPECIFIED", +"APPLICATION_LAUNCH_SOURCE_APP_LIST_GRID", +"APPLICATION_LAUNCH_SOURCE_APP_LIST_GRID_CONTEXT_MENU", +"APPLICATION_LAUNCH_SOURCE_APP_LIST_QUERY", +"APPLICATION_LAUNCH_SOURCE_APP_LIST_QUERY_CONTEXT_MENU", +"APPLICATION_LAUNCH_SOURCE_APP_LIST_RECOMMENDATION", +"APPLICATION_LAUNCH_SOURCE_PARENTAL_CONTROLS", +"APPLICATION_LAUNCH_SOURCE_SHELF", +"APPLICATION_LAUNCH_SOURCE_FILE_MANAGER", +"APPLICATION_LAUNCH_SOURCE_LINK", +"APPLICATION_LAUNCH_SOURCE_OMNIBOX", +"APPLICATION_LAUNCH_SOURCE_CHROME_INTERNAL", +"APPLICATION_LAUNCH_SOURCE_KEYBOARD", +"APPLICATION_LAUNCH_SOURCE_OTHER_APP", +"APPLICATION_LAUNCH_SOURCE_MENU", +"APPLICATION_LAUNCH_SOURCE_INSTALLED_NOTIFICATION", +"APPLICATION_LAUNCH_SOURCE_TEST", +"APPLICATION_LAUNCH_SOURCE_ARC", +"APPLICATION_LAUNCH_SOURCE_SHARESHEET", +"APPLICATION_LAUNCH_SOURCE_RELEASE_NOTES_NOTIFICATION", +"APPLICATION_LAUNCH_SOURCE_FULL_RESTORE", +"APPLICATION_LAUNCH_SOURCE_SMART_TEXT_CONTEXT_MENU", +"APPLICATION_LAUNCH_SOURCE_DISCOVER_TAB_NOTIFICATION", +"APPLICATION_LAUNCH_SOURCE_MANAGEMENT_API", +"APPLICATION_LAUNCH_SOURCE_KIOSK", +"APPLICATION_LAUNCH_SOURCE_COMMAND_LINE", +"APPLICATION_LAUNCH_SOURCE_BACKGROUND_MODE", +"APPLICATION_LAUNCH_SOURCE_NEW_TAB_PAGE", +"APPLICATION_LAUNCH_SOURCE_INTENT_URL", +"APPLICATION_LAUNCH_SOURCE_OS_LOGIN", +"APPLICATION_LAUNCH_SOURCE_PROTOCOL_HANDLER", +"APPLICATION_LAUNCH_SOURCE_URL_HANDLER", +"APPLICATION_LAUNCH_SOURCE_LOCK_SCREEN", +"APPLICATION_LAUNCH_SOURCE_APP_HOME_PAGE", +"APPLICATION_LAUNCH_SOURCE_REPARENTING", +"APPLICATION_LAUNCH_SOURCE_PROFILE_MENU", +"APPLICATION_LAUNCH_SOURCE_SYSTEM_TRAY_CALENDAR", +"APPLICATION_LAUNCH_SOURCE_INSTALLER", +"APPLICATION_LAUNCH_SOURCE_FIRST_RUN", +"APPLICATION_LAUNCH_SOURCE_WELCOME_TOUR", +"APPLICATION_LAUNCH_SOURCE_FOCUS_MODE", +"APPLICATION_LAUNCH_SOURCE_SPARKY", +"APPLICATION_LAUNCH_SOURCE_NAVIGATION_CAPTURING", +"APPLICATION_LAUNCH_SOURCE_WEB_INSTALL_API" +], +"enumDescriptions": [ +"Application launch source unknown.", +"Application launched from the grid of apps, not the search box.", +"Application launched from the grid of apps, off of the context menu.", +"Application launched from query-dependent results (larger icons).", +"Application launched from query-dependent results, off of the context menu.", +"Application launched from query-less recommendations (smaller icons).", +"Application launched from the Parental Controls Settings section and Per App time notification.", +"Application launched from shelf.", +"Application launched from the file manager", +"Application launched from left click on a link in the browser.", +"Application launched from entering a URL in the Omnibox on the browser.", +"Application launched from a Chrome internal call.", +"Application launched from keyboard shortcut for opening app.", +"Application launched from clicking a link in another app or WebUI.", +"Application launched from menu.", +"Application launched from the installed notification.", +"Application launched from a test.", +"Application launched from Arc.", +"Application launched from Sharesheet.", +"Application launched from the release notes notification.", +"Application launched from a full restore.", +"Application launched from a smart text selection context menu.", +"Application launched from a discover tab notification.", +"Application launched from the Management API.", +"Application launched from kiosk.", +"Application launched from the command line.", +"Application launched from background mode.", +"Application launched from the new tab page.", +"Application launched from an intent URL.", +"Application launched from OS login.", +"Application launched from protocol handler.", +"Application launched from URL handler.", +"Application launched from lock screen app launcher.", +"Application launched from app home (chrome://apps) page.", +"Application launched from moving content into an app.", +"Application launched from profile menu of installable chrome://password-manager WebUI.", +"Application launched from system tray calendar.", +"Application launched from source installer.", +"Count first-run Help app launches separately so that we can understand the number of user-triggered launches.", +"Application launched from welcome tour.", +"Applicationed launched from focus panel.", +"Application launched from experimental feature Sparky.", +"Application launched from navigation capturing.", +"Application launched from web install API." +], +"type": "string" +}, +"appType": { +"description": "Type of app.", +"enum": [ +"TELEMETRY_APPLICATION_TYPE_UNSPECIFIED", +"APPLICATION_TYPE_ARC", +"APPLICATION_TYPE_BUILT_IN", +"APPLICATION_TYPE_CROSTINI", +"APPLICATION_TYPE_CHROME_APP", +"APPLICATION_TYPE_WEB", +"APPLICATION_TYPE_MAC_OS", +"APPLICATION_TYPE_PLUGIN_VM", +"APPLICATION_TYPE_STANDALONE_BROWSER", +"APPLICATION_TYPE_REMOTE", +"APPLICATION_TYPE_BOREALIS", +"APPLICATION_TYPE_SYSTEM_WEB", +"APPLICATION_TYPE_STANDALONE_BROWSER_CHROME_APP", +"APPLICATION_TYPE_EXTENSION", +"APPLICATION_TYPE_STANDALONE_BROWSER_EXTENSION", +"APPLICATION_TYPE_BRUSCHETTA" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +true, +false, +true, +false +], +"enumDescriptions": [ +"Application type unknown.", +"Application type arc (Android app).", +"Application type built-in.", +"Application type Linux (via Crostini).", +"Application type Chrome app.", +"Application type web.", +"Application type Mac OS.", +"Application type Plugin VM.", +"Deprecated. This vaule is no longer used. Application type standalone browser (Lacros browser app).", +"Application type remote.", +"Application type borealis.", +"Application type system web.", +"Deprecated. This vaule is no longer used. Application type standalone browser chrome app.", +"Application type extension.", +"Deprecated. This vaule is no longer used. Application type standalone browser extension.", +"Application type bruschetta." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1TelemetryAppUninstallEvent": { +"description": "App uninstall data.", +"id": "GoogleChromeManagementV1TelemetryAppUninstallEvent", +"properties": { +"appId": { +"description": "App id. For PWAs this is the start URL, and for extensions this is the extension id.", +"type": "string" +}, +"appType": { +"description": "Type of app.", +"enum": [ +"TELEMETRY_APPLICATION_TYPE_UNSPECIFIED", +"APPLICATION_TYPE_ARC", +"APPLICATION_TYPE_BUILT_IN", +"APPLICATION_TYPE_CROSTINI", +"APPLICATION_TYPE_CHROME_APP", +"APPLICATION_TYPE_WEB", +"APPLICATION_TYPE_MAC_OS", +"APPLICATION_TYPE_PLUGIN_VM", +"APPLICATION_TYPE_STANDALONE_BROWSER", +"APPLICATION_TYPE_REMOTE", +"APPLICATION_TYPE_BOREALIS", +"APPLICATION_TYPE_SYSTEM_WEB", +"APPLICATION_TYPE_STANDALONE_BROWSER_CHROME_APP", +"APPLICATION_TYPE_EXTENSION", +"APPLICATION_TYPE_STANDALONE_BROWSER_EXTENSION", +"APPLICATION_TYPE_BRUSCHETTA" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +true, +false, +true, +false +], +"enumDescriptions": [ +"Application type unknown.", +"Application type arc (Android app).", +"Application type built-in.", +"Application type Linux (via Crostini).", +"Application type Chrome app.", +"Application type web.", +"Application type Mac OS.", +"Application type Plugin VM.", +"Deprecated. This vaule is no longer used. Application type standalone browser (Lacros browser app).", +"Application type remote.", +"Application type borealis.", +"Application type system web.", +"Deprecated. This vaule is no longer used. Application type standalone browser chrome app.", +"Application type extension.", +"Deprecated. This vaule is no longer used. Application type standalone browser extension.", +"Application type bruschetta." +], +"type": "string" +}, +"appUninstallSource": { +"description": "App uninstall source.", +"enum": [ +"APPLICATION_UNINSTALL_SOURCE_UNSPECIFIED", +"APPLICATION_UNINSTALL_SOURCE_APP_LIST", +"APPLICATION_UNINSTALL_SOURCE_APP_MANAGEMENT", +"APPLICATION_UNINSTALL_SOURCE_SHELF", +"APPLICATION_UNINSTALL_SOURCE_MIGRATION" +], +"enumDescriptions": [ +"Application uninstall source unknown.", +"Application uninstalled from the App List (Launcher).", +"Application uninstalled from the App Managedment page.", +"Application uninstalled from the Shelf.", +"Application uninstalled by app migration." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1TelemetryAudioSevereUnderrunEvent": { +"description": "`TelemetryAudioSevereUnderrunEvent` is triggered when a audio devices run out of buffer data for more than 5 seconds. * Granular permission needed: TELEMETRY_API_AUDIO_REPORT", +"id": "GoogleChromeManagementV1TelemetryAudioSevereUnderrunEvent", +"properties": {}, +"type": "object" +}, +"GoogleChromeManagementV1TelemetryDevice": { +"description": "Telemetry data collected from a managed device. * Granular permission needed: TELEMETRY_API_DEVICE", +"id": "GoogleChromeManagementV1TelemetryDevice", +"properties": { +"appReport": { +"description": "Output only. App reports collected periodically sorted in a decreasing order of report_time.", +"items": { +"$ref": "GoogleChromeManagementV1AppReport" +}, +"readOnly": true, +"type": "array" +}, +"audioStatusReport": { +"description": "Output only. Audio reports collected periodically sorted in a decreasing order of report_time.", +"items": { +"$ref": "GoogleChromeManagementV1AudioStatusReport" +}, +"readOnly": true, +"type": "array" +}, +"batteryInfo": { +"description": "Output only. Information on battery specs for the device.", +"items": { +"$ref": "GoogleChromeManagementV1BatteryInfo" +}, +"readOnly": true, +"type": "array" +}, +"batteryStatusReport": { +"description": "Output only. Battery reports collected periodically.", +"items": { +"$ref": "GoogleChromeManagementV1BatteryStatusReport" +}, +"readOnly": true, +"type": "array" +}, +"bootPerformanceReport": { +"description": "Output only. Boot performance reports of the device.", +"items": { +"$ref": "GoogleChromeManagementV1BootPerformanceReport" +}, +"readOnly": true, +"type": "array" +}, +"cpuInfo": { +"description": "Output only. Information regarding CPU specs for the device.", +"items": { +"$ref": "GoogleChromeManagementV1CpuInfo" +}, +"readOnly": true, +"type": "array" +}, +"cpuStatusReport": { +"description": "Output only. CPU status reports collected periodically sorted in a decreasing order of report_time.", +"items": { +"$ref": "GoogleChromeManagementV1CpuStatusReport" +}, +"readOnly": true, +"type": "array" +}, +"customer": { +"description": "Output only. Google Workspace Customer whose enterprise enrolled the device.", +"readOnly": true, +"type": "string" +}, +"deviceId": { +"description": "Output only. The unique Directory API ID of the device. This value is the same as the Admin Console's Directory API ID in the ChromeOS Devices tab", +"readOnly": true, +"type": "string" +}, +"graphicsInfo": { +"$ref": "GoogleChromeManagementV1GraphicsInfo", +"description": "Output only. Contains information regarding Graphic peripherals for the device.", +"readOnly": true +}, +"graphicsStatusReport": { +"description": "Output only. Graphics reports collected periodically.", +"items": { +"$ref": "GoogleChromeManagementV1GraphicsStatusReport" +}, +"readOnly": true, +"type": "array" +}, +"heartbeatStatusReport": { +"description": "Output only. Heartbeat status report containing timestamps periodically sorted in decreasing order of report_time", +"items": { +"$ref": "GoogleChromeManagementV1HeartbeatStatusReport" +}, +"readOnly": true, +"type": "array" +}, +"kioskAppStatusReport": { +"description": "Output only. Kiosk app status report for the kiosk device", +"items": { +"$ref": "GoogleChromeManagementV1KioskAppStatusReport" +}, +"readOnly": true, +"type": "array" +}, +"memoryInfo": { +"$ref": "GoogleChromeManagementV1MemoryInfo", +"description": "Output only. Information regarding memory specs for the device.", +"readOnly": true +}, +"memoryStatusReport": { +"description": "Output only. Memory status reports collected periodically sorted decreasing by report_time.", +"items": { +"$ref": "GoogleChromeManagementV1MemoryStatusReport" +}, +"readOnly": true, +"type": "array" +}, +"name": { +"description": "Output only. Resource name of the device.", +"readOnly": true, +"type": "string" +}, +"networkBandwidthReport": { +"description": "Output only. Network bandwidth reports collected periodically sorted in a decreasing order of report_time.", +"items": { +"$ref": "GoogleChromeManagementV1NetworkBandwidthReport" +}, +"readOnly": true, +"type": "array" +}, +"networkDiagnosticsReport": { +"description": "Output only. Network diagnostics collected periodically.", +"items": { +"$ref": "GoogleChromeManagementV1NetworkDiagnosticsReport" +}, +"readOnly": true, +"type": "array" +}, +"networkInfo": { +"$ref": "GoogleChromeManagementV1NetworkInfo", +"description": "Output only. Network devices information.", +"readOnly": true +}, +"networkStatusReport": { +"description": "Output only. Network specs collected periodically.", +"items": { +"$ref": "GoogleChromeManagementV1NetworkStatusReport" +}, +"readOnly": true, +"type": "array" +}, +"orgUnitId": { +"description": "Output only. Organization unit ID of the device.", +"readOnly": true, +"type": "string" +}, +"osUpdateStatus": { +"description": "Output only. Contains relevant information regarding ChromeOS update status.", +"items": { +"$ref": "GoogleChromeManagementV1OsUpdateStatus" +}, +"readOnly": true, +"type": "array" +}, +"peripheralsReport": { +"description": "Output only. Peripherals reports collected periodically sorted in a decreasing order of report_time.", +"items": { +"$ref": "GoogleChromeManagementV1PeripheralsReport" +}, +"readOnly": true, +"type": "array" +}, +"runtimeCountersReport": { +"description": "Output only. Runtime counters reports collected device lifetime runtime, as well as the counts of S0->S3, S0->S4, and S0->S5 transitions, meaning entering into sleep, hibernation, and power-off states", +"items": { +"$ref": "GoogleChromeManagementV1RuntimeCountersReport" +}, +"readOnly": true, +"type": "array" +}, +"serialNumber": { +"description": "Output only. Device serial number. This value is the same as the Admin Console's Serial Number in the ChromeOS Devices tab.", +"readOnly": true, +"type": "string" +}, +"storageInfo": { +"$ref": "GoogleChromeManagementV1StorageInfo", +"description": "Output only. Information of storage specs for the device.", +"readOnly": true +}, +"storageStatusReport": { +"description": "Output only. Storage reports collected periodically.", +"items": { +"$ref": "GoogleChromeManagementV1StorageStatusReport" +}, +"readOnly": true, +"type": "array" +}, +"thunderboltInfo": { +"description": "Output only. Information on Thunderbolt bus.", +"items": { +"$ref": "GoogleChromeManagementV1ThunderboltInfo" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1TelemetryDeviceInfo": { +"description": "Information about a device associated with telemetry data. * Granular Permission needed: TELEMETRY_API_DEVICE", +"id": "GoogleChromeManagementV1TelemetryDeviceInfo", +"properties": { +"deviceId": { +"description": "Output only. The unique Directory API ID of the device. This value is the same as the Admin Console's Directory API ID in the ChromeOS Devices tab.", +"readOnly": true, +"type": "string" +}, +"orgUnitId": { +"description": "Output only. Organization unit ID of the device.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1TelemetryEvent": { +"description": "Telemetry data reported by a managed device.", +"id": "GoogleChromeManagementV1TelemetryEvent", +"properties": { +"appInstallEvent": { +"$ref": "GoogleChromeManagementV1TelemetryAppInstallEvent", +"description": "Output only. Payload for app install event. Present only when `event_type` is `APP_INSTALLED`.", +"readOnly": true +}, +"appLaunchEvent": { +"$ref": "GoogleChromeManagementV1TelemetryAppLaunchEvent", +"description": "Output only. Payload for app launch event.Present only when `event_type` is `APP_LAUNCHED`.", +"readOnly": true +}, +"appUninstallEvent": { +"$ref": "GoogleChromeManagementV1TelemetryAppUninstallEvent", +"description": "Output only. Payload for app uninstall event. Present only when `event_type` is `APP_UNINSTALLED`.", +"readOnly": true +}, +"audioSevereUnderrunEvent": { +"$ref": "GoogleChromeManagementV1TelemetryAudioSevereUnderrunEvent", +"description": "Output only. Payload for audio severe underrun event. Present only when the `event_type` field is `AUDIO_SEVERE_UNDERRUN`.", +"readOnly": true +}, +"device": { +"$ref": "GoogleChromeManagementV1TelemetryDeviceInfo", +"description": "Output only. Information about the device associated with the event.", +"readOnly": true +}, +"eventType": { +"description": "The event type of the current event.", +"enum": [ +"EVENT_TYPE_UNSPECIFIED", +"AUDIO_SEVERE_UNDERRUN", +"NETWORK_STATE_CHANGE", +"USB_ADDED", +"USB_REMOVED", +"NETWORK_HTTPS_LATENCY_CHANGE", +"WIFI_SIGNAL_STRENGTH_LOW", +"WIFI_SIGNAL_STRENGTH_RECOVERED", +"VPN_CONNECTION_STATE_CHANGE", +"APP_INSTALLED", +"APP_UNINSTALLED", +"APP_LAUNCHED", +"OS_CRASH" +], +"enumDescriptions": [ +"Event type unknown.", +"Triggered when a audio devices run out of buffer data for more than 5 seconds.", +"Triggered immediately on any changes to a network connection.", +"Triggered when USB devices are added.", +"Triggered when USB devices are removed.", +"Triggered when a new HTTPS latency problem was detected or the device has recovered form an existing HTTPS latency problem.", +"Triggered when connected WiFi network signal strength drops below -70dBm.", +"Triggered when connected WiFi network signal strength is recovered from a signal drop.", +"Triggered on changes to VPN connections.", +"Triggered when an app is installed.", +"Triggered when an app is uninstalled.", +"Triggered when an app is launched.", +"Triggered when a crash occurs." +], +"type": "string" +}, +"httpsLatencyChangeEvent": { +"$ref": "GoogleChromeManagementV1TelemetryHttpsLatencyChangeEvent", +"description": "Output only. Payload for HTTPS latency change event. Present only when `event_type` is `NETWORK_HTTPS_LATENCY_CHANGE`.", +"readOnly": true +}, +"name": { +"description": "Output only. Resource name of the event.", +"readOnly": true, +"type": "string" +}, +"networkStateChangeEvent": { +"$ref": "GoogleChromeManagementV1TelemetryNetworkConnectionStateChangeEvent", +"description": "Output only. Payload for network connection state change event. Present only when `event_type` is `NETWORK_STATE_CHANGE`.", +"readOnly": true +}, +"reportTime": { +"description": "Timestamp that represents when the event was reported.", +"format": "google-datetime", +"type": "string" +}, +"usbPeripheralsEvent": { +"$ref": "GoogleChromeManagementV1TelemetryUsbPeripheralsEvent", +"description": "Output only. Payload for usb peripherals event. Present only when the `event_type` field is either `USB_ADDED` or `USB_REMOVED`.", +"readOnly": true +}, +"user": { +"$ref": "GoogleChromeManagementV1TelemetryUserInfo", +"description": "Output only. Information about the user associated with the event.", +"readOnly": true +}, +"vpnConnectionStateChangeEvent": { +"$ref": "GoogleChromeManagementV1TelemetryNetworkConnectionStateChangeEvent", +"description": "Output only. Payload for VPN connection state change event. Present only when `event_type` is `VPN_CONNECTION_STATE_CHANGE`.", +"readOnly": true +}, +"wifiSignalStrengthEvent": { +"$ref": "GoogleChromeManagementV1TelemetryNetworkSignalStrengthEvent", +"description": "Output only. Payload for WiFi signal strength events. Present only when `event_type` is `WIFI_SIGNAL_STRENGTH_LOW` or `WIFI_SIGNAL_STRENGTH_RECOVERED`.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleChromeManagementV1TelemetryEventNotificationFilter": { +"description": "Configures how the telemetry events should be filtered.", +"id": "GoogleChromeManagementV1TelemetryEventNotificationFilter", +"properties": { +"eventTypes": { +"description": "Only sends the notifications for events of these types. Must not be empty.", +"items": { +"enum": [ +"EVENT_TYPE_UNSPECIFIED", +"AUDIO_SEVERE_UNDERRUN", +"NETWORK_STATE_CHANGE", +"USB_ADDED", +"USB_REMOVED", +"NETWORK_HTTPS_LATENCY_CHANGE", +"WIFI_SIGNAL_STRENGTH_LOW", +"WIFI_SIGNAL_STRENGTH_RECOVERED", +"VPN_CONNECTION_STATE_CHANGE", +"APP_INSTALLED", +"APP_UNINSTALLED", +"APP_LAUNCHED", +"OS_CRASH" +], +"enumDescriptions": [ +"Event type unknown.", +"Triggered when a audio devices run out of buffer data for more than 5 seconds.", +"Triggered immediately on any changes to a network connection.", +"Triggered when USB devices are added.", +"Triggered when USB devices are removed.", +"Triggered when a new HTTPS latency problem was detected or the device has recovered form an existing HTTPS latency problem.", +"Triggered when connected WiFi network signal strength drops below -70dBm.", +"Triggered when connected WiFi network signal strength is recovered from a signal drop.", +"Triggered on changes to VPN connections.", +"Triggered when an app is installed.", +"Triggered when an app is uninstalled.", +"Triggered when an app is launched.", +"Triggered when a crash occurs." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1TelemetryHttpsLatencyChangeEvent": { +"description": "Https latency routine is run periodically and `TelemetryHttpsLatencyChangeEvent` is triggered if a latency problem was detected or if the device has recovered from a latency problem. * Granular permission needed: TELEMETRY_API_NETWORK_REPORT", +"id": "GoogleChromeManagementV1TelemetryHttpsLatencyChangeEvent", +"properties": { +"httpsLatencyRoutineData": { +"$ref": "GoogleChromeManagementV1HttpsLatencyRoutineData", +"description": "HTTPS latency routine data that triggered the event." +}, +"httpsLatencyState": { +"description": "Current HTTPS latency state.", +"enum": [ +"HTTPS_LATENCY_STATE_UNSPECIFIED", +"RECOVERY", +"PROBLEM" +], +"enumDescriptions": [ +"HTTPS latency state is unspecified.", +"HTTPS latency recovered from a problem.", +"HTTPS latency problem." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1TelemetryNetworkConnectionStateChangeEvent": { +"description": "`TelemetryNetworkConnectionStateChangeEvent` is triggered on network connection state changes. * Granular permission needed: TELEMETRY_API_NETWORK_REPORT", +"id": "GoogleChromeManagementV1TelemetryNetworkConnectionStateChangeEvent", +"properties": { +"connectionState": { +"description": "Current connection state of the network.", +"enum": [ +"NETWORK_CONNECTION_STATE_UNSPECIFIED", +"ONLINE", +"CONNECTED", +"PORTAL", +"CONNECTING", +"NOT_CONNECTED" +], +"enumDescriptions": [ +"Network connection state unspecified.", +"The network is connected and internet connectivity is available.", +"The network is connected and not in a detected portal state, but internet connectivity may not be available.", +"The network is connected but a portal state was detected. Internet connectivity may be limited.", +"The network is in the process of connecting.", +"The network is not connected." +], +"type": "string" +}, +"guid": { +"description": "Unique identifier of the network.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1TelemetryNetworkSignalStrengthEvent": { +"description": "`TelemetryNetworkSignalStrengthEvent` is triggered on WiFi signal strength events. * Granular permission needed: TELEMETRY_API_NETWORK_REPORT", +"id": "GoogleChromeManagementV1TelemetryNetworkSignalStrengthEvent", +"properties": { +"guid": { +"description": "Unique identifier of the network.", +"type": "string" +}, +"signalStrengthDbm": { +"description": "Signal strength RSSI value.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1TelemetryNotificationConfig": { +"description": "Configuration to receive notifications of telemetry data.", +"id": "GoogleChromeManagementV1TelemetryNotificationConfig", +"properties": { +"customer": { +"description": "Output only. Google Workspace customer that owns the resource.", +"readOnly": true, +"type": "string" +}, +"filter": { +"$ref": "GoogleChromeManagementV1TelemetryNotificationFilter", +"description": "Only send notifications for telemetry data matching this filter." +}, +"googleCloudPubsubTopic": { +"description": "The pubsub topic to which notifications are published to.", +"type": "string" +}, +"name": { +"description": "Output only. Resource name of the notification configuration.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1TelemetryNotificationFilter": { +"description": "Configures how the telemetry data should be filtered.", +"id": "GoogleChromeManagementV1TelemetryNotificationFilter", +"properties": { +"deviceId": { +"description": "If set, only sends notifications for telemetry data coming from this device.", +"type": "string" +}, +"deviceOrgUnitId": { +"description": "If set, only sends notifications for telemetry data coming from devices in this org unit.", +"type": "string" +}, +"telemetryEventNotificationFilter": { +"$ref": "GoogleChromeManagementV1TelemetryEventNotificationFilter", +"description": "Only sends notifications for the telemetry events matching this filter." +}, +"userEmail": { +"description": "If set, only sends notifications for telemetry data coming from devices owned by this user.", +"type": "string" +}, +"userOrgUnitId": { +"description": "If set, only sends notifications for telemetry data coming from devices owned by users in this org unit.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1TelemetryUsbPeripheralsEvent": { +"description": "`TelemetryUsbPeripheralsEvent` is triggered USB devices are either added or removed. * Granular permission needed: TELEMETRY_API_PERIPHERALS_REPORT", +"id": "GoogleChromeManagementV1TelemetryUsbPeripheralsEvent", +"properties": { +"usbPeripheralReport": { +"description": "List of usb devices that were either added or removed.", +"items": { +"$ref": "GoogleChromeManagementV1UsbPeripheralReport" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1TelemetryUser": { +"description": "Telemetry data collected from a managed user. * Granular permission needed: TELEMETRY_API_USER", +"id": "GoogleChromeManagementV1TelemetryUser", +"properties": { +"customer": { +"description": "G Suite Customer whose enterprise enrolled the device.", +"type": "string" +}, +"name": { +"description": "Resource name of the user.", +"type": "string" +}, +"orgUnitId": { +"description": "Organization unit of the user.", +"type": "string" +}, +"userDevice": { +"description": "Telemetry data collected from a managed user and device.", +"items": { +"$ref": "GoogleChromeManagementV1TelemetryUserDevice" +}, +"type": "array" +}, +"userEmail": { +"description": "Email address of the user.", +"type": "string" +}, +"userId": { +"description": "Directory ID of the user.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1TelemetryUserDevice": { +"description": "Telemetry data collected for a managed user and device. * Granular permission needed: TELEMETRY_API_DEVICE", +"id": "GoogleChromeManagementV1TelemetryUserDevice", +"properties": { +"appReport": { +"description": "Output only. App reports collected periodically sorted in a decreasing order of report_time.", +"items": { +"$ref": "GoogleChromeManagementV1AppReport" +}, +"readOnly": true, +"type": "array" +}, +"audioStatusReport": { +"description": "Output only. Audio reports collected periodically sorted in a decreasing order of report_time.", +"items": { +"$ref": "GoogleChromeManagementV1AudioStatusReport" +}, +"readOnly": true, +"type": "array" +}, +"deviceActivityReport": { +"description": "Output only. Device activity reports collected periodically sorted in a decreasing order of report_time.", +"items": { +"$ref": "GoogleChromeManagementV1DeviceActivityReport" +}, +"readOnly": true, +"type": "array" +}, +"deviceId": { +"description": "The unique Directory API ID of the device. This value is the same as the Admin Console's Directory API ID in the ChromeOS Devices tab.", +"type": "string" +}, +"networkBandwidthReport": { +"description": "Output only. Network bandwidth reports collected periodically sorted in a decreasing order of report_time.", +"items": { +"$ref": "GoogleChromeManagementV1NetworkBandwidthReport" +}, +"readOnly": true, +"type": "array" +}, +"peripheralsReport": { +"description": "Output only. Peripherals reports collected periodically sorted in a decreasing order of report_time.", +"items": { +"$ref": "GoogleChromeManagementV1PeripheralsReport" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1TelemetryUserInfo": { +"description": "Information about a user associated with telemetry data. * Granular permission needed: TELEMETRY_API_USER", +"id": "GoogleChromeManagementV1TelemetryUserInfo", +"properties": { +"email": { +"description": "Output only. User's email.", +"readOnly": true, +"type": "string" +}, +"orgUnitId": { +"description": "Output only. Organization unit ID of the user.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1ThunderboltInfo": { +"description": "Thunderbolt bus info. * This field provides device information, which is static and will not change over time. * Data for this field is controlled via policy: [ReportDeviceSecurityStatus](https://chromeenterprise.google/policies/#ReportDeviceSecurityStatus) * Data Collection Frequency: At device startup * Default Data Reporting Frequency: At device startup - Policy Controlled: No * Cache: If the device is offline, the collected data is stored locally, and will be reported when the device is next online: Yes * Reported for affiliated users only: N/A * Granular permission needed: TELEMETRY_API_BUS_DEVICE_INFO", +"id": "GoogleChromeManagementV1ThunderboltInfo", +"properties": { +"securityLevel": { +"description": "Security level of the Thunderbolt bus.", +"enum": [ +"THUNDERBOLT_SECURITY_LEVEL_UNSPECIFIED", +"THUNDERBOLT_SECURITY_NONE_LEVEL", +"THUNDERBOLT_SECURITY_USER_LEVEL", +"THUNDERBOLT_SECURITY_SECURE_LEVEL", +"THUNDERBOLT_SECURITY_DP_ONLY_LEVEL", +"THUNDERBOLT_SECURITY_USB_ONLY_LEVEL", +"THUNDERBOLT_SECURITY_NO_PCIE_LEVEL" +], +"enumDescriptions": [ +"Thunderbolt security level is not set.", +"All devices are automatically connected by the firmware. No user approval is needed.", +"User is asked whether the device is allowed to be connected.", +"User is asked whether the device is allowed to be connected. In addition the device is sent a challenge that should match the expected one based on a random key written to the key sysfs attribute", +"The firmware automatically creates tunnels for Thunderbolt.", +"The firmware automatically creates tunnels for the USB controller and Display Port in a dock. All PCIe links downstream of the dock are removed.", +"PCIE tunneling is disabled." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1TotalMemoryEncryptionInfo": { +"description": "Memory encryption information of a device. * This field provides device information, which is static and will not change over time. * Data for this field is controlled via policy: [ReportDeviceMemoryInfo](https://chromeenterprise.google/policies/#ReportDeviceMemoryInfo) * Data Collection Frequency: At device startup * Default Data Reporting Frequency: At device startup - Policy Controlled: Yes * Cache: If the device is offline, the collected data is stored locally, and will be reported when the device is next online: Yes * Reported for affiliated users only: N/A", +"id": "GoogleChromeManagementV1TotalMemoryEncryptionInfo", +"properties": { +"encryptionAlgorithm": { +"description": "Memory encryption algorithm.", +"enum": [ +"MEMORY_ENCRYPTION_ALGORITHM_UNSPECIFIED", +"MEMORY_ENCRYPTION_ALGORITHM_UNKNOWN", +"MEMORY_ENCRYPTION_ALGORITHM_AES_XTS_128", +"MEMORY_ENCRYPTION_ALGORITHM_AES_XTS_256" +], +"enumDescriptions": [ +"Memory encryption algorithm is not set.", +"The memory encryption algorithm being used is unknown.", +"The memory encryption algorithm is using the AES_XTS encryption algorithm with a 128 bit block cypher.", +"The memory encryption algorithm is using the AES_XTS encryption algorithm with a 256 bit block cypher." +], +"type": "string" +}, +"encryptionState": { +"description": "The state of memory encryption on the device.", +"enum": [ +"MEMORY_ENCRYPTION_STATE_UNSPECIFIED", +"MEMORY_ENCRYPTION_STATE_UNKNOWN", +"MEMORY_ENCRYPTION_STATE_DISABLED", +"MEMORY_ENCRYPTION_STATE_TME", +"MEMORY_ENCRYPTION_STATE_MKTME" +], +"enumDescriptions": [ +"Memory encryption state is not set.", +"The memory encryption state is unknown.", +"Memory encrpytion on the device is disabled.", +"Memory encryption on the device uses total memory encryption.", +"Memory encryption on the device uses multi-key total memory encryption." +], +"type": "string" +}, +"keyLength": { +"description": "The length of the encryption keys.", +"format": "int64", +"type": "string" +}, +"maxKeys": { +"description": "The maximum number of keys that can be used for encryption.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1TouchScreenDevice": { +"description": "Information of an internal touch screen device.", +"id": "GoogleChromeManagementV1TouchScreenDevice", +"properties": { +"displayName": { +"description": "Output only. Touch screen device display name.", +"readOnly": true, +"type": "string" +}, +"stylusCapable": { +"description": "Output only. Touch screen device is stylus capable or not.", +"readOnly": true, +"type": "boolean" +}, +"touchPointCount": { +"description": "Output only. Number of touch points supported on the device.", +"format": "int32", +"readOnly": true, +"type": "integer" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1TouchScreenInfo": { +"description": "Information on the device touch screen.", +"id": "GoogleChromeManagementV1TouchScreenInfo", +"properties": { +"devices": { +"description": "Output only. List of the internal touch screen devices.", +"items": { +"$ref": "GoogleChromeManagementV1TouchScreenDevice" +}, +"readOnly": true, +"type": "array" +}, +"touchpadLibrary": { +"description": "Output only. Touchpad library name used by the input stack.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1UsbPeripheralReport": { +"description": "USB connected peripheral report.", +"id": "GoogleChromeManagementV1UsbPeripheralReport", +"properties": { +"categories": { +"description": "Output only. Categories the device belongs to https://www.usb.org/defined-class-codes", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"classId": { +"description": "Output only. Class ID https://www.usb.org/defined-class-codes", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"firmwareVersion": { +"description": "Output only. Firmware version", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Device name, model name, or product name", +"readOnly": true, +"type": "string" +}, +"pid": { +"description": "Output only. Product ID", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"subclassId": { +"description": "Output only. Subclass ID https://www.usb.org/defined-class-codes", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"vendor": { +"description": "Output only. Vendor name", +"readOnly": true, +"type": "string" +}, +"vid": { +"description": "Output only. Vendor ID", +"format": "int32", +"readOnly": true, +"type": "integer" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1UserPrintReport": { +"description": "Report for CountPrintJobsByUser, contains printing statistics for a user. Contains the number of printers, the number of devices used to initiate print jobs, and the number of print jobs initiated.", +"id": "GoogleChromeManagementV1UserPrintReport", +"properties": { +"deviceCount": { +"description": "Number of chrome devices that have been used to initiate print jobs by the user.", +"format": "int64", +"type": "string" +}, +"jobCount": { +"description": "Number of print jobs initiated by the user.", +"format": "int64", +"type": "string" +}, +"printerCount": { +"description": "Number of printers used by the user.", +"format": "int64", +"type": "string" +}, +"userEmail": { +"description": "The primary e-mail address of the user.", +"type": "string" +}, +"userId": { +"description": "The unique Directory API ID of the user.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementV1UserRequestingExtensionDetails": { +"description": "Details of a user requesting an extension, including the email and the justification.", +"id": "GoogleChromeManagementV1UserRequestingExtensionDetails", +"properties": { +"email": { +"description": "The e-mail address of a user that has requested the extension.", +"type": "string" +}, +"justification": { +"description": "Request justification as entered by the user.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementVersionsV1AttestationCredential": { +"description": "Information of public key associated with a Chrome browser profile.", +"id": "GoogleChromeManagementVersionsV1AttestationCredential", +"properties": { +"keyRotationTime": { +"description": "Output only. Latest rotation timestamp of the public key rotation.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"keyTrustLevel": { +"description": "Output only. Trust level of the public key.", +"enum": [ +"KEY_TRUST_LEVEL_UNSPECIFIED", +"CHROME_BROWSER_HW_KEY", +"CHROME_BROWSER_OS_KEY" +], +"enumDescriptions": [ +"Represents an unspecified public key trust level.", +"Represents a HW key.", +"Represents an OS key." +], +"readOnly": true, +"type": "string" +}, +"keyType": { +"description": "Output only. Type of the public key.", +"enum": [ +"KEY_TYPE_UNSPECIFIED", +"RSA_KEY", +"EC_KEY" +], +"enumDescriptions": [ +"Represents an unspecified public key type.", +"Represents a RSA key.", +"Represents an EC key." +], +"readOnly": true, +"type": "string" +}, +"publicKey": { +"description": "Output only. Value of the public key.", +"format": "byte", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementVersionsV1CertificateProvisioningProcess": { +"description": "A certificate provisioning process.", +"id": "GoogleChromeManagementVersionsV1CertificateProvisioningProcess", +"properties": { +"caConnectionAdapterConfigReference": { +"description": "Output only. A JSON string that contains the administrator-provided configuration for the certification authority service. This field can be missing if no configuration was given.", +"readOnly": true, +"type": "string" +}, +"chromeOsDevice": { +"$ref": "GoogleChromeManagementVersionsV1ChromeOsDevice", +"description": "Output only. The client certificate is being provisioned for a ChromeOS device. This contains information about the device.", +"readOnly": true +}, +"chromeOsUserSession": { +"$ref": "GoogleChromeManagementVersionsV1ChromeOsUserSession", +"description": "Output only. The client certificate is being provisioned for a ChromeOS user session. This contains information about the user session.", +"readOnly": true +}, +"failureMessage": { +"description": "Output only. A message describing why this `CertificateProvisioningProcess` failed. Presence of this field indicates that the `CertificateProvisioningProcess` has failed.", +"readOnly": true, +"type": "string" +}, +"issuedCertificate": { +"description": "Output only. The issued certificate for this `CertificateProvisioningProcess` in PEM format.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Identifier. Resource name of the `CertificateProvisioningProcess`. The name pattern is given as `customers/{customer}/certificateProvisioningProcesses/{certificate_provisioning_process}` with `{customer}` being the obfuscated customer id and `{certificate_provisioning_process}` being the certificate provisioning process id.", +"type": "string" +}, +"profileAdapterConfigReference": { +"description": "Output only. A JSON string that contains the administrator-provided configuration for the certificate provisioning profile. This field can be missing if no configuration was given.", +"readOnly": true, +"type": "string" +}, +"provisioningProfileId": { +"description": "Output only. The ID of the certificate provisioning profile.", +"readOnly": true, +"type": "string" +}, +"signData": { +"description": "Output only. The data that the client was asked to sign. This field is only present after the `SignData` operation has been initiated.", +"format": "byte", +"readOnly": true, +"type": "string" +}, +"signature": { +"description": "Output only. The signature of `signature_algorithm`, generated using the client's private key using `signature_algorithm`. This field is only present after the`SignData` operation has finished.", +"format": "byte", +"readOnly": true, +"type": "string" +}, +"signatureAlgorithm": { +"description": "Output only. The signature algorithm that the adapter expects the client and backend components to use when processing `sign_data`. This field is only present after the `SignData` operation has been initiated.", +"enum": [ +"SIGNATURE_ALGORITHM_UNSPECIFIED", +"SIGNATURE_ALGORITHM_RSA_PKCS1_V1_5_SHA256", +"SIGNATURE_ALGORITHM_ECDSA_SHA256" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"The server-side builds the PKCS#1 DigestInfo, i.e., the SHA256 hash is constructed on the server-side. The client should sign using RSA with PKCS#1 v1.5 padding.", +"The PKCS#1 digest info is built by the server-side and sent to the client unhashed. The client is responsible for signing and hashing. Uses the P-256 curve." +], +"readOnly": true, +"type": "string" +}, +"startTime": { +"description": "Output only. Server-generated timestamp of when the certificate provisioning process has been created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"subjectPublicKeyInfo": { +"description": "Output only. The public key for which a certificate should be provisioned. Represented as a DER-encoded X.509 SubjectPublicKeyInfo.", +"format": "byte", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementVersionsV1ChromeBrowserProfile": { +"description": "A representation of a Chrome browser profile.", +"id": "GoogleChromeManagementVersionsV1ChromeBrowserProfile", +"properties": { +"affiliationState": { +"description": "Output only. The specific affiliation state of the profile.", +"enum": [ +"AFFILIATION_STATE_UNSPECIFIED", +"UNAFFILIATED_GENERIC", +"PROFILE_ONLY", +"UNAFFILIATED_LOCAL_MACHINE", +"UNAFFILIATED_CLOUD_MACHINE", +"AFFILIATED_CLOUD_MANAGED" +], +"enumDescriptions": [ +"Unspecified affiliation state.", +"Unaffiliated - but we do not have the details for the type of unaffiliated profile.", +"Unaffiliated - A managed profile that appears on a totally unamanaged browser.", +"Unaffiliated - A managed profile that appears on a machine that is locally managed by a different organization (through platform management mechanisms like GPO).", +"Unaffiliated - A managed profile that appears on a managed browser that is cloud managed by a different organization (using Chrome Browser Cloud Management).", +"Affiliated - Both the profile and the managed browser are managed by the same organization." +], +"readOnly": true, +"type": "string" +}, +"annotatedLocation": { +"description": "Optional. Location of the profile annotated by the admin.", +"type": "string" +}, +"annotatedUser": { +"description": "Optional. User of the profile annotated by the admin.", +"type": "string" +}, +"attestationCredential": { +"$ref": "GoogleChromeManagementVersionsV1AttestationCredential", +"description": "Output only. Attestation credential information of the profile.", +"readOnly": true +}, +"browserChannel": { +"description": "Output only. Channel of the browser on which the profile exists.", +"readOnly": true, +"type": "string" +}, +"browserVersion": { +"description": "Output only. Version of the browser on which the profile exists.", +"readOnly": true, +"type": "string" +}, +"deviceInfo": { +"$ref": "GoogleChromeManagementVersionsV1DeviceInfo", +"description": "Output only. Basic information of the device on which the profile exists. This information is only available for the affiliated profiles.", +"readOnly": true +}, +"displayName": { +"description": "Output only. Profile display name set by client.", +"readOnly": true, +"type": "string" +}, +"etag": { +"description": "Output only. Etag of this ChromeBrowserProfile resource. This etag can be used with UPDATE operation to ensure consistency.", +"readOnly": true, +"type": "string" +}, +"extensionCount": { +"description": "Output only. Number of extensions installed on the profile.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"firstEnrollmentTime": { +"description": "Output only. Timestamp of the first enrollment of the profile.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"identityProvider": { +"description": "Output only. Identify provider of the profile.", +"enum": [ +"IDENTITY_PROVIDER_UNSPECIFIED", +"GOOGLE_IDENTITY_PROVIDER", +"EXTERNAL_IDENTITY_PROVIDER" +], +"enumDescriptions": [ +"Represents an unspecified identity provider.", +"Represents a Google identity provider.", +"Represents an external identity provider." +], +"readOnly": true, +"type": "string" +}, +"lastActivityTime": { +"description": "Output only. Timestamp of the latest activity by the profile.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"lastPolicyFetchTime": { +"description": "Output only. Timestamp of the latest policy fetch by the profile.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"lastPolicySyncTime": { +"description": "Output only. Timestamp of the latest policy sync by the profile.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"lastStatusReportTime": { +"description": "Output only. Timestamp of the latest status report by the profile.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Identifier. Format: customers/{customer_id}/profiles/{profile_permanent_id}", +"type": "string" +}, +"osPlatformType": { +"description": "Output only. OS platform of the device on which the profile exists.", +"readOnly": true, +"type": "string" +}, +"osPlatformVersion": { +"description": "Output only. Major OS version of the device on which the profile exists. (i.e. Windows 10)", +"readOnly": true, +"type": "string" +}, +"osVersion": { +"description": "Output only. OS version of the device on which the profile exists.", +"readOnly": true, +"type": "string" +}, +"policyCount": { +"description": "Output only. Number of policies applied on the profile.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"profileId": { +"description": "Output only. Chrome client side profile ID.", +"readOnly": true, +"type": "string" +}, +"profilePermanentId": { +"description": "Output only. Profile permanent ID is the unique identifier of a profile within one customer.", +"readOnly": true, +"type": "string" +}, +"reportingData": { +"$ref": "GoogleChromeManagementVersionsV1ReportingData", +"description": "Output only. Detailed reporting data of the profile. This information is only available when the profile reporting policy is enabled.", +"readOnly": true +}, +"userEmail": { +"description": "Output only. Email address of the user to which the profile belongs.", +"readOnly": true, +"type": "string" +}, +"userId": { +"description": "Output only. Unique Directory API ID of the user that can be used in Admin SDK Users API.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementVersionsV1ChromeOsDevice": { +"description": "Describes the ChromeOS device that a `CertificateProvisioningProcess` belongs to.", +"id": "GoogleChromeManagementVersionsV1ChromeOsDevice", +"properties": { +"deviceDirectoryApiId": { +"description": "Output only. The unique Directory API ID of the device. This value is the same as the Admin Console's Directory API ID in the ChromeOS Devices tab.", +"readOnly": true, +"type": "string" +}, +"serialNumber": { +"description": "Output only. Device serial number. This value is the same as the Admin Console's Serial Number in the ChromeOS Devices tab.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementVersionsV1ChromeOsUserSession": { +"description": "Describes the ChromeOS user session that a `CertificateProvisioningProcess` belongs to.", +"id": "GoogleChromeManagementVersionsV1ChromeOsUserSession", +"properties": { +"chromeOsDevice": { +"$ref": "GoogleChromeManagementVersionsV1ChromeOsDevice", +"description": "Output only. This field contains information about the ChromeOS device that the user session is running on. It is only set if the user session is affiliated, i.e. if the user is managed by the same organization that managed the ChromeOS device.", +"readOnly": true +}, +"userDirectoryApiId": { +"description": "Output only. The unique Directory API ID of the user.", +"readOnly": true, +"type": "string" +}, +"userPrimaryEmail": { +"description": "Output only. The primary e-mail address of the user.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementVersionsV1DeviceInfo": { +"description": "Information of a device that runs a Chrome browser profile.", +"id": "GoogleChromeManagementVersionsV1DeviceInfo", +"properties": { +"affiliatedDeviceId": { +"description": "Output only. Device ID that identifies the affiliated device on which the profile exists. If the device type is CHROME_BROWSER, then this represents a unique Directory API ID of the device that can be used in Admin SDK Browsers API.", +"readOnly": true, +"type": "string" +}, +"deviceType": { +"description": "Output only. Type of the device on which the profile exists.", +"enum": [ +"DEVICE_TYPE_UNSPECIFIED", +"CHROME_BROWSER" +], +"enumDescriptions": [ +"Represents an unspecified device type.", +"Represents a Chrome browser device." +], +"readOnly": true, +"type": "string" +}, +"hostname": { +"description": "Output only. Hostname of the device on which the profile exists.", +"readOnly": true, +"type": "string" +}, +"machine": { +"description": "Output only. Machine name of the device on which the profile exists. On platforms which do not report the machine name (currently iOS and Android) this is instead set to the browser's device_id - but note that this is a different device_id than the |affiliated_device_id|.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementVersionsV1ListChromeBrowserProfilesResponse": { +"description": "Response to ListChromeBrowserProfiles method.", +"id": "GoogleChromeManagementVersionsV1ListChromeBrowserProfilesResponse", +"properties": { +"chromeBrowserProfiles": { +"description": "The list of profiles returned.", +"items": { +"$ref": "GoogleChromeManagementVersionsV1ChromeBrowserProfile" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The pagination token that can be used to list the next page.", +"type": "string" +}, +"totalSize": { +"description": "Total size represents an estimated number of resources returned. Not guaranteed to be accurate above 10k profiles.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementVersionsV1ReportingData": { +"description": "Reporting data of a Chrome browser profile.", +"id": "GoogleChromeManagementVersionsV1ReportingData", +"properties": { +"browserExecutablePath": { +"description": "Output only. Executable path of the installed Chrome browser. A valid path is included only in affiliated profiles.", +"readOnly": true, +"type": "string" +}, +"extensionData": { +"description": "Output only. Information of the extensions installed on the profile.", +"items": { +"$ref": "GoogleChromeManagementVersionsV1ReportingDataExtensionData" +}, +"readOnly": true, +"type": "array" +}, +"extensionPolicyData": { +"description": "Output only. Information of the policies applied on the extensions.", +"items": { +"$ref": "GoogleChromeManagementVersionsV1ReportingDataExtensionPolicyData" +}, +"readOnly": true, +"type": "array" +}, +"installedBrowserVersion": { +"description": "Output only. Updated version of a browser, if it is different from the active browser version.", +"readOnly": true, +"type": "string" +}, +"policyData": { +"description": "Output only. Information of the policies applied on the profile.", +"items": { +"$ref": "GoogleChromeManagementVersionsV1ReportingDataPolicyData" +}, +"readOnly": true, +"type": "array" +}, +"profilePath": { +"description": "Output only. Path of the profile. A valid path is included only in affiliated profiles.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementVersionsV1ReportingDataConflictingPolicyData": { +"description": "Information of conflicting policy applied on a Chrome browser profile.", +"id": "GoogleChromeManagementVersionsV1ReportingDataConflictingPolicyData", +"properties": { +"source": { +"description": "Output only. Source of the policy.", +"enum": [ +"POLICY_SOURCE_UNSPECIFIED", +"MACHINE_PLATFORM", +"USER_PLATFORM", +"MACHINE_LEVEL_USER_CLOUD", +"USER_CLOUD", +"MACHINE_MERGED" +], +"enumDescriptions": [ +"Represents an unspecified policy source.", +"Represents a machine level platform policy.", +"Represents a user level platform policy.", +"Represents a machine level user cloud policy.", +"Represents a user level cloud policy.", +"Represents a machine level merged policy." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementVersionsV1ReportingDataExtensionData": { +"description": "Information of an extension installed on a Chrome browser profile.", +"id": "GoogleChromeManagementVersionsV1ReportingDataExtensionData", +"properties": { +"description": { +"description": "Output only. Description of the extension.", +"readOnly": true, +"type": "string" +}, +"extensionId": { +"description": "Output only. ID of the extension.", +"readOnly": true, +"type": "string" +}, +"extensionType": { +"description": "Output only. Type of the extension.", +"enum": [ +"EXTENSION_TYPE_UNSPECIFIED", +"EXTENSION", +"APP", +"THEME", +"HOSTED_APP" +], +"enumDescriptions": [ +"Represents an unspecified extension type.", +"Represents an extension.", +"Represents an app.", +"Represents a theme.", +"Represents a hosted app." +], +"readOnly": true, +"type": "string" +}, +"homepageUri": { +"description": "Output only. The URL of the homepage of the extension.", +"readOnly": true, +"type": "string" +}, +"installationType": { +"description": "Output only. Installation type of the extension.", +"enum": [ +"INSTALLATION_TYPE_UNSPECIFIED", +"MULTIPLE", +"NORMAL", +"ADMIN", +"DEVELOPMENT", +"SIDELOAD", +"OTHER" +], +"enumDescriptions": [ +"Represents an unspecified installation type.", +"Represents instances of the extension having mixed installation types.", +"Represents a normal installation type.", +"Represents an installation by admin.", +"Represents a development installation type.", +"Represents a sideload installation type.", +"Represents an installation type that is not covered in the other options." +], +"readOnly": true, +"type": "string" +}, +"isDisabled": { +"description": "Output only. Represents whether the user disabled the extension.", +"readOnly": true, +"type": "boolean" +}, +"isWebstoreExtension": { +"description": "Output only. Represents whether the extension is from the webstore.", +"readOnly": true, +"type": "boolean" +}, +"manifestVersion": { +"description": "Output only. Manifest version of the extension.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"name": { +"description": "Output only. Name of the extension.", +"readOnly": true, +"type": "string" +}, +"permissions": { +"description": "Output only. Permissions requested by the extension.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"version": { +"description": "Output only. Version of the extension.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementVersionsV1ReportingDataExtensionPolicyData": { +"description": "Information of the policies applied on an extension.", +"id": "GoogleChromeManagementVersionsV1ReportingDataExtensionPolicyData", +"properties": { +"extensionId": { +"description": "Output only. ID of the extension.", +"readOnly": true, +"type": "string" +}, +"extensionName": { +"description": "Output only. Name of the extension.", +"readOnly": true, +"type": "string" +}, +"policyData": { +"description": "Output only. Information of the policies applied on the extension.", +"items": { +"$ref": "GoogleChromeManagementVersionsV1ReportingDataPolicyData" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleChromeManagementVersionsV1ReportingDataPolicyData": { +"description": "Information of a policy applied on a Chrome browser profile.", +"id": "GoogleChromeManagementVersionsV1ReportingDataPolicyData", +"properties": { +"conflicts": { +"description": "Output only. Conflicting policy information.", +"items": { +"$ref": "GoogleChromeManagementVersionsV1ReportingDataConflictingPolicyData" +}, +"readOnly": true, +"type": "array" +}, +"error": { +"description": "Output only. Error message of the policy, if any.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Name of the policy.", +"readOnly": true, +"type": "string" +}, +"source": { +"description": "Output only. Source of the policy.", +"enum": [ +"POLICY_SOURCE_UNSPECIFIED", +"MACHINE_PLATFORM", +"USER_PLATFORM", +"MACHINE_LEVEL_USER_CLOUD", +"USER_CLOUD", +"MACHINE_MERGED" +], +"enumDescriptions": [ +"Represents an unspecified policy source.", +"Represents a machine level platform policy.", +"Represents a user level platform policy.", +"Represents a machine level user cloud policy.", +"Represents a user level cloud policy.", +"Represents a machine level merged policy." +], +"readOnly": true, +"type": "string" +}, +"value": { +"description": "Output only. Value of the policy.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementVersionsV1SignDataMetadata": { +"description": "Metadata for the long-running operation returned by signData.", +"id": "GoogleChromeManagementVersionsV1SignDataMetadata", +"properties": { +"startTime": { +"description": "Output only. Start time of the SignData operation.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementVersionsV1SignDataResponse": { +"description": "Response message for requesting a signature from the client that initated a certificate provisioning process.", +"id": "GoogleChromeManagementVersionsV1SignDataResponse", +"properties": { +"certificateProvisioningProcess": { +"$ref": "GoogleChromeManagementVersionsV1CertificateProvisioningProcess", +"description": "Output only. The certificate provisioning process. The signature generated by the client will be available in the `signature` field of `CertificateProvisioningProcess`.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleChromeManagementVersionsV1alpha1CertificateProvisioningProcess": { +"description": "A certificate provisioning process.", +"id": "GoogleChromeManagementVersionsV1alpha1CertificateProvisioningProcess", +"properties": { +"caConnectionAdapterConfigReference": { +"description": "Output only. A JSON string that contains the administrator-provided configuration for the certification authority service. This field can be missing if no configuration was given.", +"readOnly": true, +"type": "string" +}, +"chromeOsDevice": { +"$ref": "GoogleChromeManagementVersionsV1alpha1ChromeOsDevice", +"description": "Output only. The client certificate is being provisioned for a ChromeOS device. This contains information about the device.", +"readOnly": true +}, +"chromeOsUserSession": { +"$ref": "GoogleChromeManagementVersionsV1alpha1ChromeOsUserSession", +"description": "Output only. The client certificate is being provisioned for a ChromeOS user session. This contains information about the user session.", +"readOnly": true +}, +"failureMessage": { +"description": "Output only. A message describing why this `CertificateProvisioningProcess` failed. Presence of this field indicates that the `CertificateProvisioningProcess` has failed.", +"readOnly": true, +"type": "string" +}, +"issuedCertificate": { +"description": "Output only. The issued certificate for this `CertificateProvisioningProcess` in PEM format.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Identifier. Resource name of the `CertificateProvisioningProcess`. The name pattern is given as `customers/{customer}/certificateProvisioningProcesses/{certificate_provisioning_process}` with `{customer}` being the obfuscated customer id and `{certificate_provisioning_process}` being the certificate provisioning process id.", +"type": "string" +}, +"profileAdapterConfigReference": { +"description": "Output only. A JSON string that contains the administrator-provided configuration for the certificate provisioning profile. This field can be missing if no configuration was given.", +"readOnly": true, +"type": "string" +}, +"provisioningProfileId": { +"description": "Output only. The ID of the certificate provisioning profile.", +"readOnly": true, +"type": "string" +}, +"signData": { +"description": "Output only. The data that the client was asked to sign. This field is only present after the `SignData` operation has been initiated.", +"format": "byte", +"readOnly": true, +"type": "string" +}, +"signature": { +"description": "Output only. The signature of `signature_algorithm`, generated using the client's private key using `signature_algorithm`. This field is only present after the`SignData` operation has finished.", +"format": "byte", +"readOnly": true, +"type": "string" +}, +"signatureAlgorithm": { +"description": "Output only. The signature algorithm that the adapter expects the client and backend components to use when processing `sign_data`. This field is only present after the `SignData` operation has been initiated.", +"enum": [ +"SIGNATURE_ALGORITHM_UNSPECIFIED", +"SIGNATURE_ALGORITHM_RSA_PKCS1_V1_5_SHA256", +"SIGNATURE_ALGORITHM_ECDSA_SHA256" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"The server-side builds the PKCS#1 DigestInfo, i.e., the SHA256 hash is constructed on the server-side. The client should sign using RSA with PKCS#1 v1.5 padding.", +"The PKCS#1 digest info is built by the server-side and sent to the client unhashed. The client is responsible for signing and hashing. Uses the P-256 curve." +], +"readOnly": true, +"type": "string" +}, +"startTime": { +"description": "Output only. Server-generated timestamp of when the certificate provisioning process has been created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"subjectPublicKeyInfo": { +"description": "Output only. The public key for which a certificate should be provisioned. Represented as a DER-encoded X.509 SubjectPublicKeyInfo.", +"format": "byte", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementVersionsV1alpha1ChromeOsDevice": { +"description": "Describes the ChromeOS device that a `CertificateProvisioningProcess` belongs to.", +"id": "GoogleChromeManagementVersionsV1alpha1ChromeOsDevice", +"properties": { +"deviceDirectoryApiId": { +"description": "Output only. The unique Directory API ID of the device. This value is the same as the Admin Console's Directory API ID in the ChromeOS Devices tab.", +"readOnly": true, +"type": "string" +}, +"serialNumber": { +"description": "Output only. Device serial number. This value is the same as the Admin Console's Serial Number in the ChromeOS Devices tab.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementVersionsV1alpha1ChromeOsUserSession": { +"description": "Describes the ChromeOS user session that a `CertificateProvisioningProcess` belongs to.", +"id": "GoogleChromeManagementVersionsV1alpha1ChromeOsUserSession", +"properties": { +"chromeOsDevice": { +"$ref": "GoogleChromeManagementVersionsV1alpha1ChromeOsDevice", +"description": "Output only. This field contains information about the ChromeOS device that the user session is running on. It is only set if the user session is affiliated, i.e. if the user is managed by the same organization that managed the ChromeOS device.", +"readOnly": true +}, +"userDirectoryApiId": { +"description": "Output only. The unique Directory API ID of the user.", +"readOnly": true, +"type": "string" +}, +"userPrimaryEmail": { +"description": "Output only. The primary e-mail address of the user.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementVersionsV1alpha1SignDataMetadata": { +"description": "Metadata for the long-running operation returned by signData.", +"id": "GoogleChromeManagementVersionsV1alpha1SignDataMetadata", +"properties": { +"startTime": { +"description": "Output only. Start time of the SignData operation.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementVersionsV1alpha1SignDataResponse": { +"description": "Response message for requesting a signature from the client that initated a certificate provisioning process.", +"id": "GoogleChromeManagementVersionsV1alpha1SignDataResponse", +"properties": { +"certificateProvisioningProcess": { +"$ref": "GoogleChromeManagementVersionsV1alpha1CertificateProvisioningProcess", +"description": "Output only. The certificate provisioning process. The signature generated by the client will be available in the `signature` field of `CertificateProvisioningProcess`.", +"readOnly": true +} +}, +"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" +} +}, +"servicePath": "", +"title": "Chrome 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/cloudasset.v1beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudasset.v1beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..d1d163acd4f7514d2d580b7a442cabd1639975ec --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudasset.v1beta1.json @@ -0,0 +1,1699 @@ +{ +"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:v1beta1", +"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": { +"folders": { +"methods": { +"exportAssets": { +"description": "Exports assets with time and resource types to a given Cloud Storage location. The output format is newline-delimited JSON. This API implements the google.longrunning.Operation API allowing 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": "v1beta1/folders/{foldersId}:exportAssets", +"httpMethod": "POST", +"id": "cloudasset.folders.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\"), a project number (such as \"projects/12345\"), or a folder number (such as \"folders/123\").", +"location": "path", +"pattern": "^folders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}:exportAssets", +"request": { +"$ref": "ExportAssetsRequest" +}, +"response": { +"$ref": "Operation" +}, +"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": "v1beta1/folders/{foldersId}/operations/{operationsId}/{operationsId1}", +"httpMethod": "GET", +"id": "cloudasset.folders.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^folders/[^/]+/operations/[^/]+/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"organizations": { +"methods": { +"batchGetAssetsHistory": { +"description": "Batch gets the update history of assets that overlap a time window. For IAM_POLICY content, this API outputs history when the asset and its attached IAM POLICY both exist. This can create gaps in the output history. Otherwise, this API outputs history with asset in both non-delete or deleted status. If a specified asset does not exist, this API returns an INVALID_ARGUMENT error.", +"flatPath": "v1beta1/organizations/{organizationsId}:batchGetAssetsHistory", +"httpMethod": "GET", +"id": "cloudasset.organizations.batchGetAssetsHistory", +"parameterOrder": [ +"parent" +], +"parameters": { +"assetNames": { +"description": "A list of the full names of the assets. For 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 info. The request becomes a no-op if the asset name list is empty, and the max size of the asset name list is 100 in one request.", +"location": "query", +"repeated": true, +"type": "string" +}, +"contentType": { +"description": "Optional. The content type.", +"enum": [ +"CONTENT_TYPE_UNSPECIFIED", +"RESOURCE", +"IAM_POLICY" +], +"enumDescriptions": [ +"Unspecified content type.", +"Resource metadata.", +"The actual IAM policy set on a resource." +], +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The relative name of the root asset. It 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\").", +"location": "path", +"pattern": "^organizations/[^/]+$", +"required": true, +"type": "string" +}, +"readTimeWindow.endTime": { +"description": "End time of the time window (inclusive). If not specified, the current timestamp is used instead.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"readTimeWindow.startTime": { +"description": "Start time of the time window (exclusive).", +"format": "google-datetime", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}:batchGetAssetsHistory", +"response": { +"$ref": "BatchGetAssetsHistoryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"exportAssets": { +"description": "Exports assets with time and resource types to a given Cloud Storage location. The output format is newline-delimited JSON. This API implements the google.longrunning.Operation API allowing 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": "v1beta1/organizations/{organizationsId}:exportAssets", +"httpMethod": "POST", +"id": "cloudasset.organizations.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\"), a project number (such as \"projects/12345\"), or a folder number (such as \"folders/123\").", +"location": "path", +"pattern": "^organizations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}:exportAssets", +"request": { +"$ref": "ExportAssetsRequest" +}, +"response": { +"$ref": "Operation" +}, +"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": "v1beta1/organizations/{organizationsId}/operations/{operationsId}/{operationsId1}", +"httpMethod": "GET", +"id": "cloudasset.organizations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^organizations/[^/]+/operations/[^/]+/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"projects": { +"methods": { +"batchGetAssetsHistory": { +"description": "Batch gets the update history of assets that overlap a time window. For IAM_POLICY content, this API outputs history when the asset and its attached IAM POLICY both exist. This can create gaps in the output history. Otherwise, this API outputs history with asset in both non-delete or deleted status. If a specified asset does not exist, this API returns an INVALID_ARGUMENT error.", +"flatPath": "v1beta1/projects/{projectsId}:batchGetAssetsHistory", +"httpMethod": "GET", +"id": "cloudasset.projects.batchGetAssetsHistory", +"parameterOrder": [ +"parent" +], +"parameters": { +"assetNames": { +"description": "A list of the full names of the assets. For 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 info. The request becomes a no-op if the asset name list is empty, and the max size of the asset name list is 100 in one request.", +"location": "query", +"repeated": true, +"type": "string" +}, +"contentType": { +"description": "Optional. The content type.", +"enum": [ +"CONTENT_TYPE_UNSPECIFIED", +"RESOURCE", +"IAM_POLICY" +], +"enumDescriptions": [ +"Unspecified content type.", +"Resource metadata.", +"The actual IAM policy set on a resource." +], +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The relative name of the root asset. It 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\").", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"readTimeWindow.endTime": { +"description": "End time of the time window (inclusive). If not specified, the current timestamp is used instead.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"readTimeWindow.startTime": { +"description": "Start time of the time window (exclusive).", +"format": "google-datetime", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}:batchGetAssetsHistory", +"response": { +"$ref": "BatchGetAssetsHistoryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"exportAssets": { +"description": "Exports assets with time and resource types to a given Cloud Storage location. The output format is newline-delimited JSON. This API implements the google.longrunning.Operation API allowing 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": "v1beta1/projects/{projectsId}:exportAssets", +"httpMethod": "POST", +"id": "cloudasset.projects.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\"), a project number (such as \"projects/12345\"), or a folder number (such as \"folders/123\").", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}:exportAssets", +"request": { +"$ref": "ExportAssetsRequest" +}, +"response": { +"$ref": "Operation" +}, +"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": "v1beta1/projects/{projectsId}/operations/{operationsId}/{operationsId1}", +"httpMethod": "GET", +"id": "cloudasset.projects.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/operations/[^/]+/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"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" +}, +"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)." +}, +"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" +}, +"BatchGetAssetsHistoryResponse": { +"description": "Batch get assets history response.", +"id": "BatchGetAssetsHistoryResponse", +"properties": { +"assets": { +"description": "A list of assets with valid time windows.", +"items": { +"$ref": "TemporalAsset" +}, +"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" +}, +"ExportAssetsRequest": { +"description": "Export asset request.", +"id": "ExportAssetsRequest", +"properties": { +"assetTypes": { +"description": "A list of asset types of which to take a snapshot for. For example: \"google.compute.Disk\". If specified, only matching assets will be returned. See [Introduction to Cloud Asset Inventory](https://cloud.google.com/resource-manager/docs/cloud-asset-inventory/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" +], +"enumDescriptions": [ +"Unspecified content type.", +"Resource metadata.", +"The actual IAM policy set on a resource." +], +"type": "string" +}, +"outputConfig": { +"$ref": "OutputConfig", +"description": "Required. Output configuration indicating where the results will be output to. All results will be in newline delimited JSON format." +}, +"readTime": { +"description": "Timestamp to take an asset snapshot. This can only be set to a timestamp between 2018-10-02 UTC (inclusive) and the current time. 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" +} +}, +"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" +}, +"GcsDestination": { +"description": "A Cloud Storage location.", +"id": "GcsDestination", +"properties": { +"uri": { +"description": "The URI of the Cloud Storage object. It's the same URI that is used by gsutil. For 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. For example: \"gs://bucket_name/object_name_prefix\". Each object URI is in format: \"gs://bucket_name/object_name_prefix// and only contains assets for that type. starts from 0. For example: \"gs://bucket_name/object_name_prefix/google.compute.disk/0\" is the first shard of output objects containing all google.compute.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" +}, +"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" +}, +"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" +}, +"OutputConfig": { +"description": "Output configuration for export assets destination.", +"id": "OutputConfig", +"properties": { +"gcsDestination": { +"$ref": "GcsDestination", +"description": "Destination on Cloud Storage." +} +}, +"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" +}, +"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" +}, +"TemporalAsset": { +"description": "An asset in Google Cloud and its temporal metadata, including the time window when it was observed and its status during that window.", +"id": "TemporalAsset", +"properties": { +"asset": { +"$ref": "Asset", +"description": "An asset in Google Cloud." +}, +"deleted": { +"description": "Whether the asset has been deleted or not.", +"type": "boolean" +}, +"window": { +"$ref": "TimeWindow", +"description": "The time window when the asset data and state was observed." +} +}, +"type": "object" +}, +"TimeWindow": { +"description": "A time window specified by its `start_time` and `end_time`.", +"id": "TimeWindow", +"properties": { +"endTime": { +"description": "End time of the time window (inclusive). If not specified, the current timestamp is used instead.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "Start time of the time window (exclusive).", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Asset 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/cloudbuild.v1alpha1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha1.json new file mode 100644 index 0000000000000000000000000000000000000000..c024f35e72695a6f7231b5be3d30dc398a773ac5 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha1.json @@ -0,0 +1,2432 @@ +{ + "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:v1alpha1", + "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": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/projects/{projectsId}/workerPools", + "httpMethod": "POST", + "id": "cloudbuild.projects.workerPools.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "ID of the parent project.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+parent}/workerPools", + "request": { + "$ref": "WorkerPool" + }, + "response": { + "$ref": "WorkerPool" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a `WorkerPool` by its project ID and WorkerPool name.", + "flatPath": "v1alpha1/projects/{projectsId}/workerPools/{workerPoolsId}", + "httpMethod": "DELETE", + "id": "cloudbuild.projects.workerPools.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The field will contain name of the resource requested, for example: \"projects/project-1/workerPools/workerpool-name\"", + "location": "path", + "pattern": "^projects/[^/]+/workerPools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns information about a `WorkerPool`.", + "flatPath": "v1alpha1/projects/{projectsId}/workerPools/{workerPoolsId}", + "httpMethod": "GET", + "id": "cloudbuild.projects.workerPools.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The field will contain name of the resource requested, for example: \"projects/project-1/workerPools/workerpool-name\"", + "location": "path", + "pattern": "^projects/[^/]+/workerPools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}", + "response": { + "$ref": "WorkerPool" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List project's `WorkerPool`s.", + "flatPath": "v1alpha1/projects/{projectsId}/workerPools", + "httpMethod": "GET", + "id": "cloudbuild.projects.workerPools.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "ID of the parent project.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+parent}/workerPools", + "response": { + "$ref": "ListWorkerPoolsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update a `WorkerPool`.", + "flatPath": "v1alpha1/projects/{projectsId}/workerPools/{workerPoolsId}", + "httpMethod": "PATCH", + "id": "cloudbuild.projects.workerPools.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The field will contain name of the resource requested, for example: \"projects/project-1/workerPools/workerpool-name\"", + "location": "path", + "pattern": "^projects/[^/]+/workerPools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+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 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" + }, + "Network": { + "description": "Network describes the GCP network used to create workers in.", + "id": "Network", + "properties": { + "network": { + "description": "Network on which the workers are created. \"default\" network is used if empty.", + "type": "string" + }, + "projectId": { + "description": "Project id containing the defined network and subnetwork. For a peered VPC, this will be the same as the project_id in which the workers are created. For a shared VPC, this will be the project sharing the network with the project_id project in which workers will be created. For custom workers with no VPC, this will be the same as project_id.", + "type": "string" + }, + "subnetwork": { + "description": "Subnetwork on which the workers are created. \"default\" subnetwork is used if empty.", + "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. `disk_size` is overridden if you specify a different disk size in `build_options`. In this case, a VM with a disk size specified in the `build_options` will be created on demand at build time. For more information see https://cloud.google.com/cloud-build/docs/api/reference/rest/v1/projects.builds#buildoptions", + "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. `machine_type` is overridden if you specify a different machine type in `build_options`. In this case, the VM specified in the `build_options` will be created on demand at build time. For more information see https://cloud.google.com/cloud-build/docs/speeding-up-builds#using_custom_virtual_machine_sizes", + "type": "string" + }, + "network": { + "$ref": "Network", + "description": "The network definition used to create the worker. If this section is left empty, the workers will be created in WorkerPool.project_id on the default network." + }, + "tag": { + "description": "The tag applied to the worker, and the same tag used by the firewall rule. It is used to identify the Cloud Build workers among other VMs. The default value for tag is `worker`.", + "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", + "type": "string" + }, + "deleteTime": { + "description": "Output only. Time at which the request to delete the `WorkerPool` was received.", + "format": "google-datetime", + "type": "string" + }, + "name": { + "description": "User-defined name of the `WorkerPool`.", + "type": "string" + }, + "projectId": { + "description": "The project ID of the GCP project for which the `WorkerPool` is created.", + "type": "string" + }, + "regions": { + "description": "List of regions to create the `WorkerPool`. Regions can't be empty. If Cloud Build adds a new GCP region in the future, the existing `WorkerPool` will not be enabled in the new region automatically; you must add the new region to the `regions` field to enable the `WorkerPool` in that region.", + "items": { + "enum": [ + "REGION_UNSPECIFIED", + "us-central1", + "us-west1", + "us-east1", + "us-east4" + ], + "enumDescriptions": [ + "no region", + "us-central1 region", + "us-west1 region", + "us-east1 region", + "us-east4 region" + ], + "type": "string" + }, + "type": "array" + }, + "serviceAccountEmail": { + "description": "Output only. The service account used to manage the `WorkerPool`. The service account must have the Compute Instance Admin (Beta) permission at the project level.", + "type": "string" + }, + "status": { + "description": "Output only. WorkerPool Status.", + "enum": [ + "STATUS_UNSPECIFIED", + "CREATING", + "RUNNING", + "DELETING", + "DELETED" + ], + "enumDescriptions": [ + "Status of the `WorkerPool` is unknown.", + "`WorkerPool` is being created.", + "`WorkerPool` is running.", + "`WorkerPool` is being deleted: cancelling builds and draining workers.", + "`WorkerPool` is deleted." + ], + "type": "string" + }, + "updateTime": { + "description": "Output only. Time at which the request to update the `WorkerPool` was received.", + "format": "google-datetime", + "type": "string" + }, + "workerConfig": { + "$ref": "WorkerConfig", + "description": "Configuration to be used for a creating workers in the `WorkerPool`." + }, + "workerCount": { + "description": "Total number of workers to be created across all requested regions.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Cloud Build 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/cloudchannel.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudchannel.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..b466804c7a95847b5b204784639700797a693114 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudchannel.v1.json @@ -0,0 +1,6042 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/apps.order": { +"description": "Manage users on your domain" +}, +"https://www.googleapis.com/auth/apps.reports.usage.readonly": { +"description": "View usage reports for your G Suite domain" +} +} +} +}, +"basePath": "", +"baseUrl": "https://cloudchannel.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Cloudchannel", +"description": "The Cloud Channel API enables Google Cloud partners to have a single unified resale platform and APIs across all of Google Cloud including GCP, Workspace, Maps and Chrome.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/channel", +"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": "cloudchannel:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://cloudchannel.mtls.googleapis.com/", +"name": "cloudchannel", +"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": { +"checkCloudIdentityAccountsExist": { +"description": "Confirms the existence of Cloud Identity accounts based on the domain and if the Cloud Identity accounts are owned by the reseller. Possible error codes: * PERMISSION_DENIED: The reseller account making the request is different from the reseller account in the API request. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * INVALID_VALUE: Invalid domain value in the request. Return value: A list of CloudIdentityCustomerAccount resources for the domain (may be empty) Note: in the v1alpha1 version of the API, a NOT_FOUND error returns if no CloudIdentityCustomerAccount resources match the domain.", +"flatPath": "v1/accounts/{accountsId}:checkCloudIdentityAccountsExist", +"httpMethod": "POST", +"id": "cloudchannel.accounts.checkCloudIdentityAccountsExist", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The reseller account's resource name. Parent uses the format: accounts/{account_id}", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}:checkCloudIdentityAccountsExist", +"request": { +"$ref": "GoogleCloudChannelV1CheckCloudIdentityAccountsExistRequest" +}, +"response": { +"$ref": "GoogleCloudChannelV1CheckCloudIdentityAccountsExistResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"listSubscribers": { +"description": "Lists service accounts with subscriber privileges on the Pub/Sub topic created for this Channel Services account or integrator. Possible error codes: * PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different, or the impersonated user is not a super admin. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: The topic resource doesn't exist. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: A list of service email addresses.", +"flatPath": "v1/accounts/{accountsId}:listSubscribers", +"httpMethod": "GET", +"id": "cloudchannel.accounts.listSubscribers", +"parameterOrder": [ +"account" +], +"parameters": { +"account": { +"description": "Optional. Resource name of the account. Required if integrator is not provided. Otherwise, leave this field empty/unset.", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +}, +"integrator": { +"description": "Optional. Resource name of the integrator. Required if account is not provided. Otherwise, leave this field empty/unset.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of service accounts to return. The service may return fewer than this value. If unspecified, returns at most 100 service accounts. The maximum value is 1000; the server will coerce values above 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListSubscribers` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSubscribers` must match the call that provided the page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+account}:listSubscribers", +"response": { +"$ref": "GoogleCloudChannelV1ListSubscribersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"listTransferableOffers": { +"description": "List TransferableOffers of a customer based on Cloud Identity ID or Customer Name in the request. Use this method when a reseller gets the entitlement information of an unowned customer. The reseller should provide the customer's Cloud Identity ID or Customer Name. Possible error codes: * PERMISSION_DENIED: * The customer doesn't belong to the reseller and has no auth token. * The customer provided incorrect reseller information when generating auth token. * The reseller account making the request is different from the reseller account in the query. * The reseller is not authorized to transact on this Product. See https://support.google.com/channelservices/answer/9759265 * INVALID_ARGUMENT: Required request parameters are missing or invalid. Return value: List of TransferableOffer for the given customer and SKU.", +"flatPath": "v1/accounts/{accountsId}:listTransferableOffers", +"httpMethod": "POST", +"id": "cloudchannel.accounts.listTransferableOffers", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the reseller's account.", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}:listTransferableOffers", +"request": { +"$ref": "GoogleCloudChannelV1ListTransferableOffersRequest" +}, +"response": { +"$ref": "GoogleCloudChannelV1ListTransferableOffersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"listTransferableSkus": { +"description": "List TransferableSkus of a customer based on the Cloud Identity ID or Customer Name in the request. Use this method to list the entitlements information of an unowned customer. You should provide the customer's Cloud Identity ID or Customer Name. Possible error codes: * PERMISSION_DENIED: * The customer doesn't belong to the reseller and has no auth token. * The supplied auth token is invalid. * The reseller account making the request is different from the reseller account in the query. * INVALID_ARGUMENT: Required request parameters are missing or invalid. Return value: A list of the customer's TransferableSku.", +"flatPath": "v1/accounts/{accountsId}:listTransferableSkus", +"httpMethod": "POST", +"id": "cloudchannel.accounts.listTransferableSkus", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The reseller account's resource name. Parent uses the format: accounts/{account_id}", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}:listTransferableSkus", +"request": { +"$ref": "GoogleCloudChannelV1ListTransferableSkusRequest" +}, +"response": { +"$ref": "GoogleCloudChannelV1ListTransferableSkusResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"register": { +"description": "Registers a service account with subscriber privileges on the Pub/Sub topic for this Channel Services account or integrator. After you create a subscriber, you get the events through SubscriberEvent Possible error codes: * PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different, or the impersonated user is not a super admin. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The topic name with the registered service email address.", +"flatPath": "v1/accounts/{accountsId}:register", +"httpMethod": "POST", +"id": "cloudchannel.accounts.register", +"parameterOrder": [ +"account" +], +"parameters": { +"account": { +"description": "Optional. Resource name of the account. Required if integrator is not provided. Otherwise, leave this field empty/unset.", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+account}:register", +"request": { +"$ref": "GoogleCloudChannelV1RegisterSubscriberRequest" +}, +"response": { +"$ref": "GoogleCloudChannelV1RegisterSubscriberResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"unregister": { +"description": "Unregisters a service account with subscriber privileges on the Pub/Sub topic created for this Channel Services account or integrator. If there are no service accounts left with subscriber privileges, this deletes the topic. You can call ListSubscribers to check for these accounts. Possible error codes: * PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different, or the impersonated user is not a super admin. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: The topic resource doesn't exist. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The topic name that unregistered the service email address. Returns a success response if the service email address wasn't registered with the topic.", +"flatPath": "v1/accounts/{accountsId}:unregister", +"httpMethod": "POST", +"id": "cloudchannel.accounts.unregister", +"parameterOrder": [ +"account" +], +"parameters": { +"account": { +"description": "Optional. Resource name of the account. Required if integrator is not provided. Otherwise, leave this field empty/unset.", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+account}:unregister", +"request": { +"$ref": "GoogleCloudChannelV1UnregisterSubscriberRequest" +}, +"response": { +"$ref": "GoogleCloudChannelV1UnregisterSubscriberResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +} +}, +"resources": { +"channelPartnerLinks": { +"methods": { +"create": { +"description": "Initiates a channel partner link between a distributor and a reseller, or between resellers in an n-tier reseller channel. Invited partners need to follow the invite_link_uri provided in the response to accept. After accepting the invitation, a link is set up between the two parties. You must be a distributor to call this method. Possible error codes: * PERMISSION_DENIED: The reseller account making the request is different from the reseller account in the API request. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * ALREADY_EXISTS: The ChannelPartnerLink sent in the request already exists. * NOT_FOUND: No Cloud Identity customer exists for provided domain. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The new ChannelPartnerLink resource.", +"flatPath": "v1/accounts/{accountsId}/channelPartnerLinks", +"httpMethod": "POST", +"id": "cloudchannel.accounts.channelPartnerLinks.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Create a channel partner link for the provided reseller account's resource name. Parent uses the format: accounts/{account_id}", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/channelPartnerLinks", +"request": { +"$ref": "GoogleCloudChannelV1ChannelPartnerLink" +}, +"response": { +"$ref": "GoogleCloudChannelV1ChannelPartnerLink" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"get": { +"description": "Returns the requested ChannelPartnerLink resource. You must be a distributor to call this method. Possible error codes: * PERMISSION_DENIED: The reseller account making the request is different from the reseller account in the API request. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: ChannelPartnerLink resource not found because of an invalid channel partner link name. Return value: The ChannelPartnerLink resource.", +"flatPath": "v1/accounts/{accountsId}/channelPartnerLinks/{channelPartnerLinksId}", +"httpMethod": "GET", +"id": "cloudchannel.accounts.channelPartnerLinks.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the channel partner link to retrieve. Name uses the format: accounts/{account_id}/channelPartnerLinks/{id} where {id} is the Cloud Identity ID of the partner.", +"location": "path", +"pattern": "^accounts/[^/]+/channelPartnerLinks/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Optional. The level of granularity the ChannelPartnerLink will display.", +"enum": [ +"UNSPECIFIED", +"BASIC", +"FULL" +], +"enumDescriptions": [ +"The default / unset value. The API will default to the BASIC view.", +"Includes all fields except the ChannelPartnerLink.channel_partner_cloud_identity_info.", +"Includes all fields." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudChannelV1ChannelPartnerLink" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"list": { +"description": "List ChannelPartnerLinks belonging to a distributor. You must be a distributor to call this method. Possible error codes: * PERMISSION_DENIED: The reseller account making the request is different from the reseller account in the API request. * INVALID_ARGUMENT: Required request parameters are missing or invalid. Return value: The list of the distributor account's ChannelPartnerLink resources.", +"flatPath": "v1/accounts/{accountsId}/channelPartnerLinks", +"httpMethod": "GET", +"id": "cloudchannel.accounts.channelPartnerLinks.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. Requested page size. Server might return fewer results than requested. If unspecified, server will pick a default size (25). The maximum value is 200; the server will coerce values above 200.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A token for a page of results other than the first page. Obtained using ListChannelPartnerLinksResponse.next_page_token of the previous CloudChannelService.ListChannelPartnerLinks call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the reseller account for listing channel partner links. Parent uses the format: accounts/{account_id}", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Optional. The level of granularity the ChannelPartnerLink will display.", +"enum": [ +"UNSPECIFIED", +"BASIC", +"FULL" +], +"enumDescriptions": [ +"The default / unset value. The API will default to the BASIC view.", +"Includes all fields except the ChannelPartnerLink.channel_partner_cloud_identity_info.", +"Includes all fields." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/channelPartnerLinks", +"response": { +"$ref": "GoogleCloudChannelV1ListChannelPartnerLinksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"patch": { +"description": "Updates a channel partner link. Distributors call this method to change a link's status. For example, to suspend a partner link. You must be a distributor to call this method. Possible error codes: * PERMISSION_DENIED: The reseller account making the request is different from the reseller account in the API request. * INVALID_ARGUMENT: * Required request parameters are missing or invalid. * Link state cannot change from invited to active or suspended. * Cannot send reseller_cloud_identity_id, invite_url, or name in update mask. * NOT_FOUND: ChannelPartnerLink resource not found. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The updated ChannelPartnerLink resource.", +"flatPath": "v1/accounts/{accountsId}/channelPartnerLinks/{channelPartnerLinksId}", +"httpMethod": "PATCH", +"id": "cloudchannel.accounts.channelPartnerLinks.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the channel partner link to cancel. Name uses the format: accounts/{account_id}/channelPartnerLinks/{id} where {id} is the Cloud Identity ID of the partner.", +"location": "path", +"pattern": "^accounts/[^/]+/channelPartnerLinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudChannelV1UpdateChannelPartnerLinkRequest" +}, +"response": { +"$ref": "GoogleCloudChannelV1ChannelPartnerLink" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +} +}, +"resources": { +"channelPartnerRepricingConfigs": { +"methods": { +"create": { +"description": "Creates a ChannelPartnerRepricingConfig. Call this method to set modifications for a specific ChannelPartner's bill. You can only create configs if the RepricingConfig.effective_invoice_month is a future month. If needed, you can create a config for the current month, with some restrictions. When creating a config for a future month, make sure there are no existing configs for that RepricingConfig.effective_invoice_month. The following restrictions are for creating configs in the current month. * This functionality is reserved for recovering from an erroneous config, and should not be used for regular business cases. * The new config will not modify exports used with other configs. Changes to the config may be immediate, but may take up to 24 hours. * There is a limit of ten configs for any ChannelPartner or RepricingConfig.EntitlementGranularity.entitlement, for any RepricingConfig.effective_invoice_month. * The contained ChannelPartnerRepricingConfig.repricing_config value must be different from the value used in the current config for a ChannelPartner. Possible Error Codes: * PERMISSION_DENIED: If the account making the request and the account being queried are different. * INVALID_ARGUMENT: Missing or invalid required parameters in the request. Also displays if the updated config is for the current month or past months. * NOT_FOUND: The ChannelPartnerRepricingConfig specified does not exist or is not associated with the given account. * INTERNAL: Any non-user error related to technical issues in the backend. In this case, contact Cloud Channel support. Return Value: If successful, the updated ChannelPartnerRepricingConfig resource, otherwise returns an error.", +"flatPath": "v1/accounts/{accountsId}/channelPartnerLinks/{channelPartnerLinksId}/channelPartnerRepricingConfigs", +"httpMethod": "POST", +"id": "cloudchannel.accounts.channelPartnerLinks.channelPartnerRepricingConfigs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the ChannelPartner that will receive the repricing config. Parent uses the format: accounts/{account_id}/channelPartnerLinks/{channel_partner_id}", +"location": "path", +"pattern": "^accounts/[^/]+/channelPartnerLinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/channelPartnerRepricingConfigs", +"request": { +"$ref": "GoogleCloudChannelV1ChannelPartnerRepricingConfig" +}, +"response": { +"$ref": "GoogleCloudChannelV1ChannelPartnerRepricingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"delete": { +"description": "Deletes the given ChannelPartnerRepricingConfig permanently. You can only delete configs if their RepricingConfig.effective_invoice_month is set to a date after the current month. Possible error codes: * PERMISSION_DENIED: The account making the request does not own this customer. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * FAILED_PRECONDITION: The ChannelPartnerRepricingConfig is active or in the past. * NOT_FOUND: No ChannelPartnerRepricingConfig found for the name in the request.", +"flatPath": "v1/accounts/{accountsId}/channelPartnerLinks/{channelPartnerLinksId}/channelPartnerRepricingConfigs/{channelPartnerRepricingConfigsId}", +"httpMethod": "DELETE", +"id": "cloudchannel.accounts.channelPartnerLinks.channelPartnerRepricingConfigs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the channel partner repricing config rule to delete.", +"location": "path", +"pattern": "^accounts/[^/]+/channelPartnerLinks/[^/]+/channelPartnerRepricingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"get": { +"description": "Gets information about how a Distributor modifies their bill before sending it to a ChannelPartner. Possible Error Codes: * PERMISSION_DENIED: If the account making the request and the account being queried are different. * NOT_FOUND: The ChannelPartnerRepricingConfig was not found. * INTERNAL: Any non-user error related to technical issues in the backend. In this case, contact Cloud Channel support. Return Value: If successful, the ChannelPartnerRepricingConfig resource, otherwise returns an error.", +"flatPath": "v1/accounts/{accountsId}/channelPartnerLinks/{channelPartnerLinksId}/channelPartnerRepricingConfigs/{channelPartnerRepricingConfigsId}", +"httpMethod": "GET", +"id": "cloudchannel.accounts.channelPartnerLinks.channelPartnerRepricingConfigs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the ChannelPartnerRepricingConfig Format: accounts/{account_id}/channelPartnerLinks/{channel_partner_id}/channelPartnerRepricingConfigs/{id}.", +"location": "path", +"pattern": "^accounts/[^/]+/channelPartnerLinks/[^/]+/channelPartnerRepricingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudChannelV1ChannelPartnerRepricingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"list": { +"description": "Lists information about how a Reseller modifies their bill before sending it to a ChannelPartner. Possible Error Codes: * PERMISSION_DENIED: If the account making the request and the account being queried are different. * NOT_FOUND: The ChannelPartnerRepricingConfig specified does not exist or is not associated with the given account. * INTERNAL: Any non-user error related to technical issues in the backend. In this case, contact Cloud Channel support. Return Value: If successful, the ChannelPartnerRepricingConfig resources. The data for each resource is displayed in the ascending order of: * Channel Partner ID * RepricingConfig.effective_invoice_month * ChannelPartnerRepricingConfig.update_time If unsuccessful, returns an error.", +"flatPath": "v1/accounts/{accountsId}/channelPartnerLinks/{channelPartnerLinksId}/channelPartnerRepricingConfigs", +"httpMethod": "GET", +"id": "cloudchannel.accounts.channelPartnerLinks.channelPartnerRepricingConfigs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A filter for [CloudChannelService.ListChannelPartnerRepricingConfigs] results (channel_partner_link only). You can use this filter when you support a BatchGet-like query. To use the filter, you must set `parent=accounts/{account_id}/channelPartnerLinks/-`. Example: `channel_partner_link = accounts/account_id/channelPartnerLinks/c1` OR `channel_partner_link = accounts/account_id/channelPartnerLinks/c2`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of repricing configs to return. The service may return fewer than this value. If unspecified, returns a maximum of 50 rules. The maximum value is 100; values above 100 will be coerced to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A token identifying a page of results beyond the first page. Obtained through ListChannelPartnerRepricingConfigsResponse.next_page_token of the previous CloudChannelService.ListChannelPartnerRepricingConfigs call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the account's ChannelPartnerLink. Parent uses the format: accounts/{account_id}/channelPartnerLinks/{channel_partner_id}. Supports accounts/{account_id}/channelPartnerLinks/- to retrieve configs for all channel partners.", +"location": "path", +"pattern": "^accounts/[^/]+/channelPartnerLinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/channelPartnerRepricingConfigs", +"response": { +"$ref": "GoogleCloudChannelV1ListChannelPartnerRepricingConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"patch": { +"description": "Updates a ChannelPartnerRepricingConfig. Call this method to set modifications for a specific ChannelPartner's bill. This method overwrites the existing CustomerRepricingConfig. You can only update configs if the RepricingConfig.effective_invoice_month is a future month. To make changes to configs for the current month, use CreateChannelPartnerRepricingConfig, taking note of its restrictions. You cannot update the RepricingConfig.effective_invoice_month. When updating a config in the future: * This config must already exist. Possible Error Codes: * PERMISSION_DENIED: If the account making the request and the account being queried are different. * INVALID_ARGUMENT: Missing or invalid required parameters in the request. Also displays if the updated config is for the current month or past months. * NOT_FOUND: The ChannelPartnerRepricingConfig specified does not exist or is not associated with the given account. * INTERNAL: Any non-user error related to technical issues in the backend. In this case, contact Cloud Channel support. Return Value: If successful, the updated ChannelPartnerRepricingConfig resource, otherwise returns an error.", +"flatPath": "v1/accounts/{accountsId}/channelPartnerLinks/{channelPartnerLinksId}/channelPartnerRepricingConfigs/{channelPartnerRepricingConfigsId}", +"httpMethod": "PATCH", +"id": "cloudchannel.accounts.channelPartnerLinks.channelPartnerRepricingConfigs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name of the ChannelPartnerRepricingConfig. Format: accounts/{account_id}/channelPartnerLinks/{channel_partner_id}/channelPartnerRepricingConfigs/{id}.", +"location": "path", +"pattern": "^accounts/[^/]+/channelPartnerLinks/[^/]+/channelPartnerRepricingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudChannelV1ChannelPartnerRepricingConfig" +}, +"response": { +"$ref": "GoogleCloudChannelV1ChannelPartnerRepricingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +} +} +}, +"customers": { +"methods": { +"create": { +"description": "Creates a new Customer resource under the reseller or distributor account. Possible error codes: * PERMISSION_DENIED: * The reseller account making the request is different from the reseller account in the API request. * You are not authorized to create a customer. See https://support.google.com/channelservices/answer/9759265 * INVALID_ARGUMENT: * Required request parameters are missing or invalid. * Domain field value doesn't match the primary email domain. Return value: The newly created Customer resource.", +"flatPath": "v1/accounts/{accountsId}/channelPartnerLinks/{channelPartnerLinksId}/customers", +"httpMethod": "POST", +"id": "cloudchannel.accounts.channelPartnerLinks.customers.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of reseller account in which to create the customer. Parent uses the format: accounts/{account_id}", +"location": "path", +"pattern": "^accounts/[^/]+/channelPartnerLinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/customers", +"request": { +"$ref": "GoogleCloudChannelV1Customer" +}, +"response": { +"$ref": "GoogleCloudChannelV1Customer" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"delete": { +"description": "Deletes the given Customer permanently. Possible error codes: * PERMISSION_DENIED: The account making the request does not own this customer. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * FAILED_PRECONDITION: The customer has existing entitlements. * NOT_FOUND: No Customer resource found for the name in the request.", +"flatPath": "v1/accounts/{accountsId}/channelPartnerLinks/{channelPartnerLinksId}/customers/{customersId}", +"httpMethod": "DELETE", +"id": "cloudchannel.accounts.channelPartnerLinks.customers.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the customer to delete.", +"location": "path", +"pattern": "^accounts/[^/]+/channelPartnerLinks/[^/]+/customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"get": { +"description": "Returns the requested Customer resource. Possible error codes: * PERMISSION_DENIED: The reseller account making the request is different from the reseller account in the API request. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: The customer resource doesn't exist. Usually the result of an invalid name parameter. Return value: The Customer resource.", +"flatPath": "v1/accounts/{accountsId}/channelPartnerLinks/{channelPartnerLinksId}/customers/{customersId}", +"httpMethod": "GET", +"id": "cloudchannel.accounts.channelPartnerLinks.customers.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the customer to retrieve. Name uses the format: accounts/{account_id}/customers/{customer_id}", +"location": "path", +"pattern": "^accounts/[^/]+/channelPartnerLinks/[^/]+/customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudChannelV1Customer" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"import": { +"description": "Imports a Customer from the Cloud Identity associated with the provided Cloud Identity ID or domain before a TransferEntitlements call. If a linked Customer already exists and overwrite_if_exists is true, it will update that Customer's data. Possible error codes: * PERMISSION_DENIED: * The reseller account making the request is different from the reseller account in the API request. * You are not authorized to import the customer. See https://support.google.com/channelservices/answer/9759265 * NOT_FOUND: Cloud Identity doesn't exist or was deleted. * INVALID_ARGUMENT: Required parameters are missing, or the auth_token is expired or invalid. * ALREADY_EXISTS: A customer already exists and has conflicting critical fields. Requires an overwrite. Return value: The Customer.", +"flatPath": "v1/accounts/{accountsId}/channelPartnerLinks/{channelPartnerLinksId}/customers:import", +"httpMethod": "POST", +"id": "cloudchannel.accounts.channelPartnerLinks.customers.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the reseller's account. Parent takes the format: accounts/{account_id} or accounts/{account_id}/channelPartnerLinks/{channel_partner_id}", +"location": "path", +"pattern": "^accounts/[^/]+/channelPartnerLinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/customers:import", +"request": { +"$ref": "GoogleCloudChannelV1ImportCustomerRequest" +}, +"response": { +"$ref": "GoogleCloudChannelV1Customer" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"list": { +"description": "List Customers. Possible error codes: * PERMISSION_DENIED: The reseller account making the request is different from the reseller account in the API request. * INVALID_ARGUMENT: Required request parameters are missing or invalid. Return value: List of Customers, or an empty list if there are no customers.", +"flatPath": "v1/accounts/{accountsId}/channelPartnerLinks/{channelPartnerLinksId}/customers", +"httpMethod": "GET", +"id": "cloudchannel.accounts.channelPartnerLinks.customers.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filters applied to the [CloudChannelService.ListCustomers] results. See https://cloud.google.com/channel/docs/concepts/google-cloud/filter-customers for more information.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of customers to return. The service may return fewer than this value. If unspecified, returns at most 10 customers. The maximum value is 50.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A token identifying a page of results other than the first page. Obtained through ListCustomersResponse.next_page_token of the previous CloudChannelService.ListCustomers call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the reseller account to list customers from. Parent uses the format: accounts/{account_id}.", +"location": "path", +"pattern": "^accounts/[^/]+/channelPartnerLinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/customers", +"response": { +"$ref": "GoogleCloudChannelV1ListCustomersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"patch": { +"description": "Updates an existing Customer resource for the reseller or distributor. Possible error codes: * PERMISSION_DENIED: The reseller account making the request is different from the reseller account in the API request. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: No Customer resource found for the name in the request. Return value: The updated Customer resource.", +"flatPath": "v1/accounts/{accountsId}/channelPartnerLinks/{channelPartnerLinksId}/customers/{customersId}", +"httpMethod": "PATCH", +"id": "cloudchannel.accounts.channelPartnerLinks.customers.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name of the customer. Format: accounts/{account_id}/customers/{customer_id}", +"location": "path", +"pattern": "^accounts/[^/]+/channelPartnerLinks/[^/]+/customers/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The update mask that applies to the resource. Optional.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudChannelV1Customer" +}, +"response": { +"$ref": "GoogleCloudChannelV1Customer" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +} +} +} +} +}, +"customers": { +"methods": { +"create": { +"description": "Creates a new Customer resource under the reseller or distributor account. Possible error codes: * PERMISSION_DENIED: * The reseller account making the request is different from the reseller account in the API request. * You are not authorized to create a customer. See https://support.google.com/channelservices/answer/9759265 * INVALID_ARGUMENT: * Required request parameters are missing or invalid. * Domain field value doesn't match the primary email domain. Return value: The newly created Customer resource.", +"flatPath": "v1/accounts/{accountsId}/customers", +"httpMethod": "POST", +"id": "cloudchannel.accounts.customers.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of reseller account in which to create the customer. Parent uses the format: accounts/{account_id}", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/customers", +"request": { +"$ref": "GoogleCloudChannelV1Customer" +}, +"response": { +"$ref": "GoogleCloudChannelV1Customer" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"delete": { +"description": "Deletes the given Customer permanently. Possible error codes: * PERMISSION_DENIED: The account making the request does not own this customer. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * FAILED_PRECONDITION: The customer has existing entitlements. * NOT_FOUND: No Customer resource found for the name in the request.", +"flatPath": "v1/accounts/{accountsId}/customers/{customersId}", +"httpMethod": "DELETE", +"id": "cloudchannel.accounts.customers.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the customer to delete.", +"location": "path", +"pattern": "^accounts/[^/]+/customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"get": { +"description": "Returns the requested Customer resource. Possible error codes: * PERMISSION_DENIED: The reseller account making the request is different from the reseller account in the API request. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: The customer resource doesn't exist. Usually the result of an invalid name parameter. Return value: The Customer resource.", +"flatPath": "v1/accounts/{accountsId}/customers/{customersId}", +"httpMethod": "GET", +"id": "cloudchannel.accounts.customers.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the customer to retrieve. Name uses the format: accounts/{account_id}/customers/{customer_id}", +"location": "path", +"pattern": "^accounts/[^/]+/customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudChannelV1Customer" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"import": { +"description": "Imports a Customer from the Cloud Identity associated with the provided Cloud Identity ID or domain before a TransferEntitlements call. If a linked Customer already exists and overwrite_if_exists is true, it will update that Customer's data. Possible error codes: * PERMISSION_DENIED: * The reseller account making the request is different from the reseller account in the API request. * You are not authorized to import the customer. See https://support.google.com/channelservices/answer/9759265 * NOT_FOUND: Cloud Identity doesn't exist or was deleted. * INVALID_ARGUMENT: Required parameters are missing, or the auth_token is expired or invalid. * ALREADY_EXISTS: A customer already exists and has conflicting critical fields. Requires an overwrite. Return value: The Customer.", +"flatPath": "v1/accounts/{accountsId}/customers:import", +"httpMethod": "POST", +"id": "cloudchannel.accounts.customers.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the reseller's account. Parent takes the format: accounts/{account_id} or accounts/{account_id}/channelPartnerLinks/{channel_partner_id}", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/customers:import", +"request": { +"$ref": "GoogleCloudChannelV1ImportCustomerRequest" +}, +"response": { +"$ref": "GoogleCloudChannelV1Customer" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"list": { +"description": "List Customers. Possible error codes: * PERMISSION_DENIED: The reseller account making the request is different from the reseller account in the API request. * INVALID_ARGUMENT: Required request parameters are missing or invalid. Return value: List of Customers, or an empty list if there are no customers.", +"flatPath": "v1/accounts/{accountsId}/customers", +"httpMethod": "GET", +"id": "cloudchannel.accounts.customers.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filters applied to the [CloudChannelService.ListCustomers] results. See https://cloud.google.com/channel/docs/concepts/google-cloud/filter-customers for more information.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of customers to return. The service may return fewer than this value. If unspecified, returns at most 10 customers. The maximum value is 50.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A token identifying a page of results other than the first page. Obtained through ListCustomersResponse.next_page_token of the previous CloudChannelService.ListCustomers call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the reseller account to list customers from. Parent uses the format: accounts/{account_id}.", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/customers", +"response": { +"$ref": "GoogleCloudChannelV1ListCustomersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"listPurchasableOffers": { +"description": "Lists the following: * Offers that you can purchase for a customer. * Offers that you can change for an entitlement. Possible error codes: * PERMISSION_DENIED: * The customer doesn't belong to the reseller * The reseller is not authorized to transact on this Product. See https://support.google.com/channelservices/answer/9759265 * INVALID_ARGUMENT: Required request parameters are missing or invalid.", +"flatPath": "v1/accounts/{accountsId}/customers/{customersId}:listPurchasableOffers", +"httpMethod": "GET", +"id": "cloudchannel.accounts.customers.listPurchasableOffers", +"parameterOrder": [ +"customer" +], +"parameters": { +"changeOfferPurchase.billingAccount": { +"description": "Optional. Resource name of the new target Billing Account. Provide this Billing Account when setting up billing for a trial subscription. Format: accounts/{account_id}/billingAccounts/{billing_account_id}. This field is only relevant for multi-currency accounts. It should be left empty for single currency accounts.", +"location": "query", +"type": "string" +}, +"changeOfferPurchase.entitlement": { +"description": "Required. Resource name of the entitlement. Format: accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}", +"location": "query", +"type": "string" +}, +"changeOfferPurchase.newSku": { +"description": "Optional. Resource name of the new target SKU. Provide this SKU when upgrading or downgrading an entitlement. Format: products/{product_id}/skus/{sku_id}", +"location": "query", +"type": "string" +}, +"createEntitlementPurchase.billingAccount": { +"description": "Optional. Billing account that the result should be restricted to. Format: accounts/{account_id}/billingAccounts/{billing_account_id}.", +"location": "query", +"type": "string" +}, +"createEntitlementPurchase.sku": { +"description": "Required. SKU that the result should be restricted to. Format: products/{product_id}/skus/{sku_id}.", +"location": "query", +"type": "string" +}, +"customer": { +"description": "Required. The resource name of the customer to list Offers for. Format: accounts/{account_id}/customers/{customer_id}.", +"location": "path", +"pattern": "^accounts/[^/]+/customers/[^/]+$", +"required": true, +"type": "string" +}, +"languageCode": { +"description": "Optional. The BCP-47 language code. For example, \"en-US\". The response will localize in the corresponding language code, if specified. The default value is \"en-US\".", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Requested page size. Server might return fewer results than requested. If unspecified, returns at most 100 Offers. The maximum value is 1000; the server will coerce values above 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A token for a page of results other than the first page.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+customer}:listPurchasableOffers", +"response": { +"$ref": "GoogleCloudChannelV1ListPurchasableOffersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"listPurchasableSkus": { +"description": "Lists the following: * SKUs that you can purchase for a customer * SKUs that you can upgrade or downgrade for an entitlement. Possible error codes: * PERMISSION_DENIED: The customer doesn't belong to the reseller. * INVALID_ARGUMENT: Required request parameters are missing or invalid.", +"flatPath": "v1/accounts/{accountsId}/customers/{customersId}:listPurchasableSkus", +"httpMethod": "GET", +"id": "cloudchannel.accounts.customers.listPurchasableSkus", +"parameterOrder": [ +"customer" +], +"parameters": { +"changeOfferPurchase.changeType": { +"description": "Required. Change Type for the entitlement.", +"enum": [ +"CHANGE_TYPE_UNSPECIFIED", +"UPGRADE", +"DOWNGRADE" +], +"enumDescriptions": [ +"Not used.", +"SKU is an upgrade on the current entitlement.", +"SKU is a downgrade on the current entitlement." +], +"location": "query", +"type": "string" +}, +"changeOfferPurchase.entitlement": { +"description": "Required. Resource name of the entitlement. Format: accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}", +"location": "query", +"type": "string" +}, +"createEntitlementPurchase.product": { +"description": "Required. List SKUs belonging to this Product. Format: products/{product_id}. Supports products/- to retrieve SKUs for all products.", +"location": "query", +"type": "string" +}, +"customer": { +"description": "Required. The resource name of the customer to list SKUs for. Format: accounts/{account_id}/customers/{customer_id}.", +"location": "path", +"pattern": "^accounts/[^/]+/customers/[^/]+$", +"required": true, +"type": "string" +}, +"languageCode": { +"description": "Optional. The BCP-47 language code. For example, \"en-US\". The response will localize in the corresponding language code, if specified. The default value is \"en-US\".", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Requested page size. Server might return fewer results than requested. If unspecified, returns at most 100 SKUs. The maximum value is 1000; the server will coerce values above 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A token for a page of results other than the first page.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+customer}:listPurchasableSkus", +"response": { +"$ref": "GoogleCloudChannelV1ListPurchasableSkusResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"patch": { +"description": "Updates an existing Customer resource for the reseller or distributor. Possible error codes: * PERMISSION_DENIED: The reseller account making the request is different from the reseller account in the API request. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: No Customer resource found for the name in the request. Return value: The updated Customer resource.", +"flatPath": "v1/accounts/{accountsId}/customers/{customersId}", +"httpMethod": "PATCH", +"id": "cloudchannel.accounts.customers.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name of the customer. Format: accounts/{account_id}/customers/{customer_id}", +"location": "path", +"pattern": "^accounts/[^/]+/customers/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The update mask that applies to the resource. Optional.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudChannelV1Customer" +}, +"response": { +"$ref": "GoogleCloudChannelV1Customer" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"provisionCloudIdentity": { +"description": "Creates a Cloud Identity for the given customer using the customer's information, or the information provided here. Possible error codes: * PERMISSION_DENIED: * The customer doesn't belong to the reseller. * You are not authorized to provision cloud identity id. See https://support.google.com/channelservices/answer/9759265 * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: The customer was not found. * ALREADY_EXISTS: The customer's primary email already exists. Retry after changing the customer's primary contact email. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The ID of a long-running operation. To get the results of the operation, call the GetOperation method of CloudChannelOperationsService. The Operation metadata contains an instance of OperationMetadata.", +"flatPath": "v1/accounts/{accountsId}/customers/{customersId}:provisionCloudIdentity", +"httpMethod": "POST", +"id": "cloudchannel.accounts.customers.provisionCloudIdentity", +"parameterOrder": [ +"customer" +], +"parameters": { +"customer": { +"description": "Required. Resource name of the customer. Format: accounts/{account_id}/customers/{customer_id}", +"location": "path", +"pattern": "^accounts/[^/]+/customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+customer}:provisionCloudIdentity", +"request": { +"$ref": "GoogleCloudChannelV1ProvisionCloudIdentityRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"queryEligibleBillingAccounts": { +"description": "Lists the billing accounts that are eligible to purchase particular SKUs for a given customer. Possible error codes: * PERMISSION_DENIED: The customer doesn't belong to the reseller. * INVALID_ARGUMENT: Required request parameters are missing or invalid. Return value: Based on the provided list of SKUs, returns a list of SKU groups that must be purchased using the same billing account and the billing accounts eligible to purchase each SKU group.", +"flatPath": "v1/accounts/{accountsId}/customers/{customersId}:queryEligibleBillingAccounts", +"httpMethod": "GET", +"id": "cloudchannel.accounts.customers.queryEligibleBillingAccounts", +"parameterOrder": [ +"customer" +], +"parameters": { +"customer": { +"description": "Required. The resource name of the customer to list eligible billing accounts for. Format: accounts/{account_id}/customers/{customer_id}.", +"location": "path", +"pattern": "^accounts/[^/]+/customers/[^/]+$", +"required": true, +"type": "string" +}, +"skus": { +"description": "Required. List of SKUs to list eligible billing accounts for. At least one SKU is required. Format: products/{product_id}/skus/{sku_id}.", +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "v1/{+customer}:queryEligibleBillingAccounts", +"response": { +"$ref": "GoogleCloudChannelV1QueryEligibleBillingAccountsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"transferEntitlements": { +"description": "Transfers customer entitlements to new reseller. Possible error codes: * PERMISSION_DENIED: * The customer doesn't belong to the reseller. * The reseller is not authorized to transact on this Product. See https://support.google.com/channelservices/answer/9759265 * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: The customer or offer resource was not found. * ALREADY_EXISTS: The SKU was already transferred for the customer. * CONDITION_NOT_MET or FAILED_PRECONDITION: * The SKU requires domain verification to transfer, but the domain is not verified. * An Add-On SKU (example, Vault or Drive) is missing the pre-requisite SKU (example, G Suite Basic). * (Developer accounts only) Reseller and resold domain must meet the following naming requirements: * Domain names must start with goog-test. * Domain names must include the reseller domain. * Specify all transferring entitlements. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The ID of a long-running operation. To get the results of the operation, call the GetOperation method of CloudChannelOperationsService. The Operation metadata will contain an instance of OperationMetadata.", +"flatPath": "v1/accounts/{accountsId}/customers/{customersId}:transferEntitlements", +"httpMethod": "POST", +"id": "cloudchannel.accounts.customers.transferEntitlements", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the reseller's customer account that will receive transferred entitlements. Parent uses the format: accounts/{account_id}/customers/{customer_id}", +"location": "path", +"pattern": "^accounts/[^/]+/customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}:transferEntitlements", +"request": { +"$ref": "GoogleCloudChannelV1TransferEntitlementsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"transferEntitlementsToGoogle": { +"description": "Transfers customer entitlements from their current reseller to Google. Possible error codes: * PERMISSION_DENIED: The customer doesn't belong to the reseller. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: The customer or offer resource was not found. * ALREADY_EXISTS: The SKU was already transferred for the customer. * CONDITION_NOT_MET or FAILED_PRECONDITION: * The SKU requires domain verification to transfer, but the domain is not verified. * An Add-On SKU (example, Vault or Drive) is missing the pre-requisite SKU (example, G Suite Basic). * (Developer accounts only) Reseller and resold domain must meet the following naming requirements: * Domain names must start with goog-test. * Domain names must include the reseller domain. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The ID of a long-running operation. To get the results of the operation, call the GetOperation method of CloudChannelOperationsService. The response will contain google.protobuf.Empty on success. The Operation metadata will contain an instance of OperationMetadata.", +"flatPath": "v1/accounts/{accountsId}/customers/{customersId}:transferEntitlementsToGoogle", +"httpMethod": "POST", +"id": "cloudchannel.accounts.customers.transferEntitlementsToGoogle", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the reseller's customer account where the entitlements transfer from. Parent uses the format: accounts/{account_id}/customers/{customer_id}", +"location": "path", +"pattern": "^accounts/[^/]+/customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}:transferEntitlementsToGoogle", +"request": { +"$ref": "GoogleCloudChannelV1TransferEntitlementsToGoogleRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +} +}, +"resources": { +"customerRepricingConfigs": { +"methods": { +"create": { +"description": "Creates a CustomerRepricingConfig. Call this method to set modifications for a specific customer's bill. You can only create configs if the RepricingConfig.effective_invoice_month is a future month. If needed, you can create a config for the current month, with some restrictions. When creating a config for a future month, make sure there are no existing configs for that RepricingConfig.effective_invoice_month. The following restrictions are for creating configs in the current month. * This functionality is reserved for recovering from an erroneous config, and should not be used for regular business cases. * The new config will not modify exports used with other configs. Changes to the config may be immediate, but may take up to 24 hours. * There is a limit of ten configs for any RepricingConfig.EntitlementGranularity.entitlement, for any RepricingConfig.effective_invoice_month. * The contained CustomerRepricingConfig.repricing_config value must be different from the value used in the current config for a RepricingConfig.EntitlementGranularity.entitlement. Possible Error Codes: * PERMISSION_DENIED: If the account making the request and the account being queried are different. * INVALID_ARGUMENT: Missing or invalid required parameters in the request. Also displays if the updated config is for the current month or past months. * NOT_FOUND: The CustomerRepricingConfig specified does not exist or is not associated with the given account. * INTERNAL: Any non-user error related to technical issues in the backend. In this case, contact Cloud Channel support. Return Value: If successful, the updated CustomerRepricingConfig resource, otherwise returns an error.", +"flatPath": "v1/accounts/{accountsId}/customers/{customersId}/customerRepricingConfigs", +"httpMethod": "POST", +"id": "cloudchannel.accounts.customers.customerRepricingConfigs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the customer that will receive this repricing config. Parent uses the format: accounts/{account_id}/customers/{customer_id}", +"location": "path", +"pattern": "^accounts/[^/]+/customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/customerRepricingConfigs", +"request": { +"$ref": "GoogleCloudChannelV1CustomerRepricingConfig" +}, +"response": { +"$ref": "GoogleCloudChannelV1CustomerRepricingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"delete": { +"description": "Deletes the given CustomerRepricingConfig permanently. You can only delete configs if their RepricingConfig.effective_invoice_month is set to a date after the current month. Possible error codes: * PERMISSION_DENIED: The account making the request does not own this customer. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * FAILED_PRECONDITION: The CustomerRepricingConfig is active or in the past. * NOT_FOUND: No CustomerRepricingConfig found for the name in the request.", +"flatPath": "v1/accounts/{accountsId}/customers/{customersId}/customerRepricingConfigs/{customerRepricingConfigsId}", +"httpMethod": "DELETE", +"id": "cloudchannel.accounts.customers.customerRepricingConfigs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the customer repricing config rule to delete. Format: accounts/{account_id}/customers/{customer_id}/customerRepricingConfigs/{id}.", +"location": "path", +"pattern": "^accounts/[^/]+/customers/[^/]+/customerRepricingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"get": { +"description": "Gets information about how a Reseller modifies their bill before sending it to a Customer. Possible Error Codes: * PERMISSION_DENIED: If the account making the request and the account being queried are different. * NOT_FOUND: The CustomerRepricingConfig was not found. * INTERNAL: Any non-user error related to technical issues in the backend. In this case, contact Cloud Channel support. Return Value: If successful, the CustomerRepricingConfig resource, otherwise returns an error.", +"flatPath": "v1/accounts/{accountsId}/customers/{customersId}/customerRepricingConfigs/{customerRepricingConfigsId}", +"httpMethod": "GET", +"id": "cloudchannel.accounts.customers.customerRepricingConfigs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the CustomerRepricingConfig. Format: accounts/{account_id}/customers/{customer_id}/customerRepricingConfigs/{id}.", +"location": "path", +"pattern": "^accounts/[^/]+/customers/[^/]+/customerRepricingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudChannelV1CustomerRepricingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"list": { +"description": "Lists information about how a Reseller modifies their bill before sending it to a Customer. Possible Error Codes: * PERMISSION_DENIED: If the account making the request and the account being queried are different. * NOT_FOUND: The CustomerRepricingConfig specified does not exist or is not associated with the given account. * INTERNAL: Any non-user error related to technical issues in the backend. In this case, contact Cloud Channel support. Return Value: If successful, the CustomerRepricingConfig resources. The data for each resource is displayed in the ascending order of: * Customer ID * RepricingConfig.EntitlementGranularity.entitlement * RepricingConfig.effective_invoice_month * CustomerRepricingConfig.update_time If unsuccessful, returns an error.", +"flatPath": "v1/accounts/{accountsId}/customers/{customersId}/customerRepricingConfigs", +"httpMethod": "GET", +"id": "cloudchannel.accounts.customers.customerRepricingConfigs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A filter for [CloudChannelService.ListCustomerRepricingConfigs] results (customer only). You can use this filter when you support a BatchGet-like query. To use the filter, you must set `parent=accounts/{account_id}/customers/-`. Example: customer = accounts/account_id/customers/c1 OR customer = accounts/account_id/customers/c2.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of repricing configs to return. The service may return fewer than this value. If unspecified, returns a maximum of 50 rules. The maximum value is 100; values above 100 will be coerced to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A token identifying a page of results beyond the first page. Obtained through ListCustomerRepricingConfigsResponse.next_page_token of the previous CloudChannelService.ListCustomerRepricingConfigs call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the customer. Parent uses the format: accounts/{account_id}/customers/{customer_id}. Supports accounts/{account_id}/customers/- to retrieve configs for all customers.", +"location": "path", +"pattern": "^accounts/[^/]+/customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/customerRepricingConfigs", +"response": { +"$ref": "GoogleCloudChannelV1ListCustomerRepricingConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"patch": { +"description": "Updates a CustomerRepricingConfig. Call this method to set modifications for a specific customer's bill. This method overwrites the existing CustomerRepricingConfig. You can only update configs if the RepricingConfig.effective_invoice_month is a future month. To make changes to configs for the current month, use CreateCustomerRepricingConfig, taking note of its restrictions. You cannot update the RepricingConfig.effective_invoice_month. When updating a config in the future: * This config must already exist. Possible Error Codes: * PERMISSION_DENIED: If the account making the request and the account being queried are different. * INVALID_ARGUMENT: Missing or invalid required parameters in the request. Also displays if the updated config is for the current month or past months. * NOT_FOUND: The CustomerRepricingConfig specified does not exist or is not associated with the given account. * INTERNAL: Any non-user error related to technical issues in the backend. In this case, contact Cloud Channel support. Return Value: If successful, the updated CustomerRepricingConfig resource, otherwise returns an error.", +"flatPath": "v1/accounts/{accountsId}/customers/{customersId}/customerRepricingConfigs/{customerRepricingConfigsId}", +"httpMethod": "PATCH", +"id": "cloudchannel.accounts.customers.customerRepricingConfigs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name of the CustomerRepricingConfig. Format: accounts/{account_id}/customers/{customer_id}/customerRepricingConfigs/{id}.", +"location": "path", +"pattern": "^accounts/[^/]+/customers/[^/]+/customerRepricingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudChannelV1CustomerRepricingConfig" +}, +"response": { +"$ref": "GoogleCloudChannelV1CustomerRepricingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +} +} +}, +"entitlements": { +"methods": { +"activate": { +"description": "Activates a previously suspended entitlement. Entitlements suspended for pending ToS acceptance can't be activated using this method. An entitlement activation is a long-running operation and it updates the state of the customer entitlement. Possible error codes: * PERMISSION_DENIED: The reseller account making the request is different from the reseller account in the API request. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: Entitlement resource not found. * SUSPENSION_NOT_RESELLER_INITIATED: Can only activate reseller-initiated suspensions and entitlements that have accepted the TOS. * NOT_SUSPENDED: Can only activate suspended entitlements not in an ACTIVE state. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The ID of a long-running operation. To get the results of the operation, call the GetOperation method of CloudChannelOperationsService. The Operation metadata will contain an instance of OperationMetadata.", +"flatPath": "v1/accounts/{accountsId}/customers/{customersId}/entitlements/{entitlementsId}:activate", +"httpMethod": "POST", +"id": "cloudchannel.accounts.customers.entitlements.activate", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the entitlement to activate. Name uses the format: accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}", +"location": "path", +"pattern": "^accounts/[^/]+/customers/[^/]+/entitlements/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:activate", +"request": { +"$ref": "GoogleCloudChannelV1ActivateEntitlementRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"cancel": { +"description": "Cancels a previously fulfilled entitlement. An entitlement cancellation is a long-running operation. Possible error codes: * PERMISSION_DENIED: The reseller account making the request is different from the reseller account in the API request. * FAILED_PRECONDITION: There are Google Cloud projects linked to the Google Cloud entitlement's Cloud Billing subaccount. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: Entitlement resource not found. * DELETION_TYPE_NOT_ALLOWED: Cancel is only allowed for Google Workspace add-ons, or entitlements for Google Cloud's development platform. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The ID of a long-running operation. To get the results of the operation, call the GetOperation method of CloudChannelOperationsService. The response will contain google.protobuf.Empty on success. The Operation metadata will contain an instance of OperationMetadata.", +"flatPath": "v1/accounts/{accountsId}/customers/{customersId}/entitlements/{entitlementsId}:cancel", +"httpMethod": "POST", +"id": "cloudchannel.accounts.customers.entitlements.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the entitlement to cancel. Name uses the format: accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}", +"location": "path", +"pattern": "^accounts/[^/]+/customers/[^/]+/entitlements/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "GoogleCloudChannelV1CancelEntitlementRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"changeOffer": { +"description": "Updates the Offer for an existing customer entitlement. An entitlement update is a long-running operation and it updates the entitlement as a result of fulfillment. Possible error codes: * PERMISSION_DENIED: The customer doesn't belong to the reseller. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: Offer or Entitlement resource not found. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The ID of a long-running operation. To get the results of the operation, call the GetOperation method of CloudChannelOperationsService. The Operation metadata will contain an instance of OperationMetadata.", +"flatPath": "v1/accounts/{accountsId}/customers/{customersId}/entitlements/{entitlementsId}:changeOffer", +"httpMethod": "POST", +"id": "cloudchannel.accounts.customers.entitlements.changeOffer", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the entitlement to update. Name uses the format: accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}", +"location": "path", +"pattern": "^accounts/[^/]+/customers/[^/]+/entitlements/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:changeOffer", +"request": { +"$ref": "GoogleCloudChannelV1ChangeOfferRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"changeParameters": { +"description": "Change parameters of the entitlement. An entitlement update is a long-running operation and it updates the entitlement as a result of fulfillment. Possible error codes: * PERMISSION_DENIED: The customer doesn't belong to the reseller. * INVALID_ARGUMENT: Required request parameters are missing or invalid. For example, the number of seats being changed is greater than the allowed number of max seats, or decreasing seats for a commitment based plan. * NOT_FOUND: Entitlement resource not found. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The ID of a long-running operation. To get the results of the operation, call the GetOperation method of CloudChannelOperationsService. The Operation metadata will contain an instance of OperationMetadata.", +"flatPath": "v1/accounts/{accountsId}/customers/{customersId}/entitlements/{entitlementsId}:changeParameters", +"httpMethod": "POST", +"id": "cloudchannel.accounts.customers.entitlements.changeParameters", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the entitlement to update. Name uses the format: accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}", +"location": "path", +"pattern": "^accounts/[^/]+/customers/[^/]+/entitlements/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:changeParameters", +"request": { +"$ref": "GoogleCloudChannelV1ChangeParametersRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"changeRenewalSettings": { +"description": "Updates the renewal settings for an existing customer entitlement. An entitlement update is a long-running operation and it updates the entitlement as a result of fulfillment. Possible error codes: * PERMISSION_DENIED: The customer doesn't belong to the reseller. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: Entitlement resource not found. * NOT_COMMITMENT_PLAN: Renewal Settings are only applicable for a commitment plan. Can't enable or disable renewals for non-commitment plans. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The ID of a long-running operation. To get the results of the operation, call the GetOperation method of CloudChannelOperationsService. The Operation metadata will contain an instance of OperationMetadata.", +"flatPath": "v1/accounts/{accountsId}/customers/{customersId}/entitlements/{entitlementsId}:changeRenewalSettings", +"httpMethod": "POST", +"id": "cloudchannel.accounts.customers.entitlements.changeRenewalSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the entitlement to update. Name uses the format: accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}", +"location": "path", +"pattern": "^accounts/[^/]+/customers/[^/]+/entitlements/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:changeRenewalSettings", +"request": { +"$ref": "GoogleCloudChannelV1ChangeRenewalSettingsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"create": { +"description": "Creates an entitlement for a customer. Possible error codes: * PERMISSION_DENIED: * The customer doesn't belong to the reseller. * The reseller is not authorized to transact on this Product. See https://support.google.com/channelservices/answer/9759265 * INVALID_ARGUMENT: * Required request parameters are missing or invalid. * There is already a customer entitlement for a SKU from the same product family. * INVALID_VALUE: Make sure the OfferId is valid. If it is, contact Google Channel support for further troubleshooting. * NOT_FOUND: The customer or offer resource was not found. * ALREADY_EXISTS: * The SKU was already purchased for the customer. * The customer's primary email already exists. Retry after changing the customer's primary contact email. * CONDITION_NOT_MET or FAILED_PRECONDITION: * The domain required for purchasing a SKU has not been verified. * A pre-requisite SKU required to purchase an Add-On SKU is missing. For example, Google Workspace Business Starter is required to purchase Vault or Drive. * (Developer accounts only) Reseller and resold domain must meet the following naming requirements: * Domain names must start with goog-test. * Domain names must include the reseller domain. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The ID of a long-running operation. To get the results of the operation, call the GetOperation method of CloudChannelOperationsService. The Operation metadata will contain an instance of OperationMetadata.", +"flatPath": "v1/accounts/{accountsId}/customers/{customersId}/entitlements", +"httpMethod": "POST", +"id": "cloudchannel.accounts.customers.entitlements.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the reseller's customer account in which to create the entitlement. Parent uses the format: accounts/{account_id}/customers/{customer_id}", +"location": "path", +"pattern": "^accounts/[^/]+/customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/entitlements", +"request": { +"$ref": "GoogleCloudChannelV1CreateEntitlementRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"get": { +"description": "Returns the requested Entitlement resource. Possible error codes: * PERMISSION_DENIED: The customer doesn't belong to the reseller. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: The customer entitlement was not found. Return value: The requested Entitlement resource.", +"flatPath": "v1/accounts/{accountsId}/customers/{customersId}/entitlements/{entitlementsId}", +"httpMethod": "GET", +"id": "cloudchannel.accounts.customers.entitlements.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the entitlement to retrieve. Name uses the format: accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}", +"location": "path", +"pattern": "^accounts/[^/]+/customers/[^/]+/entitlements/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudChannelV1Entitlement" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"list": { +"description": "Lists Entitlements belonging to a customer. Possible error codes: * PERMISSION_DENIED: The customer doesn't belong to the reseller. * INVALID_ARGUMENT: Required request parameters are missing or invalid. Return value: A list of the customer's Entitlements.", +"flatPath": "v1/accounts/{accountsId}/customers/{customersId}/entitlements", +"httpMethod": "GET", +"id": "cloudchannel.accounts.customers.entitlements.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. Requested page size. Server might return fewer results than requested. If unspecified, return at most 50 entitlements. The maximum value is 100; the server will coerce values above 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A token for a page of results other than the first page. Obtained using ListEntitlementsResponse.next_page_token of the previous CloudChannelService.ListEntitlements call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the reseller's customer account to list entitlements for. Parent uses the format: accounts/{account_id}/customers/{customer_id}", +"location": "path", +"pattern": "^accounts/[^/]+/customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/entitlements", +"response": { +"$ref": "GoogleCloudChannelV1ListEntitlementsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"listEntitlementChanges": { +"description": "List entitlement history. Possible error codes: * PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different. * INVALID_ARGUMENT: Missing or invalid required fields in the request. * NOT_FOUND: The parent resource doesn't exist. Usually the result of an invalid name parameter. * INTERNAL: Any non-user error related to a technical issue in the backend. In this case, contact CloudChannel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. In this case, contact Cloud Channel support. Return value: List of EntitlementChanges.", +"flatPath": "v1/accounts/{accountsId}/customers/{customersId}/entitlements/{entitlementsId}:listEntitlementChanges", +"httpMethod": "GET", +"id": "cloudchannel.accounts.customers.entitlements.listEntitlementChanges", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filters applied to the list results.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of entitlement changes to return. The service may return fewer than this value. If unspecified, returns at most 10 entitlement changes. The maximum value is 50; the server will coerce values above 50.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous CloudChannelService.ListEntitlementChanges call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to CloudChannelService.ListEntitlementChanges must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the entitlement for which to list entitlement changes. The `-` wildcard may be used to match entitlements across a customer. Formats: * accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id} * accounts/{account_id}/customers/{customer_id}/entitlements/-", +"location": "path", +"pattern": "^accounts/[^/]+/customers/[^/]+/entitlements/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}:listEntitlementChanges", +"response": { +"$ref": "GoogleCloudChannelV1ListEntitlementChangesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"lookupOffer": { +"description": "Returns the requested Offer resource. Possible error codes: * PERMISSION_DENIED: The entitlement doesn't belong to the reseller. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: Entitlement or offer was not found. Return value: The Offer resource.", +"flatPath": "v1/accounts/{accountsId}/customers/{customersId}/entitlements/{entitlementsId}:lookupOffer", +"httpMethod": "GET", +"id": "cloudchannel.accounts.customers.entitlements.lookupOffer", +"parameterOrder": [ +"entitlement" +], +"parameters": { +"entitlement": { +"description": "Required. The resource name of the entitlement to retrieve the Offer. Entitlement uses the format: accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}", +"location": "path", +"pattern": "^accounts/[^/]+/customers/[^/]+/entitlements/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+entitlement}:lookupOffer", +"response": { +"$ref": "GoogleCloudChannelV1Offer" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"startPaidService": { +"description": "Starts paid service for a trial entitlement. Starts paid service for a trial entitlement immediately. This method is only applicable if a plan is set up for a trial entitlement but has some trial days remaining. Possible error codes: * PERMISSION_DENIED: The customer doesn't belong to the reseller. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: Entitlement resource not found. * FAILED_PRECONDITION/NOT_IN_TRIAL: This method only works for entitlement on trial plans. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The ID of a long-running operation. To get the results of the operation, call the GetOperation method of CloudChannelOperationsService. The Operation metadata will contain an instance of OperationMetadata.", +"flatPath": "v1/accounts/{accountsId}/customers/{customersId}/entitlements/{entitlementsId}:startPaidService", +"httpMethod": "POST", +"id": "cloudchannel.accounts.customers.entitlements.startPaidService", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the entitlement to start a paid service for. Name uses the format: accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}", +"location": "path", +"pattern": "^accounts/[^/]+/customers/[^/]+/entitlements/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:startPaidService", +"request": { +"$ref": "GoogleCloudChannelV1StartPaidServiceRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"suspend": { +"description": "Suspends a previously fulfilled entitlement. An entitlement suspension is a long-running operation. Possible error codes: * PERMISSION_DENIED: The customer doesn't belong to the reseller. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: Entitlement resource not found. * NOT_ACTIVE: Entitlement is not active. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The ID of a long-running operation. To get the results of the operation, call the GetOperation method of CloudChannelOperationsService. The Operation metadata will contain an instance of OperationMetadata.", +"flatPath": "v1/accounts/{accountsId}/customers/{customersId}/entitlements/{entitlementsId}:suspend", +"httpMethod": "POST", +"id": "cloudchannel.accounts.customers.entitlements.suspend", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the entitlement to suspend. Name uses the format: accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}", +"location": "path", +"pattern": "^accounts/[^/]+/customers/[^/]+/entitlements/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:suspend", +"request": { +"$ref": "GoogleCloudChannelV1SuspendEntitlementRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +} +} +} +} +}, +"offers": { +"methods": { +"list": { +"description": "Lists the Offers the reseller can sell. Possible error codes: * INVALID_ARGUMENT: Required request parameters are missing or invalid.", +"flatPath": "v1/accounts/{accountsId}/offers", +"httpMethod": "GET", +"id": "cloudchannel.accounts.offers.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The expression to filter results by name (name of the Offer), sku.name (name of the SKU), or sku.product.name (name of the Product). Example 1: sku.product.name=products/p1 AND sku.name!=products/p1/skus/s1 Example 2: name=accounts/a1/offers/o1", +"location": "query", +"type": "string" +}, +"languageCode": { +"description": "Optional. The BCP-47 language code. For example, \"en-US\". The response will localize in the corresponding language code, if specified. The default value is \"en-US\".", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Requested page size. Server might return fewer results than requested. If unspecified, returns at most 500 Offers. The maximum value is 1000; the server will coerce values above 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A token for a page of results other than the first page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the reseller account from which to list Offers. Parent uses the format: accounts/{account_id}.", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +}, +"showFutureOffers": { +"description": "Optional. A boolean flag that determines if a response returns future offers 30 days from now. If the show_future_offers is true, the response will only contain offers that are scheduled to be available 30 days from now.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/offers", +"response": { +"$ref": "GoogleCloudChannelV1ListOffersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +} +} +}, +"reportJobs": { +"deprecated": true, +"methods": { +"fetchReportResults": { +"deprecated": true, +"description": "Retrieves data generated by CloudChannelReportsService.RunReportJob. Deprecated: Please use [Export Channel Services data to BigQuery](https://cloud.google.com/channel/docs/rebilling/export-data-to-bigquery) instead.", +"flatPath": "v1/accounts/{accountsId}/reportJobs/{reportJobsId}:fetchReportResults", +"httpMethod": "POST", +"id": "cloudchannel.accounts.reportJobs.fetchReportResults", +"parameterOrder": [ +"reportJob" +], +"parameters": { +"reportJob": { +"description": "Required. The report job created by CloudChannelReportsService.RunReportJob. Report_job uses the format: accounts/{account_id}/reportJobs/{report_job_id}", +"location": "path", +"pattern": "^accounts/[^/]+/reportJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+reportJob}:fetchReportResults", +"request": { +"$ref": "GoogleCloudChannelV1FetchReportResultsRequest" +}, +"response": { +"$ref": "GoogleCloudChannelV1FetchReportResultsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.reports.usage.readonly" +] +} +} +}, +"reports": { +"deprecated": true, +"methods": { +"list": { +"deprecated": true, +"description": "Lists the reports that RunReportJob can run. These reports include an ID, a description, and the list of columns that will be in the result. Deprecated: Please use [Export Channel Services data to BigQuery](https://cloud.google.com/channel/docs/rebilling/export-data-to-bigquery) instead.", +"flatPath": "v1/accounts/{accountsId}/reports", +"httpMethod": "GET", +"id": "cloudchannel.accounts.reports.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"languageCode": { +"description": "Optional. The BCP-47 language code, such as \"en-US\". If specified, the response is localized to the corresponding language code if the original data sources support it. Default is \"en-US\".", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Requested page size of the report. The server might return fewer results than requested. If unspecified, returns 20 reports. The maximum value is 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A token that specifies a page of results beyond the first page. Obtained through ListReportsResponse.next_page_token of the previous CloudChannelReportsService.ListReports call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the partner account to list available reports for. Parent uses the format: accounts/{account_id}", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/reports", +"response": { +"$ref": "GoogleCloudChannelV1ListReportsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.reports.usage.readonly" +] +}, +"run": { +"deprecated": true, +"description": "Begins generation of data for a given report. The report identifier is a UID (for example, `613bf59q`). Possible error codes: * PERMISSION_DENIED: The user doesn't have access to this report. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: The report identifier was not found. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The ID of a long-running operation. To get the results of the operation, call the GetOperation method of CloudChannelOperationsService. The Operation metadata contains an instance of OperationMetadata. To get the results of report generation, call CloudChannelReportsService.FetchReportResults with the RunReportJobResponse.report_job. Deprecated: Please use [Export Channel Services data to BigQuery](https://cloud.google.com/channel/docs/rebilling/export-data-to-bigquery) instead.", +"flatPath": "v1/accounts/{accountsId}/reports/{reportsId}:run", +"httpMethod": "POST", +"id": "cloudchannel.accounts.reports.run", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The report's resource name. Specifies the account and report used to generate report data. The report_id identifier is a UID (for example, `613bf59q`). Name uses the format: accounts/{account_id}/reports/{report_id}", +"location": "path", +"pattern": "^accounts/[^/]+/reports/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:run", +"request": { +"$ref": "GoogleCloudChannelV1RunReportJobRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.reports.usage.readonly" +] +} +} +}, +"skuGroups": { +"methods": { +"list": { +"description": "Lists the Rebilling supported SKU groups the account is authorized to sell. Reference: https://cloud.google.com/skus/sku-groups Possible Error Codes: * PERMISSION_DENIED: If the account making the request and the account being queried are different, or the account doesn't exist. * INTERNAL: Any non-user error related to technical issues in the backend. In this case, contact Cloud Channel support. Return Value: If successful, the SkuGroup resources. The data for each resource is displayed in the alphabetical order of SKU group display name. The data for each resource is displayed in the ascending order of SkuGroup.display_name If unsuccessful, returns an error.", +"flatPath": "v1/accounts/{accountsId}/skuGroups", +"httpMethod": "GET", +"id": "cloudchannel.accounts.skuGroups.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of SKU groups to return. The service may return fewer than this value. If unspecified, returns a maximum of 1000 SKU groups. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A token identifying a page of results beyond the first page. Obtained through ListSkuGroupsResponse.next_page_token of the previous CloudChannelService.ListSkuGroups call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the account from which to list SKU groups. Parent uses the format: accounts/{account}.", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/skuGroups", +"response": { +"$ref": "GoogleCloudChannelV1ListSkuGroupsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +} +}, +"resources": { +"billableSkus": { +"methods": { +"list": { +"description": "Lists the Billable SKUs in a given SKU group. Possible error codes: PERMISSION_DENIED: If the account making the request and the account being queried for are different, or the account doesn't exist. INVALID_ARGUMENT: Missing or invalid required parameters in the request. INTERNAL: Any non-user error related to technical issue in the backend. In this case, contact cloud channel support. Return Value: If successful, the BillableSku resources. The data for each resource is displayed in the ascending order of: * BillableSku.service_display_name * BillableSku.sku_display_name If unsuccessful, returns an error.", +"flatPath": "v1/accounts/{accountsId}/skuGroups/{skuGroupsId}/billableSkus", +"httpMethod": "GET", +"id": "cloudchannel.accounts.skuGroups.billableSkus.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of SKUs to return. The service may return fewer than this value. If unspecified, returns a maximum of 100000 SKUs. The maximum value is 100000; values above 100000 will be coerced to 100000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A token identifying a page of results beyond the first page. Obtained through ListSkuGroupBillableSkusResponse.next_page_token of the previous CloudChannelService.ListSkuGroupBillableSkus call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Resource name of the SKU group. Format: accounts/{account}/skuGroups/{sku_group}.", +"location": "path", +"pattern": "^accounts/[^/]+/skuGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/billableSkus", +"response": { +"$ref": "GoogleCloudChannelV1ListSkuGroupBillableSkusResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +} +} +} +} +} +} +}, +"integrators": { +"methods": { +"listSubscribers": { +"description": "Lists service accounts with subscriber privileges on the Pub/Sub topic created for this Channel Services account or integrator. Possible error codes: * PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different, or the impersonated user is not a super admin. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: The topic resource doesn't exist. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: A list of service email addresses.", +"flatPath": "v1/integrators/{integratorsId}:listSubscribers", +"httpMethod": "GET", +"id": "cloudchannel.integrators.listSubscribers", +"parameterOrder": [ +"integrator" +], +"parameters": { +"account": { +"description": "Optional. Resource name of the account. Required if integrator is not provided. Otherwise, leave this field empty/unset.", +"location": "query", +"type": "string" +}, +"integrator": { +"description": "Optional. Resource name of the integrator. Required if account is not provided. Otherwise, leave this field empty/unset.", +"location": "path", +"pattern": "^integrators/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of service accounts to return. The service may return fewer than this value. If unspecified, returns at most 100 service accounts. The maximum value is 1000; the server will coerce values above 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListSubscribers` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSubscribers` must match the call that provided the page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+integrator}:listSubscribers", +"response": { +"$ref": "GoogleCloudChannelV1ListSubscribersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"registerSubscriber": { +"description": "Registers a service account with subscriber privileges on the Pub/Sub topic for this Channel Services account or integrator. After you create a subscriber, you get the events through SubscriberEvent Possible error codes: * PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different, or the impersonated user is not a super admin. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The topic name with the registered service email address.", +"flatPath": "v1/integrators/{integratorsId}:registerSubscriber", +"httpMethod": "POST", +"id": "cloudchannel.integrators.registerSubscriber", +"parameterOrder": [ +"integrator" +], +"parameters": { +"integrator": { +"description": "Optional. Resource name of the integrator. Required if account is not provided. Otherwise, leave this field empty/unset.", +"location": "path", +"pattern": "^integrators/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+integrator}:registerSubscriber", +"request": { +"$ref": "GoogleCloudChannelV1RegisterSubscriberRequest" +}, +"response": { +"$ref": "GoogleCloudChannelV1RegisterSubscriberResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"unregisterSubscriber": { +"description": "Unregisters a service account with subscriber privileges on the Pub/Sub topic created for this Channel Services account or integrator. If there are no service accounts left with subscriber privileges, this deletes the topic. You can call ListSubscribers to check for these accounts. Possible error codes: * PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different, or the impersonated user is not a super admin. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: The topic resource doesn't exist. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The topic name that unregistered the service email address. Returns a success response if the service email address wasn't registered with the topic.", +"flatPath": "v1/integrators/{integratorsId}:unregisterSubscriber", +"httpMethod": "POST", +"id": "cloudchannel.integrators.unregisterSubscriber", +"parameterOrder": [ +"integrator" +], +"parameters": { +"integrator": { +"description": "Optional. Resource name of the integrator. Required if account is not provided. Otherwise, leave this field empty/unset.", +"location": "path", +"pattern": "^integrators/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+integrator}:unregisterSubscriber", +"request": { +"$ref": "GoogleCloudChannelV1UnregisterSubscriberRequest" +}, +"response": { +"$ref": "GoogleCloudChannelV1UnregisterSubscriberResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +} +} +}, +"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": "cloudchannel.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": "GoogleLongrunningCancelOperationRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"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": "cloudchannel.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": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"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": "cloudchannel.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": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +}, +"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": "cloudchannel.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": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +} +} +}, +"products": { +"methods": { +"list": { +"description": "Lists the Products the reseller is authorized to sell. Possible error codes: * INVALID_ARGUMENT: Required request parameters are missing or invalid.", +"flatPath": "v1/products", +"httpMethod": "GET", +"id": "cloudchannel.products.list", +"parameterOrder": [], +"parameters": { +"account": { +"description": "Required. The resource name of the reseller account. Format: accounts/{account_id}.", +"location": "query", +"type": "string" +}, +"languageCode": { +"description": "Optional. The BCP-47 language code. For example, \"en-US\". The response will localize in the corresponding language code, if specified. The default value is \"en-US\".", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Requested page size. Server might return fewer results than requested. If unspecified, returns at most 100 Products. The maximum value is 1000; the server will coerce values above 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A token for a page of results other than the first page.", +"location": "query", +"type": "string" +} +}, +"path": "v1/products", +"response": { +"$ref": "GoogleCloudChannelV1ListProductsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +} +}, +"resources": { +"skus": { +"methods": { +"list": { +"description": "Lists the SKUs for a product the reseller is authorized to sell. Possible error codes: * INVALID_ARGUMENT: Required request parameters are missing or invalid.", +"flatPath": "v1/products/{productsId}/skus", +"httpMethod": "GET", +"id": "cloudchannel.products.skus.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"account": { +"description": "Required. Resource name of the reseller. Format: accounts/{account_id}.", +"location": "query", +"type": "string" +}, +"languageCode": { +"description": "Optional. The BCP-47 language code. For example, \"en-US\". The response will localize in the corresponding language code, if specified. The default value is \"en-US\".", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Requested page size. Server might return fewer results than requested. If unspecified, returns at most 100 SKUs. The maximum value is 1000; the server will coerce values above 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A token for a page of results other than the first page. Optional.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Product to list SKUs for. Parent uses the format: products/{product_id}. Supports products/- to retrieve SKUs for all products.", +"location": "path", +"pattern": "^products/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/skus", +"response": { +"$ref": "GoogleCloudChannelV1ListSkusResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.order" +] +} +} +} +} +} +}, +"revision": "20241202", +"rootUrl": "https://cloudchannel.googleapis.com/", +"schemas": { +"GoogleCloudChannelV1ActivateEntitlementRequest": { +"description": "Request message for CloudChannelService.ActivateEntitlement.", +"id": "GoogleCloudChannelV1ActivateEntitlementRequest", +"properties": { +"requestId": { +"description": "Optional. You can specify an optional unique request ID, and if you need to retry your request, the server will know to ignore the request if it's complete. For example, 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 it received the original operation with the same request ID. If it did, it will ignore the second request. The request ID must be a valid [UUID](https://tools.ietf.org/html/rfc4122) with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1AdminUser": { +"description": "Information needed to create an Admin User for Google Workspace.", +"id": "GoogleCloudChannelV1AdminUser", +"properties": { +"email": { +"description": "Primary email of the admin user.", +"type": "string" +}, +"familyName": { +"description": "Family name of the admin user.", +"type": "string" +}, +"givenName": { +"description": "Given name of the admin user.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1AssociationInfo": { +"description": "Association links that an entitlement has to other entitlements.", +"id": "GoogleCloudChannelV1AssociationInfo", +"properties": { +"baseEntitlement": { +"description": "The name of the base entitlement, for which this entitlement is an add-on.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1BillableSku": { +"description": "Represents the Billable SKU information.", +"id": "GoogleCloudChannelV1BillableSku", +"properties": { +"service": { +"description": "Resource name of Service which contains Repricing SKU. Format: services/{service}. Example: \"services/B7D9-FDCB-15D8\".", +"type": "string" +}, +"serviceDisplayName": { +"description": "Unique human readable name for the Service.", +"type": "string" +}, +"sku": { +"description": "Resource name of Billable SKU. Format: billableSkus/{sku}. Example: billableSkus/6E1B-6634-470F\".", +"type": "string" +}, +"skuDisplayName": { +"description": "Unique human readable name for the SKU.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1BillingAccount": { +"description": "Represents a billing account.", +"id": "GoogleCloudChannelV1BillingAccount", +"properties": { +"createTime": { +"description": "Output only. The time when this billing account was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"currencyCode": { +"description": "Output only. The 3-letter currency code defined in ISO 4217.", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Display name of the billing account.", +"type": "string" +}, +"name": { +"description": "Output only. Resource name of the billing account. Format: accounts/{account_id}/billingAccounts/{billing_account_id}.", +"readOnly": true, +"type": "string" +}, +"regionCode": { +"description": "Output only. The CLDR region code.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1BillingAccountPurchaseInfo": { +"description": "Represents a billing account that can be used to make a purchase.", +"id": "GoogleCloudChannelV1BillingAccountPurchaseInfo", +"properties": { +"billingAccount": { +"$ref": "GoogleCloudChannelV1BillingAccount", +"description": "The billing account resource." +} +}, +"type": "object" +}, +"GoogleCloudChannelV1CancelEntitlementRequest": { +"description": "Request message for CloudChannelService.CancelEntitlement.", +"id": "GoogleCloudChannelV1CancelEntitlementRequest", +"properties": { +"requestId": { +"description": "Optional. You can specify an optional unique request ID, and if you need to retry your request, the server will know to ignore the request if it's complete. For example, 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 it received the original operation with the same request ID. If it did, it will ignore the second request. The request ID must be a valid [UUID](https://tools.ietf.org/html/rfc4122) with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ChangeOfferRequest": { +"description": "Request message for CloudChannelService.ChangeOffer.", +"id": "GoogleCloudChannelV1ChangeOfferRequest", +"properties": { +"billingAccount": { +"description": "Optional. The billing account resource name that is used to pay for this entitlement when setting up billing on a trial subscription. This field is only relevant for multi-currency accounts. It should be left empty for single currency accounts.", +"type": "string" +}, +"offer": { +"description": "Required. New Offer. Format: accounts/{account_id}/offers/{offer_id}.", +"type": "string" +}, +"parameters": { +"description": "Optional. Parameters needed to purchase the Offer. To view the available Parameters refer to the Offer.parameter_definitions from the desired offer.", +"items": { +"$ref": "GoogleCloudChannelV1Parameter" +}, +"type": "array" +}, +"priceReferenceId": { +"description": "Optional. Price reference ID for the offer. Optional field only for offers that require additional price information. Used to guarantee that the pricing is consistent between quoting the offer and placing the order. Not yet implemented: if populated in a request, this field isn't evaluated in the API.", +"type": "string" +}, +"purchaseOrderId": { +"description": "Optional. Purchase order id provided by the reseller.", +"type": "string" +}, +"requestId": { +"description": "Optional. You can specify an optional unique request ID, and if you need to retry your request, the server will know to ignore the request if it's complete. For example, 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 it received the original operation with the same request ID. If it did, it will ignore the second request. The request ID must be a valid [UUID](https://tools.ietf.org/html/rfc4122) with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ChangeParametersRequest": { +"description": "Request message for CloudChannelService.ChangeParameters.", +"id": "GoogleCloudChannelV1ChangeParametersRequest", +"properties": { +"parameters": { +"description": "Required. Entitlement parameters to update. You can only change editable parameters. To view the available Parameters for a request, refer to the Offer.parameter_definitions from the desired offer.", +"items": { +"$ref": "GoogleCloudChannelV1Parameter" +}, +"type": "array" +}, +"purchaseOrderId": { +"description": "Optional. Purchase order ID provided by the reseller.", +"type": "string" +}, +"requestId": { +"description": "Optional. You can specify an optional unique request ID, and if you need to retry your request, the server will know to ignore the request if it's complete. For example, 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 it received the original operation with the same request ID. If it did, it will ignore the second request. The request ID must be a valid [UUID](https://tools.ietf.org/html/rfc4122) with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ChangeRenewalSettingsRequest": { +"description": "Request message for CloudChannelService.ChangeRenewalSettings.", +"id": "GoogleCloudChannelV1ChangeRenewalSettingsRequest", +"properties": { +"renewalSettings": { +"$ref": "GoogleCloudChannelV1RenewalSettings", +"description": "Required. New renewal settings." +}, +"requestId": { +"description": "Optional. You can specify an optional unique request ID, and if you need to retry your request, the server will know to ignore the request if it's complete. For example, 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 it received the original operation with the same request ID. If it did, it will ignore the second request. The request ID must be a valid [UUID](https://tools.ietf.org/html/rfc4122) with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ChannelPartnerLink": { +"description": "Entity representing a link between distributors and their indirect resellers in an n-tier resale channel.", +"id": "GoogleCloudChannelV1ChannelPartnerLink", +"properties": { +"channelPartnerCloudIdentityInfo": { +"$ref": "GoogleCloudChannelV1CloudIdentityInfo", +"description": "Output only. Cloud Identity info of the channel partner (IR).", +"readOnly": true +}, +"createTime": { +"description": "Output only. Timestamp of when the channel partner link is created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"inviteLinkUri": { +"description": "Output only. URI of the web page where partner accepts the link invitation.", +"readOnly": true, +"type": "string" +}, +"linkState": { +"description": "Required. State of the channel partner link.", +"enum": [ +"CHANNEL_PARTNER_LINK_STATE_UNSPECIFIED", +"INVITED", +"ACTIVE", +"REVOKED", +"SUSPENDED" +], +"enumDescriptions": [ +"Not used.", +"An invitation has been sent to the reseller to create a channel partner link.", +"Status when the reseller is active.", +"Status when the reseller has been revoked by the distributor.", +"Status when the reseller is suspended by Google or distributor." +], +"type": "string" +}, +"name": { +"description": "Output only. Resource name for the channel partner link, in the format accounts/{account_id}/channelPartnerLinks/{id}.", +"readOnly": true, +"type": "string" +}, +"publicId": { +"description": "Output only. Public identifier that a customer must use to generate a transfer token to move to this distributor-reseller combination.", +"readOnly": true, +"type": "string" +}, +"resellerCloudIdentityId": { +"description": "Required. Cloud Identity ID of the linked reseller.", +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp of when the channel partner link is updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ChannelPartnerRepricingConfig": { +"description": "Configuration for how a distributor will rebill a channel partner (also known as a distributor-authorized reseller).", +"id": "GoogleCloudChannelV1ChannelPartnerRepricingConfig", +"properties": { +"name": { +"description": "Output only. Resource name of the ChannelPartnerRepricingConfig. Format: accounts/{account_id}/channelPartnerLinks/{channel_partner_id}/channelPartnerRepricingConfigs/{id}.", +"readOnly": true, +"type": "string" +}, +"repricingConfig": { +"$ref": "GoogleCloudChannelV1RepricingConfig", +"description": "Required. The configuration for bill modifications made by a reseller before sending it to ChannelPartner." +}, +"updateTime": { +"description": "Output only. Timestamp of an update to the repricing rule. If `update_time` is after RepricingConfig.effective_invoice_month then it indicates this was set mid-month.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1CheckCloudIdentityAccountsExistRequest": { +"description": "Request message for CloudChannelService.CheckCloudIdentityAccountsExist.", +"id": "GoogleCloudChannelV1CheckCloudIdentityAccountsExistRequest", +"properties": { +"domain": { +"description": "Required. Domain to fetch for Cloud Identity account customers, including domain and team customers. For team customers, please use the domain for their emails.", +"type": "string" +}, +"primaryAdminEmail": { +"description": "Optional. Primary admin email to fetch for Cloud Identity account team customer.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1CheckCloudIdentityAccountsExistResponse": { +"description": "Response message for CloudChannelService.CheckCloudIdentityAccountsExist.", +"id": "GoogleCloudChannelV1CheckCloudIdentityAccountsExistResponse", +"properties": { +"cloudIdentityAccounts": { +"description": "The Cloud Identity accounts associated with the domain.", +"items": { +"$ref": "GoogleCloudChannelV1CloudIdentityCustomerAccount" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1CloudIdentityCustomerAccount": { +"description": "Entity representing a Cloud Identity account that may be associated with a Channel Services API partner.", +"id": "GoogleCloudChannelV1CloudIdentityCustomerAccount", +"properties": { +"channelPartnerCloudIdentityId": { +"description": "If existing = true, and is 2-tier customer, the channel partner of the customer.", +"type": "string" +}, +"customerCloudIdentityId": { +"description": "If existing = true, the Cloud Identity ID of the customer.", +"type": "string" +}, +"customerName": { +"description": "If owned = true, the name of the customer that owns the Cloud Identity account. Customer_name uses the format: accounts/{account_id}/customers/{customer_id}", +"type": "string" +}, +"customerType": { +"description": "If existing = true, the type of the customer.", +"enum": [ +"CUSTOMER_TYPE_UNSPECIFIED", +"DOMAIN", +"TEAM" +], +"enumDescriptions": [ +"Not used.", +"Domain-owning customer which needs domain verification to use services.", +"Team customer which needs email verification to use services." +], +"type": "string" +}, +"existing": { +"description": "Returns true if a Cloud Identity account exists for a specific domain.", +"type": "boolean" +}, +"owned": { +"description": "Returns true if the Cloud Identity account is associated with a customer of the Channel Services partner (with active subscriptions or purchase consents).", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1CloudIdentityInfo": { +"description": "Cloud Identity information for the Cloud Channel Customer.", +"id": "GoogleCloudChannelV1CloudIdentityInfo", +"properties": { +"adminConsoleUri": { +"description": "Output only. URI of Customer's Admin console dashboard.", +"readOnly": true, +"type": "string" +}, +"alternateEmail": { +"description": "The alternate email.", +"type": "string" +}, +"customerType": { +"description": "CustomerType indicates verification type needed for using services.", +"enum": [ +"CUSTOMER_TYPE_UNSPECIFIED", +"DOMAIN", +"TEAM" +], +"enumDescriptions": [ +"Not used.", +"Domain-owning customer which needs domain verification to use services.", +"Team customer which needs email verification to use services." +], +"type": "string" +}, +"eduData": { +"$ref": "GoogleCloudChannelV1EduData", +"description": "Edu information about the customer." +}, +"isDomainVerified": { +"description": "Output only. Whether the domain is verified. This field is not returned for a Customer's cloud_identity_info resource. Partners can use the domains.get() method of the Workspace SDK's Directory API, or listen to the PRIMARY_DOMAIN_VERIFIED Pub/Sub event in to track domain verification of their resolve Workspace customers.", +"readOnly": true, +"type": "boolean" +}, +"languageCode": { +"description": "Language code.", +"type": "string" +}, +"phoneNumber": { +"description": "Phone number associated with the Cloud Identity.", +"type": "string" +}, +"primaryDomain": { +"description": "Output only. The primary domain name.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1Column": { +"deprecated": true, +"description": "The definition of a report column. Specifies the data properties in the corresponding position of the report rows.", +"id": "GoogleCloudChannelV1Column", +"properties": { +"columnId": { +"description": "The unique name of the column (for example, customer_domain, channel_partner, customer_cost). You can use column IDs in RunReportJobRequest.filter. To see all reports and their columns, call CloudChannelReportsService.ListReports.", +"type": "string" +}, +"dataType": { +"description": "The type of the values for this column.", +"enum": [ +"DATA_TYPE_UNSPECIFIED", +"STRING", +"INT", +"DECIMAL", +"MONEY", +"DATE", +"DATE_TIME" +], +"enumDescriptions": [ +"Not used.", +"ReportValues for this column will use string_value.", +"ReportValues for this column will use int_value.", +"ReportValues for this column will use decimal_value.", +"ReportValues for this column will use money_value.", +"ReportValues for this column will use date_value.", +"ReportValues for this column will use date_time_value." +], +"type": "string" +}, +"displayName": { +"description": "The column's display name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1CommitmentSettings": { +"description": "Commitment settings for commitment-based offers.", +"id": "GoogleCloudChannelV1CommitmentSettings", +"properties": { +"endTime": { +"description": "Output only. Commitment end timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"renewalSettings": { +"$ref": "GoogleCloudChannelV1RenewalSettings", +"description": "Optional. Renewal settings applicable for a commitment-based Offer." +}, +"startTime": { +"description": "Output only. Commitment start timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ConditionalOverride": { +"description": "Specifies the override to conditionally apply.", +"id": "GoogleCloudChannelV1ConditionalOverride", +"properties": { +"adjustment": { +"$ref": "GoogleCloudChannelV1RepricingAdjustment", +"description": "Required. Information about the applied override's adjustment." +}, +"rebillingBasis": { +"description": "Required. The RebillingBasis to use for the applied override. Shows the relative cost based on your repricing costs.", +"enum": [ +"REBILLING_BASIS_UNSPECIFIED", +"COST_AT_LIST", +"DIRECT_CUSTOMER_COST" +], +"enumDescriptions": [ +"Not used.", +"Use the list cost, also known as the MSRP.", +"Pass through all discounts except the Reseller Program Discount. If this is the default cost base and no adjustments are specified, the output cost will be exactly what the customer would see if they viewed the bill in the Google Cloud Console." +], +"type": "string" +}, +"repricingCondition": { +"$ref": "GoogleCloudChannelV1RepricingCondition", +"description": "Required. Specifies the condition which, if met, will apply the override." +} +}, +"type": "object" +}, +"GoogleCloudChannelV1Constraints": { +"description": "Represents the constraints for buying the Offer.", +"id": "GoogleCloudChannelV1Constraints", +"properties": { +"customerConstraints": { +"$ref": "GoogleCloudChannelV1CustomerConstraints", +"description": "Represents constraints required to purchase the Offer for a customer." +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ContactInfo": { +"description": "Contact information for a customer account.", +"id": "GoogleCloudChannelV1ContactInfo", +"properties": { +"displayName": { +"description": "Output only. The customer account contact's display name, formatted as a combination of the customer's first and last name.", +"readOnly": true, +"type": "string" +}, +"email": { +"description": "The customer account's contact email. Required for entitlements that create admin.google.com accounts, and serves as the customer's username for those accounts. Use this email to invite Team customers.", +"type": "string" +}, +"firstName": { +"description": "The customer account contact's first name. Optional for Team customers.", +"type": "string" +}, +"lastName": { +"description": "The customer account contact's last name. Optional for Team customers.", +"type": "string" +}, +"phone": { +"description": "The customer account's contact phone number.", +"type": "string" +}, +"title": { +"description": "Optional. The customer account contact's job title.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1CreateEntitlementRequest": { +"description": "Request message for CloudChannelService.CreateEntitlement", +"id": "GoogleCloudChannelV1CreateEntitlementRequest", +"properties": { +"entitlement": { +"$ref": "GoogleCloudChannelV1Entitlement", +"description": "Required. The entitlement to create." +}, +"requestId": { +"description": "Optional. You can specify an optional unique request ID, and if you need to retry your request, the server will know to ignore the request if it's complete. For example, 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 it received the original operation with the same request ID. If it did, it will ignore the second request. The request ID must be a valid [UUID](https://tools.ietf.org/html/rfc4122) with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1Customer": { +"description": "Entity representing a customer of a reseller or distributor.", +"id": "GoogleCloudChannelV1Customer", +"properties": { +"alternateEmail": { +"description": "Secondary contact email. You need to provide an alternate email to create different domains if a primary contact email already exists. Users will receive a notification with credentials when you create an admin.google.com account. Secondary emails are also recovery email addresses. Alternate emails are optional when you create Team customers.", +"type": "string" +}, +"channelPartnerId": { +"description": "Cloud Identity ID of the customer's channel partner. Populated only if a channel partner exists for this customer.", +"type": "string" +}, +"cloudIdentityId": { +"description": "Output only. The customer's Cloud Identity ID if the customer has a Cloud Identity resource.", +"readOnly": true, +"type": "string" +}, +"cloudIdentityInfo": { +"$ref": "GoogleCloudChannelV1CloudIdentityInfo", +"description": "Output only. Cloud Identity information for the customer. Populated only if a Cloud Identity account exists for this customer.", +"readOnly": true +}, +"correlationId": { +"description": "Optional. External CRM ID for the customer. Populated only if a CRM ID exists for this customer.", +"type": "string" +}, +"createTime": { +"description": "Output only. Time when the customer was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"domain": { +"description": "Required. The customer's primary domain. Must match the primary contact email's domain.", +"type": "string" +}, +"languageCode": { +"description": "Optional. The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see https://www.unicode.org/reports/tr35/#Unicode_locale_identifier.", +"type": "string" +}, +"name": { +"description": "Output only. Resource name of the customer. Format: accounts/{account_id}/customers/{customer_id}", +"readOnly": true, +"type": "string" +}, +"orgDisplayName": { +"description": "Required. Name of the organization that the customer entity represents.", +"type": "string" +}, +"orgPostalAddress": { +"$ref": "GoogleTypePostalAddress", +"description": "Required. The organization address for the customer. To enforce US laws and embargoes, we require a region, postal code, and address lines. You must provide valid addresses for every customer. To set the customer's language, use the Customer-level language code." +}, +"primaryContactInfo": { +"$ref": "GoogleCloudChannelV1ContactInfo", +"description": "Primary contact info." +}, +"updateTime": { +"description": "Output only. Time when the customer was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1CustomerConstraints": { +"description": "Represents constraints required to purchase the Offer for a customer.", +"id": "GoogleCloudChannelV1CustomerConstraints", +"properties": { +"allowedCustomerTypes": { +"description": "Allowed Customer Type.", +"items": { +"enum": [ +"CUSTOMER_TYPE_UNSPECIFIED", +"DOMAIN", +"TEAM" +], +"enumDescriptions": [ +"Not used.", +"Domain-owning customer which needs domain verification to use services.", +"Team customer which needs email verification to use services." +], +"type": "string" +}, +"type": "array" +}, +"allowedRegions": { +"description": "Allowed geographical regions of the customer.", +"items": { +"type": "string" +}, +"type": "array" +}, +"promotionalOrderTypes": { +"description": "Allowed Promotional Order Type. Present for Promotional offers.", +"items": { +"enum": [ +"PROMOTIONAL_TYPE_UNSPECIFIED", +"NEW_UPGRADE", +"TRANSFER", +"PROMOTION_SWITCH" +], +"enumDescriptions": [ +"Not used.", +"Order used for new customers, trial conversions and upgrades.", +"All orders for transferring an existing customer.", +"Orders for modifying an existing customer's promotion on the same SKU." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1CustomerEvent": { +"description": "Represents Pub/Sub message content describing customer update.", +"id": "GoogleCloudChannelV1CustomerEvent", +"properties": { +"customer": { +"description": "Resource name of the customer. Format: accounts/{account_id}/customers/{customer_id}", +"type": "string" +}, +"eventType": { +"description": "Type of event which happened for the customer.", +"enum": [ +"TYPE_UNSPECIFIED", +"PRIMARY_DOMAIN_CHANGED", +"PRIMARY_DOMAIN_VERIFIED" +], +"enumDescriptions": [ +"Not used.", +"Primary domain for customer was changed.", +"Primary domain of the customer has been verified." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1CustomerRepricingConfig": { +"description": "Configuration for how a reseller will reprice a Customer.", +"id": "GoogleCloudChannelV1CustomerRepricingConfig", +"properties": { +"name": { +"description": "Output only. Resource name of the CustomerRepricingConfig. Format: accounts/{account_id}/customers/{customer_id}/customerRepricingConfigs/{id}.", +"readOnly": true, +"type": "string" +}, +"repricingConfig": { +"$ref": "GoogleCloudChannelV1RepricingConfig", +"description": "Required. The configuration for bill modifications made by a reseller before sending it to customers." +}, +"updateTime": { +"description": "Output only. Timestamp of an update to the repricing rule. If `update_time` is after RepricingConfig.effective_invoice_month then it indicates this was set mid-month.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1DateRange": { +"deprecated": true, +"description": "A representation of usage or invoice date ranges.", +"id": "GoogleCloudChannelV1DateRange", +"properties": { +"invoiceEndDate": { +"$ref": "GoogleTypeDate", +"description": "The latest invoice date (inclusive). If this value is not the last day of a month, this will move it forward to the last day of the given month." +}, +"invoiceStartDate": { +"$ref": "GoogleTypeDate", +"description": "The earliest invoice date (inclusive). If this value is not the first day of a month, this will move it back to the first day of the given month." +}, +"usageEndDateTime": { +"$ref": "GoogleTypeDateTime", +"description": "The latest usage date time (exclusive). If you use time groupings (daily, weekly, etc), each group uses midnight to midnight (Pacific time). The usage end date is rounded down to include all usage from the specified date. We recommend that clients pass `usage_start_date_time` in Pacific time." +}, +"usageStartDateTime": { +"$ref": "GoogleTypeDateTime", +"description": "The earliest usage date time (inclusive). If you use time groupings (daily, weekly, etc), each group uses midnight to midnight (Pacific time). The usage start date is rounded down to include all usage from the specified date. We recommend that clients pass `usage_start_date_time` in Pacific time." +} +}, +"type": "object" +}, +"GoogleCloudChannelV1EduData": { +"description": "Required Edu Attributes", +"id": "GoogleCloudChannelV1EduData", +"properties": { +"instituteSize": { +"description": "Size of the institute.", +"enum": [ +"INSTITUTE_SIZE_UNSPECIFIED", +"SIZE_1_100", +"SIZE_101_500", +"SIZE_501_1000", +"SIZE_1001_2000", +"SIZE_2001_5000", +"SIZE_5001_10000", +"SIZE_10001_OR_MORE" +], +"enumDescriptions": [ +"Not used.", +"1 - 100", +"101 - 500", +"501 - 1,000", +"1,001 - 2,000", +"2,001 - 5,000", +"5,001 - 10,000", +"10,001 +" +], +"type": "string" +}, +"instituteType": { +"description": "Designated institute type of customer.", +"enum": [ +"INSTITUTE_TYPE_UNSPECIFIED", +"K12", +"UNIVERSITY" +], +"enumDescriptions": [ +"Not used.", +"Elementary/Secondary Schools & Districts", +"Higher Education Universities & Colleges" +], +"type": "string" +}, +"website": { +"description": "Web address for the edu customer's institution.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1Entitlement": { +"description": "An entitlement is a representation of a customer's ability to use a service.", +"id": "GoogleCloudChannelV1Entitlement", +"properties": { +"associationInfo": { +"$ref": "GoogleCloudChannelV1AssociationInfo", +"description": "Association information to other entitlements." +}, +"billingAccount": { +"description": "Optional. The billing account resource name that is used to pay for this entitlement.", +"type": "string" +}, +"commitmentSettings": { +"$ref": "GoogleCloudChannelV1CommitmentSettings", +"description": "Commitment settings for a commitment-based Offer. Required for commitment based offers." +}, +"createTime": { +"description": "Output only. The time at which the entitlement is created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Resource name of an entitlement in the form: accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}.", +"readOnly": true, +"type": "string" +}, +"offer": { +"description": "Required. The offer resource name for which the entitlement is to be created. Takes the form: accounts/{account_id}/offers/{offer_id}.", +"type": "string" +}, +"parameters": { +"description": "Extended entitlement parameters. When creating an entitlement, valid parameter names and values are defined in the Offer.parameter_definitions. For Google Workspace, the following Parameters may be accepted as input: - max_units: The maximum assignable units for a flexible offer OR - num_units: The total commitment for commitment-based offers The response may additionally include the following output-only Parameters: - assigned_units: The number of licenses assigned to users. For Google Cloud billing subaccounts, the following Parameter may be accepted as input: - display_name: The display name of the billing subaccount.", +"items": { +"$ref": "GoogleCloudChannelV1Parameter" +}, +"type": "array" +}, +"priceReferenceId": { +"description": "Optional. Price reference ID for the offer. Optional field only for offers that require additional price information. Used to guarantee that the pricing is consistent between quoting the offer and placing the order. Not yet implemented: if this field is populated in a request, it isn't evaluated in the API.", +"type": "string" +}, +"provisionedService": { +"$ref": "GoogleCloudChannelV1ProvisionedService", +"description": "Output only. Service provisioning details for the entitlement.", +"readOnly": true +}, +"provisioningState": { +"description": "Output only. Current provisioning state of the entitlement.", +"enum": [ +"PROVISIONING_STATE_UNSPECIFIED", +"ACTIVE", +"SUSPENDED" +], +"enumDescriptions": [ +"Not used.", +"The entitlement is currently active.", +"The entitlement is currently suspended." +], +"readOnly": true, +"type": "string" +}, +"purchaseOrderId": { +"description": "Optional. This purchase order (PO) information is for resellers to use for their company tracking usage. If a purchaseOrderId value is given, it appears in the API responses and shows up in the invoice. The property accepts up to 80 plain text characters. This is only supported for Google Workspace entitlements.", +"type": "string" +}, +"suspensionReasons": { +"description": "Output only. Enumerable of all current suspension reasons for an entitlement.", +"items": { +"enum": [ +"SUSPENSION_REASON_UNSPECIFIED", +"RESELLER_INITIATED", +"TRIAL_ENDED", +"RENEWAL_WITH_TYPE_CANCEL", +"PENDING_TOS_ACCEPTANCE", +"OTHER" +], +"enumDescriptions": [ +"Not used.", +"Entitlement was manually suspended by the Reseller.", +"Trial ended.", +"Entitlement renewal was canceled.", +"Entitlement was automatically suspended on creation for pending ToS acceptance on customer.", +"Other reasons (internal reasons, abuse, etc.)." +], +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"trialSettings": { +"$ref": "GoogleCloudChannelV1TrialSettings", +"description": "Output only. Settings for trial offers.", +"readOnly": true +}, +"updateTime": { +"description": "Output only. The time at which the entitlement is updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1EntitlementChange": { +"description": "Change event entry for Entitlement order history", +"id": "GoogleCloudChannelV1EntitlementChange", +"properties": { +"activationReason": { +"description": "The Entitlement's activation reason", +"enum": [ +"ACTIVATION_REASON_UNSPECIFIED", +"RESELLER_REVOKED_SUSPENSION", +"CUSTOMER_ACCEPTED_PENDING_TOS", +"RENEWAL_SETTINGS_CHANGED", +"OTHER_ACTIVATION_REASON" +], +"enumDescriptions": [ +"Not used.", +"Reseller reactivated a suspended Entitlement.", +"Customer accepted pending terms of service.", +"Reseller updated the renewal settings on an entitlement that was suspended due to cancellation, and this update reactivated the entitlement.", +"Other reasons (Activated temporarily for cancellation, added a payment plan to a trial entitlement, etc.)" +], +"type": "string" +}, +"cancellationReason": { +"description": "Cancellation reason for the Entitlement.", +"enum": [ +"CANCELLATION_REASON_UNSPECIFIED", +"SERVICE_TERMINATED", +"RELATIONSHIP_ENDED", +"PARTIAL_TRANSFER" +], +"enumDescriptions": [ +"Not used.", +"Reseller triggered a cancellation of the service.", +"Relationship between the reseller and customer has ended due to a transfer.", +"Entitlement transferred away from reseller while still keeping other entitlement(s) with the reseller." +], +"type": "string" +}, +"changeType": { +"description": "The change action type.", +"enum": [ +"CHANGE_TYPE_UNSPECIFIED", +"CREATED", +"PRICE_PLAN_SWITCHED", +"COMMITMENT_CHANGED", +"RENEWED", +"SUSPENDED", +"ACTIVATED", +"CANCELLED", +"SKU_CHANGED", +"RENEWAL_SETTING_CHANGED", +"PAID_SUBSCRIPTION_STARTED", +"LICENSE_CAP_CHANGED", +"SUSPENSION_DETAILS_CHANGED", +"TRIAL_END_DATE_EXTENDED", +"TRIAL_STARTED" +], +"enumDescriptions": [ +"Not used.", +"New Entitlement was created.", +"Price plan associated with an Entitlement was changed.", +"Number of seats committed for a commitment Entitlement was changed.", +"An annual Entitlement was renewed.", +"Entitlement was suspended.", +"Entitlement was activated.", +"Entitlement was cancelled.", +"Entitlement was upgraded or downgraded for ex. from Google Workspace Business Standard to Google Workspace Business Plus.", +"The settings for renewal of an Entitlement have changed.", +"Use for Google Workspace subscription. Either a trial was converted to a paid subscription or a new subscription with no trial is created.", +"License cap was changed for the entitlement.", +"The suspension details have changed (but it is still suspended).", +"The trial end date was extended.", +"Entitlement started trial." +], +"type": "string" +}, +"createTime": { +"description": "The submitted time of the change.", +"format": "google-datetime", +"type": "string" +}, +"entitlement": { +"description": "Required. Resource name of an entitlement in the form: accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}", +"type": "string" +}, +"offer": { +"description": "Required. Resource name of the Offer at the time of change. Takes the form: accounts/{account_id}/offers/{offer_id}.", +"type": "string" +}, +"operator": { +"description": "Human-readable identifier that shows what operator made a change. When the operator_type is RESELLER, this is the user's email address. For all other operator types, this is empty.", +"type": "string" +}, +"operatorType": { +"description": "Operator type responsible for the change.", +"enum": [ +"OPERATOR_TYPE_UNSPECIFIED", +"CUSTOMER_SERVICE_REPRESENTATIVE", +"SYSTEM", +"CUSTOMER", +"RESELLER" +], +"enumDescriptions": [ +"Not used.", +"Customer service representative.", +"System auto job.", +"Customer user.", +"Reseller user." +], +"type": "string" +}, +"otherChangeReason": { +"description": "e.g. purchase_number change reason, entered by CRS.", +"type": "string" +}, +"parameters": { +"description": "Extended parameters, such as: purchase_order_number, gcp_details; internal_correlation_id, long_running_operation_id, order_id; etc.", +"items": { +"$ref": "GoogleCloudChannelV1Parameter" +}, +"type": "array" +}, +"provisionedService": { +"$ref": "GoogleCloudChannelV1ProvisionedService", +"description": "Service provisioned for an Entitlement." +}, +"suspensionReason": { +"description": "Suspension reason for the Entitlement.", +"enum": [ +"SUSPENSION_REASON_UNSPECIFIED", +"RESELLER_INITIATED", +"TRIAL_ENDED", +"RENEWAL_WITH_TYPE_CANCEL", +"PENDING_TOS_ACCEPTANCE", +"OTHER" +], +"enumDescriptions": [ +"Not used.", +"Entitlement was manually suspended by the Reseller.", +"Trial ended.", +"Entitlement renewal was canceled.", +"Entitlement was automatically suspended on creation for pending ToS acceptance on customer.", +"Other reasons (internal reasons, abuse, etc.)." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1EntitlementEvent": { +"description": "Represents Pub/Sub message content describing entitlement update.", +"id": "GoogleCloudChannelV1EntitlementEvent", +"properties": { +"entitlement": { +"description": "Resource name of an entitlement of the form: accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}", +"type": "string" +}, +"eventType": { +"description": "Type of event which happened for the entitlement.", +"enum": [ +"TYPE_UNSPECIFIED", +"CREATED", +"PRICE_PLAN_SWITCHED", +"COMMITMENT_CHANGED", +"RENEWED", +"SUSPENDED", +"ACTIVATED", +"CANCELLED", +"SKU_CHANGED", +"RENEWAL_SETTING_CHANGED", +"PAID_SERVICE_STARTED", +"LICENSE_ASSIGNMENT_CHANGED", +"LICENSE_CAP_CHANGED" +], +"enumDescriptions": [ +"Not used.", +"A new entitlement was created.", +"The offer type associated with an entitlement was changed. This is not triggered if an entitlement converts from a commit offer to a flexible offer as part of a renewal.", +"Annual commitment for a commit plan was changed.", +"An annual entitlement was renewed.", +"Entitlement was suspended.", +"Entitlement was unsuspended.", +"Entitlement was cancelled.", +"Entitlement was upgraded or downgraded (e.g. from Google Workspace Business Standard to Google Workspace Business Plus).", +"The renewal settings of an entitlement has changed.", +"Paid service has started on trial entitlement.", +"License was assigned to or revoked from a user.", +"License cap was changed for the entitlement." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1FetchReportResultsRequest": { +"deprecated": true, +"description": "Request message for CloudChannelReportsService.FetchReportResults.", +"id": "GoogleCloudChannelV1FetchReportResultsRequest", +"properties": { +"pageSize": { +"description": "Optional. Requested page size of the report. The server may return fewer results than requested. If you don't specify a page size, the server uses a sensible default (may change over time). The maximum value is 30,000; the server will change larger values to 30,000.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A token that specifies a page of results beyond the first page. Obtained through FetchReportResultsResponse.next_page_token of the previous CloudChannelReportsService.FetchReportResults call.", +"type": "string" +}, +"partitionKeys": { +"description": "Optional. List of keys specifying which report partitions to return. If empty, returns all partitions.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1FetchReportResultsResponse": { +"deprecated": true, +"description": "Response message for CloudChannelReportsService.FetchReportResults. Contains a tabular representation of the report results.", +"id": "GoogleCloudChannelV1FetchReportResultsResponse", +"properties": { +"nextPageToken": { +"description": "Pass this token to FetchReportResultsRequest.page_token to retrieve the next page of results.", +"type": "string" +}, +"reportMetadata": { +"$ref": "GoogleCloudChannelV1ReportResultsMetadata", +"description": "The metadata for the report results (display name, columns, row count, and date ranges)." +}, +"rows": { +"description": "The report's lists of values. Each row follows the settings and ordering of the columns from `report_metadata`.", +"items": { +"$ref": "GoogleCloudChannelV1Row" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ImportCustomerRequest": { +"description": "Request message for CloudChannelService.ImportCustomer", +"id": "GoogleCloudChannelV1ImportCustomerRequest", +"properties": { +"authToken": { +"description": "Optional. The super admin of the resold customer generates this token to authorize a reseller to access their Cloud Identity and purchase entitlements on their behalf. You can omit this token after authorization. See https://support.google.com/a/answer/7643790 for more details.", +"type": "string" +}, +"channelPartnerId": { +"description": "Optional. Cloud Identity ID of a channel partner who will be the direct reseller for the customer's order. This field is required for 2-tier transfer scenarios and can be provided via the request Parent binding as well.", +"type": "string" +}, +"cloudIdentityId": { +"description": "Required. Customer's Cloud Identity ID", +"type": "string" +}, +"customer": { +"description": "Optional. Specifies the customer that will receive imported Cloud Identity information. Format: accounts/{account_id}/customers/{customer_id}", +"type": "string" +}, +"domain": { +"description": "Required. Customer domain.", +"type": "string" +}, +"overwriteIfExists": { +"description": "Required. Choose to overwrite an existing customer if found. This must be set to true if there is an existing customer with a conflicting region code or domain.", +"type": "boolean" +}, +"primaryAdminEmail": { +"description": "Required. Customer's primary admin email.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ListChannelPartnerLinksResponse": { +"description": "Response message for CloudChannelService.ListChannelPartnerLinks.", +"id": "GoogleCloudChannelV1ListChannelPartnerLinksResponse", +"properties": { +"channelPartnerLinks": { +"description": "The Channel partner links for a reseller.", +"items": { +"$ref": "GoogleCloudChannelV1ChannelPartnerLink" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListChannelPartnerLinksRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ListChannelPartnerRepricingConfigsResponse": { +"description": "Response message for CloudChannelService.ListChannelPartnerRepricingConfigs.", +"id": "GoogleCloudChannelV1ListChannelPartnerRepricingConfigsResponse", +"properties": { +"channelPartnerRepricingConfigs": { +"description": "The repricing configs for this channel partner.", +"items": { +"$ref": "GoogleCloudChannelV1ChannelPartnerRepricingConfig" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListChannelPartnerRepricingConfigsRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ListCustomerRepricingConfigsResponse": { +"description": "Response message for CloudChannelService.ListCustomerRepricingConfigs.", +"id": "GoogleCloudChannelV1ListCustomerRepricingConfigsResponse", +"properties": { +"customerRepricingConfigs": { +"description": "The repricing configs for this channel partner.", +"items": { +"$ref": "GoogleCloudChannelV1CustomerRepricingConfig" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListCustomerRepricingConfigsRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ListCustomersResponse": { +"description": "Response message for CloudChannelService.ListCustomers.", +"id": "GoogleCloudChannelV1ListCustomersResponse", +"properties": { +"customers": { +"description": "The customers belonging to a reseller or distributor.", +"items": { +"$ref": "GoogleCloudChannelV1Customer" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListCustomersRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ListEntitlementChangesResponse": { +"description": "Response message for CloudChannelService.ListEntitlementChanges", +"id": "GoogleCloudChannelV1ListEntitlementChangesResponse", +"properties": { +"entitlementChanges": { +"description": "The list of entitlement changes.", +"items": { +"$ref": "GoogleCloudChannelV1EntitlementChange" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to list the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ListEntitlementsResponse": { +"description": "Response message for CloudChannelService.ListEntitlements.", +"id": "GoogleCloudChannelV1ListEntitlementsResponse", +"properties": { +"entitlements": { +"description": "The reseller customer's entitlements.", +"items": { +"$ref": "GoogleCloudChannelV1Entitlement" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to list the next page of results. Pass to ListEntitlementsRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ListOffersResponse": { +"description": "Response message for ListOffers.", +"id": "GoogleCloudChannelV1ListOffersResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page of results.", +"type": "string" +}, +"offers": { +"description": "The list of Offers requested.", +"items": { +"$ref": "GoogleCloudChannelV1Offer" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ListProductsResponse": { +"description": "Response message for ListProducts.", +"id": "GoogleCloudChannelV1ListProductsResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page of results.", +"type": "string" +}, +"products": { +"description": "List of Products requested.", +"items": { +"$ref": "GoogleCloudChannelV1Product" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ListPurchasableOffersResponse": { +"description": "Response message for ListPurchasableOffers.", +"id": "GoogleCloudChannelV1ListPurchasableOffersResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page of results.", +"type": "string" +}, +"purchasableOffers": { +"description": "The list of Offers requested.", +"items": { +"$ref": "GoogleCloudChannelV1PurchasableOffer" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ListPurchasableSkusResponse": { +"description": "Response message for ListPurchasableSkus.", +"id": "GoogleCloudChannelV1ListPurchasableSkusResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page of results.", +"type": "string" +}, +"purchasableSkus": { +"description": "The list of SKUs requested.", +"items": { +"$ref": "GoogleCloudChannelV1PurchasableSku" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ListReportsResponse": { +"deprecated": true, +"description": "Response message for CloudChannelReportsService.ListReports.", +"id": "GoogleCloudChannelV1ListReportsResponse", +"properties": { +"nextPageToken": { +"description": "Pass this token to FetchReportResultsRequest.page_token to retrieve the next page of results.", +"type": "string" +}, +"reports": { +"description": "The reports available to the partner.", +"items": { +"$ref": "GoogleCloudChannelV1Report" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ListSkuGroupBillableSkusResponse": { +"description": "Response message for ListSkuGroupBillableSkus.", +"id": "GoogleCloudChannelV1ListSkuGroupBillableSkusResponse", +"properties": { +"billableSkus": { +"description": "The list of billable SKUs in the requested SKU group.", +"items": { +"$ref": "GoogleCloudChannelV1BillableSku" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListSkuGroupBillableSkusRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ListSkuGroupsResponse": { +"description": "Response message for ListSkuGroups.", +"id": "GoogleCloudChannelV1ListSkuGroupsResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListSkuGroupsRequest.page_token to obtain that page.", +"type": "string" +}, +"skuGroups": { +"description": "The list of SKU groups requested.", +"items": { +"$ref": "GoogleCloudChannelV1SkuGroup" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ListSkusResponse": { +"description": "Response message for ListSkus.", +"id": "GoogleCloudChannelV1ListSkusResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page of results.", +"type": "string" +}, +"skus": { +"description": "The list of SKUs requested.", +"items": { +"$ref": "GoogleCloudChannelV1Sku" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ListSubscribersResponse": { +"description": "Response Message for ListSubscribers.", +"id": "GoogleCloudChannelV1ListSubscribersResponse", +"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" +}, +"serviceAccounts": { +"description": "List of service accounts which have subscriber access to the topic.", +"items": { +"type": "string" +}, +"type": "array" +}, +"topic": { +"description": "Name of the topic registered with the reseller.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ListTransferableOffersRequest": { +"description": "Request message for CloudChannelService.ListTransferableOffers", +"id": "GoogleCloudChannelV1ListTransferableOffersRequest", +"properties": { +"billingAccount": { +"description": "Optional. The Billing Account to look up Offers for. Format: accounts/{account_id}/billingAccounts/{billing_account_id}. This field is only relevant for multi-currency accounts. It should be left empty for single currency accounts.", +"type": "string" +}, +"cloudIdentityId": { +"description": "Customer's Cloud Identity ID", +"type": "string" +}, +"customerName": { +"description": "A reseller should create a customer and use the resource name of that customer here.", +"type": "string" +}, +"languageCode": { +"description": "Optional. The BCP-47 language code. For example, \"en-US\". The response will localize in the corresponding language code, if specified. The default value is \"en-US\".", +"type": "string" +}, +"pageSize": { +"description": "Requested page size. Server might return fewer results than requested. If unspecified, returns at most 100 offers. The maximum value is 1000; the server will coerce values above 1000.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "A token for a page of results other than the first page. Obtained using ListTransferableOffersResponse.next_page_token of the previous CloudChannelService.ListTransferableOffers call.", +"type": "string" +}, +"sku": { +"description": "Required. The SKU to look up Offers for.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ListTransferableOffersResponse": { +"description": "Response message for CloudChannelService.ListTransferableOffers.", +"id": "GoogleCloudChannelV1ListTransferableOffersResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListTransferableOffersRequest.page_token to obtain that page.", +"type": "string" +}, +"transferableOffers": { +"description": "Information about Offers for a customer that can be used for transfer.", +"items": { +"$ref": "GoogleCloudChannelV1TransferableOffer" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ListTransferableSkusRequest": { +"description": "Request message for CloudChannelService.ListTransferableSkus", +"id": "GoogleCloudChannelV1ListTransferableSkusRequest", +"properties": { +"authToken": { +"description": "Optional. The super admin of the resold customer generates this token to authorize a reseller to access their Cloud Identity and purchase entitlements on their behalf. You can omit this token after authorization. See https://support.google.com/a/answer/7643790 for more details.", +"type": "string" +}, +"cloudIdentityId": { +"description": "Customer's Cloud Identity ID", +"type": "string" +}, +"customerName": { +"description": "A reseller is required to create a customer and use the resource name of the created customer here. Customer_name uses the format: accounts/{account_id}/customers/{customer_id}", +"type": "string" +}, +"languageCode": { +"description": "The BCP-47 language code. For example, \"en-US\". The response will localize in the corresponding language code, if specified. The default value is \"en-US\". Optional.", +"type": "string" +}, +"pageSize": { +"description": "The requested page size. Server might return fewer results than requested. If unspecified, returns at most 100 SKUs. The maximum value is 1000; the server will coerce values above 1000. Optional.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "A token for a page of results other than the first page. Obtained using ListTransferableSkusResponse.next_page_token of the previous CloudChannelService.ListTransferableSkus call. Optional.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ListTransferableSkusResponse": { +"description": "Response message for CloudChannelService.ListTransferableSkus.", +"id": "GoogleCloudChannelV1ListTransferableSkusResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListTransferableSkusRequest.page_token to obtain that page.", +"type": "string" +}, +"transferableSkus": { +"description": "Information about existing SKUs for a customer that needs a transfer.", +"items": { +"$ref": "GoogleCloudChannelV1TransferableSku" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1MarketingInfo": { +"description": "Represents the marketing information for a Product, SKU or Offer.", +"id": "GoogleCloudChannelV1MarketingInfo", +"properties": { +"defaultLogo": { +"$ref": "GoogleCloudChannelV1Media", +"description": "Default logo." +}, +"description": { +"description": "Human readable description. Description can contain HTML.", +"type": "string" +}, +"displayName": { +"description": "Human readable name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1Media": { +"description": "Represents media information.", +"id": "GoogleCloudChannelV1Media", +"properties": { +"content": { +"description": "URL of the media.", +"type": "string" +}, +"title": { +"description": "Title of the media.", +"type": "string" +}, +"type": { +"description": "Type of the media.", +"enum": [ +"MEDIA_TYPE_UNSPECIFIED", +"MEDIA_TYPE_IMAGE" +], +"enumDescriptions": [ +"Not used.", +"Type of image." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1Offer": { +"description": "Represents an offer made to resellers for purchase. An offer is associated with a Sku, has a plan for payment, a price, and defines the constraints for buying.", +"id": "GoogleCloudChannelV1Offer", +"properties": { +"constraints": { +"$ref": "GoogleCloudChannelV1Constraints", +"description": "Constraints on transacting the Offer." +}, +"dealCode": { +"description": "The deal code of the offer to get a special promotion or discount.", +"type": "string" +}, +"endTime": { +"description": "Output only. End of the Offer validity time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"marketingInfo": { +"$ref": "GoogleCloudChannelV1MarketingInfo", +"description": "Marketing information for the Offer." +}, +"name": { +"description": "Resource Name of the Offer. Format: accounts/{account_id}/offers/{offer_id}", +"type": "string" +}, +"parameterDefinitions": { +"description": "Parameters required to use current Offer to purchase.", +"items": { +"$ref": "GoogleCloudChannelV1ParameterDefinition" +}, +"type": "array" +}, +"plan": { +"$ref": "GoogleCloudChannelV1Plan", +"description": "Describes the payment plan for the Offer." +}, +"priceByResources": { +"description": "Price for each monetizable resource type.", +"items": { +"$ref": "GoogleCloudChannelV1PriceByResource" +}, +"type": "array" +}, +"sku": { +"$ref": "GoogleCloudChannelV1Sku", +"description": "SKU the offer is associated with." +}, +"startTime": { +"description": "Start of the Offer validity time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1OperationMetadata": { +"description": "Provides contextual information about a google.longrunning.Operation.", +"id": "GoogleCloudChannelV1OperationMetadata", +"properties": { +"operationType": { +"description": "The RPC that initiated this Long Running Operation.", +"enum": [ +"OPERATION_TYPE_UNSPECIFIED", +"CREATE_ENTITLEMENT", +"CHANGE_RENEWAL_SETTINGS", +"START_PAID_SERVICE", +"ACTIVATE_ENTITLEMENT", +"SUSPEND_ENTITLEMENT", +"CANCEL_ENTITLEMENT", +"TRANSFER_ENTITLEMENTS", +"TRANSFER_ENTITLEMENTS_TO_GOOGLE", +"CHANGE_OFFER", +"CHANGE_PARAMETERS", +"PROVISION_CLOUD_IDENTITY" +], +"enumDescriptions": [ +"Not used.", +"Long Running Operation was triggered by CreateEntitlement.", +"Long Running Operation was triggered by ChangeRenewalSettings.", +"Long Running Operation was triggered by StartPaidService.", +"Long Running Operation was triggered by ActivateEntitlement.", +"Long Running Operation was triggered by SuspendEntitlement.", +"Long Running Operation was triggered by CancelEntitlement.", +"Long Running Operation was triggered by TransferEntitlements.", +"Long Running Operation was triggered by TransferEntitlementsToGoogle.", +"Long Running Operation was triggered by ChangeOffer.", +"Long Running Operation was triggered by ChangeParameters.", +"Long Running Operation was triggered by ProvisionCloudIdentity." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1Parameter": { +"description": "Definition for extended entitlement parameters.", +"id": "GoogleCloudChannelV1Parameter", +"properties": { +"editable": { +"description": "Output only. Specifies whether this parameter is allowed to be changed. For example, for a Google Workspace Business Starter entitlement in commitment plan, num_units is editable when entitlement is active.", +"readOnly": true, +"type": "boolean" +}, +"name": { +"description": "Name of the parameter.", +"type": "string" +}, +"value": { +"$ref": "GoogleCloudChannelV1Value", +"description": "Value of the parameter." +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ParameterDefinition": { +"description": "Parameter's definition. Specifies what parameter is required to use the current Offer to purchase.", +"id": "GoogleCloudChannelV1ParameterDefinition", +"properties": { +"allowedValues": { +"description": "If not empty, parameter values must be drawn from this list. For example, [us-west1, us-west2, ...] Applicable to STRING parameter type.", +"items": { +"$ref": "GoogleCloudChannelV1Value" +}, +"type": "array" +}, +"maxValue": { +"$ref": "GoogleCloudChannelV1Value", +"description": "Maximum value of the parameter, if applicable. Inclusive. For example, maximum seats when purchasing Google Workspace Business Standard. Applicable to INT64 and DOUBLE parameter types." +}, +"minValue": { +"$ref": "GoogleCloudChannelV1Value", +"description": "Minimal value of the parameter, if applicable. Inclusive. For example, minimal commitment when purchasing Anthos is 0.01. Applicable to INT64 and DOUBLE parameter types." +}, +"name": { +"description": "Name of the parameter.", +"type": "string" +}, +"optional": { +"description": "If set to true, parameter is optional to purchase this Offer.", +"type": "boolean" +}, +"parameterType": { +"description": "Data type of the parameter. Minimal value, Maximum value and allowed values will use specified data type here.", +"enum": [ +"PARAMETER_TYPE_UNSPECIFIED", +"INT64", +"STRING", +"DOUBLE", +"BOOLEAN" +], +"enumDescriptions": [ +"Not used.", +"Int64 type.", +"String type.", +"Double type.", +"Boolean type." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1PercentageAdjustment": { +"description": "An adjustment that applies a flat markup or markdown to an entire bill.", +"id": "GoogleCloudChannelV1PercentageAdjustment", +"properties": { +"percentage": { +"$ref": "GoogleTypeDecimal", +"description": "The percentage of the bill to adjust. For example: Mark down by 1% => \"-1.00\" Mark up by 1% => \"1.00\" Pass-Through => \"0.00\"" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1Period": { +"description": "Represents period in days/months/years.", +"id": "GoogleCloudChannelV1Period", +"properties": { +"duration": { +"description": "Total duration of Period Type defined.", +"format": "int32", +"type": "integer" +}, +"periodType": { +"description": "Period Type.", +"enum": [ +"PERIOD_TYPE_UNSPECIFIED", +"DAY", +"MONTH", +"YEAR" +], +"enumDescriptions": [ +"Not used.", +"Day.", +"Month.", +"Year." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1Plan": { +"description": "The payment plan for the Offer. Describes how to make a payment.", +"id": "GoogleCloudChannelV1Plan", +"properties": { +"billingAccount": { +"description": "Reseller Billing account to charge after an offer transaction. Only present for Google Cloud offers.", +"type": "string" +}, +"paymentCycle": { +"$ref": "GoogleCloudChannelV1Period", +"description": "Describes how frequently the reseller will be billed, such as once per month." +}, +"paymentPlan": { +"description": "Describes how a reseller will be billed.", +"enum": [ +"PAYMENT_PLAN_UNSPECIFIED", +"COMMITMENT", +"FLEXIBLE", +"FREE", +"TRIAL", +"OFFLINE" +], +"enumDescriptions": [ +"Not used.", +"Commitment.", +"No commitment.", +"Free.", +"Trial.", +"Price and ordering not available through API." +], +"type": "string" +}, +"paymentType": { +"description": "Specifies when the payment needs to happen.", +"enum": [ +"PAYMENT_TYPE_UNSPECIFIED", +"PREPAY", +"POSTPAY" +], +"enumDescriptions": [ +"Not used.", +"Prepay. Amount has to be paid before service is rendered.", +"Postpay. Reseller is charged at the end of the Payment cycle." +], +"type": "string" +}, +"trialPeriod": { +"$ref": "GoogleCloudChannelV1Period", +"description": "Present for Offers with a trial period. For trial-only Offers, a paid service needs to start before the trial period ends for continued service. For Regular Offers with a trial period, the regular pricing goes into effect when trial period ends, or if paid service is started before the end of the trial period." +} +}, +"type": "object" +}, +"GoogleCloudChannelV1Price": { +"description": "Represents the price of the Offer.", +"id": "GoogleCloudChannelV1Price", +"properties": { +"basePrice": { +"$ref": "GoogleTypeMoney", +"description": "Base price." +}, +"discount": { +"description": "Discount percentage, represented as decimal. For example, a 20% discount will be represent as 0.2.", +"format": "double", +"type": "number" +}, +"effectivePrice": { +"$ref": "GoogleTypeMoney", +"description": "Effective Price after applying the discounts." +}, +"externalPriceUri": { +"description": "Link to external price list, such as link to Google Voice rate card.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1PriceByResource": { +"description": "Represents price by resource type.", +"id": "GoogleCloudChannelV1PriceByResource", +"properties": { +"price": { +"$ref": "GoogleCloudChannelV1Price", +"description": "Price of the Offer. Present if there are no price phases." +}, +"pricePhases": { +"description": "Specifies the price by time range.", +"items": { +"$ref": "GoogleCloudChannelV1PricePhase" +}, +"type": "array" +}, +"resourceType": { +"description": "Resource Type. Example: SEAT", +"enum": [ +"RESOURCE_TYPE_UNSPECIFIED", +"SEAT", +"MAU", +"GB", +"LICENSED_USER", +"MINUTES", +"IAAS_USAGE", +"SUBSCRIPTION" +], +"enumDescriptions": [ +"Not used.", +"Seat.", +"Monthly active user.", +"GB (used for storage SKUs).", +"Active licensed users(for Voice SKUs).", +"Voice usage.", +"For IaaS SKUs like Google Cloud, monetization is based on usage accrued on your billing account irrespective of the type of monetizable resource. This enum represents an aggregated resource/container for all usage SKUs on a billing account. Currently, only applicable to Google Cloud.", +"For Google Cloud subscriptions like Anthos or SAP." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1PricePhase": { +"description": "Specifies the price by the duration of months. For example, a 20% discount for the first six months, then a 10% discount starting on the seventh month.", +"id": "GoogleCloudChannelV1PricePhase", +"properties": { +"firstPeriod": { +"description": "Defines first period for the phase.", +"format": "int32", +"type": "integer" +}, +"lastPeriod": { +"description": "Defines first period for the phase.", +"format": "int32", +"type": "integer" +}, +"periodType": { +"description": "Defines the phase period type.", +"enum": [ +"PERIOD_TYPE_UNSPECIFIED", +"DAY", +"MONTH", +"YEAR" +], +"enumDescriptions": [ +"Not used.", +"Day.", +"Month.", +"Year." +], +"type": "string" +}, +"price": { +"$ref": "GoogleCloudChannelV1Price", +"description": "Price of the phase. Present if there are no price tiers." +}, +"priceTiers": { +"description": "Price by the resource tiers.", +"items": { +"$ref": "GoogleCloudChannelV1PriceTier" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1PriceTier": { +"description": "Defines price at resource tier level. For example, an offer with following definition : * Tier 1: Provide 25% discount for all seats between 1 and 25. * Tier 2: Provide 10% discount for all seats between 26 and 100. * Tier 3: Provide flat 15% discount for all seats above 100. Each of these tiers is represented as a PriceTier.", +"id": "GoogleCloudChannelV1PriceTier", +"properties": { +"firstResource": { +"description": "First resource for which the tier price applies.", +"format": "int32", +"type": "integer" +}, +"lastResource": { +"description": "Last resource for which the tier price applies.", +"format": "int32", +"type": "integer" +}, +"price": { +"$ref": "GoogleCloudChannelV1Price", +"description": "Price of the tier." +} +}, +"type": "object" +}, +"GoogleCloudChannelV1Product": { +"description": "A Product is the entity a customer uses when placing an order. For example, Google Workspace, Google Voice, etc.", +"id": "GoogleCloudChannelV1Product", +"properties": { +"marketingInfo": { +"$ref": "GoogleCloudChannelV1MarketingInfo", +"description": "Marketing information for the product." +}, +"name": { +"description": "Resource Name of the Product. Format: products/{product_id}", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ProvisionCloudIdentityRequest": { +"description": "Request message for CloudChannelService.ProvisionCloudIdentity", +"id": "GoogleCloudChannelV1ProvisionCloudIdentityRequest", +"properties": { +"cloudIdentityInfo": { +"$ref": "GoogleCloudChannelV1CloudIdentityInfo", +"description": "CloudIdentity-specific customer information." +}, +"user": { +"$ref": "GoogleCloudChannelV1AdminUser", +"description": "Admin user information." +}, +"validateOnly": { +"description": "Validate the request and preview the review, but do not post it.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ProvisionedService": { +"description": "Service provisioned for an entitlement.", +"id": "GoogleCloudChannelV1ProvisionedService", +"properties": { +"productId": { +"description": "Output only. The product pertaining to the provisioning resource as specified in the Offer.", +"readOnly": true, +"type": "string" +}, +"provisioningId": { +"description": "Output only. Provisioning ID of the entitlement. For Google Workspace, this is the underlying Subscription ID. For Google Cloud, this is the Billing Account ID of the billing subaccount.", +"readOnly": true, +"type": "string" +}, +"skuId": { +"description": "Output only. The SKU pertaining to the provisioning resource as specified in the Offer.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1PurchasableOffer": { +"description": "Offer that you can purchase for a customer. This is used in the ListPurchasableOffer API response.", +"id": "GoogleCloudChannelV1PurchasableOffer", +"properties": { +"offer": { +"$ref": "GoogleCloudChannelV1Offer", +"description": "Offer." +}, +"priceReferenceId": { +"description": "Optional. Price reference ID for the offer. Optional field only for offers that require additional price information. Used to guarantee that the pricing is consistent between quoting the offer and placing the order.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1PurchasableSku": { +"description": "SKU that you can purchase. This is used in ListPurchasableSku API response.", +"id": "GoogleCloudChannelV1PurchasableSku", +"properties": { +"sku": { +"$ref": "GoogleCloudChannelV1Sku", +"description": "SKU" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1QueryEligibleBillingAccountsResponse": { +"description": "Response message for QueryEligibleBillingAccounts.", +"id": "GoogleCloudChannelV1QueryEligibleBillingAccountsResponse", +"properties": { +"skuPurchaseGroups": { +"description": "List of SKU purchase groups where each group represents a set of SKUs that must be purchased using the same billing account. Each SKU from [QueryEligibleBillingAccountsRequest.skus] will appear in exactly one SKU group.", +"items": { +"$ref": "GoogleCloudChannelV1SkuPurchaseGroup" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1RegisterSubscriberRequest": { +"description": "Request Message for RegisterSubscriber.", +"id": "GoogleCloudChannelV1RegisterSubscriberRequest", +"properties": { +"account": { +"description": "Optional. Resource name of the account. Required if integrator is not provided. Otherwise, leave this field empty/unset.", +"type": "string" +}, +"integrator": { +"description": "Optional. Resource name of the integrator. Required if account is not provided. Otherwise, leave this field empty/unset.", +"type": "string" +}, +"serviceAccount": { +"description": "Required. Service account that provides subscriber access to the registered topic.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1RegisterSubscriberResponse": { +"description": "Response Message for RegisterSubscriber.", +"id": "GoogleCloudChannelV1RegisterSubscriberResponse", +"properties": { +"topic": { +"description": "Name of the topic the subscriber will listen to.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1RenewalSettings": { +"description": "Renewal settings for renewable Offers.", +"id": "GoogleCloudChannelV1RenewalSettings", +"properties": { +"enableRenewal": { +"description": "If false, the plan will be completed at the end date.", +"type": "boolean" +}, +"paymentCycle": { +"$ref": "GoogleCloudChannelV1Period", +"description": "Describes how frequently the reseller will be billed, such as once per month." +}, +"paymentPlan": { +"description": "Describes how a reseller will be billed.", +"enum": [ +"PAYMENT_PLAN_UNSPECIFIED", +"COMMITMENT", +"FLEXIBLE", +"FREE", +"TRIAL", +"OFFLINE" +], +"enumDescriptions": [ +"Not used.", +"Commitment.", +"No commitment.", +"Free.", +"Trial.", +"Price and ordering not available through API." +], +"type": "string" +}, +"resizeUnitCount": { +"description": "If true and enable_renewal = true, the unit (for example seats or licenses) will be set to the number of active units at renewal time.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1Report": { +"deprecated": true, +"description": "The ID and description of a report that was used to generate report data. For example, \"Google Cloud Daily Spend\", \"Google Workspace License Activity\", etc.", +"id": "GoogleCloudChannelV1Report", +"properties": { +"columns": { +"description": "The list of columns included in the report. This defines the schema of the report results.", +"items": { +"$ref": "GoogleCloudChannelV1Column" +}, +"type": "array" +}, +"description": { +"description": "A description of other aspects of the report, such as the products it supports.", +"type": "string" +}, +"displayName": { +"description": "A human-readable name for this report.", +"type": "string" +}, +"name": { +"description": "Required. The report's resource name. Specifies the account and report used to generate report data. The report_id identifier is a UID (for example, `613bf59q`). Name uses the format: accounts/{account_id}/reports/{report_id}", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ReportJob": { +"deprecated": true, +"description": "The result of a RunReportJob operation. Contains the name to use in FetchReportResultsRequest.report_job and the status of the operation.", +"id": "GoogleCloudChannelV1ReportJob", +"properties": { +"name": { +"description": "Required. The resource name of a report job. Name uses the format: `accounts/{account_id}/reportJobs/{report_job_id}`", +"type": "string" +}, +"reportStatus": { +"$ref": "GoogleCloudChannelV1ReportStatus", +"description": "The current status of report generation." +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ReportResultsMetadata": { +"deprecated": true, +"description": "The features describing the data. Returned by CloudChannelReportsService.RunReportJob and CloudChannelReportsService.FetchReportResults.", +"id": "GoogleCloudChannelV1ReportResultsMetadata", +"properties": { +"dateRange": { +"$ref": "GoogleCloudChannelV1DateRange", +"description": "The date range of reported usage." +}, +"precedingDateRange": { +"$ref": "GoogleCloudChannelV1DateRange", +"description": "The usage dates immediately preceding `date_range` with the same duration. Use this to calculate trending usage and costs. This is only populated if you request trending data. For example, if `date_range` is July 1-15, `preceding_date_range` will be June 16-30." +}, +"report": { +"$ref": "GoogleCloudChannelV1Report", +"description": "Details of the completed report." +}, +"rowCount": { +"description": "The total number of rows of data in the final report.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ReportStatus": { +"deprecated": true, +"description": "Status of a report generation process.", +"id": "GoogleCloudChannelV1ReportStatus", +"properties": { +"endTime": { +"description": "The report generation's completion time.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "The report generation's start time.", +"format": "google-datetime", +"type": "string" +}, +"state": { +"description": "The current state of the report generation process.", +"enum": [ +"STATE_UNSPECIFIED", +"STARTED", +"WRITING", +"AVAILABLE", +"FAILED" +], +"enumDescriptions": [ +"Not used.", +"Report processing started.", +"Data generated from the report is being staged.", +"Report data is available for access.", +"Report failed." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1ReportValue": { +"deprecated": true, +"description": "A single report value.", +"id": "GoogleCloudChannelV1ReportValue", +"properties": { +"dateTimeValue": { +"$ref": "GoogleTypeDateTime", +"description": "A value of type `google.type.DateTime` (year, month, day, hour, minute, second, and UTC offset or timezone.)" +}, +"dateValue": { +"$ref": "GoogleTypeDate", +"description": "A value of type `google.type.Date` (year, month, day)." +}, +"decimalValue": { +"$ref": "GoogleTypeDecimal", +"description": "A value of type `google.type.Decimal`, representing non-integer numeric values." +}, +"intValue": { +"description": "A value of type `int`.", +"format": "int64", +"type": "string" +}, +"moneyValue": { +"$ref": "GoogleTypeMoney", +"description": "A value of type `google.type.Money` (currency code, whole units, decimal units)." +}, +"stringValue": { +"description": "A value of type `string`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1RepricingAdjustment": { +"description": "A type that represents the various adjustments you can apply to a bill.", +"id": "GoogleCloudChannelV1RepricingAdjustment", +"properties": { +"percentageAdjustment": { +"$ref": "GoogleCloudChannelV1PercentageAdjustment", +"description": "Flat markup or markdown on an entire bill." +} +}, +"type": "object" +}, +"GoogleCloudChannelV1RepricingCondition": { +"description": "Represents the various repricing conditions you can use for a conditional override.", +"id": "GoogleCloudChannelV1RepricingCondition", +"properties": { +"skuGroupCondition": { +"$ref": "GoogleCloudChannelV1SkuGroupCondition", +"description": "SKU Group condition for override." +} +}, +"type": "object" +}, +"GoogleCloudChannelV1RepricingConfig": { +"description": "Configuration for repricing a Google bill over a period of time.", +"id": "GoogleCloudChannelV1RepricingConfig", +"properties": { +"adjustment": { +"$ref": "GoogleCloudChannelV1RepricingAdjustment", +"description": "Required. Information about the adjustment." +}, +"channelPartnerGranularity": { +"$ref": "GoogleCloudChannelV1RepricingConfigChannelPartnerGranularity", +"deprecated": true, +"description": "Applies the repricing configuration at the channel partner level. Only ChannelPartnerRepricingConfig supports this value. Deprecated: This is no longer supported. Use RepricingConfig.entitlement_granularity instead." +}, +"conditionalOverrides": { +"description": "The conditional overrides to apply for this configuration. If you list multiple overrides, only the first valid override is used. If you don't list any overrides, the API uses the normal adjustment and rebilling basis.", +"items": { +"$ref": "GoogleCloudChannelV1ConditionalOverride" +}, +"type": "array" +}, +"effectiveInvoiceMonth": { +"$ref": "GoogleTypeDate", +"description": "Required. The YearMonth when these adjustments activate. The Day field needs to be \"0\" since we only accept YearMonth repricing boundaries." +}, +"entitlementGranularity": { +"$ref": "GoogleCloudChannelV1RepricingConfigEntitlementGranularity", +"description": "Applies the repricing configuration at the entitlement level. Note: If a ChannelPartnerRepricingConfig using RepricingConfig.EntitlementGranularity becomes effective, then no existing or future RepricingConfig.ChannelPartnerGranularity will apply to the RepricingConfig.EntitlementGranularity.entitlement. This is the recommended value for both CustomerRepricingConfig and ChannelPartnerRepricingConfig." +}, +"rebillingBasis": { +"description": "Required. The RebillingBasis to use for this bill. Specifies the relative cost based on repricing costs you will apply.", +"enum": [ +"REBILLING_BASIS_UNSPECIFIED", +"COST_AT_LIST", +"DIRECT_CUSTOMER_COST" +], +"enumDescriptions": [ +"Not used.", +"Use the list cost, also known as the MSRP.", +"Pass through all discounts except the Reseller Program Discount. If this is the default cost base and no adjustments are specified, the output cost will be exactly what the customer would see if they viewed the bill in the Google Cloud Console." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1RepricingConfigChannelPartnerGranularity": { +"deprecated": true, +"description": "Applies the repricing configuration at the channel partner level. The channel partner value is derived from the resource name. Takes an empty json object. Deprecated: This is no longer supported. Use RepricingConfig.EntitlementGranularity instead.", +"id": "GoogleCloudChannelV1RepricingConfigChannelPartnerGranularity", +"properties": {}, +"type": "object" +}, +"GoogleCloudChannelV1RepricingConfigEntitlementGranularity": { +"description": "Applies the repricing configuration at the entitlement level.", +"id": "GoogleCloudChannelV1RepricingConfigEntitlementGranularity", +"properties": { +"entitlement": { +"description": "Resource name of the entitlement. Format: accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1Row": { +"deprecated": true, +"description": "A row of report values.", +"id": "GoogleCloudChannelV1Row", +"properties": { +"partitionKey": { +"description": "The key for the partition this row belongs to. This field is empty if the report is not partitioned.", +"type": "string" +}, +"values": { +"description": "The list of values in the row.", +"items": { +"$ref": "GoogleCloudChannelV1ReportValue" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1RunReportJobRequest": { +"deprecated": true, +"description": "Request message for CloudChannelReportsService.RunReportJob.", +"id": "GoogleCloudChannelV1RunReportJobRequest", +"properties": { +"dateRange": { +"$ref": "GoogleCloudChannelV1DateRange", +"description": "Optional. The range of usage or invoice dates to include in the result." +}, +"filter": { +"description": "Optional. A structured string that defines conditions on dimension columns to restrict the report output. Filters support logical operators (AND, OR, NOT) and conditional operators (=, !=, <, >, <=, and >=) using `column_id` as keys. For example: `(customer:\"accounts/C123abc/customers/S456def\" OR customer:\"accounts/C123abc/customers/S789ghi\") AND invoice_start_date.year >= 2022`", +"type": "string" +}, +"languageCode": { +"description": "Optional. The BCP-47 language code, such as \"en-US\". If specified, the response is localized to the corresponding language code if the original data sources support it. Default is \"en-US\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1RunReportJobResponse": { +"deprecated": true, +"description": "Response message for CloudChannelReportsService.RunReportJob.", +"id": "GoogleCloudChannelV1RunReportJobResponse", +"properties": { +"reportJob": { +"$ref": "GoogleCloudChannelV1ReportJob", +"description": "Pass `report_job.name` to FetchReportResultsRequest.report_job to retrieve the report's results." +}, +"reportMetadata": { +"$ref": "GoogleCloudChannelV1ReportResultsMetadata", +"description": "The metadata for the report's results (display name, columns, row count, and date range). If you view this before the operation finishes, you may see incomplete data." +} +}, +"type": "object" +}, +"GoogleCloudChannelV1Sku": { +"description": "Represents a product's purchasable Stock Keeping Unit (SKU). SKUs represent the different variations of the product. For example, Google Workspace Business Standard and Google Workspace Business Plus are Google Workspace product SKUs.", +"id": "GoogleCloudChannelV1Sku", +"properties": { +"marketingInfo": { +"$ref": "GoogleCloudChannelV1MarketingInfo", +"description": "Marketing information for the SKU." +}, +"name": { +"description": "Resource Name of the SKU. Format: products/{product_id}/skus/{sku_id}", +"type": "string" +}, +"product": { +"$ref": "GoogleCloudChannelV1Product", +"description": "Product the SKU is associated with." +} +}, +"type": "object" +}, +"GoogleCloudChannelV1SkuGroup": { +"description": "Represents the SKU group information.", +"id": "GoogleCloudChannelV1SkuGroup", +"properties": { +"displayName": { +"description": "Unique human readable identifier for the SKU group.", +"type": "string" +}, +"name": { +"description": "Resource name of SKU group. Format: accounts/{account}/skuGroups/{sku_group}. Example: \"accounts/C01234/skuGroups/3d50fd57-3157-4577-a5a9-a219b8490041\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1SkuGroupCondition": { +"description": "A condition that applies the override if a line item SKU is found in the SKU group.", +"id": "GoogleCloudChannelV1SkuGroupCondition", +"properties": { +"skuGroup": { +"description": "Specifies a SKU group (https://cloud.google.com/skus/sku-groups). Resource name of SKU group. Format: accounts/{account}/skuGroups/{sku_group}. Example: \"accounts/C01234/skuGroups/3d50fd57-3157-4577-a5a9-a219b8490041\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1SkuPurchaseGroup": { +"description": "Represents a set of SKUs that must be purchased using the same billing account.", +"id": "GoogleCloudChannelV1SkuPurchaseGroup", +"properties": { +"billingAccountPurchaseInfos": { +"description": "List of billing accounts that are eligible to purhcase these SKUs.", +"items": { +"$ref": "GoogleCloudChannelV1BillingAccountPurchaseInfo" +}, +"type": "array" +}, +"skus": { +"description": "Resource names of the SKUs included in this group. Format: products/{product_id}/skus/{sku_id}.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1StartPaidServiceRequest": { +"description": "Request message for CloudChannelService.StartPaidService.", +"id": "GoogleCloudChannelV1StartPaidServiceRequest", +"properties": { +"requestId": { +"description": "Optional. You can specify an optional unique request ID, and if you need to retry your request, the server will know to ignore the request if it's complete. For example, 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 it received the original operation with the same request ID. If it did, it will ignore the second request. The request ID must be a valid [UUID](https://tools.ietf.org/html/rfc4122) with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1SubscriberEvent": { +"description": "Represents information which resellers will get as part of notification from Pub/Sub.", +"id": "GoogleCloudChannelV1SubscriberEvent", +"properties": { +"customerEvent": { +"$ref": "GoogleCloudChannelV1CustomerEvent", +"description": "Customer event sent as part of Pub/Sub event to partners." +}, +"entitlementEvent": { +"$ref": "GoogleCloudChannelV1EntitlementEvent", +"description": "Entitlement event sent as part of Pub/Sub event to partners." +} +}, +"type": "object" +}, +"GoogleCloudChannelV1SuspendEntitlementRequest": { +"description": "Request message for CloudChannelService.SuspendEntitlement.", +"id": "GoogleCloudChannelV1SuspendEntitlementRequest", +"properties": { +"requestId": { +"description": "Optional. You can specify an optional unique request ID, and if you need to retry your request, the server will know to ignore the request if it's complete. For example, 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 it received the original operation with the same request ID. If it did, it will ignore the second request. The request ID must be a valid [UUID](https://tools.ietf.org/html/rfc4122) with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1TransferEligibility": { +"description": "Specifies transfer eligibility of a SKU.", +"id": "GoogleCloudChannelV1TransferEligibility", +"properties": { +"description": { +"description": "Localized description if reseller is not eligible to transfer the SKU.", +"type": "string" +}, +"ineligibilityReason": { +"description": "Specified the reason for ineligibility.", +"enum": [ +"REASON_UNSPECIFIED", +"PENDING_TOS_ACCEPTANCE", +"SKU_NOT_ELIGIBLE", +"SKU_SUSPENDED", +"CHANNEL_PARTNER_NOT_AUTHORIZED_FOR_SKU" +], +"enumDescriptions": [ +"Not used.", +"Reseller needs to accept TOS before transferring the SKU.", +"Reseller not eligible to sell the SKU.", +"SKU subscription is suspended", +"The reseller is not authorized to transact on this Product. See https://support.google.com/channelservices/answer/9759265" +], +"type": "string" +}, +"isEligible": { +"description": "Whether reseller is eligible to transfer the SKU.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1TransferEntitlementsRequest": { +"description": "Request message for CloudChannelService.TransferEntitlements.", +"id": "GoogleCloudChannelV1TransferEntitlementsRequest", +"properties": { +"authToken": { +"description": "The super admin of the resold customer generates this token to authorize a reseller to access their Cloud Identity and purchase entitlements on their behalf. You can omit this token after authorization. See https://support.google.com/a/answer/7643790 for more details.", +"type": "string" +}, +"entitlements": { +"description": "Required. The new entitlements to create or transfer.", +"items": { +"$ref": "GoogleCloudChannelV1Entitlement" +}, +"type": "array" +}, +"requestId": { +"description": "Optional. You can specify an optional unique request ID, and if you need to retry your request, the server will know to ignore the request if it's complete. For example, 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 it received the original operation with the same request ID. If it did, it will ignore the second request. The request ID must be a valid [UUID](https://tools.ietf.org/html/rfc4122) with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1TransferEntitlementsResponse": { +"description": "Response message for CloudChannelService.TransferEntitlements. This is put in the response field of google.longrunning.Operation.", +"id": "GoogleCloudChannelV1TransferEntitlementsResponse", +"properties": { +"entitlements": { +"description": "The transferred entitlements.", +"items": { +"$ref": "GoogleCloudChannelV1Entitlement" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1TransferEntitlementsToGoogleRequest": { +"description": "Request message for CloudChannelService.TransferEntitlementsToGoogle.", +"id": "GoogleCloudChannelV1TransferEntitlementsToGoogleRequest", +"properties": { +"entitlements": { +"description": "Required. The entitlements to transfer to Google.", +"items": { +"$ref": "GoogleCloudChannelV1Entitlement" +}, +"type": "array" +}, +"requestId": { +"description": "Optional. You can specify an optional unique request ID, and if you need to retry your request, the server will know to ignore the request if it's complete. For example, 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 it received the original operation with the same request ID. If it did, it will ignore the second request. The request ID must be a valid [UUID](https://tools.ietf.org/html/rfc4122) with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1TransferableOffer": { +"description": "TransferableOffer represents an Offer that can be used in Transfer. Read-only.", +"id": "GoogleCloudChannelV1TransferableOffer", +"properties": { +"offer": { +"$ref": "GoogleCloudChannelV1Offer", +"description": "Offer with parameter constraints updated to allow the Transfer." +}, +"priceReferenceId": { +"description": "Optional. Price reference ID for the offer. Optional field only for offers that require additional price information. Used to guarantee that the pricing is consistent between quoting the offer and placing the order.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1TransferableSku": { +"description": "TransferableSku represents information a reseller needs to view existing provisioned services for a customer that they do not own. Read-only.", +"id": "GoogleCloudChannelV1TransferableSku", +"properties": { +"legacySku": { +"$ref": "GoogleCloudChannelV1Sku", +"description": "Optional. The customer to transfer has an entitlement with the populated legacy SKU." +}, +"sku": { +"$ref": "GoogleCloudChannelV1Sku", +"description": "The SKU pertaining to the provisioning resource as specified in the Offer." +}, +"transferEligibility": { +"$ref": "GoogleCloudChannelV1TransferEligibility", +"description": "Describes the transfer eligibility of a SKU." +} +}, +"type": "object" +}, +"GoogleCloudChannelV1TrialSettings": { +"description": "Settings for trial offers.", +"id": "GoogleCloudChannelV1TrialSettings", +"properties": { +"endTime": { +"description": "Date when the trial ends. The value is in milliseconds using the UNIX Epoch format. See an example [Epoch converter](https://www.epochconverter.com).", +"format": "google-datetime", +"type": "string" +}, +"trial": { +"description": "Determines if the entitlement is in a trial or not: * `true` - The entitlement is in trial. * `false` - The entitlement is not in trial.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1UnregisterSubscriberRequest": { +"description": "Request Message for UnregisterSubscriber.", +"id": "GoogleCloudChannelV1UnregisterSubscriberRequest", +"properties": { +"account": { +"description": "Optional. Resource name of the account. Required if integrator is not provided. Otherwise, leave this field empty/unset.", +"type": "string" +}, +"integrator": { +"description": "Optional. Resource name of the integrator. Required if account is not provided. Otherwise, leave this field empty/unset.", +"type": "string" +}, +"serviceAccount": { +"description": "Required. Service account to unregister from subscriber access to the topic.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1UnregisterSubscriberResponse": { +"description": "Response Message for UnregisterSubscriber.", +"id": "GoogleCloudChannelV1UnregisterSubscriberResponse", +"properties": { +"topic": { +"description": "Name of the topic the service account subscriber access was removed from.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1UpdateChannelPartnerLinkRequest": { +"description": "Request message for CloudChannelService.UpdateChannelPartnerLink", +"id": "GoogleCloudChannelV1UpdateChannelPartnerLinkRequest", +"properties": { +"channelPartnerLink": { +"$ref": "GoogleCloudChannelV1ChannelPartnerLink", +"description": "Required. The channel partner link to update. Only channel_partner_link.link_state is allowed for updates." +}, +"updateMask": { +"description": "Required. The update mask that applies to the resource. The only allowable value for an update mask is channel_partner_link.link_state.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1Value": { +"description": "Data type and value of a parameter.", +"id": "GoogleCloudChannelV1Value", +"properties": { +"boolValue": { +"description": "Represents a boolean value.", +"type": "boolean" +}, +"doubleValue": { +"description": "Represents a double value.", +"format": "double", +"type": "number" +}, +"int64Value": { +"description": "Represents an int64 value.", +"format": "int64", +"type": "string" +}, +"protoValue": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Represents an 'Any' proto value.", +"type": "object" +}, +"stringValue": { +"description": "Represents a string value.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1alpha1AssociationInfo": { +"description": "Association links that an entitlement has to other entitlements.", +"id": "GoogleCloudChannelV1alpha1AssociationInfo", +"properties": { +"baseEntitlement": { +"description": "The name of the base entitlement, for which this entitlement is an add-on.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1alpha1ChannelPartnerEvent": { +"description": "Represents Pub/Sub messages about updates to a Channel Partner. You can retrieve updated values through the ChannelPartnerLinks API.", +"id": "GoogleCloudChannelV1alpha1ChannelPartnerEvent", +"properties": { +"channelPartner": { +"description": "Resource name for the Channel Partner Link. Channel_partner uses the format: accounts/{account_id}/channelPartnerLinks/{channel_partner_id}", +"type": "string" +}, +"eventType": { +"description": "Type of event which happened for the channel partner.", +"enum": [ +"TYPE_UNSPECIFIED", +"LINK_STATE_CHANGED", +"PARTNER_ADVANTAGE_INFO_CHANGED" +], +"enumDescriptions": [ +"Default value. Does not display if there are no errors.", +"The Channel Partner link state changed.", +"The Channel Partner's Partner Advantage information changed. This can entail the Channel Partner's authorization to sell a product in a particular region." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1alpha1Column": { +"deprecated": true, +"description": "The definition of a report column. Specifies the data properties in the corresponding position of the report rows.", +"id": "GoogleCloudChannelV1alpha1Column", +"properties": { +"columnId": { +"description": "The unique name of the column (for example, customer_domain, channel_partner, customer_cost). You can use column IDs in RunReportJobRequest.filter. To see all reports and their columns, call CloudChannelReportsService.ListReports.", +"type": "string" +}, +"dataType": { +"description": "The type of the values for this column.", +"enum": [ +"DATA_TYPE_UNSPECIFIED", +"STRING", +"INT", +"DECIMAL", +"MONEY", +"DATE", +"DATE_TIME" +], +"enumDescriptions": [ +"Not used.", +"ReportValues for this column will use string_value.", +"ReportValues for this column will use int_value.", +"ReportValues for this column will use decimal_value.", +"ReportValues for this column will use money_value.", +"ReportValues for this column will use date_value.", +"ReportValues for this column will use date_time_value." +], +"type": "string" +}, +"displayName": { +"description": "The column's display name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1alpha1CommitmentSettings": { +"description": "Commitment settings for commitment-based offers.", +"id": "GoogleCloudChannelV1alpha1CommitmentSettings", +"properties": { +"endTime": { +"description": "Output only. Commitment end timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"renewalSettings": { +"$ref": "GoogleCloudChannelV1alpha1RenewalSettings", +"description": "Optional. Renewal settings applicable for a commitment-based Offer." +}, +"startTime": { +"description": "Output only. Commitment start timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1alpha1CustomerEvent": { +"description": "Represents Pub/Sub message content describing customer update.", +"id": "GoogleCloudChannelV1alpha1CustomerEvent", +"properties": { +"customer": { +"description": "Resource name of the customer. Format: accounts/{account_id}/customers/{customer_id}", +"type": "string" +}, +"eventType": { +"description": "Type of event which happened for the customer.", +"enum": [ +"TYPE_UNSPECIFIED", +"PRIMARY_DOMAIN_CHANGED", +"PRIMARY_DOMAIN_VERIFIED" +], +"enumDescriptions": [ +"Not used.", +"Primary domain for customer was changed.", +"Primary domain of the customer has been verified." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1alpha1DateRange": { +"deprecated": true, +"description": "A representation of usage or invoice date ranges.", +"id": "GoogleCloudChannelV1alpha1DateRange", +"properties": { +"invoiceEndDate": { +"$ref": "GoogleTypeDate", +"description": "The latest invoice date (inclusive). If this value is not the last day of a month, this will move it forward to the last day of the given month." +}, +"invoiceStartDate": { +"$ref": "GoogleTypeDate", +"description": "The earliest invoice date (inclusive). If this value is not the first day of a month, this will move it back to the first day of the given month." +}, +"usageEndDateTime": { +"$ref": "GoogleTypeDateTime", +"description": "The latest usage date time (exclusive). If you use time groupings (daily, weekly, etc), each group uses midnight to midnight (Pacific time). The usage end date is rounded down to include all usage from the specified date. We recommend that clients pass `usage_start_date_time` in Pacific time." +}, +"usageStartDateTime": { +"$ref": "GoogleTypeDateTime", +"description": "The earliest usage date time (inclusive). If you use time groupings (daily, weekly, etc), each group uses midnight to midnight (Pacific time). The usage start date is rounded down to include all usage from the specified date. We recommend that clients pass `usage_start_date_time` in Pacific time." +} +}, +"type": "object" +}, +"GoogleCloudChannelV1alpha1Entitlement": { +"description": "An entitlement is a representation of a customer's ability to use a service.", +"id": "GoogleCloudChannelV1alpha1Entitlement", +"properties": { +"assignedUnits": { +"deprecated": true, +"description": "The current number of users that are assigned a license for the product defined in provisioned_service.skuId. Read-only. Deprecated: Use `parameters` instead.", +"format": "int32", +"type": "integer" +}, +"associationInfo": { +"$ref": "GoogleCloudChannelV1alpha1AssociationInfo", +"description": "Association information to other entitlements." +}, +"billingAccount": { +"description": "Optional. The billing account resource name that is used to pay for this entitlement.", +"type": "string" +}, +"channelPartnerId": { +"deprecated": true, +"description": "Cloud Identity ID of a channel partner who will be the direct reseller for the customer's order. This field is generally used in 2-tier ordering, where the order is placed by a top-level distributor on behalf of their channel partner or reseller. Required for distributors. Deprecated: `channel_partner_id` has been moved to the Customer.", +"type": "string" +}, +"commitmentSettings": { +"$ref": "GoogleCloudChannelV1alpha1CommitmentSettings", +"description": "Commitment settings for a commitment-based Offer. Required for commitment based offers." +}, +"createTime": { +"description": "Output only. The time at which the entitlement is created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"maxUnits": { +"deprecated": true, +"description": "Maximum number of units for a non commitment-based Offer, such as Flexible, Trial or Free entitlements. For commitment-based entitlements, this is a read-only field, which only the internal support team can update. Deprecated: Use `parameters` instead.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "Output only. Resource name of an entitlement in the form: accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}.", +"readOnly": true, +"type": "string" +}, +"numUnits": { +"deprecated": true, +"description": "Number of units for a commitment-based Offer. For example, for seat-based Offers, this would be the number of seats; for license-based Offers, this would be the number of licenses. Required for creating commitment-based Offers. Deprecated: Use `parameters` instead.", +"format": "int32", +"type": "integer" +}, +"offer": { +"description": "Required. The offer resource name for which the entitlement is to be created. Takes the form: accounts/{account_id}/offers/{offer_id}.", +"type": "string" +}, +"parameters": { +"description": "Extended entitlement parameters. When creating an entitlement, valid parameter names and values are defined in the Offer.parameter_definitions. For Google Workspace, the following Parameters may be accepted as input: - max_units: The maximum assignable units for a flexible offer OR - num_units: The total commitment for commitment-based offers The response may additionally include the following output-only Parameters: - assigned_units: The number of licenses assigned to users. For Google Cloud billing subaccounts, the following Parameter may be accepted as input: - display_name: The display name of the billing subaccount.", +"items": { +"$ref": "GoogleCloudChannelV1alpha1Parameter" +}, +"type": "array" +}, +"priceReferenceId": { +"description": "Optional. Price reference ID for the offer. Optional field only for offers that require additional price information. Used to guarantee that the pricing is consistent between quoting the offer and placing the order. Not yet implemented: if this field is populated in a request, it isn't evaluated in the API.", +"type": "string" +}, +"provisionedService": { +"$ref": "GoogleCloudChannelV1alpha1ProvisionedService", +"description": "Output only. Service provisioning details for the entitlement.", +"readOnly": true +}, +"provisioningState": { +"description": "Output only. Current provisioning state of the entitlement.", +"enum": [ +"PROVISIONING_STATE_UNSPECIFIED", +"ACTIVE", +"CANCELED", +"COMPLETE", +"PENDING", +"SUSPENDED" +], +"enumDeprecated": [ +false, +false, +true, +true, +true, +false +], +"enumDescriptions": [ +"Not used.", +"The entitlement is currently active.", +"The entitlement was canceled. After an entitlement is `CANCELED`, its status will not change. Deprecated: Canceled entitlements will no longer be visible.", +"The entitlement reached end of term and was not renewed. After an entitlement is `COMPLETE`, its status will not change. Deprecated: This is represented as ProvisioningState=SUSPENDED and suspensionReason in (TRIAL_ENDED, RENEWAL_WITH_TYPE_CANCEL)", +"The entitlement is pending. Deprecated: This is represented as ProvisioningState=SUSPENDED and suspensionReason=PENDING_TOS_ACCEPTANCE", +"The entitlement is currently suspended." +], +"readOnly": true, +"type": "string" +}, +"purchaseOrderId": { +"description": "Optional. This purchase order (PO) information is for resellers to use for their company tracking usage. If a purchaseOrderId value is given, it appears in the API responses and shows up in the invoice. The property accepts up to 80 plain text characters. This is only supported for Google Workspace entitlements.", +"type": "string" +}, +"suspensionReasons": { +"description": "Output only. Enumerable of all current suspension reasons for an entitlement.", +"items": { +"enum": [ +"SUSPENSION_REASON_UNSPECIFIED", +"RESELLER_INITIATED", +"TRIAL_ENDED", +"RENEWAL_WITH_TYPE_CANCEL", +"PENDING_TOS_ACCEPTANCE", +"OTHER" +], +"enumDescriptions": [ +"Not used.", +"Entitlement was manually suspended by the Reseller.", +"Trial ended.", +"Entitlement renewal was canceled.", +"Entitlement was automatically suspended on creation for pending ToS acceptance on customer.", +"Other reasons (internal reasons, abuse, etc.)." +], +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"trialSettings": { +"$ref": "GoogleCloudChannelV1alpha1TrialSettings", +"description": "Output only. Settings for trial offers.", +"readOnly": true +}, +"updateTime": { +"description": "Output only. The time at which the entitlement is updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1alpha1EntitlementEvent": { +"description": "Represents Pub/Sub message content describing entitlement update.", +"id": "GoogleCloudChannelV1alpha1EntitlementEvent", +"properties": { +"entitlement": { +"description": "Resource name of an entitlement of the form: accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}", +"type": "string" +}, +"eventType": { +"description": "Type of event which happened for the entitlement.", +"enum": [ +"TYPE_UNSPECIFIED", +"CREATED", +"PRICE_PLAN_SWITCHED", +"COMMITMENT_CHANGED", +"RENEWED", +"SUSPENDED", +"ACTIVATED", +"CANCELLED", +"SKU_CHANGED", +"RENEWAL_SETTING_CHANGED", +"PAID_SERVICE_STARTED", +"LICENSE_ASSIGNMENT_CHANGED", +"LICENSE_CAP_CHANGED" +], +"enumDescriptions": [ +"Not used.", +"A new entitlement was created.", +"The offer type associated with an entitlement was changed. This is not triggered if an entitlement converts from a commit offer to a flexible offer as part of a renewal.", +"Annual commitment for a commit plan was changed.", +"An annual entitlement was renewed.", +"Entitlement was suspended.", +"Entitlement was unsuspended.", +"Entitlement was cancelled.", +"Entitlement was upgraded or downgraded (e.g. from Google Workspace Business Standard to Google Workspace Business Plus).", +"The renewal settings of an entitlement has changed.", +"Paid service has started on trial entitlement.", +"License was assigned to or revoked from a user.", +"License cap was changed for the entitlement." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1alpha1OperationMetadata": { +"description": "Provides contextual information about a google.longrunning.Operation.", +"id": "GoogleCloudChannelV1alpha1OperationMetadata", +"properties": { +"operationType": { +"description": "The RPC that initiated this Long Running Operation.", +"enum": [ +"OPERATION_TYPE_UNSPECIFIED", +"CREATE_ENTITLEMENT", +"CHANGE_QUANTITY", +"CHANGE_RENEWAL_SETTINGS", +"CHANGE_PLAN", +"START_PAID_SERVICE", +"CHANGE_SKU", +"ACTIVATE_ENTITLEMENT", +"SUSPEND_ENTITLEMENT", +"CANCEL_ENTITLEMENT", +"TRANSFER_ENTITLEMENTS", +"TRANSFER_ENTITLEMENTS_TO_GOOGLE", +"CHANGE_OFFER", +"CHANGE_PARAMETERS", +"PROVISION_CLOUD_IDENTITY" +], +"enumDescriptions": [ +"Not used.", +"Long Running Operation was triggered by CreateEntitlement.", +"Long Running Operation was triggered by ChangeQuantity.", +"Long Running Operation was triggered by ChangeRenewalSettings.", +"Long Running Operation was triggered by ChangePlan.", +"Long Running Operation was triggered by StartPaidService.", +"Long Running Operation was triggered by ChangeSku.", +"Long Running Operation was triggered by ActivateEntitlement.", +"Long Running Operation was triggered by SuspendEntitlement.", +"Long Running Operation was triggered by CancelEntitlement.", +"Long Running Operation was triggered by TransferEntitlements.", +"Long Running Operation was triggered by TransferEntitlementsToGoogle.", +"Long Running Operation was triggered by ChangeOffer.", +"Long Running Operation was triggered by ChangeParameters.", +"Long Running Operation was triggered by ProvisionCloudIdentity." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1alpha1OpportunityEvent": { +"description": "Represents Pub/Sub message content describing opportunity updates.", +"id": "GoogleCloudChannelV1alpha1OpportunityEvent", +"properties": { +"eventType": { +"description": "Type of event which happened for the opportunity.", +"enum": [ +"TYPE_UNSPECIFIED", +"CREATED", +"UPDATED" +], +"enumDescriptions": [ +"Not used.", +"New opportunity created.", +"Existing opportunity updated." +], +"type": "string" +}, +"opportunity": { +"description": "Resource name of the opportunity. Format: opportunities/{opportunity}", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1alpha1Parameter": { +"description": "Definition for extended entitlement parameters.", +"id": "GoogleCloudChannelV1alpha1Parameter", +"properties": { +"editable": { +"description": "Output only. Specifies whether this parameter is allowed to be changed. For example, for a Google Workspace Business Starter entitlement in commitment plan, num_units is editable when entitlement is active.", +"readOnly": true, +"type": "boolean" +}, +"name": { +"description": "Name of the parameter.", +"type": "string" +}, +"value": { +"$ref": "GoogleCloudChannelV1alpha1Value", +"description": "Value of the parameter." +} +}, +"type": "object" +}, +"GoogleCloudChannelV1alpha1Period": { +"description": "Represents period in days/months/years.", +"id": "GoogleCloudChannelV1alpha1Period", +"properties": { +"duration": { +"description": "Total duration of Period Type defined.", +"format": "int32", +"type": "integer" +}, +"periodType": { +"description": "Period Type.", +"enum": [ +"PERIOD_TYPE_UNSPECIFIED", +"DAY", +"MONTH", +"YEAR" +], +"enumDescriptions": [ +"Not used.", +"Day.", +"Month.", +"Year." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1alpha1ProvisionedService": { +"description": "Service provisioned for an entitlement.", +"id": "GoogleCloudChannelV1alpha1ProvisionedService", +"properties": { +"productId": { +"description": "Output only. The product pertaining to the provisioning resource as specified in the Offer.", +"readOnly": true, +"type": "string" +}, +"provisioningId": { +"description": "Output only. Provisioning ID of the entitlement. For Google Workspace, this is the underlying Subscription ID. For Google Cloud, this is the Billing Account ID of the billing subaccount.", +"readOnly": true, +"type": "string" +}, +"skuId": { +"description": "Output only. The SKU pertaining to the provisioning resource as specified in the Offer.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1alpha1RenewalSettings": { +"description": "Renewal settings for renewable Offers.", +"id": "GoogleCloudChannelV1alpha1RenewalSettings", +"properties": { +"disableCommitment": { +"deprecated": true, +"description": "If true, disables commitment-based offer on renewal and switches to flexible or pay as you go. Deprecated: Use `payment_plan` instead.", +"type": "boolean" +}, +"enableRenewal": { +"description": "If false, the plan will be completed at the end date.", +"type": "boolean" +}, +"paymentCycle": { +"$ref": "GoogleCloudChannelV1alpha1Period", +"description": "Describes how frequently the reseller will be billed, such as once per month." +}, +"paymentOption": { +"deprecated": true, +"description": "Set if enable_renewal=true. Deprecated: Use `payment_cycle` instead.", +"enum": [ +"PAYMENT_OPTION_UNSPECIFIED", +"ANNUAL", +"MONTHLY" +], +"enumDescriptions": [ +"Not used.", +"Paid in yearly installments.", +"Paid in monthly installments." +], +"type": "string" +}, +"paymentPlan": { +"description": "Describes how a reseller will be billed.", +"enum": [ +"PAYMENT_PLAN_UNSPECIFIED", +"COMMITMENT", +"FLEXIBLE", +"FREE", +"TRIAL", +"OFFLINE" +], +"enumDescriptions": [ +"Not used.", +"Commitment.", +"No commitment.", +"Free.", +"Trial.", +"Price and ordering not available through API." +], +"type": "string" +}, +"resizeUnitCount": { +"description": "If true and enable_renewal = true, the unit (for example seats or licenses) will be set to the number of active units at renewal time.", +"type": "boolean" +}, +"scheduledRenewalOffer": { +"description": "Output only. The offer resource name that the entitlement will renew on at the end date. Takes the form: accounts/{account_id}/offers/{offer_id}.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1alpha1Report": { +"deprecated": true, +"description": "The ID and description of a report that was used to generate report data. For example, \"Google Cloud Daily Spend\", \"Google Workspace License Activity\", etc.", +"id": "GoogleCloudChannelV1alpha1Report", +"properties": { +"columns": { +"description": "The list of columns included in the report. This defines the schema of the report results.", +"items": { +"$ref": "GoogleCloudChannelV1alpha1Column" +}, +"type": "array" +}, +"description": { +"description": "A description of other aspects of the report, such as the products it supports.", +"type": "string" +}, +"displayName": { +"description": "A human-readable name for this report.", +"type": "string" +}, +"name": { +"description": "Required. The report's resource name. Specifies the account and report used to generate report data. The report_id identifier is a UID (for example, `613bf59q`). Name uses the format: accounts/{account_id}/reports/{report_id}", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1alpha1ReportJob": { +"deprecated": true, +"description": "The result of a RunReportJob operation. Contains the name to use in FetchReportResultsRequest.report_job and the status of the operation.", +"id": "GoogleCloudChannelV1alpha1ReportJob", +"properties": { +"name": { +"description": "Required. The resource name of a report job. Name uses the format: `accounts/{account_id}/reportJobs/{report_job_id}`", +"type": "string" +}, +"reportStatus": { +"$ref": "GoogleCloudChannelV1alpha1ReportStatus", +"description": "The current status of report generation." +} +}, +"type": "object" +}, +"GoogleCloudChannelV1alpha1ReportResultsMetadata": { +"deprecated": true, +"description": "The features describing the data. Returned by CloudChannelReportsService.RunReportJob and CloudChannelReportsService.FetchReportResults.", +"id": "GoogleCloudChannelV1alpha1ReportResultsMetadata", +"properties": { +"dateRange": { +"$ref": "GoogleCloudChannelV1alpha1DateRange", +"description": "The date range of reported usage." +}, +"precedingDateRange": { +"$ref": "GoogleCloudChannelV1alpha1DateRange", +"description": "The usage dates immediately preceding `date_range` with the same duration. Use this to calculate trending usage and costs. This is only populated if you request trending data. For example, if `date_range` is July 1-15, `preceding_date_range` will be June 16-30." +}, +"report": { +"$ref": "GoogleCloudChannelV1alpha1Report", +"description": "Details of the completed report." +}, +"rowCount": { +"description": "The total number of rows of data in the final report.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1alpha1ReportStatus": { +"deprecated": true, +"description": "Status of a report generation process.", +"id": "GoogleCloudChannelV1alpha1ReportStatus", +"properties": { +"endTime": { +"description": "The report generation's completion time.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "The report generation's start time.", +"format": "google-datetime", +"type": "string" +}, +"state": { +"description": "The current state of the report generation process.", +"enum": [ +"STATE_UNSPECIFIED", +"STARTED", +"WRITING", +"AVAILABLE", +"FAILED" +], +"enumDescriptions": [ +"Not used.", +"Report processing started.", +"Data generated from the report is being staged.", +"Report data is available for access.", +"Report failed." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1alpha1RunReportJobResponse": { +"deprecated": true, +"description": "Response message for CloudChannelReportsService.RunReportJob.", +"id": "GoogleCloudChannelV1alpha1RunReportJobResponse", +"properties": { +"reportJob": { +"$ref": "GoogleCloudChannelV1alpha1ReportJob", +"description": "Pass `report_job.name` to FetchReportResultsRequest.report_job to retrieve the report's results." +}, +"reportMetadata": { +"$ref": "GoogleCloudChannelV1alpha1ReportResultsMetadata", +"description": "The metadata for the report's results (display name, columns, row count, and date range). If you view this before the operation finishes, you may see incomplete data." +} +}, +"type": "object" +}, +"GoogleCloudChannelV1alpha1SubscriberEvent": { +"description": "Represents information which resellers will get as part of notification from Pub/Sub.", +"id": "GoogleCloudChannelV1alpha1SubscriberEvent", +"properties": { +"channelPartnerEvent": { +"$ref": "GoogleCloudChannelV1alpha1ChannelPartnerEvent", +"description": "Channel Partner event sent as part of Pub/Sub event to partners." +}, +"customerEvent": { +"$ref": "GoogleCloudChannelV1alpha1CustomerEvent", +"description": "Customer event sent as part of Pub/Sub event to partners." +}, +"entitlementEvent": { +"$ref": "GoogleCloudChannelV1alpha1EntitlementEvent", +"description": "Entitlement event sent as part of Pub/Sub event to partners." +}, +"opportunityEvent": { +"$ref": "GoogleCloudChannelV1alpha1OpportunityEvent", +"description": "Opportunity event sent as part of Pub/Sub event to partners/integrators." +} +}, +"type": "object" +}, +"GoogleCloudChannelV1alpha1TransferEntitlementsResponse": { +"description": "Response message for CloudChannelService.TransferEntitlements. This is put in the response field of google.longrunning.Operation.", +"id": "GoogleCloudChannelV1alpha1TransferEntitlementsResponse", +"properties": { +"entitlements": { +"description": "The transferred entitlements.", +"items": { +"$ref": "GoogleCloudChannelV1alpha1Entitlement" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1alpha1TrialSettings": { +"description": "Settings for trial offers.", +"id": "GoogleCloudChannelV1alpha1TrialSettings", +"properties": { +"endTime": { +"description": "Date when the trial ends. The value is in milliseconds using the UNIX Epoch format. See an example [Epoch converter](https://www.epochconverter.com).", +"format": "google-datetime", +"type": "string" +}, +"trial": { +"description": "Determines if the entitlement is in a trial or not: * `true` - The entitlement is in trial. * `false` - The entitlement is not in trial.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudChannelV1alpha1Value": { +"description": "Data type and value of a parameter.", +"id": "GoogleCloudChannelV1alpha1Value", +"properties": { +"boolValue": { +"description": "Represents a boolean value.", +"type": "boolean" +}, +"doubleValue": { +"description": "Represents a double value.", +"format": "double", +"type": "number" +}, +"int64Value": { +"description": "Represents an int64 value.", +"format": "int64", +"type": "string" +}, +"protoValue": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Represents an 'Any' proto value.", +"type": "object" +}, +"stringValue": { +"description": "Represents a string value.", +"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" +}, +"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" +}, +"GoogleTypeDecimal": { +"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": "GoogleTypeDecimal", +"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" +}, +"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" +}, +"GoogleTypePostalAddress": { +"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": "GoogleTypePostalAddress", +"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" +}, +"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": "Cloud Channel 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/cloudiot.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudiot.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..e53c2bf94c77a3a2a6d87382ff5e3d7be7b72845 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudiot.v1.json @@ -0,0 +1,1693 @@ +{ + "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/cloudiot": { + "description": "Register and manage devices in the Google Cloud IoT service" + } + } + } + }, + "basePath": "", + "baseUrl": "https://cloudiot.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Cloud Iot", + "description": "Registers and manages IoT (Internet of Things) devices that connect to the Google Cloud Platform. ", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/iot", + "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": "cloudiot:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://cloudiot.mtls.googleapis.com/", + "name": "cloudiot", + "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": { + "registries": { + "methods": { + "bindDeviceToGateway": { + "description": "Associates the device with the gateway.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}:bindDeviceToGateway", + "httpMethod": "POST", + "id": "cloudiot.projects.locations.registries.bindDeviceToGateway", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the registry. For example, `projects/example-project/locations/us-central1/registries/my-registry`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}:bindDeviceToGateway", + "request": { + "$ref": "BindDeviceToGatewayRequest" + }, + "response": { + "$ref": "BindDeviceToGatewayResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ] + }, + "create": { + "description": "Creates a device registry that contains devices.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries", + "httpMethod": "POST", + "id": "cloudiot.projects.locations.registries.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The project and cloud region where this device registry must be created. For example, `projects/example-project/locations/us-central1`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/registries", + "request": { + "$ref": "DeviceRegistry" + }, + "response": { + "$ref": "DeviceRegistry" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ] + }, + "delete": { + "description": "Deletes a device registry configuration.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}", + "httpMethod": "DELETE", + "id": "cloudiot.projects.locations.registries.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the device registry. For example, `projects/example-project/locations/us-central1/registries/my-registry`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ] + }, + "get": { + "description": "Gets a device registry configuration.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}", + "httpMethod": "GET", + "id": "cloudiot.projects.locations.registries.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the device registry. For example, `projects/example-project/locations/us-central1/registries/my-registry`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "DeviceRegistry" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ] + }, + "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}/registries/{registriesId}:getIamPolicy", + "httpMethod": "POST", + "id": "cloudiot.projects.locations.registries.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/[^/]+/registries/[^/]+$", + "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/cloudiot" + ] + }, + "list": { + "description": "Lists device registries.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries", + "httpMethod": "GET", + "id": "cloudiot.projects.locations.registries.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of registries to return in the response. If this value is zero, the service will select a default size. A call may return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListDeviceRegistriesResponse`; indicates that this is a continuation of a prior `ListDeviceRegistries` call and the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and cloud region path. For example, `projects/example-project/locations/us-central1`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/registries", + "response": { + "$ref": "ListDeviceRegistriesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ] + }, + "patch": { + "description": "Updates a device registry configuration.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}", + "httpMethod": "PATCH", + "id": "cloudiot.projects.locations.registries.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource path name. For example, `projects/example-project/locations/us-central1/registries/my-registry`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Only updates the `device_registry` fields indicated by this mask. The field mask must not be empty, and it must not contain fields that are immutable or only set by the server. Mutable top-level fields: `event_notification_config`, `http_config`, `mqtt_config`, and `state_notification_config`.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "DeviceRegistry" + }, + "response": { + "$ref": "DeviceRegistry" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}:setIamPolicy", + "httpMethod": "POST", + "id": "cloudiot.projects.locations.registries.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/[^/]+/registries/[^/]+$", + "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/cloudiot" + ] + }, + "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}/locations/{locationsId}/registries/{registriesId}:testIamPermissions", + "httpMethod": "POST", + "id": "cloudiot.projects.locations.registries.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/[^/]+/registries/[^/]+$", + "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/cloudiot" + ] + }, + "unbindDeviceFromGateway": { + "description": "Deletes the association between the device and the gateway.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}:unbindDeviceFromGateway", + "httpMethod": "POST", + "id": "cloudiot.projects.locations.registries.unbindDeviceFromGateway", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the registry. For example, `projects/example-project/locations/us-central1/registries/my-registry`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}:unbindDeviceFromGateway", + "request": { + "$ref": "UnbindDeviceFromGatewayRequest" + }, + "response": { + "$ref": "UnbindDeviceFromGatewayResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ] + } + }, + "resources": { + "devices": { + "methods": { + "create": { + "description": "Creates a device in a device registry.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices", + "httpMethod": "POST", + "id": "cloudiot.projects.locations.registries.devices.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the device registry where this device should be created. For example, `projects/example-project/locations/us-central1/registries/my-registry`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/devices", + "request": { + "$ref": "Device" + }, + "response": { + "$ref": "Device" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ] + }, + "delete": { + "description": "Deletes a device.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}", + "httpMethod": "DELETE", + "id": "cloudiot.projects.locations.registries.devices.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ] + }, + "get": { + "description": "Gets details about a device.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}", + "httpMethod": "GET", + "id": "cloudiot.projects.locations.registries.devices.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "fieldMask": { + "description": "The fields of the `Device` resource to be returned in the response. If the field mask is unset or empty, all fields are returned. Fields have to be provided in snake_case format, for example: `last_heartbeat_time`.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Device" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ] + }, + "list": { + "description": "List devices in a device registry.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices", + "httpMethod": "GET", + "id": "cloudiot.projects.locations.registries.devices.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "deviceIds": { + "description": "A list of device string IDs. For example, `['device0', 'device12']`. If empty, this field is ignored. Maximum IDs: 10,000", + "location": "query", + "repeated": true, + "type": "string" + }, + "deviceNumIds": { + "description": "A list of device numeric IDs. If empty, this field is ignored. Maximum IDs: 10,000.", + "format": "uint64", + "location": "query", + "repeated": true, + "type": "string" + }, + "fieldMask": { + "description": "The fields of the `Device` resource to be returned in the response. The fields `id` and `num_id` are always returned, along with any other fields specified in snake_case format, for example: `last_heartbeat_time`.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "gatewayListOptions.associationsDeviceId": { + "description": "If set, returns only the gateways with which the specified device is associated. The device ID can be numeric (`num_id`) or the user-defined string (`id`). For example, if `456` is specified, returns only the gateways to which the device with `num_id` 456 is bound.", + "location": "query", + "type": "string" + }, + "gatewayListOptions.associationsGatewayId": { + "description": "If set, only devices associated with the specified gateway are returned. The gateway ID can be numeric (`num_id`) or the user-defined string (`id`). For example, if `123` is specified, only devices bound to the gateway with `num_id` 123 are returned.", + "location": "query", + "type": "string" + }, + "gatewayListOptions.gatewayType": { + "description": "If `GATEWAY` is specified, only gateways are returned. If `NON_GATEWAY` is specified, only non-gateway devices are returned. If `GATEWAY_TYPE_UNSPECIFIED` is specified, all devices are returned.", + "enum": [ + "GATEWAY_TYPE_UNSPECIFIED", + "GATEWAY", + "NON_GATEWAY" + ], + "enumDescriptions": [ + "If unspecified, the device is considered a non-gateway device.", + "The device is a gateway.", + "The device is not a gateway." + ], + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of devices to return in the response. If this value is zero, the service will select a default size. A call may return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListDevicesResponse`; indicates that this is a continuation of a prior `ListDevices` call and the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The device registry path. Required. For example, `projects/my-project/locations/us-central1/registries/my-registry`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/devices", + "response": { + "$ref": "ListDevicesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ] + }, + "modifyCloudToDeviceConfig": { + "description": "Modifies the configuration for the device, which is eventually sent from the Cloud IoT Core servers. Returns the modified configuration version and its metadata.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}:modifyCloudToDeviceConfig", + "httpMethod": "POST", + "id": "cloudiot.projects.locations.registries.devices.modifyCloudToDeviceConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:modifyCloudToDeviceConfig", + "request": { + "$ref": "ModifyCloudToDeviceConfigRequest" + }, + "response": { + "$ref": "DeviceConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ] + }, + "patch": { + "description": "Updates a device.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}", + "httpMethod": "PATCH", + "id": "cloudiot.projects.locations.registries.devices.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource path name. For example, `projects/p1/locations/us-central1/registries/registry0/devices/dev0` or `projects/p1/locations/us-central1/registries/registry0/devices/{num_id}`. When `name` is populated as a response from the service, it always ends in the device numeric ID.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Only updates the `device` fields indicated by this mask. The field mask must not be empty, and it must not contain fields that are immutable or only set by the server. Mutable top-level fields: `credentials`, `blocked`, and `metadata`", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Device" + }, + "response": { + "$ref": "Device" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ] + }, + "sendCommandToDevice": { + "description": "Sends a command to the specified device. In order for a device to be able to receive commands, it must: 1) be connected to Cloud IoT Core using the MQTT protocol, and 2) be subscribed to the group of MQTT topics specified by /devices/{device-id}/commands/#. This subscription will receive commands at the top-level topic /devices/{device-id}/commands as well as commands for subfolders, like /devices/{device-id}/commands/subfolder. Note that subscribing to specific subfolders is not supported. If the command could not be delivered to the device, this method will return an error; in particular, if the device is not subscribed, this method will return FAILED_PRECONDITION. Otherwise, this method will return OK. If the subscription is QoS 1, at least once delivery will be guaranteed; for QoS 0, no acknowledgment will be expected from the device.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}:sendCommandToDevice", + "httpMethod": "POST", + "id": "cloudiot.projects.locations.registries.devices.sendCommandToDevice", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:sendCommandToDevice", + "request": { + "$ref": "SendCommandToDeviceRequest" + }, + "response": { + "$ref": "SendCommandToDeviceResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ] + } + }, + "resources": { + "configVersions": { + "methods": { + "list": { + "description": "Lists the last few versions of the device configuration in descending order (i.e.: newest first).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}/configVersions", + "httpMethod": "GET", + "id": "cloudiot.projects.locations.registries.devices.configVersions.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + "required": true, + "type": "string" + }, + "numVersions": { + "description": "The number of versions to list. Versions are listed in decreasing order of the version number. The maximum number of versions retained is 10. If this value is zero, it will return all the versions available.", + "format": "int32", + "location": "query", + "type": "integer" + } + }, + "path": "v1/{+name}/configVersions", + "response": { + "$ref": "ListDeviceConfigVersionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ] + } + } + }, + "states": { + "methods": { + "list": { + "description": "Lists the last few versions of the device state in descending order (i.e.: newest first).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}/states", + "httpMethod": "GET", + "id": "cloudiot.projects.locations.registries.devices.states.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + "required": true, + "type": "string" + }, + "numStates": { + "description": "The number of states to list. States are listed in descending order of update time. The maximum number of states retained is 10. If this value is zero, it will return all the states available.", + "format": "int32", + "location": "query", + "type": "integer" + } + }, + "path": "v1/{+name}/states", + "response": { + "$ref": "ListDeviceStatesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ] + } + } + } + } + }, + "groups": { + "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}/registries/{registriesId}/groups/{groupsId}:getIamPolicy", + "httpMethod": "POST", + "id": "cloudiot.projects.locations.registries.groups.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/[^/]+/registries/[^/]+/groups/[^/]+$", + "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/cloudiot" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/groups/{groupsId}:setIamPolicy", + "httpMethod": "POST", + "id": "cloudiot.projects.locations.registries.groups.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/[^/]+/registries/[^/]+/groups/[^/]+$", + "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/cloudiot" + ] + }, + "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}/locations/{locationsId}/registries/{registriesId}/groups/{groupsId}:testIamPermissions", + "httpMethod": "POST", + "id": "cloudiot.projects.locations.registries.groups.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/[^/]+/registries/[^/]+/groups/[^/]+$", + "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/cloudiot" + ] + } + }, + "resources": { + "devices": { + "methods": { + "list": { + "description": "List devices in a device registry.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/groups/{groupsId}/devices", + "httpMethod": "GET", + "id": "cloudiot.projects.locations.registries.groups.devices.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "deviceIds": { + "description": "A list of device string IDs. For example, `['device0', 'device12']`. If empty, this field is ignored. Maximum IDs: 10,000", + "location": "query", + "repeated": true, + "type": "string" + }, + "deviceNumIds": { + "description": "A list of device numeric IDs. If empty, this field is ignored. Maximum IDs: 10,000.", + "format": "uint64", + "location": "query", + "repeated": true, + "type": "string" + }, + "fieldMask": { + "description": "The fields of the `Device` resource to be returned in the response. The fields `id` and `num_id` are always returned, along with any other fields specified in snake_case format, for example: `last_heartbeat_time`.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "gatewayListOptions.associationsDeviceId": { + "description": "If set, returns only the gateways with which the specified device is associated. The device ID can be numeric (`num_id`) or the user-defined string (`id`). For example, if `456` is specified, returns only the gateways to which the device with `num_id` 456 is bound.", + "location": "query", + "type": "string" + }, + "gatewayListOptions.associationsGatewayId": { + "description": "If set, only devices associated with the specified gateway are returned. The gateway ID can be numeric (`num_id`) or the user-defined string (`id`). For example, if `123` is specified, only devices bound to the gateway with `num_id` 123 are returned.", + "location": "query", + "type": "string" + }, + "gatewayListOptions.gatewayType": { + "description": "If `GATEWAY` is specified, only gateways are returned. If `NON_GATEWAY` is specified, only non-gateway devices are returned. If `GATEWAY_TYPE_UNSPECIFIED` is specified, all devices are returned.", + "enum": [ + "GATEWAY_TYPE_UNSPECIFIED", + "GATEWAY", + "NON_GATEWAY" + ], + "enumDescriptions": [ + "If unspecified, the device is considered a non-gateway device.", + "The device is a gateway.", + "The device is not a gateway." + ], + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of devices to return in the response. If this value is zero, the service will select a default size. A call may return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListDevicesResponse`; indicates that this is a continuation of a prior `ListDevices` call and the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The device registry path. Required. For example, `projects/my-project/locations/us-central1/registries/my-registry`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/groups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/devices", + "response": { + "$ref": "ListDevicesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ] + } + } + } + } + } + } + } + } + } + } + } + }, + "revision": "20230328", + "rootUrl": "https://cloudiot.googleapis.com/", + "schemas": { + "BindDeviceToGatewayRequest": { + "description": "Request for `BindDeviceToGateway`.", + "id": "BindDeviceToGatewayRequest", + "properties": { + "deviceId": { + "description": "Required. The device to associate with the specified gateway. The value of `device_id` can be either the device numeric ID or the user-defined device identifier.", + "type": "string" + }, + "gatewayId": { + "description": "Required. The value of `gateway_id` can be either the device numeric ID or the user-defined device identifier.", + "type": "string" + } + }, + "type": "object" + }, + "BindDeviceToGatewayResponse": { + "description": "Response for `BindDeviceToGateway`.", + "id": "BindDeviceToGatewayResponse", + "properties": {}, + "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" + }, + "Device": { + "description": "The device resource.", + "id": "Device", + "properties": { + "blocked": { + "description": "If a device is blocked, connections or requests from this device will fail. Can be used to temporarily prevent the device from connecting if, for example, the sensor is generating bad data and needs maintenance.", + "type": "boolean" + }, + "config": { + "$ref": "DeviceConfig", + "description": "The most recent device configuration, which is eventually sent from Cloud IoT Core to the device. If not present on creation, the configuration will be initialized with an empty payload and version value of `1`. To update this field after creation, use the `DeviceManager.ModifyCloudToDeviceConfig` method." + }, + "credentials": { + "description": "The credentials used to authenticate this device. To allow credential rotation without interruption, multiple device credentials can be bound to this device. No more than 3 credentials can be bound to a single device at a time. When new credentials are added to a device, they are verified against the registry credentials. For details, see the description of the `DeviceRegistry.credentials` field.", + "items": { + "$ref": "DeviceCredential" + }, + "type": "array" + }, + "gatewayConfig": { + "$ref": "GatewayConfig", + "description": "Gateway-related configuration and state." + }, + "id": { + "description": "The user-defined device identifier. The device ID must be unique within a device registry.", + "type": "string" + }, + "lastConfigAckTime": { + "description": "[Output only] The last time a cloud-to-device config version acknowledgment was received from the device. This field is only for configurations sent through MQTT.", + "format": "google-datetime", + "type": "string" + }, + "lastConfigSendTime": { + "description": "[Output only] The last time a cloud-to-device config version was sent to the device.", + "format": "google-datetime", + "type": "string" + }, + "lastErrorStatus": { + "$ref": "Status", + "description": "[Output only] The error message of the most recent error, such as a failure to publish to Cloud Pub/Sub. 'last_error_time' is the timestamp of this field. If no errors have occurred, this field has an empty message and the status code 0 == OK. Otherwise, this field is expected to have a status code other than OK." + }, + "lastErrorTime": { + "description": "[Output only] The time the most recent error occurred, such as a failure to publish to Cloud Pub/Sub. This field is the timestamp of 'last_error_status'.", + "format": "google-datetime", + "type": "string" + }, + "lastEventTime": { + "description": "[Output only] The last time a telemetry event was received. Timestamps are periodically collected and written to storage; they may be stale by a few minutes.", + "format": "google-datetime", + "type": "string" + }, + "lastHeartbeatTime": { + "description": "[Output only] The last time an MQTT `PINGREQ` was received. This field applies only to devices connecting through MQTT. MQTT clients usually only send `PINGREQ` messages if the connection is idle, and no other messages have been sent. Timestamps are periodically collected and written to storage; they may be stale by a few minutes.", + "format": "google-datetime", + "type": "string" + }, + "lastStateTime": { + "description": "[Output only] The last time a state event was received. Timestamps are periodically collected and written to storage; they may be stale by a few minutes.", + "format": "google-datetime", + "type": "string" + }, + "logLevel": { + "description": "**Beta Feature** The logging verbosity for device activity. If unspecified, DeviceRegistry.log_level will be used.", + "enum": [ + "LOG_LEVEL_UNSPECIFIED", + "NONE", + "ERROR", + "INFO", + "DEBUG" + ], + "enumDescriptions": [ + "No logging specified. If not specified, logging will be disabled.", + "Disables logging.", + "Error events will be logged.", + "Informational events will be logged, such as connections and disconnections.", + "All events will be logged." + ], + "type": "string" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "The metadata key-value pairs assigned to the device. This metadata is not interpreted or indexed by Cloud IoT Core. It can be used to add contextual information for the device. Keys must conform to the regular expression a-zA-Z+ and be less than 128 bytes in length. Values are free-form strings. Each value must be less than or equal to 32 KB in size. The total size of all keys and values must be less than 256 KB, and the maximum number of key-value pairs is 500.", + "type": "object" + }, + "name": { + "description": "The resource path name. For example, `projects/p1/locations/us-central1/registries/registry0/devices/dev0` or `projects/p1/locations/us-central1/registries/registry0/devices/{num_id}`. When `name` is populated as a response from the service, it always ends in the device numeric ID.", + "type": "string" + }, + "numId": { + "description": "[Output only] A server-defined unique numeric ID for the device. This is a more compact way to identify devices, and it is globally unique.", + "format": "uint64", + "type": "string" + }, + "state": { + "$ref": "DeviceState", + "description": "[Output only] The state most recently received from the device. If no state has been reported, this field is not present." + } + }, + "type": "object" + }, + "DeviceConfig": { + "description": "The device configuration. Eventually delivered to devices.", + "id": "DeviceConfig", + "properties": { + "binaryData": { + "description": "The device configuration data.", + "format": "byte", + "type": "string" + }, + "cloudUpdateTime": { + "description": "[Output only] The time at which this configuration version was updated in Cloud IoT Core. This timestamp is set by the server.", + "format": "google-datetime", + "type": "string" + }, + "deviceAckTime": { + "description": "[Output only] The time at which Cloud IoT Core received the acknowledgment from the device, indicating that the device has received this configuration version. If this field is not present, the device has not yet acknowledged that it received this version. Note that when the config was sent to the device, many config versions may have been available in Cloud IoT Core while the device was disconnected, and on connection, only the latest version is sent to the device. Some versions may never be sent to the device, and therefore are never acknowledged. This timestamp is set by Cloud IoT Core.", + "format": "google-datetime", + "type": "string" + }, + "version": { + "description": "[Output only] The version of this update. The version number is assigned by the server, and is always greater than 0 after device creation. The version must be 0 on the `CreateDevice` request if a `config` is specified; the response of `CreateDevice` will always have a value of 1.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "DeviceCredential": { + "description": "A server-stored device credential used for authentication.", + "id": "DeviceCredential", + "properties": { + "expirationTime": { + "description": "[Optional] The time at which this credential becomes invalid. This credential will be ignored for new client authentication requests after this timestamp; however, it will not be automatically deleted.", + "format": "google-datetime", + "type": "string" + }, + "publicKey": { + "$ref": "PublicKeyCredential", + "description": "A public key used to verify the signature of JSON Web Tokens (JWTs). When adding a new device credential, either via device creation or via modifications, this public key credential may be required to be signed by one of the registry level certificates. More specifically, if the registry contains at least one certificate, any new device credential must be signed by one of the registry certificates. As a result, when the registry contains certificates, only X.509 certificates are accepted as device credentials. However, if the registry does not contain a certificate, self-signed certificates and public keys will be accepted. New device credentials must be different from every registry-level certificate." + } + }, + "type": "object" + }, + "DeviceRegistry": { + "description": "A container for a group of devices.", + "id": "DeviceRegistry", + "properties": { + "credentials": { + "description": "The credentials used to verify the device credentials. No more than 10 credentials can be bound to a single registry at a time. The verification process occurs at the time of device creation or update. If this field is empty, no verification is performed. Otherwise, the credentials of a newly created device or added credentials of an updated device should be signed with one of these registry credentials. Note, however, that existing devices will never be affected by modifications to this list of credentials: after a device has been successfully created in a registry, it should be able to connect even if its registry credentials are revoked, deleted, or modified.", + "items": { + "$ref": "RegistryCredential" + }, + "type": "array" + }, + "eventNotificationConfigs": { + "description": "The configuration for notification of telemetry events received from the device. All telemetry events that were successfully published by the device and acknowledged by Cloud IoT Core are guaranteed to be delivered to Cloud Pub/Sub. If multiple configurations match a message, only the first matching configuration is used. If you try to publish a device telemetry event using MQTT without specifying a Cloud Pub/Sub topic for the device's registry, the connection closes automatically. If you try to do so using an HTTP connection, an error is returned. Up to 10 configurations may be provided.", + "items": { + "$ref": "EventNotificationConfig" + }, + "type": "array" + }, + "httpConfig": { + "$ref": "HttpConfig", + "description": "The DeviceService (HTTP) configuration for this device registry." + }, + "id": { + "description": "The identifier of this device registry. For example, `myRegistry`.", + "type": "string" + }, + "logLevel": { + "description": "**Beta Feature** The default logging verbosity for activity from devices in this registry. The verbosity level can be overridden by Device.log_level.", + "enum": [ + "LOG_LEVEL_UNSPECIFIED", + "NONE", + "ERROR", + "INFO", + "DEBUG" + ], + "enumDescriptions": [ + "No logging specified. If not specified, logging will be disabled.", + "Disables logging.", + "Error events will be logged.", + "Informational events will be logged, such as connections and disconnections.", + "All events will be logged." + ], + "type": "string" + }, + "mqttConfig": { + "$ref": "MqttConfig", + "description": "The MQTT configuration for this device registry." + }, + "name": { + "description": "The resource path name. For example, `projects/example-project/locations/us-central1/registries/my-registry`.", + "type": "string" + }, + "stateNotificationConfig": { + "$ref": "StateNotificationConfig", + "description": "The configuration for notification of new states received from the device. State updates are guaranteed to be stored in the state history, but notifications to Cloud Pub/Sub are not guaranteed. For example, if permissions are misconfigured or the specified topic doesn't exist, no notification will be published but the state will still be stored in Cloud IoT Core." + } + }, + "type": "object" + }, + "DeviceState": { + "description": "The device state, as reported by the device.", + "id": "DeviceState", + "properties": { + "binaryData": { + "description": "The device state data.", + "format": "byte", + "type": "string" + }, + "updateTime": { + "description": "[Output only] The time at which this state version was updated in Cloud IoT Core.", + "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" + }, + "EventNotificationConfig": { + "description": "The configuration for forwarding telemetry events.", + "id": "EventNotificationConfig", + "properties": { + "pubsubTopicName": { + "description": "A Cloud Pub/Sub topic name. For example, `projects/myProject/topics/deviceEvents`.", + "type": "string" + }, + "subfolderMatches": { + "description": "If the subfolder name matches this string exactly, this configuration will be used. The string must not include the leading '/' character. If empty, all strings are matched. This field is used only for telemetry events; subfolders are not supported for state changes.", + "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" + }, + "GatewayConfig": { + "description": "Gateway-related configuration and state.", + "id": "GatewayConfig", + "properties": { + "gatewayAuthMethod": { + "description": "Indicates how to authorize and/or authenticate devices to access the gateway.", + "enum": [ + "GATEWAY_AUTH_METHOD_UNSPECIFIED", + "ASSOCIATION_ONLY", + "DEVICE_AUTH_TOKEN_ONLY", + "ASSOCIATION_AND_DEVICE_AUTH_TOKEN" + ], + "enumDescriptions": [ + "No authentication/authorization method specified. No devices are allowed to access the gateway.", + "The device is authenticated through the gateway association only. Device credentials are ignored even if provided.", + "The device is authenticated through its own credentials. Gateway association is not checked.", + "The device is authenticated through both device credentials and gateway association. The device must be bound to the gateway and must provide its own credentials." + ], + "type": "string" + }, + "gatewayType": { + "description": "Indicates whether the device is a gateway.", + "enum": [ + "GATEWAY_TYPE_UNSPECIFIED", + "GATEWAY", + "NON_GATEWAY" + ], + "enumDescriptions": [ + "If unspecified, the device is considered a non-gateway device.", + "The device is a gateway.", + "The device is not a gateway." + ], + "type": "string" + }, + "lastAccessedGatewayId": { + "description": "[Output only] The ID of the gateway the device accessed most recently.", + "type": "string" + }, + "lastAccessedGatewayTime": { + "description": "[Output only] The most recent time at which the device accessed the gateway specified in `last_accessed_gateway`.", + "format": "google-datetime", + "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" + }, + "HttpConfig": { + "description": "The configuration of the HTTP bridge for a device registry.", + "id": "HttpConfig", + "properties": { + "httpEnabledState": { + "description": "If enabled, allows devices to use DeviceService via the HTTP protocol. Otherwise, any requests to DeviceService will fail for this registry.", + "enum": [ + "HTTP_STATE_UNSPECIFIED", + "HTTP_ENABLED", + "HTTP_DISABLED" + ], + "enumDescriptions": [ + "No HTTP state specified. If not specified, DeviceService will be enabled by default.", + "Enables DeviceService (HTTP) service for the registry.", + "Disables DeviceService (HTTP) service for the registry." + ], + "type": "string" + } + }, + "type": "object" + }, + "ListDeviceConfigVersionsResponse": { + "description": "Response for `ListDeviceConfigVersions`.", + "id": "ListDeviceConfigVersionsResponse", + "properties": { + "deviceConfigs": { + "description": "The device configuration for the last few versions. Versions are listed in decreasing order, starting from the most recent one.", + "items": { + "$ref": "DeviceConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListDeviceRegistriesResponse": { + "description": "Response for `ListDeviceRegistries`.", + "id": "ListDeviceRegistriesResponse", + "properties": { + "deviceRegistries": { + "description": "The registries that matched the query.", + "items": { + "$ref": "DeviceRegistry" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If not empty, indicates that there may be more registries that match the request; this value should be passed in a new `ListDeviceRegistriesRequest`.", + "type": "string" + } + }, + "type": "object" + }, + "ListDeviceStatesResponse": { + "description": "Response for `ListDeviceStates`.", + "id": "ListDeviceStatesResponse", + "properties": { + "deviceStates": { + "description": "The last few device states. States are listed in descending order of server update time, starting from the most recent one.", + "items": { + "$ref": "DeviceState" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListDevicesResponse": { + "description": "Response for `ListDevices`.", + "id": "ListDevicesResponse", + "properties": { + "devices": { + "description": "The devices that match the request.", + "items": { + "$ref": "Device" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If not empty, indicates that there may be more devices that match the request; this value should be passed in a new `ListDevicesRequest`.", + "type": "string" + } + }, + "type": "object" + }, + "ModifyCloudToDeviceConfigRequest": { + "description": "Request for `ModifyCloudToDeviceConfig`.", + "id": "ModifyCloudToDeviceConfigRequest", + "properties": { + "binaryData": { + "description": "Required. The configuration data for the device.", + "format": "byte", + "type": "string" + }, + "versionToUpdate": { + "description": "The version number to update. If this value is zero, it will not check the version number of the server and will always update the current version; otherwise, this update will fail if the version number found on the server does not match this version number. This is used to support multiple simultaneous updates without losing data.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "MqttConfig": { + "description": "The configuration of MQTT for a device registry.", + "id": "MqttConfig", + "properties": { + "mqttEnabledState": { + "description": "If enabled, allows connections using the MQTT protocol. Otherwise, MQTT connections to this registry will fail.", + "enum": [ + "MQTT_STATE_UNSPECIFIED", + "MQTT_ENABLED", + "MQTT_DISABLED" + ], + "enumDescriptions": [ + "No MQTT state specified. If not specified, MQTT will be enabled by default.", + "Enables a MQTT connection.", + "Disables a MQTT connection." + ], + "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" + }, + "PublicKeyCertificate": { + "description": "A public key certificate format and data.", + "id": "PublicKeyCertificate", + "properties": { + "certificate": { + "description": "The certificate data.", + "type": "string" + }, + "format": { + "description": "The certificate format.", + "enum": [ + "UNSPECIFIED_PUBLIC_KEY_CERTIFICATE_FORMAT", + "X509_CERTIFICATE_PEM" + ], + "enumDescriptions": [ + "The format has not been specified. This is an invalid default value and must not be used.", + "An X.509v3 certificate ([RFC5280](https://www.ietf.org/rfc/rfc5280.txt)), encoded in base64, and wrapped by `-----BEGIN CERTIFICATE-----` and `-----END CERTIFICATE-----`." + ], + "type": "string" + }, + "x509Details": { + "$ref": "X509CertificateDetails", + "description": "[Output only] The certificate details. Used only for X.509 certificates." + } + }, + "type": "object" + }, + "PublicKeyCredential": { + "description": "A public key format and data.", + "id": "PublicKeyCredential", + "properties": { + "format": { + "description": "The format of the key.", + "enum": [ + "UNSPECIFIED_PUBLIC_KEY_FORMAT", + "RSA_PEM", + "RSA_X509_PEM", + "ES256_PEM", + "ES256_X509_PEM" + ], + "enumDescriptions": [ + "The format has not been specified. This is an invalid default value and must not be used.", + "An RSA public key encoded in base64, and wrapped by `-----BEGIN PUBLIC KEY-----` and `-----END PUBLIC KEY-----`. This can be used to verify `RS256` signatures in JWT tokens ([RFC7518]( https://www.ietf.org/rfc/rfc7518.txt)).", + "As RSA_PEM, but wrapped in an X.509v3 certificate ([RFC5280]( https://www.ietf.org/rfc/rfc5280.txt)), encoded in base64, and wrapped by `-----BEGIN CERTIFICATE-----` and `-----END CERTIFICATE-----`.", + "Public key for the ECDSA algorithm using P-256 and SHA-256, encoded in base64, and wrapped by `-----BEGIN PUBLIC KEY-----` and `-----END PUBLIC KEY-----`. This can be used to verify JWT tokens with the `ES256` algorithm ([RFC7518](https://www.ietf.org/rfc/rfc7518.txt)). This curve is defined in [OpenSSL](https://www.openssl.org/) as the `prime256v1` curve.", + "As ES256_PEM, but wrapped in an X.509v3 certificate ([RFC5280]( https://www.ietf.org/rfc/rfc5280.txt)), encoded in base64, and wrapped by `-----BEGIN CERTIFICATE-----` and `-----END CERTIFICATE-----`." + ], + "type": "string" + }, + "key": { + "description": "The key data.", + "type": "string" + } + }, + "type": "object" + }, + "RegistryCredential": { + "description": "A server-stored registry credential used to validate device credentials.", + "id": "RegistryCredential", + "properties": { + "publicKeyCertificate": { + "$ref": "PublicKeyCertificate", + "description": "A public key certificate used to verify the device credentials." + } + }, + "type": "object" + }, + "SendCommandToDeviceRequest": { + "description": "Request for `SendCommandToDevice`.", + "id": "SendCommandToDeviceRequest", + "properties": { + "binaryData": { + "description": "Required. The command data to send to the device.", + "format": "byte", + "type": "string" + }, + "subfolder": { + "description": "Optional subfolder for the command. If empty, the command will be delivered to the /devices/{device-id}/commands topic, otherwise it will be delivered to the /devices/{device-id}/commands/{subfolder} topic. Multi-level subfolders are allowed. This field must not have more than 256 characters, and must not contain any MQTT wildcards (\"+\" or \"#\") or null characters.", + "type": "string" + } + }, + "type": "object" + }, + "SendCommandToDeviceResponse": { + "description": "Response for `SendCommandToDevice`.", + "id": "SendCommandToDeviceResponse", + "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." + } + }, + "type": "object" + }, + "StateNotificationConfig": { + "description": "The configuration for notification of new states received from the device.", + "id": "StateNotificationConfig", + "properties": { + "pubsubTopicName": { + "description": "A Cloud Pub/Sub topic name. For example, `projects/myProject/topics/deviceEvents`.", + "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" + }, + "UnbindDeviceFromGatewayRequest": { + "description": "Request for `UnbindDeviceFromGateway`.", + "id": "UnbindDeviceFromGatewayRequest", + "properties": { + "deviceId": { + "description": "Required. The device to disassociate from the specified gateway. The value of `device_id` can be either the device numeric ID or the user-defined device identifier.", + "type": "string" + }, + "gatewayId": { + "description": "Required. The value of `gateway_id` can be either the device numeric ID or the user-defined device identifier.", + "type": "string" + } + }, + "type": "object" + }, + "UnbindDeviceFromGatewayResponse": { + "description": "Response for `UnbindDeviceFromGateway`.", + "id": "UnbindDeviceFromGatewayResponse", + "properties": {}, + "type": "object" + }, + "X509CertificateDetails": { + "description": "Details of an X.509 certificate. For informational purposes only.", + "id": "X509CertificateDetails", + "properties": { + "expiryTime": { + "description": "The time the certificate becomes invalid.", + "format": "google-datetime", + "type": "string" + }, + "issuer": { + "description": "The entity that signed the certificate.", + "type": "string" + }, + "publicKeyType": { + "description": "The type of public key in the certificate.", + "type": "string" + }, + "signatureAlgorithm": { + "description": "The algorithm used to sign the certificate.", + "type": "string" + }, + "startTime": { + "description": "The time the certificate becomes valid.", + "format": "google-datetime", + "type": "string" + }, + "subject": { + "description": "The entity the certificate and public key belong to.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Cloud IoT 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/cloudkms.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudkms.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..5d735cca1bf9ffc9e50a779ba031cfbce6841fa9 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudkms.v1.json @@ -0,0 +1,4343 @@ +{ +"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/cloudkms": { +"description": "View and manage your keys and secrets stored in Cloud Key Management Service" +} +} +} +}, +"basePath": "", +"baseUrl": "https://cloudkms.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Cloud KMS", +"description": "Manages keys and performs cryptographic operations in a central cloud service, for direct use by other cloud resources and applications. ", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/kms/", +"endpoints": [ +{ +"description": "Regional Endpoint", +"endpointUrl": "https://cloudkms.europe-west3.rep.googleapis.com/", +"location": "europe-west3" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://cloudkms.europe-west8.rep.googleapis.com/", +"location": "europe-west8" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://cloudkms.europe-west9.rep.googleapis.com/", +"location": "europe-west9" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://cloudkms.me-central2.rep.googleapis.com/", +"location": "me-central2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://cloudkms.us-east1.rep.googleapis.com/", +"location": "us-east1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://cloudkms.us-east4.rep.googleapis.com/", +"location": "us-east4" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://cloudkms.us-west2.rep.googleapis.com/", +"location": "us-west2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://cloudkms.us-west1.rep.googleapis.com/", +"location": "us-west1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://cloudkms.us-east7.rep.googleapis.com/", +"location": "us-east7" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://cloudkms.us-central1.rep.googleapis.com/", +"location": "us-central1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://cloudkms.us-west3.rep.googleapis.com/", +"location": "us-west3" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://cloudkms.us-central2.rep.googleapis.com/", +"location": "us-central2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://cloudkms.us-west4.rep.googleapis.com/", +"location": "us-west4" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://cloudkms.us-west8.rep.googleapis.com/", +"location": "us-west8" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://cloudkms.us-east5.rep.googleapis.com/", +"location": "us-east5" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://cloudkms.us-south1.rep.googleapis.com/", +"location": "us-south1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://cloudkms.us.rep.googleapis.com/", +"location": "us" +} +], +"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": "cloudkms:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://cloudkms.mtls.googleapis.com/", +"name": "cloudkms", +"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": { +"getAutokeyConfig": { +"description": "Returns the AutokeyConfig for a folder.", +"flatPath": "v1/folders/{foldersId}/autokeyConfig", +"httpMethod": "GET", +"id": "cloudkms.folders.getAutokeyConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`.", +"location": "path", +"pattern": "^folders/[^/]+/autokeyConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "AutokeyConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"updateAutokeyConfig": { +"description": "Updates the AutokeyConfig for a folder. The caller must have both `cloudkms.autokeyConfigs.update` permission on the parent folder and `cloudkms.cryptoKeys.setIamPolicy` permission on the provided key project. A KeyHandle creation in the folder's descendant projects will use this configuration to determine where to create the resulting CryptoKey.", +"flatPath": "v1/folders/{foldersId}/autokeyConfig", +"httpMethod": "PATCH", +"id": "cloudkms.folders.updateAutokeyConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`.", +"location": "path", +"pattern": "^folders/[^/]+/autokeyConfig$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Masks which fields of the AutokeyConfig to update, e.g. `keyProject`.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "AutokeyConfig" +}, +"response": { +"$ref": "AutokeyConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +} +} +}, +"projects": { +"methods": { +"showEffectiveAutokeyConfig": { +"description": "Returns the effective Cloud KMS Autokey configuration for a given project.", +"flatPath": "v1/projects/{projectsId}:showEffectiveAutokeyConfig", +"httpMethod": "GET", +"id": "cloudkms.projects.showEffectiveAutokeyConfig", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Name of the resource project to the show effective Cloud KMS Autokey configuration for. This may be helpful for interrogating the effect of nested folder configurations on a given resource project.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}:showEffectiveAutokeyConfig", +"response": { +"$ref": "ShowEffectiveAutokeyConfigResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +} +}, +"resources": { +"locations": { +"methods": { +"generateRandomBytes": { +"description": "Generate random bytes using the Cloud KMS randomness source in the provided location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}:generateRandomBytes", +"httpMethod": "POST", +"id": "cloudkms.projects.locations.generateRandomBytes", +"parameterOrder": [ +"location" +], +"parameters": { +"location": { +"description": "The project-specific location in which to generate random bytes. For example, \"projects/my-project/locations/us-central1\".", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+location}:generateRandomBytes", +"request": { +"$ref": "GenerateRandomBytesRequest" +}, +"response": { +"$ref": "GenerateRandomBytesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"get": { +"description": "Gets information about a location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "cloudkms.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", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"getEkmConfig": { +"description": "Returns the EkmConfig singleton resource for a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ekmConfig", +"httpMethod": "GET", +"id": "cloudkms.projects.locations.getEkmConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the EkmConfig to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ekmConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "EkmConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v1/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "cloudkms.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", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"updateEkmConfig": { +"description": "Updates the EkmConfig singleton resource for a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ekmConfig", +"httpMethod": "PATCH", +"id": "cloudkms.projects.locations.updateEkmConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name for the EkmConfig in the format `projects/*/locations/*/ekmConfig`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ekmConfig$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. List of fields to be updated in this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "EkmConfig" +}, +"response": { +"$ref": "EkmConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +} +}, +"resources": { +"ekmConfig": { +"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}/ekmConfig:getIamPolicy", +"httpMethod": "GET", +"id": "cloudkms.projects.locations.ekmConfig.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/[^/]+/ekmConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"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}/ekmConfig:setIamPolicy", +"httpMethod": "POST", +"id": "cloudkms.projects.locations.ekmConfig.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/[^/]+/ekmConfig$", +"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/cloudkms" +] +}, +"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}/ekmConfig:testIamPermissions", +"httpMethod": "POST", +"id": "cloudkms.projects.locations.ekmConfig.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/[^/]+/ekmConfig$", +"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/cloudkms" +] +} +} +}, +"ekmConnections": { +"methods": { +"create": { +"description": "Creates a new EkmConnection in a given Project and Location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ekmConnections", +"httpMethod": "POST", +"id": "cloudkms.projects.locations.ekmConnections.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"ekmConnectionId": { +"description": "Required. It must be unique within a location and match the regular expression `[a-zA-Z0-9_-]{1,63}`.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the location associated with the EkmConnection, in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/ekmConnections", +"request": { +"$ref": "EkmConnection" +}, +"response": { +"$ref": "EkmConnection" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"get": { +"description": "Returns metadata for a given EkmConnection.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ekmConnections/{ekmConnectionsId}", +"httpMethod": "GET", +"id": "cloudkms.projects.locations.ekmConnections.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the EkmConnection to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ekmConnections/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "EkmConnection" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"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}/ekmConnections/{ekmConnectionsId}:getIamPolicy", +"httpMethod": "GET", +"id": "cloudkms.projects.locations.ekmConnections.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/[^/]+/ekmConnections/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"list": { +"description": "Lists EkmConnections.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ekmConnections", +"httpMethod": "GET", +"id": "cloudkms.projects.locations.ekmConnections.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Only include resources that match the filter in the response. For more information, see [Sorting and filtering list results](https://cloud.google.com/kms/docs/sorting-and-filtering).", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Specify how the results should be sorted. If not specified, the results will be sorted in the default order. For more information, see [Sorting and filtering list results](https://cloud.google.com/kms/docs/sorting-and-filtering).", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Optional limit on the number of EkmConnections to include in the response. Further EkmConnections can subsequently be obtained by including the ListEkmConnectionsResponse.next_page_token in a subsequent request. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Optional pagination token, returned earlier via ListEkmConnectionsResponse.next_page_token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the location associated with the EkmConnections to list, in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/ekmConnections", +"response": { +"$ref": "ListEkmConnectionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"patch": { +"description": "Updates an EkmConnection's metadata.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ekmConnections/{ekmConnectionsId}", +"httpMethod": "PATCH", +"id": "cloudkms.projects.locations.ekmConnections.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name for the EkmConnection in the format `projects/*/locations/*/ekmConnections/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ekmConnections/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. List of fields to be updated in this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "EkmConnection" +}, +"response": { +"$ref": "EkmConnection" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"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}/ekmConnections/{ekmConnectionsId}:setIamPolicy", +"httpMethod": "POST", +"id": "cloudkms.projects.locations.ekmConnections.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/[^/]+/ekmConnections/[^/]+$", +"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/cloudkms" +] +}, +"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}/ekmConnections/{ekmConnectionsId}:testIamPermissions", +"httpMethod": "POST", +"id": "cloudkms.projects.locations.ekmConnections.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/[^/]+/ekmConnections/[^/]+$", +"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/cloudkms" +] +}, +"verifyConnectivity": { +"description": "Verifies that Cloud KMS can successfully connect to the external key manager specified by an EkmConnection. If there is an error connecting to the EKM, this method returns a FAILED_PRECONDITION status containing structured information as described at https://cloud.google.com/kms/docs/reference/ekm_errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ekmConnections/{ekmConnectionsId}:verifyConnectivity", +"httpMethod": "GET", +"id": "cloudkms.projects.locations.ekmConnections.verifyConnectivity", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the EkmConnection to verify.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ekmConnections/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:verifyConnectivity", +"response": { +"$ref": "VerifyConnectivityResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +} +} +}, +"keyHandles": { +"methods": { +"create": { +"description": "Creates a new KeyHandle, triggering the provisioning of a new CryptoKey for CMEK use with the given resource type in the configured key project and the same location. GetOperation should be used to resolve the resulting long-running operation and get the resulting KeyHandle and CryptoKey.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyHandles", +"httpMethod": "POST", +"id": "cloudkms.projects.locations.keyHandles.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"keyHandleId": { +"description": "Optional. Id of the KeyHandle. Must be unique to the resource project and location. If not provided by the caller, a new UUID is used.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Name of the resource project and location to create the KeyHandle in, e.g. `projects/{PROJECT_ID}/locations/{LOCATION}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/keyHandles", +"request": { +"$ref": "KeyHandle" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"get": { +"description": "Returns the KeyHandle.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyHandles/{keyHandlesId}", +"httpMethod": "GET", +"id": "cloudkms.projects.locations.keyHandles.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the KeyHandle resource, e.g. `projects/{PROJECT_ID}/locations/{LOCATION}/keyHandles/{KEY_HANDLE_ID}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/keyHandles/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "KeyHandle" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"list": { +"description": "Lists KeyHandles.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyHandles", +"httpMethod": "GET", +"id": "cloudkms.projects.locations.keyHandles.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filter to apply when listing KeyHandles, e.g. `resource_type_selector=\"{SERVICE}.googleapis.com/{TYPE}\"`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Optional limit on the number of KeyHandles to include in the response. The service may return fewer than this value. Further KeyHandles can subsequently be obtained by including the ListKeyHandlesResponse.next_page_token in a subsequent request. If unspecified, at most 100 KeyHandles will be returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Optional pagination token, returned earlier via ListKeyHandlesResponse.next_page_token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Name of the resource project and location from which to list KeyHandles, e.g. `projects/{PROJECT_ID}/locations/{LOCATION}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/keyHandles", +"response": { +"$ref": "ListKeyHandlesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +} +} +}, +"keyRings": { +"methods": { +"create": { +"description": "Create a new KeyRing in a given Project and Location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings", +"httpMethod": "POST", +"id": "cloudkms.projects.locations.keyRings.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"keyRingId": { +"description": "Required. It must be unique within a location and match the regular expression `[a-zA-Z0-9_-]{1,63}`", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the location associated with the KeyRings, in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/keyRings", +"request": { +"$ref": "KeyRing" +}, +"response": { +"$ref": "KeyRing" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"get": { +"description": "Returns metadata for a given KeyRing.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}", +"httpMethod": "GET", +"id": "cloudkms.projects.locations.keyRings.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the KeyRing to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "KeyRing" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"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}/keyRings/{keyRingsId}:getIamPolicy", +"httpMethod": "GET", +"id": "cloudkms.projects.locations.keyRings.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/[^/]+/keyRings/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"list": { +"description": "Lists KeyRings.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings", +"httpMethod": "GET", +"id": "cloudkms.projects.locations.keyRings.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Only include resources that match the filter in the response. For more information, see [Sorting and filtering list results](https://cloud.google.com/kms/docs/sorting-and-filtering).", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Specify how the results should be sorted. If not specified, the results will be sorted in the default order. For more information, see [Sorting and filtering list results](https://cloud.google.com/kms/docs/sorting-and-filtering).", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Optional limit on the number of KeyRings to include in the response. Further KeyRings can subsequently be obtained by including the ListKeyRingsResponse.next_page_token in a subsequent request. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Optional pagination token, returned earlier via ListKeyRingsResponse.next_page_token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the location associated with the KeyRings, in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/keyRings", +"response": { +"$ref": "ListKeyRingsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"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}/keyRings/{keyRingsId}:setIamPolicy", +"httpMethod": "POST", +"id": "cloudkms.projects.locations.keyRings.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/[^/]+/keyRings/[^/]+$", +"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/cloudkms" +] +}, +"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}/keyRings/{keyRingsId}:testIamPermissions", +"httpMethod": "POST", +"id": "cloudkms.projects.locations.keyRings.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/[^/]+/keyRings/[^/]+$", +"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/cloudkms" +] +} +}, +"resources": { +"cryptoKeys": { +"methods": { +"create": { +"description": "Create a new CryptoKey within a KeyRing. CryptoKey.purpose and CryptoKey.version_template.algorithm are required.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys", +"httpMethod": "POST", +"id": "cloudkms.projects.locations.keyRings.cryptoKeys.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"cryptoKeyId": { +"description": "Required. It must be unique within a KeyRing and match the regular expression `[a-zA-Z0-9_-]{1,63}`", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the KeyRing associated with the CryptoKeys.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+$", +"required": true, +"type": "string" +}, +"skipInitialVersionCreation": { +"description": "If set to true, the request will create a CryptoKey without any CryptoKeyVersions. You must manually call CreateCryptoKeyVersion or ImportCryptoKeyVersion before you can use this CryptoKey.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/cryptoKeys", +"request": { +"$ref": "CryptoKey" +}, +"response": { +"$ref": "CryptoKey" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"decrypt": { +"description": "Decrypts data that was protected by Encrypt. The CryptoKey.purpose must be ENCRYPT_DECRYPT.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:decrypt", +"httpMethod": "POST", +"id": "cloudkms.projects.locations.keyRings.cryptoKeys.decrypt", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the CryptoKey to use for decryption. The server will choose the appropriate version.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:decrypt", +"request": { +"$ref": "DecryptRequest" +}, +"response": { +"$ref": "DecryptResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"encrypt": { +"description": "Encrypts data, so that it can only be recovered by a call to Decrypt. The CryptoKey.purpose must be ENCRYPT_DECRYPT.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:encrypt", +"httpMethod": "POST", +"id": "cloudkms.projects.locations.keyRings.cryptoKeys.encrypt", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the CryptoKey or CryptoKeyVersion to use for encryption. If a CryptoKey is specified, the server will use its primary version.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:encrypt", +"request": { +"$ref": "EncryptRequest" +}, +"response": { +"$ref": "EncryptResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"get": { +"description": "Returns metadata for a given CryptoKey, as well as its primary CryptoKeyVersion.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}", +"httpMethod": "GET", +"id": "cloudkms.projects.locations.keyRings.cryptoKeys.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the CryptoKey to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "CryptoKey" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"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}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:getIamPolicy", +"httpMethod": "GET", +"id": "cloudkms.projects.locations.keyRings.cryptoKeys.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/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"list": { +"description": "Lists CryptoKeys.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys", +"httpMethod": "GET", +"id": "cloudkms.projects.locations.keyRings.cryptoKeys.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Only include resources that match the filter in the response. For more information, see [Sorting and filtering list results](https://cloud.google.com/kms/docs/sorting-and-filtering).", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Specify how the results should be sorted. If not specified, the results will be sorted in the default order. For more information, see [Sorting and filtering list results](https://cloud.google.com/kms/docs/sorting-and-filtering).", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Optional limit on the number of CryptoKeys to include in the response. Further CryptoKeys can subsequently be obtained by including the ListCryptoKeysResponse.next_page_token in a subsequent request. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Optional pagination token, returned earlier via ListCryptoKeysResponse.next_page_token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the KeyRing to list, in the format `projects/*/locations/*/keyRings/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+$", +"required": true, +"type": "string" +}, +"versionView": { +"description": "The fields of the primary version to include in the response.", +"enum": [ +"CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED", +"FULL" +], +"enumDescriptions": [ +"Default view for each CryptoKeyVersion. Does not include the attestation field.", +"Provides all fields in each CryptoKeyVersion, including the attestation." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/cryptoKeys", +"response": { +"$ref": "ListCryptoKeysResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"patch": { +"description": "Update a CryptoKey.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}", +"httpMethod": "PATCH", +"id": "cloudkms.projects.locations.keyRings.cryptoKeys.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name for this CryptoKey in the format `projects/*/locations/*/keyRings/*/cryptoKeys/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. List of fields to be updated in this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "CryptoKey" +}, +"response": { +"$ref": "CryptoKey" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"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}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:setIamPolicy", +"httpMethod": "POST", +"id": "cloudkms.projects.locations.keyRings.cryptoKeys.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/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+$", +"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/cloudkms" +] +}, +"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}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:testIamPermissions", +"httpMethod": "POST", +"id": "cloudkms.projects.locations.keyRings.cryptoKeys.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/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+$", +"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/cloudkms" +] +}, +"updatePrimaryVersion": { +"description": "Update the version of a CryptoKey that will be used in Encrypt. Returns an error if called on a key whose purpose is not ENCRYPT_DECRYPT.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:updatePrimaryVersion", +"httpMethod": "POST", +"id": "cloudkms.projects.locations.keyRings.cryptoKeys.updatePrimaryVersion", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the CryptoKey to update.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:updatePrimaryVersion", +"request": { +"$ref": "UpdateCryptoKeyPrimaryVersionRequest" +}, +"response": { +"$ref": "CryptoKey" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +} +}, +"resources": { +"cryptoKeyVersions": { +"methods": { +"asymmetricDecrypt": { +"description": "Decrypts data that was encrypted with a public key retrieved from GetPublicKey corresponding to a CryptoKeyVersion with CryptoKey.purpose ASYMMETRIC_DECRYPT.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}:asymmetricDecrypt", +"httpMethod": "POST", +"id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.asymmetricDecrypt", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the CryptoKeyVersion to use for decryption.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+/cryptoKeyVersions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:asymmetricDecrypt", +"request": { +"$ref": "AsymmetricDecryptRequest" +}, +"response": { +"$ref": "AsymmetricDecryptResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"asymmetricSign": { +"description": "Signs data using a CryptoKeyVersion with CryptoKey.purpose ASYMMETRIC_SIGN, producing a signature that can be verified with the public key retrieved from GetPublicKey.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}:asymmetricSign", +"httpMethod": "POST", +"id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.asymmetricSign", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the CryptoKeyVersion to use for signing.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+/cryptoKeyVersions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:asymmetricSign", +"request": { +"$ref": "AsymmetricSignRequest" +}, +"response": { +"$ref": "AsymmetricSignResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"create": { +"description": "Create a new CryptoKeyVersion in a CryptoKey. The server will assign the next sequential id. If unset, state will be set to ENABLED.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions", +"httpMethod": "POST", +"id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the CryptoKey associated with the CryptoKeyVersions.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/cryptoKeyVersions", +"request": { +"$ref": "CryptoKeyVersion" +}, +"response": { +"$ref": "CryptoKeyVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"destroy": { +"description": "Schedule a CryptoKeyVersion for destruction. Upon calling this method, CryptoKeyVersion.state will be set to DESTROY_SCHEDULED, and destroy_time will be set to the time destroy_scheduled_duration in the future. At that time, the state will automatically change to DESTROYED, and the key material will be irrevocably destroyed. Before the destroy_time is reached, RestoreCryptoKeyVersion may be called to reverse the process.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}:destroy", +"httpMethod": "POST", +"id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.destroy", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the CryptoKeyVersion to destroy.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+/cryptoKeyVersions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:destroy", +"request": { +"$ref": "DestroyCryptoKeyVersionRequest" +}, +"response": { +"$ref": "CryptoKeyVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"get": { +"description": "Returns metadata for a given CryptoKeyVersion.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}", +"httpMethod": "GET", +"id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the CryptoKeyVersion to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+/cryptoKeyVersions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "CryptoKeyVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"getPublicKey": { +"description": "Returns the public key for the given CryptoKeyVersion. The CryptoKey.purpose must be ASYMMETRIC_SIGN or ASYMMETRIC_DECRYPT.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}/publicKey", +"httpMethod": "GET", +"id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.getPublicKey", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the CryptoKeyVersion public key to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+/cryptoKeyVersions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}/publicKey", +"response": { +"$ref": "PublicKey" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"import": { +"description": "Import wrapped key material into a CryptoKeyVersion. All requests must specify a CryptoKey. If a CryptoKeyVersion is additionally specified in the request, key material will be reimported into that version. Otherwise, a new version will be created, and will be assigned the next sequential id within the CryptoKey.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions:import", +"httpMethod": "POST", +"id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the CryptoKey to be imported into. The create permission is only required on this key when creating a new CryptoKeyVersion.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/cryptoKeyVersions:import", +"request": { +"$ref": "ImportCryptoKeyVersionRequest" +}, +"response": { +"$ref": "CryptoKeyVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"list": { +"description": "Lists CryptoKeyVersions.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions", +"httpMethod": "GET", +"id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Only include resources that match the filter in the response. For more information, see [Sorting and filtering list results](https://cloud.google.com/kms/docs/sorting-and-filtering).", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Specify how the results should be sorted. If not specified, the results will be sorted in the default order. For more information, see [Sorting and filtering list results](https://cloud.google.com/kms/docs/sorting-and-filtering).", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Optional limit on the number of CryptoKeyVersions to include in the response. Further CryptoKeyVersions can subsequently be obtained by including the ListCryptoKeyVersionsResponse.next_page_token in a subsequent request. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Optional pagination token, returned earlier via ListCryptoKeyVersionsResponse.next_page_token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the CryptoKey to list, in the format `projects/*/locations/*/keyRings/*/cryptoKeys/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "The fields to include in the response.", +"enum": [ +"CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED", +"FULL" +], +"enumDescriptions": [ +"Default view for each CryptoKeyVersion. Does not include the attestation field.", +"Provides all fields in each CryptoKeyVersion, including the attestation." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/cryptoKeyVersions", +"response": { +"$ref": "ListCryptoKeyVersionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"macSign": { +"description": "Signs data using a CryptoKeyVersion with CryptoKey.purpose MAC, producing a tag that can be verified by another source with the same key.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}:macSign", +"httpMethod": "POST", +"id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.macSign", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the CryptoKeyVersion to use for signing.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+/cryptoKeyVersions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:macSign", +"request": { +"$ref": "MacSignRequest" +}, +"response": { +"$ref": "MacSignResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"macVerify": { +"description": "Verifies MAC tag using a CryptoKeyVersion with CryptoKey.purpose MAC, and returns a response that indicates whether or not the verification was successful.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}:macVerify", +"httpMethod": "POST", +"id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.macVerify", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the CryptoKeyVersion to use for verification.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+/cryptoKeyVersions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:macVerify", +"request": { +"$ref": "MacVerifyRequest" +}, +"response": { +"$ref": "MacVerifyResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"patch": { +"description": "Update a CryptoKeyVersion's metadata. state may be changed between ENABLED and DISABLED using this method. See DestroyCryptoKeyVersion and RestoreCryptoKeyVersion to move between other states.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}", +"httpMethod": "PATCH", +"id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name for this CryptoKeyVersion in the format `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+/cryptoKeyVersions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. List of fields to be updated in this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "CryptoKeyVersion" +}, +"response": { +"$ref": "CryptoKeyVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"rawDecrypt": { +"description": "Decrypts data that was originally encrypted using a raw cryptographic mechanism. The CryptoKey.purpose must be RAW_ENCRYPT_DECRYPT.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}:rawDecrypt", +"httpMethod": "POST", +"id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.rawDecrypt", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the CryptoKeyVersion to use for decryption.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+/cryptoKeyVersions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:rawDecrypt", +"request": { +"$ref": "RawDecryptRequest" +}, +"response": { +"$ref": "RawDecryptResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"rawEncrypt": { +"description": "Encrypts data using portable cryptographic primitives. Most users should choose Encrypt and Decrypt rather than their raw counterparts. The CryptoKey.purpose must be RAW_ENCRYPT_DECRYPT.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}:rawEncrypt", +"httpMethod": "POST", +"id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.rawEncrypt", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the CryptoKeyVersion to use for encryption.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+/cryptoKeyVersions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:rawEncrypt", +"request": { +"$ref": "RawEncryptRequest" +}, +"response": { +"$ref": "RawEncryptResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"restore": { +"description": "Restore a CryptoKeyVersion in the DESTROY_SCHEDULED state. Upon restoration of the CryptoKeyVersion, state will be set to DISABLED, and destroy_time will be cleared.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}:restore", +"httpMethod": "POST", +"id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.restore", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the CryptoKeyVersion to restore.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+/cryptoKeyVersions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:restore", +"request": { +"$ref": "RestoreCryptoKeyVersionRequest" +}, +"response": { +"$ref": "CryptoKeyVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +} +} +} +} +}, +"importJobs": { +"methods": { +"create": { +"description": "Create a new ImportJob within a KeyRing. ImportJob.import_method is required.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/importJobs", +"httpMethod": "POST", +"id": "cloudkms.projects.locations.keyRings.importJobs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"importJobId": { +"description": "Required. It must be unique within a KeyRing and match the regular expression `[a-zA-Z0-9_-]{1,63}`", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the KeyRing associated with the ImportJobs.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/importJobs", +"request": { +"$ref": "ImportJob" +}, +"response": { +"$ref": "ImportJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"get": { +"description": "Returns metadata for a given ImportJob.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/importJobs/{importJobsId}", +"httpMethod": "GET", +"id": "cloudkms.projects.locations.keyRings.importJobs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the ImportJob to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/importJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ImportJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"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}/keyRings/{keyRingsId}/importJobs/{importJobsId}:getIamPolicy", +"httpMethod": "GET", +"id": "cloudkms.projects.locations.keyRings.importJobs.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/[^/]+/keyRings/[^/]+/importJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"list": { +"description": "Lists ImportJobs.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/importJobs", +"httpMethod": "GET", +"id": "cloudkms.projects.locations.keyRings.importJobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Only include resources that match the filter in the response. For more information, see [Sorting and filtering list results](https://cloud.google.com/kms/docs/sorting-and-filtering).", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Specify how the results should be sorted. If not specified, the results will be sorted in the default order. For more information, see [Sorting and filtering list results](https://cloud.google.com/kms/docs/sorting-and-filtering).", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Optional limit on the number of ImportJobs to include in the response. Further ImportJobs can subsequently be obtained by including the ListImportJobsResponse.next_page_token in a subsequent request. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Optional pagination token, returned earlier via ListImportJobsResponse.next_page_token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the KeyRing to list, in the format `projects/*/locations/*/keyRings/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/importJobs", +"response": { +"$ref": "ListImportJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudkms" +] +}, +"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}/keyRings/{keyRingsId}/importJobs/{importJobsId}:setIamPolicy", +"httpMethod": "POST", +"id": "cloudkms.projects.locations.keyRings.importJobs.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/[^/]+/keyRings/[^/]+/importJobs/[^/]+$", +"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/cloudkms" +] +}, +"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}/keyRings/{keyRingsId}/importJobs/{importJobsId}:testIamPermissions", +"httpMethod": "POST", +"id": "cloudkms.projects.locations.keyRings.importJobs.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/[^/]+/keyRings/[^/]+/importJobs/[^/]+$", +"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/cloudkms" +] +} +} +} +} +}, +"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": "cloudkms.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", +"https://www.googleapis.com/auth/cloudkms" +] +} +} +} +} +} +} +} +}, +"revision": "20250102", +"rootUrl": "https://cloudkms.googleapis.com/", +"schemas": { +"AsymmetricDecryptRequest": { +"description": "Request message for KeyManagementService.AsymmetricDecrypt.", +"id": "AsymmetricDecryptRequest", +"properties": { +"ciphertext": { +"description": "Required. The data encrypted with the named CryptoKeyVersion's public key using OAEP.", +"format": "byte", +"type": "string" +}, +"ciphertextCrc32c": { +"description": "Optional. An optional CRC32C checksum of the AsymmetricDecryptRequest.ciphertext. If specified, KeyManagementService will verify the integrity of the received AsymmetricDecryptRequest.ciphertext using this checksum. KeyManagementService will report an error if the checksum verification fails. If you receive a checksum error, your client should verify that CRC32C(AsymmetricDecryptRequest.ciphertext) is equal to AsymmetricDecryptRequest.ciphertext_crc32c, and if so, perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"AsymmetricDecryptResponse": { +"description": "Response message for KeyManagementService.AsymmetricDecrypt.", +"id": "AsymmetricDecryptResponse", +"properties": { +"plaintext": { +"description": "The decrypted data originally encrypted with the matching public key.", +"format": "byte", +"type": "string" +}, +"plaintextCrc32c": { +"description": "Integrity verification field. A CRC32C checksum of the returned AsymmetricDecryptResponse.plaintext. An integrity check of AsymmetricDecryptResponse.plaintext can be performed by computing the CRC32C checksum of AsymmetricDecryptResponse.plaintext and comparing your results to this field. Discard the response in case of non-matching checksum values, and perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", +"format": "int64", +"type": "string" +}, +"protectionLevel": { +"description": "The ProtectionLevel of the CryptoKeyVersion used in decryption.", +"enum": [ +"PROTECTION_LEVEL_UNSPECIFIED", +"SOFTWARE", +"HSM", +"EXTERNAL", +"EXTERNAL_VPC" +], +"enumDescriptions": [ +"Not specified.", +"Crypto operations are performed in software.", +"Crypto operations are performed in a Hardware Security Module.", +"Crypto operations are performed by an external key manager.", +"Crypto operations are performed in an EKM-over-VPC backend." +], +"type": "string" +}, +"verifiedCiphertextCrc32c": { +"description": "Integrity verification field. A flag indicating whether AsymmetricDecryptRequest.ciphertext_crc32c was received by KeyManagementService and used for the integrity verification of the ciphertext. A false value of this field indicates either that AsymmetricDecryptRequest.ciphertext_crc32c was left unset or that it was not delivered to KeyManagementService. If you've set AsymmetricDecryptRequest.ciphertext_crc32c but this field is still false, discard the response and perform a limited number of retries.", +"type": "boolean" +} +}, +"type": "object" +}, +"AsymmetricSignRequest": { +"description": "Request message for KeyManagementService.AsymmetricSign.", +"id": "AsymmetricSignRequest", +"properties": { +"data": { +"description": "Optional. The data to sign. It can't be supplied if AsymmetricSignRequest.digest is supplied.", +"format": "byte", +"type": "string" +}, +"dataCrc32c": { +"description": "Optional. An optional CRC32C checksum of the AsymmetricSignRequest.data. If specified, KeyManagementService will verify the integrity of the received AsymmetricSignRequest.data using this checksum. KeyManagementService will report an error if the checksum verification fails. If you receive a checksum error, your client should verify that CRC32C(AsymmetricSignRequest.data) is equal to AsymmetricSignRequest.data_crc32c, and if so, perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", +"format": "int64", +"type": "string" +}, +"digest": { +"$ref": "Digest", +"description": "Optional. The digest of the data to sign. The digest must be produced with the same digest algorithm as specified by the key version's algorithm. This field may not be supplied if AsymmetricSignRequest.data is supplied." +}, +"digestCrc32c": { +"description": "Optional. An optional CRC32C checksum of the AsymmetricSignRequest.digest. If specified, KeyManagementService will verify the integrity of the received AsymmetricSignRequest.digest using this checksum. KeyManagementService will report an error if the checksum verification fails. If you receive a checksum error, your client should verify that CRC32C(AsymmetricSignRequest.digest) is equal to AsymmetricSignRequest.digest_crc32c, and if so, perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"AsymmetricSignResponse": { +"description": "Response message for KeyManagementService.AsymmetricSign.", +"id": "AsymmetricSignResponse", +"properties": { +"name": { +"description": "The resource name of the CryptoKeyVersion used for signing. Check this field to verify that the intended resource was used for signing.", +"type": "string" +}, +"protectionLevel": { +"description": "The ProtectionLevel of the CryptoKeyVersion used for signing.", +"enum": [ +"PROTECTION_LEVEL_UNSPECIFIED", +"SOFTWARE", +"HSM", +"EXTERNAL", +"EXTERNAL_VPC" +], +"enumDescriptions": [ +"Not specified.", +"Crypto operations are performed in software.", +"Crypto operations are performed in a Hardware Security Module.", +"Crypto operations are performed by an external key manager.", +"Crypto operations are performed in an EKM-over-VPC backend." +], +"type": "string" +}, +"signature": { +"description": "The created signature.", +"format": "byte", +"type": "string" +}, +"signatureCrc32c": { +"description": "Integrity verification field. A CRC32C checksum of the returned AsymmetricSignResponse.signature. An integrity check of AsymmetricSignResponse.signature can be performed by computing the CRC32C checksum of AsymmetricSignResponse.signature and comparing your results to this field. Discard the response in case of non-matching checksum values, and perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", +"format": "int64", +"type": "string" +}, +"verifiedDataCrc32c": { +"description": "Integrity verification field. A flag indicating whether AsymmetricSignRequest.data_crc32c was received by KeyManagementService and used for the integrity verification of the data. A false value of this field indicates either that AsymmetricSignRequest.data_crc32c was left unset or that it was not delivered to KeyManagementService. If you've set AsymmetricSignRequest.data_crc32c but this field is still false, discard the response and perform a limited number of retries.", +"type": "boolean" +}, +"verifiedDigestCrc32c": { +"description": "Integrity verification field. A flag indicating whether AsymmetricSignRequest.digest_crc32c was received by KeyManagementService and used for the integrity verification of the digest. A false value of this field indicates either that AsymmetricSignRequest.digest_crc32c was left unset or that it was not delivered to KeyManagementService. If you've set AsymmetricSignRequest.digest_crc32c but this field is still false, discard the response and perform a limited number of retries.", +"type": "boolean" +} +}, +"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" +}, +"AutokeyConfig": { +"description": "Cloud KMS Autokey configuration for a folder.", +"id": "AutokeyConfig", +"properties": { +"keyProject": { +"description": "Optional. Name of the key project, e.g. `projects/{PROJECT_ID}` or `projects/{PROJECT_NUMBER}`, where Cloud KMS Autokey will provision a new CryptoKey when a KeyHandle is created. On UpdateAutokeyConfig, the caller will require `cloudkms.cryptoKeys.setIamPolicy` permission on this key project. Once configured, for Cloud KMS Autokey to function properly, this key project must have the Cloud KMS API activated and the Cloud KMS Service Agent for this key project must be granted the `cloudkms.admin` role (or pertinent permissions). A request with an empty key project field will clear the configuration.", +"type": "string" +}, +"name": { +"description": "Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`.", +"type": "string" +}, +"state": { +"description": "Output only. The state for the AutokeyConfig.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"KEY_PROJECT_DELETED", +"UNINITIALIZED" +], +"enumDescriptions": [ +"The state of the AutokeyConfig is unspecified.", +"The AutokeyConfig is currently active.", +"A previously configured key project has been deleted and the current AutokeyConfig is unusable.", +"The AutokeyConfig is not yet initialized or has been reset to its default uninitialized state." +], +"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" +}, +"Certificate": { +"description": "A Certificate represents an X.509 certificate used to authenticate HTTPS connections to EKM replicas.", +"id": "Certificate", +"properties": { +"issuer": { +"description": "Output only. The issuer distinguished name in RFC 2253 format. Only present if parsed is true.", +"readOnly": true, +"type": "string" +}, +"notAfterTime": { +"description": "Output only. The certificate is not valid after this time. Only present if parsed is true.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"notBeforeTime": { +"description": "Output only. The certificate is not valid before this time. Only present if parsed is true.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"parsed": { +"description": "Output only. True if the certificate was parsed successfully.", +"readOnly": true, +"type": "boolean" +}, +"rawDer": { +"description": "Required. The raw certificate bytes in DER format.", +"format": "byte", +"type": "string" +}, +"serialNumber": { +"description": "Output only. The certificate serial number as a hex string. Only present if parsed is true.", +"readOnly": true, +"type": "string" +}, +"sha256Fingerprint": { +"description": "Output only. The SHA-256 certificate fingerprint as a hex string. Only present if parsed is true.", +"readOnly": true, +"type": "string" +}, +"subject": { +"description": "Output only. The subject distinguished name in RFC 2253 format. Only present if parsed is true.", +"readOnly": true, +"type": "string" +}, +"subjectAlternativeDnsNames": { +"description": "Output only. The subject Alternative DNS names. Only present if parsed is true.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"CertificateChains": { +"description": "Certificate chains needed to verify the attestation. Certificates in chains are PEM-encoded and are ordered based on https://tools.ietf.org/html/rfc5246#section-7.4.2.", +"id": "CertificateChains", +"properties": { +"caviumCerts": { +"description": "Cavium certificate chain corresponding to the attestation.", +"items": { +"type": "string" +}, +"type": "array" +}, +"googleCardCerts": { +"description": "Google card certificate chain corresponding to the attestation.", +"items": { +"type": "string" +}, +"type": "array" +}, +"googlePartitionCerts": { +"description": "Google partition certificate chain corresponding to the attestation.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"CryptoKey": { +"description": "A CryptoKey represents a logical key that can be used for cryptographic operations. A CryptoKey is made up of zero or more versions, which represent the actual key material used in cryptographic operations.", +"id": "CryptoKey", +"properties": { +"createTime": { +"description": "Output only. The time at which this CryptoKey was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"cryptoKeyBackend": { +"description": "Immutable. The resource name of the backend environment where the key material for all CryptoKeyVersions associated with this CryptoKey reside and where all related cryptographic operations are performed. Only applicable if CryptoKeyVersions have a ProtectionLevel of EXTERNAL_VPC, with the resource name in the format `projects/*/locations/*/ekmConnections/*`. Note, this list is non-exhaustive and may apply to additional ProtectionLevels in the future.", +"type": "string" +}, +"destroyScheduledDuration": { +"description": "Immutable. The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED. If not specified at creation time, the default duration is 30 days.", +"format": "google-duration", +"type": "string" +}, +"importOnly": { +"description": "Immutable. Whether this key may contain imported versions only.", +"type": "boolean" +}, +"keyAccessJustificationsPolicy": { +"$ref": "KeyAccessJustificationsPolicy", +"description": "Optional. The policy used for Key Access Justifications Policy Enforcement. If this field is present and this key is enrolled in Key Access Justifications Policy Enforcement, the policy will be evaluated in encrypt, decrypt, and sign operations, and the operation will fail if rejected by the policy. The policy is defined by specifying zero or more allowed justification codes. https://cloud.google.com/assured-workloads/key-access-justifications/docs/justification-codes By default, this field is absent, and all justification codes are allowed." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels with user-defined metadata. For more information, see [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys).", +"type": "object" +}, +"name": { +"description": "Output only. The resource name for this CryptoKey in the format `projects/*/locations/*/keyRings/*/cryptoKeys/*`.", +"readOnly": true, +"type": "string" +}, +"nextRotationTime": { +"description": "At next_rotation_time, the Key Management Service will automatically: 1. Create a new version of this CryptoKey. 2. Mark the new version as primary. Key rotations performed manually via CreateCryptoKeyVersion and UpdateCryptoKeyPrimaryVersion do not affect next_rotation_time. Keys with purpose ENCRYPT_DECRYPT support automatic rotation. For other keys, this field must be omitted.", +"format": "google-datetime", +"type": "string" +}, +"primary": { +"$ref": "CryptoKeyVersion", +"description": "Output only. A copy of the \"primary\" CryptoKeyVersion that will be used by Encrypt when this CryptoKey is given in EncryptRequest.name. The CryptoKey's primary version can be updated via UpdateCryptoKeyPrimaryVersion. Keys with purpose ENCRYPT_DECRYPT may have a primary. For other keys, this field will be omitted.", +"readOnly": true +}, +"purpose": { +"description": "Immutable. The immutable purpose of this CryptoKey.", +"enum": [ +"CRYPTO_KEY_PURPOSE_UNSPECIFIED", +"ENCRYPT_DECRYPT", +"ASYMMETRIC_SIGN", +"ASYMMETRIC_DECRYPT", +"RAW_ENCRYPT_DECRYPT", +"MAC" +], +"enumDescriptions": [ +"Not specified.", +"CryptoKeys with this purpose may be used with Encrypt and Decrypt.", +"CryptoKeys with this purpose may be used with AsymmetricSign and GetPublicKey.", +"CryptoKeys with this purpose may be used with AsymmetricDecrypt and GetPublicKey.", +"CryptoKeys with this purpose may be used with RawEncrypt and RawDecrypt. This purpose is meant to be used for interoperable symmetric encryption and does not support automatic CryptoKey rotation.", +"CryptoKeys with this purpose may be used with MacSign." +], +"type": "string" +}, +"rotationPeriod": { +"description": "next_rotation_time will be advanced by this period when the service automatically rotates a key. Must be at least 24 hours and at most 876,000 hours. If rotation_period is set, next_rotation_time must also be set. Keys with purpose ENCRYPT_DECRYPT support automatic rotation. For other keys, this field must be omitted.", +"format": "google-duration", +"type": "string" +}, +"versionTemplate": { +"$ref": "CryptoKeyVersionTemplate", +"description": "A template describing settings for new CryptoKeyVersion instances. The properties of new CryptoKeyVersion instances created by either CreateCryptoKeyVersion or auto-rotation are controlled by this template." +} +}, +"type": "object" +}, +"CryptoKeyVersion": { +"description": "A CryptoKeyVersion represents an individual cryptographic key, and the associated key material. An ENABLED version can be used for cryptographic operations. For security reasons, the raw cryptographic key material represented by a CryptoKeyVersion can never be viewed or exported. It can only be used to encrypt, decrypt, or sign data when an authorized user or application invokes Cloud KMS.", +"id": "CryptoKeyVersion", +"properties": { +"algorithm": { +"description": "Output only. The CryptoKeyVersionAlgorithm that this CryptoKeyVersion supports.", +"enum": [ +"CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED", +"GOOGLE_SYMMETRIC_ENCRYPTION", +"AES_128_GCM", +"AES_256_GCM", +"AES_128_CBC", +"AES_256_CBC", +"AES_128_CTR", +"AES_256_CTR", +"RSA_SIGN_PSS_2048_SHA256", +"RSA_SIGN_PSS_3072_SHA256", +"RSA_SIGN_PSS_4096_SHA256", +"RSA_SIGN_PSS_4096_SHA512", +"RSA_SIGN_PKCS1_2048_SHA256", +"RSA_SIGN_PKCS1_3072_SHA256", +"RSA_SIGN_PKCS1_4096_SHA256", +"RSA_SIGN_PKCS1_4096_SHA512", +"RSA_SIGN_RAW_PKCS1_2048", +"RSA_SIGN_RAW_PKCS1_3072", +"RSA_SIGN_RAW_PKCS1_4096", +"RSA_DECRYPT_OAEP_2048_SHA256", +"RSA_DECRYPT_OAEP_3072_SHA256", +"RSA_DECRYPT_OAEP_4096_SHA256", +"RSA_DECRYPT_OAEP_4096_SHA512", +"RSA_DECRYPT_OAEP_2048_SHA1", +"RSA_DECRYPT_OAEP_3072_SHA1", +"RSA_DECRYPT_OAEP_4096_SHA1", +"EC_SIGN_P256_SHA256", +"EC_SIGN_P384_SHA384", +"EC_SIGN_SECP256K1_SHA256", +"EC_SIGN_ED25519", +"HMAC_SHA256", +"HMAC_SHA1", +"HMAC_SHA384", +"HMAC_SHA512", +"HMAC_SHA224", +"EXTERNAL_SYMMETRIC_ENCRYPTION" +], +"enumDescriptions": [ +"Not specified.", +"Creates symmetric encryption keys.", +"AES-GCM (Galois Counter Mode) using 128-bit keys.", +"AES-GCM (Galois Counter Mode) using 256-bit keys.", +"AES-CBC (Cipher Block Chaining Mode) using 128-bit keys.", +"AES-CBC (Cipher Block Chaining Mode) using 256-bit keys.", +"AES-CTR (Counter Mode) using 128-bit keys.", +"AES-CTR (Counter Mode) using 256-bit keys.", +"RSASSA-PSS 2048 bit key with a SHA256 digest.", +"RSASSA-PSS 3072 bit key with a SHA256 digest.", +"RSASSA-PSS 4096 bit key with a SHA256 digest.", +"RSASSA-PSS 4096 bit key with a SHA512 digest.", +"RSASSA-PKCS1-v1_5 with a 2048 bit key and a SHA256 digest.", +"RSASSA-PKCS1-v1_5 with a 3072 bit key and a SHA256 digest.", +"RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA256 digest.", +"RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA512 digest.", +"RSASSA-PKCS1-v1_5 signing without encoding, with a 2048 bit key.", +"RSASSA-PKCS1-v1_5 signing without encoding, with a 3072 bit key.", +"RSASSA-PKCS1-v1_5 signing without encoding, with a 4096 bit key.", +"RSAES-OAEP 2048 bit key with a SHA256 digest.", +"RSAES-OAEP 3072 bit key with a SHA256 digest.", +"RSAES-OAEP 4096 bit key with a SHA256 digest.", +"RSAES-OAEP 4096 bit key with a SHA512 digest.", +"RSAES-OAEP 2048 bit key with a SHA1 digest.", +"RSAES-OAEP 3072 bit key with a SHA1 digest.", +"RSAES-OAEP 4096 bit key with a SHA1 digest.", +"ECDSA on the NIST P-256 curve with a SHA256 digest. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms", +"ECDSA on the NIST P-384 curve with a SHA384 digest. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms", +"ECDSA on the non-NIST secp256k1 curve. This curve is only supported for HSM protection level. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms", +"EdDSA on the Curve25519 in pure mode (taking data as input).", +"HMAC-SHA256 signing with a 256 bit key.", +"HMAC-SHA1 signing with a 160 bit key.", +"HMAC-SHA384 signing with a 384 bit key.", +"HMAC-SHA512 signing with a 512 bit key.", +"HMAC-SHA224 signing with a 224 bit key.", +"Algorithm representing symmetric encryption by an external key manager." +], +"readOnly": true, +"type": "string" +}, +"attestation": { +"$ref": "KeyOperationAttestation", +"description": "Output only. Statement that was generated and signed by the HSM at key creation time. Use this statement to verify attributes of the key as stored on the HSM, independently of Google. Only provided for key versions with protection_level HSM.", +"readOnly": true +}, +"createTime": { +"description": "Output only. The time at which this CryptoKeyVersion was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"destroyEventTime": { +"description": "Output only. The time this CryptoKeyVersion's key material was destroyed. Only present if state is DESTROYED.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"destroyTime": { +"description": "Output only. The time this CryptoKeyVersion's key material is scheduled for destruction. Only present if state is DESTROY_SCHEDULED.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"externalDestructionFailureReason": { +"description": "Output only. The root cause of the most recent external destruction failure. Only present if state is EXTERNAL_DESTRUCTION_FAILED.", +"readOnly": true, +"type": "string" +}, +"externalProtectionLevelOptions": { +"$ref": "ExternalProtectionLevelOptions", +"description": "ExternalProtectionLevelOptions stores a group of additional fields for configuring a CryptoKeyVersion that are specific to the EXTERNAL protection level and EXTERNAL_VPC protection levels." +}, +"generateTime": { +"description": "Output only. The time this CryptoKeyVersion's key material was generated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"generationFailureReason": { +"description": "Output only. The root cause of the most recent generation failure. Only present if state is GENERATION_FAILED.", +"readOnly": true, +"type": "string" +}, +"importFailureReason": { +"description": "Output only. The root cause of the most recent import failure. Only present if state is IMPORT_FAILED.", +"readOnly": true, +"type": "string" +}, +"importJob": { +"description": "Output only. The name of the ImportJob used in the most recent import of this CryptoKeyVersion. Only present if the underlying key material was imported.", +"readOnly": true, +"type": "string" +}, +"importTime": { +"description": "Output only. The time at which this CryptoKeyVersion's key material was most recently imported.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The resource name for this CryptoKeyVersion in the format `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.", +"readOnly": true, +"type": "string" +}, +"protectionLevel": { +"description": "Output only. The ProtectionLevel describing how crypto operations are performed with this CryptoKeyVersion.", +"enum": [ +"PROTECTION_LEVEL_UNSPECIFIED", +"SOFTWARE", +"HSM", +"EXTERNAL", +"EXTERNAL_VPC" +], +"enumDescriptions": [ +"Not specified.", +"Crypto operations are performed in software.", +"Crypto operations are performed in a Hardware Security Module.", +"Crypto operations are performed by an external key manager.", +"Crypto operations are performed in an EKM-over-VPC backend." +], +"readOnly": true, +"type": "string" +}, +"reimportEligible": { +"description": "Output only. Whether or not this key version is eligible for reimport, by being specified as a target in ImportCryptoKeyVersionRequest.crypto_key_version.", +"readOnly": true, +"type": "boolean" +}, +"state": { +"description": "The current state of the CryptoKeyVersion.", +"enum": [ +"CRYPTO_KEY_VERSION_STATE_UNSPECIFIED", +"PENDING_GENERATION", +"ENABLED", +"DISABLED", +"DESTROYED", +"DESTROY_SCHEDULED", +"PENDING_IMPORT", +"IMPORT_FAILED", +"GENERATION_FAILED", +"PENDING_EXTERNAL_DESTRUCTION", +"EXTERNAL_DESTRUCTION_FAILED" +], +"enumDescriptions": [ +"Not specified.", +"This version is still being generated. It may not be used, enabled, disabled, or destroyed yet. Cloud KMS will automatically mark this version ENABLED as soon as the version is ready.", +"This version may be used for cryptographic operations.", +"This version may not be used, but the key material is still available, and the version can be placed back into the ENABLED state.", +"This version is destroyed, and the key material is no longer stored. This version may only become ENABLED again if this version is reimport_eligible and the original key material is reimported with a call to KeyManagementService.ImportCryptoKeyVersion.", +"This version is scheduled for destruction, and will be destroyed soon. Call RestoreCryptoKeyVersion to put it back into the DISABLED state.", +"This version is still being imported. It may not be used, enabled, disabled, or destroyed yet. Cloud KMS will automatically mark this version ENABLED as soon as the version is ready.", +"This version was not imported successfully. It may not be used, enabled, disabled, or destroyed. The submitted key material has been discarded. Additional details can be found in CryptoKeyVersion.import_failure_reason.", +"This version was not generated successfully. It may not be used, enabled, disabled, or destroyed. Additional details can be found in CryptoKeyVersion.generation_failure_reason.", +"This version was destroyed, and it may not be used or enabled again. Cloud KMS is waiting for the corresponding key material residing in an external key manager to be destroyed.", +"This version was destroyed, and it may not be used or enabled again. However, Cloud KMS could not confirm that the corresponding key material residing in an external key manager was destroyed. Additional details can be found in CryptoKeyVersion.external_destruction_failure_reason." +], +"type": "string" +} +}, +"type": "object" +}, +"CryptoKeyVersionTemplate": { +"description": "A CryptoKeyVersionTemplate specifies the properties to use when creating a new CryptoKeyVersion, either manually with CreateCryptoKeyVersion or automatically as a result of auto-rotation.", +"id": "CryptoKeyVersionTemplate", +"properties": { +"algorithm": { +"description": "Required. Algorithm to use when creating a CryptoKeyVersion based on this template. For backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is implied if both this field is omitted and CryptoKey.purpose is ENCRYPT_DECRYPT.", +"enum": [ +"CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED", +"GOOGLE_SYMMETRIC_ENCRYPTION", +"AES_128_GCM", +"AES_256_GCM", +"AES_128_CBC", +"AES_256_CBC", +"AES_128_CTR", +"AES_256_CTR", +"RSA_SIGN_PSS_2048_SHA256", +"RSA_SIGN_PSS_3072_SHA256", +"RSA_SIGN_PSS_4096_SHA256", +"RSA_SIGN_PSS_4096_SHA512", +"RSA_SIGN_PKCS1_2048_SHA256", +"RSA_SIGN_PKCS1_3072_SHA256", +"RSA_SIGN_PKCS1_4096_SHA256", +"RSA_SIGN_PKCS1_4096_SHA512", +"RSA_SIGN_RAW_PKCS1_2048", +"RSA_SIGN_RAW_PKCS1_3072", +"RSA_SIGN_RAW_PKCS1_4096", +"RSA_DECRYPT_OAEP_2048_SHA256", +"RSA_DECRYPT_OAEP_3072_SHA256", +"RSA_DECRYPT_OAEP_4096_SHA256", +"RSA_DECRYPT_OAEP_4096_SHA512", +"RSA_DECRYPT_OAEP_2048_SHA1", +"RSA_DECRYPT_OAEP_3072_SHA1", +"RSA_DECRYPT_OAEP_4096_SHA1", +"EC_SIGN_P256_SHA256", +"EC_SIGN_P384_SHA384", +"EC_SIGN_SECP256K1_SHA256", +"EC_SIGN_ED25519", +"HMAC_SHA256", +"HMAC_SHA1", +"HMAC_SHA384", +"HMAC_SHA512", +"HMAC_SHA224", +"EXTERNAL_SYMMETRIC_ENCRYPTION" +], +"enumDescriptions": [ +"Not specified.", +"Creates symmetric encryption keys.", +"AES-GCM (Galois Counter Mode) using 128-bit keys.", +"AES-GCM (Galois Counter Mode) using 256-bit keys.", +"AES-CBC (Cipher Block Chaining Mode) using 128-bit keys.", +"AES-CBC (Cipher Block Chaining Mode) using 256-bit keys.", +"AES-CTR (Counter Mode) using 128-bit keys.", +"AES-CTR (Counter Mode) using 256-bit keys.", +"RSASSA-PSS 2048 bit key with a SHA256 digest.", +"RSASSA-PSS 3072 bit key with a SHA256 digest.", +"RSASSA-PSS 4096 bit key with a SHA256 digest.", +"RSASSA-PSS 4096 bit key with a SHA512 digest.", +"RSASSA-PKCS1-v1_5 with a 2048 bit key and a SHA256 digest.", +"RSASSA-PKCS1-v1_5 with a 3072 bit key and a SHA256 digest.", +"RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA256 digest.", +"RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA512 digest.", +"RSASSA-PKCS1-v1_5 signing without encoding, with a 2048 bit key.", +"RSASSA-PKCS1-v1_5 signing without encoding, with a 3072 bit key.", +"RSASSA-PKCS1-v1_5 signing without encoding, with a 4096 bit key.", +"RSAES-OAEP 2048 bit key with a SHA256 digest.", +"RSAES-OAEP 3072 bit key with a SHA256 digest.", +"RSAES-OAEP 4096 bit key with a SHA256 digest.", +"RSAES-OAEP 4096 bit key with a SHA512 digest.", +"RSAES-OAEP 2048 bit key with a SHA1 digest.", +"RSAES-OAEP 3072 bit key with a SHA1 digest.", +"RSAES-OAEP 4096 bit key with a SHA1 digest.", +"ECDSA on the NIST P-256 curve with a SHA256 digest. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms", +"ECDSA on the NIST P-384 curve with a SHA384 digest. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms", +"ECDSA on the non-NIST secp256k1 curve. This curve is only supported for HSM protection level. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms", +"EdDSA on the Curve25519 in pure mode (taking data as input).", +"HMAC-SHA256 signing with a 256 bit key.", +"HMAC-SHA1 signing with a 160 bit key.", +"HMAC-SHA384 signing with a 384 bit key.", +"HMAC-SHA512 signing with a 512 bit key.", +"HMAC-SHA224 signing with a 224 bit key.", +"Algorithm representing symmetric encryption by an external key manager." +], +"type": "string" +}, +"protectionLevel": { +"description": "ProtectionLevel to use when creating a CryptoKeyVersion based on this template. Immutable. Defaults to SOFTWARE.", +"enum": [ +"PROTECTION_LEVEL_UNSPECIFIED", +"SOFTWARE", +"HSM", +"EXTERNAL", +"EXTERNAL_VPC" +], +"enumDescriptions": [ +"Not specified.", +"Crypto operations are performed in software.", +"Crypto operations are performed in a Hardware Security Module.", +"Crypto operations are performed by an external key manager.", +"Crypto operations are performed in an EKM-over-VPC backend." +], +"type": "string" +} +}, +"type": "object" +}, +"DecryptRequest": { +"description": "Request message for KeyManagementService.Decrypt.", +"id": "DecryptRequest", +"properties": { +"additionalAuthenticatedData": { +"description": "Optional. Optional data that must match the data originally supplied in EncryptRequest.additional_authenticated_data.", +"format": "byte", +"type": "string" +}, +"additionalAuthenticatedDataCrc32c": { +"description": "Optional. An optional CRC32C checksum of the DecryptRequest.additional_authenticated_data. If specified, KeyManagementService will verify the integrity of the received DecryptRequest.additional_authenticated_data using this checksum. KeyManagementService will report an error if the checksum verification fails. If you receive a checksum error, your client should verify that CRC32C(DecryptRequest.additional_authenticated_data) is equal to DecryptRequest.additional_authenticated_data_crc32c, and if so, perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", +"format": "int64", +"type": "string" +}, +"ciphertext": { +"description": "Required. The encrypted data originally returned in EncryptResponse.ciphertext.", +"format": "byte", +"type": "string" +}, +"ciphertextCrc32c": { +"description": "Optional. An optional CRC32C checksum of the DecryptRequest.ciphertext. If specified, KeyManagementService will verify the integrity of the received DecryptRequest.ciphertext using this checksum. KeyManagementService will report an error if the checksum verification fails. If you receive a checksum error, your client should verify that CRC32C(DecryptRequest.ciphertext) is equal to DecryptRequest.ciphertext_crc32c, and if so, perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"DecryptResponse": { +"description": "Response message for KeyManagementService.Decrypt.", +"id": "DecryptResponse", +"properties": { +"plaintext": { +"description": "The decrypted data originally supplied in EncryptRequest.plaintext.", +"format": "byte", +"type": "string" +}, +"plaintextCrc32c": { +"description": "Integrity verification field. A CRC32C checksum of the returned DecryptResponse.plaintext. An integrity check of DecryptResponse.plaintext can be performed by computing the CRC32C checksum of DecryptResponse.plaintext and comparing your results to this field. Discard the response in case of non-matching checksum values, and perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: receiving this response message indicates that KeyManagementService is able to successfully decrypt the ciphertext. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", +"format": "int64", +"type": "string" +}, +"protectionLevel": { +"description": "The ProtectionLevel of the CryptoKeyVersion used in decryption.", +"enum": [ +"PROTECTION_LEVEL_UNSPECIFIED", +"SOFTWARE", +"HSM", +"EXTERNAL", +"EXTERNAL_VPC" +], +"enumDescriptions": [ +"Not specified.", +"Crypto operations are performed in software.", +"Crypto operations are performed in a Hardware Security Module.", +"Crypto operations are performed by an external key manager.", +"Crypto operations are performed in an EKM-over-VPC backend." +], +"type": "string" +}, +"usedPrimary": { +"description": "Whether the Decryption was performed using the primary key version.", +"type": "boolean" +} +}, +"type": "object" +}, +"DestroyCryptoKeyVersionRequest": { +"description": "Request message for KeyManagementService.DestroyCryptoKeyVersion.", +"id": "DestroyCryptoKeyVersionRequest", +"properties": {}, +"type": "object" +}, +"Digest": { +"description": "A Digest holds a cryptographic message digest.", +"id": "Digest", +"properties": { +"sha256": { +"description": "A message digest produced with the SHA-256 algorithm.", +"format": "byte", +"type": "string" +}, +"sha384": { +"description": "A message digest produced with the SHA-384 algorithm.", +"format": "byte", +"type": "string" +}, +"sha512": { +"description": "A message digest produced with the SHA-512 algorithm.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"EkmConfig": { +"description": "An EkmConfig is a singleton resource that represents configuration parameters that apply to all CryptoKeys and CryptoKeyVersions with a ProtectionLevel of EXTERNAL_VPC in a given project and location.", +"id": "EkmConfig", +"properties": { +"defaultEkmConnection": { +"description": "Optional. Resource name of the default EkmConnection. Setting this field to the empty string removes the default.", +"type": "string" +}, +"name": { +"description": "Output only. The resource name for the EkmConfig in the format `projects/*/locations/*/ekmConfig`.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"EkmConnection": { +"description": "An EkmConnection represents an individual EKM connection. It can be used for creating CryptoKeys and CryptoKeyVersions with a ProtectionLevel of EXTERNAL_VPC, as well as performing cryptographic operations using keys created within the EkmConnection.", +"id": "EkmConnection", +"properties": { +"createTime": { +"description": "Output only. The time at which the EkmConnection was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"cryptoSpacePath": { +"description": "Optional. Identifies the EKM Crypto Space that this EkmConnection maps to. Note: This field is required if KeyManagementMode is CLOUD_KMS.", +"type": "string" +}, +"etag": { +"description": "Optional. Etag of the currently stored EkmConnection.", +"type": "string" +}, +"keyManagementMode": { +"description": "Optional. Describes who can perform control plane operations on the EKM. If unset, this defaults to MANUAL.", +"enum": [ +"KEY_MANAGEMENT_MODE_UNSPECIFIED", +"MANUAL", +"CLOUD_KMS" +], +"enumDescriptions": [ +"Not specified.", +"EKM-side key management operations on CryptoKeys created with this EkmConnection must be initiated from the EKM directly and cannot be performed from Cloud KMS. This means that: * When creating a CryptoKeyVersion associated with this EkmConnection, the caller must supply the key path of pre-existing external key material that will be linked to the CryptoKeyVersion. * Destruction of external key material cannot be requested via the Cloud KMS API and must be performed directly in the EKM. * Automatic rotation of key material is not supported.", +"All CryptoKeys created with this EkmConnection use EKM-side key management operations initiated from Cloud KMS. This means that: * When a CryptoKeyVersion associated with this EkmConnection is created, the EKM automatically generates new key material and a new key path. The caller cannot supply the key path of pre-existing external key material. * Destruction of external key material associated with this EkmConnection can be requested by calling DestroyCryptoKeyVersion. * Automatic rotation of key material is supported." +], +"type": "string" +}, +"name": { +"description": "Output only. The resource name for the EkmConnection in the format `projects/*/locations/*/ekmConnections/*`.", +"readOnly": true, +"type": "string" +}, +"serviceResolvers": { +"description": "Optional. A list of ServiceResolvers where the EKM can be reached. There should be one ServiceResolver per EKM replica. Currently, only a single ServiceResolver is supported.", +"items": { +"$ref": "ServiceResolver" +}, +"type": "array" +} +}, +"type": "object" +}, +"EncryptRequest": { +"description": "Request message for KeyManagementService.Encrypt.", +"id": "EncryptRequest", +"properties": { +"additionalAuthenticatedData": { +"description": "Optional. Optional data that, if specified, must also be provided during decryption through DecryptRequest.additional_authenticated_data. The maximum size depends on the key version's protection_level. For SOFTWARE, EXTERNAL, and EXTERNAL_VPC keys the AAD must be no larger than 64KiB. For HSM keys, the combined length of the plaintext and additional_authenticated_data fields must be no larger than 8KiB.", +"format": "byte", +"type": "string" +}, +"additionalAuthenticatedDataCrc32c": { +"description": "Optional. An optional CRC32C checksum of the EncryptRequest.additional_authenticated_data. If specified, KeyManagementService will verify the integrity of the received EncryptRequest.additional_authenticated_data using this checksum. KeyManagementService will report an error if the checksum verification fails. If you receive a checksum error, your client should verify that CRC32C(EncryptRequest.additional_authenticated_data) is equal to EncryptRequest.additional_authenticated_data_crc32c, and if so, perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", +"format": "int64", +"type": "string" +}, +"plaintext": { +"description": "Required. The data to encrypt. Must be no larger than 64KiB. The maximum size depends on the key version's protection_level. For SOFTWARE, EXTERNAL, and EXTERNAL_VPC keys, the plaintext must be no larger than 64KiB. For HSM keys, the combined length of the plaintext and additional_authenticated_data fields must be no larger than 8KiB.", +"format": "byte", +"type": "string" +}, +"plaintextCrc32c": { +"description": "Optional. An optional CRC32C checksum of the EncryptRequest.plaintext. If specified, KeyManagementService will verify the integrity of the received EncryptRequest.plaintext using this checksum. KeyManagementService will report an error if the checksum verification fails. If you receive a checksum error, your client should verify that CRC32C(EncryptRequest.plaintext) is equal to EncryptRequest.plaintext_crc32c, and if so, perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"EncryptResponse": { +"description": "Response message for KeyManagementService.Encrypt.", +"id": "EncryptResponse", +"properties": { +"ciphertext": { +"description": "The encrypted data.", +"format": "byte", +"type": "string" +}, +"ciphertextCrc32c": { +"description": "Integrity verification field. A CRC32C checksum of the returned EncryptResponse.ciphertext. An integrity check of EncryptResponse.ciphertext can be performed by computing the CRC32C checksum of EncryptResponse.ciphertext and comparing your results to this field. Discard the response in case of non-matching checksum values, and perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "The resource name of the CryptoKeyVersion used in encryption. Check this field to verify that the intended resource was used for encryption.", +"type": "string" +}, +"protectionLevel": { +"description": "The ProtectionLevel of the CryptoKeyVersion used in encryption.", +"enum": [ +"PROTECTION_LEVEL_UNSPECIFIED", +"SOFTWARE", +"HSM", +"EXTERNAL", +"EXTERNAL_VPC" +], +"enumDescriptions": [ +"Not specified.", +"Crypto operations are performed in software.", +"Crypto operations are performed in a Hardware Security Module.", +"Crypto operations are performed by an external key manager.", +"Crypto operations are performed in an EKM-over-VPC backend." +], +"type": "string" +}, +"verifiedAdditionalAuthenticatedDataCrc32c": { +"description": "Integrity verification field. A flag indicating whether EncryptRequest.additional_authenticated_data_crc32c was received by KeyManagementService and used for the integrity verification of the AAD. A false value of this field indicates either that EncryptRequest.additional_authenticated_data_crc32c was left unset or that it was not delivered to KeyManagementService. If you've set EncryptRequest.additional_authenticated_data_crc32c but this field is still false, discard the response and perform a limited number of retries.", +"type": "boolean" +}, +"verifiedPlaintextCrc32c": { +"description": "Integrity verification field. A flag indicating whether EncryptRequest.plaintext_crc32c was received by KeyManagementService and used for the integrity verification of the plaintext. A false value of this field indicates either that EncryptRequest.plaintext_crc32c was left unset or that it was not delivered to KeyManagementService. If you've set EncryptRequest.plaintext_crc32c but this field is still false, discard the response and perform a limited number of retries.", +"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" +}, +"ExternalProtectionLevelOptions": { +"description": "ExternalProtectionLevelOptions stores a group of additional fields for configuring a CryptoKeyVersion that are specific to the EXTERNAL protection level and EXTERNAL_VPC protection levels.", +"id": "ExternalProtectionLevelOptions", +"properties": { +"ekmConnectionKeyPath": { +"description": "The path to the external key material on the EKM when using EkmConnection e.g., \"v0/my/key\". Set this field instead of external_key_uri when using an EkmConnection.", +"type": "string" +}, +"externalKeyUri": { +"description": "The URI for an external resource that this CryptoKeyVersion represents.", +"type": "string" +} +}, +"type": "object" +}, +"GenerateRandomBytesRequest": { +"description": "Request message for KeyManagementService.GenerateRandomBytes.", +"id": "GenerateRandomBytesRequest", +"properties": { +"lengthBytes": { +"description": "The length in bytes of the amount of randomness to retrieve. Minimum 8 bytes, maximum 1024 bytes.", +"format": "int32", +"type": "integer" +}, +"protectionLevel": { +"description": "The ProtectionLevel to use when generating the random data. Currently, only HSM protection level is supported.", +"enum": [ +"PROTECTION_LEVEL_UNSPECIFIED", +"SOFTWARE", +"HSM", +"EXTERNAL", +"EXTERNAL_VPC" +], +"enumDescriptions": [ +"Not specified.", +"Crypto operations are performed in software.", +"Crypto operations are performed in a Hardware Security Module.", +"Crypto operations are performed by an external key manager.", +"Crypto operations are performed in an EKM-over-VPC backend." +], +"type": "string" +} +}, +"type": "object" +}, +"GenerateRandomBytesResponse": { +"description": "Response message for KeyManagementService.GenerateRandomBytes.", +"id": "GenerateRandomBytesResponse", +"properties": { +"data": { +"description": "The generated data.", +"format": "byte", +"type": "string" +}, +"dataCrc32c": { +"description": "Integrity verification field. A CRC32C checksum of the returned GenerateRandomBytesResponse.data. An integrity check of GenerateRandomBytesResponse.data can be performed by computing the CRC32C checksum of GenerateRandomBytesResponse.data and comparing your results to this field. Discard the response in case of non-matching checksum values, and perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ImportCryptoKeyVersionRequest": { +"description": "Request message for KeyManagementService.ImportCryptoKeyVersion.", +"id": "ImportCryptoKeyVersionRequest", +"properties": { +"algorithm": { +"description": "Required. The algorithm of the key being imported. This does not need to match the version_template of the CryptoKey this version imports into.", +"enum": [ +"CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED", +"GOOGLE_SYMMETRIC_ENCRYPTION", +"AES_128_GCM", +"AES_256_GCM", +"AES_128_CBC", +"AES_256_CBC", +"AES_128_CTR", +"AES_256_CTR", +"RSA_SIGN_PSS_2048_SHA256", +"RSA_SIGN_PSS_3072_SHA256", +"RSA_SIGN_PSS_4096_SHA256", +"RSA_SIGN_PSS_4096_SHA512", +"RSA_SIGN_PKCS1_2048_SHA256", +"RSA_SIGN_PKCS1_3072_SHA256", +"RSA_SIGN_PKCS1_4096_SHA256", +"RSA_SIGN_PKCS1_4096_SHA512", +"RSA_SIGN_RAW_PKCS1_2048", +"RSA_SIGN_RAW_PKCS1_3072", +"RSA_SIGN_RAW_PKCS1_4096", +"RSA_DECRYPT_OAEP_2048_SHA256", +"RSA_DECRYPT_OAEP_3072_SHA256", +"RSA_DECRYPT_OAEP_4096_SHA256", +"RSA_DECRYPT_OAEP_4096_SHA512", +"RSA_DECRYPT_OAEP_2048_SHA1", +"RSA_DECRYPT_OAEP_3072_SHA1", +"RSA_DECRYPT_OAEP_4096_SHA1", +"EC_SIGN_P256_SHA256", +"EC_SIGN_P384_SHA384", +"EC_SIGN_SECP256K1_SHA256", +"EC_SIGN_ED25519", +"HMAC_SHA256", +"HMAC_SHA1", +"HMAC_SHA384", +"HMAC_SHA512", +"HMAC_SHA224", +"EXTERNAL_SYMMETRIC_ENCRYPTION" +], +"enumDescriptions": [ +"Not specified.", +"Creates symmetric encryption keys.", +"AES-GCM (Galois Counter Mode) using 128-bit keys.", +"AES-GCM (Galois Counter Mode) using 256-bit keys.", +"AES-CBC (Cipher Block Chaining Mode) using 128-bit keys.", +"AES-CBC (Cipher Block Chaining Mode) using 256-bit keys.", +"AES-CTR (Counter Mode) using 128-bit keys.", +"AES-CTR (Counter Mode) using 256-bit keys.", +"RSASSA-PSS 2048 bit key with a SHA256 digest.", +"RSASSA-PSS 3072 bit key with a SHA256 digest.", +"RSASSA-PSS 4096 bit key with a SHA256 digest.", +"RSASSA-PSS 4096 bit key with a SHA512 digest.", +"RSASSA-PKCS1-v1_5 with a 2048 bit key and a SHA256 digest.", +"RSASSA-PKCS1-v1_5 with a 3072 bit key and a SHA256 digest.", +"RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA256 digest.", +"RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA512 digest.", +"RSASSA-PKCS1-v1_5 signing without encoding, with a 2048 bit key.", +"RSASSA-PKCS1-v1_5 signing without encoding, with a 3072 bit key.", +"RSASSA-PKCS1-v1_5 signing without encoding, with a 4096 bit key.", +"RSAES-OAEP 2048 bit key with a SHA256 digest.", +"RSAES-OAEP 3072 bit key with a SHA256 digest.", +"RSAES-OAEP 4096 bit key with a SHA256 digest.", +"RSAES-OAEP 4096 bit key with a SHA512 digest.", +"RSAES-OAEP 2048 bit key with a SHA1 digest.", +"RSAES-OAEP 3072 bit key with a SHA1 digest.", +"RSAES-OAEP 4096 bit key with a SHA1 digest.", +"ECDSA on the NIST P-256 curve with a SHA256 digest. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms", +"ECDSA on the NIST P-384 curve with a SHA384 digest. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms", +"ECDSA on the non-NIST secp256k1 curve. This curve is only supported for HSM protection level. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms", +"EdDSA on the Curve25519 in pure mode (taking data as input).", +"HMAC-SHA256 signing with a 256 bit key.", +"HMAC-SHA1 signing with a 160 bit key.", +"HMAC-SHA384 signing with a 384 bit key.", +"HMAC-SHA512 signing with a 512 bit key.", +"HMAC-SHA224 signing with a 224 bit key.", +"Algorithm representing symmetric encryption by an external key manager." +], +"type": "string" +}, +"cryptoKeyVersion": { +"description": "Optional. The optional name of an existing CryptoKeyVersion to target for an import operation. If this field is not present, a new CryptoKeyVersion containing the supplied key material is created. If this field is present, the supplied key material is imported into the existing CryptoKeyVersion. To import into an existing CryptoKeyVersion, the CryptoKeyVersion must be a child of ImportCryptoKeyVersionRequest.parent, have been previously created via ImportCryptoKeyVersion, and be in DESTROYED or IMPORT_FAILED state. The key material and algorithm must match the previous CryptoKeyVersion exactly if the CryptoKeyVersion has ever contained key material.", +"type": "string" +}, +"importJob": { +"description": "Required. The name of the ImportJob that was used to wrap this key material.", +"type": "string" +}, +"rsaAesWrappedKey": { +"description": "Optional. This field has the same meaning as wrapped_key. Prefer to use that field in new work. Either that field or this field (but not both) must be specified.", +"format": "byte", +"type": "string" +}, +"wrappedKey": { +"description": "Optional. The wrapped key material to import. Before wrapping, key material must be formatted. If importing symmetric key material, the expected key material format is plain bytes. If importing asymmetric key material, the expected key material format is PKCS#8-encoded DER (the PrivateKeyInfo structure from RFC 5208). When wrapping with import methods (RSA_OAEP_3072_SHA1_AES_256 or RSA_OAEP_4096_SHA1_AES_256 or RSA_OAEP_3072_SHA256_AES_256 or RSA_OAEP_4096_SHA256_AES_256), this field must contain the concatenation of: 1. An ephemeral AES-256 wrapping key wrapped with the public_key using RSAES-OAEP with SHA-1/SHA-256, MGF1 with SHA-1/SHA-256, and an empty label. 2. The formatted key to be imported, wrapped with the ephemeral AES-256 key using AES-KWP (RFC 5649). This format is the same as the format produced by PKCS#11 mechanism CKM_RSA_AES_KEY_WRAP. When wrapping with import methods (RSA_OAEP_3072_SHA256 or RSA_OAEP_4096_SHA256), this field must contain the formatted key to be imported, wrapped with the public_key using RSAES-OAEP with SHA-256, MGF1 with SHA-256, and an empty label.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"ImportJob": { +"description": "An ImportJob can be used to create CryptoKeys and CryptoKeyVersions using pre-existing key material, generated outside of Cloud KMS. When an ImportJob is created, Cloud KMS will generate a \"wrapping key\", which is a public/private key pair. You use the wrapping key to encrypt (also known as wrap) the pre-existing key material to protect it during the import process. The nature of the wrapping key depends on the choice of import_method. When the wrapping key generation is complete, the state will be set to ACTIVE and the public_key can be fetched. The fetched public key can then be used to wrap your pre-existing key material. Once the key material is wrapped, it can be imported into a new CryptoKeyVersion in an existing CryptoKey by calling ImportCryptoKeyVersion. Multiple CryptoKeyVersions can be imported with a single ImportJob. Cloud KMS uses the private key portion of the wrapping key to unwrap the key material. Only Cloud KMS has access to the private key. An ImportJob expires 3 days after it is created. Once expired, Cloud KMS will no longer be able to import or unwrap any key material that was wrapped with the ImportJob's public key. For more information, see [Importing a key](https://cloud.google.com/kms/docs/importing-a-key).", +"id": "ImportJob", +"properties": { +"attestation": { +"$ref": "KeyOperationAttestation", +"description": "Output only. Statement that was generated and signed by the key creator (for example, an HSM) at key creation time. Use this statement to verify attributes of the key as stored on the HSM, independently of Google. Only present if the chosen ImportMethod is one with a protection level of HSM.", +"readOnly": true +}, +"createTime": { +"description": "Output only. The time at which this ImportJob was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"expireEventTime": { +"description": "Output only. The time this ImportJob expired. Only present if state is EXPIRED.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"expireTime": { +"description": "Output only. The time at which this ImportJob is scheduled for expiration and can no longer be used to import key material.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"generateTime": { +"description": "Output only. The time this ImportJob's key material was generated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"importMethod": { +"description": "Required. Immutable. The wrapping method to be used for incoming key material.", +"enum": [ +"IMPORT_METHOD_UNSPECIFIED", +"RSA_OAEP_3072_SHA1_AES_256", +"RSA_OAEP_4096_SHA1_AES_256", +"RSA_OAEP_3072_SHA256_AES_256", +"RSA_OAEP_4096_SHA256_AES_256", +"RSA_OAEP_3072_SHA256", +"RSA_OAEP_4096_SHA256" +], +"enumDescriptions": [ +"Not specified.", +"This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping scheme defined in the PKCS #11 standard. In summary, this involves wrapping the raw key with an ephemeral AES key, and wrapping the ephemeral AES key with a 3072 bit RSA key. For more details, see [RSA AES key wrap mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).", +"This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping scheme defined in the PKCS #11 standard. In summary, this involves wrapping the raw key with an ephemeral AES key, and wrapping the ephemeral AES key with a 4096 bit RSA key. For more details, see [RSA AES key wrap mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).", +"This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping scheme defined in the PKCS #11 standard. In summary, this involves wrapping the raw key with an ephemeral AES key, and wrapping the ephemeral AES key with a 3072 bit RSA key. For more details, see [RSA AES key wrap mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).", +"This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping scheme defined in the PKCS #11 standard. In summary, this involves wrapping the raw key with an ephemeral AES key, and wrapping the ephemeral AES key with a 4096 bit RSA key. For more details, see [RSA AES key wrap mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).", +"This ImportMethod represents RSAES-OAEP with a 3072 bit RSA key. The key material to be imported is wrapped directly with the RSA key. Due to technical limitations of RSA wrapping, this method cannot be used to wrap RSA keys for import.", +"This ImportMethod represents RSAES-OAEP with a 4096 bit RSA key. The key material to be imported is wrapped directly with the RSA key. Due to technical limitations of RSA wrapping, this method cannot be used to wrap RSA keys for import." +], +"type": "string" +}, +"name": { +"description": "Output only. The resource name for this ImportJob in the format `projects/*/locations/*/keyRings/*/importJobs/*`.", +"readOnly": true, +"type": "string" +}, +"protectionLevel": { +"description": "Required. Immutable. The protection level of the ImportJob. This must match the protection_level of the version_template on the CryptoKey you attempt to import into.", +"enum": [ +"PROTECTION_LEVEL_UNSPECIFIED", +"SOFTWARE", +"HSM", +"EXTERNAL", +"EXTERNAL_VPC" +], +"enumDescriptions": [ +"Not specified.", +"Crypto operations are performed in software.", +"Crypto operations are performed in a Hardware Security Module.", +"Crypto operations are performed by an external key manager.", +"Crypto operations are performed in an EKM-over-VPC backend." +], +"type": "string" +}, +"publicKey": { +"$ref": "WrappingPublicKey", +"description": "Output only. The public key with which to wrap key material prior to import. Only returned if state is ACTIVE.", +"readOnly": true +}, +"state": { +"description": "Output only. The current state of the ImportJob, indicating if it can be used.", +"enum": [ +"IMPORT_JOB_STATE_UNSPECIFIED", +"PENDING_GENERATION", +"ACTIVE", +"EXPIRED" +], +"enumDescriptions": [ +"Not specified.", +"The wrapping key for this job is still being generated. It may not be used. Cloud KMS will automatically mark this job as ACTIVE as soon as the wrapping key is generated.", +"This job may be used in CreateCryptoKey and CreateCryptoKeyVersion requests.", +"This job can no longer be used and may not leave this state once entered." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"KeyAccessJustificationsPolicy": { +"description": "A KeyAccessJustificationsPolicy specifies zero or more allowed AccessReason values for encrypt, decrypt, and sign operations on a CryptoKey.", +"id": "KeyAccessJustificationsPolicy", +"properties": { +"allowedAccessReasons": { +"description": "The list of allowed reasons for access to a CryptoKey. Zero allowed access reasons means all encrypt, decrypt, and sign operations for the CryptoKey associated with this policy will fail.", +"items": { +"enum": [ +"REASON_UNSPECIFIED", +"CUSTOMER_INITIATED_SUPPORT", +"GOOGLE_INITIATED_SERVICE", +"THIRD_PARTY_DATA_REQUEST", +"GOOGLE_INITIATED_REVIEW", +"CUSTOMER_INITIATED_ACCESS", +"GOOGLE_INITIATED_SYSTEM_OPERATION", +"REASON_NOT_EXPECTED", +"MODIFIED_CUSTOMER_INITIATED_ACCESS", +"MODIFIED_GOOGLE_INITIATED_SYSTEM_OPERATION", +"GOOGLE_RESPONSE_TO_PRODUCTION_ALERT", +"CUSTOMER_AUTHORIZED_WORKFLOW_SERVICING" +], +"enumDescriptions": [ +"Unspecified access reason.", +"Customer-initiated support.", +"Google-initiated access for system management and troubleshooting.", +"Google-initiated access in response to a legal request or legal process.", +"Google-initiated access for security, fraud, abuse, or compliance purposes.", +"Customer uses their account to perform any access to their own data which their IAM policy authorizes.", +"Google systems access customer data to help optimize the structure of the data or quality for future uses by the customer.", +"No reason is expected for this key request.", +"Customer uses their account to perform any access to their own data which their IAM policy authorizes, and one of the following is true: * A Google administrator has reset the root-access account associated with the user's organization within the past 7 days. * A Google-initiated emergency access operation has interacted with a resource in the same project or folder as the currently accessed resource within the past 7 days.", +"Google systems access customer data to help optimize the structure of the data or quality for future uses by the customer, and one of the following is true: * A Google administrator has reset the root-access account associated with the user's organization within the past 7 days. * A Google-initiated emergency access operation has interacted with a resource in the same project or folder as the currently accessed resource within the past 7 days.", +"Google-initiated access to maintain system reliability.", +"One of the following operations is being executed while simultaneously encountering an internal technical issue which prevented a more precise justification code from being generated: * Your account has been used to perform any access to your own data which your IAM policy authorizes. * An automated Google system operates on encrypted customer data which your IAM policy authorizes. * Customer-initiated Google support access. * Google-initiated support access to protect system reliability." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"KeyHandle": { +"description": "Resource-oriented representation of a request to Cloud KMS Autokey and the resulting provisioning of a CryptoKey.", +"id": "KeyHandle", +"properties": { +"kmsKey": { +"description": "Output only. Name of a CryptoKey that has been provisioned for Customer Managed Encryption Key (CMEK) use in the KeyHandle project and location for the requested resource type. The CryptoKey project will reflect the value configured in the AutokeyConfig on the resource project's ancestor folder at the time of the KeyHandle creation. If more than one ancestor folder has a configured AutokeyConfig, the nearest of these configurations is used.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Identifier. Name of the KeyHandle resource, e.g. `projects/{PROJECT_ID}/locations/{LOCATION}/keyHandles/{KEY_HANDLE_ID}`.", +"type": "string" +}, +"resourceTypeSelector": { +"description": "Required. Indicates the resource type that the resulting CryptoKey is meant to protect, e.g. `{SERVICE}.googleapis.com/{TYPE}`. See documentation for supported resource types.", +"type": "string" +} +}, +"type": "object" +}, +"KeyOperationAttestation": { +"description": "Contains an HSM-generated attestation about a key operation. For more information, see [Verifying attestations] (https://cloud.google.com/kms/docs/attest-key).", +"id": "KeyOperationAttestation", +"properties": { +"certChains": { +"$ref": "CertificateChains", +"description": "Output only. The certificate chains needed to validate the attestation", +"readOnly": true +}, +"content": { +"description": "Output only. The attestation data provided by the HSM when the key operation was performed.", +"format": "byte", +"readOnly": true, +"type": "string" +}, +"format": { +"description": "Output only. The format of the attestation data.", +"enum": [ +"ATTESTATION_FORMAT_UNSPECIFIED", +"CAVIUM_V1_COMPRESSED", +"CAVIUM_V2_COMPRESSED" +], +"enumDescriptions": [ +"Not specified.", +"Cavium HSM attestation compressed with gzip. Note that this format is defined by Cavium and subject to change at any time. See https://www.marvell.com/products/security-solutions/nitrox-hs-adapters/software-key-attestation.html.", +"Cavium HSM attestation V2 compressed with gzip. This is a new format introduced in Cavium's version 3.2-08." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"KeyRing": { +"description": "A KeyRing is a toplevel logical grouping of CryptoKeys.", +"id": "KeyRing", +"properties": { +"createTime": { +"description": "Output only. The time at which this KeyRing was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The resource name for the KeyRing in the format `projects/*/locations/*/keyRings/*`.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ListCryptoKeyVersionsResponse": { +"description": "Response message for KeyManagementService.ListCryptoKeyVersions.", +"id": "ListCryptoKeyVersionsResponse", +"properties": { +"cryptoKeyVersions": { +"description": "The list of CryptoKeyVersions.", +"items": { +"$ref": "CryptoKeyVersion" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass this value in ListCryptoKeyVersionsRequest.page_token to retrieve the next page of results.", +"type": "string" +}, +"totalSize": { +"description": "The total number of CryptoKeyVersions that matched the query.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ListCryptoKeysResponse": { +"description": "Response message for KeyManagementService.ListCryptoKeys.", +"id": "ListCryptoKeysResponse", +"properties": { +"cryptoKeys": { +"description": "The list of CryptoKeys.", +"items": { +"$ref": "CryptoKey" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass this value in ListCryptoKeysRequest.page_token to retrieve the next page of results.", +"type": "string" +}, +"totalSize": { +"description": "The total number of CryptoKeys that matched the query.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ListEkmConnectionsResponse": { +"description": "Response message for EkmService.ListEkmConnections.", +"id": "ListEkmConnectionsResponse", +"properties": { +"ekmConnections": { +"description": "The list of EkmConnections.", +"items": { +"$ref": "EkmConnection" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass this value in ListEkmConnectionsRequest.page_token to retrieve the next page of results.", +"type": "string" +}, +"totalSize": { +"description": "The total number of EkmConnections that matched the query.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ListImportJobsResponse": { +"description": "Response message for KeyManagementService.ListImportJobs.", +"id": "ListImportJobsResponse", +"properties": { +"importJobs": { +"description": "The list of ImportJobs.", +"items": { +"$ref": "ImportJob" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass this value in ListImportJobsRequest.page_token to retrieve the next page of results.", +"type": "string" +}, +"totalSize": { +"description": "The total number of ImportJobs that matched the query.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ListKeyHandlesResponse": { +"description": "Response message for Autokey.ListKeyHandles.", +"id": "ListKeyHandlesResponse", +"properties": { +"keyHandles": { +"description": "Resulting KeyHandles.", +"items": { +"$ref": "KeyHandle" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass this value in ListKeyHandlesRequest.page_token to retrieve the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListKeyRingsResponse": { +"description": "Response message for KeyManagementService.ListKeyRings.", +"id": "ListKeyRingsResponse", +"properties": { +"keyRings": { +"description": "The list of KeyRings.", +"items": { +"$ref": "KeyRing" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass this value in ListKeyRingsRequest.page_token to retrieve the next page of results.", +"type": "string" +}, +"totalSize": { +"description": "The total number of KeyRings that matched the query.", +"format": "int32", +"type": "integer" +} +}, +"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" +}, +"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 KMS metadata for the given google.cloud.location.Location.", +"id": "LocationMetadata", +"properties": { +"ekmAvailable": { +"description": "Indicates whether CryptoKeys with protection_level EXTERNAL can be created in this location.", +"type": "boolean" +}, +"hsmAvailable": { +"description": "Indicates whether CryptoKeys with protection_level HSM can be created in this location.", +"type": "boolean" +} +}, +"type": "object" +}, +"MacSignRequest": { +"description": "Request message for KeyManagementService.MacSign.", +"id": "MacSignRequest", +"properties": { +"data": { +"description": "Required. The data to sign. The MAC tag is computed over this data field based on the specific algorithm.", +"format": "byte", +"type": "string" +}, +"dataCrc32c": { +"description": "Optional. An optional CRC32C checksum of the MacSignRequest.data. If specified, KeyManagementService will verify the integrity of the received MacSignRequest.data using this checksum. KeyManagementService will report an error if the checksum verification fails. If you receive a checksum error, your client should verify that CRC32C(MacSignRequest.data) is equal to MacSignRequest.data_crc32c, and if so, perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"MacSignResponse": { +"description": "Response message for KeyManagementService.MacSign.", +"id": "MacSignResponse", +"properties": { +"mac": { +"description": "The created signature.", +"format": "byte", +"type": "string" +}, +"macCrc32c": { +"description": "Integrity verification field. A CRC32C checksum of the returned MacSignResponse.mac. An integrity check of MacSignResponse.mac can be performed by computing the CRC32C checksum of MacSignResponse.mac and comparing your results to this field. Discard the response in case of non-matching checksum values, and perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "The resource name of the CryptoKeyVersion used for signing. Check this field to verify that the intended resource was used for signing.", +"type": "string" +}, +"protectionLevel": { +"description": "The ProtectionLevel of the CryptoKeyVersion used for signing.", +"enum": [ +"PROTECTION_LEVEL_UNSPECIFIED", +"SOFTWARE", +"HSM", +"EXTERNAL", +"EXTERNAL_VPC" +], +"enumDescriptions": [ +"Not specified.", +"Crypto operations are performed in software.", +"Crypto operations are performed in a Hardware Security Module.", +"Crypto operations are performed by an external key manager.", +"Crypto operations are performed in an EKM-over-VPC backend." +], +"type": "string" +}, +"verifiedDataCrc32c": { +"description": "Integrity verification field. A flag indicating whether MacSignRequest.data_crc32c was received by KeyManagementService and used for the integrity verification of the data. A false value of this field indicates either that MacSignRequest.data_crc32c was left unset or that it was not delivered to KeyManagementService. If you've set MacSignRequest.data_crc32c but this field is still false, discard the response and perform a limited number of retries.", +"type": "boolean" +} +}, +"type": "object" +}, +"MacVerifyRequest": { +"description": "Request message for KeyManagementService.MacVerify.", +"id": "MacVerifyRequest", +"properties": { +"data": { +"description": "Required. The data used previously as a MacSignRequest.data to generate the MAC tag.", +"format": "byte", +"type": "string" +}, +"dataCrc32c": { +"description": "Optional. An optional CRC32C checksum of the MacVerifyRequest.data. If specified, KeyManagementService will verify the integrity of the received MacVerifyRequest.data using this checksum. KeyManagementService will report an error if the checksum verification fails. If you receive a checksum error, your client should verify that CRC32C(MacVerifyRequest.data) is equal to MacVerifyRequest.data_crc32c, and if so, perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", +"format": "int64", +"type": "string" +}, +"mac": { +"description": "Required. The signature to verify.", +"format": "byte", +"type": "string" +}, +"macCrc32c": { +"description": "Optional. An optional CRC32C checksum of the MacVerifyRequest.mac. If specified, KeyManagementService will verify the integrity of the received MacVerifyRequest.mac using this checksum. KeyManagementService will report an error if the checksum verification fails. If you receive a checksum error, your client should verify that CRC32C(MacVerifyRequest.mac) is equal to MacVerifyRequest.mac_crc32c, and if so, perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"MacVerifyResponse": { +"description": "Response message for KeyManagementService.MacVerify.", +"id": "MacVerifyResponse", +"properties": { +"name": { +"description": "The resource name of the CryptoKeyVersion used for verification. Check this field to verify that the intended resource was used for verification.", +"type": "string" +}, +"protectionLevel": { +"description": "The ProtectionLevel of the CryptoKeyVersion used for verification.", +"enum": [ +"PROTECTION_LEVEL_UNSPECIFIED", +"SOFTWARE", +"HSM", +"EXTERNAL", +"EXTERNAL_VPC" +], +"enumDescriptions": [ +"Not specified.", +"Crypto operations are performed in software.", +"Crypto operations are performed in a Hardware Security Module.", +"Crypto operations are performed by an external key manager.", +"Crypto operations are performed in an EKM-over-VPC backend." +], +"type": "string" +}, +"success": { +"description": "This field indicates whether or not the verification operation for MacVerifyRequest.mac over MacVerifyRequest.data was successful.", +"type": "boolean" +}, +"verifiedDataCrc32c": { +"description": "Integrity verification field. A flag indicating whether MacVerifyRequest.data_crc32c was received by KeyManagementService and used for the integrity verification of the data. A false value of this field indicates either that MacVerifyRequest.data_crc32c was left unset or that it was not delivered to KeyManagementService. If you've set MacVerifyRequest.data_crc32c but this field is still false, discard the response and perform a limited number of retries.", +"type": "boolean" +}, +"verifiedMacCrc32c": { +"description": "Integrity verification field. A flag indicating whether MacVerifyRequest.mac_crc32c was received by KeyManagementService and used for the integrity verification of the data. A false value of this field indicates either that MacVerifyRequest.mac_crc32c was left unset or that it was not delivered to KeyManagementService. If you've set MacVerifyRequest.mac_crc32c but this field is still false, discard the response and perform a limited number of retries.", +"type": "boolean" +}, +"verifiedSuccessIntegrity": { +"description": "Integrity verification field. This value is used for the integrity verification of [MacVerifyResponse.success]. If the value of this field contradicts the value of [MacVerifyResponse.success], discard the response and perform a limited number of retries.", +"type": "boolean" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"done": { +"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", +"type": "boolean" +}, +"error": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "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" +}, +"PublicKey": { +"description": "The public keys for a given CryptoKeyVersion. Obtained via GetPublicKey.", +"id": "PublicKey", +"properties": { +"algorithm": { +"description": "The Algorithm associated with this key.", +"enum": [ +"CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED", +"GOOGLE_SYMMETRIC_ENCRYPTION", +"AES_128_GCM", +"AES_256_GCM", +"AES_128_CBC", +"AES_256_CBC", +"AES_128_CTR", +"AES_256_CTR", +"RSA_SIGN_PSS_2048_SHA256", +"RSA_SIGN_PSS_3072_SHA256", +"RSA_SIGN_PSS_4096_SHA256", +"RSA_SIGN_PSS_4096_SHA512", +"RSA_SIGN_PKCS1_2048_SHA256", +"RSA_SIGN_PKCS1_3072_SHA256", +"RSA_SIGN_PKCS1_4096_SHA256", +"RSA_SIGN_PKCS1_4096_SHA512", +"RSA_SIGN_RAW_PKCS1_2048", +"RSA_SIGN_RAW_PKCS1_3072", +"RSA_SIGN_RAW_PKCS1_4096", +"RSA_DECRYPT_OAEP_2048_SHA256", +"RSA_DECRYPT_OAEP_3072_SHA256", +"RSA_DECRYPT_OAEP_4096_SHA256", +"RSA_DECRYPT_OAEP_4096_SHA512", +"RSA_DECRYPT_OAEP_2048_SHA1", +"RSA_DECRYPT_OAEP_3072_SHA1", +"RSA_DECRYPT_OAEP_4096_SHA1", +"EC_SIGN_P256_SHA256", +"EC_SIGN_P384_SHA384", +"EC_SIGN_SECP256K1_SHA256", +"EC_SIGN_ED25519", +"HMAC_SHA256", +"HMAC_SHA1", +"HMAC_SHA384", +"HMAC_SHA512", +"HMAC_SHA224", +"EXTERNAL_SYMMETRIC_ENCRYPTION" +], +"enumDescriptions": [ +"Not specified.", +"Creates symmetric encryption keys.", +"AES-GCM (Galois Counter Mode) using 128-bit keys.", +"AES-GCM (Galois Counter Mode) using 256-bit keys.", +"AES-CBC (Cipher Block Chaining Mode) using 128-bit keys.", +"AES-CBC (Cipher Block Chaining Mode) using 256-bit keys.", +"AES-CTR (Counter Mode) using 128-bit keys.", +"AES-CTR (Counter Mode) using 256-bit keys.", +"RSASSA-PSS 2048 bit key with a SHA256 digest.", +"RSASSA-PSS 3072 bit key with a SHA256 digest.", +"RSASSA-PSS 4096 bit key with a SHA256 digest.", +"RSASSA-PSS 4096 bit key with a SHA512 digest.", +"RSASSA-PKCS1-v1_5 with a 2048 bit key and a SHA256 digest.", +"RSASSA-PKCS1-v1_5 with a 3072 bit key and a SHA256 digest.", +"RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA256 digest.", +"RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA512 digest.", +"RSASSA-PKCS1-v1_5 signing without encoding, with a 2048 bit key.", +"RSASSA-PKCS1-v1_5 signing without encoding, with a 3072 bit key.", +"RSASSA-PKCS1-v1_5 signing without encoding, with a 4096 bit key.", +"RSAES-OAEP 2048 bit key with a SHA256 digest.", +"RSAES-OAEP 3072 bit key with a SHA256 digest.", +"RSAES-OAEP 4096 bit key with a SHA256 digest.", +"RSAES-OAEP 4096 bit key with a SHA512 digest.", +"RSAES-OAEP 2048 bit key with a SHA1 digest.", +"RSAES-OAEP 3072 bit key with a SHA1 digest.", +"RSAES-OAEP 4096 bit key with a SHA1 digest.", +"ECDSA on the NIST P-256 curve with a SHA256 digest. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms", +"ECDSA on the NIST P-384 curve with a SHA384 digest. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms", +"ECDSA on the non-NIST secp256k1 curve. This curve is only supported for HSM protection level. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms", +"EdDSA on the Curve25519 in pure mode (taking data as input).", +"HMAC-SHA256 signing with a 256 bit key.", +"HMAC-SHA1 signing with a 160 bit key.", +"HMAC-SHA384 signing with a 384 bit key.", +"HMAC-SHA512 signing with a 512 bit key.", +"HMAC-SHA224 signing with a 224 bit key.", +"Algorithm representing symmetric encryption by an external key manager." +], +"type": "string" +}, +"name": { +"description": "The name of the CryptoKeyVersion public key. Provided here for verification. NOTE: This field is in Beta.", +"type": "string" +}, +"pem": { +"description": "The public key, encoded in PEM format. For more information, see the [RFC 7468](https://tools.ietf.org/html/rfc7468) sections for [General Considerations](https://tools.ietf.org/html/rfc7468#section-2) and [Textual Encoding of Subject Public Key Info] (https://tools.ietf.org/html/rfc7468#section-13).", +"type": "string" +}, +"pemCrc32c": { +"description": "Integrity verification field. A CRC32C checksum of the returned PublicKey.pem. An integrity check of PublicKey.pem can be performed by computing the CRC32C checksum of PublicKey.pem and comparing your results to this field. Discard the response in case of non-matching checksum values, and perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type. NOTE: This field is in Beta.", +"format": "int64", +"type": "string" +}, +"protectionLevel": { +"description": "The ProtectionLevel of the CryptoKeyVersion public key.", +"enum": [ +"PROTECTION_LEVEL_UNSPECIFIED", +"SOFTWARE", +"HSM", +"EXTERNAL", +"EXTERNAL_VPC" +], +"enumDescriptions": [ +"Not specified.", +"Crypto operations are performed in software.", +"Crypto operations are performed in a Hardware Security Module.", +"Crypto operations are performed by an external key manager.", +"Crypto operations are performed in an EKM-over-VPC backend." +], +"type": "string" +} +}, +"type": "object" +}, +"RawDecryptRequest": { +"description": "Request message for KeyManagementService.RawDecrypt.", +"id": "RawDecryptRequest", +"properties": { +"additionalAuthenticatedData": { +"description": "Optional. Optional data that must match the data originally supplied in RawEncryptRequest.additional_authenticated_data.", +"format": "byte", +"type": "string" +}, +"additionalAuthenticatedDataCrc32c": { +"description": "Optional. An optional CRC32C checksum of the RawDecryptRequest.additional_authenticated_data. If specified, KeyManagementService will verify the integrity of the received additional_authenticated_data using this checksum. KeyManagementService will report an error if the checksum verification fails. If you receive a checksum error, your client should verify that CRC32C(additional_authenticated_data) is equal to additional_authenticated_data_crc32c, and if so, perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", +"format": "int64", +"type": "string" +}, +"ciphertext": { +"description": "Required. The encrypted data originally returned in RawEncryptResponse.ciphertext.", +"format": "byte", +"type": "string" +}, +"ciphertextCrc32c": { +"description": "Optional. An optional CRC32C checksum of the RawDecryptRequest.ciphertext. If specified, KeyManagementService will verify the integrity of the received ciphertext using this checksum. KeyManagementService will report an error if the checksum verification fails. If you receive a checksum error, your client should verify that CRC32C(ciphertext) is equal to ciphertext_crc32c, and if so, perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", +"format": "int64", +"type": "string" +}, +"initializationVector": { +"description": "Required. The initialization vector (IV) used during encryption, which must match the data originally provided in RawEncryptResponse.initialization_vector.", +"format": "byte", +"type": "string" +}, +"initializationVectorCrc32c": { +"description": "Optional. An optional CRC32C checksum of the RawDecryptRequest.initialization_vector. If specified, KeyManagementService will verify the integrity of the received initialization_vector using this checksum. KeyManagementService will report an error if the checksum verification fails. If you receive a checksum error, your client should verify that CRC32C(initialization_vector) is equal to initialization_vector_crc32c, and if so, perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", +"format": "int64", +"type": "string" +}, +"tagLength": { +"description": "The length of the authentication tag that is appended to the end of the ciphertext. If unspecified (0), the default value for the key's algorithm will be used (for AES-GCM, the default value is 16).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"RawDecryptResponse": { +"description": "Response message for KeyManagementService.RawDecrypt.", +"id": "RawDecryptResponse", +"properties": { +"plaintext": { +"description": "The decrypted data.", +"format": "byte", +"type": "string" +}, +"plaintextCrc32c": { +"description": "Integrity verification field. A CRC32C checksum of the returned RawDecryptResponse.plaintext. An integrity check of plaintext can be performed by computing the CRC32C checksum of plaintext and comparing your results to this field. Discard the response in case of non-matching checksum values, and perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: receiving this response message indicates that KeyManagementService is able to successfully decrypt the ciphertext. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", +"format": "int64", +"type": "string" +}, +"protectionLevel": { +"description": "The ProtectionLevel of the CryptoKeyVersion used in decryption.", +"enum": [ +"PROTECTION_LEVEL_UNSPECIFIED", +"SOFTWARE", +"HSM", +"EXTERNAL", +"EXTERNAL_VPC" +], +"enumDescriptions": [ +"Not specified.", +"Crypto operations are performed in software.", +"Crypto operations are performed in a Hardware Security Module.", +"Crypto operations are performed by an external key manager.", +"Crypto operations are performed in an EKM-over-VPC backend." +], +"type": "string" +}, +"verifiedAdditionalAuthenticatedDataCrc32c": { +"description": "Integrity verification field. A flag indicating whether RawDecryptRequest.additional_authenticated_data_crc32c was received by KeyManagementService and used for the integrity verification of additional_authenticated_data. A false value of this field indicates either that // RawDecryptRequest.additional_authenticated_data_crc32c was left unset or that it was not delivered to KeyManagementService. If you've set RawDecryptRequest.additional_authenticated_data_crc32c but this field is still false, discard the response and perform a limited number of retries.", +"type": "boolean" +}, +"verifiedCiphertextCrc32c": { +"description": "Integrity verification field. A flag indicating whether RawDecryptRequest.ciphertext_crc32c was received by KeyManagementService and used for the integrity verification of the ciphertext. A false value of this field indicates either that RawDecryptRequest.ciphertext_crc32c was left unset or that it was not delivered to KeyManagementService. If you've set RawDecryptRequest.ciphertext_crc32c but this field is still false, discard the response and perform a limited number of retries.", +"type": "boolean" +}, +"verifiedInitializationVectorCrc32c": { +"description": "Integrity verification field. A flag indicating whether RawDecryptRequest.initialization_vector_crc32c was received by KeyManagementService and used for the integrity verification of initialization_vector. A false value of this field indicates either that RawDecryptRequest.initialization_vector_crc32c was left unset or that it was not delivered to KeyManagementService. If you've set RawDecryptRequest.initialization_vector_crc32c but this field is still false, discard the response and perform a limited number of retries.", +"type": "boolean" +} +}, +"type": "object" +}, +"RawEncryptRequest": { +"description": "Request message for KeyManagementService.RawEncrypt.", +"id": "RawEncryptRequest", +"properties": { +"additionalAuthenticatedData": { +"description": "Optional. Optional data that, if specified, must also be provided during decryption through RawDecryptRequest.additional_authenticated_data. This field may only be used in conjunction with an algorithm that accepts additional authenticated data (for example, AES-GCM). The maximum size depends on the key version's protection_level. For SOFTWARE keys, the plaintext must be no larger than 64KiB. For HSM keys, the combined length of the plaintext and additional_authenticated_data fields must be no larger than 8KiB.", +"format": "byte", +"type": "string" +}, +"additionalAuthenticatedDataCrc32c": { +"description": "Optional. An optional CRC32C checksum of the RawEncryptRequest.additional_authenticated_data. If specified, KeyManagementService will verify the integrity of the received additional_authenticated_data using this checksum. KeyManagementService will report an error if the checksum verification fails. If you receive a checksum error, your client should verify that CRC32C(additional_authenticated_data) is equal to additional_authenticated_data_crc32c, and if so, perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", +"format": "int64", +"type": "string" +}, +"initializationVector": { +"description": "Optional. A customer-supplied initialization vector that will be used for encryption. If it is not provided for AES-CBC and AES-CTR, one will be generated. It will be returned in RawEncryptResponse.initialization_vector.", +"format": "byte", +"type": "string" +}, +"initializationVectorCrc32c": { +"description": "Optional. An optional CRC32C checksum of the RawEncryptRequest.initialization_vector. If specified, KeyManagementService will verify the integrity of the received initialization_vector using this checksum. KeyManagementService will report an error if the checksum verification fails. If you receive a checksum error, your client should verify that CRC32C(initialization_vector) is equal to initialization_vector_crc32c, and if so, perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", +"format": "int64", +"type": "string" +}, +"plaintext": { +"description": "Required. The data to encrypt. Must be no larger than 64KiB. The maximum size depends on the key version's protection_level. For SOFTWARE keys, the plaintext must be no larger than 64KiB. For HSM keys, the combined length of the plaintext and additional_authenticated_data fields must be no larger than 8KiB.", +"format": "byte", +"type": "string" +}, +"plaintextCrc32c": { +"description": "Optional. An optional CRC32C checksum of the RawEncryptRequest.plaintext. If specified, KeyManagementService will verify the integrity of the received plaintext using this checksum. KeyManagementService will report an error if the checksum verification fails. If you receive a checksum error, your client should verify that CRC32C(plaintext) is equal to plaintext_crc32c, and if so, perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"RawEncryptResponse": { +"description": "Response message for KeyManagementService.RawEncrypt.", +"id": "RawEncryptResponse", +"properties": { +"ciphertext": { +"description": "The encrypted data. In the case of AES-GCM, the authentication tag is the tag_length bytes at the end of this field.", +"format": "byte", +"type": "string" +}, +"ciphertextCrc32c": { +"description": "Integrity verification field. A CRC32C checksum of the returned RawEncryptResponse.ciphertext. An integrity check of ciphertext can be performed by computing the CRC32C checksum of ciphertext and comparing your results to this field. Discard the response in case of non-matching checksum values, and perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", +"format": "int64", +"type": "string" +}, +"initializationVector": { +"description": "The initialization vector (IV) generated by the service during encryption. This value must be stored and provided in RawDecryptRequest.initialization_vector at decryption time.", +"format": "byte", +"type": "string" +}, +"initializationVectorCrc32c": { +"description": "Integrity verification field. A CRC32C checksum of the returned RawEncryptResponse.initialization_vector. An integrity check of initialization_vector can be performed by computing the CRC32C checksum of initialization_vector and comparing your results to this field. Discard the response in case of non-matching checksum values, and perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "The resource name of the CryptoKeyVersion used in encryption. Check this field to verify that the intended resource was used for encryption.", +"type": "string" +}, +"protectionLevel": { +"description": "The ProtectionLevel of the CryptoKeyVersion used in encryption.", +"enum": [ +"PROTECTION_LEVEL_UNSPECIFIED", +"SOFTWARE", +"HSM", +"EXTERNAL", +"EXTERNAL_VPC" +], +"enumDescriptions": [ +"Not specified.", +"Crypto operations are performed in software.", +"Crypto operations are performed in a Hardware Security Module.", +"Crypto operations are performed by an external key manager.", +"Crypto operations are performed in an EKM-over-VPC backend." +], +"type": "string" +}, +"tagLength": { +"description": "The length of the authentication tag that is appended to the end of the ciphertext.", +"format": "int32", +"type": "integer" +}, +"verifiedAdditionalAuthenticatedDataCrc32c": { +"description": "Integrity verification field. A flag indicating whether RawEncryptRequest.additional_authenticated_data_crc32c was received by KeyManagementService and used for the integrity verification of additional_authenticated_data. A false value of this field indicates either that // RawEncryptRequest.additional_authenticated_data_crc32c was left unset or that it was not delivered to KeyManagementService. If you've set RawEncryptRequest.additional_authenticated_data_crc32c but this field is still false, discard the response and perform a limited number of retries.", +"type": "boolean" +}, +"verifiedInitializationVectorCrc32c": { +"description": "Integrity verification field. A flag indicating whether RawEncryptRequest.initialization_vector_crc32c was received by KeyManagementService and used for the integrity verification of initialization_vector. A false value of this field indicates either that RawEncryptRequest.initialization_vector_crc32c was left unset or that it was not delivered to KeyManagementService. If you've set RawEncryptRequest.initialization_vector_crc32c but this field is still false, discard the response and perform a limited number of retries.", +"type": "boolean" +}, +"verifiedPlaintextCrc32c": { +"description": "Integrity verification field. A flag indicating whether RawEncryptRequest.plaintext_crc32c was received by KeyManagementService and used for the integrity verification of the plaintext. A false value of this field indicates either that RawEncryptRequest.plaintext_crc32c was left unset or that it was not delivered to KeyManagementService. If you've set RawEncryptRequest.plaintext_crc32c but this field is still false, discard the response and perform a limited number of retries.", +"type": "boolean" +} +}, +"type": "object" +}, +"RestoreCryptoKeyVersionRequest": { +"description": "Request message for KeyManagementService.RestoreCryptoKeyVersion.", +"id": "RestoreCryptoKeyVersionRequest", +"properties": {}, +"type": "object" +}, +"ServiceResolver": { +"description": "A ServiceResolver represents an EKM replica that can be reached within an EkmConnection.", +"id": "ServiceResolver", +"properties": { +"endpointFilter": { +"description": "Optional. The filter applied to the endpoints of the resolved service. If no filter is specified, all endpoints will be considered. An endpoint will be chosen arbitrarily from the filtered list for each request. For endpoint filter syntax and examples, see https://cloud.google.com/service-directory/docs/reference/rpc/google.cloud.servicedirectory.v1#resolveservicerequest.", +"type": "string" +}, +"hostname": { +"description": "Required. The hostname of the EKM replica used at TLS and HTTP layers.", +"type": "string" +}, +"serverCertificates": { +"description": "Required. A list of leaf server certificates used to authenticate HTTPS connections to the EKM replica. Currently, a maximum of 10 Certificate is supported.", +"items": { +"$ref": "Certificate" +}, +"type": "array" +}, +"serviceDirectoryService": { +"description": "Required. The resource name of the Service Directory service pointing to an EKM replica, in the format `projects/*/locations/*/namespaces/*/services/*`.", +"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" +}, +"ShowEffectiveAutokeyConfigResponse": { +"description": "Response message for ShowEffectiveAutokeyConfig.", +"id": "ShowEffectiveAutokeyConfigResponse", +"properties": { +"keyProject": { +"description": "Name of the key project configured in the resource project's folder ancestry.", +"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" +}, +"UpdateCryptoKeyPrimaryVersionRequest": { +"description": "Request message for KeyManagementService.UpdateCryptoKeyPrimaryVersion.", +"id": "UpdateCryptoKeyPrimaryVersionRequest", +"properties": { +"cryptoKeyVersionId": { +"description": "Required. The id of the child CryptoKeyVersion to use as primary.", +"type": "string" +} +}, +"type": "object" +}, +"VerifyConnectivityResponse": { +"description": "Response message for EkmService.VerifyConnectivity.", +"id": "VerifyConnectivityResponse", +"properties": {}, +"type": "object" +}, +"WrappingPublicKey": { +"description": "The public key component of the wrapping key. For details of the type of key this public key corresponds to, see the ImportMethod.", +"id": "WrappingPublicKey", +"properties": { +"pem": { +"description": "The public key, encoded in PEM format. For more information, see the [RFC 7468](https://tools.ietf.org/html/rfc7468) sections for [General Considerations](https://tools.ietf.org/html/rfc7468#section-2) and [Textual Encoding of Subject Public Key Info] (https://tools.ietf.org/html/rfc7468#section-13).", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Key Management Service (KMS) 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/cloudshell.v1alpha1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudshell.v1alpha1.json new file mode 100644 index 0000000000000000000000000000000000000000..cc43416307849600ffc7da9fd5a7b7471c68438d --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudshell.v1alpha1.json @@ -0,0 +1,578 @@ +{ + "batchPath": "batch", + "icons": { + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" + }, + "ownerDomain": "google.com", + "resources": { + "users": { + "resources": { + "environments": { + "methods": { + "patch": { + "id": "cloudshell.users.environments.patch", + "parameters": { + "name": { + "description": "Name of the resource to be updated, for example `users/me/environments/default` or `users/someone@example.com/environments/default`.", + "pattern": "^users/[^/]+/environments/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "updateMask": { + "type": "string", + "format": "google-fieldmask", + "description": "Mask specifying which fields in the environment should be updated.", + "location": "query" + } + }, + "request": { + "$ref": "Environment" + }, + "flatPath": "v1alpha1/users/{usersId}/environments/{environmentsId}", + "path": "v1alpha1/{+name}", + "parameterOrder": [ + "name" + ], + "description": "Updates an existing environment.", + "response": { + "$ref": "Environment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "httpMethod": "PATCH" + }, + "get": { + "response": { + "$ref": "Environment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "pattern": "^users/[^/]+/environments/[^/]+$", + "location": "path", + "required": true, + "description": "Name of the requested resource, for example `users/me/environments/default` or `users/someone@example.com/environments/default`.", + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "path": "v1alpha1/{+name}", + "flatPath": "v1alpha1/users/{usersId}/environments/{environmentsId}", + "description": "Gets an environment. Returns NOT_FOUND if the environment does not exist.", + "httpMethod": "GET", + "id": "cloudshell.users.environments.get" + }, + "start": { + "request": { + "$ref": "StartEnvironmentRequest" + }, + "flatPath": "v1alpha1/users/{usersId}/environments/{environmentsId}:start", + "parameters": { + "name": { + "location": "path", + "required": true, + "pattern": "^users/[^/]+/environments/[^/]+$", + "type": "string", + "description": "Name of the resource that should be started, for example `users/me/environments/default` or `users/someone@example.com/environments/default`." + } + }, + "description": "Starts an existing environment, allowing clients to connect to it. The returned operation will contain an instance of StartEnvironmentMetadata in its metadata field. Users can wait for the environment to start by polling this operation via GetOperation. Once the environment has finished starting and is ready to accept connections, the operation will contain a StartEnvironmentResponse in its response field.", + "path": "v1alpha1/{+name}:start", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "response": { + "$ref": "Operation" + }, + "id": "cloudshell.users.environments.start", + "parameterOrder": [ + "name" + ], + "httpMethod": "POST" + }, + "authorize": { + "id": "cloudshell.users.environments.authorize", + "flatPath": "v1alpha1/users/{usersId}/environments/{environmentsId}:authorize", + "parameters": { + "name": { + "description": "Name of the resource that should receive the credentials, for example `users/me/environments/default` or `users/someone@example.com/environments/default`.", + "type": "string", + "required": true, + "pattern": "^users/[^/]+/environments/[^/]+$", + "location": "path" + } + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "path": "v1alpha1/{+name}:authorize", + "description": "Sends OAuth credentials to a running environment on behalf of a user. When this completes, the environment will be authorized to run various Google Cloud command line tools without requiring the user to manually authenticate.", + "request": { + "$ref": "AuthorizeEnvironmentRequest" + }, + "httpMethod": "POST", + "parameterOrder": [ + "name" + ] + } + }, + "resources": { + "publicKeys": { + "methods": { + "create": { + "flatPath": "v1alpha1/users/{usersId}/environments/{environmentsId}/publicKeys", + "response": { + "$ref": "PublicKey" + }, + "httpMethod": "POST", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "pattern": "^users/[^/]+/environments/[^/]+$", + "required": true, + "location": "path", + "type": "string", + "description": "Parent resource name, e.g. `users/me/environments/default`." + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "path": "v1alpha1/{+parent}/publicKeys", + "id": "cloudshell.users.environments.publicKeys.create", + "request": { + "$ref": "CreatePublicKeyRequest" + }, + "description": "Adds a public SSH key to an environment, allowing clients with the corresponding private key to connect to that environment via SSH. If a key with the same format and content already exists, this will return the existing key." + }, + "delete": { + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameterOrder": [ + "name" + ], + "path": "v1alpha1/{+name}", + "id": "cloudshell.users.environments.publicKeys.delete", + "parameters": { + "name": { + "location": "path", + "type": "string", + "required": true, + "pattern": "^users/[^/]+/environments/[^/]+/publicKeys/[^/]+$", + "description": "Name of the resource to be deleted, e.g. `users/me/environments/default/publicKeys/my-key`." + } + }, + "flatPath": "v1alpha1/users/{usersId}/environments/{environmentsId}/publicKeys/{publicKeysId}", + "httpMethod": "DELETE", + "description": "Removes a public SSH key from an environment. Clients will no longer be able to connect to the environment using the corresponding private key." + } + } + } + } + } + } + } + }, + "description": "Allows users to start, configure, and connect to interactive shell sessions running in the cloud. ", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "basePath": "", + "documentationLink": "https://cloud.google.com/shell/docs/", + "rootUrl": "https://cloudshell.googleapis.com/", + "id": "cloudshell:v1alpha1", + "fullyEncodeReservedExpansion": true, + "title": "Cloud Shell API", + "protocol": "rest", + "version_module": true, + "discoveryVersion": "v1", + "version": "v1alpha1", + "canonicalName": "Cloud Shell", + "revision": "20200803", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://cloudshell.mtls.googleapis.com/", + "ownerName": "Google", + "servicePath": "", + "baseUrl": "https://cloudshell.googleapis.com/", + "parameters": { + "fields": { + "location": "query", + "description": "Selector specifying which fields to include in a partial response.", + "type": "string" + }, + "alt": { + "description": "Data format for response.", + "default": "json", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "enum": [ + "json", + "media", + "proto" + ], + "type": "string", + "location": "query" + }, + "uploadType": { + "type": "string", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query" + }, + "upload_protocol": { + "location": "query", + "type": "string", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")." + }, + "access_token": { + "type": "string", + "description": "OAuth access token.", + "location": "query" + }, + "callback": { + "type": "string", + "description": "JSONP", + "location": "query" + }, + "key": { + "location": "query", + "type": "string", + "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." + }, + "quotaUser": { + "location": "query", + "type": "string", + "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." + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "type": "string", + "location": "query" + }, + "$.xgafv": { + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "enum": [ + "1", + "2" + ], + "description": "V1 error format.", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "type": "boolean", + "description": "Returns response with indentations and line breaks.", + "location": "query" + } + }, + "schemas": { + "CreatePublicKeyRequest": { + "properties": { + "key": { + "description": "Key that should be added to the environment.", + "$ref": "PublicKey" + } + }, + "type": "object", + "id": "CreatePublicKeyRequest", + "description": "Request message for CreatePublicKey." + }, + "StartEnvironmentMetadata": { + "properties": { + "state": { + "enumDescriptions": [ + "The environment's start state is unknown.", + "The environment is in the process of being started, but no additional details are available.", + "Startup is waiting for the user's disk to be unarchived. This can happen when the user returns to Cloud Shell after not having used it for a while, and suggests that startup will take longer than normal.", + "Startup is waiting for a VM to be assigned to the environment. This should normally happen very quickly, but an environment might stay in this state for an extended period of time if the system is experiencing heavy load.", + "Startup is waiting for compute resources to be assigned to the environment. This should normally happen very quickly, but an environment might stay in this state for an extended period of time if the system is experiencing heavy load.", + "Startup has completed. If the start operation was successful, the user should be able to establish an SSH connection to their environment. Otherwise, the operation will contain details of the failure." + ], + "type": "string", + "description": "Current state of the environment being started.", + "enum": [ + "STATE_UNSPECIFIED", + "STARTING", + "UNARCHIVING_DISK", + "AWAITING_VM", + "AWAITING_COMPUTE_RESOURCES", + "FINISHED" + ] + } + }, + "description": "Message included in the metadata field of operations returned from StartEnvironment.", + "id": "StartEnvironmentMetadata", + "type": "object" + }, + "PublicKey": { + "id": "PublicKey", + "description": "A public SSH key, corresponding to a private SSH key held by the client.", + "properties": { + "name": { + "type": "string", + "description": "Output only. Full name of this resource, in the format `users/{owner_email}/environments/{environment_id}/publicKeys/{key_id}`. `{owner_email}` is the email address of the user to whom the key belongs. `{environment_id}` is the identifier of the environment to which the key grants access. `{key_id}` is the unique identifier of the key. For example, `users/someone@example.com/environments/default/publicKeys/myKey`." + }, + "key": { + "type": "string", + "description": "Required. Content of this key.", + "format": "byte" + }, + "format": { + "type": "string", + "description": "Required. Format of this key's content.", + "enumDescriptions": [ + "Unknown format. Do not use.", + "`ssh-dss` key format (see RFC4253).", + "`ssh-rsa` key format (see RFC4253).", + "`ecdsa-sha2-nistp256` key format (see RFC5656).", + "`ecdsa-sha2-nistp384` key format (see RFC5656).", + "`ecdsa-sha2-nistp521` key format (see RFC5656)." + ], + "enum": [ + "FORMAT_UNSPECIFIED", + "SSH_DSS", + "SSH_RSA", + "ECDSA_SHA2_NISTP256", + "ECDSA_SHA2_NISTP384", + "ECDSA_SHA2_NISTP521" + ] + } + }, + "type": "object" + }, + "Status": { + "id": "Status", + "type": "object", + "properties": { + "message": { + "type": "string", + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client." + }, + "details": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object. Contains field @type with type URL." + } + }, + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." + }, + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "type": "integer", + "format": "int32" + } + }, + "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)." + }, + "Operation": { + "id": "Operation", + "description": "This resource represents a long-running operation that is the result of a network API call.", + "type": "object", + "properties": { + "done": { + "type": "boolean", + "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." + }, + "response": { + "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`.", + "additionalProperties": { + "type": "any", + "description": "Properties of the object. Contains field @type with type URL." + }, + "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" + }, + "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" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + } + } + }, + "Environment": { + "type": "object", + "id": "Environment", + "properties": { + "sshPort": { + "type": "integer", + "format": "int32", + "description": "Output only. Port to which clients can connect to initiate SSH sessions with the environment." + }, + "webHost": { + "type": "string", + "description": "Output only. Host to which clients can connect to initiate HTTPS or WSS connections with the environment." + }, + "sshUsername": { + "description": "Output only. Username that clients should use when initiating SSH sessions with the environment.", + "type": "string" + }, + "dockerImage": { + "type": "string", + "description": "Required. Full path to the Docker image used to run this environment, e.g. \"gcr.io/dev-con/cloud-devshell:latest\"." + }, + "name": { + "description": "Output only. Full name of this resource, in the format `users/{owner_email}/environments/{environment_id}`. `{owner_email}` is the email address of the user to whom this environment belongs, and `{environment_id}` is the identifier of this environment. For example, `users/someone@example.com/environments/default`.", + "type": "string" + }, + "size": { + "type": "string", + "description": "Indicates the size of the backing VM running the environment. If set to something other than DEFAULT, it will be reverted to the default VM size after vm_size_expire_time.", + "enum": [ + "VM_SIZE_UNSPECIFIED", + "DEFAULT", + "BOOSTED" + ], + "enumDescriptions": [ + "The VM size is unknown.", + "The default VM size.", + "The boosted VM size." + ] + }, + "state": { + "enumDescriptions": [ + "The environment's states is unknown.", + "The environment is not running and can't be connected to. Starting the environment will transition it to the STARTING state.", + "The environment is being started but is not yet ready to accept connections.", + "The environment is running and ready to accept connections. It will automatically transition back to DISABLED after a period of inactivity or if another environment is started.", + "The environment is being deleted and can't be connected to." + ], + "enum": [ + "STATE_UNSPECIFIED", + "DISABLED", + "STARTING", + "RUNNING", + "DELETING" + ], + "description": "Output only. Current execution state of this environment.", + "type": "string" + }, + "webPorts": { + "description": "Output only. Ports to which clients can connect to initiate HTTPS or WSS connections with the environment.", + "type": "array", + "items": { + "format": "int32", + "type": "integer" + } + }, + "sshHost": { + "type": "string", + "description": "Output only. Host to which clients can connect to initiate SSH sessions with the environment." + }, + "id": { + "description": "Output only. The environment's identifier, unique among the user's environments.", + "type": "string" + }, + "publicKeys": { + "items": { + "$ref": "PublicKey" + }, + "type": "array", + "description": "Output only. Public keys associated with the environment. Clients can connect to this environment via SSH only if they possess a private key corresponding to at least one of these public keys. Keys can be added to or removed from the environment using the CreatePublicKey and DeletePublicKey methods." + }, + "vmSizeExpireTime": { + "description": "Output only. The time when the Environment will expire back to the default VM size.", + "format": "google-datetime", + "type": "string" + } + }, + "description": "A Cloud Shell environment, which is defined as the combination of a Docker image specifying what is installed on the environment and a home directory containing the user's data that will remain across sessions. Each user has a single environment with the ID \"default\"." + }, + "StartEnvironmentResponse": { + "id": "StartEnvironmentResponse", + "properties": { + "environment": { + "$ref": "Environment", + "description": "Environment that was started." + } + }, + "type": "object", + "description": "Message included in the response field of operations returned from StartEnvironment once the operation is complete." + }, + "StartEnvironmentRequest": { + "type": "object", + "id": "StartEnvironmentRequest", + "properties": { + "publicKeys": { + "items": { + "$ref": "PublicKey" + }, + "description": "Public keys that should be added to the environment before it is started.", + "type": "array" + }, + "accessToken": { + "type": "string", + "description": "The initial access token passed to the environment. If this is present and valid, the environment will be pre-authenticated with gcloud so that the user can run gcloud commands in Cloud Shell without having to log in. This code can be updated later by calling AuthorizeEnvironment." + } + }, + "description": "Request message for StartEnvironment." + }, + "AuthorizeEnvironmentRequest": { + "description": "Request message for AuthorizeEnvironment.", + "properties": { + "expireTime": { + "type": "string", + "format": "google-datetime", + "description": "The time when the credentials expire. If not set, defaults to one hour from when the server received the request." + }, + "idToken": { + "type": "string", + "description": "The OAuth ID token that should be sent to the environment." + }, + "accessToken": { + "description": "The OAuth access token that should be sent to the environment.", + "type": "string" + } + }, + "type": "object", + "id": "AuthorizeEnvironmentRequest" + }, + "Empty": { + "properties": {}, + "id": "Empty", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", + "type": "object" + } + }, + "name": "cloudshell" +} diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/compute.alpha.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/compute.alpha.json new file mode 100644 index 0000000000000000000000000000000000000000..64497c8cec1d0c1178839e47979dda0170ac213e --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/compute.alpha.json @@ -0,0 +1,107574 @@ +{ +"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/compute": { +"description": "View and manage your Google Compute Engine resources" +}, +"https://www.googleapis.com/auth/compute.readonly": { +"description": "View your Google Compute Engine resources" +}, +"https://www.googleapis.com/auth/devstorage.full_control": { +"description": "Manage your data and permissions in Cloud Storage and see the email address for your Google Account" +}, +"https://www.googleapis.com/auth/devstorage.read_only": { +"description": "View your data in Google Cloud Storage" +}, +"https://www.googleapis.com/auth/devstorage.read_write": { +"description": "Manage your data in Cloud Storage and see the email address of your Google Account" +} +} +} +}, +"basePath": "/compute/alpha/", +"baseUrl": "https://compute.googleapis.com/compute/alpha/", +"batchPath": "batch/compute/alpha", +"description": "Creates and runs virtual machines on Google Cloud Platform. ", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/compute/", +"icons": { +"x16": "https://www.google.com/images/icons/product/compute_engine-16.png", +"x32": "https://www.google.com/images/icons/product/compute_engine-32.png" +}, +"id": "compute:alpha", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://compute.mtls.googleapis.com/", +"name": "compute", +"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" +}, +"userIp": { +"description": "Legacy name for parameter that has been superseded by `quotaUser`.", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"acceleratorTypes": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of accelerator types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/acceleratorTypes", +"httpMethod": "GET", +"id": "compute.acceleratorTypes.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/acceleratorTypes", +"response": { +"$ref": "AcceleratorTypeAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"get": { +"description": "Returns the specified accelerator type.", +"flatPath": "projects/{project}/zones/{zone}/acceleratorTypes/{acceleratorType}", +"httpMethod": "GET", +"id": "compute.acceleratorTypes.get", +"parameterOrder": [ +"project", +"zone", +"acceleratorType" +], +"parameters": { +"acceleratorType": { +"description": "Name of the accelerator type to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/acceleratorTypes/{acceleratorType}", +"response": { +"$ref": "AcceleratorType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of accelerator types that are available to the specified project.", +"flatPath": "projects/{project}/zones/{zone}/acceleratorTypes", +"httpMethod": "GET", +"id": "compute.acceleratorTypes.list", +"parameterOrder": [ +"project", +"zone" +], +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/acceleratorTypes", +"response": { +"$ref": "AcceleratorTypeList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"addresses": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of addresses. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/addresses", +"httpMethod": "GET", +"id": "compute.addresses.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/addresses", +"response": { +"$ref": "AddressAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified address resource.", +"flatPath": "projects/{project}/regions/{region}/addresses/{address}", +"httpMethod": "DELETE", +"id": "compute.addresses.delete", +"parameterOrder": [ +"project", +"region", +"address" +], +"parameters": { +"address": { +"description": "Name of the address resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/addresses/{address}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified address resource.", +"flatPath": "projects/{project}/regions/{region}/addresses/{address}", +"httpMethod": "GET", +"id": "compute.addresses.get", +"parameterOrder": [ +"project", +"region", +"address" +], +"parameters": { +"address": { +"description": "Name of the address resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/addresses/{address}", +"response": { +"$ref": "Address" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an address resource in the specified project by using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/addresses", +"httpMethod": "POST", +"id": "compute.addresses.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/addresses", +"request": { +"$ref": "Address" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of addresses contained within the specified region.", +"flatPath": "projects/{project}/regions/{region}/addresses", +"httpMethod": "GET", +"id": "compute.addresses.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/addresses", +"response": { +"$ref": "AddressList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"move": { +"description": "Moves the specified address resource.", +"flatPath": "projects/{project}/regions/{region}/addresses/{address}/move", +"httpMethod": "POST", +"id": "compute.addresses.move", +"parameterOrder": [ +"project", +"region", +"address" +], +"parameters": { +"address": { +"description": "Name of the address resource to move.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Source project ID which the Address is moved from.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/addresses/{address}/move", +"request": { +"$ref": "RegionAddressesMoveRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on an Address. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/regions/{region}/addresses/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.addresses.setLabels", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/addresses/{resource}/setLabels", +"request": { +"$ref": "RegionSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/addresses/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.addresses.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/addresses/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"advice": { +"methods": { +"calendarMode": { +"description": "Advise how, where and when to create the requested amount of instances with specified accelerators, within the specified time and location limits. The method recommends creating future reservations for the requested resources.", +"flatPath": "projects/{project}/regions/{region}/advice/calendarMode", +"httpMethod": "POST", +"id": "compute.advice.calendarMode", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/advice/calendarMode", +"request": { +"$ref": "CalendarModeAdviceRequest" +}, +"response": { +"$ref": "CalendarModeAdviceResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"autoscalers": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of autoscalers. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/autoscalers", +"httpMethod": "GET", +"id": "compute.autoscalers.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/autoscalers", +"response": { +"$ref": "AutoscalerAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified autoscaler.", +"flatPath": "projects/{project}/zones/{zone}/autoscalers/{autoscaler}", +"httpMethod": "DELETE", +"id": "compute.autoscalers.delete", +"parameterOrder": [ +"project", +"zone", +"autoscaler" +], +"parameters": { +"autoscaler": { +"description": "Name of the autoscaler to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/autoscalers/{autoscaler}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified autoscaler resource.", +"flatPath": "projects/{project}/zones/{zone}/autoscalers/{autoscaler}", +"httpMethod": "GET", +"id": "compute.autoscalers.get", +"parameterOrder": [ +"project", +"zone", +"autoscaler" +], +"parameters": { +"autoscaler": { +"description": "Name of the autoscaler to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/autoscalers/{autoscaler}", +"response": { +"$ref": "Autoscaler" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an autoscaler in the specified project using the data included in the request.", +"flatPath": "projects/{project}/zones/{zone}/autoscalers", +"httpMethod": "POST", +"id": "compute.autoscalers.insert", +"parameterOrder": [ +"project", +"zone" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/autoscalers", +"request": { +"$ref": "Autoscaler" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of autoscalers contained within the specified zone.", +"flatPath": "projects/{project}/zones/{zone}/autoscalers", +"httpMethod": "GET", +"id": "compute.autoscalers.list", +"parameterOrder": [ +"project", +"zone" +], +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/autoscalers", +"response": { +"$ref": "AutoscalerList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates an autoscaler in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/zones/{zone}/autoscalers", +"httpMethod": "PATCH", +"id": "compute.autoscalers.patch", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"autoscaler": { +"description": "Name of the autoscaler to patch.", +"location": "query", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/autoscalers", +"request": { +"$ref": "Autoscaler" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/zones/{zone}/autoscalers/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.autoscalers.testIamPermissions", +"parameterOrder": [ +"project", +"zone", +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/autoscalers/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates an autoscaler in the specified project using the data included in the request.", +"flatPath": "projects/{project}/zones/{zone}/autoscalers", +"httpMethod": "PUT", +"id": "compute.autoscalers.update", +"parameterOrder": [ +"project", +"zone" +], +"parameters": { +"autoscaler": { +"description": "Name of the autoscaler to update.", +"location": "query", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/autoscalers", +"request": { +"$ref": "Autoscaler" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"backendBuckets": { +"methods": { +"addSignedUrlKey": { +"description": "Adds a key for validating requests with signed URLs for this backend bucket.", +"flatPath": "projects/{project}/global/backendBuckets/{backendBucket}/addSignedUrlKey", +"httpMethod": "POST", +"id": "compute.backendBuckets.addSignedUrlKey", +"parameterOrder": [ +"project", +"backendBucket" +], +"parameters": { +"backendBucket": { +"description": "Name of the BackendBucket resource to which the Signed URL Key should be added. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendBuckets/{backendBucket}/addSignedUrlKey", +"request": { +"$ref": "SignedUrlKey" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified BackendBucket resource.", +"flatPath": "projects/{project}/global/backendBuckets/{backendBucket}", +"httpMethod": "DELETE", +"id": "compute.backendBuckets.delete", +"parameterOrder": [ +"project", +"backendBucket" +], +"parameters": { +"backendBucket": { +"description": "Name of the BackendBucket resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendBuckets/{backendBucket}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"deleteSignedUrlKey": { +"description": "Deletes a key for validating requests with signed URLs for this backend bucket.", +"flatPath": "projects/{project}/global/backendBuckets/{backendBucket}/deleteSignedUrlKey", +"httpMethod": "POST", +"id": "compute.backendBuckets.deleteSignedUrlKey", +"parameterOrder": [ +"project", +"backendBucket", +"keyName" +], +"parameters": { +"backendBucket": { +"description": "Name of the BackendBucket resource to which the Signed URL Key should be added. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"keyName": { +"description": "The name of the Signed URL Key to delete.", +"location": "query", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendBuckets/{backendBucket}/deleteSignedUrlKey", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified BackendBucket resource.", +"flatPath": "projects/{project}/global/backendBuckets/{backendBucket}", +"httpMethod": "GET", +"id": "compute.backendBuckets.get", +"parameterOrder": [ +"project", +"backendBucket" +], +"parameters": { +"backendBucket": { +"description": "Name of the BackendBucket resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/backendBuckets/{backendBucket}", +"response": { +"$ref": "BackendBucket" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/global/backendBuckets/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.backendBuckets.getIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"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": "projects/{project}/global/backendBuckets/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a BackendBucket resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/backendBuckets", +"httpMethod": "POST", +"id": "compute.backendBuckets.insert", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendBuckets", +"request": { +"$ref": "BackendBucket" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of BackendBucket resources available to the specified project.", +"flatPath": "projects/{project}/global/backendBuckets", +"httpMethod": "GET", +"id": "compute.backendBuckets.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/backendBuckets", +"response": { +"$ref": "BackendBucketList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listUsable": { +"description": "Retrieves a list of all usable backend buckets in the specified project.", +"flatPath": "projects/{project}/global/backendBuckets/listUsable", +"httpMethod": "GET", +"id": "compute.backendBuckets.listUsable", +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/backendBuckets/listUsable", +"response": { +"$ref": "BackendBucketListUsable" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates the specified BackendBucket resource with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/backendBuckets/{backendBucket}", +"httpMethod": "PATCH", +"id": "compute.backendBuckets.patch", +"parameterOrder": [ +"project", +"backendBucket" +], +"parameters": { +"backendBucket": { +"description": "Name of the BackendBucket resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendBuckets/{backendBucket}", +"request": { +"$ref": "BackendBucket" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setEdgeSecurityPolicy": { +"description": "Sets the edge security policy for the specified backend bucket.", +"flatPath": "projects/{project}/global/backendBuckets/{backendBucket}/setEdgeSecurityPolicy", +"httpMethod": "POST", +"id": "compute.backendBuckets.setEdgeSecurityPolicy", +"parameterOrder": [ +"project", +"backendBucket" +], +"parameters": { +"backendBucket": { +"description": "Name of the BackendBucket resource to which the security policy should be set. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendBuckets/{backendBucket}/setEdgeSecurityPolicy", +"request": { +"$ref": "SecurityPolicyReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/global/backendBuckets/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.backendBuckets.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": "projects/{project}/global/backendBuckets/{resource}/setIamPolicy", +"request": { +"$ref": "GlobalSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/backendBuckets/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.backendBuckets.testIamPermissions", +"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": "projects/{project}/global/backendBuckets/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates the specified BackendBucket resource with the data included in the request.", +"flatPath": "projects/{project}/global/backendBuckets/{backendBucket}", +"httpMethod": "PUT", +"id": "compute.backendBuckets.update", +"parameterOrder": [ +"project", +"backendBucket" +], +"parameters": { +"backendBucket": { +"description": "Name of the BackendBucket resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendBuckets/{backendBucket}", +"request": { +"$ref": "BackendBucket" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"backendServices": { +"methods": { +"addSignedUrlKey": { +"description": "Adds a key for validating requests with signed URLs for this backend service.", +"flatPath": "projects/{project}/global/backendServices/{backendService}/addSignedUrlKey", +"httpMethod": "POST", +"id": "compute.backendServices.addSignedUrlKey", +"parameterOrder": [ +"project", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to which the Signed URL Key should be added. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{backendService}/addSignedUrlKey", +"request": { +"$ref": "SignedUrlKey" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"aggregatedList": { +"description": "Retrieves the list of all BackendService resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/backendServices", +"httpMethod": "GET", +"id": "compute.backendServices.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/backendServices", +"response": { +"$ref": "BackendServiceAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified BackendService resource.", +"flatPath": "projects/{project}/global/backendServices/{backendService}", +"httpMethod": "DELETE", +"id": "compute.backendServices.delete", +"parameterOrder": [ +"project", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{backendService}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"deleteSignedUrlKey": { +"description": "Deletes a key for validating requests with signed URLs for this backend service.", +"flatPath": "projects/{project}/global/backendServices/{backendService}/deleteSignedUrlKey", +"httpMethod": "POST", +"id": "compute.backendServices.deleteSignedUrlKey", +"parameterOrder": [ +"project", +"backendService", +"keyName" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to which the Signed URL Key should be added. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"keyName": { +"description": "The name of the Signed URL Key to delete.", +"location": "query", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{backendService}/deleteSignedUrlKey", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified BackendService resource.", +"flatPath": "projects/{project}/global/backendServices/{backendService}", +"httpMethod": "GET", +"id": "compute.backendServices.get", +"parameterOrder": [ +"project", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{backendService}", +"response": { +"$ref": "BackendService" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getEffectiveSecurityPolicies": { +"description": "Returns effective security policies applied to this backend service.", +"flatPath": "projects/{project}/global/backendServices/{backendService}/getEffectiveSecurityPolicies", +"httpMethod": "GET", +"id": "compute.backendServices.getEffectiveSecurityPolicies", +"parameterOrder": [ +"project", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the Backend Service for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{backendService}/getEffectiveSecurityPolicies", +"response": { +"$ref": "BackendServicesGetEffectiveSecurityPoliciesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getHealth": { +"description": "Gets the most recent health check results for this BackendService. Example request body: { \"group\": \"/zones/us-east1-b/instanceGroups/lb-backend-example\" }", +"flatPath": "projects/{project}/global/backendServices/{backendService}/getHealth", +"httpMethod": "POST", +"id": "compute.backendServices.getHealth", +"parameterOrder": [ +"project", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to which the queried instance belongs.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"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" +} +}, +"path": "projects/{project}/global/backendServices/{backendService}/getHealth", +"request": { +"$ref": "ResourceGroupReference" +}, +"response": { +"$ref": "BackendServiceGroupHealth" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/global/backendServices/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.backendServices.getIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"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": "projects/{project}/global/backendServices/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a BackendService resource in the specified project using the data included in the request. For more information, see Backend services overview .", +"flatPath": "projects/{project}/global/backendServices", +"httpMethod": "POST", +"id": "compute.backendServices.insert", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices", +"request": { +"$ref": "BackendService" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of BackendService resources available to the specified project.", +"flatPath": "projects/{project}/global/backendServices", +"httpMethod": "GET", +"id": "compute.backendServices.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/backendServices", +"response": { +"$ref": "BackendServiceList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listUsable": { +"description": "Retrieves a list of all usable backend services in the specified project.", +"flatPath": "projects/{project}/global/backendServices/listUsable", +"httpMethod": "GET", +"id": "compute.backendServices.listUsable", +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/backendServices/listUsable", +"response": { +"$ref": "BackendServiceListUsable" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified BackendService resource with the data included in the request. For more information, see Backend services overview. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/backendServices/{backendService}", +"httpMethod": "PATCH", +"id": "compute.backendServices.patch", +"parameterOrder": [ +"project", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{backendService}", +"request": { +"$ref": "BackendService" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setEdgeSecurityPolicy": { +"description": "Sets the edge security policy for the specified backend service.", +"flatPath": "projects/{project}/global/backendServices/{backendService}/setEdgeSecurityPolicy", +"httpMethod": "POST", +"id": "compute.backendServices.setEdgeSecurityPolicy", +"parameterOrder": [ +"project", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to which the edge security policy should be set. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{backendService}/setEdgeSecurityPolicy", +"request": { +"$ref": "SecurityPolicyReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/global/backendServices/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.backendServices.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": "projects/{project}/global/backendServices/{resource}/setIamPolicy", +"request": { +"$ref": "GlobalSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setSecurityPolicy": { +"description": "Sets the Google Cloud Armor security policy for the specified backend service. For more information, see Google Cloud Armor Overview", +"flatPath": "projects/{project}/global/backendServices/{backendService}/setSecurityPolicy", +"httpMethod": "POST", +"id": "compute.backendServices.setSecurityPolicy", +"parameterOrder": [ +"project", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to which the security policy should be set. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{backendService}/setSecurityPolicy", +"request": { +"$ref": "SecurityPolicyReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/backendServices/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.backendServices.testIamPermissions", +"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": "projects/{project}/global/backendServices/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates the specified BackendService resource with the data included in the request. For more information, see Backend services overview.", +"flatPath": "projects/{project}/global/backendServices/{backendService}", +"httpMethod": "PUT", +"id": "compute.backendServices.update", +"parameterOrder": [ +"project", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/backendServices/{backendService}", +"request": { +"$ref": "BackendService" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"crossSiteNetworks": { +"methods": { +"delete": { +"description": "Deletes the specified cross-site network in the given scope.", +"flatPath": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}", +"httpMethod": "DELETE", +"id": "compute.crossSiteNetworks.delete", +"parameterOrder": [ +"project", +"crossSiteNetwork" +], +"parameters": { +"crossSiteNetwork": { +"description": "Name of the cross-site network to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified cross-site network in the given scope.", +"flatPath": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}", +"httpMethod": "GET", +"id": "compute.crossSiteNetworks.get", +"parameterOrder": [ +"project", +"crossSiteNetwork" +], +"parameters": { +"crossSiteNetwork": { +"description": "Name of the cross-site network to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}", +"response": { +"$ref": "CrossSiteNetwork" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a cross-site network in the specified project in the given scope using the parameters that are included in the request.", +"flatPath": "projects/{project}/global/crossSiteNetworks", +"httpMethod": "POST", +"id": "compute.crossSiteNetworks.insert", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "[Input Only] Validate the new configuration, but don't create it.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/crossSiteNetworks", +"request": { +"$ref": "CrossSiteNetwork" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists the cross-site networks for a project in the given scope.", +"flatPath": "projects/{project}/global/crossSiteNetworks", +"httpMethod": "GET", +"id": "compute.crossSiteNetworks.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/crossSiteNetworks", +"response": { +"$ref": "CrossSiteNetworkList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates the specified cross-site network with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}", +"httpMethod": "PATCH", +"id": "compute.crossSiteNetworks.patch", +"parameterOrder": [ +"project", +"crossSiteNetwork" +], +"parameters": { +"crossSiteNetwork": { +"description": "Name of the cross-site network to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "update_mask indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "[Input Only] Validate the new configuration, but don't update it.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}", +"request": { +"$ref": "CrossSiteNetwork" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"diskSettings": { +"methods": { +"get": { +"description": "Get Zonal Disk Settings.", +"flatPath": "projects/{project}/zones/{zone}/diskSettings", +"httpMethod": "GET", +"id": "compute.diskSettings.get", +"parameterOrder": [ +"project", +"zone" +], +"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" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/diskSettings", +"response": { +"$ref": "DiskSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patch Zonal Disk Settings", +"flatPath": "projects/{project}/zones/{zone}/diskSettings", +"httpMethod": "PATCH", +"id": "compute.diskSettings.patch", +"parameterOrder": [ +"project", +"zone" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "update_mask indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/diskSettings", +"request": { +"$ref": "DiskSettings" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"diskTypes": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of disk types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/diskTypes", +"httpMethod": "GET", +"id": "compute.diskTypes.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/diskTypes", +"response": { +"$ref": "DiskTypeAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"get": { +"description": "Returns the specified disk type.", +"flatPath": "projects/{project}/zones/{zone}/diskTypes/{diskType}", +"httpMethod": "GET", +"id": "compute.diskTypes.get", +"parameterOrder": [ +"project", +"zone", +"diskType" +], +"parameters": { +"diskType": { +"description": "Name of the disk type to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/diskTypes/{diskType}", +"response": { +"$ref": "DiskType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of disk types available to the specified project.", +"flatPath": "projects/{project}/zones/{zone}/diskTypes", +"httpMethod": "GET", +"id": "compute.diskTypes.list", +"parameterOrder": [ +"project", +"zone" +], +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/diskTypes", +"response": { +"$ref": "DiskTypeList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"disks": { +"methods": { +"addResourcePolicies": { +"description": "Adds existing resource policies to a disk. You can only add one policy which will be applied to this disk for scheduling snapshot creation.", +"flatPath": "projects/{project}/zones/{zone}/disks/{disk}/addResourcePolicies", +"httpMethod": "POST", +"id": "compute.disks.addResourcePolicies", +"parameterOrder": [ +"project", +"zone", +"disk" +], +"parameters": { +"disk": { +"description": "The disk name 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" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{disk}/addResourcePolicies", +"request": { +"$ref": "DisksAddResourcePoliciesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"aggregatedList": { +"description": "Retrieves an aggregated list of persistent disks. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/disks", +"httpMethod": "GET", +"id": "compute.disks.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/disks", +"response": { +"$ref": "DiskAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"bulkInsert": { +"description": "Bulk create a set of disks.", +"flatPath": "projects/{project}/zones/{zone}/disks/bulkInsert", +"httpMethod": "POST", +"id": "compute.disks.bulkInsert", +"parameterOrder": [ +"project", +"zone" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/bulkInsert", +"request": { +"$ref": "BulkInsertDiskResource" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"createSnapshot": { +"description": "Creates a snapshot of a specified persistent disk. For regular snapshot creation, consider using snapshots.insert instead, as that method supports more features, such as creating snapshots in a project different from the source disk project.", +"flatPath": "projects/{project}/zones/{zone}/disks/{disk}/createSnapshot", +"httpMethod": "POST", +"id": "compute.disks.createSnapshot", +"parameterOrder": [ +"project", +"zone", +"disk" +], +"parameters": { +"disk": { +"description": "Name of the persistent disk to snapshot.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"guestFlush": { +"description": "[Input Only] Whether to attempt an application consistent snapshot by informing the OS to prepare for the snapshot process.", +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{disk}/createSnapshot", +"request": { +"$ref": "Snapshot" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified persistent disk. Deleting a disk removes its data permanently and is irreversible. However, deleting a disk does not delete any snapshots previously made from the disk. You must separately delete snapshots.", +"flatPath": "projects/{project}/zones/{zone}/disks/{disk}", +"httpMethod": "DELETE", +"id": "compute.disks.delete", +"parameterOrder": [ +"project", +"zone", +"disk" +], +"parameters": { +"disk": { +"description": "Name of the persistent disk to delete.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{disk}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified persistent disk.", +"flatPath": "projects/{project}/zones/{zone}/disks/{disk}", +"httpMethod": "GET", +"id": "compute.disks.get", +"parameterOrder": [ +"project", +"zone", +"disk" +], +"parameters": { +"disk": { +"description": "Name of the persistent disk to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{disk}", +"response": { +"$ref": "Disk" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getAsyncReplicationStatus": { +"description": "Gets the status of current async replication for a given device.", +"flatPath": "projects/{project}/zones/{zone}/disks/{disk}/getAsyncReplicationStatus", +"httpMethod": "GET", +"id": "compute.disks.getAsyncReplicationStatus", +"parameterOrder": [ +"project", +"zone", +"disk" +], +"parameters": { +"disk": { +"description": "Name of the Disk resource whose Async replication details are requested. Name should conform to RFC1035 or be an unsigned long integer.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{disk}/getAsyncReplicationStatus", +"response": { +"$ref": "GetAsyncReplicationStatusResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/zones/{zone}/disks/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.disks.getIamPolicy", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a persistent disk in the specified project using the data in the request. You can create a disk from a source (sourceImage, sourceSnapshot, or sourceDisk) or create an empty 500 GB data disk by omitting all properties. You can also create a disk that is larger than the default size by specifying the sizeGb property.", +"flatPath": "projects/{project}/zones/{zone}/disks", +"httpMethod": "POST", +"id": "compute.disks.insert", +"parameterOrder": [ +"project", +"zone" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sourceImage": { +"description": "Source image to restore onto a disk. This field is optional.", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks", +"request": { +"$ref": "Disk" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of persistent disks contained within the specified zone.", +"flatPath": "projects/{project}/zones/{zone}/disks", +"httpMethod": "GET", +"id": "compute.disks.list", +"parameterOrder": [ +"project", +"zone" +], +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks", +"response": { +"$ref": "DiskList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"removeResourcePolicies": { +"description": "Removes resource policies from a disk.", +"flatPath": "projects/{project}/zones/{zone}/disks/{disk}/removeResourcePolicies", +"httpMethod": "POST", +"id": "compute.disks.removeResourcePolicies", +"parameterOrder": [ +"project", +"zone", +"disk" +], +"parameters": { +"disk": { +"description": "The disk name 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" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{disk}/removeResourcePolicies", +"request": { +"$ref": "DisksRemoveResourcePoliciesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"resize": { +"description": "Resizes the specified persistent disk. You can only increase the size of the disk.", +"flatPath": "projects/{project}/zones/{zone}/disks/{disk}/resize", +"httpMethod": "POST", +"id": "compute.disks.resize", +"parameterOrder": [ +"project", +"zone", +"disk" +], +"parameters": { +"disk": { +"description": "The name of the persistent disk.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{disk}/resize", +"request": { +"$ref": "DisksResizeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/zones/{zone}/disks/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.disks.setIamPolicy", +"parameterOrder": [ +"project", +"zone", +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{resource}/setIamPolicy", +"request": { +"$ref": "ZoneSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on a disk. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/zones/{zone}/disks/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.disks.setLabels", +"parameterOrder": [ +"project", +"zone", +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{resource}/setLabels", +"request": { +"$ref": "ZoneSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"startAsyncReplication": { +"description": "Starts asynchronous replication. Must be invoked on the primary disk.", +"flatPath": "projects/{project}/zones/{zone}/disks/{disk}/startAsyncReplication", +"httpMethod": "POST", +"id": "compute.disks.startAsyncReplication", +"parameterOrder": [ +"project", +"zone", +"disk" +], +"parameters": { +"disk": { +"description": "The name of the persistent disk.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{disk}/startAsyncReplication", +"request": { +"$ref": "DisksStartAsyncReplicationRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"stopAsyncReplication": { +"description": "Stops asynchronous replication. Can be invoked either on the primary or on the secondary disk.", +"flatPath": "projects/{project}/zones/{zone}/disks/{disk}/stopAsyncReplication", +"httpMethod": "POST", +"id": "compute.disks.stopAsyncReplication", +"parameterOrder": [ +"project", +"zone", +"disk" +], +"parameters": { +"disk": { +"description": "The name of the persistent disk.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{disk}/stopAsyncReplication", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"stopGroupAsyncReplication": { +"description": "Stops asynchronous replication for a consistency group of disks. Can be invoked either in the primary or secondary scope.", +"flatPath": "projects/{project}/zones/{zone}/disks/stopGroupAsyncReplication", +"httpMethod": "POST", +"id": "compute.disks.stopGroupAsyncReplication", +"parameterOrder": [ +"project", +"zone" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request. This must be the zone of the primary or secondary disks in the consistency group.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/stopGroupAsyncReplication", +"request": { +"$ref": "DisksStopGroupAsyncReplicationResource" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/zones/{zone}/disks/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.disks.testIamPermissions", +"parameterOrder": [ +"project", +"zone", +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates the specified disk with the data included in the request. The update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: user_license.", +"flatPath": "projects/{project}/zones/{zone}/disks/{disk}", +"httpMethod": "PATCH", +"id": "compute.disks.update", +"parameterOrder": [ +"project", +"zone", +"disk" +], +"parameters": { +"disk": { +"description": "The disk name 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" +}, +"paths": { +"location": "query", +"repeated": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "update_mask indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{disk}", +"request": { +"$ref": "Disk" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"waitForReplicationCatchUp": { +"description": "Wait for replication to catch up on the secondary disk.", +"flatPath": "projects/{project}/zones/{zone}/disks/{disk}/waitForReplicationCatchUp", +"httpMethod": "POST", +"id": "compute.disks.waitForReplicationCatchUp", +"parameterOrder": [ +"project", +"zone", +"disk" +], +"parameters": { +"disk": { +"description": "The name of the persistent disk. Name should conform to RFC1035 or be an unsigned long integer.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/disks/{disk}/waitForReplicationCatchUp", +"request": { +"$ref": "WaitForReplicationCatchUpRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"externalVpnGateways": { +"methods": { +"delete": { +"description": "Deletes the specified externalVpnGateway.", +"flatPath": "projects/{project}/global/externalVpnGateways/{externalVpnGateway}", +"httpMethod": "DELETE", +"id": "compute.externalVpnGateways.delete", +"parameterOrder": [ +"project", +"externalVpnGateway" +], +"parameters": { +"externalVpnGateway": { +"description": "Name of the externalVpnGateways to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/externalVpnGateways/{externalVpnGateway}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified externalVpnGateway. Get a list of available externalVpnGateways by making a list() request.", +"flatPath": "projects/{project}/global/externalVpnGateways/{externalVpnGateway}", +"httpMethod": "GET", +"id": "compute.externalVpnGateways.get", +"parameterOrder": [ +"project", +"externalVpnGateway" +], +"parameters": { +"externalVpnGateway": { +"description": "Name of the externalVpnGateway to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/externalVpnGateways/{externalVpnGateway}", +"response": { +"$ref": "ExternalVpnGateway" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a ExternalVpnGateway in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/externalVpnGateways", +"httpMethod": "POST", +"id": "compute.externalVpnGateways.insert", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/externalVpnGateways", +"request": { +"$ref": "ExternalVpnGateway" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of ExternalVpnGateway available to the specified project.", +"flatPath": "projects/{project}/global/externalVpnGateways", +"httpMethod": "GET", +"id": "compute.externalVpnGateways.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/externalVpnGateways", +"response": { +"$ref": "ExternalVpnGatewayList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setLabels": { +"description": "Sets the labels on an ExternalVpnGateway. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/global/externalVpnGateways/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.externalVpnGateways.setLabels", +"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": "projects/{project}/global/externalVpnGateways/{resource}/setLabels", +"request": { +"$ref": "GlobalSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/externalVpnGateways/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.externalVpnGateways.testIamPermissions", +"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": "projects/{project}/global/externalVpnGateways/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"firewallPolicies": { +"methods": { +"addAssociation": { +"description": "Inserts an association for the specified firewall policy.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/addAssociation", +"httpMethod": "POST", +"id": "compute.firewallPolicies.addAssociation", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"replaceExistingAssociation": { +"description": "Indicates whether or not to replace it if an association of the attachment already exists. This is false by default, in which case an error will be returned if an association already exists.", +"location": "query", +"type": "boolean" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/addAssociation", +"request": { +"$ref": "FirewallPolicyAssociation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"addPacketMirroringRule": { +"description": "Inserts a packet mirroring rule into a firewall policy.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/addPacketMirroringRule", +"httpMethod": "POST", +"id": "compute.firewallPolicies.addPacketMirroringRule", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/addPacketMirroringRule", +"request": { +"$ref": "FirewallPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"addRule": { +"description": "Inserts a rule into a firewall policy.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/addRule", +"httpMethod": "POST", +"id": "compute.firewallPolicies.addRule", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/addRule", +"request": { +"$ref": "FirewallPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"cloneRules": { +"description": "Copies rules to the specified firewall policy.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/cloneRules", +"httpMethod": "POST", +"id": "compute.firewallPolicies.cloneRules", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sourceFirewallPolicy": { +"description": "The firewall policy from which to copy rules.", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/cloneRules", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified policy.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}", +"httpMethod": "DELETE", +"id": "compute.firewallPolicies.delete", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to delete.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified firewall policy.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}", +"httpMethod": "GET", +"id": "compute.firewallPolicies.get", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to get.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}", +"response": { +"$ref": "FirewallPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getAssociation": { +"description": "Gets an association with the specified name.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/getAssociation", +"httpMethod": "GET", +"id": "compute.firewallPolicies.getAssociation", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to which the queried rule belongs.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"name": { +"description": "The name of the association to get from the firewall policy.", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/getAssociation", +"response": { +"$ref": "FirewallPolicyAssociation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "locations/global/firewallPolicies/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.firewallPolicies.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getPacketMirroringRule": { +"description": "Gets a packet mirroring rule of the specified priority.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/getPacketMirroringRule", +"httpMethod": "GET", +"id": "compute.firewallPolicies.getPacketMirroringRule", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to which the queried rule belongs.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to get from the firewall policy.", +"format": "int32", +"location": "query", +"type": "integer" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/getPacketMirroringRule", +"response": { +"$ref": "FirewallPolicyRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getRule": { +"description": "Gets a rule of the specified priority.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/getRule", +"httpMethod": "GET", +"id": "compute.firewallPolicies.getRule", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to which the queried rule belongs.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to get from the firewall policy.", +"format": "int32", +"location": "query", +"type": "integer" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/getRule", +"response": { +"$ref": "FirewallPolicyRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new policy in the specified project using the data included in the request.", +"flatPath": "locations/global/firewallPolicies", +"httpMethod": "POST", +"id": "compute.firewallPolicies.insert", +"parameters": { +"parentId": { +"description": "Parent ID for this request. The ID can be either be \"folders/[FOLDER_ID]\" if the parent is a folder or \"organizations/[ORGANIZATION_ID]\" if the parent is an organization.", +"location": "query", +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies", +"request": { +"$ref": "FirewallPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists all the policies that have been configured for the specified folder or organization.", +"flatPath": "locations/global/firewallPolicies", +"httpMethod": "GET", +"id": "compute.firewallPolicies.list", +"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" +}, +"parentId": { +"description": "Parent ID for this request. The ID can be either be \"folders/[FOLDER_ID]\" if the parent is a folder or \"organizations/[ORGANIZATION_ID]\" if the parent is an organization.", +"location": "query", +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "locations/global/firewallPolicies", +"response": { +"$ref": "FirewallPolicyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listAssociations": { +"description": "Lists associations of a specified target, i.e., organization or folder.", +"flatPath": "locations/global/firewallPolicies/listAssociations", +"httpMethod": "GET", +"id": "compute.firewallPolicies.listAssociations", +"parameters": { +"targetResource": { +"description": "The target resource to list associations. It is an organization, or a folder.", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/listAssociations", +"response": { +"$ref": "FirewallPoliciesListAssociationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"move": { +"description": "Moves the specified firewall policy.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/move", +"httpMethod": "POST", +"id": "compute.firewallPolicies.move", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"parentId": { +"description": "The new parent of the firewall policy. The ID can be either be \"folders/[FOLDER_ID]\" if the parent is a folder or \"organizations/[ORGANIZATION_ID]\" if the parent is an organization.", +"location": "query", +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/move", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patch": { +"description": "Patches the specified policy with the data included in the request.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}", +"httpMethod": "PATCH", +"id": "compute.firewallPolicies.patch", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}", +"request": { +"$ref": "FirewallPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patchPacketMirroringRule": { +"description": "Patches a packet mirroring rule of the specified priority.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/patchPacketMirroringRule", +"httpMethod": "POST", +"id": "compute.firewallPolicies.patchPacketMirroringRule", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to patch.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/patchPacketMirroringRule", +"request": { +"$ref": "FirewallPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patchRule": { +"description": "Patches a rule of the specified priority.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/patchRule", +"httpMethod": "POST", +"id": "compute.firewallPolicies.patchRule", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to patch.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/patchRule", +"request": { +"$ref": "FirewallPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeAssociation": { +"description": "Removes an association for the specified firewall policy.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/removeAssociation", +"httpMethod": "POST", +"id": "compute.firewallPolicies.removeAssociation", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"name": { +"description": "Name for the attachment that will be removed.", +"location": "query", +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/removeAssociation", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removePacketMirroringRule": { +"description": "Deletes a packet mirroring rule of the specified priority.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/removePacketMirroringRule", +"httpMethod": "POST", +"id": "compute.firewallPolicies.removePacketMirroringRule", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to remove from the firewall policy.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/removePacketMirroringRule", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeRule": { +"description": "Deletes a rule of the specified priority.", +"flatPath": "locations/global/firewallPolicies/{firewallPolicy}/removeRule", +"httpMethod": "POST", +"id": "compute.firewallPolicies.removeRule", +"parameterOrder": [ +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to remove from the firewall policy.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{firewallPolicy}/removeRule", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "locations/global/firewallPolicies/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.firewallPolicies.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{resource}/setIamPolicy", +"request": { +"$ref": "GlobalOrganizationSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "locations/global/firewallPolicies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.firewallPolicies.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "(firewallPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/firewallPolicies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"firewalls": { +"methods": { +"delete": { +"description": "Deletes the specified firewall.", +"flatPath": "projects/{project}/global/firewalls/{firewall}", +"httpMethod": "DELETE", +"id": "compute.firewalls.delete", +"parameterOrder": [ +"project", +"firewall" +], +"parameters": { +"firewall": { +"description": "Name of the firewall rule to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewalls/{firewall}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified firewall.", +"flatPath": "projects/{project}/global/firewalls/{firewall}", +"httpMethod": "GET", +"id": "compute.firewalls.get", +"parameterOrder": [ +"project", +"firewall" +], +"parameters": { +"firewall": { +"description": "Name of the firewall rule to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/firewalls/{firewall}", +"response": { +"$ref": "Firewall" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a firewall rule in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/firewalls", +"httpMethod": "POST", +"id": "compute.firewalls.insert", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewalls", +"request": { +"$ref": "Firewall" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of firewall rules available to the specified project.", +"flatPath": "projects/{project}/global/firewalls", +"httpMethod": "GET", +"id": "compute.firewalls.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/firewalls", +"response": { +"$ref": "FirewallList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates the specified firewall rule with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/firewalls/{firewall}", +"httpMethod": "PATCH", +"id": "compute.firewalls.patch", +"parameterOrder": [ +"project", +"firewall" +], +"parameters": { +"firewall": { +"description": "Name of the firewall rule to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewalls/{firewall}", +"request": { +"$ref": "Firewall" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/firewalls/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.firewalls.testIamPermissions", +"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": "projects/{project}/global/firewalls/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates the specified firewall rule with the data included in the request. Note that all fields will be updated if using PUT, even fields that are not specified. To update individual fields, please use PATCH instead.", +"flatPath": "projects/{project}/global/firewalls/{firewall}", +"httpMethod": "PUT", +"id": "compute.firewalls.update", +"parameterOrder": [ +"project", +"firewall" +], +"parameters": { +"firewall": { +"description": "Name of the firewall rule to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewalls/{firewall}", +"request": { +"$ref": "Firewall" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"forwardingRules": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of forwarding rules. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/forwardingRules", +"httpMethod": "GET", +"id": "compute.forwardingRules.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/forwardingRules", +"response": { +"$ref": "ForwardingRuleAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified ForwardingRule resource.", +"flatPath": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}", +"httpMethod": "DELETE", +"id": "compute.forwardingRules.delete", +"parameterOrder": [ +"project", +"region", +"forwardingRule" +], +"parameters": { +"forwardingRule": { +"description": "Name of the ForwardingRule resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified ForwardingRule resource.", +"flatPath": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}", +"httpMethod": "GET", +"id": "compute.forwardingRules.get", +"parameterOrder": [ +"project", +"region", +"forwardingRule" +], +"parameters": { +"forwardingRule": { +"description": "Name of the ForwardingRule resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}", +"response": { +"$ref": "ForwardingRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a ForwardingRule resource in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/forwardingRules", +"httpMethod": "POST", +"id": "compute.forwardingRules.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/forwardingRules", +"request": { +"$ref": "ForwardingRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of ForwardingRule resources available to the specified project and region.", +"flatPath": "projects/{project}/regions/{region}/forwardingRules", +"httpMethod": "GET", +"id": "compute.forwardingRules.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/forwardingRules", +"response": { +"$ref": "ForwardingRuleList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates the specified forwarding rule with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. Currently, you can only patch the network_tier field.", +"flatPath": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}", +"httpMethod": "PATCH", +"id": "compute.forwardingRules.patch", +"parameterOrder": [ +"project", +"region", +"forwardingRule" +], +"parameters": { +"forwardingRule": { +"description": "Name of the ForwardingRule resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}", +"request": { +"$ref": "ForwardingRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on the specified resource. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/regions/{region}/forwardingRules/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.forwardingRules.setLabels", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/forwardingRules/{resource}/setLabels", +"request": { +"$ref": "RegionSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setTarget": { +"description": "Changes target URL for forwarding rule. The new target should be of the same type as the old target.", +"flatPath": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}/setTarget", +"httpMethod": "POST", +"id": "compute.forwardingRules.setTarget", +"parameterOrder": [ +"project", +"region", +"forwardingRule" +], +"parameters": { +"forwardingRule": { +"description": "Name of the ForwardingRule resource in which target is to be set.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}/setTarget", +"request": { +"$ref": "TargetReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/forwardingRules/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.forwardingRules.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/forwardingRules/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"futureReservations": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of future reservations. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/futureReservations", +"httpMethod": "GET", +"id": "compute.futureReservations.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/futureReservations", +"response": { +"$ref": "FutureReservationsAggregatedListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"cancel": { +"description": "Cancel the specified future reservation.", +"flatPath": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}/cancel", +"httpMethod": "POST", +"id": "compute.futureReservations.cancel", +"parameterOrder": [ +"project", +"zone", +"futureReservation" +], +"parameters": { +"futureReservation": { +"description": "Name of the future reservation to retrieve. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}/cancel", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified future reservation.", +"flatPath": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}", +"httpMethod": "DELETE", +"id": "compute.futureReservations.delete", +"parameterOrder": [ +"project", +"zone", +"futureReservation" +], +"parameters": { +"futureReservation": { +"description": "Name of the future reservation to retrieve. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Retrieves information about the specified future reservation.", +"flatPath": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}", +"httpMethod": "GET", +"id": "compute.futureReservations.get", +"parameterOrder": [ +"project", +"zone", +"futureReservation" +], +"parameters": { +"futureReservation": { +"description": "Name of the future reservation to retrieve. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}", +"response": { +"$ref": "FutureReservation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new Future Reservation.", +"flatPath": "projects/{project}/zones/{zone}/futureReservations", +"httpMethod": "POST", +"id": "compute.futureReservations.insert", +"parameterOrder": [ +"project", +"zone" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/futureReservations", +"request": { +"$ref": "FutureReservation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "A list of all the future reservations that have been configured for the specified project in specified zone.", +"flatPath": "projects/{project}/zones/{zone}/futureReservations", +"httpMethod": "GET", +"id": "compute.futureReservations.list", +"parameterOrder": [ +"project", +"zone" +], +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "Name of the zone for this request. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/futureReservations", +"response": { +"$ref": "FutureReservationsListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates the specified future reservation.", +"flatPath": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}", +"httpMethod": "PATCH", +"id": "compute.futureReservations.update", +"parameterOrder": [ +"project", +"zone", +"futureReservation" +], +"parameters": { +"futureReservation": { +"description": "Name of the reservation to update. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"paths": { +"location": "query", +"repeated": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "update_mask indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}", +"request": { +"$ref": "FutureReservation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"globalAddresses": { +"methods": { +"delete": { +"description": "Deletes the specified address resource.", +"flatPath": "projects/{project}/global/addresses/{address}", +"httpMethod": "DELETE", +"id": "compute.globalAddresses.delete", +"parameterOrder": [ +"project", +"address" +], +"parameters": { +"address": { +"description": "Name of the address resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/addresses/{address}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified address resource.", +"flatPath": "projects/{project}/global/addresses/{address}", +"httpMethod": "GET", +"id": "compute.globalAddresses.get", +"parameterOrder": [ +"project", +"address" +], +"parameters": { +"address": { +"description": "Name of the address resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/addresses/{address}", +"response": { +"$ref": "Address" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getOwnerInstance": { +"description": "Find owner instance from given ip address", +"flatPath": "projects/{project}/global/addresses/getOwnerInstance", +"httpMethod": "GET", +"id": "compute.globalAddresses.getOwnerInstance", +"parameterOrder": [ +"project" +], +"parameters": { +"ipAddress": { +"description": "The VM IP address.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/addresses/getOwnerInstance", +"response": { +"$ref": "GetOwnerInstanceResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an address resource in the specified project by using the data included in the request.", +"flatPath": "projects/{project}/global/addresses", +"httpMethod": "POST", +"id": "compute.globalAddresses.insert", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/addresses", +"request": { +"$ref": "Address" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of global addresses.", +"flatPath": "projects/{project}/global/addresses", +"httpMethod": "GET", +"id": "compute.globalAddresses.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/addresses", +"response": { +"$ref": "AddressList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"move": { +"description": "Moves the specified address resource from one project to another project.", +"flatPath": "projects/{project}/global/addresses/{address}/move", +"httpMethod": "POST", +"id": "compute.globalAddresses.move", +"parameterOrder": [ +"project", +"address" +], +"parameters": { +"address": { +"description": "Name of the address resource to move.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Source project ID which the Address is moved from.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/addresses/{address}/move", +"request": { +"$ref": "GlobalAddressesMoveRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on a GlobalAddress. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/global/addresses/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.globalAddresses.setLabels", +"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": "projects/{project}/global/addresses/{resource}/setLabels", +"request": { +"$ref": "GlobalSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/addresses/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.globalAddresses.testIamPermissions", +"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": "projects/{project}/global/addresses/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"globalForwardingRules": { +"methods": { +"delete": { +"description": "Deletes the specified GlobalForwardingRule resource.", +"flatPath": "projects/{project}/global/forwardingRules/{forwardingRule}", +"httpMethod": "DELETE", +"id": "compute.globalForwardingRules.delete", +"parameterOrder": [ +"project", +"forwardingRule" +], +"parameters": { +"forwardingRule": { +"description": "Name of the ForwardingRule resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/forwardingRules/{forwardingRule}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified GlobalForwardingRule resource. Gets a list of available forwarding rules by making a list() request.", +"flatPath": "projects/{project}/global/forwardingRules/{forwardingRule}", +"httpMethod": "GET", +"id": "compute.globalForwardingRules.get", +"parameterOrder": [ +"project", +"forwardingRule" +], +"parameters": { +"forwardingRule": { +"description": "Name of the ForwardingRule resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/forwardingRules/{forwardingRule}", +"response": { +"$ref": "ForwardingRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a GlobalForwardingRule resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/forwardingRules", +"httpMethod": "POST", +"id": "compute.globalForwardingRules.insert", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/forwardingRules", +"request": { +"$ref": "ForwardingRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of GlobalForwardingRule resources available to the specified project.", +"flatPath": "projects/{project}/global/forwardingRules", +"httpMethod": "GET", +"id": "compute.globalForwardingRules.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/forwardingRules", +"response": { +"$ref": "ForwardingRuleList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates the specified forwarding rule with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. Currently, you can only patch the network_tier field.", +"flatPath": "projects/{project}/global/forwardingRules/{forwardingRule}", +"httpMethod": "PATCH", +"id": "compute.globalForwardingRules.patch", +"parameterOrder": [ +"project", +"forwardingRule" +], +"parameters": { +"forwardingRule": { +"description": "Name of the ForwardingRule resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/forwardingRules/{forwardingRule}", +"request": { +"$ref": "ForwardingRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on the specified resource. To learn more about labels, read the Labeling resources documentation.", +"flatPath": "projects/{project}/global/forwardingRules/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.globalForwardingRules.setLabels", +"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": "projects/{project}/global/forwardingRules/{resource}/setLabels", +"request": { +"$ref": "GlobalSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setTarget": { +"description": "Changes target URL for the GlobalForwardingRule resource. The new target should be of the same type as the old target.", +"flatPath": "projects/{project}/global/forwardingRules/{forwardingRule}/setTarget", +"httpMethod": "POST", +"id": "compute.globalForwardingRules.setTarget", +"parameterOrder": [ +"project", +"forwardingRule" +], +"parameters": { +"forwardingRule": { +"description": "Name of the ForwardingRule resource in which target is to be set.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/forwardingRules/{forwardingRule}/setTarget", +"request": { +"$ref": "TargetReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/forwardingRules/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.globalForwardingRules.testIamPermissions", +"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": "projects/{project}/global/forwardingRules/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"globalNetworkEndpointGroups": { +"methods": { +"attachNetworkEndpoints": { +"description": "Attach a network endpoint to the specified network endpoint group.", +"flatPath": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", +"httpMethod": "POST", +"id": "compute.globalNetworkEndpointGroups.attachNetworkEndpoints", +"parameterOrder": [ +"project", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group where you are attaching network endpoints to. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", +"request": { +"$ref": "GlobalNetworkEndpointGroupsAttachEndpointsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified network endpoint group.Note that the NEG cannot be deleted if there are backend services referencing it.", +"flatPath": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}", +"httpMethod": "DELETE", +"id": "compute.globalNetworkEndpointGroups.delete", +"parameterOrder": [ +"project", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group to delete. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"detachNetworkEndpoints": { +"description": "Detach the network endpoint from the specified network endpoint group.", +"flatPath": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", +"httpMethod": "POST", +"id": "compute.globalNetworkEndpointGroups.detachNetworkEndpoints", +"parameterOrder": [ +"project", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group where you are removing network endpoints. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", +"request": { +"$ref": "GlobalNetworkEndpointGroupsDetachEndpointsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified network endpoint group.", +"flatPath": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}", +"httpMethod": "GET", +"id": "compute.globalNetworkEndpointGroups.get", +"parameterOrder": [ +"project", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}", +"response": { +"$ref": "NetworkEndpointGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a network endpoint group in the specified project using the parameters that are included in the request.", +"flatPath": "projects/{project}/global/networkEndpointGroups", +"httpMethod": "POST", +"id": "compute.globalNetworkEndpointGroups.insert", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networkEndpointGroups", +"request": { +"$ref": "NetworkEndpointGroup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of network endpoint groups that are located in the specified project.", +"flatPath": "projects/{project}/global/networkEndpointGroups", +"httpMethod": "GET", +"id": "compute.globalNetworkEndpointGroups.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/networkEndpointGroups", +"response": { +"$ref": "NetworkEndpointGroupList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listNetworkEndpoints": { +"description": "Lists the network endpoints in the specified network endpoint group.", +"flatPath": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", +"httpMethod": "POST", +"id": "compute.globalNetworkEndpointGroups.listNetworkEndpoints", +"parameterOrder": [ +"project", +"networkEndpointGroup" +], +"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" +}, +"networkEndpointGroup": { +"description": "The name of the network endpoint group from which you want to generate a list of included network endpoints. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", +"response": { +"$ref": "NetworkEndpointGroupsListNetworkEndpoints" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"globalOperations": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of all operations. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/operations", +"httpMethod": "GET", +"id": "compute.globalOperations.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/operations", +"response": { +"$ref": "OperationAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified Operations resource.", +"flatPath": "projects/{project}/global/operations/{operation}", +"httpMethod": "DELETE", +"id": "compute.globalOperations.delete", +"parameterOrder": [ +"project", +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to delete, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/operations/{operation}", +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Retrieves the specified Operations resource.", +"flatPath": "projects/{project}/global/operations/{operation}", +"httpMethod": "GET", +"id": "compute.globalOperations.get", +"parameterOrder": [ +"project", +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to return, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/operations/{operation}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of Operation resources contained within the specified project.", +"flatPath": "projects/{project}/global/operations", +"httpMethod": "GET", +"id": "compute.globalOperations.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/operations", +"response": { +"$ref": "OperationList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"wait": { +"description": "Waits for the specified Operation resource to return as `DONE` or for the request to approach the 2 minute deadline, and retrieves the specified Operation resource. This method differs from the `GET` method in that it waits for no more than the default deadline (2 minutes) and then returns the current state of the operation, which might be `DONE` or still in progress. This method is called on a best-effort basis. Specifically: - In uncommon cases, when the server is overloaded, the request might return before the default deadline is reached, or might return after zero seconds. - If the default deadline is reached, there is no guarantee that the operation is actually done when the method returns. Be prepared to retry if the operation is not `DONE`. ", +"flatPath": "projects/{project}/global/operations/{operation}/wait", +"httpMethod": "POST", +"id": "compute.globalOperations.wait", +"parameterOrder": [ +"project", +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to return, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/operations/{operation}/wait", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"globalOrganizationOperations": { +"methods": { +"delete": { +"description": "Deletes the specified Operations resource.", +"flatPath": "locations/global/operations/{operation}", +"httpMethod": "DELETE", +"id": "compute.globalOrganizationOperations.delete", +"parameterOrder": [ +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to delete, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"parentId": { +"description": "Parent ID for this request.", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/operations/{operation}", +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Retrieves the specified Operations resource. Gets a list of operations by making a `list()` request.", +"flatPath": "locations/global/operations/{operation}", +"httpMethod": "GET", +"id": "compute.globalOrganizationOperations.get", +"parameterOrder": [ +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to return, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"parentId": { +"description": "Parent ID for this request.", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/operations/{operation}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of Operation resources contained within the specified organization.", +"flatPath": "locations/global/operations", +"httpMethod": "GET", +"id": "compute.globalOrganizationOperations.list", +"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" +}, +"parentId": { +"description": "Parent ID for this request.", +"location": "query", +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "locations/global/operations", +"response": { +"$ref": "OperationList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"globalPublicDelegatedPrefixes": { +"methods": { +"delete": { +"description": "Deletes the specified global PublicDelegatedPrefix.", +"flatPath": "projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"httpMethod": "DELETE", +"id": "compute.globalPublicDelegatedPrefixes.delete", +"parameterOrder": [ +"project", +"publicDelegatedPrefix" +], +"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" +}, +"publicDelegatedPrefix": { +"description": "Name of the PublicDelegatedPrefix resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified global PublicDelegatedPrefix resource.", +"flatPath": "projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"httpMethod": "GET", +"id": "compute.globalPublicDelegatedPrefixes.get", +"parameterOrder": [ +"project", +"publicDelegatedPrefix" +], +"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" +}, +"publicDelegatedPrefix": { +"description": "Name of the PublicDelegatedPrefix resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"response": { +"$ref": "PublicDelegatedPrefix" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a global PublicDelegatedPrefix in the specified project using the parameters that are included in the request.", +"flatPath": "projects/{project}/global/publicDelegatedPrefixes", +"httpMethod": "POST", +"id": "compute.globalPublicDelegatedPrefixes.insert", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/publicDelegatedPrefixes", +"request": { +"$ref": "PublicDelegatedPrefix" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists the global PublicDelegatedPrefixes for a project.", +"flatPath": "projects/{project}/global/publicDelegatedPrefixes", +"httpMethod": "GET", +"id": "compute.globalPublicDelegatedPrefixes.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/publicDelegatedPrefixes", +"response": { +"$ref": "PublicDelegatedPrefixList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified global PublicDelegatedPrefix resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"httpMethod": "PATCH", +"id": "compute.globalPublicDelegatedPrefixes.patch", +"parameterOrder": [ +"project", +"publicDelegatedPrefix" +], +"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" +}, +"publicDelegatedPrefix": { +"description": "Name of the PublicDelegatedPrefix resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"request": { +"$ref": "PublicDelegatedPrefix" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"healthChecks": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all HealthCheck resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/healthChecks", +"httpMethod": "GET", +"id": "compute.healthChecks.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/healthChecks", +"response": { +"$ref": "HealthChecksAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified HealthCheck resource.", +"flatPath": "projects/{project}/global/healthChecks/{healthCheck}", +"httpMethod": "DELETE", +"id": "compute.healthChecks.delete", +"parameterOrder": [ +"project", +"healthCheck" +], +"parameters": { +"healthCheck": { +"description": "Name of the HealthCheck resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/healthChecks/{healthCheck}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified HealthCheck resource.", +"flatPath": "projects/{project}/global/healthChecks/{healthCheck}", +"httpMethod": "GET", +"id": "compute.healthChecks.get", +"parameterOrder": [ +"project", +"healthCheck" +], +"parameters": { +"healthCheck": { +"description": "Name of the HealthCheck resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/healthChecks/{healthCheck}", +"response": { +"$ref": "HealthCheck" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a HealthCheck resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/healthChecks", +"httpMethod": "POST", +"id": "compute.healthChecks.insert", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/healthChecks", +"request": { +"$ref": "HealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of HealthCheck resources available to the specified project.", +"flatPath": "projects/{project}/global/healthChecks", +"httpMethod": "GET", +"id": "compute.healthChecks.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/healthChecks", +"response": { +"$ref": "HealthCheckList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates a HealthCheck resource in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/healthChecks/{healthCheck}", +"httpMethod": "PATCH", +"id": "compute.healthChecks.patch", +"parameterOrder": [ +"project", +"healthCheck" +], +"parameters": { +"healthCheck": { +"description": "Name of the HealthCheck resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/healthChecks/{healthCheck}", +"request": { +"$ref": "HealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/healthChecks/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.healthChecks.testIamPermissions", +"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": "projects/{project}/global/healthChecks/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates a HealthCheck resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/healthChecks/{healthCheck}", +"httpMethod": "PUT", +"id": "compute.healthChecks.update", +"parameterOrder": [ +"project", +"healthCheck" +], +"parameters": { +"healthCheck": { +"description": "Name of the HealthCheck resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/healthChecks/{healthCheck}", +"request": { +"$ref": "HealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"httpHealthChecks": { +"methods": { +"delete": { +"description": "Deletes the specified HttpHealthCheck resource.", +"flatPath": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", +"httpMethod": "DELETE", +"id": "compute.httpHealthChecks.delete", +"parameterOrder": [ +"project", +"httpHealthCheck" +], +"parameters": { +"httpHealthCheck": { +"description": "Name of the HttpHealthCheck resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified HttpHealthCheck resource.", +"flatPath": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", +"httpMethod": "GET", +"id": "compute.httpHealthChecks.get", +"parameterOrder": [ +"project", +"httpHealthCheck" +], +"parameters": { +"httpHealthCheck": { +"description": "Name of the HttpHealthCheck resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", +"response": { +"$ref": "HttpHealthCheck" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a HttpHealthCheck resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/httpHealthChecks", +"httpMethod": "POST", +"id": "compute.httpHealthChecks.insert", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/httpHealthChecks", +"request": { +"$ref": "HttpHealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of HttpHealthCheck resources available to the specified project.", +"flatPath": "projects/{project}/global/httpHealthChecks", +"httpMethod": "GET", +"id": "compute.httpHealthChecks.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/httpHealthChecks", +"response": { +"$ref": "HttpHealthCheckList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates a HttpHealthCheck resource in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", +"httpMethod": "PATCH", +"id": "compute.httpHealthChecks.patch", +"parameterOrder": [ +"project", +"httpHealthCheck" +], +"parameters": { +"httpHealthCheck": { +"description": "Name of the HttpHealthCheck resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", +"request": { +"$ref": "HttpHealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/httpHealthChecks/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.httpHealthChecks.testIamPermissions", +"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": "projects/{project}/global/httpHealthChecks/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates a HttpHealthCheck resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", +"httpMethod": "PUT", +"id": "compute.httpHealthChecks.update", +"parameterOrder": [ +"project", +"httpHealthCheck" +], +"parameters": { +"httpHealthCheck": { +"description": "Name of the HttpHealthCheck resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", +"request": { +"$ref": "HttpHealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"httpsHealthChecks": { +"methods": { +"delete": { +"description": "Deletes the specified HttpsHealthCheck resource.", +"flatPath": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", +"httpMethod": "DELETE", +"id": "compute.httpsHealthChecks.delete", +"parameterOrder": [ +"project", +"httpsHealthCheck" +], +"parameters": { +"httpsHealthCheck": { +"description": "Name of the HttpsHealthCheck resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified HttpsHealthCheck resource.", +"flatPath": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", +"httpMethod": "GET", +"id": "compute.httpsHealthChecks.get", +"parameterOrder": [ +"project", +"httpsHealthCheck" +], +"parameters": { +"httpsHealthCheck": { +"description": "Name of the HttpsHealthCheck resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", +"response": { +"$ref": "HttpsHealthCheck" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a HttpsHealthCheck resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/httpsHealthChecks", +"httpMethod": "POST", +"id": "compute.httpsHealthChecks.insert", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/httpsHealthChecks", +"request": { +"$ref": "HttpsHealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of HttpsHealthCheck resources available to the specified project.", +"flatPath": "projects/{project}/global/httpsHealthChecks", +"httpMethod": "GET", +"id": "compute.httpsHealthChecks.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/httpsHealthChecks", +"response": { +"$ref": "HttpsHealthCheckList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates a HttpsHealthCheck resource in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", +"httpMethod": "PATCH", +"id": "compute.httpsHealthChecks.patch", +"parameterOrder": [ +"project", +"httpsHealthCheck" +], +"parameters": { +"httpsHealthCheck": { +"description": "Name of the HttpsHealthCheck resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", +"request": { +"$ref": "HttpsHealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/httpsHealthChecks/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.httpsHealthChecks.testIamPermissions", +"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": "projects/{project}/global/httpsHealthChecks/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates a HttpsHealthCheck resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", +"httpMethod": "PUT", +"id": "compute.httpsHealthChecks.update", +"parameterOrder": [ +"project", +"httpsHealthCheck" +], +"parameters": { +"httpsHealthCheck": { +"description": "Name of the HttpsHealthCheck resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", +"request": { +"$ref": "HttpsHealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"imageFamilyViews": { +"methods": { +"get": { +"description": "Returns the latest image that is part of an image family, is not deprecated and is rolled out in the specified zone.", +"flatPath": "projects/{project}/zones/{zone}/imageFamilyViews/{family}", +"httpMethod": "GET", +"id": "compute.imageFamilyViews.get", +"parameterOrder": [ +"project", +"zone", +"family" +], +"parameters": { +"family": { +"description": "Name of the image family to search for.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/imageFamilyViews/{family}", +"response": { +"$ref": "ImageFamilyView" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"images": { +"methods": { +"delete": { +"description": "Deletes the specified image.", +"flatPath": "projects/{project}/global/images/{image}", +"httpMethod": "DELETE", +"id": "compute.images.delete", +"parameterOrder": [ +"project", +"image" +], +"parameters": { +"image": { +"description": "Name of the image resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/images/{image}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"deprecate": { +"description": "Sets the deprecation status of an image. If an empty request body is given, clears the deprecation status instead.", +"flatPath": "projects/{project}/global/images/{image}/deprecate", +"httpMethod": "POST", +"id": "compute.images.deprecate", +"parameterOrder": [ +"project", +"image" +], +"parameters": { +"image": { +"description": "Image name.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/images/{image}/deprecate", +"request": { +"$ref": "DeprecationStatus" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified image.", +"flatPath": "projects/{project}/global/images/{image}", +"httpMethod": "GET", +"id": "compute.images.get", +"parameterOrder": [ +"project", +"image" +], +"parameters": { +"image": { +"description": "Name of the image resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/images/{image}", +"response": { +"$ref": "Image" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getFromFamily": { +"description": "Returns the latest image that is part of an image family and is not deprecated. For more information on image families, see Public image families documentation.", +"flatPath": "projects/{project}/global/images/family/{family}", +"httpMethod": "GET", +"id": "compute.images.getFromFamily", +"parameterOrder": [ +"project", +"family" +], +"parameters": { +"family": { +"description": "Name of the image family to search for.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "The image project that the image belongs to. For example, to get a CentOS image, specify centos-cloud as the image project.", +"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" +} +}, +"path": "projects/{project}/global/images/family/{family}", +"response": { +"$ref": "Image" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/global/images/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.images.getIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"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": "projects/{project}/global/images/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an image in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/images", +"httpMethod": "POST", +"id": "compute.images.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"forceCreate": { +"description": "Force image creation if true.", +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/images", +"request": { +"$ref": "Image" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"list": { +"description": "Retrieves the list of custom images available to the specified project. Custom images are images you create that belong to your project. This method does not get any images that belong to other projects, including publicly-available images, like Debian 8. If you want to get a list of publicly-available images, use this method to make a request to the respective image project, such as debian-cloud or windows-cloud.", +"flatPath": "projects/{project}/global/images", +"httpMethod": "GET", +"id": "compute.images.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The zone query parameter.", +"location": "query", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +} +}, +"path": "projects/{project}/global/images", +"response": { +"$ref": "ImageList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified image with the data included in the request. Only the following fields can be modified: family, description, deprecation status.", +"flatPath": "projects/{project}/global/images/{image}", +"httpMethod": "PATCH", +"id": "compute.images.patch", +"parameterOrder": [ +"project", +"image" +], +"parameters": { +"image": { +"description": "Name of the image resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/images/{image}", +"request": { +"$ref": "Image" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/global/images/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.images.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": "projects/{project}/global/images/{resource}/setIamPolicy", +"request": { +"$ref": "GlobalSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on an image. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/global/images/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.images.setLabels", +"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": "projects/{project}/global/images/{resource}/setLabels", +"request": { +"$ref": "GlobalSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/images/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.images.testIamPermissions", +"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": "projects/{project}/global/images/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"instanceGroupManagerResizeRequests": { +"methods": { +"cancel": { +"description": "Cancels the specified resize request and removes it from the queue. Cancelled resize request does no longer wait for the resources to be provisioned. Cancel is only possible for requests that are accepted in the queue.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}/cancel", +"httpMethod": "POST", +"id": "compute.instanceGroupManagerResizeRequests.cancel", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager", +"resizeRequest" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. The name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resizeRequest": { +"description": "The name of the resize request to cancel. The name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}/cancel", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified, inactive resize request. Requests that are still active cannot be deleted. Deleting request does not delete instances that were provisioned previously.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}", +"httpMethod": "DELETE", +"id": "compute.instanceGroupManagerResizeRequests.delete", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager", +"resizeRequest" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. The name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resizeRequest": { +"description": "The name of the resize request to delete. The name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns all of the details about the specified resize request.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}", +"httpMethod": "GET", +"id": "compute.instanceGroupManagerResizeRequests.get", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager", +"resizeRequest" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. Name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resizeRequest": { +"description": "The name of the resize request. Name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the href=\"/compute/docs/regions-zones/#available\">zone scoping this request. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}", +"response": { +"$ref": "InstanceGroupManagerResizeRequest" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new resize request that starts provisioning VMs immediately or queues VM creation.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests", +"httpMethod": "POST", +"id": "compute.instanceGroupManagerResizeRequests.insert", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group to which the resize request will be added. Name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located and where the resize request will be created. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests", +"request": { +"$ref": "InstanceGroupManagerResizeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of resize requests that are contained in the managed instance group.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests", +"httpMethod": "GET", +"id": "compute.instanceGroupManagerResizeRequests.list", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"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" +}, +"instanceGroupManager": { +"description": "The name of the managed instance group. The name should conform to RFC1035.", +"location": "path", +"required": true, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests", +"response": { +"$ref": "InstanceGroupManagerResizeRequestsListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"instanceGroupManagers": { +"methods": { +"abandonInstances": { +"description": "Flags the specified instances to be removed from the managed instance group. Abandoning an instance does not delete the instance, but it does remove the instance from any target pools that are applied by the managed instance group. This method reduces the targetSize of the managed instance group by the number of instances that you abandon. This operation is marked as DONE when the action is scheduled even if the instances have not yet been removed from the group. You must separately verify the status of the abandoning action with the listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/abandonInstances", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.abandonInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/abandonInstances", +"request": { +"$ref": "InstanceGroupManagersAbandonInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"aggregatedList": { +"description": "Retrieves the list of managed instance groups and groups them by zone. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/instanceGroupManagers", +"httpMethod": "GET", +"id": "compute.instanceGroupManagers.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/instanceGroupManagers", +"response": { +"$ref": "InstanceGroupManagerAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"applyUpdatesToInstances": { +"description": "Applies changes to selected instances on the managed instance group. This method can be used to apply new overrides and/or new versions.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.applyUpdatesToInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group, should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located. Should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances", +"request": { +"$ref": "InstanceGroupManagersApplyUpdatesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"createInstances": { +"description": "Creates instances with per-instance configurations in this managed instance group. Instances are created using the current instance template. The create instances operation is marked DONE if the createInstances request is successful. The underlying actions take additional time. You must separately verify the status of the creating or actions with the listmanagedinstances method.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/createInstances", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.createInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/createInstances", +"request": { +"$ref": "InstanceGroupManagersCreateInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified managed instance group and all of the instances in that group. Note that the instance group must not belong to a backend service. Read Deleting an instance group for more information.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", +"httpMethod": "DELETE", +"id": "compute.instanceGroupManagers.delete", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group to delete.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"deleteInstances": { +"description": "Flags the specified instances in the managed instance group for immediate deletion. The instances are also removed from any target pools of which they were a member. This method reduces the targetSize of the managed instance group by the number of instances that you delete. This operation is marked as DONE when the action is scheduled even if the instances are still being deleted. You must separately verify the status of the deleting action with the listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deleteInstances", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.deleteInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deleteInstances", +"request": { +"$ref": "InstanceGroupManagersDeleteInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"deletePerInstanceConfigs": { +"description": "Deletes selected per-instance configurations for the managed instance group.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.deletePerInstanceConfigs", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs", +"request": { +"$ref": "InstanceGroupManagersDeletePerInstanceConfigsReq" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns all of the details about the specified managed instance group.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", +"httpMethod": "GET", +"id": "compute.instanceGroupManagers.get", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", +"response": { +"$ref": "InstanceGroupManager" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a managed instance group using the information that you specify in the request. After the group is created, instances in the group are created using the specified instance template. This operation is marked as DONE when the group is created even if the instances in the group have not yet been created. You must separately verify the status of the individual instances with the listmanagedinstances method. A managed instance group can have up to 1000 VM instances per group. Please contact Cloud Support if you need an increase in this limit.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.insert", +"parameterOrder": [ +"project", +"zone" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where you want to create the managed instance group.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers", +"request": { +"$ref": "InstanceGroupManager" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of managed instance groups that are contained within the specified project and zone.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers", +"httpMethod": "GET", +"id": "compute.instanceGroupManagers.list", +"parameterOrder": [ +"project", +"zone" +], +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers", +"response": { +"$ref": "InstanceGroupManagerList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listErrors": { +"description": "Lists all errors thrown by actions on instances for a given managed instance group. The filter and orderBy query parameters are not supported.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listErrors", +"httpMethod": "GET", +"id": "compute.instanceGroupManagers.listErrors", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"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" +}, +"instanceGroupManager": { +"description": "The name of the managed instance group. It must be a string that meets the requirements in RFC1035, or an unsigned long integer: must match regexp pattern: (?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)|1-9{0,19}.", +"location": "path", +"required": true, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listErrors", +"response": { +"$ref": "InstanceGroupManagersListErrorsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listManagedInstances": { +"description": "Lists all of the instances in the managed instance group. Each instance in the list has a currentAction, which indicates the action that the managed instance group is performing on the instance. For example, if the group is still creating an instance, the currentAction is CREATING. If a previous action failed, the list displays the errors for that failed action. The orderBy query parameter is not supported. The `pageToken` query parameter is supported only if the group's `listManagedInstancesResults` field is set to `PAGINATED`.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.listManagedInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"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" +}, +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances", +"response": { +"$ref": "InstanceGroupManagersListManagedInstancesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listPerInstanceConfigs": { +"description": "Lists all of the per-instance configurations defined for the managed instance group. The orderBy query parameter is not supported.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.listPerInstanceConfigs", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"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" +}, +"instanceGroupManager": { +"description": "The name of the managed instance group. It should conform to RFC1035.", +"location": "path", +"required": true, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs", +"response": { +"$ref": "InstanceGroupManagersListPerInstanceConfigsResp" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates a managed instance group using the information that you specify in the request. This operation is marked as DONE when the group is patched even if the instances in the group are still in the process of being patched. You must separately verify the status of the individual instances with the listManagedInstances method. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. If you update your group to specify a new template or instance configuration, it's possible that your intended specification for each VM in the group is different from the current state of that VM. To learn how to apply an updated configuration to the VMs in a MIG, see Updating instances in a MIG.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", +"httpMethod": "PATCH", +"id": "compute.instanceGroupManagers.patch", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the instance group manager.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where you want to create the managed instance group.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", +"request": { +"$ref": "InstanceGroupManager" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patchPerInstanceConfigs": { +"description": "Inserts or patches per-instance configurations for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/patchPerInstanceConfigs", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.patchPerInstanceConfigs", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/patchPerInstanceConfigs", +"request": { +"$ref": "InstanceGroupManagersPatchPerInstanceConfigsReq" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"recreateInstances": { +"description": "Flags the specified VM instances in the managed instance group to be immediately recreated. Each instance is recreated using the group's current configuration. This operation is marked as DONE when the flag is set even if the instances have not yet been recreated. You must separately verify the status of each instance by checking its currentAction field; for more information, see Checking the status of managed instances. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/recreateInstances", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.recreateInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/recreateInstances", +"request": { +"$ref": "InstanceGroupManagersRecreateInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"resize": { +"description": "Resizes the managed instance group. If you increase the size, the group creates new instances using the current instance template. If you decrease the size, the group deletes instances. The resize operation is marked DONE when the resize actions are scheduled even if the group has not yet added or deleted any instances. You must separately verify the status of the creating or deleting actions with the listmanagedinstances method. When resizing down, the instance group arbitrarily chooses the order in which VMs are deleted. The group takes into account some VM attributes when making the selection including: + The status of the VM instance. + The health of the VM instance. + The instance template version the VM is based on. + For regional managed instance groups, the location of the VM instance. This list is subject to change. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resize", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.resize", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager", +"size" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"size": { +"description": "The number of running instances that the managed instance group should maintain at any given time. The group automatically adds or removes instances to maintain the number of instances specified by this parameter.", +"format": "int32", +"location": "query", +"required": true, +"type": "integer" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resize", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"resizeAdvanced": { +"description": "Resizes the managed instance group with advanced configuration options like disabling creation retries. This is an extended version of the resize method. If you increase the size of the instance group, the group creates new instances using the current instance template. If you decrease the size, the group deletes instances. The resize operation is marked DONE when the resize actions are scheduled even if the group has not yet added or deleted any instances. You must separately verify the status of the creating, creatingWithoutRetries, or deleting actions with the get or listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeAdvanced", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.resizeAdvanced", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeAdvanced", +"request": { +"$ref": "InstanceGroupManagersResizeAdvancedRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"resumeInstances": { +"description": "Flags the specified instances in the managed instance group to be resumed. This method increases the targetSize and decreases the targetSuspendedSize of the managed instance group by the number of instances that you resume. The resumeInstances operation is marked DONE if the resumeInstances request is successful. The underlying actions take additional time. You must separately verify the status of the RESUMING action with the listmanagedinstances method. In this request, you can only specify instances that are suspended. For example, if an instance was previously suspended using the suspendInstances method, it can be resumed using the resumeInstances method. If a health check is attached to the managed instance group, the specified instances will be verified as healthy after they are resumed. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resumeInstances", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.resumeInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resumeInstances", +"request": { +"$ref": "InstanceGroupManagersResumeInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setAutoHealingPolicies": { +"deprecated": true, +"description": "Motifies the autohealing policy for the instances in this managed instance group. [Deprecated] This method is deprecated. Use instanceGroupManagers.patch instead.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setAutoHealingPolicies", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.setAutoHealingPolicies", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the instance group manager.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setAutoHealingPolicies", +"request": { +"$ref": "InstanceGroupManagersSetAutoHealingRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setInstanceTemplate": { +"description": "Specifies the instance template to use when creating new instances in this group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.setInstanceTemplate", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate", +"request": { +"$ref": "InstanceGroupManagersSetInstanceTemplateRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setTargetPools": { +"description": "Modifies the target pools to which all instances in this managed instance group are assigned. The target pools automatically apply to all of the instances in the managed instance group. This operation is marked DONE when you make the request even if the instances have not yet been added to their target pools. The change might take some time to apply to all of the instances in the group depending on the size of the group.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setTargetPools", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.setTargetPools", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setTargetPools", +"request": { +"$ref": "InstanceGroupManagersSetTargetPoolsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"startInstances": { +"description": "Flags the specified instances in the managed instance group to be started. This method increases the targetSize and decreases the targetStoppedSize of the managed instance group by the number of instances that you start. The startInstances operation is marked DONE if the startInstances request is successful. The underlying actions take additional time. You must separately verify the status of the STARTING action with the listmanagedinstances method. In this request, you can only specify instances that are stopped. For example, if an instance was previously stopped using the stopInstances method, it can be started using the startInstances method. If a health check is attached to the managed instance group, the specified instances will be verified as healthy after they are started. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/startInstances", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.startInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/startInstances", +"request": { +"$ref": "InstanceGroupManagersStartInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"stopInstances": { +"description": "Flags the specified instances in the managed instance group to be immediately stopped. You can only specify instances that are running in this request. This method reduces the targetSize and increases the targetStoppedSize of the managed instance group by the number of instances that you stop. The stopInstances operation is marked DONE if the stopInstances request is successful. The underlying actions take additional time. You must separately verify the status of the STOPPING action with the listmanagedinstances method. If the standbyPolicy.initialDelaySec field is set, the group delays stopping the instances until initialDelaySec have passed from instance.creationTimestamp (that is, when the instance was created). This delay gives your application time to set itself up and initialize on the instance. If more than initialDelaySec seconds have passed since instance.creationTimestamp when this method is called, there will be zero delay. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is stopped. Stopped instances can be started using the startInstances method. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/stopInstances", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.stopInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/stopInstances", +"request": { +"$ref": "InstanceGroupManagersStopInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"suspendInstances": { +"description": "Flags the specified instances in the managed instance group to be immediately suspended. You can only specify instances that are running in this request. This method reduces the targetSize and increases the targetSuspendedSize of the managed instance group by the number of instances that you suspend. The suspendInstances operation is marked DONE if the suspendInstances request is successful. The underlying actions take additional time. You must separately verify the status of the SUSPENDING action with the listmanagedinstances method. If the standbyPolicy.initialDelaySec field is set, the group delays suspension of the instances until initialDelaySec have passed from instance.creationTimestamp (that is, when the instance was created). This delay gives your application time to set itself up and initialize on the instance. If more than initialDelaySec seconds have passed since instance.creationTimestamp when this method is called, there will be zero delay. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is suspended. Suspended instances can be resumed using the resumeInstances method. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/suspendInstances", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.suspendInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/suspendInstances", +"request": { +"$ref": "InstanceGroupManagersSuspendInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.testIamPermissions", +"parameterOrder": [ +"project", +"zone", +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates a managed instance group using the information that you specify in the request. This operation is marked as DONE when the group is updated even if the instances in the group have not yet been updated. You must separately verify the status of the individual instances with the listManagedInstances method. If you update your group to specify a new template or instance configuration, it's possible that your intended specification for each VM in the group is different from the current state of that VM. To learn how to apply an updated configuration to the VMs in a MIG, see Updating instances in a MIG.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", +"httpMethod": "PUT", +"id": "compute.instanceGroupManagers.update", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the instance group manager.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where you want to create the managed instance group.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", +"request": { +"$ref": "InstanceGroupManager" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"updatePerInstanceConfigs": { +"description": "Inserts or updates per-instance configurations for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs", +"httpMethod": "POST", +"id": "compute.instanceGroupManagers.updatePerInstanceConfigs", +"parameterOrder": [ +"project", +"zone", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the managed instance group is located. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs", +"request": { +"$ref": "InstanceGroupManagersUpdatePerInstanceConfigsReq" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"instanceGroups": { +"methods": { +"addInstances": { +"description": "Adds a list of instances to the specified instance group. All of the instances in the instance group must be in the same network/subnetwork. Read Adding instances for more information.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/addInstances", +"httpMethod": "POST", +"id": "compute.instanceGroups.addInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroup" +], +"parameters": { +"instanceGroup": { +"description": "The name of the instance group where you are adding instances.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/addInstances", +"request": { +"$ref": "InstanceGroupsAddInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"aggregatedList": { +"description": "Retrieves the list of instance groups and sorts them by zone. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/instanceGroups", +"httpMethod": "GET", +"id": "compute.instanceGroups.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/instanceGroups", +"response": { +"$ref": "InstanceGroupAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified instance group. The instances in the group are not deleted. Note that instance group must not belong to a backend service. Read Deleting an instance group for more information.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}", +"httpMethod": "DELETE", +"id": "compute.instanceGroups.delete", +"parameterOrder": [ +"project", +"zone", +"instanceGroup" +], +"parameters": { +"instanceGroup": { +"description": "The name of the instance group to delete.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified zonal instance group. Get a list of available zonal instance groups by making a list() request. For managed instance groups, use the instanceGroupManagers or regionInstanceGroupManagers methods instead.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}", +"httpMethod": "GET", +"id": "compute.instanceGroups.get", +"parameterOrder": [ +"project", +"zone", +"instanceGroup" +], +"parameters": { +"instanceGroup": { +"description": "The name of the instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone where the instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}", +"response": { +"$ref": "InstanceGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an instance group in the specified project using the parameters that are included in the request.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroups", +"httpMethod": "POST", +"id": "compute.instanceGroups.insert", +"parameterOrder": [ +"project", +"zone" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where you want to create the instance group.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroups", +"request": { +"$ref": "InstanceGroup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of zonal instance group resources contained within the specified zone. For managed instance groups, use the instanceGroupManagers or regionInstanceGroupManagers methods instead.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroups", +"httpMethod": "GET", +"id": "compute.instanceGroups.list", +"parameterOrder": [ +"project", +"zone" +], +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone where the instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroups", +"response": { +"$ref": "InstanceGroupList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listInstances": { +"description": "Lists the instances in the specified instance group. The orderBy query parameter is not supported. The filter query parameter is supported, but only for expressions that use `eq` (equal) or `ne` (not equal) operators.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/listInstances", +"httpMethod": "POST", +"id": "compute.instanceGroups.listInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroup" +], +"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" +}, +"instanceGroup": { +"description": "The name of the instance group from which you want to generate a list of included instances.", +"location": "path", +"required": true, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone where the instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/listInstances", +"request": { +"$ref": "InstanceGroupsListInstancesRequest" +}, +"response": { +"$ref": "InstanceGroupsListInstances" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"removeInstances": { +"description": "Removes one or more instances from the specified instance group, but does not delete those instances. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration before the VM instance is removed or deleted.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/removeInstances", +"httpMethod": "POST", +"id": "compute.instanceGroups.removeInstances", +"parameterOrder": [ +"project", +"zone", +"instanceGroup" +], +"parameters": { +"instanceGroup": { +"description": "The name of the instance group where the specified instances will be removed.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/removeInstances", +"request": { +"$ref": "InstanceGroupsRemoveInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setNamedPorts": { +"description": "Sets the named ports for the specified instance group.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/setNamedPorts", +"httpMethod": "POST", +"id": "compute.instanceGroups.setNamedPorts", +"parameterOrder": [ +"project", +"zone", +"instanceGroup" +], +"parameters": { +"instanceGroup": { +"description": "The name of the instance group where the named ports are updated.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the instance group is located.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/setNamedPorts", +"request": { +"$ref": "InstanceGroupsSetNamedPortsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/zones/{zone}/instanceGroups/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.instanceGroups.testIamPermissions", +"parameterOrder": [ +"project", +"zone", +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceGroups/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"instanceSettings": { +"methods": { +"get": { +"description": "Get Instance settings.", +"flatPath": "projects/{project}/zones/{zone}/instanceSettings", +"httpMethod": "GET", +"id": "compute.instanceSettings.get", +"parameterOrder": [ +"project", +"zone" +], +"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" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceSettings", +"response": { +"$ref": "InstanceSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patch Instance settings", +"flatPath": "projects/{project}/zones/{zone}/instanceSettings", +"httpMethod": "PATCH", +"id": "compute.instanceSettings.patch", +"parameterOrder": [ +"project", +"zone" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "update_mask indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The zone scoping this request. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instanceSettings", +"request": { +"$ref": "InstanceSettings" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"instanceTemplates": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all InstanceTemplates resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/instanceTemplates", +"httpMethod": "GET", +"id": "compute.instanceTemplates.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/instanceTemplates", +"response": { +"$ref": "InstanceTemplateAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified instance template. Deleting an instance template is permanent and cannot be undone. It is not possible to delete templates that are already in use by a managed instance group.", +"flatPath": "projects/{project}/global/instanceTemplates/{instanceTemplate}", +"httpMethod": "DELETE", +"id": "compute.instanceTemplates.delete", +"parameterOrder": [ +"project", +"instanceTemplate" +], +"parameters": { +"instanceTemplate": { +"description": "The name of the instance template to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/instanceTemplates/{instanceTemplate}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified instance template.", +"flatPath": "projects/{project}/global/instanceTemplates/{instanceTemplate}", +"httpMethod": "GET", +"id": "compute.instanceTemplates.get", +"parameterOrder": [ +"project", +"instanceTemplate" +], +"parameters": { +"instanceTemplate": { +"description": "The name of the instance template.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"view": { +"description": "View of the instance template.", +"enum": [ +"BASIC", +"FULL", +"INSTANCE_VIEW_UNSPECIFIED" +], +"enumDescriptions": [ +"Include everything except Partner Metadata.", +"Include everything.", +"The default / unset value. The API will default to the BASIC view." +], +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/instanceTemplates/{instanceTemplate}", +"response": { +"$ref": "InstanceTemplate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/global/instanceTemplates/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.instanceTemplates.getIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"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": "projects/{project}/global/instanceTemplates/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an instance template in the specified project using the data that is included in the request. If you are creating a new template to update an existing instance group, your new instance template must use the same network or, if applicable, the same subnetwork as the original template.", +"flatPath": "projects/{project}/global/instanceTemplates", +"httpMethod": "POST", +"id": "compute.instanceTemplates.insert", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/instanceTemplates", +"request": { +"$ref": "InstanceTemplate" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of instance templates that are contained within the specified project.", +"flatPath": "projects/{project}/global/instanceTemplates", +"httpMethod": "GET", +"id": "compute.instanceTemplates.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"view": { +"description": "View of the instance template.", +"enum": [ +"BASIC", +"FULL", +"INSTANCE_VIEW_UNSPECIFIED" +], +"enumDescriptions": [ +"Include everything except Partner Metadata.", +"Include everything.", +"The default / unset value. The API will default to the BASIC view." +], +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/instanceTemplates", +"response": { +"$ref": "InstanceTemplateList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/global/instanceTemplates/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.instanceTemplates.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": "projects/{project}/global/instanceTemplates/{resource}/setIamPolicy", +"request": { +"$ref": "GlobalSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/instanceTemplates/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.instanceTemplates.testIamPermissions", +"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": "projects/{project}/global/instanceTemplates/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"instances": { +"methods": { +"addAccessConfig": { +"description": "Adds an access config to an instance's network interface.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/addAccessConfig", +"httpMethod": "POST", +"id": "compute.instances.addAccessConfig", +"parameterOrder": [ +"project", +"zone", +"instance", +"networkInterface" +], +"parameters": { +"instance": { +"description": "The instance name 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" +}, +"networkInterface": { +"description": "The name of the network interface to add to this instance.", +"location": "query", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/addAccessConfig", +"request": { +"$ref": "AccessConfig" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"addNetworkInterface": { +"description": "Adds one dynamic network interface to an active instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/addNetworkInterface", +"httpMethod": "POST", +"id": "compute.instances.addNetworkInterface", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "The instance name for this request stored as resource_id. Name should conform to RFC1035 or be an unsigned long integer.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/addNetworkInterface", +"request": { +"$ref": "NetworkInterface" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"addResourcePolicies": { +"description": "Adds existing resource policies to an instance. You can only add one policy right now which will be applied to this instance for scheduling live migrations.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/addResourcePolicies", +"httpMethod": "POST", +"id": "compute.instances.addResourcePolicies", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "The instance name 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" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/addResourcePolicies", +"request": { +"$ref": "InstancesAddResourcePoliciesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"aggregatedList": { +"description": "Retrieves an aggregated list of all of the instances in your project across all regions and zones. The performance of this method degrades when a filter is specified on a project that has a very large number of instances. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/instances", +"httpMethod": "GET", +"id": "compute.instances.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/instances", +"response": { +"$ref": "InstanceAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"attachDisk": { +"description": "Attaches an existing Disk resource to an instance. You must first create the disk before you can attach it. It is not possible to create and attach a disk at the same time. For more information, read Adding a persistent disk to your instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/attachDisk", +"httpMethod": "POST", +"id": "compute.instances.attachDisk", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"forceAttach": { +"description": "Whether to force attach the regional disk even if it's currently attached to another instance. If you try to force attach a zonal disk to an instance, you will receive an error.", +"location": "query", +"type": "boolean" +}, +"instance": { +"description": "The instance name 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" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/attachDisk", +"request": { +"$ref": "AttachedDisk" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"bulkInsert": { +"description": "Creates multiple instances. Count specifies the number of instances to create. For more information, see About bulk creation of VMs.", +"flatPath": "projects/{project}/zones/{zone}/instances/bulkInsert", +"httpMethod": "POST", +"id": "compute.instances.bulkInsert", +"parameterOrder": [ +"project", +"zone" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/bulkInsert", +"request": { +"$ref": "BulkInsertInstanceResource" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified Instance resource. For more information, see Deleting an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}", +"httpMethod": "DELETE", +"id": "compute.instances.delete", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"noGracefulShutdown": { +"description": "If set to true, Graceful Shutdown is skipped.", +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"deleteAccessConfig": { +"description": "Deletes an access config from an instance's network interface.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/deleteAccessConfig", +"httpMethod": "POST", +"id": "compute.instances.deleteAccessConfig", +"parameterOrder": [ +"project", +"zone", +"instance", +"accessConfig", +"networkInterface" +], +"parameters": { +"accessConfig": { +"description": "The name of the access config to delete.", +"location": "query", +"required": true, +"type": "string" +}, +"instance": { +"description": "The instance name 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" +}, +"networkInterface": { +"description": "The name of the network interface.", +"location": "query", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/deleteAccessConfig", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"deleteNetworkInterface": { +"description": "Deletes one dynamic network interface from an active instance. InstancesDeleteNetworkInterfaceRequest indicates: - instance from which to delete, using project+zone+resource_id fields; - dynamic network interface to be deleted, using network_interface_name field;", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/deleteNetworkInterface", +"httpMethod": "POST", +"id": "compute.instances.deleteNetworkInterface", +"parameterOrder": [ +"project", +"zone", +"instance", +"networkInterfaceName" +], +"parameters": { +"instance": { +"description": "The instance name for this request stored as resource_id. Name should conform to RFC1035 or be an unsigned long integer.", +"location": "path", +"required": true, +"type": "string" +}, +"networkInterfaceName": { +"description": "The name of the dynamic network interface to be deleted from the instance.", +"location": "query", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/deleteNetworkInterface", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"detachDisk": { +"description": "Detaches a disk from an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/detachDisk", +"httpMethod": "POST", +"id": "compute.instances.detachDisk", +"parameterOrder": [ +"project", +"zone", +"instance", +"deviceName" +], +"parameters": { +"deviceName": { +"description": "The device name of the disk to detach. Make a get() request on the instance to view currently attached disks and device names.", +"location": "query", +"required": true, +"type": "string" +}, +"instance": { +"description": "Instance name 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" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/detachDisk", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified Instance resource.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}", +"httpMethod": "GET", +"id": "compute.instances.get", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"view": { +"description": "View of the instance.", +"enum": [ +"BASIC", +"FULL", +"INSTANCE_VIEW_UNSPECIFIED" +], +"enumDescriptions": [ +"Include everything except Partner Metadata.", +"Include everything.", +"The default / unset value. The API will default to the BASIC view." +], +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}", +"response": { +"$ref": "Instance" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getEffectiveFirewalls": { +"description": "Returns effective firewalls applied to an interface of the instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/getEffectiveFirewalls", +"httpMethod": "GET", +"id": "compute.instances.getEffectiveFirewalls", +"parameterOrder": [ +"project", +"zone", +"instance", +"networkInterface" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"networkInterface": { +"description": "The name of the network interface to get the effective firewalls.", +"location": "query", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/getEffectiveFirewalls", +"response": { +"$ref": "InstancesGetEffectiveFirewallsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getGuestAttributes": { +"description": "Returns the specified guest attributes entry.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/getGuestAttributes", +"httpMethod": "GET", +"id": "compute.instances.getGuestAttributes", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping 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" +}, +"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" +}, +"queryPath": { +"description": "Specifies the guest attributes path to be queried.", +"location": "query", +"type": "string" +}, +"variableKey": { +"description": "Specifies the key for the guest attributes entry.", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/getGuestAttributes", +"response": { +"$ref": "GuestAttributes" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/zones/{zone}/instances/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.instances.getIamPolicy", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getPartnerMetadata": { +"description": "Gets partner metadata of the specified instance and namespaces.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/getPartnerMetadata", +"httpMethod": "GET", +"id": "compute.instances.getPartnerMetadata", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping 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" +}, +"namespaces": { +"description": "Comma separated partner metadata namespaces.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/getPartnerMetadata", +"response": { +"$ref": "PartnerMetadata" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getScreenshot": { +"description": "Returns the screenshot from the specified instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/screenshot", +"httpMethod": "GET", +"id": "compute.instances.getScreenshot", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping 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" +}, +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/screenshot", +"response": { +"$ref": "Screenshot" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getSerialPortOutput": { +"description": "Returns the last 1 MB of serial port output from the specified instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/serialPort", +"httpMethod": "GET", +"id": "compute.instances.getSerialPortOutput", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance 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" +}, +"port": { +"default": "1", +"description": "Specifies which COM or serial port to retrieve data from.", +"format": "int32", +"location": "query", +"maximum": "4", +"minimum": "1", +"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" +}, +"start": { +"description": "Specifies the starting byte position of the output to return. To start with the first byte of output to the specified port, omit this field or set it to `0`. If the output for that byte position is available, this field matches the `start` parameter sent with the request. If the amount of serial console output exceeds the size of the buffer (1 MB), the oldest output is discarded and is no longer available. If the requested start position refers to discarded output, the start position is adjusted to the oldest output still available, and the adjusted start position is returned as the `start` property value. You can also provide a negative start position, which translates to the most recent number of bytes written to the serial port. For example, -3 is interpreted as the most recent 3 bytes written to the serial console. Note that the negative start is bounded by the retained buffer size, and the returned serial console output will not exceed the max buffer size.", +"format": "int64", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/serialPort", +"response": { +"$ref": "SerialPortOutput" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getShieldedInstanceIdentity": { +"description": "Returns the Shielded Instance Identity of an instance", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/getShieldedInstanceIdentity", +"httpMethod": "GET", +"id": "compute.instances.getShieldedInstanceIdentity", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name or id of the instance scoping 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" +}, +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/getShieldedInstanceIdentity", +"response": { +"$ref": "ShieldedInstanceIdentity" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getShieldedVmIdentity": { +"description": "Returns the Shielded VM Identity of an instance", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/getShieldedVmIdentity", +"httpMethod": "GET", +"id": "compute.instances.getShieldedVmIdentity", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping 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" +}, +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/getShieldedVmIdentity", +"response": { +"$ref": "ShieldedVmIdentity" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an instance resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/zones/{zone}/instances", +"httpMethod": "POST", +"id": "compute.instances.insert", +"parameterOrder": [ +"project", +"zone" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sourceInstanceTemplate": { +"description": "Specifies instance template to create the instance. This field is optional. It can be a full or partial URL. For example, the following are all valid URLs to an instance template: - https://www.googleapis.com/compute/v1/projects/project /global/instanceTemplates/instanceTemplate - projects/project/global/instanceTemplates/instanceTemplate - global/instanceTemplates/instanceTemplate ", +"location": "query", +"type": "string" +}, +"sourceMachineImage": { +"description": "Specifies the machine image to use to create the instance. This field is optional. It can be a full or partial URL. For example, the following are all valid URLs to a machine image: - https://www.googleapis.com/compute/v1/projects/project/global/global /machineImages/machineImage - projects/project/global/global/machineImages/machineImage - global/machineImages/machineImage ", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances", +"request": { +"$ref": "Instance" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of instances contained within the specified zone.", +"flatPath": "projects/{project}/zones/{zone}/instances", +"httpMethod": "GET", +"id": "compute.instances.list", +"parameterOrder": [ +"project", +"zone" +], +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"view": { +"description": "View of the instance.", +"enum": [ +"BASIC", +"FULL", +"INSTANCE_VIEW_UNSPECIFIED" +], +"enumDescriptions": [ +"Include everything except Partner Metadata.", +"Include everything.", +"The default / unset value. The API will default to the BASIC view." +], +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances", +"response": { +"$ref": "InstanceList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listReferrers": { +"description": "Retrieves a list of resources that refer to the VM instance specified in the request. For example, if the VM instance is part of a managed or unmanaged instance group, the referrers list includes the instance group. For more information, read Viewing referrers to VM instances.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/referrers", +"httpMethod": "GET", +"id": "compute.instances.listReferrers", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"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" +}, +"instance": { +"description": "Name of the target instance scoping this request, or '-' if the request should span over all instances in the container.", +"location": "path", +"pattern": "-|[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/referrers", +"response": { +"$ref": "InstanceListReferrers" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patchPartnerMetadata": { +"description": "Patches partner metadata of the specified instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/patchPartnerMetadata", +"httpMethod": "POST", +"id": "compute.instances.patchPartnerMetadata", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping 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" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/patchPartnerMetadata", +"request": { +"$ref": "PartnerMetadata" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"performMaintenance": { +"description": "Perform a manual maintenance on the instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/performMaintenance", +"httpMethod": "POST", +"id": "compute.instances.performMaintenance", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping 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" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/performMaintenance", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeResourcePolicies": { +"description": "Removes resource policies from an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/removeResourcePolicies", +"httpMethod": "POST", +"id": "compute.instances.removeResourcePolicies", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "The instance name 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" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/removeResourcePolicies", +"request": { +"$ref": "InstancesRemoveResourcePoliciesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"reportHostAsFaulty": { +"description": "Mark the host as faulty and try to restart the instance on a new host.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/reportHostAsFaulty", +"httpMethod": "POST", +"id": "compute.instances.reportHostAsFaulty", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping 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" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/reportHostAsFaulty", +"request": { +"$ref": "InstancesReportHostAsFaultyRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"reset": { +"description": "Performs a reset on the instance. This is a hard reset. The VM does not do a graceful shutdown. For more information, see Resetting an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/reset", +"httpMethod": "POST", +"id": "compute.instances.reset", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping 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" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/reset", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"resume": { +"description": "Resumes an instance that was suspended using the instances().suspend method.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/resume", +"httpMethod": "POST", +"id": "compute.instances.resume", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance resource to resume.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/resume", +"request": { +"$ref": "InstancesResumeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"sendDiagnosticInterrupt": { +"description": "Sends diagnostic interrupt to the instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/sendDiagnosticInterrupt", +"httpMethod": "POST", +"id": "compute.instances.sendDiagnosticInterrupt", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping 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" +}, +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/sendDiagnosticInterrupt", +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setDeletionProtection": { +"description": "Sets deletion protection on the instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{resource}/setDeletionProtection", +"httpMethod": "POST", +"id": "compute.instances.setDeletionProtection", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"deletionProtection": { +"default": "true", +"description": "Whether the resource should be protected against deletion.", +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{resource}/setDeletionProtection", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setDiskAutoDelete": { +"description": "Sets the auto-delete flag for a disk attached to an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setDiskAutoDelete", +"httpMethod": "POST", +"id": "compute.instances.setDiskAutoDelete", +"parameterOrder": [ +"project", +"zone", +"instance", +"autoDelete", +"deviceName" +], +"parameters": { +"autoDelete": { +"description": "Whether to auto-delete the disk when the instance is deleted.", +"location": "query", +"required": true, +"type": "boolean" +}, +"deviceName": { +"description": "The device name of the disk to modify. Make a get() request on the instance to view currently attached disks and device names.", +"location": "query", +"pattern": "\\w[\\w.-]{0,254}", +"required": true, +"type": "string" +}, +"instance": { +"description": "The instance name 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" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setDiskAutoDelete", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/zones/{zone}/instances/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.instances.setIamPolicy", +"parameterOrder": [ +"project", +"zone", +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{resource}/setIamPolicy", +"request": { +"$ref": "ZoneSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets labels on an instance. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setLabels", +"httpMethod": "POST", +"id": "compute.instances.setLabels", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping 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" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setLabels", +"request": { +"$ref": "InstancesSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setMachineResources": { +"description": "Changes the number and/or type of accelerator for a stopped instance to the values specified in the request.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setMachineResources", +"httpMethod": "POST", +"id": "compute.instances.setMachineResources", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping 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" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setMachineResources", +"request": { +"$ref": "InstancesSetMachineResourcesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setMachineType": { +"description": "Changes the machine type for a stopped instance to the machine type specified in the request.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setMachineType", +"httpMethod": "POST", +"id": "compute.instances.setMachineType", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping 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" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setMachineType", +"request": { +"$ref": "InstancesSetMachineTypeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setMetadata": { +"description": "Sets metadata for the specified instance to the data included in the request.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setMetadata", +"httpMethod": "POST", +"id": "compute.instances.setMetadata", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping 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" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setMetadata", +"request": { +"$ref": "Metadata" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setMinCpuPlatform": { +"description": "Changes the minimum CPU platform that this instance should use. This method can only be called on a stopped instance. For more information, read Specifying a Minimum CPU Platform.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setMinCpuPlatform", +"httpMethod": "POST", +"id": "compute.instances.setMinCpuPlatform", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping 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" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setMinCpuPlatform", +"request": { +"$ref": "InstancesSetMinCpuPlatformRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setName": { +"description": "Sets name of an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setName", +"httpMethod": "POST", +"id": "compute.instances.setName", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "The instance name 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" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setName", +"request": { +"$ref": "InstancesSetNameRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setScheduling": { +"description": "Sets an instance's scheduling options. You can only call this method on a stopped instance, that is, a VM instance that is in a `TERMINATED` state. See Instance Life Cycle for more information on the possible instance states. For more information about setting scheduling options for a VM, see Set VM host maintenance policy.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setScheduling", +"httpMethod": "POST", +"id": "compute.instances.setScheduling", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Instance name 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" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setScheduling", +"request": { +"$ref": "Scheduling" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setSecurityPolicy": { +"description": "Sets the Google Cloud Armor security policy for the specified instance. For more information, see Google Cloud Armor Overview", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setSecurityPolicy", +"httpMethod": "POST", +"id": "compute.instances.setSecurityPolicy", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the Instance resource to which the security policy should be set. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setSecurityPolicy", +"request": { +"$ref": "InstancesSetSecurityPolicyRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setServiceAccount": { +"description": "Sets the service account on the instance. For more information, read Changing the service account and access scopes for an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setServiceAccount", +"httpMethod": "POST", +"id": "compute.instances.setServiceAccount", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance resource to start.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setServiceAccount", +"request": { +"$ref": "InstancesSetServiceAccountRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setShieldedInstanceIntegrityPolicy": { +"description": "Sets the Shielded Instance integrity policy for an instance. You can only use this method on a running instance. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setShieldedInstanceIntegrityPolicy", +"httpMethod": "PATCH", +"id": "compute.instances.setShieldedInstanceIntegrityPolicy", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name or id of the instance scoping 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" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setShieldedInstanceIntegrityPolicy", +"request": { +"$ref": "ShieldedInstanceIntegrityPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setShieldedVmIntegrityPolicy": { +"description": "Sets the Shielded VM integrity policy for a VM instance. You can only use this method on a running VM instance. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setShieldedVmIntegrityPolicy", +"httpMethod": "PATCH", +"id": "compute.instances.setShieldedVmIntegrityPolicy", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping 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" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setShieldedVmIntegrityPolicy", +"request": { +"$ref": "ShieldedVmIntegrityPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setTags": { +"description": "Sets network tags for the specified instance to the data included in the request.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setTags", +"httpMethod": "POST", +"id": "compute.instances.setTags", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping 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" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/setTags", +"request": { +"$ref": "Tags" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"simulateMaintenanceEvent": { +"description": "Simulates a host maintenance event on a VM. For more information, see Simulate a host maintenance event.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/simulateMaintenanceEvent", +"httpMethod": "POST", +"id": "compute.instances.simulateMaintenanceEvent", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping 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" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"withExtendedNotifications": { +"description": "Determines whether the customers receive notifications before migration. Only applicable to SF vms.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/simulateMaintenanceEvent", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"start": { +"description": "Starts an instance that was stopped using the instances().stop method. For more information, see Restart an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/start", +"httpMethod": "POST", +"id": "compute.instances.start", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance resource to start.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/start", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"startWithEncryptionKey": { +"description": "Starts an instance that was stopped using the instances().stop method. For more information, see Restart an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/startWithEncryptionKey", +"httpMethod": "POST", +"id": "compute.instances.startWithEncryptionKey", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance resource to start.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/startWithEncryptionKey", +"request": { +"$ref": "InstancesStartWithEncryptionKeyRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"stop": { +"description": "Stops a running instance, shutting it down cleanly, and allows you to restart the instance at a later time. Stopped instances do not incur VM usage charges while they are stopped. However, resources that the VM is using, such as persistent disks and static IP addresses, will continue to be charged until they are deleted. For more information, see Stopping an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/stop", +"httpMethod": "POST", +"id": "compute.instances.stop", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"discardLocalSsd": { +"description": "This property is required if the instance has any attached Local SSD disks. If false, Local SSD data will be preserved when the instance is suspended. If true, the contents of any attached Local SSD disks will be discarded.", +"location": "query", +"type": "boolean" +}, +"instance": { +"description": "Name of the instance resource to stop.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"noGracefulShutdown": { +"description": "If set to true, Graceful Shutdown is skipped.", +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/stop", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"suspend": { +"description": "This method suspends a running instance, saving its state to persistent storage, and allows you to resume the instance at a later time. Suspended instances have no compute costs (cores or RAM), and incur only storage charges for the saved VM memory and localSSD data. Any charged resources the virtual machine was using, such as persistent disks and static IP addresses, will continue to be charged while the instance is suspended. For more information, see Suspending and resuming an instance.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/suspend", +"httpMethod": "POST", +"id": "compute.instances.suspend", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"discardLocalSsd": { +"description": "This property is required if the instance has any attached Local SSD disks. If false, Local SSD data will be preserved when the instance is suspended. If true, the contents of any attached Local SSD disks will be discarded.", +"location": "query", +"type": "boolean" +}, +"instance": { +"description": "Name of the instance resource to suspend.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/suspend", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/zones/{zone}/instances/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.instances.testIamPermissions", +"parameterOrder": [ +"project", +"zone", +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates an instance only if the necessary resources are available. This method can update only a specific set of instance properties. See Updating a running instance for a list of updatable instance properties.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}", +"httpMethod": "PUT", +"id": "compute.instances.update", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"clearSecureTag": { +"description": "Whether to clear secure tags from the instance. This property if set to true will clear secure tags regardless of the resource.secure_tags.", +"location": "query", +"type": "boolean" +}, +"instance": { +"description": "Name of the instance resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"minimalAction": { +"description": "Specifies the action to take when updating an instance even if the updated properties do not require it. If not specified, then Compute Engine acts based on the minimum action that the updated properties require.", +"enum": [ +"INVALID", +"NO_EFFECT", +"REFRESH", +"RESTART" +], +"enumDescriptions": [ +"", +"No changes can be made to the instance.", +"The instance will not restart.", +"The instance will restart." +], +"location": "query", +"type": "string" +}, +"mostDisruptiveAllowedAction": { +"description": "Specifies the most disruptive action that can be taken on the instance as part of the update. Compute Engine returns an error if the instance properties require a more disruptive action as part of the instance update. Valid options from lowest to highest are NO_EFFECT, REFRESH, and RESTART.", +"enum": [ +"INVALID", +"NO_EFFECT", +"REFRESH", +"RESTART" +], +"enumDescriptions": [ +"", +"No changes can be made to the instance.", +"The instance will not restart.", +"The instance will restart." +], +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}", +"request": { +"$ref": "Instance" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"updateAccessConfig": { +"description": "Updates the specified access config from an instance's network interface with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/updateAccessConfig", +"httpMethod": "POST", +"id": "compute.instances.updateAccessConfig", +"parameterOrder": [ +"project", +"zone", +"instance", +"networkInterface" +], +"parameters": { +"instance": { +"description": "The instance name 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" +}, +"networkInterface": { +"description": "The name of the network interface where the access config is attached.", +"location": "query", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/updateAccessConfig", +"request": { +"$ref": "AccessConfig" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"updateDisplayDevice": { +"description": "Updates the Display config for a VM instance. You can only use this method on a stopped VM instance. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/updateDisplayDevice", +"httpMethod": "PATCH", +"id": "compute.instances.updateDisplayDevice", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/updateDisplayDevice", +"request": { +"$ref": "DisplayDevice" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"updateNetworkInterface": { +"description": "Updates an instance's network interface. This method can only update an interface's alias IP range and attached network. See Modifying alias IP ranges for an existing instance for instructions on changing alias IP ranges. See Migrating a VM between networks for instructions on migrating an interface. This method follows PATCH semantics.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/updateNetworkInterface", +"httpMethod": "PATCH", +"id": "compute.instances.updateNetworkInterface", +"parameterOrder": [ +"project", +"zone", +"instance", +"networkInterface" +], +"parameters": { +"instance": { +"description": "The instance name 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" +}, +"networkInterface": { +"description": "The name of the network interface to update.", +"location": "query", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/updateNetworkInterface", +"request": { +"$ref": "NetworkInterface" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"updateShieldedInstanceConfig": { +"description": "Updates the Shielded Instance config for an instance. You can only use this method on a stopped instance. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/updateShieldedInstanceConfig", +"httpMethod": "PATCH", +"id": "compute.instances.updateShieldedInstanceConfig", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name or id of the instance scoping 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" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/updateShieldedInstanceConfig", +"request": { +"$ref": "ShieldedInstanceConfig" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"updateShieldedVmConfig": { +"description": "Updates the Shielded VM config for a VM instance. You can only use this method on a stopped VM instance. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/zones/{zone}/instances/{instance}/updateShieldedVmConfig", +"httpMethod": "PATCH", +"id": "compute.instances.updateShieldedVmConfig", +"parameterOrder": [ +"project", +"zone", +"instance" +], +"parameters": { +"instance": { +"description": "Name of the instance scoping 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" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instances/{instance}/updateShieldedVmConfig", +"request": { +"$ref": "ShieldedVmConfig" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"instantSnapshotGroups": { +"methods": { +"delete": { +"description": "deletes a Zonal InstantSnapshotGroup resource", +"flatPath": "projects/{project}/zones/{zone}/instantSnapshotGroups/{instantSnapshotGroup}", +"httpMethod": "DELETE", +"id": "compute.instantSnapshotGroups.delete", +"parameterOrder": [ +"project", +"zone", +"instantSnapshotGroup" +], +"parameters": { +"instantSnapshotGroup": { +"description": "Name of the InstantSnapshot resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instantSnapshotGroups/{instantSnapshotGroup}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "returns the specified InstantSnapshotGroup resource in the specified zone.", +"flatPath": "projects/{project}/zones/{zone}/instantSnapshotGroups/{instantSnapshotGroup}", +"httpMethod": "GET", +"id": "compute.instantSnapshotGroups.get", +"parameterOrder": [ +"project", +"zone", +"instantSnapshotGroup" +], +"parameters": { +"instantSnapshotGroup": { +"description": "Name of the InstantSnapshotGroup resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instantSnapshotGroups/{instantSnapshotGroup}", +"response": { +"$ref": "InstantSnapshotGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/zones/{zone}/instantSnapshotGroups/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.instantSnapshotGroups.getIamPolicy", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instantSnapshotGroups/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "inserts a Zonal InstantSnapshotGroup resource", +"flatPath": "projects/{project}/zones/{zone}/instantSnapshotGroups", +"httpMethod": "POST", +"id": "compute.instantSnapshotGroups.insert", +"parameterOrder": [ +"project", +"zone" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sourceConsistencyGroup": { +"description": "begin_interface: MixerMutationRequestBuilder", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instantSnapshotGroups", +"request": { +"$ref": "InstantSnapshotGroup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "retrieves the list of InstantSnapshotGroup resources contained within the specified zone.", +"flatPath": "projects/{project}/zones/{zone}/instantSnapshotGroups", +"httpMethod": "GET", +"id": "compute.instantSnapshotGroups.list", +"parameterOrder": [ +"project", +"zone" +], +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instantSnapshotGroups", +"response": { +"$ref": "ListInstantSnapshotGroups" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/zones/{zone}/instantSnapshotGroups/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.instantSnapshotGroups.setIamPolicy", +"parameterOrder": [ +"project", +"zone", +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instantSnapshotGroups/{resource}/setIamPolicy", +"request": { +"$ref": "ZoneSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/zones/{zone}/instantSnapshotGroups/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.instantSnapshotGroups.testIamPermissions", +"parameterOrder": [ +"project", +"zone", +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instantSnapshotGroups/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"instantSnapshots": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of instantSnapshots. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/instantSnapshots", +"httpMethod": "GET", +"id": "compute.instantSnapshots.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/instantSnapshots", +"response": { +"$ref": "InstantSnapshotAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified InstantSnapshot resource. Keep in mind that deleting a single instantSnapshot might not necessarily delete all the data on that instantSnapshot. If any data on the instantSnapshot that is marked for deletion is needed for subsequent instantSnapshots, the data will be moved to the next corresponding instantSnapshot. For more information, see Deleting instantSnapshots.", +"flatPath": "projects/{project}/zones/{zone}/instantSnapshots/{instantSnapshot}", +"httpMethod": "DELETE", +"id": "compute.instantSnapshots.delete", +"parameterOrder": [ +"project", +"zone", +"instantSnapshot" +], +"parameters": { +"instantSnapshot": { +"description": "Name of the InstantSnapshot resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instantSnapshots/{instantSnapshot}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified InstantSnapshot resource in the specified zone.", +"flatPath": "projects/{project}/zones/{zone}/instantSnapshots/{instantSnapshot}", +"httpMethod": "GET", +"id": "compute.instantSnapshots.get", +"parameterOrder": [ +"project", +"zone", +"instantSnapshot" +], +"parameters": { +"instantSnapshot": { +"description": "Name of the InstantSnapshot resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instantSnapshots/{instantSnapshot}", +"response": { +"$ref": "InstantSnapshot" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/zones/{zone}/instantSnapshots/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.instantSnapshots.getIamPolicy", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instantSnapshots/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an instant snapshot in the specified zone.", +"flatPath": "projects/{project}/zones/{zone}/instantSnapshots", +"httpMethod": "POST", +"id": "compute.instantSnapshots.insert", +"parameterOrder": [ +"project", +"zone" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instantSnapshots", +"request": { +"$ref": "InstantSnapshot" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of InstantSnapshot resources contained within the specified zone.", +"flatPath": "projects/{project}/zones/{zone}/instantSnapshots", +"httpMethod": "GET", +"id": "compute.instantSnapshots.list", +"parameterOrder": [ +"project", +"zone" +], +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instantSnapshots", +"response": { +"$ref": "InstantSnapshotList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/zones/{zone}/instantSnapshots/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.instantSnapshots.setIamPolicy", +"parameterOrder": [ +"project", +"zone", +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instantSnapshots/{resource}/setIamPolicy", +"request": { +"$ref": "ZoneSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on a instantSnapshot in the given zone. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/zones/{zone}/instantSnapshots/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.instantSnapshots.setLabels", +"parameterOrder": [ +"project", +"zone", +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instantSnapshots/{resource}/setLabels", +"request": { +"$ref": "ZoneSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/zones/{zone}/instantSnapshots/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.instantSnapshots.testIamPermissions", +"parameterOrder": [ +"project", +"zone", +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/instantSnapshots/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"interconnectAttachmentGroups": { +"methods": { +"delete": { +"description": "Deletes the specified InterconnectAttachmentGroup in the given scope", +"flatPath": "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}", +"httpMethod": "DELETE", +"id": "compute.interconnectAttachmentGroups.delete", +"parameterOrder": [ +"project", +"interconnectAttachmentGroup" +], +"parameters": { +"interconnectAttachmentGroup": { +"description": "Name of the InterconnectAttachmentGroup resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified InterconnectAttachmentGroup resource in the given scope.", +"flatPath": "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}", +"httpMethod": "GET", +"id": "compute.interconnectAttachmentGroups.get", +"parameterOrder": [ +"project", +"interconnectAttachmentGroup" +], +"parameters": { +"interconnectAttachmentGroup": { +"description": "Name of the InterconnectAttachmentGroup resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}", +"response": { +"$ref": "InterconnectAttachmentGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/global/interconnectAttachmentGroups/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.interconnectAttachmentGroups.getIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"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": "projects/{project}/global/interconnectAttachmentGroups/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getOperationalStatus": { +"description": "Returns the InterconnectAttachmentStatuses for the specified InterconnectAttachmentGroup resource.", +"flatPath": "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}/getOperationalStatus", +"httpMethod": "GET", +"id": "compute.interconnectAttachmentGroups.getOperationalStatus", +"parameterOrder": [ +"project", +"interconnectAttachmentGroup" +], +"parameters": { +"interconnectAttachmentGroup": { +"description": "Name of the interconnectAttachmentGroup resource to query.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}/getOperationalStatus", +"response": { +"$ref": "InterconnectAttachmentGroupsGetOperationalStatusResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a InterconnectAttachmentGroup in the specified project in the given scope using the parameters that are included in the request.", +"flatPath": "projects/{project}/global/interconnectAttachmentGroups", +"httpMethod": "POST", +"id": "compute.interconnectAttachmentGroups.insert", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/interconnectAttachmentGroups", +"request": { +"$ref": "InterconnectAttachmentGroup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists the InterconnectAttachmentGroups for a project in the given scope.", +"flatPath": "projects/{project}/global/interconnectAttachmentGroups", +"httpMethod": "GET", +"id": "compute.interconnectAttachmentGroups.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/interconnectAttachmentGroups", +"response": { +"$ref": "InterconnectAttachmentGroupsListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified InterconnectAttachmentGroup resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}", +"httpMethod": "PATCH", +"id": "compute.interconnectAttachmentGroups.patch", +"parameterOrder": [ +"project", +"interconnectAttachmentGroup" +], +"parameters": { +"interconnectAttachmentGroup": { +"description": "Name of the InterconnectAttachmentGroup resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "The list of fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}", +"request": { +"$ref": "InterconnectAttachmentGroup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/global/interconnectAttachmentGroups/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.interconnectAttachmentGroups.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": "projects/{project}/global/interconnectAttachmentGroups/{resource}/setIamPolicy", +"request": { +"$ref": "GlobalSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/interconnectAttachmentGroups/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.interconnectAttachmentGroups.testIamPermissions", +"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": "projects/{project}/global/interconnectAttachmentGroups/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"interconnectAttachments": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of interconnect attachments. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/interconnectAttachments", +"httpMethod": "GET", +"id": "compute.interconnectAttachments.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/interconnectAttachments", +"response": { +"$ref": "InterconnectAttachmentAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified interconnect attachment.", +"flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", +"httpMethod": "DELETE", +"id": "compute.interconnectAttachments.delete", +"parameterOrder": [ +"project", +"region", +"interconnectAttachment" +], +"parameters": { +"interconnectAttachment": { +"description": "Name of the interconnect attachment to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified interconnect attachment.", +"flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", +"httpMethod": "GET", +"id": "compute.interconnectAttachments.get", +"parameterOrder": [ +"project", +"region", +"interconnectAttachment" +], +"parameters": { +"interconnectAttachment": { +"description": "Name of the interconnect attachment to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", +"response": { +"$ref": "InterconnectAttachment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.interconnectAttachments.getIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"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" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an InterconnectAttachment in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/interconnectAttachments", +"httpMethod": "POST", +"id": "compute.interconnectAttachments.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If true, the request will not be committed.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/interconnectAttachments", +"request": { +"$ref": "InterconnectAttachment" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of interconnect attachments contained within the specified region.", +"flatPath": "projects/{project}/regions/{region}/interconnectAttachments", +"httpMethod": "GET", +"id": "compute.interconnectAttachments.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/interconnectAttachments", +"response": { +"$ref": "InterconnectAttachmentList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates the specified interconnect attachment with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", +"httpMethod": "PATCH", +"id": "compute.interconnectAttachments.patch", +"parameterOrder": [ +"project", +"region", +"interconnectAttachment" +], +"parameters": { +"interconnectAttachment": { +"description": "Name of the interconnect attachment to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", +"request": { +"$ref": "InterconnectAttachment" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.interconnectAttachments.setIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/setIamPolicy", +"request": { +"$ref": "RegionSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on an InterconnectAttachment. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.interconnectAttachments.setLabels", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/setLabels", +"request": { +"$ref": "RegionSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.interconnectAttachments.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"interconnectGroups": { +"methods": { +"delete": { +"description": "Deletes the specified InterconnectGroup in the given scope", +"flatPath": "projects/{project}/global/interconnectGroups/{interconnectGroup}", +"httpMethod": "DELETE", +"id": "compute.interconnectGroups.delete", +"parameterOrder": [ +"project", +"interconnectGroup" +], +"parameters": { +"interconnectGroup": { +"description": "Name of the InterconnectGroup resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/interconnectGroups/{interconnectGroup}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified InterconnectGroup resource in the given scope.", +"flatPath": "projects/{project}/global/interconnectGroups/{interconnectGroup}", +"httpMethod": "GET", +"id": "compute.interconnectGroups.get", +"parameterOrder": [ +"project", +"interconnectGroup" +], +"parameters": { +"interconnectGroup": { +"description": "Name of the InterconnectGroup resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/interconnectGroups/{interconnectGroup}", +"response": { +"$ref": "InterconnectGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/global/interconnectGroups/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.interconnectGroups.getIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"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": "projects/{project}/global/interconnectGroups/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getOperationalStatus": { +"description": "Returns the interconnectStatuses for the specified InterconnectGroup.", +"flatPath": "projects/{project}/global/interconnectGroups/{interconnectGroup}/getOperationalStatus", +"httpMethod": "GET", +"id": "compute.interconnectGroups.getOperationalStatus", +"parameterOrder": [ +"project", +"interconnectGroup" +], +"parameters": { +"interconnectGroup": { +"description": "Name of the interconnectGroup resource to query.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/interconnectGroups/{interconnectGroup}/getOperationalStatus", +"response": { +"$ref": "InterconnectGroupsGetOperationalStatusResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a InterconnectGroup in the specified project in the given scope using the parameters that are included in the request.", +"flatPath": "projects/{project}/global/interconnectGroups", +"httpMethod": "POST", +"id": "compute.interconnectGroups.insert", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/interconnectGroups", +"request": { +"$ref": "InterconnectGroup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists the InterconnectGroups for a project in the given scope.", +"flatPath": "projects/{project}/global/interconnectGroups", +"httpMethod": "GET", +"id": "compute.interconnectGroups.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/interconnectGroups", +"response": { +"$ref": "InterconnectGroupsListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified InterconnectGroup resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/interconnectGroups/{interconnectGroup}", +"httpMethod": "PATCH", +"id": "compute.interconnectGroups.patch", +"parameterOrder": [ +"project", +"interconnectGroup" +], +"parameters": { +"interconnectGroup": { +"description": "Name of the InterconnectGroup resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "The list of fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/interconnectGroups/{interconnectGroup}", +"request": { +"$ref": "InterconnectGroup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/global/interconnectGroups/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.interconnectGroups.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": "projects/{project}/global/interconnectGroups/{resource}/setIamPolicy", +"request": { +"$ref": "GlobalSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/interconnectGroups/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.interconnectGroups.testIamPermissions", +"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": "projects/{project}/global/interconnectGroups/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"interconnectLocations": { +"methods": { +"get": { +"description": "Returns the details for the specified interconnect location. Gets a list of available interconnect locations by making a list() request.", +"flatPath": "projects/{project}/global/interconnectLocations/{interconnectLocation}", +"httpMethod": "GET", +"id": "compute.interconnectLocations.get", +"parameterOrder": [ +"project", +"interconnectLocation" +], +"parameters": { +"interconnectLocation": { +"description": "Name of the interconnect location to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/interconnectLocations/{interconnectLocation}", +"response": { +"$ref": "InterconnectLocation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves the list of interconnect locations available to the specified project.", +"flatPath": "projects/{project}/global/interconnectLocations", +"httpMethod": "GET", +"id": "compute.interconnectLocations.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/interconnectLocations", +"response": { +"$ref": "InterconnectLocationList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/interconnectLocations/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.interconnectLocations.testIamPermissions", +"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": "projects/{project}/global/interconnectLocations/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"interconnectRemoteLocations": { +"methods": { +"get": { +"description": "Returns the details for the specified interconnect remote location. Gets a list of available interconnect remote locations by making a list() request.", +"flatPath": "projects/{project}/global/interconnectRemoteLocations/{interconnectRemoteLocation}", +"httpMethod": "GET", +"id": "compute.interconnectRemoteLocations.get", +"parameterOrder": [ +"project", +"interconnectRemoteLocation" +], +"parameters": { +"interconnectRemoteLocation": { +"description": "Name of the interconnect remote location to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/interconnectRemoteLocations/{interconnectRemoteLocation}", +"response": { +"$ref": "InterconnectRemoteLocation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves the list of interconnect remote locations available to the specified project.", +"flatPath": "projects/{project}/global/interconnectRemoteLocations", +"httpMethod": "GET", +"id": "compute.interconnectRemoteLocations.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/interconnectRemoteLocations", +"response": { +"$ref": "InterconnectRemoteLocationList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/interconnectRemoteLocations/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.interconnectRemoteLocations.testIamPermissions", +"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": "projects/{project}/global/interconnectRemoteLocations/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"interconnects": { +"methods": { +"delete": { +"description": "Deletes the specified Interconnect.", +"flatPath": "projects/{project}/global/interconnects/{interconnect}", +"httpMethod": "DELETE", +"id": "compute.interconnects.delete", +"parameterOrder": [ +"project", +"interconnect" +], +"parameters": { +"interconnect": { +"description": "Name of the interconnect to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/interconnects/{interconnect}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified Interconnect. Get a list of available Interconnects by making a list() request.", +"flatPath": "projects/{project}/global/interconnects/{interconnect}", +"httpMethod": "GET", +"id": "compute.interconnects.get", +"parameterOrder": [ +"project", +"interconnect" +], +"parameters": { +"interconnect": { +"description": "Name of the interconnect to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/interconnects/{interconnect}", +"response": { +"$ref": "Interconnect" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getDiagnostics": { +"description": "Returns the interconnectDiagnostics for the specified Interconnect. In the event of a global outage, do not use this API to make decisions about where to redirect your network traffic. Unlike a VLAN attachment, which is regional, a Cloud Interconnect connection is a global resource. A global outage can prevent this API from functioning properly.", +"flatPath": "projects/{project}/global/interconnects/{interconnect}/getDiagnostics", +"httpMethod": "GET", +"id": "compute.interconnects.getDiagnostics", +"parameterOrder": [ +"project", +"interconnect" +], +"parameters": { +"interconnect": { +"description": "Name of the interconnect resource to query.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/interconnects/{interconnect}/getDiagnostics", +"response": { +"$ref": "InterconnectsGetDiagnosticsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/global/interconnects/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.interconnects.getIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"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": "projects/{project}/global/interconnects/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getMacsecConfig": { +"description": "Returns the interconnectMacsecConfig for the specified Interconnect.", +"flatPath": "projects/{project}/global/interconnects/{interconnect}/getMacsecConfig", +"httpMethod": "GET", +"id": "compute.interconnects.getMacsecConfig", +"parameterOrder": [ +"project", +"interconnect" +], +"parameters": { +"interconnect": { +"description": "Name of the interconnect resource to query.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/interconnects/{interconnect}/getMacsecConfig", +"response": { +"$ref": "InterconnectsGetMacsecConfigResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an Interconnect in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/interconnects", +"httpMethod": "POST", +"id": "compute.interconnects.insert", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/interconnects", +"request": { +"$ref": "Interconnect" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of Interconnects available to the specified project.", +"flatPath": "projects/{project}/global/interconnects", +"httpMethod": "GET", +"id": "compute.interconnects.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/interconnects", +"response": { +"$ref": "InterconnectList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates the specified Interconnect with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/interconnects/{interconnect}", +"httpMethod": "PATCH", +"id": "compute.interconnects.patch", +"parameterOrder": [ +"project", +"interconnect" +], +"parameters": { +"interconnect": { +"description": "Name of the interconnect to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/interconnects/{interconnect}", +"request": { +"$ref": "Interconnect" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/global/interconnects/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.interconnects.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": "projects/{project}/global/interconnects/{resource}/setIamPolicy", +"request": { +"$ref": "GlobalSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on an Interconnect. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/global/interconnects/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.interconnects.setLabels", +"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": "projects/{project}/global/interconnects/{resource}/setLabels", +"request": { +"$ref": "GlobalSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/interconnects/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.interconnects.testIamPermissions", +"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": "projects/{project}/global/interconnects/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"licenseCodes": { +"methods": { +"get": { +"description": "Return a specified license code. License codes are mirrored across all projects that have permissions to read the License Code. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"flatPath": "projects/{project}/global/licenseCodes/{licenseCode}", +"httpMethod": "GET", +"id": "compute.licenseCodes.get", +"parameterOrder": [ +"project", +"licenseCode" +], +"parameters": { +"licenseCode": { +"description": "Number corresponding to the License code resource to return.", +"location": "path", +"pattern": "[0-9]{0,61}?", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/licenseCodes/{licenseCode}", +"response": { +"$ref": "LicenseCode" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"flatPath": "projects/{project}/global/licenseCodes/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.licenseCodes.getIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"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": "projects/{project}/global/licenseCodes/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"flatPath": "projects/{project}/global/licenseCodes/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.licenseCodes.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": "projects/{project}/global/licenseCodes/{resource}/setIamPolicy", +"request": { +"$ref": "GlobalSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"flatPath": "projects/{project}/global/licenseCodes/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.licenseCodes.testIamPermissions", +"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": "projects/{project}/global/licenseCodes/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"licenses": { +"methods": { +"delete": { +"description": "Deletes the specified license. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"flatPath": "projects/{project}/global/licenses/{license}", +"httpMethod": "DELETE", +"id": "compute.licenses.delete", +"parameterOrder": [ +"project", +"license" +], +"parameters": { +"license": { +"description": "Name of the license resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/licenses/{license}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified License resource. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"flatPath": "projects/{project}/global/licenses/{license}", +"httpMethod": "GET", +"id": "compute.licenses.get", +"parameterOrder": [ +"project", +"license" +], +"parameters": { +"license": { +"description": "Name of the License resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/licenses/{license}", +"response": { +"$ref": "License" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"flatPath": "projects/{project}/global/licenses/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.licenses.getIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"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": "projects/{project}/global/licenses/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Create a License resource in the specified project. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"flatPath": "projects/{project}/global/licenses", +"httpMethod": "POST", +"id": "compute.licenses.insert", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/licenses", +"request": { +"$ref": "License" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"list": { +"description": "Retrieves the list of licenses available in the specified project. This method does not get any licenses that belong to other projects, including licenses attached to publicly-available images, like Debian 9. If you want to get a list of publicly-available licenses, use this method to make a request to the respective image project, such as debian-cloud or windows-cloud. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"flatPath": "projects/{project}/global/licenses", +"httpMethod": "GET", +"id": "compute.licenses.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/licenses", +"response": { +"$ref": "LicensesListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"flatPath": "projects/{project}/global/licenses/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.licenses.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": "projects/{project}/global/licenses/{resource}/setIamPolicy", +"request": { +"$ref": "GlobalSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"flatPath": "projects/{project}/global/licenses/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.licenses.testIamPermissions", +"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": "projects/{project}/global/licenses/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates a License resource in the specified project. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"flatPath": "projects/{project}/global/licenses/{license}", +"httpMethod": "PATCH", +"id": "compute.licenses.update", +"parameterOrder": [ +"project", +"license" +], +"parameters": { +"license": { +"description": "The license name 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" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "update_mask indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/licenses/{license}", +"request": { +"$ref": "License" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"machineImages": { +"methods": { +"delete": { +"description": "Deletes the specified machine image. Deleting a machine image is permanent and cannot be undone.", +"flatPath": "projects/{project}/global/machineImages/{machineImage}", +"httpMethod": "DELETE", +"id": "compute.machineImages.delete", +"parameterOrder": [ +"project", +"machineImage" +], +"parameters": { +"machineImage": { +"description": "The name of the machine image to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/machineImages/{machineImage}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified machine image.", +"flatPath": "projects/{project}/global/machineImages/{machineImage}", +"httpMethod": "GET", +"id": "compute.machineImages.get", +"parameterOrder": [ +"project", +"machineImage" +], +"parameters": { +"machineImage": { +"description": "The name of the machine image.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/machineImages/{machineImage}", +"response": { +"$ref": "MachineImage" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/global/machineImages/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.machineImages.getIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"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": "projects/{project}/global/machineImages/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a machine image in the specified project using the data that is included in the request. If you are creating a new machine image to update an existing instance, your new machine image should use the same network or, if applicable, the same subnetwork as the original instance.", +"flatPath": "projects/{project}/global/machineImages", +"httpMethod": "POST", +"id": "compute.machineImages.insert", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sourceInstance": { +"description": "Required. Source instance that is used to create the machine image from.", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/machineImages", +"request": { +"$ref": "MachineImage" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of machine images that are contained within the specified project.", +"flatPath": "projects/{project}/global/machineImages", +"httpMethod": "GET", +"id": "compute.machineImages.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/machineImages", +"response": { +"$ref": "MachineImageList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/global/machineImages/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.machineImages.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": "projects/{project}/global/machineImages/{resource}/setIamPolicy", +"request": { +"$ref": "GlobalSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/machineImages/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.machineImages.testIamPermissions", +"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": "projects/{project}/global/machineImages/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"machineTypes": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of machine types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/machineTypes", +"httpMethod": "GET", +"id": "compute.machineTypes.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/machineTypes", +"response": { +"$ref": "MachineTypeAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"get": { +"description": "Returns the specified machine type.", +"flatPath": "projects/{project}/zones/{zone}/machineTypes/{machineType}", +"httpMethod": "GET", +"id": "compute.machineTypes.get", +"parameterOrder": [ +"project", +"zone", +"machineType" +], +"parameters": { +"machineType": { +"description": "Name of the machine type to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/machineTypes/{machineType}", +"response": { +"$ref": "MachineType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of machine types available to the specified project.", +"flatPath": "projects/{project}/zones/{zone}/machineTypes", +"httpMethod": "GET", +"id": "compute.machineTypes.list", +"parameterOrder": [ +"project", +"zone" +], +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/machineTypes", +"response": { +"$ref": "MachineTypeList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"networkAttachments": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all NetworkAttachment resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/networkAttachments", +"httpMethod": "GET", +"id": "compute.networkAttachments.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/networkAttachments", +"response": { +"$ref": "NetworkAttachmentAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified NetworkAttachment in the given scope", +"flatPath": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", +"httpMethod": "DELETE", +"id": "compute.networkAttachments.delete", +"parameterOrder": [ +"project", +"region", +"networkAttachment" +], +"parameters": { +"networkAttachment": { +"description": "Name of the NetworkAttachment resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified NetworkAttachment resource in the given scope.", +"flatPath": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", +"httpMethod": "GET", +"id": "compute.networkAttachments.get", +"parameterOrder": [ +"project", +"region", +"networkAttachment" +], +"parameters": { +"networkAttachment": { +"description": "Name of the NetworkAttachment resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", +"response": { +"$ref": "NetworkAttachment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/regions/{region}/networkAttachments/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.networkAttachments.getIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"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" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkAttachments/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a NetworkAttachment in the specified project in the given scope using the parameters that are included in the request.", +"flatPath": "projects/{project}/regions/{region}/networkAttachments", +"httpMethod": "POST", +"id": "compute.networkAttachments.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkAttachments", +"request": { +"$ref": "NetworkAttachment" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists the NetworkAttachments for a project in the given scope.", +"flatPath": "projects/{project}/regions/{region}/networkAttachments", +"httpMethod": "GET", +"id": "compute.networkAttachments.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/networkAttachments", +"response": { +"$ref": "NetworkAttachmentList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified NetworkAttachment resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", +"httpMethod": "PATCH", +"id": "compute.networkAttachments.patch", +"parameterOrder": [ +"project", +"region", +"networkAttachment" +], +"parameters": { +"networkAttachment": { +"description": "Name of the NetworkAttachment resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", +"request": { +"$ref": "NetworkAttachment" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/regions/{region}/networkAttachments/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.networkAttachments.setIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkAttachments/{resource}/setIamPolicy", +"request": { +"$ref": "RegionSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/networkAttachments/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.networkAttachments.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkAttachments/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"networkEdgeSecurityServices": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all NetworkEdgeSecurityService resources available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/networkEdgeSecurityServices", +"httpMethod": "GET", +"id": "compute.networkEdgeSecurityServices.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/networkEdgeSecurityServices", +"response": { +"$ref": "NetworkEdgeSecurityServiceAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified service.", +"flatPath": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}", +"httpMethod": "DELETE", +"id": "compute.networkEdgeSecurityServices.delete", +"parameterOrder": [ +"project", +"region", +"networkEdgeSecurityService" +], +"parameters": { +"networkEdgeSecurityService": { +"description": "Name of the network edge security service to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Gets a specified NetworkEdgeSecurityService.", +"flatPath": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}", +"httpMethod": "GET", +"id": "compute.networkEdgeSecurityServices.get", +"parameterOrder": [ +"project", +"region", +"networkEdgeSecurityService" +], +"parameters": { +"networkEdgeSecurityService": { +"description": "Name of the network edge security service to get.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}", +"response": { +"$ref": "NetworkEdgeSecurityService" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new service in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/networkEdgeSecurityServices", +"httpMethod": "POST", +"id": "compute.networkEdgeSecurityServices.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If true, the request will not be committed.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/networkEdgeSecurityServices", +"request": { +"$ref": "NetworkEdgeSecurityService" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patch": { +"description": "Patches the specified policy with the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}", +"httpMethod": "PATCH", +"id": "compute.networkEdgeSecurityServices.patch", +"parameterOrder": [ +"project", +"region", +"networkEdgeSecurityService" +], +"parameters": { +"networkEdgeSecurityService": { +"description": "Name of the network edge security service to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"paths": { +"location": "query", +"repeated": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}", +"request": { +"$ref": "NetworkEdgeSecurityService" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"networkEndpointGroups": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of network endpoint groups and sorts them by zone. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/networkEndpointGroups", +"httpMethod": "GET", +"id": "compute.networkEndpointGroups.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/networkEndpointGroups", +"response": { +"$ref": "NetworkEndpointGroupAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"attachNetworkEndpoints": { +"description": "Attach a list of network endpoints to the specified network endpoint group.", +"flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", +"httpMethod": "POST", +"id": "compute.networkEndpointGroups.attachNetworkEndpoints", +"parameterOrder": [ +"project", +"zone", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group where you are attaching network endpoints to. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", +"request": { +"$ref": "NetworkEndpointGroupsAttachEndpointsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified network endpoint group. The network endpoints in the NEG and the VM instances they belong to are not terminated when the NEG is deleted. Note that the NEG cannot be deleted if there are backend services referencing it.", +"flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}", +"httpMethod": "DELETE", +"id": "compute.networkEndpointGroups.delete", +"parameterOrder": [ +"project", +"zone", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group to delete. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"detachNetworkEndpoints": { +"description": "Detach a list of network endpoints from the specified network endpoint group.", +"flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", +"httpMethod": "POST", +"id": "compute.networkEndpointGroups.detachNetworkEndpoints", +"parameterOrder": [ +"project", +"zone", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group where you are removing network endpoints. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", +"request": { +"$ref": "NetworkEndpointGroupsDetachEndpointsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified network endpoint group.", +"flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}", +"httpMethod": "GET", +"id": "compute.networkEndpointGroups.get", +"parameterOrder": [ +"project", +"zone", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}", +"response": { +"$ref": "NetworkEndpointGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a network endpoint group in the specified project using the parameters that are included in the request.", +"flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups", +"httpMethod": "POST", +"id": "compute.networkEndpointGroups.insert", +"parameterOrder": [ +"project", +"zone" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone where you want to create the network endpoint group. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/networkEndpointGroups", +"request": { +"$ref": "NetworkEndpointGroup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of network endpoint groups that are located in the specified project and zone.", +"flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups", +"httpMethod": "GET", +"id": "compute.networkEndpointGroups.list", +"parameterOrder": [ +"project", +"zone" +], +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/networkEndpointGroups", +"response": { +"$ref": "NetworkEndpointGroupList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listNetworkEndpoints": { +"description": "Lists the network endpoints in the specified network endpoint group.", +"flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", +"httpMethod": "POST", +"id": "compute.networkEndpointGroups.listNetworkEndpoints", +"parameterOrder": [ +"project", +"zone", +"networkEndpointGroup" +], +"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" +}, +"networkEndpointGroup": { +"description": "The name of the network endpoint group from which you want to generate a list of included network endpoints. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", +"request": { +"$ref": "NetworkEndpointGroupsListEndpointsRequest" +}, +"response": { +"$ref": "NetworkEndpointGroupsListNetworkEndpoints" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.networkEndpointGroups.testIamPermissions", +"parameterOrder": [ +"project", +"zone", +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/networkEndpointGroups/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"networkFirewallPolicies": { +"methods": { +"addAssociation": { +"description": "Inserts an association for the specified firewall policy.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addAssociation", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.addAssociation", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"associatedPolicyToBeReplaced": { +"description": "Name of the firewall policy associated with the target network to swap association with. This field is mutually exclusive with 'replace_existing_association'.", +"location": "query", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"type": "string" +}, +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"replaceExistingAssociation": { +"description": "Indicates whether or not to replace it if an association of the attachment already exists. This is false by default, in which case an error will be returned if an association already exists.", +"location": "query", +"type": "boolean" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addAssociation", +"request": { +"$ref": "FirewallPolicyAssociation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"addPacketMirroringRule": { +"description": "Inserts a packet mirroring rule into a firewall policy.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addPacketMirroringRule", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.addPacketMirroringRule", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"maxPriority": { +"description": "When rule.priority is not specified, auto choose a unused priority between minPriority and maxPriority>. This field is exclusive with rule.priority.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"minPriority": { +"description": "When rule.priority is not specified, auto choose a unused priority between minPriority and maxPriority>. This field is exclusive with rule.priority.", +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addPacketMirroringRule", +"request": { +"$ref": "FirewallPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"addRule": { +"description": "Inserts a rule into a firewall policy.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addRule", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.addRule", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"maxPriority": { +"description": "When rule.priority is not specified, auto choose a unused priority between minPriority and maxPriority>. This field is exclusive with rule.priority.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"minPriority": { +"description": "When rule.priority is not specified, auto choose a unused priority between minPriority and maxPriority>. This field is exclusive with rule.priority.", +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addRule", +"request": { +"$ref": "FirewallPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"aggregatedList": { +"description": "Retrieves an aggregated list of network firewall policies, listing network firewall policies from all applicable scopes (global and regional) and grouping the results per scope. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/firewallPolicies", +"httpMethod": "GET", +"id": "compute.networkFirewallPolicies.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/firewallPolicies", +"response": { +"$ref": "NetworkFirewallPolicyAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"cloneRules": { +"description": "Copies rules to the specified firewall policy.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/cloneRules", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.cloneRules", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sourceFirewallPolicy": { +"description": "The firewall policy from which to copy rules.", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/cloneRules", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified policy.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}", +"httpMethod": "DELETE", +"id": "compute.networkFirewallPolicies.delete", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified network firewall policy.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}", +"httpMethod": "GET", +"id": "compute.networkFirewallPolicies.get", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to get.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}", +"response": { +"$ref": "FirewallPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getAssociation": { +"description": "Gets an association with the specified name.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getAssociation", +"httpMethod": "GET", +"id": "compute.networkFirewallPolicies.getAssociation", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to which the queried association belongs.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"name": { +"description": "The name of the association to get from the firewall policy.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getAssociation", +"response": { +"$ref": "FirewallPolicyAssociation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/global/firewallPolicies/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.networkFirewallPolicies.getIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"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": "projects/{project}/global/firewallPolicies/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getPacketMirroringRule": { +"description": "Gets a packet mirroring rule of the specified priority.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getPacketMirroringRule", +"httpMethod": "GET", +"id": "compute.networkFirewallPolicies.getPacketMirroringRule", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to which the queried rule belongs.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to get from the firewall policy.", +"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" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getPacketMirroringRule", +"response": { +"$ref": "FirewallPolicyRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getRule": { +"description": "Gets a rule of the specified priority.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getRule", +"httpMethod": "GET", +"id": "compute.networkFirewallPolicies.getRule", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to which the queried rule belongs.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to get from the firewall policy.", +"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" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getRule", +"response": { +"$ref": "FirewallPolicyRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new policy in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/firewallPolicies", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.insert", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies", +"request": { +"$ref": "FirewallPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists all the policies that have been configured for the specified project.", +"flatPath": "projects/{project}/global/firewallPolicies", +"httpMethod": "GET", +"id": "compute.networkFirewallPolicies.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/firewallPolicies", +"response": { +"$ref": "FirewallPolicyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified policy with the data included in the request.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}", +"httpMethod": "PATCH", +"id": "compute.networkFirewallPolicies.patch", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}", +"request": { +"$ref": "FirewallPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patchAssociation": { +"description": "Updates an association for the specified network firewall policy.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchAssociation", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.patchAssociation", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchAssociation", +"request": { +"$ref": "FirewallPolicyAssociation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patchPacketMirroringRule": { +"description": "Patches a packet mirroring rule of the specified priority.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchPacketMirroringRule", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.patchPacketMirroringRule", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to patch.", +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchPacketMirroringRule", +"request": { +"$ref": "FirewallPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patchRule": { +"description": "Patches a rule of the specified priority.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchRule", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.patchRule", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to patch.", +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchRule", +"request": { +"$ref": "FirewallPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeAssociation": { +"description": "Removes an association for the specified firewall policy.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removeAssociation", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.removeAssociation", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"name": { +"description": "Name for the attachment that will be removed.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removeAssociation", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removePacketMirroringRule": { +"description": "Deletes a packet mirroring rule of the specified priority.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removePacketMirroringRule", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.removePacketMirroringRule", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to remove from the firewall policy.", +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removePacketMirroringRule", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeRule": { +"description": "Deletes a rule of the specified priority.", +"flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removeRule", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.removeRule", +"parameterOrder": [ +"project", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to remove from the firewall policy.", +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removeRule", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/global/firewallPolicies/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.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": "projects/{project}/global/firewallPolicies/{resource}/setIamPolicy", +"request": { +"$ref": "GlobalSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/firewallPolicies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.networkFirewallPolicies.testIamPermissions", +"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": "projects/{project}/global/firewallPolicies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"networkProfiles": { +"methods": { +"get": { +"description": "Returns the specified network profile.", +"flatPath": "projects/{project}/global/networkProfiles/{networkProfile}", +"httpMethod": "GET", +"id": "compute.networkProfiles.get", +"parameterOrder": [ +"project", +"networkProfile" +], +"parameters": { +"networkProfile": { +"description": "Name of the network profile to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/networkProfiles/{networkProfile}", +"response": { +"$ref": "NetworkProfile" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of network profiles available to the specified project.", +"flatPath": "projects/{project}/global/networkProfiles", +"httpMethod": "GET", +"id": "compute.networkProfiles.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/networkProfiles", +"response": { +"$ref": "NetworkProfilesListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"networks": { +"methods": { +"addPeering": { +"description": "Adds a peering to the specified network.", +"flatPath": "projects/{project}/global/networks/{network}/addPeering", +"httpMethod": "POST", +"id": "compute.networks.addPeering", +"parameterOrder": [ +"project", +"network" +], +"parameters": { +"network": { +"description": "Name of the network resource to add peering to.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networks/{network}/addPeering", +"request": { +"$ref": "NetworksAddPeeringRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified network.", +"flatPath": "projects/{project}/global/networks/{network}", +"httpMethod": "DELETE", +"id": "compute.networks.delete", +"parameterOrder": [ +"project", +"network" +], +"parameters": { +"network": { +"description": "Name of the network to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networks/{network}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified network.", +"flatPath": "projects/{project}/global/networks/{network}", +"httpMethod": "GET", +"id": "compute.networks.get", +"parameterOrder": [ +"project", +"network" +], +"parameters": { +"network": { +"description": "Name of the network to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/networks/{network}", +"response": { +"$ref": "Network" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getEffectiveFirewalls": { +"description": "Returns the effective firewalls on a given network.", +"flatPath": "projects/{project}/global/networks/{network}/getEffectiveFirewalls", +"httpMethod": "GET", +"id": "compute.networks.getEffectiveFirewalls", +"parameterOrder": [ +"project", +"network" +], +"parameters": { +"network": { +"description": "Name of the network for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/networks/{network}/getEffectiveFirewalls", +"response": { +"$ref": "NetworksGetEffectiveFirewallsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a network in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/networks", +"httpMethod": "POST", +"id": "compute.networks.insert", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networks", +"request": { +"$ref": "Network" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of networks available to the specified project.", +"flatPath": "projects/{project}/global/networks", +"httpMethod": "GET", +"id": "compute.networks.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/networks", +"response": { +"$ref": "NetworkList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listIpAddresses": { +"description": "Lists the internal IP addresses in the specified network.", +"flatPath": "projects/{project}/global/networks/{network}/listIpAddresses", +"httpMethod": "GET", +"id": "compute.networks.listIpAddresses", +"parameterOrder": [ +"project", +"network" +], +"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" +}, +"network": { +"description": "Name of the network 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" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"types": { +"description": "(Optional) types filter separate by comma, valid values are: SUBNETWORK, RESERVED, PEER_USED, PEER_RESERVED, REMOTE_USED, REMOTE_RESERVED.", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networks/{network}/listIpAddresses", +"response": { +"$ref": "IpAddressesList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listIpOwners": { +"description": "Lists the internal IP owners in the specified network.", +"flatPath": "projects/{project}/global/networks/{network}/listIpOwners", +"httpMethod": "GET", +"id": "compute.networks.listIpOwners", +"parameterOrder": [ +"project", +"network" +], +"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" +}, +"ipCidrRange": { +"description": "(Optional) IP CIDR range filter, example: \"10.128.10.0/30\".", +"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" +}, +"network": { +"description": "Name of the network to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"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" +}, +"ownerProjects": { +"description": "(Optional) Project IDs filter, example: \"project-1,project-2\".", +"location": "query", +"type": "string" +}, +"ownerTypes": { +"description": "(Optional) Owner types filter, example: \"instance,forwardingRule\".", +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"subnetName": { +"description": "(Optional) Subnetwork name filter.", +"location": "query", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"subnetRegion": { +"description": "(Optional) Subnetwork region filter.", +"location": "query", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +} +}, +"path": "projects/{project}/global/networks/{network}/listIpOwners", +"response": { +"$ref": "IpOwnerList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listPeeringRoutes": { +"description": "Lists the peering routes exchanged over peering connection.", +"flatPath": "projects/{project}/global/networks/{network}/listPeeringRoutes", +"httpMethod": "GET", +"id": "compute.networks.listPeeringRoutes", +"parameterOrder": [ +"project", +"network" +], +"parameters": { +"direction": { +"description": "The direction of the exchanged routes.", +"enum": [ +"INCOMING", +"OUTGOING" +], +"enumDescriptions": [ +"For routes exported from peer network.", +"For routes exported from local network." +], +"location": "query", +"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" +}, +"network": { +"description": "Name of the network for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"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" +}, +"peeringName": { +"description": "The response will show routes exchanged over the given peering connection.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region of the request. The response will include all subnet routes, static routes and dynamic routes in the region.", +"location": "query", +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/networks/{network}/listPeeringRoutes", +"response": { +"$ref": "ExchangedPeeringRoutesList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified network with the data included in the request. Only routingConfig can be modified.", +"flatPath": "projects/{project}/global/networks/{network}", +"httpMethod": "PATCH", +"id": "compute.networks.patch", +"parameterOrder": [ +"project", +"network" +], +"parameters": { +"network": { +"description": "Name of the network to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networks/{network}", +"request": { +"$ref": "Network" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removePeering": { +"description": "Removes a peering from the specified network.", +"flatPath": "projects/{project}/global/networks/{network}/removePeering", +"httpMethod": "POST", +"id": "compute.networks.removePeering", +"parameterOrder": [ +"project", +"network" +], +"parameters": { +"network": { +"description": "Name of the network resource to remove peering from.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networks/{network}/removePeering", +"request": { +"$ref": "NetworksRemovePeeringRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"switchToCustomMode": { +"description": "Switches the network mode from auto subnet mode to custom subnet mode.", +"flatPath": "projects/{project}/global/networks/{network}/switchToCustomMode", +"httpMethod": "POST", +"id": "compute.networks.switchToCustomMode", +"parameterOrder": [ +"project", +"network" +], +"parameters": { +"network": { +"description": "Name of the network to be updated.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networks/{network}/switchToCustomMode", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/networks/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.networks.testIamPermissions", +"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": "projects/{project}/global/networks/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"updatePeering": { +"description": "Updates the specified network peering with the data included in the request. You can only modify the NetworkPeering.export_custom_routes field and the NetworkPeering.import_custom_routes field.", +"flatPath": "projects/{project}/global/networks/{network}/updatePeering", +"httpMethod": "PATCH", +"id": "compute.networks.updatePeering", +"parameterOrder": [ +"project", +"network" +], +"parameters": { +"network": { +"description": "Name of the network resource which the updated peering is belonging to.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/networks/{network}/updatePeering", +"request": { +"$ref": "NetworksUpdatePeeringRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"nodeGroups": { +"methods": { +"addNodes": { +"description": "Adds specified number of nodes to the node group.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/addNodes", +"httpMethod": "POST", +"id": "compute.nodeGroups.addNodes", +"parameterOrder": [ +"project", +"zone", +"nodeGroup" +], +"parameters": { +"nodeGroup": { +"description": "Name of the NodeGroup resource.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/addNodes", +"request": { +"$ref": "NodeGroupsAddNodesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"aggregatedList": { +"description": "Retrieves an aggregated list of node groups. Note: use nodeGroups.listNodes for more details about each group. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/nodeGroups", +"httpMethod": "GET", +"id": "compute.nodeGroups.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/nodeGroups", +"response": { +"$ref": "NodeGroupAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified NodeGroup resource.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", +"httpMethod": "DELETE", +"id": "compute.nodeGroups.delete", +"parameterOrder": [ +"project", +"zone", +"nodeGroup" +], +"parameters": { +"nodeGroup": { +"description": "Name of the NodeGroup resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"deleteNodes": { +"description": "Deletes specified nodes from the node group.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/deleteNodes", +"httpMethod": "POST", +"id": "compute.nodeGroups.deleteNodes", +"parameterOrder": [ +"project", +"zone", +"nodeGroup" +], +"parameters": { +"nodeGroup": { +"description": "Name of the NodeGroup resource whose nodes will be deleted.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/deleteNodes", +"request": { +"$ref": "NodeGroupsDeleteNodesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified NodeGroup. Get a list of available NodeGroups by making a list() request. Note: the \"nodes\" field should not be used. Use nodeGroups.listNodes instead.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", +"httpMethod": "GET", +"id": "compute.nodeGroups.get", +"parameterOrder": [ +"project", +"zone", +"nodeGroup" +], +"parameters": { +"nodeGroup": { +"description": "Name of the node group to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", +"response": { +"$ref": "NodeGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.nodeGroups.getIamPolicy", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a NodeGroup resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups", +"httpMethod": "POST", +"id": "compute.nodeGroups.insert", +"parameterOrder": [ +"project", +"zone", +"initialNodeCount" +], +"parameters": { +"initialNodeCount": { +"description": "Initial count of nodes in the node group.", +"format": "int32", +"location": "query", +"required": true, +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups", +"request": { +"$ref": "NodeGroup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of node groups available to the specified project. Note: use nodeGroups.listNodes for more details about each group.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups", +"httpMethod": "GET", +"id": "compute.nodeGroups.list", +"parameterOrder": [ +"project", +"zone" +], +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups", +"response": { +"$ref": "NodeGroupList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listNodes": { +"description": "Lists nodes in the node group.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/listNodes", +"httpMethod": "POST", +"id": "compute.nodeGroups.listNodes", +"parameterOrder": [ +"project", +"zone", +"nodeGroup" +], +"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" +}, +"nodeGroup": { +"description": "Name of the NodeGroup resource whose nodes you want to list.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/listNodes", +"response": { +"$ref": "NodeGroupsListNodes" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates the specified node group.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", +"httpMethod": "PATCH", +"id": "compute.nodeGroups.patch", +"parameterOrder": [ +"project", +"zone", +"nodeGroup" +], +"parameters": { +"nodeGroup": { +"description": "Name of the NodeGroup resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", +"request": { +"$ref": "NodeGroup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"performMaintenance": { +"description": "Perform maintenance on a subset of nodes in the node group.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/performMaintenance", +"httpMethod": "POST", +"id": "compute.nodeGroups.performMaintenance", +"parameterOrder": [ +"project", +"zone", +"nodeGroup" +], +"parameters": { +"nodeGroup": { +"description": "Name of the node group scoping 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" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/performMaintenance", +"request": { +"$ref": "NodeGroupsPerformMaintenanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.nodeGroups.setIamPolicy", +"parameterOrder": [ +"project", +"zone", +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{resource}/setIamPolicy", +"request": { +"$ref": "ZoneSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setNodeTemplate": { +"description": "Updates the node template of the node group.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/setNodeTemplate", +"httpMethod": "POST", +"id": "compute.nodeGroups.setNodeTemplate", +"parameterOrder": [ +"project", +"zone", +"nodeGroup" +], +"parameters": { +"nodeGroup": { +"description": "Name of the NodeGroup resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/setNodeTemplate", +"request": { +"$ref": "NodeGroupsSetNodeTemplateRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"simulateMaintenanceEvent": { +"description": "Simulates maintenance event on specified nodes from the node group.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/simulateMaintenanceEvent", +"httpMethod": "POST", +"id": "compute.nodeGroups.simulateMaintenanceEvent", +"parameterOrder": [ +"project", +"zone", +"nodeGroup" +], +"parameters": { +"nodeGroup": { +"description": "Name of the NodeGroup resource whose nodes will go under maintenance simulation.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/simulateMaintenanceEvent", +"request": { +"$ref": "NodeGroupsSimulateMaintenanceEventRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/zones/{zone}/nodeGroups/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.nodeGroups.testIamPermissions", +"parameterOrder": [ +"project", +"zone", +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeGroups/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"nodeTemplates": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of node templates. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/nodeTemplates", +"httpMethod": "GET", +"id": "compute.nodeTemplates.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/nodeTemplates", +"response": { +"$ref": "NodeTemplateAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified NodeTemplate resource.", +"flatPath": "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}", +"httpMethod": "DELETE", +"id": "compute.nodeTemplates.delete", +"parameterOrder": [ +"project", +"region", +"nodeTemplate" +], +"parameters": { +"nodeTemplate": { +"description": "Name of the NodeTemplate resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified node template.", +"flatPath": "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}", +"httpMethod": "GET", +"id": "compute.nodeTemplates.get", +"parameterOrder": [ +"project", +"region", +"nodeTemplate" +], +"parameters": { +"nodeTemplate": { +"description": "Name of the node template to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}", +"response": { +"$ref": "NodeTemplate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/regions/{region}/nodeTemplates/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.nodeTemplates.getIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"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" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/nodeTemplates/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a NodeTemplate resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/nodeTemplates", +"httpMethod": "POST", +"id": "compute.nodeTemplates.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/nodeTemplates", +"request": { +"$ref": "NodeTemplate" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of node templates available to the specified project.", +"flatPath": "projects/{project}/regions/{region}/nodeTemplates", +"httpMethod": "GET", +"id": "compute.nodeTemplates.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/nodeTemplates", +"response": { +"$ref": "NodeTemplateList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/regions/{region}/nodeTemplates/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.nodeTemplates.setIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/nodeTemplates/{resource}/setIamPolicy", +"request": { +"$ref": "RegionSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/nodeTemplates/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.nodeTemplates.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/nodeTemplates/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"nodeTypes": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of node types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/nodeTypes", +"httpMethod": "GET", +"id": "compute.nodeTypes.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/nodeTypes", +"response": { +"$ref": "NodeTypeAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"get": { +"description": "Returns the specified node type.", +"flatPath": "projects/{project}/zones/{zone}/nodeTypes/{nodeType}", +"httpMethod": "GET", +"id": "compute.nodeTypes.get", +"parameterOrder": [ +"project", +"zone", +"nodeType" +], +"parameters": { +"nodeType": { +"description": "Name of the node type to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeTypes/{nodeType}", +"response": { +"$ref": "NodeType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of node types available to the specified project.", +"flatPath": "projects/{project}/zones/{zone}/nodeTypes", +"httpMethod": "GET", +"id": "compute.nodeTypes.list", +"parameterOrder": [ +"project", +"zone" +], +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/nodeTypes", +"response": { +"$ref": "NodeTypeList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"organizationSecurityPolicies": { +"methods": { +"addAssociation": { +"description": "Inserts an association for the specified security policy.", +"flatPath": "locations/global/securityPolicies/{securityPolicy}/addAssociation", +"httpMethod": "POST", +"id": "compute.organizationSecurityPolicies.addAssociation", +"parameterOrder": [ +"securityPolicy" +], +"parameters": { +"replaceExistingAssociation": { +"description": "Indicates whether or not to replace it if an association of the attachment already exists. This is false by default, in which case an error will be returned if an association already exists.", +"location": "query", +"type": "boolean" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "(securityPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/securityPolicies/{securityPolicy}/addAssociation", +"request": { +"$ref": "SecurityPolicyAssociation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"addRule": { +"description": "Inserts a rule into a security policy.", +"flatPath": "locations/global/securityPolicies/{securityPolicy}/addRule", +"httpMethod": "POST", +"id": "compute.organizationSecurityPolicies.addRule", +"parameterOrder": [ +"securityPolicy" +], +"parameters": { +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "(securityPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/securityPolicies/{securityPolicy}/addRule", +"request": { +"$ref": "SecurityPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"copyRules": { +"description": "Copies rules to the specified security policy.", +"flatPath": "locations/global/securityPolicies/{securityPolicy}/copyRules", +"httpMethod": "POST", +"id": "compute.organizationSecurityPolicies.copyRules", +"parameterOrder": [ +"securityPolicy" +], +"parameters": { +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "(securityPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +}, +"sourceSecurityPolicy": { +"description": "The security policy from which to copy rules.", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/securityPolicies/{securityPolicy}/copyRules", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified policy.", +"flatPath": "locations/global/securityPolicies/{securityPolicy}", +"httpMethod": "DELETE", +"id": "compute.organizationSecurityPolicies.delete", +"parameterOrder": [ +"securityPolicy" +], +"parameters": { +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to delete.", +"location": "path", +"pattern": "(securityPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/securityPolicies/{securityPolicy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "List all of the ordered rules present in a single specified policy.", +"flatPath": "locations/global/securityPolicies/{securityPolicy}", +"httpMethod": "GET", +"id": "compute.organizationSecurityPolicies.get", +"parameterOrder": [ +"securityPolicy" +], +"parameters": { +"securityPolicy": { +"description": "Name of the security policy to get.", +"location": "path", +"pattern": "(securityPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/securityPolicies/{securityPolicy}", +"response": { +"$ref": "SecurityPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getAssociation": { +"description": "Gets an association with the specified name.", +"flatPath": "locations/global/securityPolicies/{securityPolicy}/getAssociation", +"httpMethod": "GET", +"id": "compute.organizationSecurityPolicies.getAssociation", +"parameterOrder": [ +"securityPolicy" +], +"parameters": { +"name": { +"description": "The name of the association to get from the security policy.", +"location": "query", +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to which the queried rule belongs.", +"location": "path", +"pattern": "(securityPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/securityPolicies/{securityPolicy}/getAssociation", +"response": { +"$ref": "SecurityPolicyAssociation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getRule": { +"description": "Gets a rule at the specified priority.", +"flatPath": "locations/global/securityPolicies/{securityPolicy}/getRule", +"httpMethod": "GET", +"id": "compute.organizationSecurityPolicies.getRule", +"parameterOrder": [ +"securityPolicy" +], +"parameters": { +"priority": { +"description": "The priority of the rule to get from the security policy.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"securityPolicy": { +"description": "Name of the security policy to which the queried rule belongs.", +"location": "path", +"pattern": "(securityPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/securityPolicies/{securityPolicy}/getRule", +"response": { +"$ref": "SecurityPolicyRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new policy in the specified project using the data included in the request.", +"flatPath": "locations/global/securityPolicies", +"httpMethod": "POST", +"id": "compute.organizationSecurityPolicies.insert", +"parameters": { +"parentId": { +"description": "Parent ID for this request. The ID can be either be \"folders/[FOLDER_ID]\" if the parent is a folder or \"organizations/[ORGANIZATION_ID]\" if the parent is an organization.", +"location": "query", +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/securityPolicies", +"request": { +"$ref": "SecurityPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "List all the policies that have been configured for the specified project.", +"flatPath": "locations/global/securityPolicies", +"httpMethod": "GET", +"id": "compute.organizationSecurityPolicies.list", +"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" +}, +"parentId": { +"description": "Parent ID for this request.", +"location": "query", +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "locations/global/securityPolicies", +"response": { +"$ref": "SecurityPolicyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listAssociations": { +"description": "Lists associations of a specified target, i.e., organization or folder.", +"flatPath": "locations/global/securityPolicies/listAssociations", +"httpMethod": "GET", +"id": "compute.organizationSecurityPolicies.listAssociations", +"parameters": { +"targetResource": { +"description": "The target resource to list associations. It is an organization, or a folder.", +"location": "query", +"type": "string" +} +}, +"path": "locations/global/securityPolicies/listAssociations", +"response": { +"$ref": "OrganizationSecurityPoliciesListAssociationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listPreconfiguredExpressionSets": { +"description": "Gets the current list of preconfigured Web Application Firewall (WAF) expressions.", +"flatPath": "locations/global/securityPolicies/listPreconfiguredExpressionSets", +"httpMethod": "GET", +"id": "compute.organizationSecurityPolicies.listPreconfiguredExpressionSets", +"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" +}, +"parentId": { +"description": "Parent ID for this request.", +"location": "query", +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "locations/global/securityPolicies/listPreconfiguredExpressionSets", +"response": { +"$ref": "SecurityPoliciesListPreconfiguredExpressionSetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"move": { +"description": "Moves the specified security policy.", +"flatPath": "locations/global/securityPolicies/{securityPolicy}/move", +"httpMethod": "POST", +"id": "compute.organizationSecurityPolicies.move", +"parameterOrder": [ +"securityPolicy" +], +"parameters": { +"parentId": { +"description": "The new parent of the security policy.", +"location": "query", +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "(securityPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/securityPolicies/{securityPolicy}/move", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patch": { +"description": "Patches the specified policy with the data included in the request.", +"flatPath": "locations/global/securityPolicies/{securityPolicy}", +"httpMethod": "PATCH", +"id": "compute.organizationSecurityPolicies.patch", +"parameterOrder": [ +"securityPolicy" +], +"parameters": { +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "(securityPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/securityPolicies/{securityPolicy}", +"request": { +"$ref": "SecurityPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patchRule": { +"description": "Patches a rule at the specified priority.", +"flatPath": "locations/global/securityPolicies/{securityPolicy}/patchRule", +"httpMethod": "POST", +"id": "compute.organizationSecurityPolicies.patchRule", +"parameterOrder": [ +"securityPolicy" +], +"parameters": { +"priority": { +"description": "The priority of the rule to patch.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "(securityPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/securityPolicies/{securityPolicy}/patchRule", +"request": { +"$ref": "SecurityPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeAssociation": { +"description": "Removes an association for the specified security policy.", +"flatPath": "locations/global/securityPolicies/{securityPolicy}/removeAssociation", +"httpMethod": "POST", +"id": "compute.organizationSecurityPolicies.removeAssociation", +"parameterOrder": [ +"securityPolicy" +], +"parameters": { +"name": { +"description": "Name for the attachment that will be removed.", +"location": "query", +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "(securityPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/securityPolicies/{securityPolicy}/removeAssociation", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeRule": { +"description": "Deletes a rule at the specified priority.", +"flatPath": "locations/global/securityPolicies/{securityPolicy}/removeRule", +"httpMethod": "POST", +"id": "compute.organizationSecurityPolicies.removeRule", +"parameterOrder": [ +"securityPolicy" +], +"parameters": { +"priority": { +"description": "The priority of the rule to remove from the security policy.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "(securityPolicies/)?[0-9]{0,20}", +"required": true, +"type": "string" +} +}, +"path": "locations/global/securityPolicies/{securityPolicy}/removeRule", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"packetMirrorings": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of packetMirrorings. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/packetMirrorings", +"httpMethod": "GET", +"id": "compute.packetMirrorings.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/packetMirrorings", +"response": { +"$ref": "PacketMirroringAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified PacketMirroring resource.", +"flatPath": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", +"httpMethod": "DELETE", +"id": "compute.packetMirrorings.delete", +"parameterOrder": [ +"project", +"region", +"packetMirroring" +], +"parameters": { +"packetMirroring": { +"description": "Name of the PacketMirroring resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified PacketMirroring resource.", +"flatPath": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", +"httpMethod": "GET", +"id": "compute.packetMirrorings.get", +"parameterOrder": [ +"project", +"region", +"packetMirroring" +], +"parameters": { +"packetMirroring": { +"description": "Name of the PacketMirroring resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", +"response": { +"$ref": "PacketMirroring" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a PacketMirroring resource in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/packetMirrorings", +"httpMethod": "POST", +"id": "compute.packetMirrorings.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/packetMirrorings", +"request": { +"$ref": "PacketMirroring" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of PacketMirroring resources available to the specified project and region.", +"flatPath": "projects/{project}/regions/{region}/packetMirrorings", +"httpMethod": "GET", +"id": "compute.packetMirrorings.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/packetMirrorings", +"response": { +"$ref": "PacketMirroringList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified PacketMirroring resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", +"httpMethod": "PATCH", +"id": "compute.packetMirrorings.patch", +"parameterOrder": [ +"project", +"region", +"packetMirroring" +], +"parameters": { +"packetMirroring": { +"description": "Name of the PacketMirroring resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", +"request": { +"$ref": "PacketMirroring" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/packetMirrorings/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.packetMirrorings.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/packetMirrorings/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"projects": { +"methods": { +"disableXpnHost": { +"description": "Disable this project as a shared VPC host project.", +"flatPath": "projects/{project}/disableXpnHost", +"httpMethod": "POST", +"id": "compute.projects.disableXpnHost", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/disableXpnHost", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"disableXpnResource": { +"description": "Disable a service resource (also known as service project) associated with this host project.", +"flatPath": "projects/{project}/disableXpnResource", +"httpMethod": "POST", +"id": "compute.projects.disableXpnResource", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/disableXpnResource", +"request": { +"$ref": "ProjectsDisableXpnResourceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"enableXpnHost": { +"description": "Enable this project as a shared VPC host project.", +"flatPath": "projects/{project}/enableXpnHost", +"httpMethod": "POST", +"id": "compute.projects.enableXpnHost", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/enableXpnHost", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"enableXpnResource": { +"description": "Enable service resource (a.k.a service project) for a host project, so that subnets in the host project can be used by instances in the service project.", +"flatPath": "projects/{project}/enableXpnResource", +"httpMethod": "POST", +"id": "compute.projects.enableXpnResource", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/enableXpnResource", +"request": { +"$ref": "ProjectsEnableXpnResourceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified Project resource. To decrease latency for this method, you can optionally omit any unneeded information from the response by using a field mask. This practice is especially recommended for unused quota information (the `quotas` field). To exclude one or more fields, set your request's `fields` query parameter to only include the fields you need. For example, to only include the `id` and `selfLink` fields, add the query parameter `?fields=id,selfLink` to your request.", +"flatPath": "projects/{project}", +"httpMethod": "GET", +"id": "compute.projects.get", +"parameterOrder": [ +"project" +], +"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" +} +}, +"path": "projects/{project}", +"response": { +"$ref": "Project" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getXpnHost": { +"description": "Gets the shared VPC host project that this project links to. May be empty if no link exists.", +"flatPath": "projects/{project}/getXpnHost", +"httpMethod": "GET", +"id": "compute.projects.getXpnHost", +"parameterOrder": [ +"project" +], +"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" +} +}, +"path": "projects/{project}/getXpnHost", +"response": { +"$ref": "Project" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"getXpnResources": { +"description": "Gets service resources (a.k.a service project) associated with this host project.", +"flatPath": "projects/{project}/getXpnResources", +"httpMethod": "GET", +"id": "compute.projects.getXpnResources", +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/getXpnResources", +"response": { +"$ref": "ProjectsGetXpnResources" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"listXpnHosts": { +"description": "Lists all shared VPC host projects visible to the user in an organization.", +"flatPath": "projects/{project}/listXpnHosts", +"httpMethod": "POST", +"id": "compute.projects.listXpnHosts", +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/listXpnHosts", +"request": { +"$ref": "ProjectsListXpnHostsRequest" +}, +"response": { +"$ref": "XpnHostList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"moveDisk": { +"description": "Moves a persistent disk from one zone to another.", +"flatPath": "projects/{project}/moveDisk", +"httpMethod": "POST", +"id": "compute.projects.moveDisk", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/moveDisk", +"request": { +"$ref": "DiskMoveRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"moveInstance": { +"deprecated": true, +"description": "Moves an instance and its attached persistent disks from one zone to another. *Note*: Moving VMs or disks by using this method might cause unexpected behavior. For more information, see the [known issue](/compute/docs/troubleshooting/known-issues#moving_vms_or_disks_using_the_moveinstance_api_or_the_causes_unexpected_behavior). [Deprecated] This method is deprecated. See [moving instance across zones](/compute/docs/instances/moving-instance-across-zones) instead.", +"flatPath": "projects/{project}/moveInstance", +"httpMethod": "POST", +"id": "compute.projects.moveInstance", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/moveInstance", +"request": { +"$ref": "InstanceMoveRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setCloudArmorTier": { +"description": "Sets the Cloud Armor tier of the project. To set ENTERPRISE or above the billing account of the project must be subscribed to Cloud Armor Enterprise. See Subscribing to Cloud Armor Enterprise for more information.", +"flatPath": "projects/{project}/setCloudArmorTier", +"httpMethod": "POST", +"id": "compute.projects.setCloudArmorTier", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/setCloudArmorTier", +"request": { +"$ref": "ProjectsSetCloudArmorTierRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setCommonInstanceMetadata": { +"description": "Sets metadata common to all instances within the specified project using the data included in the request.", +"flatPath": "projects/{project}/setCommonInstanceMetadata", +"httpMethod": "POST", +"id": "compute.projects.setCommonInstanceMetadata", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/setCommonInstanceMetadata", +"request": { +"$ref": "Metadata" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setDefaultNetworkTier": { +"description": "Sets the default network tier of the project. The default network tier is used when an address/forwardingRule/instance is created without specifying the network tier field.", +"flatPath": "projects/{project}/setDefaultNetworkTier", +"httpMethod": "POST", +"id": "compute.projects.setDefaultNetworkTier", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/setDefaultNetworkTier", +"request": { +"$ref": "ProjectsSetDefaultNetworkTierRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setDefaultServiceAccount": { +"description": "Sets the default service account of the project. The default service account is used when a VM instance is created with the service account email address set to \"default\".", +"flatPath": "projects/{project}/setDefaultServiceAccount", +"httpMethod": "POST", +"id": "compute.projects.setDefaultServiceAccount", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/setDefaultServiceAccount", +"request": { +"$ref": "ProjectsSetDefaultServiceAccountRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setManagedProtectionTier": { +"description": "Sets the Cloud Armor Managed Protection (CAMP) tier of the project. To set PLUS or above the billing account of the project must be subscribed to Managed Protection Plus. See Subscribing to Managed Protection Plus for more information.", +"flatPath": "projects/{project}/setManagedProtectionTier", +"httpMethod": "POST", +"id": "compute.projects.setManagedProtectionTier", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/setManagedProtectionTier", +"request": { +"$ref": "ProjectsSetManagedProtectionTierRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setUsageExportBucket": { +"description": "Enables the usage export feature and sets the usage export bucket where reports are stored. If you provide an empty request body using this method, the usage export feature will be disabled.", +"flatPath": "projects/{project}/setUsageExportBucket", +"httpMethod": "POST", +"id": "compute.projects.setUsageExportBucket", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/setUsageExportBucket", +"request": { +"$ref": "UsageExportLocation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only", +"https://www.googleapis.com/auth/devstorage.read_write" +] +} +} +}, +"publicAdvertisedPrefixes": { +"methods": { +"announce": { +"description": "Announces the specified PublicAdvertisedPrefix", +"flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/announce", +"httpMethod": "POST", +"id": "compute.publicAdvertisedPrefixes.announce", +"parameterOrder": [ +"project", +"publicAdvertisedPrefix" +], +"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" +}, +"publicAdvertisedPrefix": { +"description": "The name of the public advertised prefix. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/announce", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified PublicAdvertisedPrefix", +"flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", +"httpMethod": "DELETE", +"id": "compute.publicAdvertisedPrefixes.delete", +"parameterOrder": [ +"project", +"publicAdvertisedPrefix" +], +"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" +}, +"publicAdvertisedPrefix": { +"description": "Name of the PublicAdvertisedPrefix resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified PublicAdvertisedPrefix resource.", +"flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", +"httpMethod": "GET", +"id": "compute.publicAdvertisedPrefixes.get", +"parameterOrder": [ +"project", +"publicAdvertisedPrefix" +], +"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" +}, +"publicAdvertisedPrefix": { +"description": "Name of the PublicAdvertisedPrefix resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", +"response": { +"$ref": "PublicAdvertisedPrefix" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a PublicAdvertisedPrefix in the specified project using the parameters that are included in the request.", +"flatPath": "projects/{project}/global/publicAdvertisedPrefixes", +"httpMethod": "POST", +"id": "compute.publicAdvertisedPrefixes.insert", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/publicAdvertisedPrefixes", +"request": { +"$ref": "PublicAdvertisedPrefix" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists the PublicAdvertisedPrefixes for a project.", +"flatPath": "projects/{project}/global/publicAdvertisedPrefixes", +"httpMethod": "GET", +"id": "compute.publicAdvertisedPrefixes.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/publicAdvertisedPrefixes", +"response": { +"$ref": "PublicAdvertisedPrefixList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified Router resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", +"httpMethod": "PATCH", +"id": "compute.publicAdvertisedPrefixes.patch", +"parameterOrder": [ +"project", +"publicAdvertisedPrefix" +], +"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" +}, +"publicAdvertisedPrefix": { +"description": "Name of the PublicAdvertisedPrefix resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", +"request": { +"$ref": "PublicAdvertisedPrefix" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"withdraw": { +"description": "Withdraws the specified PublicAdvertisedPrefix", +"flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/withdraw", +"httpMethod": "POST", +"id": "compute.publicAdvertisedPrefixes.withdraw", +"parameterOrder": [ +"project", +"publicAdvertisedPrefix" +], +"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" +}, +"publicAdvertisedPrefix": { +"description": "The name of the public advertised prefix. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/withdraw", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"publicDelegatedPrefixes": { +"methods": { +"aggregatedList": { +"description": "Lists all PublicDelegatedPrefix resources owned by the specific project across all scopes. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/publicDelegatedPrefixes", +"httpMethod": "GET", +"id": "compute.publicDelegatedPrefixes.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/publicDelegatedPrefixes", +"response": { +"$ref": "PublicDelegatedPrefixAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"announce": { +"description": "Announces the specified PublicDelegatedPrefix in the given region.", +"flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/announce", +"httpMethod": "POST", +"id": "compute.publicDelegatedPrefixes.announce", +"parameterOrder": [ +"project", +"region", +"publicDelegatedPrefix" +], +"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" +}, +"publicDelegatedPrefix": { +"description": "The name of the public delegated prefix. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region where the public delegated prefix is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/announce", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified PublicDelegatedPrefix in the given region.", +"flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"httpMethod": "DELETE", +"id": "compute.publicDelegatedPrefixes.delete", +"parameterOrder": [ +"project", +"region", +"publicDelegatedPrefix" +], +"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" +}, +"publicDelegatedPrefix": { +"description": "Name of the PublicDelegatedPrefix resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified PublicDelegatedPrefix resource in the given region.", +"flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"httpMethod": "GET", +"id": "compute.publicDelegatedPrefixes.get", +"parameterOrder": [ +"project", +"region", +"publicDelegatedPrefix" +], +"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" +}, +"publicDelegatedPrefix": { +"description": "Name of the PublicDelegatedPrefix resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"response": { +"$ref": "PublicDelegatedPrefix" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a PublicDelegatedPrefix in the specified project in the given region using the parameters that are included in the request.", +"flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes", +"httpMethod": "POST", +"id": "compute.publicDelegatedPrefixes.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/publicDelegatedPrefixes", +"request": { +"$ref": "PublicDelegatedPrefix" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists the PublicDelegatedPrefixes for a project in the given region.", +"flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes", +"httpMethod": "GET", +"id": "compute.publicDelegatedPrefixes.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/publicDelegatedPrefixes", +"response": { +"$ref": "PublicDelegatedPrefixList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified PublicDelegatedPrefix resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"httpMethod": "PATCH", +"id": "compute.publicDelegatedPrefixes.patch", +"parameterOrder": [ +"project", +"region", +"publicDelegatedPrefix" +], +"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" +}, +"publicDelegatedPrefix": { +"description": "Name of the PublicDelegatedPrefix resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", +"request": { +"$ref": "PublicDelegatedPrefix" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"withdraw": { +"description": "Withdraws the specified PublicDelegatedPrefix in the given region.", +"flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/withdraw", +"httpMethod": "POST", +"id": "compute.publicDelegatedPrefixes.withdraw", +"parameterOrder": [ +"project", +"region", +"publicDelegatedPrefix" +], +"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" +}, +"publicDelegatedPrefix": { +"description": "The name of the public delegated prefix. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region where the public delegated prefix is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/withdraw", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionAutoscalers": { +"methods": { +"delete": { +"description": "Deletes the specified autoscaler.", +"flatPath": "projects/{project}/regions/{region}/autoscalers/{autoscaler}", +"httpMethod": "DELETE", +"id": "compute.regionAutoscalers.delete", +"parameterOrder": [ +"project", +"region", +"autoscaler" +], +"parameters": { +"autoscaler": { +"description": "Name of the autoscaler to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/autoscalers/{autoscaler}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified autoscaler.", +"flatPath": "projects/{project}/regions/{region}/autoscalers/{autoscaler}", +"httpMethod": "GET", +"id": "compute.regionAutoscalers.get", +"parameterOrder": [ +"project", +"region", +"autoscaler" +], +"parameters": { +"autoscaler": { +"description": "Name of the autoscaler to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/autoscalers/{autoscaler}", +"response": { +"$ref": "Autoscaler" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an autoscaler in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/autoscalers", +"httpMethod": "POST", +"id": "compute.regionAutoscalers.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/autoscalers", +"request": { +"$ref": "Autoscaler" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of autoscalers contained within the specified region.", +"flatPath": "projects/{project}/regions/{region}/autoscalers", +"httpMethod": "GET", +"id": "compute.regionAutoscalers.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/autoscalers", +"response": { +"$ref": "RegionAutoscalerList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates an autoscaler in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/autoscalers", +"httpMethod": "PATCH", +"id": "compute.regionAutoscalers.patch", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"autoscaler": { +"description": "Name of the autoscaler to patch.", +"location": "query", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/autoscalers", +"request": { +"$ref": "Autoscaler" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/autoscalers/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionAutoscalers.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/autoscalers/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates an autoscaler in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/autoscalers", +"httpMethod": "PUT", +"id": "compute.regionAutoscalers.update", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"autoscaler": { +"description": "Name of the autoscaler to update.", +"location": "query", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/autoscalers", +"request": { +"$ref": "Autoscaler" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionBackendServices": { +"methods": { +"delete": { +"description": "Deletes the specified regional BackendService resource.", +"flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}", +"httpMethod": "DELETE", +"id": "compute.regionBackendServices.delete", +"parameterOrder": [ +"project", +"region", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/backendServices/{backendService}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified regional BackendService resource.", +"flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}", +"httpMethod": "GET", +"id": "compute.regionBackendServices.get", +"parameterOrder": [ +"project", +"region", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/backendServices/{backendService}", +"response": { +"$ref": "BackendService" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getHealth": { +"description": "Gets the most recent health check results for this regional BackendService.", +"flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}/getHealth", +"httpMethod": "POST", +"id": "compute.regionBackendServices.getHealth", +"parameterOrder": [ +"project", +"region", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource for which to get health.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/backendServices/{backendService}/getHealth", +"request": { +"$ref": "ResourceGroupReference" +}, +"response": { +"$ref": "BackendServiceGroupHealth" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/regions/{region}/backendServices/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.regionBackendServices.getIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"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" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/backendServices/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a regional BackendService resource in the specified project using the data included in the request. For more information, see Backend services overview.", +"flatPath": "projects/{project}/regions/{region}/backendServices", +"httpMethod": "POST", +"id": "compute.regionBackendServices.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/backendServices", +"request": { +"$ref": "BackendService" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of regional BackendService resources available to the specified project in the given region.", +"flatPath": "projects/{project}/regions/{region}/backendServices", +"httpMethod": "GET", +"id": "compute.regionBackendServices.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/backendServices", +"response": { +"$ref": "BackendServiceList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listUsable": { +"description": "Retrieves a list of all usable backend services in the specified project in the given region.", +"flatPath": "projects/{project}/regions/{region}/backendServices/listUsable", +"httpMethod": "GET", +"id": "compute.regionBackendServices.listUsable", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request. It must be a string that meets the requirements in RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/backendServices/listUsable", +"response": { +"$ref": "BackendServiceListUsable" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates the specified regional BackendService resource with the data included in the request. For more information, see Understanding backend services This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}", +"httpMethod": "PATCH", +"id": "compute.regionBackendServices.patch", +"parameterOrder": [ +"project", +"region", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/backendServices/{backendService}", +"request": { +"$ref": "BackendService" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/regions/{region}/backendServices/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.regionBackendServices.setIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/backendServices/{resource}/setIamPolicy", +"request": { +"$ref": "RegionSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setSecurityPolicy": { +"description": "Sets the Google Cloud Armor security policy for the specified backend service. For more information, see Google Cloud Armor Overview", +"flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}/setSecurityPolicy", +"httpMethod": "POST", +"id": "compute.regionBackendServices.setSecurityPolicy", +"parameterOrder": [ +"project", +"region", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to which the security policy should be set. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/backendServices/{backendService}/setSecurityPolicy", +"request": { +"$ref": "SecurityPolicyReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/backendServices/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionBackendServices.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/backendServices/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates the specified regional BackendService resource with the data included in the request. For more information, see Backend services overview .", +"flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}", +"httpMethod": "PUT", +"id": "compute.regionBackendServices.update", +"parameterOrder": [ +"project", +"region", +"backendService" +], +"parameters": { +"backendService": { +"description": "Name of the BackendService resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/backendServices/{backendService}", +"request": { +"$ref": "BackendService" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionCommitments": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of commitments by region. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/commitments", +"httpMethod": "GET", +"id": "compute.regionCommitments.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/commitments", +"response": { +"$ref": "CommitmentAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"calculateCancellationFee": { +"description": "Calculate cancellation fee for the specified commitment.", +"flatPath": "projects/{project}/regions/{region}/commitments/{commitment}/calculateCancellationFee", +"httpMethod": "POST", +"id": "compute.regionCommitments.calculateCancellationFee", +"parameterOrder": [ +"project", +"region", +"commitment" +], +"parameters": { +"commitment": { +"description": "Name of the commitment to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/commitments/{commitment}/calculateCancellationFee", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"cancel": { +"description": "Cancel the specified commitment.", +"flatPath": "projects/{project}/regions/{region}/commitments/{commitment}/cancel", +"httpMethod": "POST", +"id": "compute.regionCommitments.cancel", +"parameterOrder": [ +"project", +"region", +"commitment" +], +"parameters": { +"commitment": { +"description": "Name of the commitment to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/commitments/{commitment}/cancel", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified commitment resource.", +"flatPath": "projects/{project}/regions/{region}/commitments/{commitment}", +"httpMethod": "GET", +"id": "compute.regionCommitments.get", +"parameterOrder": [ +"project", +"region", +"commitment" +], +"parameters": { +"commitment": { +"description": "Name of the commitment to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/commitments/{commitment}", +"response": { +"$ref": "Commitment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a commitment in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/commitments", +"httpMethod": "POST", +"id": "compute.regionCommitments.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/commitments", +"request": { +"$ref": "Commitment" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of commitments contained within the specified region.", +"flatPath": "projects/{project}/regions/{region}/commitments", +"httpMethod": "GET", +"id": "compute.regionCommitments.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/commitments", +"response": { +"$ref": "CommitmentList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/commitments/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionCommitments.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/commitments/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates the specified commitment with the data included in the request. Update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: auto_renew.", +"flatPath": "projects/{project}/regions/{region}/commitments/{commitment}", +"httpMethod": "PATCH", +"id": "compute.regionCommitments.update", +"parameterOrder": [ +"project", +"region", +"commitment" +], +"parameters": { +"commitment": { +"description": "Name of the commitment for which auto renew is being updated.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"paths": { +"location": "query", +"repeated": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "update_mask indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/commitments/{commitment}", +"request": { +"$ref": "Commitment" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"updateReservations": { +"description": "Transfers GPUs or local SSDs between reservations within commitments.", +"flatPath": "projects/{project}/regions/{region}/commitments/{commitment}/updateReservations", +"httpMethod": "POST", +"id": "compute.regionCommitments.updateReservations", +"parameterOrder": [ +"project", +"region", +"commitment" +], +"parameters": { +"commitment": { +"description": "Name of the commitment for which the reservation is being updated.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/commitments/{commitment}/updateReservations", +"request": { +"$ref": "RegionCommitmentsUpdateReservationsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionDiskSettings": { +"methods": { +"get": { +"description": "Get Regional Disk Settings.", +"flatPath": "projects/{project}/regions/{region}/diskSettings", +"httpMethod": "GET", +"id": "compute.regionDiskSettings.get", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/diskSettings", +"response": { +"$ref": "DiskSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patch Regional Disk Settings", +"flatPath": "projects/{project}/regions/{region}/diskSettings", +"httpMethod": "PATCH", +"id": "compute.regionDiskSettings.patch", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "update_mask indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/diskSettings", +"request": { +"$ref": "DiskSettings" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionDiskTypes": { +"methods": { +"get": { +"description": "Returns the specified regional disk type.", +"flatPath": "projects/{project}/regions/{region}/diskTypes/{diskType}", +"httpMethod": "GET", +"id": "compute.regionDiskTypes.get", +"parameterOrder": [ +"project", +"region", +"diskType" +], +"parameters": { +"diskType": { +"description": "Name of the disk type to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/diskTypes/{diskType}", +"response": { +"$ref": "DiskType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of regional disk types available to the specified project.", +"flatPath": "projects/{project}/regions/{region}/diskTypes", +"httpMethod": "GET", +"id": "compute.regionDiskTypes.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/diskTypes", +"response": { +"$ref": "RegionDiskTypeList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionDisks": { +"methods": { +"addResourcePolicies": { +"description": "Adds existing resource policies to a regional disk. You can only add one policy which will be applied to this disk for scheduling snapshot creation.", +"flatPath": "projects/{project}/regions/{region}/disks/{disk}/addResourcePolicies", +"httpMethod": "POST", +"id": "compute.regionDisks.addResourcePolicies", +"parameterOrder": [ +"project", +"region", +"disk" +], +"parameters": { +"disk": { +"description": "The disk name 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" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{disk}/addResourcePolicies", +"request": { +"$ref": "RegionDisksAddResourcePoliciesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"bulkInsert": { +"description": "Bulk create a set of disks.", +"flatPath": "projects/{project}/regions/{region}/disks/bulkInsert", +"httpMethod": "POST", +"id": "compute.regionDisks.bulkInsert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/bulkInsert", +"request": { +"$ref": "BulkInsertDiskResource" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"createSnapshot": { +"description": "Creates a snapshot of a specified persistent disk. For regular snapshot creation, consider using snapshots.insert instead, as that method supports more features, such as creating snapshots in a project different from the source disk project.", +"flatPath": "projects/{project}/regions/{region}/disks/{disk}/createSnapshot", +"httpMethod": "POST", +"id": "compute.regionDisks.createSnapshot", +"parameterOrder": [ +"project", +"region", +"disk" +], +"parameters": { +"disk": { +"description": "Name of the regional persistent disk to snapshot.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"guestFlush": { +"description": "[Input Only] Specifies to create an application consistent snapshot by informing the OS to prepare for the snapshot process.", +"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" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{disk}/createSnapshot", +"request": { +"$ref": "Snapshot" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified regional persistent disk. Deleting a regional disk removes all the replicas of its data permanently and is irreversible. However, deleting a disk does not delete any snapshots previously made from the disk. You must separately delete snapshots.", +"flatPath": "projects/{project}/regions/{region}/disks/{disk}", +"httpMethod": "DELETE", +"id": "compute.regionDisks.delete", +"parameterOrder": [ +"project", +"region", +"disk" +], +"parameters": { +"disk": { +"description": "Name of the regional persistent disk to delete.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{disk}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns a specified regional persistent disk.", +"flatPath": "projects/{project}/regions/{region}/disks/{disk}", +"httpMethod": "GET", +"id": "compute.regionDisks.get", +"parameterOrder": [ +"project", +"region", +"disk" +], +"parameters": { +"disk": { +"description": "Name of the regional persistent disk to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{disk}", +"response": { +"$ref": "Disk" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getAsyncReplicationStatus": { +"description": "Gets the status of current async replication for a given device.", +"flatPath": "projects/{project}/regions/{region}/disks/{disk}/getAsyncReplicationStatus", +"httpMethod": "GET", +"id": "compute.regionDisks.getAsyncReplicationStatus", +"parameterOrder": [ +"project", +"region", +"disk" +], +"parameters": { +"disk": { +"description": "Name of the Disk resource whose Async replication details are requested. Name should conform to RFC1035 or be an unsigned long integer.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{disk}/getAsyncReplicationStatus", +"response": { +"$ref": "GetAsyncReplicationStatusResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/regions/{region}/disks/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.regionDisks.getIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"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" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a persistent regional disk in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/disks", +"httpMethod": "POST", +"id": "compute.regionDisks.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sourceImage": { +"description": "Source image to restore onto a disk. This field is optional.", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks", +"request": { +"$ref": "Disk" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of persistent disks contained within the specified region.", +"flatPath": "projects/{project}/regions/{region}/disks", +"httpMethod": "GET", +"id": "compute.regionDisks.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/disks", +"response": { +"$ref": "DiskList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"removeResourcePolicies": { +"description": "Removes resource policies from a regional disk.", +"flatPath": "projects/{project}/regions/{region}/disks/{disk}/removeResourcePolicies", +"httpMethod": "POST", +"id": "compute.regionDisks.removeResourcePolicies", +"parameterOrder": [ +"project", +"region", +"disk" +], +"parameters": { +"disk": { +"description": "The disk name 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" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{disk}/removeResourcePolicies", +"request": { +"$ref": "RegionDisksRemoveResourcePoliciesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"resize": { +"description": "Resizes the specified regional persistent disk.", +"flatPath": "projects/{project}/regions/{region}/disks/{disk}/resize", +"httpMethod": "POST", +"id": "compute.regionDisks.resize", +"parameterOrder": [ +"project", +"region", +"disk" +], +"parameters": { +"disk": { +"description": "Name of the regional persistent disk.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "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-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{disk}/resize", +"request": { +"$ref": "RegionDisksResizeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/regions/{region}/disks/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.regionDisks.setIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{resource}/setIamPolicy", +"request": { +"$ref": "RegionSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on the target regional disk.", +"flatPath": "projects/{project}/regions/{region}/disks/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.regionDisks.setLabels", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{resource}/setLabels", +"request": { +"$ref": "RegionSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"startAsyncReplication": { +"description": "Starts asynchronous replication. Must be invoked on the primary disk.", +"flatPath": "projects/{project}/regions/{region}/disks/{disk}/startAsyncReplication", +"httpMethod": "POST", +"id": "compute.regionDisks.startAsyncReplication", +"parameterOrder": [ +"project", +"region", +"disk" +], +"parameters": { +"disk": { +"description": "The name of the persistent disk.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{disk}/startAsyncReplication", +"request": { +"$ref": "RegionDisksStartAsyncReplicationRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"stopAsyncReplication": { +"description": "Stops asynchronous replication. Can be invoked either on the primary or on the secondary disk.", +"flatPath": "projects/{project}/regions/{region}/disks/{disk}/stopAsyncReplication", +"httpMethod": "POST", +"id": "compute.regionDisks.stopAsyncReplication", +"parameterOrder": [ +"project", +"region", +"disk" +], +"parameters": { +"disk": { +"description": "The name of the persistent disk.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{disk}/stopAsyncReplication", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"stopGroupAsyncReplication": { +"description": "Stops asynchronous replication for a consistency group of disks. Can be invoked either in the primary or secondary scope.", +"flatPath": "projects/{project}/regions/{region}/disks/stopGroupAsyncReplication", +"httpMethod": "POST", +"id": "compute.regionDisks.stopGroupAsyncReplication", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request. This must be the region of the primary or secondary disks in the consistency group.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/stopGroupAsyncReplication", +"request": { +"$ref": "DisksStopGroupAsyncReplicationResource" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/disks/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionDisks.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Update the specified disk with the data included in the request. Update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: user_license.", +"flatPath": "projects/{project}/regions/{region}/disks/{disk}", +"httpMethod": "PATCH", +"id": "compute.regionDisks.update", +"parameterOrder": [ +"project", +"region", +"disk" +], +"parameters": { +"disk": { +"description": "The disk name 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" +}, +"paths": { +"location": "query", +"repeated": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "update_mask indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{disk}", +"request": { +"$ref": "Disk" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"waitForReplicationCatchUp": { +"description": "Wait for replication to catch up on the secondary disk.", +"flatPath": "projects/{project}/regions/{region}/disks/{disk}/waitForReplicationCatchUp", +"httpMethod": "POST", +"id": "compute.regionDisks.waitForReplicationCatchUp", +"parameterOrder": [ +"project", +"region", +"disk" +], +"parameters": { +"disk": { +"description": "The name of the persistent disk. Name should conform to RFC1035 or be an unsigned long integer.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/disks/{disk}/waitForReplicationCatchUp", +"request": { +"$ref": "RegionWaitForReplicationCatchUpRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionHealthCheckServices": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all HealthCheckService resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/healthCheckServices", +"httpMethod": "GET", +"id": "compute.regionHealthCheckServices.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/healthCheckServices", +"response": { +"$ref": "HealthCheckServiceAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified regional HealthCheckService.", +"flatPath": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", +"httpMethod": "DELETE", +"id": "compute.regionHealthCheckServices.delete", +"parameterOrder": [ +"project", +"region", +"healthCheckService" +], +"parameters": { +"healthCheckService": { +"description": "Name of the HealthCheckService to delete. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified regional HealthCheckService resource.", +"flatPath": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", +"httpMethod": "GET", +"id": "compute.regionHealthCheckServices.get", +"parameterOrder": [ +"project", +"region", +"healthCheckService" +], +"parameters": { +"healthCheckService": { +"description": "Name of the HealthCheckService to update. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", +"response": { +"$ref": "HealthCheckService" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a regional HealthCheckService resource in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/healthCheckServices", +"httpMethod": "POST", +"id": "compute.regionHealthCheckServices.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/healthCheckServices", +"request": { +"$ref": "HealthCheckService" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists all the HealthCheckService resources that have been configured for the specified project in the given region.", +"flatPath": "projects/{project}/regions/{region}/healthCheckServices", +"httpMethod": "GET", +"id": "compute.regionHealthCheckServices.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/healthCheckServices", +"response": { +"$ref": "HealthCheckServicesList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates the specified regional HealthCheckService resource with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", +"httpMethod": "PATCH", +"id": "compute.regionHealthCheckServices.patch", +"parameterOrder": [ +"project", +"region", +"healthCheckService" +], +"parameters": { +"healthCheckService": { +"description": "Name of the HealthCheckService to update. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", +"request": { +"$ref": "HealthCheckService" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/healthCheckServices/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionHealthCheckServices.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/healthCheckServices/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionHealthChecks": { +"methods": { +"delete": { +"description": "Deletes the specified HealthCheck resource.", +"flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", +"httpMethod": "DELETE", +"id": "compute.regionHealthChecks.delete", +"parameterOrder": [ +"project", +"region", +"healthCheck" +], +"parameters": { +"healthCheck": { +"description": "Name of the HealthCheck resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified HealthCheck resource.", +"flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", +"httpMethod": "GET", +"id": "compute.regionHealthChecks.get", +"parameterOrder": [ +"project", +"region", +"healthCheck" +], +"parameters": { +"healthCheck": { +"description": "Name of the HealthCheck resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", +"response": { +"$ref": "HealthCheck" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a HealthCheck resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/healthChecks", +"httpMethod": "POST", +"id": "compute.regionHealthChecks.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/healthChecks", +"request": { +"$ref": "HealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of HealthCheck resources available to the specified project.", +"flatPath": "projects/{project}/regions/{region}/healthChecks", +"httpMethod": "GET", +"id": "compute.regionHealthChecks.list", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most 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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/healthChecks", +"response": { +"$ref": "HealthCheckList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates a HealthCheck resource in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", +"httpMethod": "PATCH", +"id": "compute.regionHealthChecks.patch", +"parameterOrder": [ +"project", +"region", +"healthCheck" +], +"parameters": { +"healthCheck": { +"description": "Name of the HealthCheck resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", +"request": { +"$ref": "HealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/healthChecks/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionHealthChecks.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/healthChecks/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates a HealthCheck resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", +"httpMethod": "PUT", +"id": "compute.regionHealthChecks.update", +"parameterOrder": [ +"project", +"region", +"healthCheck" +], +"parameters": { +"healthCheck": { +"description": "Name of the HealthCheck resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", +"request": { +"$ref": "HealthCheck" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionInstanceGroupManagerResizeRequests": { +"methods": { +"cancel": { +"description": "Cancels the specified resize request. Cancelled resize request no longer waits for the resources to be provisioned. Cancel is only possible for requests that are in accepted state.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}/cancel", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagerResizeRequests.cancel", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager", +"resizeRequest" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. Name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region scoping this request. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resizeRequest": { +"description": "The name of the resize request to cancel. Name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}/cancel", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified, inactive resize request. Requests that are still active cannot be deleted. Deleting request does not delete instances that were provisioned previously.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}", +"httpMethod": "DELETE", +"id": "compute.regionInstanceGroupManagerResizeRequests.delete", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager", +"resizeRequest" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. Name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region scoping this request. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resizeRequest": { +"description": "The name of the resize request to delete. Name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns all of the details about the specified resize request.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}", +"httpMethod": "GET", +"id": "compute.regionInstanceGroupManagerResizeRequests.get", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager", +"resizeRequest" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. Name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region scoping this request. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"resizeRequest": { +"description": "The name of the resize request. Name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}", +"response": { +"$ref": "InstanceGroupManagerResizeRequest" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new Resize Request that starts provisioning VMs immediately or queues VM creation.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagerResizeRequests.insert", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group to which the resize request is scoped. Name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests", +"request": { +"$ref": "InstanceGroupManagerResizeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of Resize Requests that are contained in the managed instance group.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests", +"httpMethod": "GET", +"id": "compute.regionInstanceGroupManagerResizeRequests.list", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"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" +}, +"instanceGroupManager": { +"description": "The name of the managed instance group. The name should conform to RFC1035.", +"location": "path", +"required": true, +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request. Name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests", +"response": { +"$ref": "RegionInstanceGroupManagerResizeRequestsListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionInstanceGroupManagers": { +"methods": { +"abandonInstances": { +"description": "Flags the specified instances to be immediately removed from the managed instance group. Abandoning an instance does not delete the instance, but it does remove the instance from any target pools that are applied by the managed instance group. This method reduces the targetSize of the managed instance group by the number of instances that you abandon. This operation is marked as DONE when the action is scheduled even if the instances have not yet been removed from the group. You must separately verify the status of the abandoning action with the listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/abandonInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.abandonInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/abandonInstances", +"request": { +"$ref": "RegionInstanceGroupManagersAbandonInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"applyUpdatesToInstances": { +"description": "Apply updates to selected instances the managed instance group.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.applyUpdatesToInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group, should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request, should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances", +"request": { +"$ref": "RegionInstanceGroupManagersApplyUpdatesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"createInstances": { +"description": "Creates instances with per-instance configurations in this regional managed instance group. Instances are created using the current instance template. The create instances operation is marked DONE if the createInstances request is successful. The underlying actions take additional time. You must separately verify the status of the creating or actions with the listmanagedinstances method.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/createInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.createInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region where the managed instance group is located. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/createInstances", +"request": { +"$ref": "RegionInstanceGroupManagersCreateInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified managed instance group and all of the instances in that group.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", +"httpMethod": "DELETE", +"id": "compute.regionInstanceGroupManagers.delete", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group to delete.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"deleteInstances": { +"description": "Flags the specified instances in the managed instance group to be immediately deleted. The instances are also removed from any target pools of which they were a member. This method reduces the targetSize of the managed instance group by the number of instances that you delete. The deleteInstances operation is marked DONE if the deleteInstances request is successful. The underlying actions take additional time. You must separately verify the status of the deleting action with the listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deleteInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.deleteInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deleteInstances", +"request": { +"$ref": "RegionInstanceGroupManagersDeleteInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"deletePerInstanceConfigs": { +"description": "Deletes selected per-instance configurations for the managed instance group.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.deletePerInstanceConfigs", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request, should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs", +"request": { +"$ref": "RegionInstanceGroupManagerDeleteInstanceConfigReq" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns all of the details about the specified managed instance group.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", +"httpMethod": "GET", +"id": "compute.regionInstanceGroupManagers.get", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group to return.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", +"response": { +"$ref": "InstanceGroupManager" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a managed instance group using the information that you specify in the request. After the group is created, instances in the group are created using the specified instance template. This operation is marked as DONE when the group is created even if the instances in the group have not yet been created. You must separately verify the status of the individual instances with the listmanagedinstances method. A regional managed instance group can contain up to 2000 instances.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers", +"request": { +"$ref": "InstanceGroupManager" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of managed instance groups that are contained within the specified region.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers", +"httpMethod": "GET", +"id": "compute.regionInstanceGroupManagers.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers", +"response": { +"$ref": "RegionInstanceGroupManagerList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listErrors": { +"description": "Lists all errors thrown by actions on instances for a given regional managed instance group. The filter and orderBy query parameters are not supported.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listErrors", +"httpMethod": "GET", +"id": "compute.regionInstanceGroupManagers.listErrors", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"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" +}, +"instanceGroupManager": { +"description": "The name of the managed instance group. It must be a string that meets the requirements in RFC1035, or an unsigned long integer: must match regexp pattern: (?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)|1-9{0,19}.", +"location": "path", +"required": true, +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request. This should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listErrors", +"response": { +"$ref": "RegionInstanceGroupManagersListErrorsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listManagedInstances": { +"description": "Lists the instances in the managed instance group and instances that are scheduled to be created. The list includes any current actions that the group has scheduled for its instances. The orderBy query parameter is not supported. The `pageToken` query parameter is supported only if the group's `listManagedInstancesResults` field is set to `PAGINATED`.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.listManagedInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"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" +}, +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances", +"response": { +"$ref": "RegionInstanceGroupManagersListInstancesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listPerInstanceConfigs": { +"description": "Lists all of the per-instance configurations defined for the managed instance group. The orderBy query parameter is not supported.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.listPerInstanceConfigs", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"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" +}, +"instanceGroupManager": { +"description": "The name of the managed instance group. It should conform to RFC1035.", +"location": "path", +"required": true, +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request, should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs", +"response": { +"$ref": "RegionInstanceGroupManagersListInstanceConfigsResp" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates a managed instance group using the information that you specify in the request. This operation is marked as DONE when the group is patched even if the instances in the group are still in the process of being patched. You must separately verify the status of the individual instances with the listmanagedinstances method. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. If you update your group to specify a new template or instance configuration, it's possible that your intended specification for each VM in the group is different from the current state of that VM. To learn how to apply an updated configuration to the VMs in a MIG, see Updating instances in a MIG.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", +"httpMethod": "PATCH", +"id": "compute.regionInstanceGroupManagers.patch", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the instance group manager.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", +"request": { +"$ref": "InstanceGroupManager" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patchPerInstanceConfigs": { +"description": "Inserts or patches per-instance configurations for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/patchPerInstanceConfigs", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.patchPerInstanceConfigs", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request, should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/patchPerInstanceConfigs", +"request": { +"$ref": "RegionInstanceGroupManagerPatchInstanceConfigReq" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"recreateInstances": { +"description": "Flags the specified VM instances in the managed instance group to be immediately recreated. Each instance is recreated using the group's current configuration. This operation is marked as DONE when the flag is set even if the instances have not yet been recreated. You must separately verify the status of each instance by checking its currentAction field; for more information, see Checking the status of managed instances. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/recreateInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.recreateInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/recreateInstances", +"request": { +"$ref": "RegionInstanceGroupManagersRecreateRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"resize": { +"description": "Changes the intended size of the managed instance group. If you increase the size, the group creates new instances using the current instance template. If you decrease the size, the group deletes one or more instances. The resize operation is marked DONE if the resize request is successful. The underlying actions take additional time. You must separately verify the status of the creating or deleting actions with the listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resize", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.resize", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager", +"size" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"size": { +"description": "Number of instances that should exist in this instance group manager.", +"format": "int32", +"location": "query", +"minimum": "0", +"required": true, +"type": "integer" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resize", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"resizeAdvanced": { +"description": "Resizes the regional managed instance group with advanced configuration options like disabling creation retries. This is an extended version of the resize method. If you increase the size, the group creates new instances using the current instance template. If you decrease the size, the group deletes one or more instances. The resize operation is marked DONE if the resize request is successful. The underlying actions take additional time. You must separately verify the status of the creating or deleting actions with the get or listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeAdvanced", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.resizeAdvanced", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. It must be a string that meets the requirements in RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request. It must be a string that meets the requirements in RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeAdvanced", +"request": { +"$ref": "RegionInstanceGroupManagersResizeAdvancedRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"resumeInstances": { +"description": "Flags the specified instances in the managed instance group to be resumed. This method increases the targetSize and decreases the targetSuspendedSize of the managed instance group by the number of instances that you resume. The resumeInstances operation is marked DONE if the resumeInstances request is successful. The underlying actions take additional time. You must separately verify the status of the RESUMING action with the listmanagedinstances method. In this request, you can only specify instances that are suspended. For example, if an instance was previously suspended using the suspendInstances method, it can be resumed using the resumeInstances method. If a health check is attached to the managed instance group, the specified instances will be verified as healthy after they are resumed. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resumeInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.resumeInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resumeInstances", +"request": { +"$ref": "RegionInstanceGroupManagersResumeInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setAutoHealingPolicies": { +"deprecated": true, +"description": "Modifies the autohealing policy for the instances in this managed instance group. [Deprecated] This method is deprecated. Use regionInstanceGroupManagers.patch instead.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setAutoHealingPolicies", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.setAutoHealingPolicies", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setAutoHealingPolicies", +"request": { +"$ref": "RegionInstanceGroupManagersSetAutoHealingRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setInstanceTemplate": { +"description": "Sets the instance template to use when creating new instances or recreating instances in this group. Existing instances are not affected.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.setInstanceTemplate", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate", +"request": { +"$ref": "RegionInstanceGroupManagersSetTemplateRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setTargetPools": { +"description": "Modifies the target pools to which all new instances in this group are assigned. Existing instances in the group are not affected.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setTargetPools", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.setTargetPools", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setTargetPools", +"request": { +"$ref": "RegionInstanceGroupManagersSetTargetPoolsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"startInstances": { +"description": "Flags the specified instances in the managed instance group to be started. This method increases the targetSize and decreases the targetStoppedSize of the managed instance group by the number of instances that you start. The startInstances operation is marked DONE if the startInstances request is successful. The underlying actions take additional time. You must separately verify the status of the STARTING action with the listmanagedinstances method. In this request, you can only specify instances that are stopped. For example, if an instance was previously stopped using the stopInstances method, it can be started using the startInstances method. If a health check is attached to the managed instance group, the specified instances will be verified as healthy after they are started. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/startInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.startInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/startInstances", +"request": { +"$ref": "RegionInstanceGroupManagersStartInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"stopInstances": { +"description": "Flags the specified instances in the managed instance group to be immediately stopped. You can only specify instances that are running in this request. This method reduces the targetSize and increases the targetStoppedSize of the managed instance group by the number of instances that you stop. The stopInstances operation is marked DONE if the stopInstances request is successful. The underlying actions take additional time. You must separately verify the status of the STOPPING action with the listmanagedinstances method. If the standbyPolicy.initialDelaySec field is set, the group delays stopping the instances until initialDelaySec have passed from instance.creationTimestamp (that is, when the instance was created). This delay gives your application time to set itself up and initialize on the instance. If more than initialDelaySec seconds have passed since instance.creationTimestamp when this method is called, there will be zero delay. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is stopped. Stopped instances can be started using the startInstances method. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/stopInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.stopInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/stopInstances", +"request": { +"$ref": "RegionInstanceGroupManagersStopInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"suspendInstances": { +"description": "Flags the specified instances in the managed instance group to be immediately suspended. You can only specify instances that are running in this request. This method reduces the targetSize and increases the targetSuspendedSize of the managed instance group by the number of instances that you suspend. The suspendInstances operation is marked DONE if the suspendInstances request is successful. The underlying actions take additional time. You must separately verify the status of the SUSPENDING action with the listmanagedinstances method. If the standbyPolicy.initialDelaySec field is set, the group delays suspension of the instances until initialDelaySec have passed from instance.creationTimestamp (that is, when the instance was created). This delay gives your application time to set itself up and initialize on the instance. If more than initialDelaySec seconds have passed since instance.creationTimestamp when this method is called, there will be zero delay. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is suspended. Suspended instances can be resumed using the resumeInstances method. You can specify a maximum of 1000 instances with this method per request.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/suspendInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.suspendInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "Name of the managed instance group.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/suspendInstances", +"request": { +"$ref": "RegionInstanceGroupManagersSuspendInstancesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates a managed instance group using the information that you specify in the request. This operation is marked as DONE when the group is updated even if the instances in the group have not yet been updated. You must separately verify the status of the individual instances with the listmanagedinstances method. If you update your group to specify a new template or instance configuration, it's possible that your intended specification for each VM in the group is different from the current state of that VM. To learn how to apply an updated configuration to the VMs in a MIG, see Updating instances in a MIG.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", +"httpMethod": "PUT", +"id": "compute.regionInstanceGroupManagers.update", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the instance group manager.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", +"request": { +"$ref": "InstanceGroupManager" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"updatePerInstanceConfigs": { +"description": "Inserts or updates per-instance configurations for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch.", +"flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs", +"httpMethod": "POST", +"id": "compute.regionInstanceGroupManagers.updatePerInstanceConfigs", +"parameterOrder": [ +"project", +"region", +"instanceGroupManager" +], +"parameters": { +"instanceGroupManager": { +"description": "The name of the managed instance group. It should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request, should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs", +"request": { +"$ref": "RegionInstanceGroupManagerUpdateInstanceConfigReq" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionInstanceGroups": { +"methods": { +"get": { +"description": "Returns the specified instance group resource.", +"flatPath": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}", +"httpMethod": "GET", +"id": "compute.regionInstanceGroups.get", +"parameterOrder": [ +"project", +"region", +"instanceGroup" +], +"parameters": { +"instanceGroup": { +"description": "Name of the instance group resource to return.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}", +"response": { +"$ref": "InstanceGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves the list of instance group resources contained within the specified region.", +"flatPath": "projects/{project}/regions/{region}/instanceGroups", +"httpMethod": "GET", +"id": "compute.regionInstanceGroups.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroups", +"response": { +"$ref": "RegionInstanceGroupList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listInstances": { +"description": "Lists the instances in the specified instance group and displays information about the named ports. Depending on the specified options, this method can list all instances or only the instances that are running. The orderBy query parameter is not supported.", +"flatPath": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/listInstances", +"httpMethod": "POST", +"id": "compute.regionInstanceGroups.listInstances", +"parameterOrder": [ +"project", +"region", +"instanceGroup" +], +"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" +}, +"instanceGroup": { +"description": "Name of the regional instance group for which we want to list the instances.", +"location": "path", +"required": true, +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/listInstances", +"request": { +"$ref": "RegionInstanceGroupsListInstancesRequest" +}, +"response": { +"$ref": "RegionInstanceGroupsListInstances" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setNamedPorts": { +"description": "Sets the named ports for the specified regional instance group.", +"flatPath": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/setNamedPorts", +"httpMethod": "POST", +"id": "compute.regionInstanceGroups.setNamedPorts", +"parameterOrder": [ +"project", +"region", +"instanceGroup" +], +"parameters": { +"instanceGroup": { +"description": "The name of the regional instance group where the named ports are updated.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/setNamedPorts", +"request": { +"$ref": "RegionInstanceGroupsSetNamedPortsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/instanceGroups/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionInstanceGroups.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceGroups/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionInstanceTemplates": { +"methods": { +"delete": { +"description": "Deletes the specified instance template. Deleting an instance template is permanent and cannot be undone.", +"flatPath": "projects/{project}/regions/{region}/instanceTemplates/{instanceTemplate}", +"httpMethod": "DELETE", +"id": "compute.regionInstanceTemplates.delete", +"parameterOrder": [ +"project", +"region", +"instanceTemplate" +], +"parameters": { +"instanceTemplate": { +"description": "The name of the instance template to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceTemplates/{instanceTemplate}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified instance template.", +"flatPath": "projects/{project}/regions/{region}/instanceTemplates/{instanceTemplate}", +"httpMethod": "GET", +"id": "compute.regionInstanceTemplates.get", +"parameterOrder": [ +"project", +"region", +"instanceTemplate" +], +"parameters": { +"instanceTemplate": { +"description": "The name of the instance template.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"view": { +"description": "View of the instance template.", +"enum": [ +"BASIC", +"FULL", +"INSTANCE_VIEW_UNSPECIFIED" +], +"enumDescriptions": [ +"Include everything except Partner Metadata.", +"Include everything.", +"The default / unset value. The API will default to the BASIC view." +], +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceTemplates/{instanceTemplate}", +"response": { +"$ref": "InstanceTemplate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an instance template in the specified project and region using the global instance template whose URL is included in the request.", +"flatPath": "projects/{project}/regions/{region}/instanceTemplates", +"httpMethod": "POST", +"id": "compute.regionInstanceTemplates.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceTemplates", +"request": { +"$ref": "InstanceTemplate" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of instance templates that are contained within the specified project and region.", +"flatPath": "projects/{project}/regions/{region}/instanceTemplates", +"httpMethod": "GET", +"id": "compute.regionInstanceTemplates.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the regions for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"view": { +"description": "View of the instance template.", +"enum": [ +"BASIC", +"FULL", +"INSTANCE_VIEW_UNSPECIFIED" +], +"enumDescriptions": [ +"Include everything except Partner Metadata.", +"Include everything.", +"The default / unset value. The API will default to the BASIC view." +], +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instanceTemplates", +"response": { +"$ref": "InstanceTemplateList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionInstances": { +"methods": { +"bulkInsert": { +"description": "Creates multiple instances in a given region. Count specifies the number of instances to create.", +"flatPath": "projects/{project}/regions/{region}/instances/bulkInsert", +"httpMethod": "POST", +"id": "compute.regionInstances.bulkInsert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instances/bulkInsert", +"request": { +"$ref": "BulkInsertInstanceResource" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionInstantSnapshotGroups": { +"methods": { +"delete": { +"description": "deletes a Regional InstantSnapshotGroup resource", +"flatPath": "projects/{project}/regions/{region}/instantSnapshotGroups/{instantSnapshotGroup}", +"httpMethod": "DELETE", +"id": "compute.regionInstantSnapshotGroups.delete", +"parameterOrder": [ +"project", +"region", +"instantSnapshotGroup" +], +"parameters": { +"instantSnapshotGroup": { +"description": "Name of the InstantSnapshotGroup resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instantSnapshotGroups/{instantSnapshotGroup}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "returns the specified InstantSnapshotGroup resource in the specified region.", +"flatPath": "projects/{project}/regions/{region}/instantSnapshotGroups/{instantSnapshotGroup}", +"httpMethod": "GET", +"id": "compute.regionInstantSnapshotGroups.get", +"parameterOrder": [ +"project", +"region", +"instantSnapshotGroup" +], +"parameters": { +"instantSnapshotGroup": { +"description": "Name of the InstantSnapshotGroup resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instantSnapshotGroups/{instantSnapshotGroup}", +"response": { +"$ref": "InstantSnapshotGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/regions/{region}/instantSnapshotGroups/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.regionInstantSnapshotGroups.getIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"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" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instantSnapshotGroups/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "creates a Regional InstantSnapshotGroup resource", +"flatPath": "projects/{project}/regions/{region}/instantSnapshotGroups", +"httpMethod": "POST", +"id": "compute.regionInstantSnapshotGroups.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sourceConsistencyGroup": { +"description": "begin_interface: MixerMutationRequestBuilder", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instantSnapshotGroups", +"request": { +"$ref": "InstantSnapshotGroup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "retrieves the list of InstantSnapshotGroup resources contained within the specified region.", +"flatPath": "projects/{project}/regions/{region}/instantSnapshotGroups", +"httpMethod": "GET", +"id": "compute.regionInstantSnapshotGroups.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/instantSnapshotGroups", +"response": { +"$ref": "ListInstantSnapshotGroups" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/regions/{region}/instantSnapshotGroups/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.regionInstantSnapshotGroups.setIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instantSnapshotGroups/{resource}/setIamPolicy", +"request": { +"$ref": "RegionSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/instantSnapshotGroups/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionInstantSnapshotGroups.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instantSnapshotGroups/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionInstantSnapshots": { +"methods": { +"delete": { +"description": "Deletes the specified InstantSnapshot resource. Keep in mind that deleting a single instantSnapshot might not necessarily delete all the data on that instantSnapshot. If any data on the instantSnapshot that is marked for deletion is needed for subsequent instantSnapshots, the data will be moved to the next corresponding instantSnapshot. For more information, see Deleting instantSnapshots.", +"flatPath": "projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}", +"httpMethod": "DELETE", +"id": "compute.regionInstantSnapshots.delete", +"parameterOrder": [ +"project", +"region", +"instantSnapshot" +], +"parameters": { +"instantSnapshot": { +"description": "Name of the InstantSnapshot resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified InstantSnapshot resource in the specified region.", +"flatPath": "projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}", +"httpMethod": "GET", +"id": "compute.regionInstantSnapshots.get", +"parameterOrder": [ +"project", +"region", +"instantSnapshot" +], +"parameters": { +"instantSnapshot": { +"description": "Name of the InstantSnapshot resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}", +"response": { +"$ref": "InstantSnapshot" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/regions/{region}/instantSnapshots/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.regionInstantSnapshots.getIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"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" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instantSnapshots/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates an instant snapshot in the specified region.", +"flatPath": "projects/{project}/regions/{region}/instantSnapshots", +"httpMethod": "POST", +"id": "compute.regionInstantSnapshots.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instantSnapshots", +"request": { +"$ref": "InstantSnapshot" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of InstantSnapshot resources contained within the specified region.", +"flatPath": "projects/{project}/regions/{region}/instantSnapshots", +"httpMethod": "GET", +"id": "compute.regionInstantSnapshots.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/instantSnapshots", +"response": { +"$ref": "InstantSnapshotList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/regions/{region}/instantSnapshots/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.regionInstantSnapshots.setIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instantSnapshots/{resource}/setIamPolicy", +"request": { +"$ref": "RegionSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on a instantSnapshot in the given region. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/regions/{region}/instantSnapshots/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.regionInstantSnapshots.setLabels", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instantSnapshots/{resource}/setLabels", +"request": { +"$ref": "RegionSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/instantSnapshots/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionInstantSnapshots.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/instantSnapshots/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionMultiMigs": { +"methods": { +"delete": { +"description": "Deletes a multi-MIG in the specified project.", +"flatPath": "projects/{project}/regions/{region}/multiMigs/{multiMig}", +"httpMethod": "DELETE", +"id": "compute.regionMultiMigs.delete", +"parameterOrder": [ +"project", +"region", +"multiMig" +], +"parameters": { +"multiMig": { +"description": "Name of the multi-MIG to delete.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/multiMigs/{multiMig}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns all the details of a specific multi-MIG.", +"flatPath": "projects/{project}/regions/{region}/multiMigs/{multiMig}", +"httpMethod": "GET", +"id": "compute.regionMultiMigs.get", +"parameterOrder": [ +"project", +"region", +"multiMig" +], +"parameters": { +"multiMig": { +"description": "Name of the multi-MIG resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/multiMigs/{multiMig}", +"response": { +"$ref": "MultiMig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a multi-MIG in the specified project.", +"flatPath": "projects/{project}/regions/{region}/multiMigs", +"httpMethod": "POST", +"id": "compute.regionMultiMigs.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents you 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": "projects/{project}/regions/{region}/multiMigs", +"request": { +"$ref": "MultiMig" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of multi-MIGs in a project and region.", +"flatPath": "projects/{project}/regions/{region}/multiMigs", +"httpMethod": "GET", +"id": "compute.regionMultiMigs.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/multiMigs", +"response": { +"$ref": "MultiMigsList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionNetworkEndpointGroups": { +"methods": { +"attachNetworkEndpoints": { +"description": "Attach a list of network endpoints to the specified network endpoint group.", +"flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", +"httpMethod": "POST", +"id": "compute.regionNetworkEndpointGroups.attachNetworkEndpoints", +"parameterOrder": [ +"project", +"region", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group where you are attaching network endpoints to. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region where you want to create the network endpoint group. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", +"request": { +"$ref": "RegionNetworkEndpointGroupsAttachEndpointsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified network endpoint group. Note that the NEG cannot be deleted if it is configured as a backend of a backend service.", +"flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}", +"httpMethod": "DELETE", +"id": "compute.regionNetworkEndpointGroups.delete", +"parameterOrder": [ +"project", +"region", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group to delete. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"detachNetworkEndpoints": { +"description": "Detach the network endpoint from the specified network endpoint group.", +"flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", +"httpMethod": "POST", +"id": "compute.regionNetworkEndpointGroups.detachNetworkEndpoints", +"parameterOrder": [ +"project", +"region", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group you are detaching network endpoints from. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", +"request": { +"$ref": "RegionNetworkEndpointGroupsDetachEndpointsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified network endpoint group.", +"flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}", +"httpMethod": "GET", +"id": "compute.regionNetworkEndpointGroups.get", +"parameterOrder": [ +"project", +"region", +"networkEndpointGroup" +], +"parameters": { +"networkEndpointGroup": { +"description": "The name of the network endpoint group. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}", +"response": { +"$ref": "NetworkEndpointGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a network endpoint group in the specified project using the parameters that are included in the request.", +"flatPath": "projects/{project}/regions/{region}/networkEndpointGroups", +"httpMethod": "POST", +"id": "compute.regionNetworkEndpointGroups.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region where you want to create the network endpoint group. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/networkEndpointGroups", +"request": { +"$ref": "NetworkEndpointGroup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of regional network endpoint groups available to the specified project in the given region.", +"flatPath": "projects/{project}/regions/{region}/networkEndpointGroups", +"httpMethod": "GET", +"id": "compute.regionNetworkEndpointGroups.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/networkEndpointGroups", +"response": { +"$ref": "NetworkEndpointGroupList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listNetworkEndpoints": { +"description": "Lists the network endpoints in the specified network endpoint group.", +"flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", +"httpMethod": "POST", +"id": "compute.regionNetworkEndpointGroups.listNetworkEndpoints", +"parameterOrder": [ +"project", +"region", +"networkEndpointGroup" +], +"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" +}, +"networkEndpointGroup": { +"description": "The name of the network endpoint group from which you want to generate a list of included network endpoints. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region where the network endpoint group is located. It should comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", +"response": { +"$ref": "NetworkEndpointGroupsListNetworkEndpoints" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionNetworkFirewallPolicies": { +"methods": { +"addAssociation": { +"description": "Inserts an association for the specified network firewall policy.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/addAssociation", +"httpMethod": "POST", +"id": "compute.regionNetworkFirewallPolicies.addAssociation", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"associatedPolicyToBeReplaced": { +"description": "Name of the firewall policy associated with the target network to swap association with. This field is mutually exclusive with 'replace_existing_association'.", +"location": "query", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"type": "string" +}, +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"replaceExistingAssociation": { +"description": "Indicates whether or not to replace it if an association already exists. This is false by default, in which case an error will be returned if an association already exists.", +"location": "query", +"type": "boolean" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/addAssociation", +"request": { +"$ref": "FirewallPolicyAssociation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"addRule": { +"description": "Inserts a rule into a network firewall policy.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/addRule", +"httpMethod": "POST", +"id": "compute.regionNetworkFirewallPolicies.addRule", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"maxPriority": { +"description": "When rule.priority is not specified, auto choose a unused priority between minPriority and maxPriority>. This field is exclusive with rule.priority.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"minPriority": { +"description": "When rule.priority is not specified, auto choose a unused priority between minPriority and maxPriority>. This field is exclusive with rule.priority.", +"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" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/addRule", +"request": { +"$ref": "FirewallPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"cloneRules": { +"description": "Copies rules to the specified network firewall policy.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/cloneRules", +"httpMethod": "POST", +"id": "compute.regionNetworkFirewallPolicies.cloneRules", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sourceFirewallPolicy": { +"description": "The firewall policy from which to copy rules.", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/cloneRules", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified network firewall policy.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", +"httpMethod": "DELETE", +"id": "compute.regionNetworkFirewallPolicies.delete", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified network firewall policy.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", +"httpMethod": "GET", +"id": "compute.regionNetworkFirewallPolicies.get", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to get.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", +"response": { +"$ref": "FirewallPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getAssociation": { +"description": "Gets an association with the specified name.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/getAssociation", +"httpMethod": "GET", +"id": "compute.regionNetworkFirewallPolicies.getAssociation", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to which the queried association belongs.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"name": { +"description": "The name of the association to get from the firewall policy.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/getAssociation", +"response": { +"$ref": "FirewallPolicyAssociation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getEffectiveFirewalls": { +"description": "Returns the effective firewalls on a given network.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/getEffectiveFirewalls", +"httpMethod": "GET", +"id": "compute.regionNetworkFirewallPolicies.getEffectiveFirewalls", +"parameterOrder": [ +"project", +"region", +"network" +], +"parameters": { +"network": { +"description": "Network reference", +"location": "query", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/getEffectiveFirewalls", +"response": { +"$ref": "RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.regionNetworkFirewallPolicies.getIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"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" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getRule": { +"description": "Gets a rule of the specified priority.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/getRule", +"httpMethod": "GET", +"id": "compute.regionNetworkFirewallPolicies.getRule", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to which the queried rule belongs.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to get from the firewall policy.", +"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" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/getRule", +"response": { +"$ref": "FirewallPolicyRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new network firewall policy in the specified project and region.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies", +"httpMethod": "POST", +"id": "compute.regionNetworkFirewallPolicies.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies", +"request": { +"$ref": "FirewallPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists all the network firewall policies that have been configured for the specified project in the given region.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies", +"httpMethod": "GET", +"id": "compute.regionNetworkFirewallPolicies.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies", +"response": { +"$ref": "FirewallPolicyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified network firewall policy.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", +"httpMethod": "PATCH", +"id": "compute.regionNetworkFirewallPolicies.patch", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", +"request": { +"$ref": "FirewallPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patchAssociation": { +"description": "Updates an association for the specified network firewall policy.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/patchAssociation", +"httpMethod": "POST", +"id": "compute.regionNetworkFirewallPolicies.patchAssociation", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/patchAssociation", +"request": { +"$ref": "FirewallPolicyAssociation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patchRule": { +"description": "Patches a rule of the specified priority.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/patchRule", +"httpMethod": "POST", +"id": "compute.regionNetworkFirewallPolicies.patchRule", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to patch.", +"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" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/patchRule", +"request": { +"$ref": "FirewallPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeAssociation": { +"description": "Removes an association for the specified network firewall policy.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeAssociation", +"httpMethod": "POST", +"id": "compute.regionNetworkFirewallPolicies.removeAssociation", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"name": { +"description": "Name for the association that will be removed.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeAssociation", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeRule": { +"description": "Deletes a rule of the specified priority.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeRule", +"httpMethod": "POST", +"id": "compute.regionNetworkFirewallPolicies.removeRule", +"parameterOrder": [ +"project", +"region", +"firewallPolicy" +], +"parameters": { +"firewallPolicy": { +"description": "Name of the firewall policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"priority": { +"description": "The priority of the rule to remove from the firewall policy.", +"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" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeRule", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.regionNetworkFirewallPolicies.setIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{resource}/setIamPolicy", +"request": { +"$ref": "RegionSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/firewallPolicies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionNetworkFirewallPolicies.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/firewallPolicies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionNotificationEndpoints": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all NotificationEndpoint resources, regional and global, available to the specified project.", +"flatPath": "projects/{project}/aggregated/notificationEndpoints", +"httpMethod": "GET", +"id": "compute.regionNotificationEndpoints.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/notificationEndpoints", +"response": { +"$ref": "NotificationEndpointAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified NotificationEndpoint in the given region", +"flatPath": "projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}", +"httpMethod": "DELETE", +"id": "compute.regionNotificationEndpoints.delete", +"parameterOrder": [ +"project", +"region", +"notificationEndpoint" +], +"parameters": { +"notificationEndpoint": { +"description": "Name of the NotificationEndpoint resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified NotificationEndpoint resource in the given region.", +"flatPath": "projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}", +"httpMethod": "GET", +"id": "compute.regionNotificationEndpoints.get", +"parameterOrder": [ +"project", +"region", +"notificationEndpoint" +], +"parameters": { +"notificationEndpoint": { +"description": "Name of the NotificationEndpoint resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}", +"response": { +"$ref": "NotificationEndpoint" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Create a NotificationEndpoint in the specified project in the given region using the parameters that are included in the request.", +"flatPath": "projects/{project}/regions/{region}/notificationEndpoints", +"httpMethod": "POST", +"id": "compute.regionNotificationEndpoints.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/notificationEndpoints", +"request": { +"$ref": "NotificationEndpoint" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists the NotificationEndpoints for a project in the given region.", +"flatPath": "projects/{project}/regions/{region}/notificationEndpoints", +"httpMethod": "GET", +"id": "compute.regionNotificationEndpoints.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/notificationEndpoints", +"response": { +"$ref": "NotificationEndpointList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/notificationEndpoints/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionNotificationEndpoints.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/notificationEndpoints/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionOperations": { +"methods": { +"delete": { +"description": "Deletes the specified region-specific Operations resource.", +"flatPath": "projects/{project}/regions/{region}/operations/{operation}", +"httpMethod": "DELETE", +"id": "compute.regionOperations.delete", +"parameterOrder": [ +"project", +"region", +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to delete, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/operations/{operation}", +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Retrieves the specified region-specific Operations resource.", +"flatPath": "projects/{project}/regions/{region}/operations/{operation}", +"httpMethod": "GET", +"id": "compute.regionOperations.get", +"parameterOrder": [ +"project", +"region", +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to return, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/operations/{operation}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of Operation resources contained within the specified region.", +"flatPath": "projects/{project}/regions/{region}/operations", +"httpMethod": "GET", +"id": "compute.regionOperations.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/operations", +"response": { +"$ref": "OperationList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"wait": { +"description": "Waits for the specified Operation resource to return as `DONE` or for the request to approach the 2 minute deadline, and retrieves the specified Operation resource. This method differs from the `GET` method in that it waits for no more than the default deadline (2 minutes) and then returns the current state of the operation, which might be `DONE` or still in progress. This method is called on a best-effort basis. Specifically: - In uncommon cases, when the server is overloaded, the request might return before the default deadline is reached, or might return after zero seconds. - If the default deadline is reached, there is no guarantee that the operation is actually done when the method returns. Be prepared to retry if the operation is not `DONE`. ", +"flatPath": "projects/{project}/regions/{region}/operations/{operation}/wait", +"httpMethod": "POST", +"id": "compute.regionOperations.wait", +"parameterOrder": [ +"project", +"region", +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to return, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/operations/{operation}/wait", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionSecurityPolicies": { +"methods": { +"addRule": { +"description": "Inserts a rule into a security policy.", +"flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/addRule", +"httpMethod": "POST", +"id": "compute.regionSecurityPolicies.addRule", +"parameterOrder": [ +"project", +"region", +"securityPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"validateOnly": { +"description": "If true, the request will not be committed.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/addRule", +"request": { +"$ref": "SecurityPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes the specified policy.", +"flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", +"httpMethod": "DELETE", +"id": "compute.regionSecurityPolicies.delete", +"parameterOrder": [ +"project", +"region", +"securityPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "List all of the ordered rules present in a single specified policy.", +"flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", +"httpMethod": "GET", +"id": "compute.regionSecurityPolicies.get", +"parameterOrder": [ +"project", +"region", +"securityPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to get.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", +"response": { +"$ref": "SecurityPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getRule": { +"description": "Gets a rule at the specified priority.", +"flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/getRule", +"httpMethod": "GET", +"id": "compute.regionSecurityPolicies.getRule", +"parameterOrder": [ +"project", +"region", +"securityPolicy" +], +"parameters": { +"priority": { +"description": "The priority of the rule to get from the security policy.", +"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" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to which the queried rule belongs.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/getRule", +"response": { +"$ref": "SecurityPolicyRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new policy in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/securityPolicies", +"httpMethod": "POST", +"id": "compute.regionSecurityPolicies.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If true, the request will not be committed.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/securityPolicies", +"request": { +"$ref": "SecurityPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "List all the policies that have been configured for the specified project and region.", +"flatPath": "projects/{project}/regions/{region}/securityPolicies", +"httpMethod": "GET", +"id": "compute.regionSecurityPolicies.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/securityPolicies", +"response": { +"$ref": "SecurityPolicyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified policy with the data included in the request. To clear fields in the policy, leave the fields empty and specify them in the updateMask. This cannot be used to be update the rules in the policy. Please use the per rule methods like addRule, patchRule, and removeRule instead.", +"flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", +"httpMethod": "PATCH", +"id": "compute.regionSecurityPolicies.patch", +"parameterOrder": [ +"project", +"region", +"securityPolicy" +], +"parameters": { +"paths": { +"location": "query", +"repeated": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates fields to be cleared as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", +"request": { +"$ref": "SecurityPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patchRule": { +"description": "Patches a rule at the specified priority. To clear fields in the rule, leave the fields empty and specify them in the updateMask.", +"flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/patchRule", +"httpMethod": "POST", +"id": "compute.regionSecurityPolicies.patchRule", +"parameterOrder": [ +"project", +"region", +"securityPolicy" +], +"parameters": { +"priority": { +"description": "The priority of the rule to patch.", +"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" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates fields to be cleared as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If true, the request will not be committed.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/patchRule", +"request": { +"$ref": "SecurityPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeRule": { +"description": "Deletes a rule at the specified priority.", +"flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/removeRule", +"httpMethod": "POST", +"id": "compute.regionSecurityPolicies.removeRule", +"parameterOrder": [ +"project", +"region", +"securityPolicy" +], +"parameters": { +"priority": { +"description": "The priority of the rule to remove from the security policy.", +"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" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/removeRule", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on a security policy. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/regions/{region}/securityPolicies/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.regionSecurityPolicies.setLabels", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/securityPolicies/{resource}/setLabels", +"request": { +"$ref": "RegionSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionSnapshotSettings": { +"methods": { +"get": { +"description": "Get region snapshot settings.", +"flatPath": "projects/{project}/regions/{region}/snapshotSettings", +"httpMethod": "GET", +"id": "compute.regionSnapshotSettings.get", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/snapshotSettings", +"response": { +"$ref": "SnapshotSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patch region snapshot settings.", +"flatPath": "projects/{project}/regions/{region}/snapshotSettings", +"httpMethod": "PATCH", +"id": "compute.regionSnapshotSettings.patch", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "update_mask indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/snapshotSettings", +"request": { +"$ref": "SnapshotSettings" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionSnapshots": { +"methods": { +"delete": { +"description": "Deletes the specified Snapshot resource. Keep in mind that deleting a single snapshot might not necessarily delete all the data on that snapshot. If any data on the snapshot that is marked for deletion is needed for subsequent snapshots, the data will be moved to the next corresponding snapshot. For more information, see Deleting snapshots.", +"flatPath": "projects/{project}/regions/{region}/snapshots/{snapshot}", +"httpMethod": "DELETE", +"id": "compute.regionSnapshots.delete", +"parameterOrder": [ +"project", +"region", +"snapshot" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"snapshot": { +"description": "Name of the snapshot resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/snapshots/{snapshot}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified Snapshot resource.", +"flatPath": "projects/{project}/regions/{region}/snapshots/{snapshot}", +"httpMethod": "GET", +"id": "compute.regionSnapshots.get", +"parameterOrder": [ +"project", +"region", +"snapshot" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"snapshot": { +"description": "Name of the Snapshot resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/snapshots/{snapshot}", +"response": { +"$ref": "Snapshot" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/regions/{region}/snapshots/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.regionSnapshots.getIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"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" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/snapshots/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a snapshot in the specified region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/snapshots", +"httpMethod": "POST", +"id": "compute.regionSnapshots.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/snapshots", +"request": { +"$ref": "Snapshot" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of Snapshot resources contained within the specified region.", +"flatPath": "projects/{project}/regions/{region}/snapshots", +"httpMethod": "GET", +"id": "compute.regionSnapshots.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/snapshots", +"response": { +"$ref": "SnapshotList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/regions/{region}/snapshots/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.regionSnapshots.setIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/snapshots/{resource}/setIamPolicy", +"request": { +"$ref": "RegionSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on a regional snapshot. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/regions/{region}/snapshots/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.regionSnapshots.setLabels", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/snapshots/{resource}/setLabels", +"request": { +"$ref": "RegionSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/snapshots/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionSnapshots.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/snapshots/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionSslCertificates": { +"methods": { +"delete": { +"description": "Deletes the specified SslCertificate resource in the region.", +"flatPath": "projects/{project}/regions/{region}/sslCertificates/{sslCertificate}", +"httpMethod": "DELETE", +"id": "compute.regionSslCertificates.delete", +"parameterOrder": [ +"project", +"region", +"sslCertificate" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sslCertificate": { +"description": "Name of the SslCertificate resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/sslCertificates/{sslCertificate}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified SslCertificate resource in the specified region. Get a list of available SSL certificates by making a list() request.", +"flatPath": "projects/{project}/regions/{region}/sslCertificates/{sslCertificate}", +"httpMethod": "GET", +"id": "compute.regionSslCertificates.get", +"parameterOrder": [ +"project", +"region", +"sslCertificate" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"sslCertificate": { +"description": "Name of the SslCertificate resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/sslCertificates/{sslCertificate}", +"response": { +"$ref": "SslCertificate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a SslCertificate resource in the specified project and region using the data included in the request", +"flatPath": "projects/{project}/regions/{region}/sslCertificates", +"httpMethod": "POST", +"id": "compute.regionSslCertificates.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/sslCertificates", +"request": { +"$ref": "SslCertificate" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of SslCertificate resources available to the specified project in the specified region.", +"flatPath": "projects/{project}/regions/{region}/sslCertificates", +"httpMethod": "GET", +"id": "compute.regionSslCertificates.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/sslCertificates", +"response": { +"$ref": "SslCertificateList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource and region.", +"flatPath": "projects/{project}/regions/{region}/sslCertificates/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionSslCertificates.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/sslCertificates/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionSslPolicies": { +"methods": { +"delete": { +"description": "Deletes the specified SSL policy. The SSL policy resource can be deleted only if it is not in use by any TargetHttpsProxy or TargetSslProxy resources.", +"flatPath": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", +"httpMethod": "DELETE", +"id": "compute.regionSslPolicies.delete", +"parameterOrder": [ +"project", +"region", +"sslPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sslPolicy": { +"description": "Name of the SSL policy to delete. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Lists all of the ordered rules present in a single specified policy.", +"flatPath": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", +"httpMethod": "GET", +"id": "compute.regionSslPolicies.get", +"parameterOrder": [ +"project", +"region", +"sslPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"sslPolicy": { +"description": "Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", +"response": { +"$ref": "SslPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new policy in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/sslPolicies", +"httpMethod": "POST", +"id": "compute.regionSslPolicies.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/sslPolicies", +"request": { +"$ref": "SslPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists all the SSL policies that have been configured for the specified project and region.", +"flatPath": "projects/{project}/regions/{region}/sslPolicies", +"httpMethod": "GET", +"id": "compute.regionSslPolicies.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/sslPolicies", +"response": { +"$ref": "SslPoliciesList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listAvailableFeatures": { +"description": "Lists all features that can be specified in the SSL policy when using custom profile.", +"flatPath": "projects/{project}/regions/{region}/sslPolicies/listAvailableFeatures", +"httpMethod": "GET", +"id": "compute.regionSslPolicies.listAvailableFeatures", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/sslPolicies/listAvailableFeatures", +"response": { +"$ref": "SslPoliciesListAvailableFeaturesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified SSL policy with the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", +"httpMethod": "PATCH", +"id": "compute.regionSslPolicies.patch", +"parameterOrder": [ +"project", +"region", +"sslPolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sslPolicy": { +"description": "Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", +"request": { +"$ref": "SslPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/sslPolicies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionSslPolicies.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/sslPolicies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionTargetHttpProxies": { +"methods": { +"delete": { +"description": "Deletes the specified TargetHttpProxy resource.", +"flatPath": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}", +"httpMethod": "DELETE", +"id": "compute.regionTargetHttpProxies.delete", +"parameterOrder": [ +"project", +"region", +"targetHttpProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpProxy": { +"description": "Name of the TargetHttpProxy resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified TargetHttpProxy resource in the specified region.", +"flatPath": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}", +"httpMethod": "GET", +"id": "compute.regionTargetHttpProxies.get", +"parameterOrder": [ +"project", +"region", +"targetHttpProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"targetHttpProxy": { +"description": "Name of the TargetHttpProxy resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}", +"response": { +"$ref": "TargetHttpProxy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a TargetHttpProxy resource in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/targetHttpProxies", +"httpMethod": "POST", +"id": "compute.regionTargetHttpProxies.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpProxies", +"request": { +"$ref": "TargetHttpProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of TargetHttpProxy resources available to the specified project in the specified region.", +"flatPath": "projects/{project}/regions/{region}/targetHttpProxies", +"httpMethod": "GET", +"id": "compute.regionTargetHttpProxies.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpProxies", +"response": { +"$ref": "TargetHttpProxyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setUrlMap": { +"description": "Changes the URL map for TargetHttpProxy.", +"flatPath": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}/setUrlMap", +"httpMethod": "POST", +"id": "compute.regionTargetHttpProxies.setUrlMap", +"parameterOrder": [ +"project", +"region", +"targetHttpProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpProxy": { +"description": "Name of the TargetHttpProxy to set a URL map for.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}/setUrlMap", +"request": { +"$ref": "UrlMapReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/targetHttpProxies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionTargetHttpProxies.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpProxies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionTargetHttpsProxies": { +"methods": { +"delete": { +"description": "Deletes the specified TargetHttpsProxy resource.", +"flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", +"httpMethod": "DELETE", +"id": "compute.regionTargetHttpsProxies.delete", +"parameterOrder": [ +"project", +"region", +"targetHttpsProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified TargetHttpsProxy resource in the specified region.", +"flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", +"httpMethod": "GET", +"id": "compute.regionTargetHttpsProxies.get", +"parameterOrder": [ +"project", +"region", +"targetHttpsProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", +"response": { +"$ref": "TargetHttpsProxy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a TargetHttpsProxy resource in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/targetHttpsProxies", +"httpMethod": "POST", +"id": "compute.regionTargetHttpsProxies.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpsProxies", +"request": { +"$ref": "TargetHttpsProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of TargetHttpsProxy resources available to the specified project in the specified region.", +"flatPath": "projects/{project}/regions/{region}/targetHttpsProxies", +"httpMethod": "GET", +"id": "compute.regionTargetHttpsProxies.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpsProxies", +"response": { +"$ref": "TargetHttpsProxyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified regional TargetHttpsProxy resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", +"httpMethod": "PATCH", +"id": "compute.regionTargetHttpsProxies.patch", +"parameterOrder": [ +"project", +"region", +"targetHttpsProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", +"request": { +"$ref": "TargetHttpsProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setSslCertificates": { +"description": "Replaces SslCertificates for TargetHttpsProxy.", +"flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates", +"httpMethod": "POST", +"id": "compute.regionTargetHttpsProxies.setSslCertificates", +"parameterOrder": [ +"project", +"region", +"targetHttpsProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource to set an SslCertificates resource for.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates", +"request": { +"$ref": "RegionTargetHttpsProxiesSetSslCertificatesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setUrlMap": { +"description": "Changes the URL map for TargetHttpsProxy.", +"flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap", +"httpMethod": "POST", +"id": "compute.regionTargetHttpsProxies.setUrlMap", +"parameterOrder": [ +"project", +"region", +"targetHttpsProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy to set a URL map for.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap", +"request": { +"$ref": "UrlMapReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionTargetHttpsProxies.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetHttpsProxies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionTargetTcpProxies": { +"methods": { +"delete": { +"description": "Deletes the specified TargetTcpProxy resource.", +"flatPath": "projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}", +"httpMethod": "DELETE", +"id": "compute.regionTargetTcpProxies.delete", +"parameterOrder": [ +"project", +"region", +"targetTcpProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetTcpProxy": { +"description": "Name of the TargetTcpProxy resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified TargetTcpProxy resource.", +"flatPath": "projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}", +"httpMethod": "GET", +"id": "compute.regionTargetTcpProxies.get", +"parameterOrder": [ +"project", +"region", +"targetTcpProxy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"targetTcpProxy": { +"description": "Name of the TargetTcpProxy resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}", +"response": { +"$ref": "TargetTcpProxy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a TargetTcpProxy resource in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/targetTcpProxies", +"httpMethod": "POST", +"id": "compute.regionTargetTcpProxies.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetTcpProxies", +"request": { +"$ref": "TargetTcpProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of TargetTcpProxy resources available to the specified project in a given region.", +"flatPath": "projects/{project}/regions/{region}/targetTcpProxies", +"httpMethod": "GET", +"id": "compute.regionTargetTcpProxies.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/targetTcpProxies", +"response": { +"$ref": "TargetTcpProxyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/targetTcpProxies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionTargetTcpProxies.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetTcpProxies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regionUrlMaps": { +"methods": { +"delete": { +"description": "Deletes the specified UrlMap resource.", +"flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}", +"httpMethod": "DELETE", +"id": "compute.regionUrlMaps.delete", +"parameterOrder": [ +"project", +"region", +"urlMap" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "begin_interface: MixerMutationRequestBuilder Request ID to support idempotency.", +"location": "query", +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/urlMaps/{urlMap}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified UrlMap resource.", +"flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}", +"httpMethod": "GET", +"id": "compute.regionUrlMaps.get", +"parameterOrder": [ +"project", +"region", +"urlMap" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/urlMaps/{urlMap}", +"response": { +"$ref": "UrlMap" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a UrlMap resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/urlMaps", +"httpMethod": "POST", +"id": "compute.regionUrlMaps.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "begin_interface: MixerMutationRequestBuilder Request ID to support idempotency.", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/urlMaps", +"request": { +"$ref": "UrlMap" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"invalidateCache": { +"description": "Initiates a cache invalidation operation, invalidating the specified path, scoped to the specified UrlMap. For more information, see [Invalidating cached content](/cdn/docs/invalidating-cached-content).", +"flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}/invalidateCache", +"httpMethod": "POST", +"id": "compute.regionUrlMaps.invalidateCache", +"parameterOrder": [ +"project", +"region", +"urlMap" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "begin_interface: MixerMutationRequestBuilder Request ID to support idempotency.", +"location": "query", +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/urlMaps/{urlMap}/invalidateCache", +"request": { +"$ref": "CacheInvalidationRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of UrlMap resources available to the specified project in the specified region.", +"flatPath": "projects/{project}/regions/{region}/urlMaps", +"httpMethod": "GET", +"id": "compute.regionUrlMaps.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/urlMaps", +"response": { +"$ref": "UrlMapList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified UrlMap resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}", +"httpMethod": "PATCH", +"id": "compute.regionUrlMaps.patch", +"parameterOrder": [ +"project", +"region", +"urlMap" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "begin_interface: MixerMutationRequestBuilder Request ID to support idempotency.", +"location": "query", +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/urlMaps/{urlMap}", +"request": { +"$ref": "UrlMap" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/urlMaps/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.regionUrlMaps.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/urlMaps/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates the specified UrlMap resource with the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}", +"httpMethod": "PUT", +"id": "compute.regionUrlMaps.update", +"parameterOrder": [ +"project", +"region", +"urlMap" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "begin_interface: MixerMutationRequestBuilder Request ID to support idempotency.", +"location": "query", +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/urlMaps/{urlMap}", +"request": { +"$ref": "UrlMap" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"validate": { +"description": "Runs static validation for the UrlMap. In particular, the tests of the provided UrlMap will be run. Calling this method does NOT create the UrlMap.", +"flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}/validate", +"httpMethod": "POST", +"id": "compute.regionUrlMaps.validate", +"parameterOrder": [ +"project", +"region", +"urlMap" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap resource to be validated as.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/urlMaps/{urlMap}/validate", +"request": { +"$ref": "RegionUrlMapsValidateRequest" +}, +"response": { +"$ref": "UrlMapsValidateResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"regionZones": { +"methods": { +"list": { +"description": "Retrieves the list of Zone resources under the specific region available to the specified project.", +"flatPath": "projects/{project}/regions/{region}/zones", +"httpMethod": "GET", +"id": "compute.regionZones.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/zones", +"response": { +"$ref": "ZoneList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"regions": { +"methods": { +"get": { +"description": "Returns the specified Region resource. To decrease latency for this method, you can optionally omit any unneeded information from the response by using a field mask. This practice is especially recommended for unused quota information (the `quotas` field). To exclude one or more fields, set your request's `fields` query parameter to only include the fields you need. For example, to only include the `id` and `selfLink` fields, add the query parameter `?fields=id,selfLink` to your request. This method fails if the quota information is unavailable for the region and if the organization policy constraint compute.requireBasicQuotaInResponse is enforced. This constraint, when enforced, disables the fail-open behaviour when quota information (the `items.quotas` field) is unavailable for the region. It is recommended to use the default setting for the constraint unless your application requires the fail-closed behaviour for this method.", +"flatPath": "projects/{project}/regions/{region}", +"httpMethod": "GET", +"id": "compute.regions.get", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}", +"response": { +"$ref": "Region" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves the list of region resources available to the specified project. To decrease latency for this method, you can optionally omit any unneeded information from the response by using a field mask. This practice is especially recommended for unused quota information (the `items.quotas` field). To exclude one or more fields, set your request's `fields` query parameter to only include the fields you need. For example, to only include the `id` and `selfLink` fields, add the query parameter `?fields=id,selfLink` to your request. This method fails if the quota information is unavailable for the region and if the organization policy constraint compute.requireBasicQuotaInResponse is enforced. This constraint, when enforced, disables the fail-open behaviour when quota information (the `items.quotas` field) is unavailable for the region. It is recommended to use the default setting for the constraint unless your application requires the fail-closed behaviour for this method.", +"flatPath": "projects/{project}/regions", +"httpMethod": "GET", +"id": "compute.regions.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions", +"response": { +"$ref": "RegionList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"reservationBlocks": { +"methods": { +"get": { +"description": "Retrieves information about the specified reservation block.", +"flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservationBlock}", +"httpMethod": "GET", +"id": "compute.reservationBlocks.get", +"parameterOrder": [ +"project", +"zone", +"reservation", +"reservationBlock" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"required": true, +"type": "string" +}, +"reservation": { +"description": "The name of the reservation. Name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"reservationBlock": { +"description": "The name of the reservation block. Name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request. Zone name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservationBlock}", +"response": { +"$ref": "ReservationBlocksGetResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of reservation blocks under a single reservation.", +"flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks", +"httpMethod": "GET", +"id": "compute.reservationBlocks.list", +"parameterOrder": [ +"project", +"zone", +"reservation" +], +"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": "Project ID for this request.", +"location": "path", +"required": true, +"type": "string" +}, +"reservation": { +"description": "The name of the reservation. Name should conform to RFC1035 or be a resource ID.", +"location": "path", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "Name of the zone for this request. Zone name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks", +"response": { +"$ref": "ReservationBlocksListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"performMaintenance": { +"description": "Allows customers to perform maintenance on a reservation block", +"flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservationBlock}/performMaintenance", +"httpMethod": "POST", +"id": "compute.reservationBlocks.performMaintenance", +"parameterOrder": [ +"project", +"zone", +"reservation", +"reservationBlock" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"reservation": { +"description": "The name of the reservation. Name should conform to RFC1035 or be a resource ID.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"reservationBlock": { +"description": "The name of the reservation block. Name should conform to RFC1035 or be a resource ID.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request. Zone name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservationBlock}/performMaintenance", +"request": { +"$ref": "ReservationsBlocksPerformMaintenanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"reservations": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of reservations. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/reservations", +"httpMethod": "GET", +"id": "compute.reservations.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/reservations", +"response": { +"$ref": "ReservationAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified reservation.", +"flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}", +"httpMethod": "DELETE", +"id": "compute.reservations.delete", +"parameterOrder": [ +"project", +"zone", +"reservation" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"reservation": { +"description": "Name of the reservation to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations/{reservation}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Retrieves information about the specified reservation.", +"flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}", +"httpMethod": "GET", +"id": "compute.reservations.get", +"parameterOrder": [ +"project", +"zone", +"reservation" +], +"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" +}, +"reservation": { +"description": "Name of the reservation to retrieve.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations/{reservation}", +"response": { +"$ref": "Reservation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/zones/{zone}/reservations/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.reservations.getIamPolicy", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new reservation. For more information, read Reserving zonal resources.", +"flatPath": "projects/{project}/zones/{zone}/reservations", +"httpMethod": "POST", +"id": "compute.reservations.insert", +"parameterOrder": [ +"project", +"zone" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations", +"request": { +"$ref": "Reservation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "A list of all the reservations that have been configured for the specified project in specified zone.", +"flatPath": "projects/{project}/zones/{zone}/reservations", +"httpMethod": "GET", +"id": "compute.reservations.list", +"parameterOrder": [ +"project", +"zone" +], +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations", +"response": { +"$ref": "ReservationList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"performMaintenance": { +"description": "Perform maintenance on an extended reservation", +"flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}/performMaintenance", +"httpMethod": "POST", +"id": "compute.reservations.performMaintenance", +"parameterOrder": [ +"project", +"zone", +"reservation" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"reservation": { +"description": "The name of the reservation. Name should conform to RFC1035 or be a resource ID.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request. Zone name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations/{reservation}/performMaintenance", +"request": { +"$ref": "ReservationsPerformMaintenanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"resize": { +"description": "Resizes the reservation (applicable to standalone reservations only). For more information, read Modifying reservations.", +"flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}/resize", +"httpMethod": "POST", +"id": "compute.reservations.resize", +"parameterOrder": [ +"project", +"zone", +"reservation" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"reservation": { +"description": "Name of the reservation to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations/{reservation}/resize", +"request": { +"$ref": "ReservationsResizeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/zones/{zone}/reservations/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.reservations.setIamPolicy", +"parameterOrder": [ +"project", +"zone", +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations/{resource}/setIamPolicy", +"request": { +"$ref": "ZoneSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/zones/{zone}/reservations/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.reservations.testIamPermissions", +"parameterOrder": [ +"project", +"zone", +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Update share settings of the reservation.", +"flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}", +"httpMethod": "PATCH", +"id": "compute.reservations.update", +"parameterOrder": [ +"project", +"zone", +"reservation" +], +"parameters": { +"paths": { +"location": "query", +"repeated": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"reservation": { +"description": "Name of the reservation to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Update_mask indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/reservations/{reservation}", +"request": { +"$ref": "Reservation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"resourcePolicies": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of resource policies. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/resourcePolicies", +"httpMethod": "GET", +"id": "compute.resourcePolicies.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/resourcePolicies", +"response": { +"$ref": "ResourcePolicyAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified resource policy.", +"flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", +"httpMethod": "DELETE", +"id": "compute.resourcePolicies.delete", +"parameterOrder": [ +"project", +"region", +"resourcePolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resourcePolicy": { +"description": "Name of the resource policy to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Retrieves all information of the specified resource policy.", +"flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", +"httpMethod": "GET", +"id": "compute.resourcePolicies.get", +"parameterOrder": [ +"project", +"region", +"resourcePolicy" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resourcePolicy": { +"description": "Name of the resource policy to retrieve.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", +"response": { +"$ref": "ResourcePolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.resourcePolicies.getIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"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" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/resourcePolicies/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new resource policy.", +"flatPath": "projects/{project}/regions/{region}/resourcePolicies", +"httpMethod": "POST", +"id": "compute.resourcePolicies.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/resourcePolicies", +"request": { +"$ref": "ResourcePolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "A list all the resource policies that have been configured for the specified project in specified region.", +"flatPath": "projects/{project}/regions/{region}/resourcePolicies", +"httpMethod": "GET", +"id": "compute.resourcePolicies.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/resourcePolicies", +"response": { +"$ref": "ResourcePolicyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Modify the specified resource policy.", +"flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", +"httpMethod": "PATCH", +"id": "compute.resourcePolicies.patch", +"parameterOrder": [ +"project", +"region", +"resourcePolicy" +], +"parameters": { +"paths": { +"location": "query", +"repeated": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resourcePolicy": { +"description": "Id of the resource policy to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "update_mask indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", +"request": { +"$ref": "ResourcePolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.resourcePolicies.setIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/resourcePolicies/{resource}/setIamPolicy", +"request": { +"$ref": "RegionSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.resourcePolicies.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/resourcePolicies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"routers": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of routers. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/routers", +"httpMethod": "GET", +"id": "compute.routers.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/routers", +"response": { +"$ref": "RouterAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified Router resource.", +"flatPath": "projects/{project}/regions/{region}/routers/{router}", +"httpMethod": "DELETE", +"id": "compute.routers.delete", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"router": { +"description": "Name of the Router resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"deleteNamedSet": { +"description": "Deletes Named Set", +"flatPath": "projects/{project}/regions/{region}/routers/{router}/deleteNamedSet", +"httpMethod": "POST", +"id": "compute.routers.deleteNamedSet", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"namedSet": { +"description": "The Named Set name for this request. Name must conform to RFC1035", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"router": { +"description": "Name of the Router resource where Named Set is defined.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}/deleteNamedSet", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"deleteRoutePolicy": { +"description": "Deletes Route Policy", +"flatPath": "projects/{project}/regions/{region}/routers/{router}/deleteRoutePolicy", +"httpMethod": "POST", +"id": "compute.routers.deleteRoutePolicy", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"policy": { +"description": "The Policy name for this request. Name must conform to RFC1035", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"router": { +"description": "Name of the Router resource where Route Policy is defined.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}/deleteRoutePolicy", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified Router resource.", +"flatPath": "projects/{project}/regions/{region}/routers/{router}", +"httpMethod": "GET", +"id": "compute.routers.get", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"router": { +"description": "Name of the Router resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}", +"response": { +"$ref": "Router" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getNamedSet": { +"description": "Returns specified Named Set", +"flatPath": "projects/{project}/regions/{region}/routers/{router}/getNamedSet", +"httpMethod": "GET", +"id": "compute.routers.getNamedSet", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"namedSet": { +"description": "The Named Set name for this request. Name must conform to RFC1035", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"router": { +"description": "Name of the Router resource to query for the named set. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}/getNamedSet", +"response": { +"$ref": "RoutersGetNamedSetResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getNatIpInfo": { +"description": "Retrieves runtime NAT IP information.", +"flatPath": "projects/{project}/regions/{region}/routers/{router}/getNatIpInfo", +"httpMethod": "GET", +"id": "compute.routers.getNatIpInfo", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"natName": { +"description": "Name of the nat service to filter the NAT IP information. If it is omitted, all nats for this router will be returned. Name should conform to RFC1035.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"router": { +"description": "Name of the Router resource to query for Nat IP information. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}/getNatIpInfo", +"response": { +"$ref": "NatIpInfoResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getNatMappingInfo": { +"description": "Retrieves runtime Nat mapping information of VM endpoints.", +"flatPath": "projects/{project}/regions/{region}/routers/{router}/getNatMappingInfo", +"httpMethod": "GET", +"id": "compute.routers.getNatMappingInfo", +"parameterOrder": [ +"project", +"region", +"router" +], +"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" +}, +"natName": { +"description": "Name of the nat service to filter the Nat Mapping information. If it is omitted, all nats for this router will be returned. Name should conform to RFC1035.", +"location": "query", +"type": "string" +}, +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"router": { +"description": "Name of the Router resource to query for Nat Mapping information of VM endpoints.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}/getNatMappingInfo", +"response": { +"$ref": "VmEndpointNatMappingsList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getRoutePolicy": { +"description": "Returns specified Route Policy", +"flatPath": "projects/{project}/regions/{region}/routers/{router}/getRoutePolicy", +"httpMethod": "GET", +"id": "compute.routers.getRoutePolicy", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"policy": { +"description": "The Policy name for this request. Name must conform to RFC1035", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"router": { +"description": "Name of the Router resource to query for the route policy. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}/getRoutePolicy", +"response": { +"$ref": "RoutersGetRoutePolicyResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getRouterStatus": { +"description": "Retrieves runtime information of the specified router.", +"flatPath": "projects/{project}/regions/{region}/routers/{router}/getRouterStatus", +"httpMethod": "GET", +"id": "compute.routers.getRouterStatus", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"router": { +"description": "Name of the Router resource to query.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}/getRouterStatus", +"response": { +"$ref": "RouterStatusResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a Router resource in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/routers", +"httpMethod": "POST", +"id": "compute.routers.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers", +"request": { +"$ref": "Router" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of Router resources available to the specified project.", +"flatPath": "projects/{project}/regions/{region}/routers", +"httpMethod": "GET", +"id": "compute.routers.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/routers", +"response": { +"$ref": "RouterList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listBgpRoutes": { +"description": "Retrieves a list of router bgp routes available to the specified project.", +"flatPath": "projects/{project}/regions/{region}/routers/{router}/listBgpRoutes", +"httpMethod": "GET", +"id": "compute.routers.listBgpRoutes", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"addressFamily": { +"default": "UNSPECIFIED_IP_VERSION", +"description": "(Required) limit results to this address family (either IPv4 or IPv6)", +"enum": [ +"IPV4", +"IPV6", +"UNSPECIFIED_IP_VERSION" +], +"enumDescriptions": [ +"", +"", +"" +], +"location": "query", +"type": "string" +}, +"destinationPrefix": { +"description": "Limit results to destinations that are subnets of this CIDR range", +"location": "query", +"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" +}, +"peer": { +"description": "(Required) limit results to the BGP peer with the given name. Name should conform to RFC1035.", +"location": "query", +"type": "string" +}, +"policyApplied": { +"default": "true", +"description": "When true, the method returns post-policy routes. Otherwise, it returns pre-policy routes.", +"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" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"routeType": { +"default": "UNSPECIFIED_ROUTE_TYPE", +"description": "(Required) limit results to this type of route (either LEARNED or ADVERTISED)", +"enum": [ +"ADVERTISED", +"LEARNED", +"UNSPECIFIED_ROUTE_TYPE" +], +"enumDescriptions": [ +"", +"", +"" +], +"location": "query", +"type": "string" +}, +"router": { +"description": "Name or id of the resource for this request. Name should conform to RFC1035.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}/listBgpRoutes", +"response": { +"$ref": "RoutersListBgpRoutes" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listNamedSets": { +"description": "Retrieves a list of router named set subresources available to the specified project.", +"flatPath": "projects/{project}/regions/{region}/routers/{router}/listNamedSets", +"httpMethod": "GET", +"id": "compute.routers.listNamedSets", +"parameterOrder": [ +"project", +"region", +"router" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"router": { +"description": "Name or id of the resource for this request. Name should conform to RFC1035.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}/listNamedSets", +"response": { +"$ref": "RoutersListNamedSets" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listRoutePolicies": { +"description": "Retrieves a list of router route policy subresources available to the specified project.", +"flatPath": "projects/{project}/regions/{region}/routers/{router}/listRoutePolicies", +"httpMethod": "GET", +"id": "compute.routers.listRoutePolicies", +"parameterOrder": [ +"project", +"region", +"router" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"router": { +"description": "Name or id of the resource for this request. Name should conform to RFC1035.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}/listRoutePolicies", +"response": { +"$ref": "RoutersListRoutePolicies" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified Router resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/routers/{router}", +"httpMethod": "PATCH", +"id": "compute.routers.patch", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"router": { +"description": "Name of the Router resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}", +"request": { +"$ref": "Router" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patchNamedSet": { +"description": "Patches Named Set", +"flatPath": "projects/{project}/regions/{region}/routers/{router}/patchNamedSet", +"httpMethod": "POST", +"id": "compute.routers.patchNamedSet", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"router": { +"description": "Name of the Router resource where Named Set is defined.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}/patchNamedSet", +"request": { +"$ref": "NamedSet" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patchRoutePolicy": { +"description": "Patches Route Policy", +"flatPath": "projects/{project}/regions/{region}/routers/{router}/patchRoutePolicy", +"httpMethod": "POST", +"id": "compute.routers.patchRoutePolicy", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"router": { +"description": "Name of the Router resource where Route Policy is defined.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}/patchRoutePolicy", +"request": { +"$ref": "RoutePolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"preview": { +"description": "Preview fields auto-generated during router create and update operations. Calling this method does NOT create or update the router.", +"flatPath": "projects/{project}/regions/{region}/routers/{router}/preview", +"httpMethod": "POST", +"id": "compute.routers.preview", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"router": { +"description": "Name of the Router resource to query.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}/preview", +"request": { +"$ref": "Router" +}, +"response": { +"$ref": "RoutersPreviewResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/routers/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.routers.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates the specified Router resource with the data included in the request. This method conforms to PUT semantics, which requests that the state of the target resource be created or replaced with the state defined by the representation enclosed in the request message payload.", +"flatPath": "projects/{project}/regions/{region}/routers/{router}", +"httpMethod": "PUT", +"id": "compute.routers.update", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"router": { +"description": "Name of the Router resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}", +"request": { +"$ref": "Router" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"updateNamedSet": { +"description": "Updates or creates new Named Set", +"flatPath": "projects/{project}/regions/{region}/routers/{router}/updateNamedSet", +"httpMethod": "POST", +"id": "compute.routers.updateNamedSet", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"router": { +"description": "Name of the Router resource where Named Set is defined.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}/updateNamedSet", +"request": { +"$ref": "NamedSet" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"updateRoutePolicy": { +"description": "Updates or creates new Route Policy", +"flatPath": "projects/{project}/regions/{region}/routers/{router}/updateRoutePolicy", +"httpMethod": "POST", +"id": "compute.routers.updateRoutePolicy", +"parameterOrder": [ +"project", +"region", +"router" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"router": { +"description": "Name of the Router resource where Route Policy is defined.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/routers/{router}/updateRoutePolicy", +"request": { +"$ref": "RoutePolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"routes": { +"methods": { +"delete": { +"description": "Deletes the specified Route resource.", +"flatPath": "projects/{project}/global/routes/{route}", +"httpMethod": "DELETE", +"id": "compute.routes.delete", +"parameterOrder": [ +"project", +"route" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"route": { +"description": "Name of the Route resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/routes/{route}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified Route resource.", +"flatPath": "projects/{project}/global/routes/{route}", +"httpMethod": "GET", +"id": "compute.routes.get", +"parameterOrder": [ +"project", +"route" +], +"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" +}, +"route": { +"description": "Name of the Route resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/routes/{route}", +"response": { +"$ref": "Route" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a Route resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/routes", +"httpMethod": "POST", +"id": "compute.routes.insert", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/routes", +"request": { +"$ref": "Route" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of Route resources available to the specified project.", +"flatPath": "projects/{project}/global/routes", +"httpMethod": "GET", +"id": "compute.routes.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/routes", +"response": { +"$ref": "RouteList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/routes/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.routes.testIamPermissions", +"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": "projects/{project}/global/routes/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"securityPolicies": { +"methods": { +"addRule": { +"description": "Inserts a rule into a security policy.", +"flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/addRule", +"httpMethod": "POST", +"id": "compute.securityPolicies.addRule", +"parameterOrder": [ +"project", +"securityPolicy" +], +"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" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"validateOnly": { +"description": "If true, the request will not be committed.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/securityPolicies/{securityPolicy}/addRule", +"request": { +"$ref": "SecurityPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"aggregatedList": { +"description": "Retrieves the list of all SecurityPolicy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/securityPolicies", +"httpMethod": "GET", +"id": "compute.securityPolicies.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/securityPolicies", +"response": { +"$ref": "SecurityPoliciesAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified policy.", +"flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}", +"httpMethod": "DELETE", +"id": "compute.securityPolicies.delete", +"parameterOrder": [ +"project", +"securityPolicy" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/securityPolicies/{securityPolicy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "List all of the ordered rules present in a single specified policy.", +"flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}", +"httpMethod": "GET", +"id": "compute.securityPolicies.get", +"parameterOrder": [ +"project", +"securityPolicy" +], +"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" +}, +"securityPolicy": { +"description": "Name of the security policy to get.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/securityPolicies/{securityPolicy}", +"response": { +"$ref": "SecurityPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getRule": { +"description": "Gets a rule at the specified priority.", +"flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/getRule", +"httpMethod": "GET", +"id": "compute.securityPolicies.getRule", +"parameterOrder": [ +"project", +"securityPolicy" +], +"parameters": { +"priority": { +"description": "The priority of the rule to get from the security policy.", +"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" +}, +"securityPolicy": { +"description": "Name of the security policy to which the queried rule belongs.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/securityPolicies/{securityPolicy}/getRule", +"response": { +"$ref": "SecurityPolicyRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new policy in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/securityPolicies", +"httpMethod": "POST", +"id": "compute.securityPolicies.insert", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If true, the request will not be committed.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/securityPolicies", +"request": { +"$ref": "SecurityPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "List all the policies that have been configured for the specified project.", +"flatPath": "projects/{project}/global/securityPolicies", +"httpMethod": "GET", +"id": "compute.securityPolicies.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/securityPolicies", +"response": { +"$ref": "SecurityPolicyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listPreconfiguredExpressionSets": { +"description": "Gets the current list of preconfigured Web Application Firewall (WAF) expressions.", +"flatPath": "projects/{project}/global/securityPolicies/listPreconfiguredExpressionSets", +"httpMethod": "GET", +"id": "compute.securityPolicies.listPreconfiguredExpressionSets", +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/securityPolicies/listPreconfiguredExpressionSets", +"response": { +"$ref": "SecurityPoliciesListPreconfiguredExpressionSetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified policy with the data included in the request. To clear fields in the policy, leave the fields empty and specify them in the updateMask. This cannot be used to be update the rules in the policy. Please use the per rule methods like addRule, patchRule, and removeRule instead.", +"flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}", +"httpMethod": "PATCH", +"id": "compute.securityPolicies.patch", +"parameterOrder": [ +"project", +"securityPolicy" +], +"parameters": { +"paths": { +"location": "query", +"repeated": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates fields to be cleared as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/securityPolicies/{securityPolicy}", +"request": { +"$ref": "SecurityPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patchRule": { +"description": "Patches a rule at the specified priority. To clear fields in the rule, leave the fields empty and specify them in the updateMask.", +"flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/patchRule", +"httpMethod": "POST", +"id": "compute.securityPolicies.patchRule", +"parameterOrder": [ +"project", +"securityPolicy" +], +"parameters": { +"priority": { +"description": "The priority of the rule to patch.", +"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" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates fields to be cleared as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If true, the request will not be committed.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/securityPolicies/{securityPolicy}/patchRule", +"request": { +"$ref": "SecurityPolicyRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeRule": { +"description": "Deletes a rule at the specified priority.", +"flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/removeRule", +"httpMethod": "POST", +"id": "compute.securityPolicies.removeRule", +"parameterOrder": [ +"project", +"securityPolicy" +], +"parameters": { +"priority": { +"description": "The priority of the rule to remove from the security policy.", +"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" +}, +"securityPolicy": { +"description": "Name of the security policy to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/securityPolicies/{securityPolicy}/removeRule", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on a security policy. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/global/securityPolicies/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.securityPolicies.setLabels", +"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": "projects/{project}/global/securityPolicies/{resource}/setLabels", +"request": { +"$ref": "GlobalSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/securityPolicies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.securityPolicies.testIamPermissions", +"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": "projects/{project}/global/securityPolicies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"serviceAttachments": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all ServiceAttachment resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/serviceAttachments", +"httpMethod": "GET", +"id": "compute.serviceAttachments.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/serviceAttachments", +"response": { +"$ref": "ServiceAttachmentAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified ServiceAttachment in the given scope", +"flatPath": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}", +"httpMethod": "DELETE", +"id": "compute.serviceAttachments.delete", +"parameterOrder": [ +"project", +"region", +"serviceAttachment" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"serviceAttachment": { +"description": "Name of the ServiceAttachment resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified ServiceAttachment resource in the given scope.", +"flatPath": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}", +"httpMethod": "GET", +"id": "compute.serviceAttachments.get", +"parameterOrder": [ +"project", +"region", +"serviceAttachment" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"serviceAttachment": { +"description": "Name of the ServiceAttachment resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}", +"response": { +"$ref": "ServiceAttachment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/regions/{region}/serviceAttachments/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.serviceAttachments.getIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"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" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/serviceAttachments/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a ServiceAttachment in the specified project in the given scope using the parameters that are included in the request.", +"flatPath": "projects/{project}/regions/{region}/serviceAttachments", +"httpMethod": "POST", +"id": "compute.serviceAttachments.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/serviceAttachments", +"request": { +"$ref": "ServiceAttachment" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists the ServiceAttachments for a project in the given scope.", +"flatPath": "projects/{project}/regions/{region}/serviceAttachments", +"httpMethod": "GET", +"id": "compute.serviceAttachments.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region of this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/serviceAttachments", +"response": { +"$ref": "ServiceAttachmentList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified ServiceAttachment resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}", +"httpMethod": "PATCH", +"id": "compute.serviceAttachments.patch", +"parameterOrder": [ +"project", +"region", +"serviceAttachment" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region scoping this request and should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"serviceAttachment": { +"description": "The resource id of the ServiceAttachment to patch. It should conform to RFC1035 resource name or be a string form on an unsigned long number.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}", +"request": { +"$ref": "ServiceAttachment" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/regions/{region}/serviceAttachments/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.serviceAttachments.setIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/serviceAttachments/{resource}/setIamPolicy", +"request": { +"$ref": "RegionSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/serviceAttachments/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.serviceAttachments.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/serviceAttachments/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"snapshotSettings": { +"methods": { +"get": { +"description": "Get snapshot settings.", +"flatPath": "projects/{project}/global/snapshotSettings", +"httpMethod": "GET", +"id": "compute.snapshotSettings.get", +"parameterOrder": [ +"project" +], +"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" +} +}, +"path": "projects/{project}/global/snapshotSettings", +"response": { +"$ref": "SnapshotSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patch snapshot settings.", +"flatPath": "projects/{project}/global/snapshotSettings", +"httpMethod": "PATCH", +"id": "compute.snapshotSettings.patch", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "update_mask indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/snapshotSettings", +"request": { +"$ref": "SnapshotSettings" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"snapshots": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of all of the snapshots in your project across all regions and global scope. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/snapshots", +"httpMethod": "GET", +"id": "compute.snapshots.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/snapshots", +"response": { +"$ref": "SnapshotAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified Snapshot resource. Keep in mind that deleting a single snapshot might not necessarily delete all the data on that snapshot. If any data on the snapshot that is marked for deletion is needed for subsequent snapshots, the data will be moved to the next corresponding snapshot. For more information, see Deleting snapshots.", +"flatPath": "projects/{project}/global/snapshots/{snapshot}", +"httpMethod": "DELETE", +"id": "compute.snapshots.delete", +"parameterOrder": [ +"project", +"snapshot" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"snapshot": { +"description": "Name of the Snapshot resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/snapshots/{snapshot}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified Snapshot resource.", +"flatPath": "projects/{project}/global/snapshots/{snapshot}", +"httpMethod": "GET", +"id": "compute.snapshots.get", +"parameterOrder": [ +"project", +"snapshot" +], +"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" +}, +"snapshot": { +"description": "Name of the Snapshot resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/snapshots/{snapshot}", +"response": { +"$ref": "Snapshot" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/global/snapshots/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.snapshots.getIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"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": "projects/{project}/global/snapshots/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a snapshot in the specified project using the data included in the request. For regular snapshot creation, consider using this method instead of disks.createSnapshot, as this method supports more features, such as creating snapshots in a project different from the source disk project.", +"flatPath": "projects/{project}/global/snapshots", +"httpMethod": "POST", +"id": "compute.snapshots.insert", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/snapshots", +"request": { +"$ref": "Snapshot" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of Snapshot resources contained within the specified project.", +"flatPath": "projects/{project}/global/snapshots", +"httpMethod": "GET", +"id": "compute.snapshots.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/snapshots", +"response": { +"$ref": "SnapshotList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/global/snapshots/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.snapshots.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": "projects/{project}/global/snapshots/{resource}/setIamPolicy", +"request": { +"$ref": "GlobalSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on a snapshot. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/global/snapshots/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.snapshots.setLabels", +"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": "projects/{project}/global/snapshots/{resource}/setLabels", +"request": { +"$ref": "GlobalSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/snapshots/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.snapshots.testIamPermissions", +"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": "projects/{project}/global/snapshots/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"sslCertificates": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all SslCertificate resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/sslCertificates", +"httpMethod": "GET", +"id": "compute.sslCertificates.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/sslCertificates", +"response": { +"$ref": "SslCertificateAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified SslCertificate resource.", +"flatPath": "projects/{project}/global/sslCertificates/{sslCertificate}", +"httpMethod": "DELETE", +"id": "compute.sslCertificates.delete", +"parameterOrder": [ +"project", +"sslCertificate" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sslCertificate": { +"description": "Name of the SslCertificate resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/sslCertificates/{sslCertificate}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified SslCertificate resource.", +"flatPath": "projects/{project}/global/sslCertificates/{sslCertificate}", +"httpMethod": "GET", +"id": "compute.sslCertificates.get", +"parameterOrder": [ +"project", +"sslCertificate" +], +"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" +}, +"sslCertificate": { +"description": "Name of the SslCertificate resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/sslCertificates/{sslCertificate}", +"response": { +"$ref": "SslCertificate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a SslCertificate resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/sslCertificates", +"httpMethod": "POST", +"id": "compute.sslCertificates.insert", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/sslCertificates", +"request": { +"$ref": "SslCertificate" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of SslCertificate resources available to the specified project.", +"flatPath": "projects/{project}/global/sslCertificates", +"httpMethod": "GET", +"id": "compute.sslCertificates.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/sslCertificates", +"response": { +"$ref": "SslCertificateList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/sslCertificates/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.sslCertificates.testIamPermissions", +"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": "projects/{project}/global/sslCertificates/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"sslPolicies": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all SslPolicy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/sslPolicies", +"httpMethod": "GET", +"id": "compute.sslPolicies.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/sslPolicies", +"response": { +"$ref": "SslPoliciesAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified SSL policy. The SSL policy resource can be deleted only if it is not in use by any TargetHttpsProxy or TargetSslProxy resources.", +"flatPath": "projects/{project}/global/sslPolicies/{sslPolicy}", +"httpMethod": "DELETE", +"id": "compute.sslPolicies.delete", +"parameterOrder": [ +"project", +"sslPolicy" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sslPolicy": { +"description": "Name of the SSL policy to delete. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/sslPolicies/{sslPolicy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Lists all of the ordered rules present in a single specified policy.", +"flatPath": "projects/{project}/global/sslPolicies/{sslPolicy}", +"httpMethod": "GET", +"id": "compute.sslPolicies.get", +"parameterOrder": [ +"project", +"sslPolicy" +], +"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" +}, +"sslPolicy": { +"description": "Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/sslPolicies/{sslPolicy}", +"response": { +"$ref": "SslPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Returns the specified SSL policy resource.", +"flatPath": "projects/{project}/global/sslPolicies", +"httpMethod": "POST", +"id": "compute.sslPolicies.insert", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/sslPolicies", +"request": { +"$ref": "SslPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists all the SSL policies that have been configured for the specified project.", +"flatPath": "projects/{project}/global/sslPolicies", +"httpMethod": "GET", +"id": "compute.sslPolicies.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/sslPolicies", +"response": { +"$ref": "SslPoliciesList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listAvailableFeatures": { +"description": "Lists all features that can be specified in the SSL policy when using custom profile.", +"flatPath": "projects/{project}/global/sslPolicies/listAvailableFeatures", +"httpMethod": "GET", +"id": "compute.sslPolicies.listAvailableFeatures", +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/sslPolicies/listAvailableFeatures", +"response": { +"$ref": "SslPoliciesListAvailableFeaturesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified SSL policy with the data included in the request.", +"flatPath": "projects/{project}/global/sslPolicies/{sslPolicy}", +"httpMethod": "PATCH", +"id": "compute.sslPolicies.patch", +"parameterOrder": [ +"project", +"sslPolicy" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sslPolicy": { +"description": "Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/sslPolicies/{sslPolicy}", +"request": { +"$ref": "SslPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/sslPolicies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.sslPolicies.testIamPermissions", +"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": "projects/{project}/global/sslPolicies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"storagePoolTypes": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of storage pool types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/storagePoolTypes", +"httpMethod": "GET", +"id": "compute.storagePoolTypes.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/storagePoolTypes", +"response": { +"$ref": "StoragePoolTypeAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"get": { +"description": "Returns the specified storage pool type.", +"flatPath": "projects/{project}/zones/{zone}/storagePoolTypes/{storagePoolType}", +"httpMethod": "GET", +"id": "compute.storagePoolTypes.get", +"parameterOrder": [ +"project", +"zone", +"storagePoolType" +], +"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" +}, +"storagePoolType": { +"description": "Name of the storage pool type to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePoolTypes/{storagePoolType}", +"response": { +"$ref": "StoragePoolType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of storage pool types available to the specified project.", +"flatPath": "projects/{project}/zones/{zone}/storagePoolTypes", +"httpMethod": "GET", +"id": "compute.storagePoolTypes.list", +"parameterOrder": [ +"project", +"zone" +], +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePoolTypes", +"response": { +"$ref": "StoragePoolTypeList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"storagePools": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of storage pools. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/storagePools", +"httpMethod": "GET", +"id": "compute.storagePools.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/storagePools", +"response": { +"$ref": "StoragePoolAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified storage pool. Deleting a storagePool removes its data permanently and is irreversible. However, deleting a storagePool does not delete any snapshots previously made from the storagePool. You must separately delete snapshots.", +"flatPath": "projects/{project}/zones/{zone}/storagePools/{storagePool}", +"httpMethod": "DELETE", +"id": "compute.storagePools.delete", +"parameterOrder": [ +"project", +"zone", +"storagePool" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"storagePool": { +"description": "Name of the storage pool to delete.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePools/{storagePool}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns a specified storage pool. Gets a list of available storage pools by making a list() request.", +"flatPath": "projects/{project}/zones/{zone}/storagePools/{storagePool}", +"httpMethod": "GET", +"id": "compute.storagePools.get", +"parameterOrder": [ +"project", +"zone", +"storagePool" +], +"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" +}, +"storagePool": { +"description": "Name of the storage pool to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePools/{storagePool}", +"response": { +"$ref": "StoragePool" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/zones/{zone}/storagePools/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.storagePools.getIamPolicy", +"parameterOrder": [ +"project", +"zone", +"resource" +], +"parameters": { +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePools/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a storage pool in the specified project using the data in the request.", +"flatPath": "projects/{project}/zones/{zone}/storagePools", +"httpMethod": "POST", +"id": "compute.storagePools.insert", +"parameterOrder": [ +"project", +"zone" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePools", +"request": { +"$ref": "StoragePool" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of storage pools contained within the specified zone.", +"flatPath": "projects/{project}/zones/{zone}/storagePools", +"httpMethod": "GET", +"id": "compute.storagePools.list", +"parameterOrder": [ +"project", +"zone" +], +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePools", +"response": { +"$ref": "StoragePoolList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listDisks": { +"description": "Lists the disks in a specified storage pool.", +"flatPath": "projects/{project}/zones/{zone}/storagePools/{storagePool}/listDisks", +"httpMethod": "GET", +"id": "compute.storagePools.listDisks", +"parameterOrder": [ +"project", +"zone", +"storagePool" +], +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"storagePool": { +"description": "Name of the storage pool to list disks of.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePools/{storagePool}/listDisks", +"response": { +"$ref": "StoragePoolListDisks" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/zones/{zone}/storagePools/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.storagePools.setIamPolicy", +"parameterOrder": [ +"project", +"zone", +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePools/{resource}/setIamPolicy", +"request": { +"$ref": "ZoneSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setLabels": { +"description": "Sets the labels on a storage pools. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/zones/{zone}/storagePools/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.storagePools.setLabels", +"parameterOrder": [ +"project", +"zone", +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePools/{resource}/setLabels", +"request": { +"$ref": "ZoneSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/zones/{zone}/storagePools/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.storagePools.testIamPermissions", +"parameterOrder": [ +"project", +"zone", +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePools/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates the specified storagePool with the data included in the request. The update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: pool_provisioned_capacity_gb, pool_provisioned_iops and pool_provisioned_throughput.", +"flatPath": "projects/{project}/zones/{zone}/storagePools/{storagePool}", +"httpMethod": "PATCH", +"id": "compute.storagePools.update", +"parameterOrder": [ +"project", +"zone", +"storagePool" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"storagePool": { +"description": "The storagePool name 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" +}, +"updateMask": { +"description": "update_mask indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/storagePools/{storagePool}", +"request": { +"$ref": "StoragePool" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"subnetworks": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of subnetworks. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/subnetworks", +"httpMethod": "GET", +"id": "compute.subnetworks.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/subnetworks", +"response": { +"$ref": "SubnetworkAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified subnetwork.", +"flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", +"httpMethod": "DELETE", +"id": "compute.subnetworks.delete", +"parameterOrder": [ +"project", +"region", +"subnetwork" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"subnetwork": { +"description": "Name of the Subnetwork resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"expandIpCidrRange": { +"description": "Expands the IP CIDR range of the subnetwork to a specified value.", +"flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}/expandIpCidrRange", +"httpMethod": "POST", +"id": "compute.subnetworks.expandIpCidrRange", +"parameterOrder": [ +"project", +"region", +"subnetwork" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"subnetwork": { +"description": "Name of the Subnetwork resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/subnetworks/{subnetwork}/expandIpCidrRange", +"request": { +"$ref": "SubnetworksExpandIpCidrRangeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified subnetwork.", +"flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", +"httpMethod": "GET", +"id": "compute.subnetworks.get", +"parameterOrder": [ +"project", +"region", +"subnetwork" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"subnetwork": { +"description": "Name of the Subnetwork resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", +"response": { +"$ref": "Subnetwork" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "projects/{project}/regions/{region}/subnetworks/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "compute.subnetworks.getIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"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" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/subnetworks/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a subnetwork in the specified project using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/subnetworks", +"httpMethod": "POST", +"id": "compute.subnetworks.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/subnetworks", +"request": { +"$ref": "Subnetwork" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of subnetworks available to the specified project.", +"flatPath": "projects/{project}/regions/{region}/subnetworks", +"httpMethod": "GET", +"id": "compute.subnetworks.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/subnetworks", +"response": { +"$ref": "SubnetworkList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listUsable": { +"description": "Retrieves an aggregated list of all usable subnetworks in the project.", +"flatPath": "projects/{project}/aggregated/subnetworks/listUsable", +"httpMethod": "GET", +"id": "compute.subnetworks.listUsable", +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProject": { +"description": "The project id or project number in which the subnetwork is intended to be used. Only applied for Shared VPC. See [Shared VPC documentation](https://cloud.google.com/vpc/docs/shared-vpc/)", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/subnetworks/listUsable", +"response": { +"$ref": "UsableSubnetworksAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified subnetwork with the data included in the request. Only certain fields can be updated with a patch request as indicated in the field descriptions. You must specify the current fingerprint of the subnetwork resource being patched.", +"flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", +"httpMethod": "PATCH", +"id": "compute.subnetworks.patch", +"parameterOrder": [ +"project", +"region", +"subnetwork" +], +"parameters": { +"drainTimeoutSeconds": { +"description": "The drain timeout specifies the upper bound in seconds on the amount of time allowed to drain connections from the current ACTIVE subnetwork to the current BACKUP subnetwork. The drain timeout is only applicable when the following conditions are true: - the subnetwork being patched has purpose = INTERNAL_HTTPS_LOAD_BALANCER - the subnetwork being patched has role = BACKUP - the patch request is setting the role to ACTIVE. Note that after this patch operation the roles of the ACTIVE and BACKUP subnetworks will be swapped.", +"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" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"subnetwork": { +"description": "Name of the Subnetwork resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", +"request": { +"$ref": "Subnetwork" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "projects/{project}/regions/{region}/subnetworks/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "compute.subnetworks.setIamPolicy", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/subnetworks/{resource}/setIamPolicy", +"request": { +"$ref": "RegionSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setPrivateIpGoogleAccess": { +"description": "Set whether VMs in this subnet can access Google services without assigning external IP addresses through Private Google Access.", +"flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}/setPrivateIpGoogleAccess", +"httpMethod": "POST", +"id": "compute.subnetworks.setPrivateIpGoogleAccess", +"parameterOrder": [ +"project", +"region", +"subnetwork" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"subnetwork": { +"description": "Name of the Subnetwork resource.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/subnetworks/{subnetwork}/setPrivateIpGoogleAccess", +"request": { +"$ref": "SubnetworksSetPrivateIpGoogleAccessRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/subnetworks/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.subnetworks.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/subnetworks/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"targetGrpcProxies": { +"methods": { +"delete": { +"description": "Deletes the specified TargetGrpcProxy in the given scope", +"flatPath": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", +"httpMethod": "DELETE", +"id": "compute.targetGrpcProxies.delete", +"parameterOrder": [ +"project", +"targetGrpcProxy" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetGrpcProxy": { +"description": "Name of the TargetGrpcProxy resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified TargetGrpcProxy resource in the given scope.", +"flatPath": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", +"httpMethod": "GET", +"id": "compute.targetGrpcProxies.get", +"parameterOrder": [ +"project", +"targetGrpcProxy" +], +"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" +}, +"targetGrpcProxy": { +"description": "Name of the TargetGrpcProxy resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", +"response": { +"$ref": "TargetGrpcProxy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a TargetGrpcProxy in the specified project in the given scope using the parameters that are included in the request.", +"flatPath": "projects/{project}/global/targetGrpcProxies", +"httpMethod": "POST", +"id": "compute.targetGrpcProxies.insert", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/targetGrpcProxies", +"request": { +"$ref": "TargetGrpcProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists the TargetGrpcProxies for a project in the given scope.", +"flatPath": "projects/{project}/global/targetGrpcProxies", +"httpMethod": "GET", +"id": "compute.targetGrpcProxies.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/targetGrpcProxies", +"response": { +"$ref": "TargetGrpcProxyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified TargetGrpcProxy resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", +"httpMethod": "PATCH", +"id": "compute.targetGrpcProxies.patch", +"parameterOrder": [ +"project", +"targetGrpcProxy" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetGrpcProxy": { +"description": "Name of the TargetGrpcProxy resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", +"request": { +"$ref": "TargetGrpcProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/targetGrpcProxies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.targetGrpcProxies.testIamPermissions", +"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": "projects/{project}/global/targetGrpcProxies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"targetHttpProxies": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all TargetHttpProxy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/targetHttpProxies", +"httpMethod": "GET", +"id": "compute.targetHttpProxies.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/targetHttpProxies", +"response": { +"$ref": "TargetHttpProxyAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified TargetHttpProxy resource.", +"flatPath": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", +"httpMethod": "DELETE", +"id": "compute.targetHttpProxies.delete", +"parameterOrder": [ +"project", +"targetHttpProxy" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpProxy": { +"description": "Name of the TargetHttpProxy resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified TargetHttpProxy resource.", +"flatPath": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", +"httpMethod": "GET", +"id": "compute.targetHttpProxies.get", +"parameterOrder": [ +"project", +"targetHttpProxy" +], +"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" +}, +"targetHttpProxy": { +"description": "Name of the TargetHttpProxy resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", +"response": { +"$ref": "TargetHttpProxy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a TargetHttpProxy resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/targetHttpProxies", +"httpMethod": "POST", +"id": "compute.targetHttpProxies.insert", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpProxies", +"request": { +"$ref": "TargetHttpProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of TargetHttpProxy resources available to the specified project.", +"flatPath": "projects/{project}/global/targetHttpProxies", +"httpMethod": "GET", +"id": "compute.targetHttpProxies.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/targetHttpProxies", +"response": { +"$ref": "TargetHttpProxyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified TargetHttpProxy resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", +"httpMethod": "PATCH", +"id": "compute.targetHttpProxies.patch", +"parameterOrder": [ +"project", +"targetHttpProxy" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpProxy": { +"description": "Name of the TargetHttpProxy resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", +"request": { +"$ref": "TargetHttpProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setUrlMap": { +"description": "Changes the URL map for TargetHttpProxy.", +"flatPath": "projects/{project}/targetHttpProxies/{targetHttpProxy}/setUrlMap", +"httpMethod": "POST", +"id": "compute.targetHttpProxies.setUrlMap", +"parameterOrder": [ +"project", +"targetHttpProxy" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpProxy": { +"description": "Name of the TargetHttpProxy to set a URL map for.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/targetHttpProxies/{targetHttpProxy}/setUrlMap", +"request": { +"$ref": "UrlMapReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/targetHttpProxies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.targetHttpProxies.testIamPermissions", +"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": "projects/{project}/global/targetHttpProxies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"targetHttpsProxies": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all TargetHttpsProxy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/targetHttpsProxies", +"httpMethod": "GET", +"id": "compute.targetHttpsProxies.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/targetHttpsProxies", +"response": { +"$ref": "TargetHttpsProxyAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified TargetHttpsProxy resource.", +"flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", +"httpMethod": "DELETE", +"id": "compute.targetHttpsProxies.delete", +"parameterOrder": [ +"project", +"targetHttpsProxy" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified TargetHttpsProxy resource.", +"flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", +"httpMethod": "GET", +"id": "compute.targetHttpsProxies.get", +"parameterOrder": [ +"project", +"targetHttpsProxy" +], +"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" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", +"response": { +"$ref": "TargetHttpsProxy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a TargetHttpsProxy resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/targetHttpsProxies", +"httpMethod": "POST", +"id": "compute.targetHttpsProxies.insert", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpsProxies", +"request": { +"$ref": "TargetHttpsProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of TargetHttpsProxy resources available to the specified project.", +"flatPath": "projects/{project}/global/targetHttpsProxies", +"httpMethod": "GET", +"id": "compute.targetHttpsProxies.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/targetHttpsProxies", +"response": { +"$ref": "TargetHttpsProxyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified TargetHttpsProxy resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", +"httpMethod": "PATCH", +"id": "compute.targetHttpsProxies.patch", +"parameterOrder": [ +"project", +"targetHttpsProxy" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", +"request": { +"$ref": "TargetHttpsProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setCertificateMap": { +"description": "Changes the Certificate Map for TargetHttpsProxy.", +"flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setCertificateMap", +"httpMethod": "POST", +"id": "compute.targetHttpsProxies.setCertificateMap", +"parameterOrder": [ +"project", +"targetHttpsProxy" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource whose CertificateMap is to be set. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setCertificateMap", +"request": { +"$ref": "TargetHttpsProxiesSetCertificateMapRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setQuicOverride": { +"description": "Sets the QUIC override policy for TargetHttpsProxy.", +"flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setQuicOverride", +"httpMethod": "POST", +"id": "compute.targetHttpsProxies.setQuicOverride", +"parameterOrder": [ +"project", +"targetHttpsProxy" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource to set the QUIC override policy for. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setQuicOverride", +"request": { +"$ref": "TargetHttpsProxiesSetQuicOverrideRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setSslCertificates": { +"description": "Replaces SslCertificates for TargetHttpsProxy.", +"flatPath": "projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates", +"httpMethod": "POST", +"id": "compute.targetHttpsProxies.setSslCertificates", +"parameterOrder": [ +"project", +"targetHttpsProxy" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource to set an SslCertificates resource for.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates", +"request": { +"$ref": "TargetHttpsProxiesSetSslCertificatesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setSslPolicy": { +"description": "Sets the SSL policy for TargetHttpsProxy. The SSL policy specifies the server-side support for SSL features. This affects connections between clients and the HTTPS proxy load balancer. They do not affect the connection between the load balancer and the backends.", +"flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setSslPolicy", +"httpMethod": "POST", +"id": "compute.targetHttpsProxies.setSslPolicy", +"parameterOrder": [ +"project", +"targetHttpsProxy" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource whose SSL policy is to be set. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setSslPolicy", +"request": { +"$ref": "SslPolicyReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setUrlMap": { +"description": "Changes the URL map for TargetHttpsProxy.", +"flatPath": "projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap", +"httpMethod": "POST", +"id": "compute.targetHttpsProxies.setUrlMap", +"parameterOrder": [ +"project", +"targetHttpsProxy" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetHttpsProxy": { +"description": "Name of the TargetHttpsProxy resource whose URL map is to be set.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap", +"request": { +"$ref": "UrlMapReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/targetHttpsProxies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.targetHttpsProxies.testIamPermissions", +"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": "projects/{project}/global/targetHttpsProxies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"targetInstances": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of target instances. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/targetInstances", +"httpMethod": "GET", +"id": "compute.targetInstances.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/targetInstances", +"response": { +"$ref": "TargetInstanceAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified TargetInstance resource.", +"flatPath": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}", +"httpMethod": "DELETE", +"id": "compute.targetInstances.delete", +"parameterOrder": [ +"project", +"zone", +"targetInstance" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetInstance": { +"description": "Name of the TargetInstance resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified TargetInstance resource.", +"flatPath": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}", +"httpMethod": "GET", +"id": "compute.targetInstances.get", +"parameterOrder": [ +"project", +"zone", +"targetInstance" +], +"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" +}, +"targetInstance": { +"description": "Name of the TargetInstance resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}", +"response": { +"$ref": "TargetInstance" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a TargetInstance resource in the specified project and zone using the data included in the request.", +"flatPath": "projects/{project}/zones/{zone}/targetInstances", +"httpMethod": "POST", +"id": "compute.targetInstances.insert", +"parameterOrder": [ +"project", +"zone" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/targetInstances", +"request": { +"$ref": "TargetInstance" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of TargetInstance resources available to the specified project and zone.", +"flatPath": "projects/{project}/zones/{zone}/targetInstances", +"httpMethod": "GET", +"id": "compute.targetInstances.list", +"parameterOrder": [ +"project", +"zone" +], +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "Name of the zone scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/targetInstances", +"response": { +"$ref": "TargetInstanceList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setSecurityPolicy": { +"description": "Sets the Google Cloud Armor security policy for the specified target instance. For more information, see Google Cloud Armor Overview", +"flatPath": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}/setSecurityPolicy", +"httpMethod": "POST", +"id": "compute.targetInstances.setSecurityPolicy", +"parameterOrder": [ +"project", +"zone", +"targetInstance" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetInstance": { +"description": "Name of the TargetInstance resource to which the security policy should be set. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}/setSecurityPolicy", +"request": { +"$ref": "SecurityPolicyReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/zones/{zone}/targetInstances/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.targetInstances.testIamPermissions", +"parameterOrder": [ +"project", +"zone", +"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" +}, +"zone": { +"description": "The name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/targetInstances/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"targetPools": { +"methods": { +"addHealthCheck": { +"description": "Adds health check URLs to a target pool.", +"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/addHealthCheck", +"httpMethod": "POST", +"id": "compute.targetPools.addHealthCheck", +"parameterOrder": [ +"project", +"region", +"targetPool" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetPool": { +"description": "Name of the target pool to add a health check to.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetPools/{targetPool}/addHealthCheck", +"request": { +"$ref": "TargetPoolsAddHealthCheckRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"addInstance": { +"description": "Adds an instance to a target pool.", +"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/addInstance", +"httpMethod": "POST", +"id": "compute.targetPools.addInstance", +"parameterOrder": [ +"project", +"region", +"targetPool" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetPool": { +"description": "Name of the TargetPool resource to add instances to.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetPools/{targetPool}/addInstance", +"request": { +"$ref": "TargetPoolsAddInstanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"aggregatedList": { +"description": "Retrieves an aggregated list of target pools. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/targetPools", +"httpMethod": "GET", +"id": "compute.targetPools.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/targetPools", +"response": { +"$ref": "TargetPoolAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified target pool.", +"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}", +"httpMethod": "DELETE", +"id": "compute.targetPools.delete", +"parameterOrder": [ +"project", +"region", +"targetPool" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetPool": { +"description": "Name of the TargetPool resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetPools/{targetPool}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified target pool.", +"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}", +"httpMethod": "GET", +"id": "compute.targetPools.get", +"parameterOrder": [ +"project", +"region", +"targetPool" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"targetPool": { +"description": "Name of the TargetPool resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetPools/{targetPool}", +"response": { +"$ref": "TargetPool" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getHealth": { +"description": "Gets the most recent health check results for each IP for the instance that is referenced by the given target pool.", +"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/getHealth", +"httpMethod": "POST", +"id": "compute.targetPools.getHealth", +"parameterOrder": [ +"project", +"region", +"targetPool" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"targetPool": { +"description": "Name of the TargetPool resource to which the queried instance belongs.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetPools/{targetPool}/getHealth", +"request": { +"$ref": "InstanceReference" +}, +"response": { +"$ref": "TargetPoolInstanceHealth" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a target pool in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/targetPools", +"httpMethod": "POST", +"id": "compute.targetPools.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetPools", +"request": { +"$ref": "TargetPool" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of target pools available to the specified project and region.", +"flatPath": "projects/{project}/regions/{region}/targetPools", +"httpMethod": "GET", +"id": "compute.targetPools.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/targetPools", +"response": { +"$ref": "TargetPoolList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"removeHealthCheck": { +"description": "Removes health check URL from a target pool.", +"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/removeHealthCheck", +"httpMethod": "POST", +"id": "compute.targetPools.removeHealthCheck", +"parameterOrder": [ +"project", +"region", +"targetPool" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetPool": { +"description": "Name of the target pool to remove health checks from.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetPools/{targetPool}/removeHealthCheck", +"request": { +"$ref": "TargetPoolsRemoveHealthCheckRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"removeInstance": { +"description": "Removes instance URL from a target pool.", +"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/removeInstance", +"httpMethod": "POST", +"id": "compute.targetPools.removeInstance", +"parameterOrder": [ +"project", +"region", +"targetPool" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetPool": { +"description": "Name of the TargetPool resource to remove instances from.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetPools/{targetPool}/removeInstance", +"request": { +"$ref": "TargetPoolsRemoveInstanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setBackup": { +"description": "Changes a backup target pool's configurations.", +"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/setBackup", +"httpMethod": "POST", +"id": "compute.targetPools.setBackup", +"parameterOrder": [ +"project", +"region", +"targetPool" +], +"parameters": { +"failoverRatio": { +"description": "New failoverRatio value for the target pool.", +"format": "float", +"location": "query", +"type": "number" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetPool": { +"description": "Name of the TargetPool resource to set a backup pool for.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetPools/{targetPool}/setBackup", +"request": { +"$ref": "TargetReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setSecurityPolicy": { +"description": "Sets the Google Cloud Armor security policy for the specified target pool. For more information, see Google Cloud Armor Overview", +"flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/setSecurityPolicy", +"httpMethod": "POST", +"id": "compute.targetPools.setSecurityPolicy", +"parameterOrder": [ +"project", +"region", +"targetPool" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetPool": { +"description": "Name of the TargetPool resource to which the security policy should be set. The name should conform to RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetPools/{targetPool}/setSecurityPolicy", +"request": { +"$ref": "SecurityPolicyReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/targetPools/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.targetPools.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetPools/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"targetSslProxies": { +"methods": { +"delete": { +"description": "Deletes the specified TargetSslProxy resource.", +"flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}", +"httpMethod": "DELETE", +"id": "compute.targetSslProxies.delete", +"parameterOrder": [ +"project", +"targetSslProxy" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetSslProxy": { +"description": "Name of the TargetSslProxy resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetSslProxies/{targetSslProxy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified TargetSslProxy resource.", +"flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}", +"httpMethod": "GET", +"id": "compute.targetSslProxies.get", +"parameterOrder": [ +"project", +"targetSslProxy" +], +"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" +}, +"targetSslProxy": { +"description": "Name of the TargetSslProxy resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetSslProxies/{targetSslProxy}", +"response": { +"$ref": "TargetSslProxy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a TargetSslProxy resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/targetSslProxies", +"httpMethod": "POST", +"id": "compute.targetSslProxies.insert", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/targetSslProxies", +"request": { +"$ref": "TargetSslProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of TargetSslProxy resources available to the specified project.", +"flatPath": "projects/{project}/global/targetSslProxies", +"httpMethod": "GET", +"id": "compute.targetSslProxies.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/targetSslProxies", +"response": { +"$ref": "TargetSslProxyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setBackendService": { +"description": "Changes the BackendService for TargetSslProxy.", +"flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setBackendService", +"httpMethod": "POST", +"id": "compute.targetSslProxies.setBackendService", +"parameterOrder": [ +"project", +"targetSslProxy" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetSslProxy": { +"description": "Name of the TargetSslProxy resource whose BackendService resource is to be set.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setBackendService", +"request": { +"$ref": "TargetSslProxiesSetBackendServiceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setCertificateMap": { +"description": "Changes the Certificate Map for TargetSslProxy.", +"flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setCertificateMap", +"httpMethod": "POST", +"id": "compute.targetSslProxies.setCertificateMap", +"parameterOrder": [ +"project", +"targetSslProxy" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetSslProxy": { +"description": "Name of the TargetSslProxy resource whose CertificateMap is to be set. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setCertificateMap", +"request": { +"$ref": "TargetSslProxiesSetCertificateMapRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setProxyHeader": { +"description": "Changes the ProxyHeaderType for TargetSslProxy.", +"flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setProxyHeader", +"httpMethod": "POST", +"id": "compute.targetSslProxies.setProxyHeader", +"parameterOrder": [ +"project", +"targetSslProxy" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetSslProxy": { +"description": "Name of the TargetSslProxy resource whose ProxyHeader is to be set.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setProxyHeader", +"request": { +"$ref": "TargetSslProxiesSetProxyHeaderRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setSslCertificates": { +"description": "Changes SslCertificates for TargetSslProxy.", +"flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslCertificates", +"httpMethod": "POST", +"id": "compute.targetSslProxies.setSslCertificates", +"parameterOrder": [ +"project", +"targetSslProxy" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetSslProxy": { +"description": "Name of the TargetSslProxy resource whose SslCertificate resource is to be set.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslCertificates", +"request": { +"$ref": "TargetSslProxiesSetSslCertificatesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setSslPolicy": { +"description": "Sets the SSL policy for TargetSslProxy. The SSL policy specifies the server-side support for SSL features. This affects connections between clients and the load balancer. They do not affect the connection between the load balancer and the backends.", +"flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslPolicy", +"httpMethod": "POST", +"id": "compute.targetSslProxies.setSslPolicy", +"parameterOrder": [ +"project", +"targetSslProxy" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetSslProxy": { +"description": "Name of the TargetSslProxy resource whose SSL policy is to be set. The name must be 1-63 characters long, and comply with RFC1035.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslPolicy", +"request": { +"$ref": "SslPolicyReference" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/targetSslProxies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.targetSslProxies.testIamPermissions", +"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": "projects/{project}/global/targetSslProxies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"targetTcpProxies": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all TargetTcpProxy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/targetTcpProxies", +"httpMethod": "GET", +"id": "compute.targetTcpProxies.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/targetTcpProxies", +"response": { +"$ref": "TargetTcpProxyAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified TargetTcpProxy resource.", +"flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}", +"httpMethod": "DELETE", +"id": "compute.targetTcpProxies.delete", +"parameterOrder": [ +"project", +"targetTcpProxy" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetTcpProxy": { +"description": "Name of the TargetTcpProxy resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified TargetTcpProxy resource.", +"flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}", +"httpMethod": "GET", +"id": "compute.targetTcpProxies.get", +"parameterOrder": [ +"project", +"targetTcpProxy" +], +"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" +}, +"targetTcpProxy": { +"description": "Name of the TargetTcpProxy resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}", +"response": { +"$ref": "TargetTcpProxy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a TargetTcpProxy resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/targetTcpProxies", +"httpMethod": "POST", +"id": "compute.targetTcpProxies.insert", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/targetTcpProxies", +"request": { +"$ref": "TargetTcpProxy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of TargetTcpProxy resources available to the specified project.", +"flatPath": "projects/{project}/global/targetTcpProxies", +"httpMethod": "GET", +"id": "compute.targetTcpProxies.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/targetTcpProxies", +"response": { +"$ref": "TargetTcpProxyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setBackendService": { +"description": "Changes the BackendService for TargetTcpProxy.", +"flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setBackendService", +"httpMethod": "POST", +"id": "compute.targetTcpProxies.setBackendService", +"parameterOrder": [ +"project", +"targetTcpProxy" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetTcpProxy": { +"description": "Name of the TargetTcpProxy resource whose BackendService resource is to be set.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setBackendService", +"request": { +"$ref": "TargetTcpProxiesSetBackendServiceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"setProxyHeader": { +"description": "Changes the ProxyHeaderType for TargetTcpProxy.", +"flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setProxyHeader", +"httpMethod": "POST", +"id": "compute.targetTcpProxies.setProxyHeader", +"parameterOrder": [ +"project", +"targetTcpProxy" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetTcpProxy": { +"description": "Name of the TargetTcpProxy resource whose ProxyHeader is to be set.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setProxyHeader", +"request": { +"$ref": "TargetTcpProxiesSetProxyHeaderRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/targetTcpProxies/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.targetTcpProxies.testIamPermissions", +"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": "projects/{project}/global/targetTcpProxies/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"targetVpnGateways": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of target VPN gateways. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/targetVpnGateways", +"httpMethod": "GET", +"id": "compute.targetVpnGateways.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/targetVpnGateways", +"response": { +"$ref": "TargetVpnGatewayAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified target VPN gateway.", +"flatPath": "projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}", +"httpMethod": "DELETE", +"id": "compute.targetVpnGateways.delete", +"parameterOrder": [ +"project", +"region", +"targetVpnGateway" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"targetVpnGateway": { +"description": "Name of the target VPN gateway to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified target VPN gateway.", +"flatPath": "projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}", +"httpMethod": "GET", +"id": "compute.targetVpnGateways.get", +"parameterOrder": [ +"project", +"region", +"targetVpnGateway" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"targetVpnGateway": { +"description": "Name of the target VPN gateway to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}", +"response": { +"$ref": "TargetVpnGateway" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a target VPN gateway in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/targetVpnGateways", +"httpMethod": "POST", +"id": "compute.targetVpnGateways.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetVpnGateways", +"request": { +"$ref": "TargetVpnGateway" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of target VPN gateways available to the specified project and region.", +"flatPath": "projects/{project}/regions/{region}/targetVpnGateways", +"httpMethod": "GET", +"id": "compute.targetVpnGateways.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/targetVpnGateways", +"response": { +"$ref": "TargetVpnGatewayList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setLabels": { +"description": "Sets the labels on a TargetVpnGateway. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/regions/{region}/targetVpnGateways/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.targetVpnGateways.setLabels", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetVpnGateways/{resource}/setLabels", +"request": { +"$ref": "RegionSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/targetVpnGateways/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.targetVpnGateways.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/targetVpnGateways/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"urlMaps": { +"methods": { +"aggregatedList": { +"description": "Retrieves the list of all UrlMap resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/urlMaps", +"httpMethod": "GET", +"id": "compute.urlMaps.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "Name of the project scoping this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/urlMaps", +"response": { +"$ref": "UrlMapsAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified UrlMap resource.", +"flatPath": "projects/{project}/global/urlMaps/{urlMap}", +"httpMethod": "DELETE", +"id": "compute.urlMaps.delete", +"parameterOrder": [ +"project", +"urlMap" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/urlMaps/{urlMap}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified UrlMap resource.", +"flatPath": "projects/{project}/global/urlMaps/{urlMap}", +"httpMethod": "GET", +"id": "compute.urlMaps.get", +"parameterOrder": [ +"project", +"urlMap" +], +"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" +}, +"urlMap": { +"description": "Name of the UrlMap resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/urlMaps/{urlMap}", +"response": { +"$ref": "UrlMap" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a UrlMap resource in the specified project using the data included in the request.", +"flatPath": "projects/{project}/global/urlMaps", +"httpMethod": "POST", +"id": "compute.urlMaps.insert", +"parameterOrder": [ +"project" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/global/urlMaps", +"request": { +"$ref": "UrlMap" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"invalidateCache": { +"description": "Initiates a cache invalidation operation, invalidating the specified path, scoped to the specified UrlMap. For more information, see [Invalidating cached content](/cdn/docs/invalidating-cached-content).", +"flatPath": "projects/{project}/global/urlMaps/{urlMap}/invalidateCache", +"httpMethod": "POST", +"id": "compute.urlMaps.invalidateCache", +"parameterOrder": [ +"project", +"urlMap" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap scoping this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/urlMaps/{urlMap}/invalidateCache", +"request": { +"$ref": "CacheInvalidationRule" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of UrlMap resources available to the specified project.", +"flatPath": "projects/{project}/global/urlMaps", +"httpMethod": "GET", +"id": "compute.urlMaps.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/urlMaps", +"response": { +"$ref": "UrlMapList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Patches the specified UrlMap resource with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/urlMaps/{urlMap}", +"httpMethod": "PATCH", +"id": "compute.urlMaps.patch", +"parameterOrder": [ +"project", +"urlMap" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/urlMaps/{urlMap}", +"request": { +"$ref": "UrlMap" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/global/urlMaps/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.urlMaps.testIamPermissions", +"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": "projects/{project}/global/urlMaps/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Updates the specified UrlMap resource with the data included in the request.", +"flatPath": "projects/{project}/global/urlMaps/{urlMap}", +"httpMethod": "PUT", +"id": "compute.urlMaps.update", +"parameterOrder": [ +"project", +"urlMap" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"urlMap": { +"description": "Name of the UrlMap resource to update.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/urlMaps/{urlMap}", +"request": { +"$ref": "UrlMap" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"validate": { +"description": "Runs static validation for the UrlMap. In particular, the tests of the provided UrlMap will be run. Calling this method does NOT create the UrlMap.", +"flatPath": "projects/{project}/global/urlMaps/{urlMap}/validate", +"httpMethod": "POST", +"id": "compute.urlMaps.validate", +"parameterOrder": [ +"project", +"urlMap" +], +"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" +}, +"urlMap": { +"description": "Name of the UrlMap resource to be validated as.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/urlMaps/{urlMap}/validate", +"request": { +"$ref": "UrlMapsValidateRequest" +}, +"response": { +"$ref": "UrlMapsValidateResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"vpnGateways": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of VPN gateways. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/vpnGateways", +"httpMethod": "GET", +"id": "compute.vpnGateways.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/vpnGateways", +"response": { +"$ref": "VpnGatewayAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified VPN gateway.", +"flatPath": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}", +"httpMethod": "DELETE", +"id": "compute.vpnGateways.delete", +"parameterOrder": [ +"project", +"region", +"vpnGateway" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"vpnGateway": { +"description": "Name of the VPN gateway to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified VPN gateway.", +"flatPath": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}", +"httpMethod": "GET", +"id": "compute.vpnGateways.get", +"parameterOrder": [ +"project", +"region", +"vpnGateway" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"vpnGateway": { +"description": "Name of the VPN gateway to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}", +"response": { +"$ref": "VpnGateway" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getStatus": { +"description": "Returns the status for the specified VPN gateway.", +"flatPath": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}/getStatus", +"httpMethod": "GET", +"id": "compute.vpnGateways.getStatus", +"parameterOrder": [ +"project", +"region", +"vpnGateway" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"vpnGateway": { +"description": "Name of the VPN gateway to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}/getStatus", +"response": { +"$ref": "VpnGatewaysGetStatusResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a VPN gateway in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/vpnGateways", +"httpMethod": "POST", +"id": "compute.vpnGateways.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/vpnGateways", +"request": { +"$ref": "VpnGateway" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of VPN gateways available to the specified project and region.", +"flatPath": "projects/{project}/regions/{region}/vpnGateways", +"httpMethod": "GET", +"id": "compute.vpnGateways.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/vpnGateways", +"response": { +"$ref": "VpnGatewayList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setLabels": { +"description": "Sets the labels on a VpnGateway. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/regions/{region}/vpnGateways/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.vpnGateways.setLabels", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/vpnGateways/{resource}/setLabels", +"request": { +"$ref": "RegionSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/vpnGateways/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.vpnGateways.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/vpnGateways/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"vpnTunnels": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of VPN tunnels. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/vpnTunnels", +"httpMethod": "GET", +"id": "compute.vpnTunnels.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/vpnTunnels", +"response": { +"$ref": "VpnTunnelAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"delete": { +"description": "Deletes the specified VpnTunnel resource.", +"flatPath": "projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}", +"httpMethod": "DELETE", +"id": "compute.vpnTunnels.delete", +"parameterOrder": [ +"project", +"region", +"vpnTunnel" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"vpnTunnel": { +"description": "Name of the VpnTunnel resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified VpnTunnel resource.", +"flatPath": "projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}", +"httpMethod": "GET", +"id": "compute.vpnTunnels.get", +"parameterOrder": [ +"project", +"region", +"vpnTunnel" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"vpnTunnel": { +"description": "Name of the VpnTunnel resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}", +"response": { +"$ref": "VpnTunnel" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a VpnTunnel resource in the specified project and region using the data included in the request.", +"flatPath": "projects/{project}/regions/{region}/vpnTunnels", +"httpMethod": "POST", +"id": "compute.vpnTunnels.insert", +"parameterOrder": [ +"project", +"region" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/vpnTunnels", +"request": { +"$ref": "VpnTunnel" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves a list of VpnTunnel resources contained in the specified project and region.", +"flatPath": "projects/{project}/regions/{region}/vpnTunnels", +"httpMethod": "GET", +"id": "compute.vpnTunnels.list", +"parameterOrder": [ +"project", +"region" +], +"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": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "Name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/regions/{region}/vpnTunnels", +"response": { +"$ref": "VpnTunnelList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"setLabels": { +"description": "Sets the labels on a VpnTunnel. To learn more about labels, read the Labeling Resources documentation.", +"flatPath": "projects/{project}/regions/{region}/vpnTunnels/{resource}/setLabels", +"httpMethod": "POST", +"id": "compute.vpnTunnels.setLabels", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/vpnTunnels/{resource}/setLabels", +"request": { +"$ref": "RegionSetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "projects/{project}/regions/{region}/vpnTunnels/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "compute.vpnTunnels.testIamPermissions", +"parameterOrder": [ +"project", +"region", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"region": { +"description": "The name of the region for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/regions/{region}/vpnTunnels/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"wireGroups": { +"methods": { +"delete": { +"description": "Deletes the specified wire group in the given scope.", +"flatPath": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups/{wireGroup}", +"httpMethod": "DELETE", +"id": "compute.wireGroups.delete", +"parameterOrder": [ +"project", +"crossSiteNetwork", +"wireGroup" +], +"parameters": { +"crossSiteNetwork": { +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", +"location": "query", +"type": "string" +}, +"wireGroup": { +"description": "Name of the wire group resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups/{wireGroup}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Gets the specified wire group resource in the given scope.", +"flatPath": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups/{wireGroup}", +"httpMethod": "GET", +"id": "compute.wireGroups.get", +"parameterOrder": [ +"project", +"crossSiteNetwork", +"wireGroup" +], +"parameters": { +"crossSiteNetwork": { +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"wireGroup": { +"description": "Name of the wire group resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups/{wireGroup}", +"response": { +"$ref": "WireGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a wire group in the specified project in the given scope using the parameters that are included in the request.", +"flatPath": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups", +"httpMethod": "POST", +"id": "compute.wireGroups.insert", +"parameterOrder": [ +"project", +"crossSiteNetwork" +], +"parameters": { +"crossSiteNetwork": { +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "[Input Only] Validate the new configuration, but don't create it.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups", +"request": { +"$ref": "WireGroup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists the wire groups for a project in the given scope.", +"flatPath": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups", +"httpMethod": "GET", +"id": "compute.wireGroups.list", +"parameterOrder": [ +"project", +"crossSiteNetwork" +], +"parameters": { +"crossSiteNetwork": { +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups", +"response": { +"$ref": "WireGroupList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"patch": { +"description": "Updates the specified wire group resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", +"flatPath": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups/{wireGroup}", +"httpMethod": "PATCH", +"id": "compute.wireGroups.patch", +"parameterOrder": [ +"project", +"crossSiteNetwork", +"wireGroup" +], +"parameters": { +"crossSiteNetwork": { +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "update_mask indicates fields to be updated as part of this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "[Input Only] Validate the new configuration, but don't update it.", +"location": "query", +"type": "boolean" +}, +"wireGroup": { +"description": "Name of the WireGroups resource to patch.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups/{wireGroup}", +"request": { +"$ref": "WireGroup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"zoneOperations": { +"methods": { +"delete": { +"description": "Deletes the specified zone-specific Operations resource.", +"flatPath": "projects/{project}/zones/{zone}/operations/{operation}", +"httpMethod": "DELETE", +"id": "compute.zoneOperations.delete", +"parameterOrder": [ +"project", +"zone", +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to delete, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/operations/{operation}", +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Retrieves the specified zone-specific Operations resource.", +"flatPath": "projects/{project}/zones/{zone}/operations/{operation}", +"httpMethod": "GET", +"id": "compute.zoneOperations.get", +"parameterOrder": [ +"project", +"zone", +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to return, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/operations/{operation}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves a list of Operation resources contained within the specified zone.", +"flatPath": "projects/{project}/zones/{zone}/operations", +"httpMethod": "GET", +"id": "compute.zoneOperations.list", +"parameterOrder": [ +"project", +"zone" +], +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "Name of the zone for request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/operations", +"response": { +"$ref": "OperationList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"wait": { +"description": "Waits for the specified Operation resource to return as `DONE` or for the request to approach the 2 minute deadline, and retrieves the specified Operation resource. This method waits for no more than the 2 minutes and then returns the current state of the operation, which might be `DONE` or still in progress. This method is called on a best-effort basis. Specifically: - In uncommon cases, when the server is overloaded, the request might return before the default deadline is reached, or might return after zero seconds. - If the default deadline is reached, there is no guarantee that the operation is actually done when the method returns. Be prepared to retry if the operation is not `DONE`. ", +"flatPath": "projects/{project}/zones/{zone}/operations/{operation}/wait", +"httpMethod": "POST", +"id": "compute.zoneOperations.wait", +"parameterOrder": [ +"project", +"zone", +"operation" +], +"parameters": { +"operation": { +"description": "Name of the Operations resource to return, or its unique numeric identifier.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/operations/{operation}/wait", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"zoneQueuedResources": { +"methods": { +"aggregatedList": { +"description": "Retrieves an aggregated list of all of the queued resources in a project across all zones. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", +"flatPath": "projects/{project}/aggregated/queuedResources", +"httpMethod": "GET", +"id": "compute.zoneQueuedResources.aggregatedList", +"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" +}, +"includeAllScopes": { +"description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", +"location": "query", +"type": "boolean" +}, +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"serviceProjectNumber": { +"description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "projects/{project}/aggregated/queuedResources", +"response": { +"$ref": "QueuedResourcesAggregatedList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"cancel": { +"description": "Cancels a QueuedResource. Only a resource in ACCEPTED state may be cancelled.", +"flatPath": "projects/{project}/zones/{zone}/queuedResources/{queuedResource}/cancel", +"httpMethod": "POST", +"id": "compute.zoneQueuedResources.cancel", +"parameterOrder": [ +"project", +"zone", +"queuedResource" +], +"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" +}, +"queuedResource": { +"description": "Name of the QueuedResource to cancel.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/queuedResources/{queuedResource}/cancel", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes a QueuedResource. For a QueuedResource in ACCEPTED state, call cancel on the resource before deleting, to make sure no VMs have been provisioned and may require cleaning up. For a QueuedResource in PROVISIONING state the request to delete is registered for execution following the provisioning.", +"flatPath": "projects/{project}/zones/{zone}/queuedResources/{queuedResource}", +"httpMethod": "DELETE", +"id": "compute.zoneQueuedResources.delete", +"parameterOrder": [ +"project", +"zone", +"queuedResource" +], +"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" +}, +"queuedResource": { +"description": "Name of the QueuedResource to delete.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/queuedResources/{queuedResource}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Returns the specified QueuedResource resource.", +"flatPath": "projects/{project}/zones/{zone}/queuedResources/{queuedResource}", +"httpMethod": "GET", +"id": "compute.zoneQueuedResources.get", +"parameterOrder": [ +"project", +"zone", +"queuedResource" +], +"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" +}, +"queuedResource": { +"description": "Name of the QueuedResource resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/queuedResources/{queuedResource}", +"response": { +"$ref": "QueuedResource" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a QueuedResource.", +"flatPath": "projects/{project}/zones/{zone}/queuedResources", +"httpMethod": "POST", +"id": "compute.zoneQueuedResources.insert", +"parameterOrder": [ +"project", +"zone" +], +"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" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/queuedResources", +"request": { +"$ref": "QueuedResource" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Retrieves the list of QueuedResource resources.", +"flatPath": "projects/{project}/zones/{zone}/queuedResources", +"httpMethod": "GET", +"id": "compute.zoneQueuedResources.list", +"parameterOrder": [ +"project", +"zone" +], +"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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}/queuedResources", +"response": { +"$ref": "QueuedResourceList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"zones": { +"methods": { +"get": { +"description": "Returns the specified Zone resource.", +"flatPath": "projects/{project}/zones/{zone}", +"httpMethod": "GET", +"id": "compute.zones.get", +"parameterOrder": [ +"project", +"zone" +], +"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" +}, +"zone": { +"description": "Name of the zone resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/zones/{zone}", +"response": { +"$ref": "Zone" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Retrieves the list of Zone resources available to the specified project.", +"flatPath": "projects/{project}/zones", +"httpMethod": "GET", +"id": "compute.zones.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": "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" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "projects/{project}/zones", +"response": { +"$ref": "ZoneList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +} +}, +"revision": "20241231", +"rootUrl": "https://compute.googleapis.com/", +"schemas": { +"AWSV4Signature": { +"description": "Contains the configurations necessary to generate a signature for access to private storage buckets that support Signature Version 4 for authentication. The service name for generating the authentication header will always default to 's3'.", +"id": "AWSV4Signature", +"properties": { +"accessKey": { +"description": "The access key used for s3 bucket authentication. Required for updating or creating a backend that uses AWS v4 signature authentication, but will not be returned as part of the configuration when queried with a REST API GET request. @InputOnly", +"type": "string" +}, +"accessKeyId": { +"description": "The identifier of an access key used for s3 bucket authentication.", +"type": "string" +}, +"accessKeyVersion": { +"description": "The optional version identifier for the access key. You can use this to keep track of different iterations of your access key.", +"type": "string" +}, +"originRegion": { +"description": "The name of the cloud region of your origin. This is a free-form field with the name of the region your cloud uses to host your origin. For example, \"us-east-1\" for AWS or \"us-ashburn-1\" for OCI.", +"type": "string" +} +}, +"type": "object" +}, +"AcceleratorConfig": { +"description": "A specification of the type and number of accelerator cards attached to the instance.", +"id": "AcceleratorConfig", +"properties": { +"acceleratorCount": { +"description": "The number of the guest accelerator cards exposed to this instance.", +"format": "int32", +"type": "integer" +}, +"acceleratorType": { +"description": "Full or partial URL of the accelerator type resource to attach to this instance. For example: projects/my-project/zones/us-central1-c/acceleratorTypes/nvidia-tesla-p100 If you are creating an instance template, specify only the accelerator name. See GPUs on Compute Engine for a full list of accelerator types.", +"type": "string" +} +}, +"type": "object" +}, +"AcceleratorType": { +"description": "Represents an Accelerator Type resource. Google Cloud Platform provides graphics processing units (accelerators) that you can add to VM instances to improve or accelerate performance when working with intensive workloads. For more information, read GPUs on Compute Engine.", +"id": "AcceleratorType", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"deprecated": { +"$ref": "DeprecationStatus", +"description": "[Output Only] The deprecation status associated with this accelerator type." +}, +"description": { +"description": "[Output Only] An optional textual description of the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#acceleratorType", +"description": "[Output Only] The type of the resource. Always compute#acceleratorType for accelerator types.", +"type": "string" +}, +"maximumCardsPerInstance": { +"description": "[Output Only] Maximum number of accelerator cards allowed per instance.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "[Output Only] Name of the resource.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined, fully qualified URL for this resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource's resource id.", +"type": "string" +}, +"zone": { +"description": "[Output Only] The name of the zone where the accelerator type resides, such as us-central1-a. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +} +}, +"type": "object" +}, +"AcceleratorTypeAggregatedList": { +"id": "AcceleratorTypeAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "AcceleratorTypesScopedList", +"description": "[Output Only] Name of the scope containing this set of accelerator types." +}, +"description": "A list of AcceleratorTypesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#acceleratorTypeAggregatedList", +"description": "[Output Only] Type of resource. Always compute#acceleratorTypeAggregatedList for aggregated lists of accelerator types.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"AcceleratorTypeList": { +"description": "Contains a list of accelerator types.", +"id": "AcceleratorTypeList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of AcceleratorType resources.", +"items": { +"$ref": "AcceleratorType" +}, +"type": "array" +}, +"kind": { +"default": "compute#acceleratorTypeList", +"description": "[Output Only] Type of resource. Always compute#acceleratorTypeList for lists of accelerator types.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"AcceleratorTypesScopedList": { +"id": "AcceleratorTypesScopedList", +"properties": { +"acceleratorTypes": { +"description": "[Output Only] A list of accelerator types contained in this scope.", +"items": { +"$ref": "AcceleratorType" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] An informational warning that appears when the accelerator types list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"AccessConfig": { +"description": "An access configuration attached to an instance's network interface. Only one access config per instance is supported.", +"id": "AccessConfig", +"properties": { +"externalIpv6": { +"description": "Applies to ipv6AccessConfigs only. The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. To use a static external IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an external IPv6 address from the instance's subnetwork.", +"type": "string" +}, +"externalIpv6PrefixLength": { +"description": "Applies to ipv6AccessConfigs only. The prefix length of the external IPv6 range.", +"format": "int32", +"type": "integer" +}, +"kind": { +"default": "compute#accessConfig", +"description": "[Output Only] Type of the resource. Always compute#accessConfig for access configs.", +"type": "string" +}, +"name": { +"description": "The name of this access configuration. In accessConfigs (IPv4), the default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access. In ipv6AccessConfigs, the recommend name is External IPv6.", +"type": "string" +}, +"natIP": { +"description": "Applies to accessConfigs (IPv4) only. An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.", +"type": "string" +}, +"networkTier": { +"description": "This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD. If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier. If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.", +"enum": [ +"FIXED_STANDARD", +"PREMIUM", +"SELECT", +"STANDARD", +"STANDARD_OVERRIDES_FIXED_STANDARD" +], +"enumDescriptions": [ +"Public internet quality with fixed bandwidth.", +"High quality, Google-grade network tier, support for all networking products.", +"Price competitive network tier, support for all networking products.", +"Public internet quality, only limited support for other networking products.", +"(Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured." +], +"type": "string" +}, +"publicDnsName": { +"description": "[Output Only] The public DNS domain name for the instance.", +"type": "string" +}, +"publicPtrDomainName": { +"description": "The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled in accessConfig. If this field is unspecified in ipv6AccessConfig, a default PTR record will be created for first IP in associated external IPv6 range.", +"type": "string" +}, +"securityPolicy": { +"description": "The resource URL for the security policy associated with this access config.", +"type": "string" +}, +"setPublicDns": { +"description": "Specifies whether a public DNS 'A' record should be created for the external IP address of this access configuration.", +"type": "boolean" +}, +"setPublicPtr": { +"description": "Specifies whether a public DNS 'PTR' record should be created to map the external IP address of the instance to a DNS domain name. This field is not used in ipv6AccessConfig. A default PTR record will be created if the VM has external IPv6 range associated.", +"type": "boolean" +}, +"type": { +"description": "The type of configuration. In accessConfigs (IPv4), the default and only option is ONE_TO_ONE_NAT. In ipv6AccessConfigs, the default and only option is DIRECT_IPV6.", +"enum": [ +"DIRECT_IPV6", +"ONE_TO_ONE_NAT" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"Address": { +"description": "Represents an IP Address resource. Google Compute Engine has two IP Address resources: * [Global (external and internal)](https://cloud.google.com/compute/docs/reference/rest/alpha/globalAddresses) * [Regional (external and internal)](https://cloud.google.com/compute/docs/reference/rest/alpha/addresses) For more information, see Reserving a static external IP address.", +"id": "Address", +"properties": { +"address": { +"description": "The static IP address represented by this resource.", +"type": "string" +}, +"addressType": { +"description": "The type of address to reserve, either INTERNAL or EXTERNAL. If unspecified, defaults to EXTERNAL.", +"enum": [ +"DNS_FORWARDING", +"EXTERNAL", +"INTERNAL", +"UNSPECIFIED_TYPE" +], +"enumDescriptions": [ +"DNS resolver address in the subnetwork.", +"A publicly visible external IP address.", +"A private network IP address, for use with an Instance or Internal Load Balancer forwarding rule.", +"" +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this field when you create the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"ipVersion": { +"description": "The IP version that will be used by this address. Valid options are IPV4 or IPV6.", +"enum": [ +"IPV4", +"IPV6", +"UNSPECIFIED_VERSION" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"ipv6EndpointType": { +"description": "The endpoint type of this address, which should be VM or NETLB. This is used for deciding which type of endpoint this address can be used after the external IPv6 address reservation.", +"enum": [ +"NETLB", +"VM" +], +"enumDescriptions": [ +"Reserved IPv6 address can be used on network load balancer.", +"Reserved IPv6 address can be used on VM." +], +"type": "string" +}, +"kind": { +"default": "compute#address", +"description": "[Output Only] Type of the resource. Always compute#address for addresses.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this Address, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an Address.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", +"type": "object" +}, +"name": { +"annotations": { +"required": [ +"compute.addresses.insert" +] +}, +"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])?`. The first character must be a lowercase letter, and all following characters (except for the last character) must be a dash, lowercase letter, or digit. The last character must be a lowercase letter or digit.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"network": { +"description": "The URL of the network in which to reserve the address. This field can only be used with INTERNAL type with the VPC_PEERING purpose.", +"type": "string" +}, +"networkTier": { +"description": "This signifies the networking tier used for configuring this address and can only take the following values: PREMIUM or STANDARD. Internal IP addresses are always Premium Tier; global external IP addresses are always Premium Tier; regional external IP addresses can be either Standard or Premium Tier. If this field is not specified, it is assumed to be PREMIUM.", +"enum": [ +"FIXED_STANDARD", +"PREMIUM", +"SELECT", +"STANDARD", +"STANDARD_OVERRIDES_FIXED_STANDARD" +], +"enumDescriptions": [ +"Public internet quality with fixed bandwidth.", +"High quality, Google-grade network tier, support for all networking products.", +"Price competitive network tier, support for all networking products.", +"Public internet quality, only limited support for other networking products.", +"(Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured." +], +"type": "string" +}, +"prefixLength": { +"description": "The prefix length if the resource represents an IP range.", +"format": "int32", +"type": "integer" +}, +"purpose": { +"description": "The purpose of this resource, which can be one of the following values: - GCE_ENDPOINT for addresses that are used by VM instances, alias IP ranges, load balancers, and similar resources. - DNS_RESOLVER for a DNS resolver address in a subnetwork for a Cloud DNS inbound forwarder IP addresses (regional internal IP address in a subnet of a VPC network) - VPC_PEERING for global internal IP addresses used for private services access allocated ranges. - NAT_AUTO for the regional external IP addresses used by Cloud NAT when allocating addresses using automatic NAT IP address allocation. - IPSEC_INTERCONNECT for addresses created from a private IP range that are reserved for a VLAN attachment in an *HA VPN over Cloud Interconnect* configuration. These addresses are regional resources. - `SHARED_LOADBALANCER_VIP` for an internal IP address that is assigned to multiple internal forwarding rules. - `PRIVATE_SERVICE_CONNECT` for a private network address that is used to configure Private Service Connect. Only global internal addresses can use this purpose. ", +"enum": [ +"DNS_RESOLVER", +"GCE_ENDPOINT", +"IPSEC_INTERCONNECT", +"NAT_AUTO", +"PRIVATE_SERVICE_CONNECT", +"SERVERLESS", +"SHARED_LOADBALANCER_VIP", +"SYSTEM_MANAGED", +"VPC_PEERING" +], +"enumDescriptions": [ +"DNS resolver address in the subnetwork.", +"VM internal/alias IP, Internal LB service IP, etc.", +"A regional internal IP address range reserved for the VLAN attachment that is used in HA VPN over Cloud Interconnect. This regional internal IP address range must not overlap with any IP address range of subnet/route in the VPC network and its peering networks. After the VLAN attachment is created with the reserved IP address range, when creating a new VPN gateway, its interface IP address is allocated from the associated VLAN attachment\u2019s IP address range.", +"External IP automatically reserved for Cloud NAT.", +"A private network IP address that can be used to configure Private Service Connect. This purpose can be specified only for GLOBAL addresses of Type INTERNAL", +"A regional internal IP address range reserved for Serverless.", +"A private network IP address that can be shared by multiple Internal Load Balancer forwarding rules.", +"A regional internal IP address that is reserved and managed by Google Cloud. It can not be assigned to Google Cloud compute resources such as VM and internal load balancer.", +"IP range for peer networks." +], +"type": "string" +}, +"region": { +"description": "[Output Only] The URL of the region where a regional address resides. For regional addresses, you must specify the region as a path parameter in the HTTP request URL. *This field is not applicable to global addresses.*", +"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" +}, +"status": { +"description": "[Output Only] The status of the address, which can be one of RESERVING, RESERVED, or IN_USE. An address that is RESERVING is currently in the process of being reserved. A RESERVED address is currently reserved and available to use. An IN_USE address is currently being used by another resource and is not available.", +"enum": [ +"IN_USE", +"RESERVED", +"RESERVING" +], +"enumDescriptions": [ +"Address is being used by another resource and is not available.", +"Address is reserved and available to use.", +"Address is being reserved." +], +"type": "string" +}, +"subnetwork": { +"description": "The URL of the subnetwork in which to reserve the address. If an IP address is specified, it must be within the subnetwork's IP range. This field can only be used with INTERNAL type with a GCE_ENDPOINT or DNS_RESOLVER purpose.", +"type": "string" +}, +"users": { +"description": "[Output Only] The URLs of the resources that are using this address.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"AddressAggregatedList": { +"id": "AddressAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "AddressesScopedList", +"description": "[Output Only] Name of the scope containing this set of addresses." +}, +"description": "A list of AddressesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#addressAggregatedList", +"description": "[Output Only] Type of resource. Always compute#addressAggregatedList for aggregated lists of addresses.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"AddressList": { +"description": "Contains a list of addresses.", +"id": "AddressList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Address resources.", +"items": { +"$ref": "Address" +}, +"type": "array" +}, +"kind": { +"default": "compute#addressList", +"description": "[Output Only] Type of resource. Always compute#addressList for lists of addresses.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"AddressesScopedList": { +"id": "AddressesScopedList", +"properties": { +"addresses": { +"description": "[Output Only] A list of addresses contained in this scope.", +"items": { +"$ref": "Address" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of addresses when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"AdvancedMachineFeatures": { +"description": "Specifies options for controlling advanced machine features. Options that would traditionally be configured in a BIOS belong here. Features that require operating system support may have corresponding entries in the GuestOsFeatures of an Image (e.g., whether or not the OS in the Image supports nested virtualization being enabled or disabled).", +"id": "AdvancedMachineFeatures", +"properties": { +"enableNestedVirtualization": { +"description": "Whether to enable nested virtualization or not (default is false).", +"type": "boolean" +}, +"enableUefiNetworking": { +"description": "Whether to enable UEFI networking for instance creation.", +"type": "boolean" +}, +"enableWatchdogTimer": { +"description": "Whether to enable the watchdog timer.", +"type": "boolean" +}, +"numaNodeCount": { +"description": "The number of vNUMA nodes.", +"format": "int32", +"type": "integer" +}, +"performanceMonitoringUnit": { +"description": "Type of Performance Monitoring Unit requested on instance.", +"enum": [ +"ARCHITECTURAL", +"ENHANCED", +"PERFORMANCE_MONITORING_UNIT_UNSPECIFIED", +"STANDARD" +], +"enumDescriptions": [ +"Architecturally defined non-LLC events.", +"Most documented core/L2 and LLC events.", +"", +"Most documented core/L2 events." +], +"type": "string" +}, +"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": "int32", +"type": "integer" +}, +"turboMode": { +"description": "Turbo frequency mode to use for the instance. Supported modes include: * ALL_CORE_MAX Using empty string or not setting this field will use the platform-specific default turbo mode.", +"type": "string" +}, +"visibleCoreCount": { +"description": "The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance's nominal CPU count and the underlying platform's SMT width.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"AliasIpRange": { +"description": "An alias IP range attached to an instance's network interface.", +"id": "AliasIpRange", +"properties": { +"ipCidrRange": { +"description": "The IP alias ranges to allocate for this interface. This IP CIDR range must belong to the specified subnetwork and cannot contain IP addresses reserved by system or used by other network interfaces. This range may be a single IP address (such as 10.2.3.4), a netmask (such as /24) or a CIDR-formatted string (such as 10.1.2.0/24).", +"type": "string" +}, +"subnetworkRangeName": { +"description": "The name of a subnetwork secondary IP range from which to allocate an IP alias range. If not specified, the primary range of the subnetwork is used.", +"type": "string" +} +}, +"type": "object" +}, +"AllocationAggregateReservation": { +"description": "This reservation type is specified by total resource amounts (e.g. total count of CPUs) and can account for multiple instance SKUs. In other words, one can create instances of varying shapes against this reservation.", +"id": "AllocationAggregateReservation", +"properties": { +"inUseResources": { +"description": "[Output only] List of resources currently in use.", +"items": { +"$ref": "AllocationAggregateReservationReservedResourceInfo" +}, +"type": "array" +}, +"reservedResources": { +"description": "List of reserved resources (CPUs, memory, accelerators).", +"items": { +"$ref": "AllocationAggregateReservationReservedResourceInfo" +}, +"type": "array" +}, +"vmFamily": { +"description": "The VM family that all instances scheduled against this reservation must belong to.", +"enum": [ +"VM_FAMILY_CLOUD_TPU_DEVICE_CT3", +"VM_FAMILY_CLOUD_TPU_LITE_DEVICE_CT5L", +"VM_FAMILY_CLOUD_TPU_LITE_POD_SLICE_CT5LP", +"VM_FAMILY_CLOUD_TPU_POD_SLICE_CT3P", +"VM_FAMILY_CLOUD_TPU_POD_SLICE_CT4P" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"workloadType": { +"description": "The workload type of the instances that will target this reservation.", +"enum": [ +"BATCH", +"SERVING", +"UNSPECIFIED" +], +"enumDescriptions": [ +"Reserved resources will be optimized for BATCH workloads, such as ML training.", +"Reserved resources will be optimized for SERVING workloads, such as ML inference.", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"AllocationAggregateReservationReservedResourceInfo": { +"id": "AllocationAggregateReservationReservedResourceInfo", +"properties": { +"accelerator": { +"$ref": "AllocationAggregateReservationReservedResourceInfoAccelerator", +"description": "Properties of accelerator resources in this reservation." +} +}, +"type": "object" +}, +"AllocationAggregateReservationReservedResourceInfoAccelerator": { +"id": "AllocationAggregateReservationReservedResourceInfoAccelerator", +"properties": { +"acceleratorCount": { +"description": "Number of accelerators of specified type.", +"format": "int32", +"type": "integer" +}, +"acceleratorType": { +"description": "Full or partial URL to accelerator type. e.g. \"projects/{PROJECT}/zones/{ZONE}/acceleratorTypes/ct4l\"", +"type": "string" +} +}, +"type": "object" +}, +"AllocationReservationSharingPolicy": { +"id": "AllocationReservationSharingPolicy", +"properties": { +"serviceShareType": { +"description": "Sharing config for all Google Cloud services.", +"enum": [ +"ALLOW_ALL", +"DISALLOW_ALL", +"SERVICE_SHARE_TYPE_UNSPECIFIED" +], +"enumDescriptions": [ +"Allow all Google Cloud managed services to share reservations.", +"[Default] Disallow sharing with all Google Cloud services.", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"AllocationResourceStatus": { +"description": "[Output Only] Contains output only fields.", +"id": "AllocationResourceStatus", +"properties": { +"reservationBlockCount": { +"description": "The number of reservation blocks associated with this reservation.", +"format": "int32", +"type": "integer" +}, +"reservationMaintenance": { +"$ref": "GroupMaintenanceInfo", +"description": "Maintenance information for this reservation" +}, +"specificSkuAllocation": { +"$ref": "AllocationResourceStatusSpecificSKUAllocation", +"description": "Allocation Properties of this reservation." +} +}, +"type": "object" +}, +"AllocationResourceStatusSpecificSKUAllocation": { +"description": "Contains Properties set for the reservation.", +"id": "AllocationResourceStatusSpecificSKUAllocation", +"properties": { +"sourceInstanceTemplateId": { +"description": "ID of the instance template used to populate reservation properties.", +"type": "string" +}, +"utilizations": { +"additionalProperties": { +"format": "int64", +"type": "string" +}, +"description": "Per service utilization breakdown. The Key is the Google Cloud managed service name.", +"type": "object" +} +}, +"type": "object" +}, +"AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk": { +"id": "AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk", +"properties": { +"diskSizeGb": { +"description": "Specifies the size of the disk in base-2 GB.", +"format": "int64", +"type": "string" +}, +"interface": { +"description": "Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. For performance characteristics of SCSI over NVMe, see Local SSD performance.", +"enum": [ +"NVDIMM", +"NVME", +"SCSI" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"AllocationSpecificSKUAllocationReservedInstanceProperties": { +"description": "Properties of the SKU instances being reserved. Next ID: 9", +"id": "AllocationSpecificSKUAllocationReservedInstanceProperties", +"properties": { +"guestAccelerators": { +"description": "Specifies accelerator type and count.", +"items": { +"$ref": "AcceleratorConfig" +}, +"type": "array" +}, +"localSsds": { +"description": "Specifies amount of local ssd to reserve with each instance. The type of disk is local-ssd.", +"items": { +"$ref": "AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk" +}, +"type": "array" +}, +"locationHint": { +"description": "An opaque location hint used to place the allocation close to other resources. This field is for use by internal tools that use the public API.", +"type": "string" +}, +"machineType": { +"description": "Specifies type of machine (name only) which has fixed number of vCPUs and fixed amount of memory. This also includes specifying custom machine type following custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY pattern.", +"type": "string" +}, +"maintenanceFreezeDurationHours": { +"description": "Specifies the number of hours after reservation creation where instances using the reservation won't be scheduled for maintenance.", +"format": "int32", +"type": "integer" +}, +"maintenanceInterval": { +"description": "Specifies the frequency of planned maintenance events. The accepted values are: `PERIODIC`.", +"enum": [ +"AS_NEEDED", +"PERIODIC", +"RECURRENT" +], +"enumDescriptions": [ +"VMs 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 VM than the PERIODIC and RECURRENT options.", +"VMs 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 a VM 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.", +"VMs 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 a VM 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. RECURRENT is used for GEN3 and Slice of Hardware VMs." +], +"type": "string" +}, +"minCpuPlatform": { +"description": "Minimum cpu platform the reservation.", +"type": "string" +} +}, +"type": "object" +}, +"AllocationSpecificSKUReservation": { +"description": "This reservation type allows to pre allocate specific instance configuration.", +"id": "AllocationSpecificSKUReservation", +"properties": { +"assuredCount": { +"description": "[Output Only] Indicates how many instances are actually usable currently.", +"format": "int64", +"type": "string" +}, +"count": { +"description": "Specifies the number of resources that are allocated.", +"format": "int64", +"type": "string" +}, +"inUseCount": { +"description": "[Output Only] Indicates how many instances are in use.", +"format": "int64", +"type": "string" +}, +"instanceProperties": { +"$ref": "AllocationSpecificSKUAllocationReservedInstanceProperties", +"description": "The instance properties for the reservation." +}, +"sourceInstanceTemplate": { +"description": "Specifies the instance template to create the reservation. If you use this field, you must exclude the instanceProperties field. This field is optional, and it can be a full or partial URL. For example, the following are all valid URLs to an instance template: - https://www.googleapis.com/compute/v1/projects/project /global/instanceTemplates/instanceTemplate - projects/project/global/instanceTemplates/instanceTemplate - global/instanceTemplates/instanceTemplate ", +"type": "string" +} +}, +"type": "object" +}, +"AsyncReplicationStatus": { +"id": "AsyncReplicationStatus", +"properties": { +"diskPairReplicationState": { +"$ref": "DiskPairReplicationState" +}, +"lastReplicationDetails": { +"$ref": "ReplicationDetails" +} +}, +"type": "object" +}, +"AttachedDisk": { +"description": "An instance-attached disk resource.", +"id": "AttachedDisk", +"properties": { +"architecture": { +"description": "[Output Only] The architecture of the attached disk. Valid values are ARM64 or X86_64.", +"enum": [ +"ARCHITECTURE_UNSPECIFIED", +"ARM64", +"X86_64" +], +"enumDescriptions": [ +"Default value indicating Architecture is not set.", +"Machines with architecture ARM64", +"Machines with architecture X86_64" +], +"type": "string" +}, +"autoDelete": { +"description": "Specifies whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).", +"type": "boolean" +}, +"boot": { +"description": "Indicates that this is a boot disk. The virtual machine will use the first partition of the disk for its root filesystem.", +"type": "boolean" +}, +"deviceName": { +"description": "Specifies a unique device name of your choice that is reflected into the /dev/disk/by-id/google-* tree of a Linux operating system running within the instance. This name can be used to reference the device for mounting, resizing, and so on, from within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disk-x, where x is a number assigned by Google Compute Engine. This field is only applicable for persistent disks.", +"type": "string" +}, +"diskEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Encrypts or decrypts a disk using a customer-supplied encryption key. If you are creating a new disk, this field encrypts the new disk using an encryption key that you provide. If you are attaching an existing disk that is already encrypted, this field decrypts the disk using the customer-supplied encryption key. If you encrypt a disk using a customer-supplied key, you must provide the same key again when you attempt to use this resource at a later time. For example, you must provide the key when you create a snapshot or an image from the disk or when you attach the disk to a virtual machine instance. If you do not provide an encryption key, then the disk will be encrypted using an automatically generated key and you do not need to provide a key to use the disk later. Note: Instance templates do not store customer-supplied encryption keys, so you cannot use your own keys to encrypt disks in a managed instance group. You cannot create VMs that have disks with customer-supplied keys using the bulk insert method." +}, +"diskSizeGb": { +"description": "The size of the disk in GB.", +"format": "int64", +"type": "string" +}, +"forceAttach": { +"description": "[Input Only] Whether to force attach the regional disk even if it's currently attached to another instance. If you try to force attach a zonal disk to an instance, you will receive an error.", +"type": "boolean" +}, +"guestOsFeatures": { +"description": "A list of features to enable on the guest operating system. Applicable only for bootable images. Read Enabling guest operating system features to see a list of available options.", +"items": { +"$ref": "GuestOsFeature" +}, +"type": "array" +}, +"index": { +"description": "[Output Only] A zero-based index to this disk, where 0 is reserved for the boot disk. If you have many disks attached to an instance, each disk would have a unique index number.", +"format": "int32", +"type": "integer" +}, +"initializeParams": { +"$ref": "AttachedDiskInitializeParams", +"description": "[Input Only] Specifies the parameters for a new disk that will be created alongside the new instance. Use initialization parameters to create boot disks or local SSDs attached to the new instance. This property is mutually exclusive with the source property; you can only define one or the other, but not both." +}, +"interface": { +"description": "Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. For most machine types, the default is SCSI. Local SSDs can use either NVME or SCSI. In certain configurations, persistent disks can use NVMe. For more information, see About persistent disks.", +"enum": [ +"NVDIMM", +"NVME", +"SCSI" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"kind": { +"default": "compute#attachedDisk", +"description": "[Output Only] Type of the resource. Always compute#attachedDisk for attached disks.", +"type": "string" +}, +"licenses": { +"description": "[Output Only] Any valid publicly visible licenses.", +"items": { +"type": "string" +}, +"type": "array" +}, +"locked": { +"description": "[Output Only] Whether to indicate the attached disk is locked. The locked disk is not allowed to be detached from the instance, or to be used as the source of the snapshot creation, and the image creation. The instance with at least one locked attached disk is not allow to be used as source of machine image creation, instant snapshot creation, and not allowed to be deleted with --keep-disk parameter set to true for locked disks.", +"type": "boolean" +}, +"mode": { +"description": "The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If not specified, the default is to attach the disk in READ_WRITE mode.", +"enum": [ +"READ_ONLY", +"READ_WRITE" +], +"enumDescriptions": [ +"Attaches this disk in read-only mode. Multiple virtual machines can use a disk in read-only mode at a time.", +"*[Default]* Attaches this disk in read-write mode. Only one virtual machine at a time can be attached to a disk in read-write mode." +], +"type": "string" +}, +"savedState": { +"description": "For LocalSSD disks on VM Instances in STOPPED or SUSPENDED state, this field is set to PRESERVED if the LocalSSD data has been saved to a persistent location by customer request. (see the discard_local_ssd option on Stop/Suspend). Read-only in the api.", +"enum": [ +"DISK_SAVED_STATE_UNSPECIFIED", +"PRESERVED" +], +"enumDescriptions": [ +"*[Default]* Disk state has not been preserved.", +"Disk state has been preserved." +], +"type": "string" +}, +"shieldedInstanceInitialState": { +"$ref": "InitialStateConfig", +"description": "[Output Only] shielded vm initial state stored on disk" +}, +"source": { +"description": "Specifies a valid partial or full URL to an existing Persistent Disk resource. When creating a new instance boot disk, one of initializeParams.sourceImage or initializeParams.sourceSnapshot or disks.source is required. If desired, you can also attach existing non-root persistent disks using this property. This field is only applicable for persistent disks. Note that for InstanceTemplate, specify the disk name for zonal disk, and the URL for regional disk.", +"type": "string" +}, +"type": { +"description": "Specifies the type of the disk, either SCRATCH or PERSISTENT. If not specified, the default is PERSISTENT.", +"enum": [ +"PERSISTENT", +"SCRATCH" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"userLicenses": { +"description": "[Output Only] A list of user provided licenses. It represents a list of URLs to the license resource. Unlike regular licenses, user provided licenses can be modified after the disk is created.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"AttachedDiskInitializeParams": { +"description": "[Input Only] Specifies the parameters for a new disk that will be created alongside the new instance. Use initialization parameters to create boot disks or local SSDs attached to the new instance. This field is persisted and returned for instanceTemplate and not returned in the context of instance. This property is mutually exclusive with the source property; you can only define one or the other, but not both.", +"id": "AttachedDiskInitializeParams", +"properties": { +"architecture": { +"description": "The architecture of the attached disk. Valid values are arm64 or x86_64.", +"enum": [ +"ARCHITECTURE_UNSPECIFIED", +"ARM64", +"X86_64" +], +"enumDescriptions": [ +"Default value indicating Architecture is not set.", +"Machines with architecture ARM64", +"Machines with architecture X86_64" +], +"type": "string" +}, +"description": { +"description": "An optional description. Provide this property when creating the disk.", +"type": "string" +}, +"diskName": { +"description": "Specifies the disk name. If not specified, the default is to use the name of the instance. If a disk with the same name already exists in the given region, the existing disk is attached to the new instance and the new disk is not created.", +"type": "string" +}, +"diskSizeGb": { +"description": "Specifies the size of the disk in base-2 GB. The size must be at least 10 GB. If you specify a sourceImage, which is required for boot disks, the default size is the size of the sourceImage. If you do not specify a sourceImage, the default disk size is 500 GB.", +"format": "int64", +"type": "string" +}, +"diskType": { +"description": "Specifies the disk type to use to create the instance. If not specified, the default is pd-standard, specified using the full URL. For example: https://www.googleapis.com/compute/v1/projects/project/zones/zone /diskTypes/pd-standard For a full list of acceptable values, see Persistent disk types. If you specify this field when creating a VM, you can provide either the full or partial URL. For example, the following values are valid: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /diskTypes/diskType - projects/project/zones/zone/diskTypes/diskType - zones/zone/diskTypes/diskType If you specify this field when creating or updating an instance template or all-instances configuration, specify the type of the disk, not the URL. For example: pd-standard.", +"type": "string" +}, +"enableConfidentialCompute": { +"description": "Whether this disk is using confidential compute mode.", +"type": "boolean" +}, +"guestOsFeatures": { +"description": "A list of features to enable on the guest operating system. Applicable only for bootable images. Read Enabling guest operating system features to see a list of available options. Guest OS features are applied by merging initializeParams.guestOsFeatures and disks.guestOsFeatures", +"items": { +"$ref": "GuestOsFeature" +}, +"type": "array" +}, +"interface": { +"deprecated": true, +"description": "[Deprecated] Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI.", +"enum": [ +"NVME", +"SCSI", +"UNSPECIFIED" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to this disk. These can be later modified by the disks.setLabels method. This field is only applicable for persistent disks.", +"type": "object" +}, +"licenseCodes": { +"description": "Integer license codes indicating which licenses are attached to this disk.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"licenses": { +"description": "A list of publicly visible licenses. Reserved for Google's use.", +"items": { +"type": "string" +}, +"type": "array" +}, +"multiWriter": { +"description": "Indicates whether or not the disk can be read/write attached to more than one instance.", +"type": "boolean" +}, +"onUpdateAction": { +"description": "Specifies which action to take on instance update with this disk. Default is to use the existing disk.", +"enum": [ +"RECREATE_DISK", +"RECREATE_DISK_IF_SOURCE_CHANGED", +"USE_EXISTING_DISK" +], +"enumDescriptions": [ +"Always recreate the disk.", +"Recreate the disk if source (image, snapshot) of this disk is different from source of existing disk.", +"Use the existing disk, this is the default behaviour." +], +"type": "string" +}, +"provisionedIops": { +"description": "Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation.", +"format": "int64", +"type": "string" +}, +"provisionedThroughput": { +"description": "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 greater than or equal to 1.", +"format": "int64", +"type": "string" +}, +"replicaZones": { +"description": "Required for each regional disk associated with the instance. Specify the URLs of the zones where the disk should be replicated to. You must provide exactly two replica zones, and one zone must be the same as the instance zone.", +"items": { +"type": "string" +}, +"type": "array" +}, +"resourceManagerTags": { +"additionalProperties": { +"type": "string" +}, +"description": "Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty.", +"type": "object" +}, +"resourcePolicies": { +"description": "Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sourceImage": { +"description": "The source image to create this disk. When creating a new instance boot disk, one of initializeParams.sourceImage or initializeParams.sourceSnapshot or disks.source is required. To create a disk with one of the public operating system images, specify the image by its family name. For example, specify family/debian-9 to use the latest Debian 9 image: projects/debian-cloud/global/images/family/debian-9 Alternatively, use a specific version of a public operating system image: projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD To create a disk with a custom image that you created, specify the image name in the following format: global/images/my-custom-image You can also specify a custom image by its image family, which returns the latest version of the image in that family. Replace the image name with family/family-name: global/images/family/my-image-family If the source image is deleted later, this field will not be set.", +"type": "string" +}, +"sourceImageEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key. InstanceTemplate and InstancePropertiesPatch do not store customer-supplied encryption keys, so you cannot create disks for instances in a managed instance group if the source images are encrypted with your own keys." +}, +"sourceInstantSnapshot": { +"description": "The source instant-snapshot to create this disk. When creating a new instance boot disk, one of initializeParams.sourceSnapshot or initializeParams.sourceInstantSnapshot initializeParams.sourceImage or disks.source is required. To create a disk with a snapshot that you created, specify the snapshot name in the following format: us-central1-a/instantSnapshots/my-backup If the source instant-snapshot is deleted later, this field will not be set.", +"type": "string" +}, +"sourceSnapshot": { +"description": "The source snapshot to create this disk. When creating a new instance boot disk, one of initializeParams.sourceSnapshot or initializeParams.sourceImage or disks.source is required. To create a disk with a snapshot that you created, specify the snapshot name in the following format: global/snapshots/my-backup If the source snapshot is deleted later, this field will not be set. Note: You cannot create VMs in bulk using a snapshot as the source. Use an image instead when you create VMs using the bulk insert method.", +"type": "string" +}, +"sourceSnapshotEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "The customer-supplied encryption key of the source snapshot." +}, +"storagePool": { +"description": "The storage pool in which the new disk is created. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /storagePools/storagePool - projects/project/zones/zone/storagePools/storagePool - zones/zone/storagePools/storagePool ", +"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": [ +"ADMIN_READ", +"DATA_READ", +"DATA_WRITE", +"LOG_TYPE_UNSPECIFIED" +], +"enumDescriptions": [ +"Admin reads. Example: CloudIAM getIamPolicy", +"Data reads. Example: CloudSQL Users list", +"Data writes. Example: CloudSQL Users create", +"Default case. Should never be this." +], +"type": "string" +} +}, +"type": "object" +}, +"AuthenticationPolicy": { +"description": "[Deprecated] The authentication settings for the backend service. The authentication settings for the backend service.", +"id": "AuthenticationPolicy", +"properties": { +"origins": { +"description": "List of authentication methods that can be used for origin authentication. Similar to peers, these will be evaluated in order the first valid one will be used to set origin identity. If none of these methods pass, the request will be rejected with authentication failed error (401). Leave the list empty if origin authentication is not required.", +"items": { +"$ref": "OriginAuthenticationMethod" +}, +"type": "array" +}, +"peers": { +"description": "List of authentication methods that can be used for peer authentication. They will be evaluated in order the first valid one will be used to set peer identity. If none of these methods pass, the request will be rejected with authentication failed error (401). Leave the list empty if peer authentication is not required.", +"items": { +"$ref": "PeerAuthenticationMethod" +}, +"type": "array" +}, +"principalBinding": { +"description": "Define whether peer or origin identity should be used for principal. Default value is USE_PEER. If peer (or origin) identity is not available, either because peer/origin authentication is not defined, or failed, principal will be left unset. In other words, binding rule does not affect the decision to accept or reject request. This field can be set to one of the following: USE_PEER: Principal will be set to the identity from peer authentication. USE_ORIGIN: Principal will be set to the identity from origin authentication.", +"enum": [ +"INVALID", +"USE_ORIGIN", +"USE_PEER" +], +"enumDescriptions": [ +"", +"Principal will be set to the identity from origin authentication.", +"Principal will be set to the identity from peer authentication." +], +"type": "string" +}, +"serverTlsContext": { +"$ref": "TlsContext", +"description": "Configures the mechanism to obtain server-side security certificates and identity information." +} +}, +"type": "object" +}, +"AuthorizationConfig": { +"description": "[Deprecated] Authorization configuration provides service-level and method-level access control for a service. control for a service.", +"id": "AuthorizationConfig", +"properties": { +"policies": { +"description": "List of RbacPolicies.", +"items": { +"$ref": "RbacPolicy" +}, +"type": "array" +} +}, +"type": "object" +}, +"Autoscaler": { +"description": "Represents an Autoscaler resource. Google Compute Engine has two Autoscaler resources: * [Zonal](/compute/docs/reference/rest/alpha/autoscalers) * [Regional](/compute/docs/reference/rest/alpha/regionAutoscalers) Use autoscalers to automatically add or delete instances from a managed instance group according to your defined autoscaling policy. For more information, read Autoscaling Groups of Instances. For zonal managed instance groups resource, use the autoscaler resource. For regional managed instance groups, use the regionAutoscalers resource.", +"id": "Autoscaler", +"properties": { +"autoscalingPolicy": { +"$ref": "AutoscalingPolicy", +"description": "The configuration parameters for the autoscaling algorithm. You can define one or more signals for an autoscaler: cpuUtilization, customMetricUtilizations, and loadBalancingUtilization. If none of these are specified, the default will be to autoscale based on cpuUtilization to 0.6 or 60%." +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#autoscaler", +"description": "[Output Only] Type of the resource. Always compute#autoscaler for autoscalers.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.autoscalers.insert" +] +}, +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"recommendedSize": { +"description": "[Output Only] Target recommended MIG size (number of instances) computed by autoscaler. Autoscaler calculates the recommended MIG size even when the autoscaling policy mode is different from ON. This field is empty when autoscaler is not connected to an existing managed instance group or autoscaler did not generate its prediction.", +"format": "int32", +"type": "integer" +}, +"region": { +"description": "[Output Only] URL of the region where the instance group resides (for autoscalers living in regional scope).", +"type": "string" +}, +"scalingScheduleStatus": { +"additionalProperties": { +"$ref": "ScalingScheduleStatus" +}, +"description": "[Output Only] Status information of existing scaling schedules.", +"type": "object" +}, +"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" +}, +"status": { +"description": "[Output Only] The status of the autoscaler configuration. Current set of possible values: - PENDING: Autoscaler backend hasn't read new/updated configuration. - DELETING: Configuration is being deleted. - ACTIVE: Configuration is acknowledged to be effective. Some warnings might be present in the statusDetails field. - ERROR: Configuration has errors. Actionable for users. Details are present in the statusDetails field. New values might be added in the future.", +"enum": [ +"ACTIVE", +"DELETING", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Configuration is acknowledged to be effective", +"Configuration is being deleted", +"Configuration has errors. Actionable for users.", +"Autoscaler backend hasn't read new/updated configuration" +], +"type": "string" +}, +"statusDetails": { +"description": "[Output Only] Human-readable details about the current state of the autoscaler. Read the documentation for Commonly returned status messages for examples of status messages you might encounter.", +"items": { +"$ref": "AutoscalerStatusDetails" +}, +"type": "array" +}, +"target": { +"description": "URL of the managed instance group that this autoscaler will scale. This field is required when creating an autoscaler.", +"type": "string" +}, +"zone": { +"description": "[Output Only] URL of the zone where the instance group resides (for autoscalers living in zonal scope).", +"type": "string" +} +}, +"type": "object" +}, +"AutoscalerAggregatedList": { +"id": "AutoscalerAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "AutoscalersScopedList", +"description": "[Output Only] Name of the scope containing this set of autoscalers." +}, +"description": "A list of AutoscalersScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#autoscalerAggregatedList", +"description": "[Output Only] Type of resource. Always compute#autoscalerAggregatedList for aggregated lists of autoscalers.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"AutoscalerList": { +"description": "Contains a list of Autoscaler resources.", +"id": "AutoscalerList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Autoscaler resources.", +"items": { +"$ref": "Autoscaler" +}, +"type": "array" +}, +"kind": { +"default": "compute#autoscalerList", +"description": "[Output Only] Type of resource. Always compute#autoscalerList for lists of autoscalers.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"AutoscalerStatusDetails": { +"id": "AutoscalerStatusDetails", +"properties": { +"message": { +"description": "The status message.", +"type": "string" +}, +"type": { +"description": "The type of error, warning, or notice returned. Current set of possible values: - ALL_INSTANCES_UNHEALTHY (WARNING): All instances in the instance group are unhealthy (not in RUNNING state). - BACKEND_SERVICE_DOES_NOT_EXIST (ERROR): There is no backend service attached to the instance group. - CAPPED_AT_MAX_NUM_REPLICAS (WARNING): Autoscaler recommends a size greater than maxNumReplicas. - CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE (WARNING): The custom metric samples are not exported often enough to be a credible base for autoscaling. - CUSTOM_METRIC_INVALID (ERROR): The custom metric that was specified does not exist or does not have the necessary labels. - MIN_EQUALS_MAX (WARNING): The minNumReplicas is equal to maxNumReplicas. This means the autoscaler cannot add or remove instances from the instance group. - MISSING_CUSTOM_METRIC_DATA_POINTS (WARNING): The autoscaler did not receive any data from the custom metric configured for autoscaling. - MISSING_LOAD_BALANCING_DATA_POINTS (WARNING): The autoscaler is configured to scale based on a load balancing signal but the instance group has not received any requests from the load balancer. - MODE_OFF (WARNING): Autoscaling is turned off. The number of instances in the group won't change automatically. The autoscaling configuration is preserved. - MODE_ONLY_UP (WARNING): Autoscaling is in the \"Autoscale only out\" mode. The autoscaler can add instances but not remove any. - MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The instance group cannot be autoscaled because it has more than one backend service attached to it. - NOT_ENOUGH_QUOTA_AVAILABLE (ERROR): There is insufficient quota for the necessary resources, such as CPU or number of instances. - REGION_RESOURCE_STOCKOUT (ERROR): Shown only for regional autoscalers: there is a resource stockout in the chosen region. - SCALING_TARGET_DOES_NOT_EXIST (ERROR): The target to be scaled does not exist. - UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION (ERROR): Autoscaling does not work with an HTTP/S load balancer that has been configured for maxRate. - ZONE_RESOURCE_STOCKOUT (ERROR): For zonal autoscalers: there is a resource stockout in the chosen zone. For regional autoscalers: in at least one of the zones you're using there is a resource stockout. New values might be added in the future. Some of the values might not be available in all API versions.", +"enum": [ +"ALL_INSTANCES_UNHEALTHY", +"BACKEND_SERVICE_DOES_NOT_EXIST", +"CAPPED_AT_MAX_NUM_REPLICAS", +"CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE", +"CUSTOM_METRIC_INVALID", +"MIN_EQUALS_MAX", +"MISSING_CUSTOM_METRIC_DATA_POINTS", +"MISSING_LOAD_BALANCING_DATA_POINTS", +"MODE_OFF", +"MODE_ONLY_SCALE_OUT", +"MODE_ONLY_UP", +"MORE_THAN_ONE_BACKEND_SERVICE", +"NOT_ENOUGH_QUOTA_AVAILABLE", +"REGION_RESOURCE_STOCKOUT", +"SCALING_TARGET_DOES_NOT_EXIST", +"SCHEDULED_INSTANCES_GREATER_THAN_AUTOSCALER_MAX", +"SCHEDULED_INSTANCES_LESS_THAN_AUTOSCALER_MIN", +"UNKNOWN", +"UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION", +"ZONE_RESOURCE_STOCKOUT" +], +"enumDescriptions": [ +"All instances in the instance group are unhealthy (not in RUNNING state).", +"There is no backend service attached to the instance group.", +"Autoscaler recommends a size greater than maxNumReplicas.", +"The custom metric samples are not exported often enough to be a credible base for autoscaling.", +"The custom metric that was specified does not exist or does not have the necessary labels.", +"The minNumReplicas is equal to maxNumReplicas. This means the autoscaler cannot add or remove instances from the instance group.", +"The autoscaler did not receive any data from the custom metric configured for autoscaling.", +"The autoscaler is configured to scale based on a load balancing signal but the instance group has not received any requests from the load balancer.", +"Autoscaling is turned off. The number of instances in the group won't change automatically. The autoscaling configuration is preserved.", +"Autoscaling is in the \"Autoscale only scale out\" mode. Instances in the group will be only added.", +"Autoscaling is in the \"Autoscale only out\" mode. Instances in the group will be only added.", +"The instance group cannot be autoscaled because it has more than one backend service attached to it.", +"There is insufficient quota for the necessary resources, such as CPU or number of instances.", +"Showed only for regional autoscalers: there is a resource stockout in the chosen region.", +"The target to be scaled does not exist.", +"For some scaling schedules minRequiredReplicas is greater than maxNumReplicas. Autoscaler always recommends at most maxNumReplicas instances.", +"For some scaling schedules minRequiredReplicas is less than minNumReplicas. Autoscaler always recommends at least minNumReplicas instances.", +"", +"Autoscaling does not work with an HTTP/S load balancer that has been configured for maxRate.", +"For zonal autoscalers: there is a resource stockout in the chosen zone. For regional autoscalers: in at least one of the zones you're using there is a resource stockout." +], +"type": "string" +} +}, +"type": "object" +}, +"AutoscalersScopedList": { +"id": "AutoscalersScopedList", +"properties": { +"autoscalers": { +"description": "[Output Only] A list of autoscalers contained in this scope.", +"items": { +"$ref": "Autoscaler" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of autoscalers when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"AutoscalingPolicy": { +"description": "Cloud Autoscaler policy.", +"id": "AutoscalingPolicy", +"properties": { +"coolDownPeriodSec": { +"description": "The number of seconds that your application takes to initialize on a VM instance. This is referred to as the [initialization period](/compute/docs/autoscaler#cool_down_period). Specifying an accurate initialization period improves autoscaler decisions. For example, when scaling out, the autoscaler ignores data from VMs that are still initializing because those VMs might not yet represent normal usage of your application. The default initialization period is 60 seconds. Initialization periods might vary because of numerous factors. We recommend that you test how long your application takes to initialize. To do this, create a VM and time your application's startup process.", +"format": "int32", +"type": "integer" +}, +"cpuUtilization": { +"$ref": "AutoscalingPolicyCpuUtilization", +"description": "Defines the CPU utilization policy that allows the autoscaler to scale based on the average CPU utilization of a managed instance group." +}, +"customMetricUtilizations": { +"description": "Configuration parameters of autoscaling based on a custom metric.", +"items": { +"$ref": "AutoscalingPolicyCustomMetricUtilization" +}, +"type": "array" +}, +"loadBalancingUtilization": { +"$ref": "AutoscalingPolicyLoadBalancingUtilization", +"description": "Configuration parameters of autoscaling based on load balancer." +}, +"maxNumReplicas": { +"description": "The maximum number of instances that the autoscaler can scale out to. This is required when creating or updating an autoscaler. The maximum number of replicas must not be lower than minimal number of replicas.", +"format": "int32", +"type": "integer" +}, +"minNumReplicas": { +"description": "The minimum number of replicas that the autoscaler can scale in to. This cannot be less than 0. If not provided, autoscaler chooses a default value depending on maximum number of instances allowed.", +"format": "int32", +"type": "integer" +}, +"mode": { +"description": "Defines the operating mode for this policy. The following modes are available: - OFF: Disables the autoscaler but maintains its configuration. - ONLY_SCALE_OUT: Restricts the autoscaler to add VM instances only. - ON: Enables all autoscaler activities according to its policy. For more information, see \"Turning off or restricting an autoscaler\"", +"enum": [ +"OFF", +"ON", +"ONLY_SCALE_OUT", +"ONLY_UP" +], +"enumDescriptions": [ +"Do not automatically scale the MIG in or out. The recommended_size field contains the size of MIG that would be set if the actuation mode was enabled.", +"Automatically scale the MIG in and out according to the policy.", +"Automatically create VMs according to the policy, but do not scale the MIG in.", +"Automatically create VMs according to the policy, but do not scale the MIG in." +], +"type": "string" +}, +"scaleDownControl": { +"$ref": "AutoscalingPolicyScaleDownControl" +}, +"scaleInControl": { +"$ref": "AutoscalingPolicyScaleInControl" +}, +"scalingSchedules": { +"additionalProperties": { +"$ref": "AutoscalingPolicyScalingSchedule" +}, +"description": "Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed.", +"type": "object" +} +}, +"type": "object" +}, +"AutoscalingPolicyCpuUtilization": { +"description": "CPU utilization policy.", +"id": "AutoscalingPolicyCpuUtilization", +"properties": { +"predictiveMethod": { +"description": "Indicates whether predictive autoscaling based on CPU metric is enabled. Valid values are: * NONE (default). No predictive method is used. The autoscaler scales the group to meet current demand based on real-time metrics. * OPTIMIZE_AVAILABILITY. Predictive autoscaling improves availability by monitoring daily and weekly load patterns and scaling out ahead of anticipated demand.", +"enum": [ +"NONE", +"OPTIMIZE_AVAILABILITY", +"PREDICTIVE_METHOD_UNSPECIFIED", +"STANDARD" +], +"enumDescriptions": [ +"No predictive method is used. The autoscaler scales the group to meet current demand based on real-time metrics", +"Predictive autoscaling improves availability by monitoring daily and weekly load patterns and scaling out ahead of anticipated demand.", +"", +"Predictive autoscaling improves availability by monitoring daily and weekly load patterns and scaling out ahead of anticipated demand. This value is being DEPRECATED - it won't be promoted to beta and v1. Use OPTIMIZE_AVAILABILITY instead." +], +"type": "string" +}, +"utilizationTarget": { +"description": "The target CPU utilization that the autoscaler maintains. Must be a float value in the range (0, 1]. If not specified, the default is 0.6. If the CPU level is below the target utilization, the autoscaler scales in the number of instances until it reaches the minimum number of instances you specified or until the average CPU of your instances reaches the target utilization. If the average CPU is above the target utilization, the autoscaler scales out until it reaches the maximum number of instances you specified or until the average utilization reaches the target utilization.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"AutoscalingPolicyCustomMetricUtilization": { +"description": "Custom utilization metric policy.", +"id": "AutoscalingPolicyCustomMetricUtilization", +"properties": { +"filter": { +"description": "A filter string, compatible with a Stackdriver Monitoring filter string for TimeSeries.list API call. This filter is used to select a specific TimeSeries for the purpose of autoscaling and to determine whether the metric is exporting per-instance or per-group data. For the filter to be valid for autoscaling purposes, the following rules apply: - You can only use the AND operator for joining selectors. - You can only use direct equality comparison operator (=) without any functions for each selector. - You can specify the metric in both the filter string and in the metric field. However, if specified in both places, the metric must be identical. - The monitored resource type determines what kind of values are expected for the metric. If it is a gce_instance, the autoscaler expects the metric to include a separate TimeSeries for each instance in a group. In such a case, you cannot filter on resource labels. If the resource type is any other value, the autoscaler expects this metric to contain values that apply to the entire autoscaled instance group and resource label filtering can be performed to point autoscaler at the correct TimeSeries to scale upon. This is called a *per-group metric* for the purpose of autoscaling. If not specified, the type defaults to gce_instance. Try to provide a filter that is selective enough to pick just one TimeSeries for the autoscaled group or for each of the instances (if you are using gce_instance resource type). If multiple TimeSeries are returned upon the query execution, the autoscaler will sum their respective values to obtain its scaling value.", +"type": "string" +}, +"metric": { +"description": "The identifier (type) of the Stackdriver Monitoring metric. The metric cannot have negative values. The metric must have a value type of INT64 or DOUBLE.", +"type": "string" +}, +"singleInstanceAssignment": { +"description": "If scaling is based on a per-group metric value that represents the total amount of work to be done or resource usage, set this value to an amount assigned for a single instance of the scaled group. Autoscaler keeps the number of instances proportional to the value of this metric. The metric itself does not change value due to group resizing. A good metric to use with the target is for example pubsub.googleapis.com/subscription/num_undelivered_messages or a custom metric exporting the total number of requests coming to your instances. A bad example would be a metric exporting an average or median latency, since this value can't include a chunk assignable to a single instance, it could be better used with utilization_target instead.", +"format": "double", +"type": "number" +}, +"utilizationTarget": { +"description": "The target value of the metric that autoscaler maintains. This must be a positive value. A utilization metric scales number of virtual machines handling requests to increase or decrease proportionally to the metric. For example, a good metric to use as a utilization_target is https://www.googleapis.com/compute/v1/instance/network/received_bytes_count. The autoscaler works to keep this value constant for each of the instances.", +"format": "double", +"type": "number" +}, +"utilizationTargetType": { +"description": "Defines how target utilization value is expressed for a Stackdriver Monitoring metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE.", +"enum": [ +"DELTA_PER_MINUTE", +"DELTA_PER_SECOND", +"GAUGE" +], +"enumDescriptions": [ +"Sets the utilization target value for a cumulative or delta metric, expressed as the rate of growth per minute.", +"Sets the utilization target value for a cumulative or delta metric, expressed as the rate of growth per second.", +"Sets the utilization target value for a gauge metric. The autoscaler will collect the average utilization of the virtual machines from the last couple of minutes, and compare the value to the utilization target value to perform autoscaling." +], +"type": "string" +} +}, +"type": "object" +}, +"AutoscalingPolicyLoadBalancingUtilization": { +"description": "Configuration parameters of autoscaling based on load balancing.", +"id": "AutoscalingPolicyLoadBalancingUtilization", +"properties": { +"utilizationTarget": { +"description": "Fraction of backend capacity utilization (set in HTTP(S) load balancing configuration) that the autoscaler maintains. Must be a positive float value. If not defined, the default is 0.8.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"AutoscalingPolicyScaleDownControl": { +"description": "Configuration that allows for slower scale in so that even if Autoscaler recommends an abrupt scale in of a MIG, it will be throttled as specified by the parameters below.", +"id": "AutoscalingPolicyScaleDownControl", +"properties": { +"maxScaledDownReplicas": { +"$ref": "FixedOrPercent", +"description": "Maximum allowed number (or %) of VMs that can be deducted from the peak recommendation during the window autoscaler looks at when computing recommendations. Possibly all these VMs can be deleted at once so user service needs to be prepared to lose that many VMs in one step." +}, +"timeWindowSec": { +"description": "How far back autoscaling looks when computing recommendations to include directives regarding slower scale in, as described above.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"AutoscalingPolicyScaleInControl": { +"description": "Configuration that allows for slower scale in so that even if Autoscaler recommends an abrupt scale in of a MIG, it will be throttled as specified by the parameters below.", +"id": "AutoscalingPolicyScaleInControl", +"properties": { +"maxScaledInReplicas": { +"$ref": "FixedOrPercent", +"description": "Maximum allowed number (or %) of VMs that can be deducted from the peak recommendation during the window autoscaler looks at when computing recommendations. Possibly all these VMs can be deleted at once so user service needs to be prepared to lose that many VMs in one step." +}, +"timeWindowSec": { +"description": "How far back autoscaling looks when computing recommendations to include directives regarding slower scale in, as described above.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"AutoscalingPolicyScalingSchedule": { +"description": "Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out.", +"id": "AutoscalingPolicyScalingSchedule", +"properties": { +"description": { +"description": "A description of a scaling schedule.", +"type": "string" +}, +"disabled": { +"description": "A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default.", +"type": "boolean" +}, +"durationSec": { +"description": "The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required.", +"format": "int32", +"type": "integer" +}, +"minRequiredReplicas": { +"description": "The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required.", +"format": "int32", +"type": "integer" +}, +"schedule": { +"description": "The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving.", +"type": "string" +}, +"timeZone": { +"description": "The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of \"UTC\" if left empty.", +"type": "string" +} +}, +"type": "object" +}, +"Backend": { +"description": "Message containing information of one individual backend.", +"id": "Backend", +"properties": { +"balancingMode": { +"description": "Specifies how to determine whether the backend of a load balancer can handle additional traffic or is fully loaded. For usage guidelines, see Connection balancing mode. Backends must use compatible balancing modes. For more information, see Supported balancing modes and target capacity settings and Restrictions and guidance for instance groups. Note: Currently, if you use the API to configure incompatible balancing modes, the configuration might be accepted even though it has no impact and is ignored. Specifically, Backend.maxUtilization is ignored when Backend.balancingMode is RATE. In the future, this incompatible combination will be rejected.", +"enum": [ +"CONNECTION", +"CUSTOM_METRICS", +"RATE", +"UTILIZATION" +], +"enumDescriptions": [ +"Balance based on the number of simultaneous connections.", +"Based on custom defined and reported metrics.", +"Balance based on requests per second (RPS).", +"Balance based on the backend utilization." +], +"type": "string" +}, +"capacityScaler": { +"description": "A multiplier applied to the backend's target capacity of its balancing mode. The default value is 1, which means the group serves up to 100% of its configured capacity (depending on balancingMode). A setting of 0 means the group is completely drained, offering 0% of its available capacity. The valid ranges are 0.0 and [0.1,1.0]. You cannot configure a setting larger than 0 and smaller than 0.1. You cannot configure a setting of 0 when there is only one backend attached to the backend service. Not available with backends that don't support using a balancingMode. This includes backends such as global internet NEGs, regional serverless NEGs, and PSC NEGs.", +"format": "float", +"type": "number" +}, +"customMetrics": { +"description": "List of custom metrics that are used for CUSTOM_METRICS BalancingMode.", +"items": { +"$ref": "BackendCustomMetric" +}, +"type": "array" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"failover": { +"description": "This field designates whether this is a failover backend. More than one failover backend can be configured for a given BackendService.", +"type": "boolean" +}, +"group": { +"description": "The fully-qualified URL of an instance group or network endpoint group (NEG) resource. To determine what types of backends a load balancer supports, see the [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service#backends). You must use the *fully-qualified* URL (starting with https://www.googleapis.com/) to specify the instance group or NEG. Partial URLs are not supported.", +"type": "string" +}, +"maxConnections": { +"description": "Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.", +"format": "int32", +"type": "integer" +}, +"maxConnectionsPerEndpoint": { +"description": "Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.", +"format": "int32", +"type": "integer" +}, +"maxConnectionsPerInstance": { +"description": "Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.", +"format": "int32", +"type": "integer" +}, +"maxRate": { +"description": "Defines a maximum number of HTTP requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.", +"format": "int32", +"type": "integer" +}, +"maxRatePerEndpoint": { +"description": "Defines a maximum target for requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.", +"format": "float", +"type": "number" +}, +"maxRatePerInstance": { +"description": "Defines a maximum target for requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.", +"format": "float", +"type": "number" +}, +"maxUtilization": { +"description": "Optional parameter to define a target capacity for the UTILIZATION balancing mode. The valid range is [0.0, 1.0]. For usage guidelines, see Utilization balancing mode.", +"format": "float", +"type": "number" +}, +"preference": { +"description": "This field indicates whether this backend should be fully utilized before sending traffic to backends with default preference. The possible values are: - PREFERRED: Backends with this preference level will be filled up to their capacity limits first, based on RTT. - DEFAULT: If preferred backends don't have enough capacity, backends in this layer would be used and traffic would be assigned based on the load balancing algorithm you use. This is the default ", +"enum": [ +"DEFAULT", +"PREFERENCE_UNSPECIFIED", +"PREFERRED" +], +"enumDescriptions": [ +"No preference.", +"If preference is unspecified, we set it to the DEFAULT value", +"Traffic will be sent to this backend first." +], +"type": "string" +} +}, +"type": "object" +}, +"BackendBucket": { +"description": "Represents a Cloud Storage Bucket resource. This Cloud Storage bucket resource is referenced by a URL map of a load balancer. For more information, read Backend Buckets.", +"id": "BackendBucket", +"properties": { +"bucketName": { +"description": "Cloud Storage bucket name.", +"type": "string" +}, +"cdnPolicy": { +"$ref": "BackendBucketCdnPolicy", +"description": "Cloud CDN configuration for this BackendBucket." +}, +"compressionMode": { +"description": "Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding header.", +"enum": [ +"AUTOMATIC", +"DISABLED" +], +"enumDescriptions": [ +"Automatically uses the best compression based on the Accept-Encoding header sent by the client.", +"Disables compression. Existing compressed responses cached by Cloud CDN will not be served to clients." +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"customResponseHeaders": { +"description": "Headers that the Application Load Balancer should add to proxied responses.", +"items": { +"type": "string" +}, +"type": "array" +}, +"description": { +"description": "An optional textual description of the resource; provided by the client when the resource is created.", +"type": "string" +}, +"edgeSecurityPolicy": { +"description": "[Output Only] The resource URL for the edge security policy associated with this backend bucket.", +"type": "string" +}, +"enableCdn": { +"description": "If true, enable Cloud CDN for this BackendBucket.", +"type": "boolean" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#backendBucket", +"description": "Type of the resource.", +"type": "string" +}, +"loadBalancingScheme": { +"description": "The value can only be INTERNAL_MANAGED for cross-region internal layer 7 load balancer. If loadBalancingScheme is not specified, the backend bucket can be used by classic global external load balancers, or global application external load balancers, or both.", +"enum": [ +"INTERNAL_MANAGED" +], +"enumDescriptions": [ +"Signifies that this will be used for internal Application Load Balancers." +], +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"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" +}, +"usedBy": { +"description": "[Output Only] List of resources referencing that backend bucket.", +"items": { +"$ref": "BackendBucketUsedBy" +}, +"type": "array" +} +}, +"type": "object" +}, +"BackendBucketCdnPolicy": { +"description": "Message containing Cloud CDN configuration for a backend bucket.", +"id": "BackendBucketCdnPolicy", +"properties": { +"bypassCacheOnRequestHeaders": { +"description": "Bypass the cache when the specified request headers are matched - e.g. Pragma or Authorization headers. Up to 5 headers can be specified. The cache is bypassed for all cdnPolicy.cacheMode settings.", +"items": { +"$ref": "BackendBucketCdnPolicyBypassCacheOnRequestHeader" +}, +"type": "array" +}, +"cacheKeyPolicy": { +"$ref": "BackendBucketCdnPolicyCacheKeyPolicy", +"description": "The CacheKeyPolicy for this CdnPolicy." +}, +"cacheMode": { +"description": "Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. If no value is provided for cdnPolicy.cacheMode, it defaults to CACHE_ALL_STATIC.", +"enum": [ +"CACHE_ALL_STATIC", +"FORCE_CACHE_ALL", +"INVALID_CACHE_MODE", +"USE_ORIGIN_HEADERS" +], +"enumDescriptions": [ +"Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached.", +"Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content.", +"", +"Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server." +], +"type": "string" +}, +"clientTtl": { +"description": "Specifies a separate client (e.g. browser client) maximum TTL. This is used to clamp the max-age (or Expires) value sent to the client. With FORCE_CACHE_ALL, the lesser of client_ttl and default_ttl is used for the response max-age directive, along with a \"public\" directive. For cacheable content in CACHE_ALL_STATIC mode, client_ttl clamps the max-age from the origin (if specified), or else sets the response max-age directive to the lesser of the client_ttl and default_ttl, and also ensures a \"public\" cache-control directive is present. If a client TTL is not specified, a default value (1 hour) will be used. The maximum allowed value is 31,622,400s (1 year).", +"format": "int32", +"type": "integer" +}, +"defaultTtl": { +"description": "Specifies the default TTL for cached content served by this origin for responses that do not have an existing valid TTL (max-age or s-max-age). Setting a TTL of \"0\" means \"always revalidate\". The value of defaultTTL cannot be set to a value greater than that of maxTTL, but can be equal. When the cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set in all responses. The maximum allowed value is 31,622,400s (1 year), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", +"format": "int32", +"type": "integer" +}, +"maxTtl": { +"description": "Specifies the maximum allowed TTL for cached content served by this origin. Cache directives that attempt to set a max-age or s-maxage higher than this, or an Expires header more than maxTTL seconds in the future will be capped at the value of maxTTL, as if it were the value of an s-maxage Cache-Control directive. Headers sent to the client will not be modified. Setting a TTL of \"0\" means \"always revalidate\". The maximum allowed value is 31,622,400s (1 year), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", +"format": "int32", +"type": "integer" +}, +"negativeCaching": { +"description": "Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects. This can reduce the load on your origin and improve end-user experience by reducing response latency. When the cache mode is set to CACHE_ALL_STATIC or USE_ORIGIN_HEADERS, negative caching applies to responses with the specified response code that lack any Cache-Control, Expires, or Pragma: no-cache directives. When the cache mode is set to FORCE_CACHE_ALL, negative caching applies to all responses with the specified response code, and override any caching headers. By default, Cloud CDN will apply the following default TTLs to these status codes: HTTP 300 (Multiple Choice), 301, 308 (Permanent Redirects): 10m HTTP 404 (Not Found), 410 (Gone), 451 (Unavailable For Legal Reasons): 120s HTTP 405 (Method Not Found), 421 (Misdirected Request), 501 (Not Implemented): 60s. These defaults can be overridden in negative_caching_policy.", +"type": "boolean" +}, +"negativeCachingPolicy": { +"description": "Sets a cache TTL for the specified HTTP status code. negative_caching must be enabled to configure negative_caching_policy. Omitting the policy and leaving negative_caching enabled will use Cloud CDN's default cache TTLs. Note that when specifying an explicit negative_caching_policy, you should take care to specify a cache TTL for all response codes that you wish to cache. Cloud CDN will not apply any default negative caching when a policy exists.", +"items": { +"$ref": "BackendBucketCdnPolicyNegativeCachingPolicy" +}, +"type": "array" +}, +"requestCoalescing": { +"description": "If true then Cloud CDN will combine multiple concurrent cache fill requests into a small number of requests to the origin.", +"type": "boolean" +}, +"serveWhileStale": { +"description": "Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache. This setting defines the default \"max-stale\" duration for any cached responses that do not specify a max-stale directive. Stale responses that exceed the TTL configured here will not be served. The default limit (max-stale) is 86400s (1 day), which will allow stale content to be served up to this limit beyond the max-age (or s-max-age) of a cached response. The maximum allowed value is 604800 (1 week). Set this to zero (0) to disable serve-while-stale.", +"format": "int32", +"type": "integer" +}, +"signedUrlCacheMaxAgeSec": { +"description": "Maximum number of seconds the response to a signed URL request will be considered fresh. After this time period, the response will be revalidated before being served. Defaults to 1hr (3600s). When serving responses to signed URL requests, Cloud CDN will internally behave as though all responses from this backend had a \"Cache-Control: public, max-age=[TTL]\" header, regardless of any existing Cache-Control header. The actual headers served in responses will not be altered.", +"format": "int64", +"type": "string" +}, +"signedUrlKeyNames": { +"description": "[Output Only] Names of the keys for signing request URLs.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"BackendBucketCdnPolicyBypassCacheOnRequestHeader": { +"description": "Bypass the cache when the specified request headers are present, e.g. Pragma or Authorization headers. Values are case insensitive. The presence of such a header overrides the cache_mode setting.", +"id": "BackendBucketCdnPolicyBypassCacheOnRequestHeader", +"properties": { +"headerName": { +"description": "The header field name to match on when bypassing cache. Values are case-insensitive.", +"type": "string" +} +}, +"type": "object" +}, +"BackendBucketCdnPolicyCacheKeyPolicy": { +"description": "Message containing what to include in the cache key for a request for Cloud CDN.", +"id": "BackendBucketCdnPolicyCacheKeyPolicy", +"properties": { +"includeHttpHeaders": { +"description": "Allows HTTP request headers (by name) to be used in the cache key.", +"items": { +"type": "string" +}, +"type": "array" +}, +"queryStringWhitelist": { +"description": "Names of query string parameters to include in cache keys. Default parameters are always included. '&' and '=' will be percent encoded and not treated as delimiters.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"BackendBucketCdnPolicyNegativeCachingPolicy": { +"description": "Specify CDN TTLs for response error codes.", +"id": "BackendBucketCdnPolicyNegativeCachingPolicy", +"properties": { +"code": { +"description": "The HTTP status code to define a TTL against. Only HTTP status codes 300, 301, 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values, and you cannot specify a status code more than once.", +"format": "int32", +"type": "integer" +}, +"ttl": { +"description": "The TTL (in seconds) for which to cache responses with the corresponding status code. The maximum allowed value is 1800s (30 minutes), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"BackendBucketList": { +"description": "Contains a list of BackendBucket resources.", +"id": "BackendBucketList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of BackendBucket resources.", +"items": { +"$ref": "BackendBucket" +}, +"type": "array" +}, +"kind": { +"default": "compute#backendBucketList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"BackendBucketListUsable": { +"id": "BackendBucketListUsable", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of BackendBucket resources.", +"items": { +"$ref": "BackendBucket" +}, +"type": "array" +}, +"kind": { +"default": "compute#usableBackendBucketList", +"description": "[Output Only] Type of resource. Always compute#usableBackendBucketList for lists of usable backend buckets.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"BackendBucketUsedBy": { +"id": "BackendBucketUsedBy", +"properties": { +"reference": { +"description": "[Output Only] Server-defined URL for UrlMaps referencing that BackendBucket.", +"type": "string" +} +}, +"type": "object" +}, +"BackendCustomMetric": { +"description": "Custom Metrics are used for CUSTOM_METRICS balancing_mode.", +"id": "BackendCustomMetric", +"properties": { +"dryRun": { +"description": "If true, the metric data is collected and reported to Cloud Monitoring, but is not used for load balancing.", +"type": "boolean" +}, +"maxUtilization": { +"description": "Optional parameter to define a target utilization for the Custom Metrics balancing mode. The valid range is [0.0, 1.0].", +"format": "float", +"type": "number" +}, +"name": { +"description": "Name of a custom utilization signal. The name must be 1-24 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, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.", +"type": "string" +} +}, +"type": "object" +}, +"BackendService": { +"description": "Represents a Backend Service resource. A backend service defines how Google Cloud load balancers distribute traffic. The backend service configuration contains a set of values, such as the protocol used to connect to backends, various distribution and session settings, health checks, and timeouts. These settings provide fine-grained control over how your load balancer behaves. Most of the settings have default values that allow for easy configuration if you need to get started quickly. Backend services in Google Compute Engine can be either regionally or globally scoped. * [Global](https://cloud.google.com/compute/docs/reference/rest/alpha/backendServices) * [Regional](https://cloud.google.com/compute/docs/reference/rest/alpha/regionBackendServices) For more information, see Backend Services.", +"id": "BackendService", +"properties": { +"affinityCookieTtlSec": { +"description": "Lifetime of cookies in seconds. This setting is applicable to Application Load Balancers and Traffic Director and requires GENERATED_COOKIE or HTTP_COOKIE session affinity. If set to 0, the cookie is non-persistent and lasts only until the end of the browser session (or equivalent). The maximum allowed value is two weeks (1,209,600). Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.", +"format": "int32", +"type": "integer" +}, +"backends": { +"description": "The list of backends that serve this BackendService.", +"items": { +"$ref": "Backend" +}, +"type": "array" +}, +"cdnPolicy": { +"$ref": "BackendServiceCdnPolicy", +"description": "Cloud CDN configuration for this BackendService. Only available for specified load balancer types." +}, +"circuitBreakers": { +"$ref": "CircuitBreakers" +}, +"compressionMode": { +"description": "Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding header.", +"enum": [ +"AUTOMATIC", +"DISABLED" +], +"enumDescriptions": [ +"Automatically uses the best compression based on the Accept-Encoding header sent by the client.", +"Disables compression. Existing compressed responses cached by Cloud CDN will not be served to clients." +], +"type": "string" +}, +"connectionDraining": { +"$ref": "ConnectionDraining" +}, +"connectionTrackingPolicy": { +"$ref": "BackendServiceConnectionTrackingPolicy", +"description": "Connection Tracking configuration for this BackendService. Connection tracking policy settings are only available for external passthrough Network Load Balancers and internal passthrough Network Load Balancers." +}, +"consistentHash": { +"$ref": "ConsistentHashLoadBalancerSettings", +"description": "Consistent Hash-based load balancing can be used to provide soft session affinity based on HTTP headers, cookies or other properties. This load balancing policy is applicable only for HTTP connections. The affinity to a particular destination host will be lost when one or more hosts are added/removed from the destination service. This field specifies parameters that control consistent hashing. This field is only applicable when localityLbPolicy is set to MAGLEV or RING_HASH. This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. " +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"customMetrics": { +"description": "List of custom metrics that are used for the WEIGHTED_ROUND_ROBIN locality_lb_policy.", +"items": { +"$ref": "BackendServiceCustomMetric" +}, +"type": "array" +}, +"customRequestHeaders": { +"description": "Headers that the load balancer adds to proxied requests. See [Creating custom headers](https://cloud.google.com/load-balancing/docs/custom-headers).", +"items": { +"type": "string" +}, +"type": "array" +}, +"customResponseHeaders": { +"description": "Headers that the load balancer adds to proxied responses. See [Creating custom headers](https://cloud.google.com/load-balancing/docs/custom-headers).", +"items": { +"type": "string" +}, +"type": "array" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"edgeSecurityPolicy": { +"description": "[Output Only] The resource URL for the edge security policy associated with this backend service.", +"type": "string" +}, +"enableCDN": { +"description": "If true, enables Cloud CDN for the backend service of a global external Application Load Balancer.", +"type": "boolean" +}, +"externalManagedMigrationState": { +"description": "Specifies the canary migration state. Possible values are PREPARE, TEST_BY_PERCENTAGE, and TEST_ALL_TRAFFIC. To begin the migration from EXTERNAL to EXTERNAL_MANAGED, the state must be changed to PREPARE. The state must be changed to TEST_ALL_TRAFFIC before the loadBalancingScheme can be changed to EXTERNAL_MANAGED. Optionally, the TEST_BY_PERCENTAGE state can be used to migrate traffic by percentage using externalManagedMigrationTestingPercentage. Rolling back a migration requires the states to be set in reverse order. So changing the scheme from EXTERNAL_MANAGED to EXTERNAL requires the state to be set to TEST_ALL_TRAFFIC at the same time. Optionally, the TEST_BY_PERCENTAGE state can be used to migrate some traffic back to EXTERNAL or PREPARE can be used to migrate all traffic back to EXTERNAL.", +"enum": [ +"PREPARE", +"TEST_ALL_TRAFFIC", +"TEST_BY_PERCENTAGE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"externalManagedMigrationTestingPercentage": { +"description": "Determines the fraction of requests that should be processed by the Global external Application Load Balancer. The value of this field must be in the range [0, 100]. Session affinity options will slightly affect this routing behavior, for more details, see: Session Affinity. This value can only be set if the loadBalancingScheme in the BackendService is set to EXTERNAL (when using the classic Application Load Balancer) and the migration state is TEST_BY_PERCENTAGE.", +"format": "float", +"type": "number" +}, +"failoverPolicy": { +"$ref": "BackendServiceFailoverPolicy", +"description": "Requires at least one backend instance group to be defined as a backup (failover) backend. For load balancers that have configurable failover: [Internal passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview)." +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a BackendService. An up-to-date fingerprint must be provided in order to update the BackendService, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a BackendService.", +"format": "byte", +"type": "string" +}, +"haPolicy": { +"$ref": "BackendServiceHAPolicy", +"description": "Configuring haPolicy is not supported." +}, +"healthChecks": { +"description": "The list of URLs to the healthChecks, httpHealthChecks (legacy), or httpsHealthChecks (legacy) resource for health checking this backend service. Not all backend services support legacy health checks. See Load balancer guide. Currently, at most one health check can be specified for each backend service. Backend services with instance group or zonal NEG backends must have a health check. Backend services with internet or serverless NEG backends must not have a health check.", +"items": { +"type": "string" +}, +"type": "array" +}, +"iap": { +"$ref": "BackendServiceIAP", +"description": "The configurations for Identity-Aware Proxy on this resource. Not available for internal passthrough Network Load Balancers and external passthrough Network Load Balancers." +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"ipAddressSelectionPolicy": { +"description": "Specifies a preference for traffic sent from the proxy to the backend (or from the client to the backend for proxyless gRPC). The possible values are: - IPV4_ONLY: Only send IPv4 traffic to the backends of the backend service (Instance Group, Managed Instance Group, Network Endpoint Group), regardless of traffic from the client to the proxy. Only IPv4 health checks are used to check the health of the backends. This is the default setting. - PREFER_IPV6: Prioritize the connection to the endpoint's IPv6 address over its IPv4 address (provided there is a healthy IPv6 address). - IPV6_ONLY: Only send IPv6 traffic to the backends of the backend service (Instance Group, Managed Instance Group, Network Endpoint Group), regardless of traffic from the client to the proxy. Only IPv6 health checks are used to check the health of the backends. This field is applicable to either: - Advanced global external Application Load Balancer (load balancing scheme EXTERNAL_MANAGED), - Regional external Application Load Balancer, - Internal proxy Network Load Balancer (load balancing scheme INTERNAL_MANAGED), - Regional internal Application Load Balancer (load balancing scheme INTERNAL_MANAGED), - Traffic Director with Envoy proxies and proxyless gRPC (load balancing scheme INTERNAL_SELF_MANAGED). ", +"enum": [ +"IPV4_ONLY", +"IPV6_ONLY", +"IP_ADDRESS_SELECTION_POLICY_UNSPECIFIED", +"PREFER_IPV6" +], +"enumDescriptions": [ +"Only send IPv4 traffic to the backends of the Backend Service (Instance Group, Managed Instance Group, Network Endpoint Group) regardless of traffic from the client to the proxy. Only IPv4 health-checks are used to check the health of the backends. This is the default setting.", +"Only send IPv6 traffic to the backends of the Backend Service (Instance Group, Managed Instance Group, Network Endpoint Group) regardless of traffic from the client to the proxy. Only IPv6 health-checks are used to check the health of the backends.", +"Unspecified IP address selection policy.", +"Prioritize the connection to the endpoints IPv6 address over its IPv4 address (provided there is a healthy IPv6 address)." +], +"type": "string" +}, +"kind": { +"default": "compute#backendService", +"description": "[Output Only] Type of resource. Always compute#backendService for backend services.", +"type": "string" +}, +"loadBalancingScheme": { +"description": "Specifies the load balancer type. A backend service created for one type of load balancer cannot be used with another. For more information, refer to Choosing a load balancer.", +"enum": [ +"EXTERNAL", +"EXTERNAL_MANAGED", +"INTERNAL", +"INTERNAL_MANAGED", +"INTERNAL_SELF_MANAGED", +"INVALID_LOAD_BALANCING_SCHEME" +], +"enumDescriptions": [ +"Signifies that this will be used for classic Application Load Balancers, global external proxy Network Load Balancers, or external passthrough Network Load Balancers.", +"Signifies that this will be used for global external Application Load Balancers, regional external Application Load Balancers, or regional external proxy Network Load Balancers.", +"Signifies that this will be used for internal passthrough Network Load Balancers.", +"Signifies that this will be used for internal Application Load Balancers.", +"Signifies that this will be used by Traffic Director.", +"" +], +"type": "string" +}, +"localityLbPolicies": { +"description": "A list of locality load-balancing policies to be used in order of preference. When you use localityLbPolicies, you must set at least one value for either the localityLbPolicies[].policy or the localityLbPolicies[].customPolicy field. localityLbPolicies overrides any value set in the localityLbPolicy field. For an example of how to use this field, see Define a list of preferred policies. Caution: This field and its children are intended for use in a service mesh that includes gRPC clients only. Envoy proxies can't use backend services that have this configuration.", +"items": { +"$ref": "BackendServiceLocalityLoadBalancingPolicyConfig" +}, +"type": "array" +}, +"localityLbPolicy": { +"description": "The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not configured\u2014that is, if session affinity remains at the default value of NONE\u2014then the default value for localityLbPolicy is ROUND_ROBIN. If session affinity is set to a value other than NONE, then the default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.", +"enum": [ +"INVALID_LB_POLICY", +"LEAST_REQUEST", +"MAGLEV", +"ORIGINAL_DESTINATION", +"RANDOM", +"RING_HASH", +"ROUND_ROBIN", +"WEIGHTED_MAGLEV", +"WEIGHTED_ROUND_ROBIN" +], +"enumDescriptions": [ +"", +"An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests.", +"This algorithm implements consistent hashing to backends. Maglev can be used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824", +"Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer.", +"The load balancer selects a random healthy host.", +"The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests.", +"This is a simple policy in which each healthy backend is selected in round robin order. This is the default.", +"Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing.", +"Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field X-Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the backends[].customMetrics fields." +], +"type": "string" +}, +"logConfig": { +"$ref": "BackendServiceLogConfig", +"description": "This field denotes the logging options for the load balancer traffic served by this backend service. If logging is enabled, logs will be exported to Stackdriver." +}, +"maxStreamDuration": { +"$ref": "Duration", +"description": "Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed. If not specified, there will be no timeout limit, i.e. the maximum duration is infinite. This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service. This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED." +}, +"metadatas": { +"additionalProperties": { +"type": "string" +}, +"description": "Deployment metadata associated with the resource to be set by a GKE hub controller and read by the backend RCTH", +"type": "object" +}, +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"network": { +"description": "The URL of the network to which this backend service belongs. This field can only be specified when the load balancing scheme is set to INTERNAL.", +"type": "string" +}, +"networkPassThroughLbTrafficPolicy": { +"$ref": "BackendServiceNetworkPassThroughLbTrafficPolicy", +"description": "Configures traffic steering properties of internal passthrough Network Load Balancers." +}, +"outlierDetection": { +"$ref": "OutlierDetection", +"description": "Settings controlling the ejection of unhealthy backend endpoints from the load balancing pool of each individual proxy instance that processes the traffic for the given backend service. If not set, this feature is considered disabled. Results of the outlier detection algorithm (ejection of endpoints from the load balancing pool and returning them back to the pool) are executed independently by each proxy instance of the load balancer. In most cases, more than one proxy instance handles the traffic received by a backend service. Thus, it is possible that an unhealthy endpoint is detected and ejected by only some of the proxies, and while this happens, other proxies may continue to send requests to the same unhealthy endpoint until they detect and eject the unhealthy endpoint. Applicable backend endpoints can be: - VM instances in an Instance Group - Endpoints in a Zonal NEG (GCE_VM_IP, GCE_VM_IP_PORT) - Endpoints in a Hybrid Connectivity NEG (NON_GCP_PRIVATE_IP_PORT) - Serverless NEGs, that resolve to Cloud Run, App Engine, or Cloud Functions Services - Private Service Connect NEGs, that resolve to Google-managed regional API endpoints or managed services published using Private Service Connect Applicable backend service types can be: - A global backend service with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL_MANAGED. - A regional backend service with the serviceProtocol set to HTTP, HTTPS, or HTTP2, and loadBalancingScheme set to INTERNAL_MANAGED or EXTERNAL_MANAGED. Not supported for Serverless NEGs. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true." +}, +"port": { +"deprecated": true, +"description": "Deprecated in favor of portName. The TCP port to connect on the backend. The default value is 80. For internal passthrough Network Load Balancers and external passthrough Network Load Balancers, omit port.", +"format": "int32", +"type": "integer" +}, +"portName": { +"description": "A named port on a backend instance group representing the port for communication to the backend VMs in that group. The named port must be [defined on each backend instance group](https://cloud.google.com/load-balancing/docs/backend-service#named_ports). This parameter has no meaning if the backends are NEGs. For internal passthrough Network Load Balancers and external passthrough Network Load Balancers, omit port_name.", +"type": "string" +}, +"protocol": { +"description": "The protocol this BackendService uses to communicate with backends. Possible values are HTTP, HTTPS, HTTP2, TCP, SSL, UDP or GRPC. depending on the chosen load balancer or Traffic Director configuration. Refer to the documentation for the load balancers or for Traffic Director for more information. Must be set to GRPC when the backend service is referenced by a URL map that is bound to target gRPC proxy.", +"enum": [ +"ALL", +"GRPC", +"H2C", +"HTTP", +"HTTP2", +"HTTPS", +"SSL", +"TCP", +"UDP", +"UNSPECIFIED" +], +"enumDescriptions": [ +"ALL includes TCP, UDP, ICMP, ESP, AH and SCTP. Note that this should never be used together with target_xx_proxies.", +"gRPC (available for Traffic Director).", +"HTTP2 over cleartext", +"", +"HTTP/2 with SSL.", +"", +"TCP proxying with SSL.", +"TCP proxying or TCP pass-through.", +"UDP.", +"If a Backend Service has UNSPECIFIED as its protocol, it can be used with any L3/L4 Forwarding Rules." +], +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the regional backend service resides. This field is not applicable to global backend services. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"securityPolicy": { +"description": "[Output Only] The resource URL for the security policy associated with this backend service.", +"type": "string" +}, +"securitySettings": { +"$ref": "SecuritySettings", +"description": "This field specifies the security settings that apply to this backend service. This field is applicable to a global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED." +}, +"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" +}, +"serviceBindings": { +"description": "URLs of networkservices.ServiceBinding resources. Can only be set if load balancing scheme is INTERNAL_SELF_MANAGED. If set, lists of backends and health checks must be both empty.", +"items": { +"type": "string" +}, +"type": "array" +}, +"serviceLbPolicy": { +"description": "URL to networkservices.ServiceLbPolicy resource. Can only be set if load balancing scheme is EXTERNAL, EXTERNAL_MANAGED, INTERNAL_MANAGED or INTERNAL_SELF_MANAGED and the scope is global.", +"type": "string" +}, +"sessionAffinity": { +"description": "Type of session affinity to use. The default is NONE. Only NONE and HEADER_FIELD are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. For more details, see: [Session Affinity](https://cloud.google.com/load-balancing/docs/backend-service#session_affinity).", +"enum": [ +"CLIENT_IP", +"CLIENT_IP_NO_DESTINATION", +"CLIENT_IP_PORT_PROTO", +"CLIENT_IP_PROTO", +"GENERATED_COOKIE", +"HEADER_FIELD", +"HTTP_COOKIE", +"NONE", +"STRONG_COOKIE_AFFINITY" +], +"enumDescriptions": [ +"2-tuple hash on packet's source and destination IP addresses. Connections from the same source IP address to the same destination IP address will be served by the same backend VM while that VM remains healthy.", +"1-tuple hash only on packet's source IP address. Connections from the same source IP address will be served by the same backend VM while that VM remains healthy. This option can only be used for Internal TCP/UDP Load Balancing.", +"5-tuple hash on packet's source and destination IP addresses, IP protocol, and source and destination ports. Connections for the same IP protocol from the same source IP address and port to the same destination IP address and port will be served by the same backend VM while that VM remains healthy. This option cannot be used for HTTP(S) load balancing.", +"3-tuple hash on packet's source and destination IP addresses, and IP protocol. Connections for the same IP protocol from the same source IP address to the same destination IP address will be served by the same backend VM while that VM remains healthy. This option cannot be used for HTTP(S) load balancing.", +"Hash based on a cookie generated by the L7 loadbalancer. Only valid for HTTP(S) load balancing.", +"The hash is based on a user specified header field.", +"The hash is based on a user provided cookie.", +"No session affinity. Connections from the same client IP may go to any instance in the pool.", +"Strong cookie-based affinity. Connections bearing the same cookie will be served by the same backend VM while that VM remains healthy, as long as the cookie has not expired." +], +"type": "string" +}, +"strongSessionAffinityCookie": { +"$ref": "BackendServiceHttpCookie", +"description": "Describes the HTTP cookie used for stateful session affinity. This field is applicable and required if the sessionAffinity is set to STRONG_COOKIE_AFFINITY." +}, +"subsetting": { +"$ref": "Subsetting" +}, +"timeoutSec": { +"description": "The backend service timeout has a different meaning depending on the type of load balancer. For more information see, Backend service settings. The default is 30 seconds. The full range of timeout values allowed goes from 1 through 2,147,483,647 seconds. This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.", +"format": "int32", +"type": "integer" +}, +"tlsSettings": { +"$ref": "BackendServiceTlsSettings", +"description": "Configuration for Backend Authenticated TLS and mTLS. May only be specified when the backend protocol is SSL, HTTPS or HTTP2." +}, +"usedBy": { +"description": "[Output Only] List of resources referencing given backend service.", +"items": { +"$ref": "BackendServiceUsedBy" +}, +"type": "array" +}, +"vpcNetworkScope": { +"description": "The network scope of the backends that can be added to the backend service. This field can be either GLOBAL_VPC_NETWORK or REGIONAL_VPC_NETWORK. A backend service with the VPC scope set to GLOBAL_VPC_NETWORK is only allowed to have backends in global VPC networks. When the VPC scope is set to REGIONAL_VPC_NETWORK the backend service is only allowed to have backends in regional networks in the same scope as the backend service. Note: if not specified then GLOBAL_VPC_NETWORK will be used.", +"enum": [ +"GLOBAL_VPC_NETWORK", +"REGIONAL_VPC_NETWORK" +], +"enumDescriptions": [ +"The backend service can only have backends in global VPCs", +"The backend service can only have backends in regional VPCs" +], +"type": "string" +} +}, +"type": "object" +}, +"BackendServiceAggregatedList": { +"description": "Contains a list of BackendServicesScopedList.", +"id": "BackendServiceAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "BackendServicesScopedList", +"description": "Name of the scope containing this set of BackendServices." +}, +"description": "A list of BackendServicesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#backendServiceAggregatedList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"BackendServiceCdnPolicy": { +"description": "Message containing Cloud CDN configuration for a backend service.", +"id": "BackendServiceCdnPolicy", +"properties": { +"bypassCacheOnRequestHeaders": { +"description": "Bypass the cache when the specified request headers are matched - e.g. Pragma or Authorization headers. Up to 5 headers can be specified. The cache is bypassed for all cdnPolicy.cacheMode settings.", +"items": { +"$ref": "BackendServiceCdnPolicyBypassCacheOnRequestHeader" +}, +"type": "array" +}, +"cacheKeyPolicy": { +"$ref": "CacheKeyPolicy", +"description": "The CacheKeyPolicy for this CdnPolicy." +}, +"cacheMode": { +"description": "Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. If no value is provided for cdnPolicy.cacheMode, it defaults to CACHE_ALL_STATIC.", +"enum": [ +"CACHE_ALL_STATIC", +"FORCE_CACHE_ALL", +"INVALID_CACHE_MODE", +"USE_ORIGIN_HEADERS" +], +"enumDescriptions": [ +"Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached.", +"Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content.", +"", +"Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server." +], +"type": "string" +}, +"clientTtl": { +"description": "Specifies a separate client (e.g. browser client) maximum TTL. This is used to clamp the max-age (or Expires) value sent to the client. With FORCE_CACHE_ALL, the lesser of client_ttl and default_ttl is used for the response max-age directive, along with a \"public\" directive. For cacheable content in CACHE_ALL_STATIC mode, client_ttl clamps the max-age from the origin (if specified), or else sets the response max-age directive to the lesser of the client_ttl and default_ttl, and also ensures a \"public\" cache-control directive is present. If a client TTL is not specified, a default value (1 hour) will be used. The maximum allowed value is 31,622,400s (1 year).", +"format": "int32", +"type": "integer" +}, +"defaultTtl": { +"description": "Specifies the default TTL for cached content served by this origin for responses that do not have an existing valid TTL (max-age or s-max-age). Setting a TTL of \"0\" means \"always revalidate\". The value of defaultTTL cannot be set to a value greater than that of maxTTL, but can be equal. When the cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set in all responses. The maximum allowed value is 31,622,400s (1 year), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", +"format": "int32", +"type": "integer" +}, +"maxTtl": { +"description": "Specifies the maximum allowed TTL for cached content served by this origin. Cache directives that attempt to set a max-age or s-maxage higher than this, or an Expires header more than maxTTL seconds in the future will be capped at the value of maxTTL, as if it were the value of an s-maxage Cache-Control directive. Headers sent to the client will not be modified. Setting a TTL of \"0\" means \"always revalidate\". The maximum allowed value is 31,622,400s (1 year), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", +"format": "int32", +"type": "integer" +}, +"negativeCaching": { +"description": "Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects. This can reduce the load on your origin and improve end-user experience by reducing response latency. When the cache mode is set to CACHE_ALL_STATIC or USE_ORIGIN_HEADERS, negative caching applies to responses with the specified response code that lack any Cache-Control, Expires, or Pragma: no-cache directives. When the cache mode is set to FORCE_CACHE_ALL, negative caching applies to all responses with the specified response code, and override any caching headers. By default, Cloud CDN will apply the following default TTLs to these status codes: HTTP 300 (Multiple Choice), 301, 308 (Permanent Redirects): 10m HTTP 404 (Not Found), 410 (Gone), 451 (Unavailable For Legal Reasons): 120s HTTP 405 (Method Not Found), 421 (Misdirected Request), 501 (Not Implemented): 60s. These defaults can be overridden in negative_caching_policy.", +"type": "boolean" +}, +"negativeCachingPolicy": { +"description": "Sets a cache TTL for the specified HTTP status code. negative_caching must be enabled to configure negative_caching_policy. Omitting the policy and leaving negative_caching enabled will use Cloud CDN's default cache TTLs. Note that when specifying an explicit negative_caching_policy, you should take care to specify a cache TTL for all response codes that you wish to cache. Cloud CDN will not apply any default negative caching when a policy exists.", +"items": { +"$ref": "BackendServiceCdnPolicyNegativeCachingPolicy" +}, +"type": "array" +}, +"requestCoalescing": { +"description": "If true then Cloud CDN will combine multiple concurrent cache fill requests into a small number of requests to the origin.", +"type": "boolean" +}, +"serveWhileStale": { +"description": "Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache. This setting defines the default \"max-stale\" duration for any cached responses that do not specify a max-stale directive. Stale responses that exceed the TTL configured here will not be served. The default limit (max-stale) is 86400s (1 day), which will allow stale content to be served up to this limit beyond the max-age (or s-max-age) of a cached response. The maximum allowed value is 604800 (1 week). Set this to zero (0) to disable serve-while-stale.", +"format": "int32", +"type": "integer" +}, +"signedUrlCacheMaxAgeSec": { +"description": "Maximum number of seconds the response to a signed URL request will be considered fresh. After this time period, the response will be revalidated before being served. Defaults to 1hr (3600s). When serving responses to signed URL requests, Cloud CDN will internally behave as though all responses from this backend had a \"Cache-Control: public, max-age=[TTL]\" header, regardless of any existing Cache-Control header. The actual headers served in responses will not be altered.", +"format": "int64", +"type": "string" +}, +"signedUrlKeyNames": { +"description": "[Output Only] Names of the keys for signing request URLs.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"BackendServiceCdnPolicyBypassCacheOnRequestHeader": { +"description": "Bypass the cache when the specified request headers are present, e.g. Pragma or Authorization headers. Values are case insensitive. The presence of such a header overrides the cache_mode setting.", +"id": "BackendServiceCdnPolicyBypassCacheOnRequestHeader", +"properties": { +"headerName": { +"description": "The header field name to match on when bypassing cache. Values are case-insensitive.", +"type": "string" +} +}, +"type": "object" +}, +"BackendServiceCdnPolicyNegativeCachingPolicy": { +"description": "Specify CDN TTLs for response error codes.", +"id": "BackendServiceCdnPolicyNegativeCachingPolicy", +"properties": { +"code": { +"description": "The HTTP status code to define a TTL against. Only HTTP status codes 300, 301, 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values, and you cannot specify a status code more than once.", +"format": "int32", +"type": "integer" +}, +"ttl": { +"description": "The TTL (in seconds) for which to cache responses with the corresponding status code. The maximum allowed value is 1800s (30 minutes), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"BackendServiceConnectionTrackingPolicy": { +"description": "Connection Tracking configuration for this BackendService.", +"id": "BackendServiceConnectionTrackingPolicy", +"properties": { +"connectionPersistenceOnUnhealthyBackends": { +"description": "Specifies connection persistence when backends are unhealthy. The default value is DEFAULT_FOR_PROTOCOL. If set to DEFAULT_FOR_PROTOCOL, the existing connections persist on unhealthy backends only for connection-oriented protocols (TCP and SCTP) and only if the Tracking Mode is PER_CONNECTION (default tracking mode) or the Session Affinity is configured for 5-tuple. They do not persist for UDP. If set to NEVER_PERSIST, after a backend becomes unhealthy, the existing connections on the unhealthy backend are never persisted on the unhealthy backend. They are always diverted to newly selected healthy backends (unless all backends are unhealthy). If set to ALWAYS_PERSIST, existing connections always persist on unhealthy backends regardless of protocol and session affinity. It is generally not recommended to use this mode overriding the default. For more details, see [Connection Persistence for Network Load Balancing](https://cloud.google.com/load-balancing/docs/network/networklb-backend-service#connection-persistence) and [Connection Persistence for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal#connection-persistence).", +"enum": [ +"ALWAYS_PERSIST", +"DEFAULT_FOR_PROTOCOL", +"NEVER_PERSIST" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"enableStrongAffinity": { +"description": "Enable Strong Session Affinity for external passthrough Network Load Balancers. This option is not available publicly.", +"type": "boolean" +}, +"idleTimeoutSec": { +"description": "Specifies how long to keep a Connection Tracking entry while there is no matching traffic (in seconds). For internal passthrough Network Load Balancers: - The minimum (default) is 10 minutes and the maximum is 16 hours. - It can be set only if Connection Tracking is less than 5-tuple (i.e. Session Affinity is CLIENT_IP_NO_DESTINATION, CLIENT_IP or CLIENT_IP_PROTO, and Tracking Mode is PER_SESSION). For external passthrough Network Load Balancers the default is 60 seconds. This option is not available publicly.", +"format": "int32", +"type": "integer" +}, +"trackingMode": { +"description": "Specifies the key used for connection tracking. There are two options: - PER_CONNECTION: This is the default mode. The Connection Tracking is performed as per the Connection Key (default Hash Method) for the specific protocol. - PER_SESSION: The Connection Tracking is performed as per the configured Session Affinity. It matches the configured Session Affinity. For more details, see [Tracking Mode for Network Load Balancing](https://cloud.google.com/load-balancing/docs/network/networklb-backend-service#tracking-mode) and [Tracking Mode for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal#tracking-mode).", +"enum": [ +"INVALID_TRACKING_MODE", +"PER_CONNECTION", +"PER_SESSION" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"BackendServiceCustomMetric": { +"description": "Custom Metrics are used for WEIGHTED_ROUND_ROBIN locality_lb_policy.", +"id": "BackendServiceCustomMetric", +"properties": { +"dryRun": { +"description": "If true, the metric data is not used for load balancing.", +"type": "boolean" +}, +"name": { +"description": "Name of a custom utilization signal. The name must be 1-24 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, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.", +"type": "string" +} +}, +"type": "object" +}, +"BackendServiceFailoverPolicy": { +"description": "For load balancers that have configurable failover: [Internal passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview). On failover or failback, this field indicates whether connection draining will be honored. Google Cloud has a fixed connection draining timeout of 10 minutes. A setting of true terminates existing TCP connections to the active pool during failover and failback, immediately draining traffic. A setting of false allows existing TCP connections to persist, even on VMs no longer in the active pool, for up to the duration of the connection draining timeout (10 minutes).", +"id": "BackendServiceFailoverPolicy", +"properties": { +"disableConnectionDrainOnFailover": { +"description": "This can be set to true only if the protocol is TCP. The default is false.", +"type": "boolean" +}, +"dropTrafficIfUnhealthy": { +"description": "If set to true, connections to the load balancer are dropped when all primary and all backup backend VMs are unhealthy.If set to false, connections are distributed among all primary VMs when all primary and all backup backend VMs are unhealthy. For load balancers that have configurable failover: [Internal passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview). The default is false.", +"type": "boolean" +}, +"failoverRatio": { +"description": "The value of the field must be in the range [0, 1]. If the value is 0, the load balancer performs a failover when the number of healthy primary VMs equals zero. For all other values, the load balancer performs a failover when the total number of healthy primary VMs is less than this ratio. For load balancers that have configurable failover: [Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview).", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"BackendServiceGroupHealth": { +"id": "BackendServiceGroupHealth", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Metadata defined as annotations on the network endpoint group.", +"type": "object" +}, +"healthStatus": { +"description": "Health state of the backend instances or endpoints in requested instance or network endpoint group, determined based on configured health checks.", +"items": { +"$ref": "HealthStatus" +}, +"type": "array" +}, +"kind": { +"default": "compute#backendServiceGroupHealth", +"description": "[Output Only] Type of resource. Always compute#backendServiceGroupHealth for the health of backend services.", +"type": "string" +} +}, +"type": "object" +}, +"BackendServiceHAPolicy": { +"id": "BackendServiceHAPolicy", +"properties": { +"fastIPMove": { +"description": "Enabling fastIPMove is not supported.", +"enum": [ +"DISABLED", +"GARP_RA" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"leader": { +"$ref": "BackendServiceHAPolicyLeader", +"description": "Setting a leader is not supported." +} +}, +"type": "object" +}, +"BackendServiceHAPolicyLeader": { +"id": "BackendServiceHAPolicyLeader", +"properties": { +"backendGroup": { +"description": "Setting backendGroup is not supported.", +"type": "string" +}, +"networkEndpoint": { +"$ref": "BackendServiceHAPolicyLeaderNetworkEndpoint", +"description": "Setting a network endpoint as leader is not supported." +} +}, +"type": "object" +}, +"BackendServiceHAPolicyLeaderNetworkEndpoint": { +"id": "BackendServiceHAPolicyLeaderNetworkEndpoint", +"properties": { +"instance": { +"description": "Specifying the instance name of a leader is not supported.", +"type": "string" +} +}, +"type": "object" +}, +"BackendServiceHttpCookie": { +"description": "The HTTP cookie used for stateful session affinity.", +"id": "BackendServiceHttpCookie", +"properties": { +"name": { +"description": "Name of the cookie.", +"type": "string" +}, +"path": { +"description": "Path to set for the cookie.", +"type": "string" +}, +"ttl": { +"$ref": "Duration", +"description": "Lifetime of the cookie." +} +}, +"type": "object" +}, +"BackendServiceIAP": { +"description": "Identity-Aware Proxy", +"id": "BackendServiceIAP", +"properties": { +"enabled": { +"description": "Whether the serving infrastructure will authenticate and authorize all incoming requests.", +"type": "boolean" +}, +"oauth2ClientId": { +"description": "OAuth2 client ID to use for the authentication flow.", +"type": "string" +}, +"oauth2ClientInfo": { +"$ref": "BackendServiceIAPOAuth2ClientInfo", +"description": "[Input Only] OAuth client info required to generate client id to be used for IAP." +}, +"oauth2ClientSecret": { +"description": "OAuth2 client secret to use for the authentication flow. For security reasons, this value cannot be retrieved via the API. Instead, the SHA-256 hash of the value is returned in the oauth2ClientSecretSha256 field. @InputOnly", +"type": "string" +}, +"oauth2ClientSecretSha256": { +"description": "[Output Only] SHA256 hash value for the field oauth2_client_secret above.", +"type": "string" +} +}, +"type": "object" +}, +"BackendServiceIAPOAuth2ClientInfo": { +"id": "BackendServiceIAPOAuth2ClientInfo", +"properties": { +"applicationName": { +"description": "Application name to be used in OAuth consent screen.", +"type": "string" +}, +"clientName": { +"description": "Name of the client to be generated. Optional - If not provided, the name will be autogenerated by the backend.", +"type": "string" +}, +"developerEmailAddress": { +"description": "Developer's information to be used in OAuth consent screen.", +"type": "string" +} +}, +"type": "object" +}, +"BackendServiceList": { +"description": "Contains a list of BackendService resources.", +"id": "BackendServiceList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of BackendService resources.", +"items": { +"$ref": "BackendService" +}, +"type": "array" +}, +"kind": { +"default": "compute#backendServiceList", +"description": "[Output Only] Type of resource. Always compute#backendServiceList for lists of backend services.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"BackendServiceListUsable": { +"description": "Contains a list of usable BackendService resources.", +"id": "BackendServiceListUsable", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of BackendService resources.", +"items": { +"$ref": "BackendService" +}, +"type": "array" +}, +"kind": { +"default": "compute#usableBackendServiceList", +"description": "[Output Only] Type of resource. Always compute#usableBackendServiceList for lists of usable backend services.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"BackendServiceLocalityLoadBalancingPolicyConfig": { +"description": "Container for either a built-in LB policy supported by gRPC or Envoy or a custom one implemented by the end user.", +"id": "BackendServiceLocalityLoadBalancingPolicyConfig", +"properties": { +"customPolicy": { +"$ref": "BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy" +}, +"policy": { +"$ref": "BackendServiceLocalityLoadBalancingPolicyConfigPolicy" +} +}, +"type": "object" +}, +"BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy": { +"description": "The configuration for a custom policy implemented by the user and deployed with the client.", +"id": "BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy", +"properties": { +"data": { +"description": "An optional, arbitrary JSON object with configuration data, understood by a locally installed custom policy implementation.", +"type": "string" +}, +"name": { +"description": "Identifies the custom policy. The value should match the name of a custom implementation registered on the gRPC clients. It should follow protocol buffer message naming conventions and include the full path (for example, myorg.CustomLbPolicy). The maximum length is 256 characters. Do not specify the same custom policy more than once for a backend. If you do, the configuration is rejected. For an example of how to use this field, see Use a custom policy.", +"type": "string" +} +}, +"type": "object" +}, +"BackendServiceLocalityLoadBalancingPolicyConfigPolicy": { +"description": "The configuration for a built-in load balancing policy.", +"id": "BackendServiceLocalityLoadBalancingPolicyConfigPolicy", +"properties": { +"name": { +"description": "The name of a locality load-balancing policy. Valid values include ROUND_ROBIN and, for Java clients, LEAST_REQUEST. For information about these values, see the description of localityLbPolicy. Do not specify the same policy more than once for a backend. If you do, the configuration is rejected.", +"enum": [ +"INVALID_LB_POLICY", +"LEAST_REQUEST", +"MAGLEV", +"ORIGINAL_DESTINATION", +"RANDOM", +"RING_HASH", +"ROUND_ROBIN", +"WEIGHTED_MAGLEV", +"WEIGHTED_ROUND_ROBIN" +], +"enumDescriptions": [ +"", +"An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests.", +"This algorithm implements consistent hashing to backends. Maglev can be used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824", +"Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer.", +"The load balancer selects a random healthy host.", +"The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests.", +"This is a simple policy in which each healthy backend is selected in round robin order. This is the default.", +"Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing.", +"Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field X-Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the backends[].customMetrics fields." +], +"type": "string" +} +}, +"type": "object" +}, +"BackendServiceLogConfig": { +"description": "The available logging options for the load balancer traffic served by this backend service.", +"id": "BackendServiceLogConfig", +"properties": { +"enable": { +"description": "Denotes whether to enable logging for the load balancer traffic served by this backend service. The default value is false.", +"type": "boolean" +}, +"optional": { +"deprecated": true, +"description": "Deprecated in favor of optionalMode. This field can only be specified if logging is enabled for this backend service. Configures whether all, none or a subset of optional fields should be added to the reported logs. One of [INCLUDE_ALL_OPTIONAL, EXCLUDE_ALL_OPTIONAL, CUSTOM]. Default is EXCLUDE_ALL_OPTIONAL.", +"enum": [ +"CUSTOM", +"EXCLUDE_ALL_OPTIONAL", +"INCLUDE_ALL_OPTIONAL", +"UNSPECIFIED_OPTIONAL_MODE" +], +"enumDescriptions": [ +"A subset of optional fields.", +"None optional fields.", +"All optional fields.", +"" +], +"type": "string" +}, +"optionalFields": { +"description": "This field can only be specified if logging is enabled for this backend service and \"logConfig.optionalMode\" was set to CUSTOM. Contains a list of optional fields you want to include in the logs. For example: serverInstance, serverGkeDetails.cluster, serverGkeDetails.pod.podNamespace", +"items": { +"type": "string" +}, +"type": "array" +}, +"optionalMode": { +"description": "This field can only be specified if logging is enabled for this backend service. Configures whether all, none or a subset of optional fields should be added to the reported logs. One of [INCLUDE_ALL_OPTIONAL, EXCLUDE_ALL_OPTIONAL, CUSTOM]. Default is EXCLUDE_ALL_OPTIONAL.", +"enum": [ +"CUSTOM", +"EXCLUDE_ALL_OPTIONAL", +"INCLUDE_ALL_OPTIONAL", +"UNSPECIFIED_OPTIONAL_MODE" +], +"enumDescriptions": [ +"A subset of optional fields.", +"None optional fields.", +"All optional fields.", +"" +], +"type": "string" +}, +"sampleRate": { +"description": "This field can only be specified if logging is enabled for this backend service. The value of the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported. The default value is 1.0.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"BackendServiceNetworkPassThroughLbTrafficPolicy": { +"id": "BackendServiceNetworkPassThroughLbTrafficPolicy", +"properties": { +"zonalAffinity": { +"$ref": "BackendServiceNetworkPassThroughLbTrafficPolicyZonalAffinity", +"description": "When configured, new connections are load balanced across healthy backend endpoints in the local zone." +} +}, +"type": "object" +}, +"BackendServiceNetworkPassThroughLbTrafficPolicyZonalAffinity": { +"id": "BackendServiceNetworkPassThroughLbTrafficPolicyZonalAffinity", +"properties": { +"spillover": { +"description": "This field indicates whether zonal affinity is enabled or not. The possible values are: - ZONAL_AFFINITY_DISABLED: Default Value. Zonal Affinity is disabled. The load balancer distributes new connections to all healthy backend endpoints across all zones. - ZONAL_AFFINITY_STAY_WITHIN_ZONE: Zonal Affinity is enabled. The load balancer distributes new connections to all healthy backend endpoints in the local zone only. If there are no healthy backend endpoints in the local zone, the load balancer distributes new connections to all backend endpoints in the local zone. - ZONAL_AFFINITY_SPILL_CROSS_ZONE: Zonal Affinity is enabled. The load balancer distributes new connections to all healthy backend endpoints in the local zone only. If there aren't enough healthy backend endpoints in the local zone, the load balancer distributes new connections to all healthy backend endpoints across all zones. ", +"enum": [ +"ZONAL_AFFINITY_DISABLED", +"ZONAL_AFFINITY_SPILL_CROSS_ZONE", +"ZONAL_AFFINITY_STAY_WITHIN_ZONE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"spilloverRatio": { +"description": "The value of the field must be in [0, 1]. When the ratio of the count of healthy backend endpoints in a zone to the count of backend endpoints in that same zone is equal to or above this threshold, the load balancer distributes new connections to all healthy endpoints in the local zone only. When the ratio of the count of healthy backend endpoints in a zone to the count of backend endpoints in that same zone is below this threshold, the load balancer distributes all new connections to all healthy endpoints across all zones.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"BackendServiceReference": { +"id": "BackendServiceReference", +"properties": { +"backendService": { +"type": "string" +} +}, +"type": "object" +}, +"BackendServiceTlsSettings": { +"id": "BackendServiceTlsSettings", +"properties": { +"authenticationConfig": { +"description": "Reference to the BackendAuthenticationConfig resource from the networksecurity.googleapis.com namespace. Can be used in authenticating TLS connections to the backend, as specified by the authenticationMode field. Can only be specified if authenticationMode is not NONE.", +"type": "string" +}, +"sni": { +"description": "Server Name Indication - see RFC3546 section 3.1. If set, the load balancer sends this string as the SNI hostname in the TLS connection to the backend, and requires that this string match a Subject Alternative Name (SAN) in the backend's server certificate. With a Regional Internet NEG backend, if the SNI is specified here, the load balancer uses it regardless of whether the Regional Internet NEG is specified with FQDN or IP address and port. When both sni and subjectAltNames[] are specified, the load balancer matches the backend certificate's SAN only to subjectAltNames[].", +"type": "string" +}, +"subjectAltNames": { +"description": "A list of Subject Alternative Names (SANs) that the Load Balancer verifies during a TLS handshake with the backend. When the server presents its X.509 certificate to the Load Balancer, the Load Balancer inspects the certificate's SAN field, and requires that at least one SAN match one of the subjectAltNames in the list. This field is limited to 5 entries. When both sni and subjectAltNames[] are specified, the load balancer matches the backend certificate's SAN only to subjectAltNames[].", +"items": { +"$ref": "BackendServiceTlsSettingsSubjectAltName" +}, +"type": "array" +} +}, +"type": "object" +}, +"BackendServiceTlsSettingsSubjectAltName": { +"description": "A Subject Alternative Name that the load balancer matches against the SAN field in the TLS certificate provided by the backend, specified as either a DNS name or a URI, in accordance with RFC 5280 4.2.1.6", +"id": "BackendServiceTlsSettingsSubjectAltName", +"properties": { +"dnsName": { +"description": "The SAN specified as a DNS Name.", +"type": "string" +}, +"uniformResourceIdentifier": { +"description": "The SAN specified as a URI.", +"type": "string" +} +}, +"type": "object" +}, +"BackendServiceUsedBy": { +"id": "BackendServiceUsedBy", +"properties": { +"reference": { +"description": "[Output Only] Server-defined URL for resources referencing given BackendService like UrlMaps, TargetTcpProxies, TargetSslProxies and ForwardingRule.", +"type": "string" +} +}, +"type": "object" +}, +"BackendServicesGetEffectiveSecurityPoliciesResponse": { +"id": "BackendServicesGetEffectiveSecurityPoliciesResponse", +"properties": { +"securityPolicies": { +"description": "Effective security policies for the backend service.", +"items": { +"$ref": "SecurityPolicy" +}, +"type": "array" +} +}, +"type": "object" +}, +"BackendServicesScopedList": { +"id": "BackendServicesScopedList", +"properties": { +"backendServices": { +"description": "A list of BackendServices contained in this scope.", +"items": { +"$ref": "BackendService" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of backend services when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"BfdPacket": { +"id": "BfdPacket", +"properties": { +"authenticationPresent": { +"description": "The Authentication Present bit of the BFD packet. This is specified in section 4.1 of RFC5880", +"type": "boolean" +}, +"controlPlaneIndependent": { +"description": "The Control Plane Independent bit of the BFD packet. This is specified in section 4.1 of RFC5880", +"type": "boolean" +}, +"demand": { +"description": "The demand bit of the BFD packet. This is specified in section 4.1 of RFC5880", +"type": "boolean" +}, +"diagnostic": { +"description": "The diagnostic code specifies the local system's reason for the last change in session state. This allows remote systems to determine the reason that the previous session failed, for example. These diagnostic codes are specified in section 4.1 of RFC5880", +"enum": [ +"ADMINISTRATIVELY_DOWN", +"CONCATENATED_PATH_DOWN", +"CONTROL_DETECTION_TIME_EXPIRED", +"DIAGNOSTIC_UNSPECIFIED", +"ECHO_FUNCTION_FAILED", +"FORWARDING_PLANE_RESET", +"NEIGHBOR_SIGNALED_SESSION_DOWN", +"NO_DIAGNOSTIC", +"PATH_DOWN", +"REVERSE_CONCATENATED_PATH_DOWN" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"final": { +"description": "The Final bit of the BFD packet. This is specified in section 4.1 of RFC5880", +"type": "boolean" +}, +"length": { +"description": "The length of the BFD Control packet in bytes. This is specified in section 4.1 of RFC5880", +"format": "uint32", +"type": "integer" +}, +"minEchoRxIntervalMs": { +"description": "The Required Min Echo RX Interval value in the BFD packet. This is specified in section 4.1 of RFC5880", +"format": "uint32", +"type": "integer" +}, +"minRxIntervalMs": { +"description": "The Required Min RX Interval value in the BFD packet. This is specified in section 4.1 of RFC5880", +"format": "uint32", +"type": "integer" +}, +"minTxIntervalMs": { +"description": "The Desired Min TX Interval value in the BFD packet. This is specified in section 4.1 of RFC5880", +"format": "uint32", +"type": "integer" +}, +"multiplier": { +"description": "The detection time multiplier of the BFD packet. This is specified in section 4.1 of RFC5880", +"format": "uint32", +"type": "integer" +}, +"multipoint": { +"description": "The multipoint bit of the BFD packet. This is specified in section 4.1 of RFC5880", +"type": "boolean" +}, +"myDiscriminator": { +"description": "The My Discriminator value in the BFD packet. This is specified in section 4.1 of RFC5880", +"format": "uint32", +"type": "integer" +}, +"poll": { +"description": "The Poll bit of the BFD packet. This is specified in section 4.1 of RFC5880", +"type": "boolean" +}, +"state": { +"description": "The current BFD session state as seen by the transmitting system. These states are specified in section 4.1 of RFC5880", +"enum": [ +"ADMIN_DOWN", +"DOWN", +"INIT", +"STATE_UNSPECIFIED", +"UP" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"version": { +"description": "The version number of the BFD protocol, as specified in section 4.1 of RFC5880.", +"format": "uint32", +"type": "integer" +}, +"yourDiscriminator": { +"description": "The Your Discriminator value in the BFD packet. This is specified in section 4.1 of RFC5880", +"format": "uint32", +"type": "integer" +} +}, +"type": "object" +}, +"BfdStatus": { +"description": "Next free: 15", +"id": "BfdStatus", +"properties": { +"bfdSessionInitializationMode": { +"description": "The BFD session initialization mode for this BGP peer. If set to ACTIVE, the Cloud Router will initiate the BFD session for this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP peer.", +"enum": [ +"ACTIVE", +"DISABLED", +"PASSIVE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"configUpdateTimestampMicros": { +"description": "Unix timestamp of the most recent config update.", +"format": "int64", +"type": "string" +}, +"controlPacketCounts": { +"$ref": "BfdStatusPacketCounts", +"description": "Control packet counts for the current BFD session." +}, +"controlPacketIntervals": { +"description": "Inter-packet time interval statistics for control packets.", +"items": { +"$ref": "PacketIntervals" +}, +"type": "array" +}, +"echoPacketCounts": { +"$ref": "BfdStatusPacketCounts", +"description": "Echo packet counts for the current BFD session." +}, +"echoPacketIntervals": { +"description": "Inter-packet time interval statistics for echo packets.", +"items": { +"$ref": "PacketIntervals" +}, +"type": "array" +}, +"localDiagnostic": { +"description": "The diagnostic code specifies the local system's reason for the last change in session state. This allows remote systems to determine the reason that the previous session failed, for example. These diagnostic codes are specified in section 4.1 of RFC5880", +"enum": [ +"ADMINISTRATIVELY_DOWN", +"CONCATENATED_PATH_DOWN", +"CONTROL_DETECTION_TIME_EXPIRED", +"DIAGNOSTIC_UNSPECIFIED", +"ECHO_FUNCTION_FAILED", +"FORWARDING_PLANE_RESET", +"NEIGHBOR_SIGNALED_SESSION_DOWN", +"NO_DIAGNOSTIC", +"PATH_DOWN", +"REVERSE_CONCATENATED_PATH_DOWN" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"localState": { +"description": "The current BFD session state as seen by the transmitting system. These states are specified in section 4.1 of RFC5880", +"enum": [ +"ADMIN_DOWN", +"DOWN", +"INIT", +"STATE_UNSPECIFIED", +"UP" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"negotiatedLocalControlTxIntervalMs": { +"description": "Negotiated transmit interval for control packets.", +"format": "uint32", +"type": "integer" +}, +"negotiatedLocalEchoTxIntervalMs": { +"description": "Negotiated transmit interval for echo packets.", +"format": "uint32", +"type": "integer" +}, +"rxPacket": { +"$ref": "BfdPacket", +"description": "The most recent Rx control packet for this BFD session." +}, +"txPacket": { +"$ref": "BfdPacket", +"description": "The most recent Tx control packet for this BFD session." +}, +"uptimeMs": { +"description": "Session uptime in milliseconds. Value will be 0 if session is not up.", +"format": "int64", +"type": "string" +}, +"usingEchoMode": { +"description": "Indicates if echo mode is currently being used.", +"type": "boolean" +} +}, +"type": "object" +}, +"BfdStatusPacketCounts": { +"id": "BfdStatusPacketCounts", +"properties": { +"numRx": { +"description": "Number of packets received since the beginning of the current BFD session.", +"format": "uint32", +"type": "integer" +}, +"numRxRejected": { +"description": "Number of packets received that were rejected because of errors since the beginning of the current BFD session.", +"format": "uint32", +"type": "integer" +}, +"numRxSuccessful": { +"description": "Number of packets received that were successfully processed since the beginning of the current BFD session.", +"format": "uint32", +"type": "integer" +}, +"numTx": { +"description": "Number of packets transmitted since the beginning of the current BFD session.", +"format": "uint32", +"type": "integer" +} +}, +"type": "object" +}, +"BgpRoute": { +"id": "BgpRoute", +"properties": { +"asPaths": { +"description": "[Output only] AS-PATH for the route", +"items": { +"$ref": "BgpRouteAsPath" +}, +"type": "array" +}, +"communities": { +"description": "[Output only] BGP communities in human-readable A:B format.", +"items": { +"type": "string" +}, +"type": "array" +}, +"destination": { +"$ref": "BgpRouteNetworkLayerReachabilityInformation", +"description": "[Output only] Destination IP range for the route, in human-readable CIDR format" +}, +"med": { +"description": "[Output only] BGP multi-exit discriminator", +"format": "uint32", +"type": "integer" +}, +"origin": { +"description": "[Output only] BGP origin (EGP, IGP or INCOMPLETE)", +"enum": [ +"BGP_ORIGIN_EGP", +"BGP_ORIGIN_IGP", +"BGP_ORIGIN_INCOMPLETE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"BgpRouteAsPath": { +"id": "BgpRouteAsPath", +"properties": { +"asns": { +"description": "[Output only] ASNs in the path segment. When type is SEQUENCE, these are ordered.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"type": { +"description": "[Output only] Type of AS-PATH segment (SEQUENCE or SET)", +"enum": [ +"AS_PATH_TYPE_SEQUENCE", +"AS_PATH_TYPE_SET" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"BgpRouteNetworkLayerReachabilityInformation": { +"description": "Network Layer Reachability Information (NLRI) for a route.", +"id": "BgpRouteNetworkLayerReachabilityInformation", +"properties": { +"pathId": { +"description": "If the BGP session supports multiple paths (RFC 7911), the path identifier for this route.", +"format": "uint32", +"type": "integer" +}, +"prefix": { +"description": "Human readable CIDR notation for a prefix. E.g. 10.42.0.0/16.", +"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" +}, +"BulkInsertDiskResource": { +"description": "A transient resource used in compute.disks.bulkInsert and compute.regionDisks.bulkInsert. It is only used to process requests and is not persisted.", +"id": "BulkInsertDiskResource", +"properties": { +"sourceConsistencyGroupPolicy": { +"description": "The URL of the DiskConsistencyGroupPolicy for the group of disks to clone. This may be a full or partial URL, such as: - https://www.googleapis.com/compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy - projects/project/regions/region/resourcePolicies/resourcePolicy - regions/region/resourcePolicies/resourcePolicy ", +"type": "string" +} +}, +"type": "object" +}, +"BulkInsertInstanceResource": { +"description": "A transient resource used in compute.instances.bulkInsert and compute.regionInstances.bulkInsert . This resource is not persisted anywhere, it is used only for processing the requests.", +"id": "BulkInsertInstanceResource", +"properties": { +"count": { +"description": "The maximum number of instances to create.", +"format": "int64", +"type": "string" +}, +"instanceProperties": { +"$ref": "InstanceProperties", +"description": "The instance properties defining the VM instances to be created. Required if sourceInstanceTemplate is not provided." +}, +"locationPolicy": { +"$ref": "LocationPolicy", +"description": "Policy for choosing target zone. For more information, see Create VMs in bulk." +}, +"minCount": { +"description": "The minimum number of instances to create. If no min_count is specified then count is used as the default value. If min_count instances cannot be created, then no instances will be created and instances already created will be deleted.", +"format": "int64", +"type": "string" +}, +"namePattern": { +"description": "The string pattern used for the names of the VMs. Either name_pattern or per_instance_properties must be set. The pattern must contain one continuous sequence of placeholder hash characters (#) with each character corresponding to one digit of the generated instance name. Example: a name_pattern of inst-#### generates instance names such as inst-0001 and inst-0002. If existing instances in the same project and zone have names that match the name pattern then the generated instance numbers start after the biggest existing number. For example, if there exists an instance with name inst-0050, then instance names generated using the pattern inst-#### begin with inst-0051. The name pattern placeholder #...# can contain up to 18 characters.", +"type": "string" +}, +"perInstanceProperties": { +"additionalProperties": { +"$ref": "BulkInsertInstanceResourcePerInstanceProperties" +}, +"description": "Per-instance properties to be set on individual instances. Keys of this map specify requested instance names. Can be empty if name_pattern is used.", +"type": "object" +}, +"sourceInstanceTemplate": { +"description": "Specifies the instance template from which to create instances. You may combine sourceInstanceTemplate with instanceProperties to override specific values from an existing instance template. Bulk API follows the semantics of JSON Merge Patch described by RFC 7396. It can be a full or partial URL. For example, the following are all valid URLs to an instance template: - https://www.googleapis.com/compute/v1/projects/project /global/instanceTemplates/instanceTemplate - projects/project/global/instanceTemplates/instanceTemplate - global/instanceTemplates/instanceTemplate This field is optional.", +"type": "string" +} +}, +"type": "object" +}, +"BulkInsertInstanceResourcePerInstanceProperties": { +"description": "Per-instance properties to be set on individual instances. To be extended in the future.", +"id": "BulkInsertInstanceResourcePerInstanceProperties", +"properties": { +"hostname": { +"description": "Specifies the hostname of the instance. More details in: https://cloud.google.com/compute/docs/instances/custom-hostname-vm#naming_convention", +"type": "string" +}, +"name": { +"description": "This field is only temporary. It will be removed. Do not use it.", +"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": [ +"CREATING", +"DONE", +"ROLLING_BACK", +"STATUS_UNSPECIFIED" +], +"enumDescriptions": [ +"Rolling forward - creating VMs.", +"Done", +"Rolling back - cleaning up after an error.", +"" +], +"type": "string" +}, +"targetVmCount": { +"description": "[Output Only] Count of VMs originally planned to be created.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"BundledLocalSsds": { +"id": "BundledLocalSsds", +"properties": { +"defaultInterface": { +"description": "The default disk interface if the interface is not specified.", +"type": "string" +}, +"partitionCount": { +"description": "The number of partitions.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"CacheInvalidationRule": { +"id": "CacheInvalidationRule", +"properties": { +"cacheTags": { +"description": "Not implemented.", +"items": { +"type": "string" +}, +"type": "array" +}, +"host": { +"description": "If set, this invalidation rule will only apply to requests with a Host header matching host.", +"type": "string" +}, +"path": { +"type": "string" +} +}, +"type": "object" +}, +"CacheKeyPolicy": { +"description": "Message containing what to include in the cache key for a request for Cloud CDN.", +"id": "CacheKeyPolicy", +"properties": { +"includeHost": { +"description": "If true, requests to different hosts will be cached separately.", +"type": "boolean" +}, +"includeHttpHeaders": { +"description": "Allows HTTP request headers (by name) to be used in the cache key.", +"items": { +"type": "string" +}, +"type": "array" +}, +"includeNamedCookies": { +"description": "Allows HTTP cookies (by name) to be used in the cache key. The name=value pair will be used in the cache key Cloud CDN generates.", +"items": { +"type": "string" +}, +"type": "array" +}, +"includeProtocol": { +"description": "If true, http and https requests will be cached separately.", +"type": "boolean" +}, +"includeQueryString": { +"description": "If true, include query string parameters in the cache key according to query_string_whitelist and query_string_blacklist. If neither is set, the entire query string will be included. If false, the query string will be excluded from the cache key entirely.", +"type": "boolean" +}, +"queryStringBlacklist": { +"description": "Names of query string parameters to exclude in cache keys. All other parameters will be included. Either specify query_string_whitelist or query_string_blacklist, not both. '&' and '=' will be percent encoded and not treated as delimiters.", +"items": { +"type": "string" +}, +"type": "array" +}, +"queryStringWhitelist": { +"description": "Names of query string parameters to include in cache keys. All other parameters will be excluded. Either specify query_string_whitelist or query_string_blacklist, not both. '&' and '=' will be percent encoded and not treated as delimiters.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"CalendarModeAdviceRequest": { +"description": "A request to recommend the best way to consume the specified resources in the future.", +"id": "CalendarModeAdviceRequest", +"properties": { +"futureResourcesSpecs": { +"additionalProperties": { +"$ref": "FutureResourcesSpec" +}, +"description": "Specification of resources to create in the future. The key of the map is an arbitrary string specified by the caller. Value of the map is a specification of required resources and their constraints. Currently only one value is allowed in this map.", +"type": "object" +} +}, +"type": "object" +}, +"CalendarModeAdviceResponse": { +"description": "A response containing the recommended way of creating the specified resources in the future. It contains (will contain) multiple recommendations that can be analyzed by the customer and the best one can be picked.", +"id": "CalendarModeAdviceResponse", +"properties": { +"recommendations": { +"description": "Recommendations where, how and when to create the requested resources in order to maximize their obtainability and minimize cost.", +"items": { +"$ref": "CalendarModeRecommendation" +}, +"type": "array" +} +}, +"type": "object" +}, +"CalendarModeRecommendation": { +"description": "A single recommendation to create requested resources. Contains detailed recommendations for every future resources specification specified in CalendarModeAdviceRequest.", +"id": "CalendarModeRecommendation", +"properties": { +"recommendationsPerSpec": { +"additionalProperties": { +"$ref": "FutureResourcesRecommendation" +}, +"description": "Recommendations for every future resource specification passed in CalendarModeAdviceRequest. Keys of the map correspond to keys specified in the request.", +"type": "object" +} +}, +"type": "object" +}, +"CallCredentials": { +"description": "[Deprecated] gRPC call credentials to access the SDS server. gRPC call credentials to access the SDS server.", +"id": "CallCredentials", +"properties": { +"callCredentialType": { +"description": "The type of call credentials to use for GRPC requests to the SDS server. This field can be set to one of the following: - GCE_VM: The local GCE VM service account credentials are used to access the SDS server. - FROM_PLUGIN: Custom authenticator credentials are used to access the SDS server.", +"enum": [ +"FROM_PLUGIN", +"GCE_VM", +"INVALID" +], +"enumDescriptions": [ +"Custom authenticator credentials are used to access the SDS server.", +"The local GCE VM service account credentials are used to access the SDS server.", +"" +], +"type": "string" +}, +"fromPlugin": { +"$ref": "MetadataCredentialsFromPlugin", +"description": "Custom authenticator credentials. Valid if callCredentialType is FROM_PLUGIN." +} +}, +"type": "object" +}, +"ChannelCredentials": { +"description": "[Deprecated] gRPC channel credentials to access the SDS server. gRPC channel credentials to access the SDS server.", +"id": "ChannelCredentials", +"properties": { +"certificates": { +"$ref": "TlsCertificatePaths", +"description": "The call credentials to access the SDS server." +}, +"channelCredentialType": { +"description": "The channel credentials to access the SDS server. This field can be set to one of the following: CERTIFICATES: Use TLS certificates to access the SDS server. GCE_VM: Use local GCE VM credentials to access the SDS server.", +"enum": [ +"CERTIFICATES", +"GCE_VM", +"INVALID" +], +"enumDescriptions": [ +"Use TLS certificates to access the SDS server.", +"Use local GCE VM credentials to access the SDS server.", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"CircuitBreakers": { +"description": "Settings controlling the volume of requests, connections and retries to this backend service.", +"id": "CircuitBreakers", +"properties": { +"connectTimeout": { +"$ref": "Duration", +"description": "The timeout for new network connections to hosts." +}, +"maxConnections": { +"description": "The maximum number of connections to the backend service. If not specified, there is no limit. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.", +"format": "int32", +"type": "integer" +}, +"maxPendingRequests": { +"description": "The maximum number of pending requests allowed to the backend service. If not specified, there is no limit. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.", +"format": "int32", +"type": "integer" +}, +"maxRequests": { +"description": "The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.", +"format": "int32", +"type": "integer" +}, +"maxRequestsPerConnection": { +"description": "Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.", +"format": "int32", +"type": "integer" +}, +"maxRetries": { +"description": "The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ClientTlsSettings": { +"description": "[Deprecated] The client side authentication settings for connection originating from the backend service. the backend service.", +"id": "ClientTlsSettings", +"properties": { +"clientTlsContext": { +"$ref": "TlsContext", +"description": "Configures the mechanism to obtain client-side security certificates and identity information. This field is only applicable when mode is set to MUTUAL." +}, +"mode": { +"description": "Indicates whether connections to this port should be secured using TLS. The value of this field determines how TLS is enforced. This can be set to one of the following values: DISABLE: Do not setup a TLS connection to the backends. SIMPLE: Originate a TLS connection to the backends. MUTUAL: Secure connections to the backends using mutual TLS by presenting client certificates for authentication.", +"enum": [ +"DISABLE", +"INVALID", +"MUTUAL", +"SIMPLE" +], +"enumDescriptions": [ +"Do not setup a TLS connection to the backends.", +"", +"Secure connections to the backends using mutual TLS by presenting client certificates for authentication.", +"Originate a TLS connection to the backends." +], +"type": "string" +}, +"sni": { +"description": "SNI string to present to the server during TLS handshake. This field is applicable only when mode is SIMPLE or MUTUAL.", +"type": "string" +}, +"subjectAltNames": { +"description": "A list of alternate names to verify the subject identity in the certificate.If specified, the proxy will verify that the server certificate's subject alt name matches one of the specified values. This field is applicable only when mode is SIMPLE or MUTUAL.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Commitment": { +"description": "Represents a regional Commitment resource. Creating a commitment resource means that you are purchasing a committed use contract with an explicit start and end time. You can create commitments based on vCPUs and memory usage and receive discounted rates. For full details, read Signing Up for Committed Use Discounts.", +"id": "Commitment", +"properties": { +"autoRenew": { +"description": "Specifies whether to enable automatic renewal for the commitment. The default value is false if not specified. The field can be updated until the day of the commitment expiration at 12:00am PST. If the field is set to true, the commitment will be automatically renewed for either one or three years according to the terms of the existing commitment.", +"type": "boolean" +}, +"category": { +"description": "The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified.", +"enum": [ +"CATEGORY_UNSPECIFIED", +"LICENSE", +"MACHINE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"customEndTimestamp": { +"description": "[Input Only] Optional, specifies the CUD end time requested by the customer in RFC3339 text format. Needed when the customer wants CUD's end date is later than the start date + term duration.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"endTimestamp": { +"description": "[Output Only] Commitment end time in RFC3339 text format.", +"type": "string" +}, +"existingReservations": { +"description": "Specifies the already existing reservations to attach to the Commitment. This field is optional, and it can be a full or partial URL. For example, the following are valid URLs to an reservation: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /reservations/reservation - projects/project/zones/zone/reservations/reservation ", +"items": { +"type": "string" +}, +"type": "array" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#commitment", +"description": "[Output Only] Type of the resource. Always compute#commitment for commitments.", +"type": "string" +}, +"licenseResource": { +"$ref": "LicenseResourceCommitment", +"description": "The license specification required as part of a license commitment." +}, +"mergeSourceCommitments": { +"description": "List of source commitments to be merged into a new commitment.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"plan": { +"description": "The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).", +"enum": [ +"INVALID", +"THIRTY_SIX_MONTH", +"TWELVE_MONTH" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where this commitment may be used.", +"type": "string" +}, +"reservations": { +"description": "List of create-on-create reservations for this commitment.", +"items": { +"$ref": "Reservation" +}, +"type": "array" +}, +"resourceStatus": { +"$ref": "CommitmentResourceStatus", +"description": "[Output Only] Status information for Commitment resource." +}, +"resources": { +"description": "A list of commitment amounts for particular resources. Note that VCPU and MEMORY resource commitments must occur together.", +"items": { +"$ref": "ResourceCommitment" +}, +"type": "array" +}, +"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" +}, +"splitSourceCommitment": { +"description": "Source commitment to be split into a new commitment.", +"type": "string" +}, +"startTimestamp": { +"description": "[Output Only] Commitment start time in RFC3339 text format.", +"type": "string" +}, +"status": { +"description": "[Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED.", +"enum": [ +"ACTIVE", +"CANCELED_EARLY_TERMINATION", +"CANCELING", +"CANCELLED", +"CREATING", +"EXPIRED", +"NOT_YET_ACTIVE" +], +"enumDescriptions": [ +"", +"", +"", +"Deprecate CANCELED status. Will use separate status to differentiate cancel by mergeCud or manual cancellation.", +"", +"", +"" +], +"type": "string" +}, +"statusMessage": { +"description": "[Output Only] An optional, human-readable explanation of the status.", +"type": "string" +}, +"type": { +"description": "The type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines.", +"enum": [ +"ACCELERATOR_OPTIMIZED", +"ACCELERATOR_OPTIMIZED_A3", +"ACCELERATOR_OPTIMIZED_A3_MEGA", +"ACCELERATOR_OPTIMIZED_A3_ULTRA", +"COMPUTE_OPTIMIZED", +"COMPUTE_OPTIMIZED_C2D", +"COMPUTE_OPTIMIZED_C3", +"COMPUTE_OPTIMIZED_C3D", +"COMPUTE_OPTIMIZED_H3", +"GENERAL_PURPOSE", +"GENERAL_PURPOSE_C4", +"GENERAL_PURPOSE_C4A", +"GENERAL_PURPOSE_E2", +"GENERAL_PURPOSE_N2", +"GENERAL_PURPOSE_N2D", +"GENERAL_PURPOSE_N4", +"GENERAL_PURPOSE_T2D", +"GRAPHICS_OPTIMIZED", +"MEMORY_OPTIMIZED", +"MEMORY_OPTIMIZED_M3", +"MEMORY_OPTIMIZED_M4", +"MEMORY_OPTIMIZED_X4", +"MEMORY_OPTIMIZED_X4_16TB", +"MEMORY_OPTIMIZED_X4_24TB", +"MEMORY_OPTIMIZED_X4_32TB", +"STORAGE_OPTIMIZED_Z3", +"TYPE_UNSPECIFIED" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"CommitmentAggregatedList": { +"id": "CommitmentAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "CommitmentsScopedList", +"description": "[Output Only] Name of the scope containing this set of commitments." +}, +"description": "A list of CommitmentsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#commitmentAggregatedList", +"description": "[Output Only] Type of resource. Always compute#commitmentAggregatedList for aggregated lists of commitments.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"CommitmentList": { +"description": "Contains a list of Commitment resources.", +"id": "CommitmentList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Commitment resources.", +"items": { +"$ref": "Commitment" +}, +"type": "array" +}, +"kind": { +"default": "compute#commitmentList", +"description": "[Output Only] Type of resource. Always compute#commitmentList for lists of commitments.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"CommitmentResourceStatus": { +"description": "[Output Only] Contains output only fields.", +"id": "CommitmentResourceStatus", +"properties": { +"cancellationInformation": { +"$ref": "CommitmentResourceStatusCancellationInformation", +"description": "[Output Only] An optional, contains all the needed information of cancellation." +}, +"customTermEligibilityEndTimestamp": { +"description": "[Output Only] Indicates the end time of customer's eligibility to send custom term requests in RFC3339 text format. Term extension requests that (not the end time in the request) after this time will be rejected.", +"type": "string" +} +}, +"type": "object" +}, +"CommitmentResourceStatusCancellationInformation": { +"id": "CommitmentResourceStatusCancellationInformation", +"properties": { +"canceledCommitment": { +"$ref": "Money", +"description": "[Output Only] An optional amount of CUDs canceled so far in the last 365 days." +}, +"canceledCommitmentLastUpdatedTimestamp": { +"description": "[Output Only] An optional last update time of canceled_commitment. RFC3339 text format.", +"type": "string" +}, +"cancellationCap": { +"$ref": "Money", +"description": "[Output Only] An optional,the cancellation cap for how much commitments can be canceled in a rolling 365 per billing account." +}, +"cancellationFee": { +"$ref": "Money", +"description": "[Output Only] An optional, cancellation fee." +}, +"cancellationFeeExpirationTimestamp": { +"description": "[Output Only] An optional, cancellation fee expiration time. RFC3339 text format.", +"type": "string" +} +}, +"type": "object" +}, +"CommitmentsScopedList": { +"id": "CommitmentsScopedList", +"properties": { +"commitments": { +"description": "[Output Only] A list of commitments contained in this scope.", +"items": { +"$ref": "Commitment" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of commitments when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"ConfidentialInstanceConfig": { +"description": "A set of Confidential Instance options.", +"id": "ConfidentialInstanceConfig", +"properties": { +"confidentialInstanceType": { +"description": "Defines the type of technology used by the confidential instance.", +"enum": [ +"CONFIDENTIAL_INSTANCE_TYPE_UNSPECIFIED", +"SEV", +"SEV_SNP", +"TDX" +], +"enumDescriptions": [ +"No type specified. Do not use this value.", +"AMD Secure Encrypted Virtualization.", +"AMD Secure Encrypted Virtualization - Secure Nested Paging.", +"Intel Trust Domain eXtension." +], +"type": "string" +}, +"enableConfidentialCompute": { +"description": "Defines whether the instance should have confidential compute enabled.", +"type": "boolean" +} +}, +"type": "object" +}, +"ConnectionDraining": { +"description": "Message containing connection draining configuration.", +"id": "ConnectionDraining", +"properties": { +"drainingTimeoutSec": { +"description": "Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ConsistentHashLoadBalancerSettings": { +"description": "This message defines settings for a consistent hash style load balancer.", +"id": "ConsistentHashLoadBalancerSettings", +"properties": { +"httpCookie": { +"$ref": "ConsistentHashLoadBalancerSettingsHttpCookie", +"description": "Hash is based on HTTP Cookie. This field describes a HTTP cookie that will be used as the hash key for the consistent hash load balancer. If the cookie is not present, it will be generated. This field is applicable if the sessionAffinity is set to HTTP_COOKIE. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true." +}, +"httpHeaderName": { +"description": "The hash based on the value of the specified header field. This field is applicable if the sessionAffinity is set to HEADER_FIELD.", +"type": "string" +}, +"minimumRingSize": { +"description": "The minimum number of virtual nodes to use for the hash ring. Defaults to 1024. Larger ring sizes result in more granular load distributions. If the number of hosts in the load balancing pool is larger than the ring size, each host will be assigned a single virtual node.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ConsistentHashLoadBalancerSettingsHttpCookie": { +"description": "The information about the HTTP Cookie on which the hash function is based for load balancing policies that use a consistent hash.", +"id": "ConsistentHashLoadBalancerSettingsHttpCookie", +"properties": { +"name": { +"description": "Name of the cookie.", +"type": "string" +}, +"path": { +"description": "Path to set for the cookie.", +"type": "string" +}, +"ttl": { +"$ref": "Duration", +"description": "Lifetime of the cookie." +} +}, +"type": "object" +}, +"CorsPolicy": { +"description": "The specification for allowing client-side cross-origin requests. For more information about the W3C recommendation for cross-origin resource sharing (CORS), see Fetch API Living Standard.", +"id": "CorsPolicy", +"properties": { +"allowCredentials": { +"description": "In response to a preflight request, setting this to true indicates that the actual request can include user credentials. This field translates to the Access-Control-Allow-Credentials header. Default is false.", +"type": "boolean" +}, +"allowHeaders": { +"description": "Specifies the content for the Access-Control-Allow-Headers header.", +"items": { +"type": "string" +}, +"type": "array" +}, +"allowMethods": { +"description": "Specifies the content for the Access-Control-Allow-Methods header.", +"items": { +"type": "string" +}, +"type": "array" +}, +"allowOriginRegexes": { +"description": "Specifies a regular expression that matches allowed origins. For more information, see regular expression syntax . An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED.", +"items": { +"type": "string" +}, +"type": "array" +}, +"allowOrigins": { +"description": "Specifies the list of origins that is allowed to do CORS requests. An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.", +"items": { +"type": "string" +}, +"type": "array" +}, +"disabled": { +"description": "If true, disables the CORS policy. The default value is false, which indicates that the CORS policy is in effect.", +"type": "boolean" +}, +"exposeHeaders": { +"description": "Specifies the content for the Access-Control-Expose-Headers header.", +"items": { +"type": "string" +}, +"type": "array" +}, +"maxAge": { +"description": "Specifies how long results of a preflight request can be cached in seconds. This field translates to the Access-Control-Max-Age header.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"CrossSiteNetwork": { +"description": "A resource that represents a cross-site network. You can use cross-site networks to connect your on-premises networks to each other through Interconnect connections.", +"id": "CrossSiteNetwork", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of the cross-site network.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#crossSiteNetwork", +"description": "[Output Only] Type of the resource. Always compute#crossSiteNetwork for cross-site networks.", +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"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" +} +}, +"type": "object" +}, +"CrossSiteNetworkList": { +"description": "Response to the list request that contains a list of cross-site networks.", +"id": "CrossSiteNetworkList", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of CrossSiteNetwork resources.", +"items": { +"$ref": "CrossSiteNetwork" +}, +"type": "array" +}, +"kind": { +"default": "compute#crossSiteNetwork", +"description": "[Output Only] Type of the resource. Always compute#crossSiteNetwork for cross-site networks.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"CustomErrorResponsePolicy": { +"description": "Specifies the custom error response policy that must be applied when the backend service or backend bucket responds with an error.", +"id": "CustomErrorResponsePolicy", +"properties": { +"errorResponseRules": { +"description": "Specifies rules for returning error responses. In a given policy, if you specify rules for both a range of error codes as well as rules for specific error codes then rules with specific error codes have a higher priority. For example, assume that you configure a rule for 401 (Un-authorized) code, and another for all 4 series error codes (4XX). If the backend service returns a 401, then the rule for 401 will be applied. However if the backend service returns a 403, the rule for 4xx takes effect.", +"items": { +"$ref": "CustomErrorResponsePolicyCustomErrorResponseRule" +}, +"type": "array" +}, +"errorService": { +"description": "The full or partial URL to the BackendBucket resource that contains the custom error content. Examples are: - https://www.googleapis.com/compute/v1/projects/project/global/backendBuckets/myBackendBucket - compute/v1/projects/project/global/backendBuckets/myBackendBucket - global/backendBuckets/myBackendBucket If errorService is not specified at lower levels like pathMatcher, pathRule and routeRule, an errorService specified at a higher level in the UrlMap will be used. If UrlMap.defaultCustomErrorResponsePolicy contains one or more errorResponseRules[], it must specify errorService. If load balancer cannot reach the backendBucket, a simple Not Found Error will be returned, with the original response code (or overrideResponseCode if configured). errorService is not supported for internal or regional HTTP/HTTPS load balancers.", +"type": "string" +} +}, +"type": "object" +}, +"CustomErrorResponsePolicyCustomErrorResponseRule": { +"description": "Specifies the mapping between the response code that will be returned along with the custom error content and the response code returned by the backend service.", +"id": "CustomErrorResponsePolicyCustomErrorResponseRule", +"properties": { +"matchResponseCodes": { +"description": "Valid values include: - A number between 400 and 599: For example 401 or 503, in which case the load balancer applies the policy if the error code exactly matches this value. - 5xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 500 to 599. - 4xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 400 to 499. Values must be unique within matchResponseCodes and across all errorResponseRules of CustomErrorResponsePolicy.", +"items": { +"type": "string" +}, +"type": "array" +}, +"overrideResponseCode": { +"description": "The HTTP status code returned with the response containing the custom error content. If overrideResponseCode is not supplied, the same response code returned by the original backend bucket or backend service is returned to the client.", +"format": "int32", +"type": "integer" +}, +"path": { +"description": "The full path to a file within backendBucket . For example: /errors/defaultError.html path must start with a leading slash. path cannot have trailing slashes. If the file is not available in backendBucket or the load balancer cannot reach the BackendBucket, a simple Not Found Error is returned to the client. The value must be from 1 to 1024 characters", +"type": "string" +} +}, +"type": "object" +}, +"CustomerEncryptionKey": { +"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" +}, +"kmsKeyServiceAccount": { +"description": "The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used. For example: \"kmsKeyServiceAccount\": \"name@project_id.iam.gserviceaccount.com/ ", +"type": "string" +}, +"rawKey": { +"description": "Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource. You can provide either the rawKey or the rsaEncryptedKey. For example: \"rawKey\": \"SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=\" ", +"type": "string" +}, +"rsaEncryptedKey": { +"description": "Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. You can provide either the rawKey or the rsaEncryptedKey. For example: \"rsaEncryptedKey\": \"ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==\" The key must meet the following requirements before you can provide it to Compute Engine: 1. The key is wrapped using a RSA public key certificate provided by Google. 2. After being wrapped, the key must be encoded in RFC 4648 base64 encoding. Gets the RSA public key certificate provided by Google at: https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem ", +"type": "string" +}, +"sha256": { +"description": "[Output only] The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.", +"type": "string" +} +}, +"type": "object" +}, +"CustomerEncryptionKeyProtectedDisk": { +"id": "CustomerEncryptionKeyProtectedDisk", +"properties": { +"diskEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Decrypts data associated with the disk with a customer-supplied encryption key." +}, +"source": { +"description": "Specifies a valid partial or full URL to an existing Persistent Disk resource. This field is only applicable for persistent disks. For example: \"source\": \"/compute/v1/projects/project_id/zones/zone/disks/ disk_name ", +"type": "string" +} +}, +"type": "object" +}, +"DeprecationStatus": { +"description": "Deprecation status for a public resource.", +"id": "DeprecationStatus", +"properties": { +"deleted": { +"description": "An optional RFC3339 timestamp on or after which the state of this resource is intended to change to DELETED. This is only informational and the status will not change unless the client explicitly changes it.", +"type": "string" +}, +"deprecated": { +"description": "An optional RFC3339 timestamp on or after which the state of this resource is intended to change to DEPRECATED. This is only informational and the status will not change unless the client explicitly changes it.", +"type": "string" +}, +"obsolete": { +"description": "An optional RFC3339 timestamp on or after which the state of this resource is intended to change to OBSOLETE. This is only informational and the status will not change unless the client explicitly changes it.", +"type": "string" +}, +"replacement": { +"description": "The URL of the suggested replacement for a deprecated resource. The suggested replacement resource must be the same kind of resource as the deprecated resource.", +"type": "string" +}, +"state": { +"description": "The deprecation state of this resource. This can be ACTIVE, DEPRECATED, OBSOLETE, or DELETED. Operations which communicate the end of life date for an image, can use ACTIVE. Operations which create a new resource using a DEPRECATED resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. Operations which use OBSOLETE or DELETED resources will be rejected and result in an error.", +"enum": [ +"ACTIVE", +"DELETED", +"DEPRECATED", +"OBSOLETE" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"stateOverride": { +"$ref": "RolloutPolicy", +"description": "The rollout policy for this deprecation. This policy is only enforced by image family views. The rollout policy restricts the zones where the associated resource is considered in a deprecated state. When the rollout policy does not include the user specified zone, or if the zone is rolled out, the associated resource is considered in a deprecated state. The rollout policy for this deprecation is read-only, except for allowlisted users. This field might not be configured. To view the latest non-deprecated image in a specific zone, use the imageFamilyViews.get method." +} +}, +"type": "object" +}, +"Disk": { +"description": "Represents a Persistent Disk resource. Google Compute Engine has two Disk resources: * [Zonal](/compute/docs/reference/rest/alpha/disks) * [Regional](/compute/docs/reference/rest/alpha/regionDisks) Persistent disks are required for running your VM instances. Create both boot and non-boot (data) persistent disks. For more information, read Persistent Disks. For more storage options, read Storage options. The disks resource represents a zonal persistent disk. For more information, read Zonal persistent disks. The regionDisks resource represents a regional persistent disk. For more information, read Regional resources.", +"id": "Disk", +"properties": { +"accessMode": { +"description": "The access mode of the disk. - READ_WRITE_SINGLE: The default AccessMode, means the disk can be attached to single instance in RW mode. - READ_WRITE_MANY: The AccessMode means the disk can be attached to multiple instances in RW mode. - READ_ONLY_MANY: The AccessMode means the disk can be attached to multiple instances in RO mode. The AccessMode is only valid for Hyperdisk disk types.", +"enum": [ +"READ_ONLY_MANY", +"READ_WRITE_MANY", +"READ_WRITE_SINGLE" +], +"enumDescriptions": [ +"The AccessMode means the disk can be attached to multiple instances in RO mode.", +"The AccessMode means the disk can be attached to multiple instances in RW mode.", +"The default AccessMode, means the disk can be attached to single instance in RW mode." +], +"type": "string" +}, +"architecture": { +"description": "The architecture of the disk. Valid values are ARM64 or X86_64.", +"enum": [ +"ARCHITECTURE_UNSPECIFIED", +"ARM64", +"X86_64" +], +"enumDescriptions": [ +"Default value indicating Architecture is not set.", +"Machines with architecture ARM64", +"Machines with architecture X86_64" +], +"type": "string" +}, +"asyncPrimaryDisk": { +"$ref": "DiskAsyncReplication", +"description": "Disk asynchronously replicated into this disk." +}, +"asyncSecondaryDisks": { +"additionalProperties": { +"$ref": "DiskAsyncReplicationList" +}, +"description": "[Output Only] A list of disks this disk is asynchronously replicated to.", +"type": "object" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"diskEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Encrypts the disk using a customer-supplied encryption key or a customer-managed encryption key. Encryption keys do not protect access to metadata of the disk. After you encrypt a disk with a customer-supplied key, you must provide the same key if you use the disk later. For example, to create a disk snapshot, to create a disk image, to create a machine image, or to attach the disk to a virtual machine. After you encrypt a disk with a customer-managed key, the diskEncryptionKey.kmsKeyName is set to a key *version* name once the disk is created. The disk is encrypted with this version of the key. In the response, diskEncryptionKey.kmsKeyName appears in the following format: \"diskEncryptionKey.kmsKeyName\": \"projects/kms_project_id/locations/region/keyRings/ key_region/cryptoKeys/key /cryptoKeysVersions/version If you do not provide an encryption key when creating the disk, then the disk is encrypted using an automatically generated key and you don't need to provide a key to use the disk later." +}, +"enableConfidentialCompute": { +"description": "Whether this disk is using confidential compute mode.", +"type": "boolean" +}, +"eraseWindowsVssSignature": { +"description": "Specifies whether the disk restored from a source snapshot should erase Windows specific VSS signature.", +"type": "boolean" +}, +"guestOsFeatures": { +"description": "A list of features to enable on the guest operating system. Applicable only for bootable images. Read Enabling guest operating system features to see a list of available options.", +"items": { +"$ref": "GuestOsFeature" +}, +"type": "array" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"interface": { +"deprecated": true, +"description": "[Deprecated] Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI.", +"enum": [ +"NVME", +"SCSI", +"UNSPECIFIED" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"kind": { +"default": "compute#disk", +"description": "[Output Only] Type of the resource. Always compute#disk for disks.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this disk, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a disk.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to this disk. These can be later modified by the setLabels method.", +"type": "object" +}, +"lastAttachTimestamp": { +"description": "[Output Only] Last attach timestamp in RFC3339 text format.", +"type": "string" +}, +"lastDetachTimestamp": { +"description": "[Output Only] Last detach timestamp in RFC3339 text format.", +"type": "string" +}, +"licenseCodes": { +"description": "Integer license codes indicating which licenses are attached to this disk.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"licenses": { +"description": "A list of publicly visible licenses. Reserved for Google's use.", +"items": { +"type": "string" +}, +"type": "array" +}, +"locationHint": { +"description": "An opaque location hint used to place the disk close to other resources. This field is for use by internal tools that use the public API.", +"type": "string" +}, +"locked": { +"description": "[Output Only] The field indicates if the disk is created from a locked source image. Attachment of a disk created from a locked source image will cause the following operations to become irreversibly prohibited: - R/W or R/O disk attachment to any other instance - Disk detachment. And the disk can only be deleted when the instance is deleted - Creation of images or snapshots - Disk cloning Furthermore, the instance with at least one disk with locked flag set to true will be prohibited from performing the operations below: - Further attachment of secondary disks. - Detachment of any disks - Create machine images - Create instance template - Delete the instance with --keep-disk parameter set to true for locked disks - Attach a locked disk with --auto-delete parameter set to false ", +"type": "boolean" +}, +"multiWriter": { +"description": "Indicates whether or not the disk can be read/write attached to more than one instance.", +"type": "boolean" +}, +"name": { +"annotations": { +"required": [ +"compute.disks.insert" +] +}, +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"options": { +"description": "Internal use only.", +"type": "string" +}, +"params": { +"$ref": "DiskParams", +"description": "Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload." +}, +"physicalBlockSizeBytes": { +"description": "Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. The currently supported size is 4096, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project.", +"format": "int64", +"type": "string" +}, +"provisionedIops": { +"description": "Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation.", +"format": "int64", +"type": "string" +}, +"provisionedThroughput": { +"description": "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.", +"format": "int64", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the disk resides. Only applicable for regional resources. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"replicaZones": { +"description": "URLs of the zones where the disk should be replicated to. Only applicable for regional resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"resourcePolicies": { +"description": "Resource policies applied to this disk for automatic snapshot creations.", +"items": { +"type": "string" +}, +"type": "array" +}, +"resourceStatus": { +"$ref": "DiskResourceStatus", +"description": "[Output Only] Status information for the disk resource." +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"selfLink": { +"description": "[Output Only] Server-defined fully-qualified URL for this resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource's resource id.", +"type": "string" +}, +"sizeGb": { +"description": "Size, in GB, of the persistent disk. You can specify this field when creating a persistent disk using the sourceImage, sourceSnapshot, or sourceDisk parameter, or specify it alone to create an empty persistent disk. If you specify this field along with a source, the value of sizeGb must not be less than the size of the source. Acceptable values are greater than 0.", +"format": "int64", +"type": "string" +}, +"sourceConsistencyGroupPolicy": { +"description": "[Output Only] URL of the DiskConsistencyGroupPolicy for a secondary disk that was created using a consistency group.", +"type": "string" +}, +"sourceConsistencyGroupPolicyId": { +"description": "[Output Only] ID of the DiskConsistencyGroupPolicy for a secondary disk that was created using a consistency group.", +"type": "string" +}, +"sourceDisk": { +"description": "The source disk used to create this disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk ", +"type": "string" +}, +"sourceDiskId": { +"description": "[Output Only] The unique ID of the disk used to create this disk. This value identifies the exact disk that was used to create this persistent disk. For example, if you created the persistent disk from a disk that was later deleted and recreated under the same name, the source disk ID would identify the exact version of the disk that was used.", +"type": "string" +}, +"sourceImage": { +"description": "The source image used to create this disk. If the source image is deleted, this field will not be set. To create a disk with one of the public operating system images, specify the image by its family name. For example, specify family/debian-9 to use the latest Debian 9 image: projects/debian-cloud/global/images/family/debian-9 Alternatively, use a specific version of a public operating system image: projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD To create a disk with a custom image that you created, specify the image name in the following format: global/images/my-custom-image You can also specify a custom image by its image family, which returns the latest version of the image in that family. Replace the image name with family/family-name: global/images/family/my-image-family ", +"type": "string" +}, +"sourceImageEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key." +}, +"sourceImageId": { +"description": "[Output Only] The ID value of the image used to create this disk. This value identifies the exact image that was used to create this persistent disk. For example, if you created the persistent disk from an image that was later deleted and recreated under the same name, the source image ID would identify the exact version of the image that was used.", +"type": "string" +}, +"sourceInstantSnapshot": { +"description": "The source instant snapshot used to create this disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /instantSnapshots/instantSnapshot - projects/project/zones/zone/instantSnapshots/instantSnapshot - zones/zone/instantSnapshots/instantSnapshot ", +"type": "string" +}, +"sourceInstantSnapshotId": { +"description": "[Output Only] The unique ID of the instant snapshot used to create this disk. This value identifies the exact instant snapshot that was used to create this persistent disk. For example, if you created the persistent disk from an instant snapshot that was later deleted and recreated under the same name, the source instant snapshot ID would identify the exact version of the instant snapshot that was used.", +"type": "string" +}, +"sourceSnapshot": { +"description": "The source snapshot used to create this disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project /global/snapshots/snapshot - projects/project/global/snapshots/snapshot - global/snapshots/snapshot ", +"type": "string" +}, +"sourceSnapshotEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key." +}, +"sourceSnapshotId": { +"description": "[Output Only] The unique ID of the snapshot used to create this disk. This value identifies the exact snapshot that was used to create this persistent disk. For example, if you created the persistent disk from a snapshot that was later deleted and recreated under the same name, the source snapshot ID would identify the exact version of the snapshot that was used.", +"type": "string" +}, +"sourceStorageObject": { +"description": "The full Google Cloud Storage URI where the disk image is stored. This file must be a gzip-compressed tarball whose name ends in .tar.gz or virtual machine disk whose name ends in vmdk. Valid URIs may start with gs:// or https://storage.googleapis.com/. This flag is not optimized for creating multiple disks from a source storage object. To create many disks from a source storage object, use gcloud compute images import instead.", +"type": "string" +}, +"status": { +"description": "[Output Only] The status of disk creation. - CREATING: Disk is provisioning. - RESTORING: Source data is being copied into the disk. - FAILED: Disk creation failed. - READY: Disk is ready for use. - DELETING: Disk is deleting. ", +"enum": [ +"CREATING", +"DELETING", +"FAILED", +"READY", +"RESTORING", +"UNAVAILABLE" +], +"enumDescriptions": [ +"Disk is provisioning", +"Disk is deleting.", +"Disk creation failed.", +"Disk is ready for use.", +"Source data is being copied into the disk.", +"Disk is currently unavailable and cannot be accessed, attached or detached." +], +"type": "string" +}, +"storagePool": { +"description": "The storage pool in which the new disk is created. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /storagePools/storagePool - projects/project/zones/zone/storagePools/storagePool - zones/zone/storagePools/storagePool ", +"type": "string" +}, +"storageType": { +"description": "[Deprecated] Storage type of the persistent disk.", +"enum": [ +"HDD", +"SSD" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"type": { +"description": "URL of the disk type resource describing which disk type to use to create the disk. Provide this when creating the disk. For example: projects/project /zones/zone/diskTypes/pd-ssd . See Persistent disk types.", +"type": "string" +}, +"userLicenses": { +"description": "A list of publicly visible user-licenses. Unlike regular licenses, user provided licenses can be modified after the disk is created. This includes a list of URLs to the license resource. For example, to provide a debian license: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/licenses/debian-9-stretch ", +"items": { +"type": "string" +}, +"type": "array" +}, +"users": { +"description": "[Output Only] Links to the users of the disk (attached instances) in form: projects/project/zones/zone/instances/instance", +"items": { +"type": "string" +}, +"type": "array" +}, +"zone": { +"description": "[Output Only] URL of the zone where the disk resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +} +}, +"type": "object" +}, +"DiskAggregatedList": { +"id": "DiskAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "DisksScopedList", +"description": "[Output Only] Name of the scope containing this set of disks." +}, +"description": "A list of DisksScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#diskAggregatedList", +"description": "[Output Only] Type of resource. Always compute#diskAggregatedList for aggregated lists of persistent disks.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"DiskAsyncReplication": { +"id": "DiskAsyncReplication", +"properties": { +"consistencyGroupPolicy": { +"description": "[Output Only] URL of the DiskConsistencyGroupPolicy if replication was started on the disk as a member of a group.", +"type": "string" +}, +"consistencyGroupPolicyId": { +"description": "[Output Only] ID of the DiskConsistencyGroupPolicy if replication was started on the disk as a member of a group.", +"type": "string" +}, +"disk": { +"description": "The other disk asynchronously replicated to or from the current disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - projects/project/zones/zone/disks/disk - zones/zone/disks/disk ", +"type": "string" +}, +"diskId": { +"description": "[Output Only] The unique ID of the other disk asynchronously replicated to or from the current disk. This value identifies the exact disk that was used to create this replication. For example, if you started replicating the persistent disk from a disk that was later deleted and recreated under the same name, the disk ID would identify the exact version of the disk that was used.", +"type": "string" +} +}, +"type": "object" +}, +"DiskAsyncReplicationList": { +"id": "DiskAsyncReplicationList", +"properties": { +"asyncReplicationDisk": { +"$ref": "DiskAsyncReplication" +} +}, +"type": "object" +}, +"DiskInstantiationConfig": { +"description": "A specification of the desired way to instantiate a disk in the instance template when its created from a source instance.", +"id": "DiskInstantiationConfig", +"properties": { +"autoDelete": { +"description": "Specifies whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).", +"type": "boolean" +}, +"customImage": { +"description": "The custom source image to be used to restore this disk when instantiating this instance template.", +"type": "string" +}, +"deviceName": { +"description": "Specifies the device name of the disk to which the configurations apply to.", +"type": "string" +}, +"instantiateFrom": { +"description": "Specifies whether to include the disk and what image to use. Possible values are: - source-image: to use the same image that was used to create the source instance's corresponding disk. Applicable to the boot disk and additional read-write disks. - source-image-family: to use the same image family that was used to create the source instance's corresponding disk. Applicable to the boot disk and additional read-write disks. - custom-image: to use a user-provided image url for disk creation. Applicable to the boot disk and additional read-write disks. - attach-read-only: to attach a read-only disk. Applicable to read-only disks. - do-not-include: to exclude a disk from the template. Applicable to additional read-write disks, local SSDs, and read-only disks. ", +"enum": [ +"ATTACH_READ_ONLY", +"BLANK", +"CUSTOM_IMAGE", +"DEFAULT", +"DO_NOT_INCLUDE", +"SOURCE_IMAGE", +"SOURCE_IMAGE_FAMILY" +], +"enumDescriptions": [ +"Attach the existing disk in read-only mode. The request will fail if the disk was attached in read-write mode on the source instance. Applicable to: read-only disks.", +"Create a blank disk. The disk will be created unformatted. Applicable to: additional read-write disks, local SSDs.", +"Use the custom image specified in the custom_image field. Applicable to: boot disk, additional read-write disks.", +"Use the default instantiation option for the corresponding type of disk. For boot disk and any other R/W disks, new custom images will be created from each disk. For read-only disks, they will be attached in read-only mode. Local SSD disks will be created as blank volumes.", +"Do not include the disk in the instance template. Applicable to: additional read-write disks, local SSDs, read-only disks.", +"Use the same source image used for creation of the source instance's corresponding disk. The request will fail if the source VM's disk was created from a snapshot. Applicable to: boot disk, additional read-write disks.", +"Use the same source image family used for creation of the source instance's corresponding disk. The request will fail if the source image of the source disk does not belong to any image family. Applicable to: boot disk, additional read-write disks." +], +"type": "string" +} +}, +"type": "object" +}, +"DiskList": { +"description": "A list of Disk resources.", +"id": "DiskList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Disk resources.", +"items": { +"$ref": "Disk" +}, +"type": "array" +}, +"kind": { +"default": "compute#diskList", +"description": "[Output Only] Type of resource. Always compute#diskList for lists of disks.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"DiskMoveRequest": { +"id": "DiskMoveRequest", +"properties": { +"destinationZone": { +"description": "The URL of the destination zone to move the disk. This can be a full or partial URL. For example, the following are all valid URLs to a zone: - https://www.googleapis.com/compute/v1/projects/project/zones/zone - projects/project/zones/zone - zones/zone ", +"type": "string" +}, +"targetDisk": { +"description": "The URL of the target disk to move. This can be a full or partial URL. For example, the following are all valid URLs to a disk: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - projects/project/zones/zone/disks/disk - zones/zone/disks/disk ", +"type": "string" +} +}, +"type": "object" +}, +"DiskPairReplicationState": { +"id": "DiskPairReplicationState", +"properties": { +"dataReplicationState": { +"description": "[Output Only] The status of disk creation. - ASYNC_REPLICATION_STATE_INITIALIZING: The device is doing the initial replication after starting the replication. - ASYNC_REPLICATION_STATE_REPLICATING_HEALTHY: The primary disk is healthily replicating to the secondary device i.e. last_replication_time is within RPO. - ASYNC_REPLICATION_STATE_REPLICATING_BEHIND_HIGH_CHURN: The replication is lagging above the SLO limit due to some internal issue. - ASYNC_REPLICATION_STATE_REPLICATING_BEHIND_SYSTEM_LAGGING: The replication is lagging, and the RPO is not being met due to some internal issue. - ASYNC_REPLICATION_STATE_REPLICATION_STUCK: The replication is completely stuck due to some internal error. - ASYNC_REPLICATION_STATE_STOPPING: The replication is under the process of being stopped. This is a transient state. - ASYNC_REPLICATION_STATE_STOPPED: The replication between the disk-pairs have stopped. ", +"enum": [ +"ASYNC_REPLICATION_STATE_INITIALIZING", +"ASYNC_REPLICATION_STATE_REPLICATING_BEHIND_HIGH_CHURN", +"ASYNC_REPLICATION_STATE_REPLICATING_BEHIND_SYSTEM_LAGGING", +"ASYNC_REPLICATION_STATE_REPLICATING_HEALTHY", +"ASYNC_REPLICATION_STATE_REPLICATION_STUCK", +"ASYNC_REPLICATION_STATE_STOPPED", +"ASYNC_REPLICATION_STATE_STOPPING", +"ASYNC_REPLICATION_STATE_UNSPECIFIED" +], +"enumDescriptions": [ +"The device is doing the initial replication after starting the replication.", +"The replication is lagging behind (last_replication_time > RPO), because the disk's change rate is above the supported limit.", +"The replication is lagging, and the RPO is not being met due to some internal issue.", +"The primary disk is healthily replicating to the secondary device i.e. last_replication_time is within RPO.", +"The replication is completely stuck due to some internal error.", +"The replication between the disk-pairs have stopped.", +"The replication is under the process of being stopped. This is a transient sate.", +"" +], +"type": "string" +}, +"replicationDiskPair": { +"$ref": "ReplicationDiskPair" +} +}, +"type": "object" +}, +"DiskParams": { +"description": "Additional disk params.", +"id": "DiskParams", +"properties": { +"resourceManagerTags": { +"additionalProperties": { +"type": "string" +}, +"description": "Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty.", +"type": "object" +} +}, +"type": "object" +}, +"DiskResourceStatus": { +"id": "DiskResourceStatus", +"properties": { +"asyncPrimaryDisk": { +"$ref": "DiskResourceStatusAsyncReplicationStatus" +}, +"asyncSecondaryDisks": { +"additionalProperties": { +"$ref": "DiskResourceStatusAsyncReplicationStatus" +}, +"description": "Key: disk, value: AsyncReplicationStatus message", +"type": "object" +}, +"usedBytes": { +"description": "[Output Only] Space used by data stored in the disk (in bytes). Note that this field is set only when the disk is in a storage pool.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"DiskResourceStatusAsyncReplicationStatus": { +"id": "DiskResourceStatusAsyncReplicationStatus", +"properties": { +"state": { +"enum": [ +"ACTIVE", +"CREATED", +"STARTING", +"STATE_UNSPECIFIED", +"STOPPED", +"STOPPING" +], +"enumDescriptions": [ +"Replication is active.", +"Secondary disk is created and is waiting for replication to start.", +"Replication is starting.", +"", +"Replication is stopped.", +"Replication is stopping." +], +"type": "string" +} +}, +"type": "object" +}, +"DiskSettings": { +"id": "DiskSettings", +"properties": { +"accessLocation": { +"$ref": "DiskSettingsAccessLocation", +"description": "Policy of which locations are allowed to create regional snapshots." +}, +"defaultResourcePolicies": { +"additionalProperties": { +"$ref": "DiskSettingsResourcePolicyDetails" +}, +"description": "An optional parameter for storing the default resource policies that will be used for the Disks created in the given scope. The Key is a string type, provided by customers to uniquely identify the default Resource Policy entry. The Value is a Default ResourcePolicyDetails Object used to represent the detailed information of the Resource Policy entry.", +"type": "object" +} +}, +"type": "object" +}, +"DiskSettingsAccessLocation": { +"description": "AccessLocation is only used for regional snapshot. It contains which regions are allowed to create a regional snapshot from disks located in the given region/zone. It includes key-value pairs designed to store the following structure. The keys should match their corresponding values, which must be provided: access_location: { locations { us-central1 { region: \"us-central1\" }, asia-west2 { region: \"asia-west2\" } } }", +"id": "DiskSettingsAccessLocation", +"properties": { +"locations": { +"additionalProperties": { +"$ref": "DiskSettingsAccessLocationAccessLocationPreference" +}, +"description": "List of regions that can create a regional snapshot from the current region", +"type": "object" +} +}, +"type": "object" +}, +"DiskSettingsAccessLocationAccessLocationPreference": { +"description": "A structure for specifying an allowed target region to create snapshot.", +"id": "DiskSettingsAccessLocationAccessLocationPreference", +"properties": { +"region": { +"description": "Accessible region name", +"type": "string" +} +}, +"type": "object" +}, +"DiskSettingsResourcePolicyDetails": { +"description": "This is the object for storing the detail information about the Resource Policy that will be set as default ones for the Disks that is using the DiskSettings. It contains: - one target Resource Policy referenced by its Fully-Qualified URL, - [output only] Disk Types that will be excluded from using this Resource Policy, - Other filtering support (e.g. Label filtering) for Default Resource Policy can be added here as well", +"id": "DiskSettingsResourcePolicyDetails", +"properties": { +"excludedDiskTypes": { +"description": "[Output Only] A list of Disk Types that will be excluded from applying the Resource Policy referenced here. If absent, Disks created in any DiskType can use the referenced default Resource Policy.", +"items": { +"type": "string" +}, +"type": "array" +}, +"resourcePolicy": { +"description": "The target Resource Policies identified by their Fully-Qualified URL.", +"type": "string" +} +}, +"type": "object" +}, +"DiskType": { +"description": "Represents a Disk Type resource. Google Compute Engine has two Disk Type resources: * [Regional](/compute/docs/reference/rest/alpha/regionDiskTypes) * [Zonal](/compute/docs/reference/rest/alpha/diskTypes) You can choose from a variety of disk types based on your needs. For more information, read Storage options. The diskTypes resource represents disk types for a zonal persistent disk. For more information, read Zonal persistent disks. The regionDiskTypes resource represents disk types for a regional persistent disk. For more information, read Regional persistent disks.", +"id": "DiskType", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"defaultDiskSizeGb": { +"description": "[Output Only] Server-defined default disk size in GB.", +"format": "int64", +"type": "string" +}, +"deprecated": { +"$ref": "DeprecationStatus", +"description": "[Output Only] The deprecation status associated with this disk type." +}, +"description": { +"description": "[Output Only] An optional description of this resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#diskType", +"description": "[Output Only] Type of the resource. Always compute#diskType for disk types.", +"type": "string" +}, +"name": { +"description": "[Output Only] Name of the resource.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the disk type resides. Only applicable for regional resources. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"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" +}, +"validDiskSize": { +"description": "[Output Only] An optional textual description of the valid disk size, such as \"10GB-10TB\".", +"type": "string" +}, +"zone": { +"description": "[Output Only] URL of the zone where the disk type resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +} +}, +"type": "object" +}, +"DiskTypeAggregatedList": { +"id": "DiskTypeAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "DiskTypesScopedList", +"description": "[Output Only] Name of the scope containing this set of disk types." +}, +"description": "A list of DiskTypesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#diskTypeAggregatedList", +"description": "[Output Only] Type of resource. Always compute#diskTypeAggregatedList.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"DiskTypeList": { +"description": "Contains a list of disk types.", +"id": "DiskTypeList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of DiskType resources.", +"items": { +"$ref": "DiskType" +}, +"type": "array" +}, +"kind": { +"default": "compute#diskTypeList", +"description": "[Output Only] Type of resource. Always compute#diskTypeList for disk types.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"DiskTypesScopedList": { +"id": "DiskTypesScopedList", +"properties": { +"diskTypes": { +"description": "[Output Only] A list of disk types contained in this scope.", +"items": { +"$ref": "DiskType" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of disk types when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"DisksAddResourcePoliciesRequest": { +"id": "DisksAddResourcePoliciesRequest", +"properties": { +"resourcePolicies": { +"description": "Full or relative path to the resource policy to be added to this disk. You can only specify one resource policy.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"DisksRemoveResourcePoliciesRequest": { +"id": "DisksRemoveResourcePoliciesRequest", +"properties": { +"resourcePolicies": { +"description": "Resource policies to be removed from this disk.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"DisksResizeRequest": { +"id": "DisksResizeRequest", +"properties": { +"sizeGb": { +"description": "The new size of the persistent disk, which is specified in GB.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"DisksScopedList": { +"id": "DisksScopedList", +"properties": { +"disks": { +"description": "[Output Only] A list of disks contained in this scope.", +"items": { +"$ref": "Disk" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of disks when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"DisksStartAsyncReplicationRequest": { +"id": "DisksStartAsyncReplicationRequest", +"properties": { +"asyncSecondaryDisk": { +"description": "The secondary disk to start asynchronous replication to. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk ", +"type": "string" +} +}, +"type": "object" +}, +"DisksStopGroupAsyncReplicationResource": { +"description": "A transient resource used in compute.disks.stopGroupAsyncReplication and compute.regionDisks.stopGroupAsyncReplication. It is only used to process requests and is not persisted.", +"id": "DisksStopGroupAsyncReplicationResource", +"properties": { +"resourcePolicy": { +"description": "The URL of the DiskConsistencyGroupPolicy for the group of disks to stop. This may be a full or partial URL, such as: - https://www.googleapis.com/compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy - projects/project/regions/region/resourcePolicies/resourcePolicy - regions/region/resourcePolicies/resourcePolicy ", +"type": "string" +} +}, +"type": "object" +}, +"DisplayDevice": { +"description": "A set of Display Device options", +"id": "DisplayDevice", +"properties": { +"enableDisplay": { +"description": "Defines whether the instance has Display enabled.", +"type": "boolean" +} +}, +"type": "object" +}, +"DistributionPolicy": { +"id": "DistributionPolicy", +"properties": { +"targetShape": { +"description": "The distribution shape to which the group converges either proactively or on resize events (depending on the value set in updatePolicy.instanceRedistributionType).", +"enum": [ +"ANY", +"ANY_SINGLE_ZONE", +"BALANCED", +"EVEN" +], +"enumDescriptions": [ +"The group picks zones for creating VM instances to fulfill the requested number of VMs within present resource constraints and to maximize utilization of unused zonal reservations. Recommended for batch workloads that do not require high availability.", +"The group creates all VM instances within a single zone. The zone is selected based on the present resource constraints and to maximize utilization of unused zonal reservations. Recommended for batch workloads with heavy interprocess communication.", +"The group prioritizes acquisition of resources, scheduling VMs in zones where resources are available while distributing VMs as evenly as possible across selected zones to minimize the impact of zonal failure. Recommended for highly available serving workloads.", +"The group schedules VM instance creation and deletion to achieve and maintain an even number of managed instances across the selected zones. The distribution is even when the number of managed instances does not differ by more than 1 between any two zones. Recommended for highly available serving workloads." +], +"type": "string" +}, +"zones": { +"description": "Zones where the regional managed instance group will create and manage its instances.", +"items": { +"$ref": "DistributionPolicyZoneConfiguration" +}, +"type": "array" +} +}, +"type": "object" +}, +"DistributionPolicyZoneConfiguration": { +"id": "DistributionPolicyZoneConfiguration", +"properties": { +"zone": { +"annotations": { +"required": [ +"compute.regionInstanceGroupManagers.insert", +"compute.regionInstanceGroupManagers.update" +] +}, +"description": "The URL of the zone. The zone must exist in the region where the managed instance group is located.", +"type": "string" +} +}, +"type": "object" +}, +"Duration": { +"description": "A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like \"day\" or \"month\". Range is approximately 10,000 years.", +"id": "Duration", +"properties": { +"nanos": { +"description": "Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.", +"format": "int32", +"type": "integer" +}, +"seconds": { +"description": "Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years", +"format": "int64", +"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" +}, +"ExchangedPeeringRoute": { +"id": "ExchangedPeeringRoute", +"properties": { +"destRange": { +"description": "The destination range of the route.", +"type": "string" +}, +"imported": { +"description": "True if the peering route has been imported from a peer. The actual import happens if the field networkPeering.importCustomRoutes is true for this network, and networkPeering.exportCustomRoutes is true for the peer network, and the import does not result in a route conflict.", +"type": "boolean" +}, +"nextHopRegion": { +"description": "The region of peering route next hop, only applies to dynamic routes.", +"type": "string" +}, +"priority": { +"description": "The priority of the peering route.", +"format": "uint32", +"type": "integer" +}, +"type": { +"description": "The type of the peering route.", +"enum": [ +"DYNAMIC_PEERING_ROUTE", +"STATIC_PEERING_ROUTE", +"SUBNET_PEERING_ROUTE" +], +"enumDescriptions": [ +"For routes exported from local network.", +"The peering route.", +"The peering route corresponding to subnetwork range." +], +"type": "string" +} +}, +"type": "object" +}, +"ExchangedPeeringRoutesList": { +"id": "ExchangedPeeringRoutesList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of ExchangedPeeringRoute resources.", +"items": { +"$ref": "ExchangedPeeringRoute" +}, +"type": "array" +}, +"kind": { +"default": "compute#exchangedPeeringRoutesList", +"description": "[Output Only] Type of resource. Always compute#exchangedPeeringRoutesList for exchanged peering routes lists.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "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" +}, +"ExternalVpnGateway": { +"description": "Represents an external VPN gateway. External VPN gateway is the on-premises VPN gateway(s) or another cloud provider's VPN gateway that connects to your Google Cloud VPN gateway. To create a highly available VPN from Google Cloud Platform to your VPN gateway or another cloud provider's VPN gateway, you must create a external VPN gateway resource with information about the other gateway. For more information about using external VPN gateways, see Creating an HA VPN gateway and tunnel pair to a peer VPN.", +"id": "ExternalVpnGateway", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"interfaces": { +"description": "A list of interfaces for this external VPN gateway. If your peer-side gateway is an on-premises gateway and non-AWS cloud providers' gateway, at most two interfaces can be provided for an external VPN gateway. If your peer side is an AWS virtual private gateway, four interfaces should be provided for an external VPN gateway.", +"items": { +"$ref": "ExternalVpnGatewayInterface" +}, +"type": "array" +}, +"kind": { +"default": "compute#externalVpnGateway", +"description": "[Output Only] Type of the resource. Always compute#externalVpnGateway for externalVpnGateways.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this ExternalVpnGateway, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an ExternalVpnGateway.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", +"type": "object" +}, +"name": { +"annotations": { +"required": [ +"compute.externalVpnGateways.insert" +] +}, +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"redundancyType": { +"description": "Indicates the user-supplied redundancy type of this external VPN gateway.", +"enum": [ +"FOUR_IPS_REDUNDANCY", +"SINGLE_IP_INTERNALLY_REDUNDANT", +"TWO_IPS_REDUNDANCY" +], +"enumDescriptions": [ +"The external VPN gateway has four public IP addresses; at the time of writing this API, the AWS virtual private gateway is an example which has four public IP addresses for high availability connections; there should be two VPN connections in the AWS virtual private gateway , each AWS VPN connection has two public IP addresses; please make sure to put two public IP addresses from one AWS VPN connection into interfaces 0 and 1 of this external VPN gateway, and put the other two public IP addresses from another AWS VPN connection into interfaces 2 and 3 of this external VPN gateway. When displaying highly available configuration status for the VPN tunnels connected to FOUR_IPS_REDUNDANCY external VPN gateway, Google will always detect whether interfaces 0 and 1 are connected on one interface of HA Cloud VPN gateway, and detect whether interfaces 2 and 3 are connected to another interface of the HA Cloud VPN gateway.", +"The external VPN gateway has only one public IP address which internally provide redundancy or failover.", +"The external VPN gateway has two public IP addresses which are redundant with each other, the following two types of setup on your on-premises side would have this type of redundancy: (1) Two separate on-premises gateways, each with one public IP address, the two on-premises gateways are redundant with each other. (2) A single on-premise gateway with two public IP addresses that are redundant with eatch other." +], +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +} +}, +"type": "object" +}, +"ExternalVpnGatewayInterface": { +"description": "The interface for the external VPN gateway.", +"id": "ExternalVpnGatewayInterface", +"properties": { +"id": { +"description": "The numeric ID of this interface. The allowed input values for this id for different redundancy types of external VPN gateway: - SINGLE_IP_INTERNALLY_REDUNDANT - 0 - TWO_IPS_REDUNDANCY - 0, 1 - FOUR_IPS_REDUNDANCY - 0, 1, 2, 3 ", +"format": "uint32", +"type": "integer" +}, +"ipAddress": { +"description": "IP address of the interface in the external VPN gateway. Only IPv4 is supported. This IP address can be either from your on-premise gateway or another Cloud provider's VPN gateway, it cannot be an IP address from Google Compute Engine.", +"type": "string" +}, +"ipv6Address": { +"description": "IPv6 address of the interface in the external VPN gateway. This IPv6 address can be either from your on-premise gateway or another Cloud provider's VPN gateway, it cannot be an IP address from Google Compute Engine. Must specify an IPv6 address (not IPV4-mapped) using any format described in RFC 4291 (e.g. 2001:db8:0:0:2d9:51:0:0). The output format is RFC 5952 format (e.g. 2001:db8::2d9:51:0:0).", +"type": "string" +} +}, +"type": "object" +}, +"ExternalVpnGatewayList": { +"description": "Response to the list request, and contains a list of externalVpnGateways.", +"id": "ExternalVpnGatewayList", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of ExternalVpnGateway resources.", +"items": { +"$ref": "ExternalVpnGateway" +}, +"type": "array" +}, +"kind": { +"default": "compute#externalVpnGatewayList", +"description": "[Output Only] Type of resource. Always compute#externalVpnGatewayList for lists of externalVpnGateways.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"FileContentBuffer": { +"id": "FileContentBuffer", +"properties": { +"content": { +"description": "The raw content in the secure keys file.", +"format": "byte", +"type": "string" +}, +"fileType": { +"description": "The file type of source file.", +"enum": [ +"BIN", +"UNDEFINED", +"X509" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"Firewall": { +"description": "Represents a Firewall Rule resource. Firewall rules allow or deny ingress traffic to, and egress traffic from your instances. For more information, read Firewall rules.", +"id": "Firewall", +"properties": { +"allowed": { +"description": "The list of ALLOW rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.", +"items": { +"properties": { +"IPProtocol": { +"description": "The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp) or the IP protocol number.", +"type": "string" +}, +"ports": { +"description": "An optional list of ports to which this rule applies. This field is only applicable for the UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"type": "array" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"denied": { +"description": "The list of DENY rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a denied connection.", +"items": { +"properties": { +"IPProtocol": { +"description": "The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp) or the IP protocol number.", +"type": "string" +}, +"ports": { +"description": "An optional list of ports to which this rule applies. This field is only applicable for the UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"type": "array" +}, +"description": { +"description": "An optional description of this resource. Provide this field when you create the resource.", +"type": "string" +}, +"destinationRanges": { +"description": "If destination ranges are specified, the firewall rule applies only to traffic that has destination IP address in these ranges. These ranges must be expressed in CIDR format. Both IPv4 and IPv6 are supported.", +"items": { +"type": "string" +}, +"type": "array" +}, +"direction": { +"description": "Direction of traffic to which this firewall applies, either `INGRESS` or `EGRESS`. The default is `INGRESS`. For `EGRESS` traffic, you cannot specify the sourceTags fields.", +"enum": [ +"EGRESS", +"INGRESS" +], +"enumDescriptions": [ +"Indicates that firewall should apply to outgoing traffic.", +"Indicates that firewall should apply to incoming traffic." +], +"type": "string" +}, +"disabled": { +"description": "Denotes whether the firewall rule is disabled. When set to true, the firewall rule is not enforced and the network behaves as if it did not exist. If this is unspecified, the firewall rule will be enabled.", +"type": "boolean" +}, +"enableLogging": { +"deprecated": true, +"description": "Deprecated in favor of enable in LogConfig. This field denotes whether to enable logging for a particular firewall rule. If logging is enabled, logs will be exported t Cloud Logging.", +"type": "boolean" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#firewall", +"description": "[Output Only] Type of the resource. Always compute#firewall for firewall rules.", +"type": "string" +}, +"logConfig": { +"$ref": "FirewallLogConfig", +"description": "This field denotes the logging options for a particular firewall rule. If logging is enabled, logs will be exported to Cloud Logging." +}, +"name": { +"annotations": { +"required": [ +"compute.firewalls.insert", +"compute.firewalls.patch" +] +}, +"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])?`. The first character must be a lowercase letter, and all following characters (except for the last character) must be a dash, lowercase letter, or digit. The last character must be a lowercase letter or digit.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"network": { +"description": "URL of the network resource for this firewall rule. If not specified when creating a firewall rule, the default network is used: global/networks/default If you choose to specify this field, you can specify the network as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/myproject/global/networks/my-network - projects/myproject/global/networks/my-network - global/networks/default ", +"type": "string" +}, +"priority": { +"description": "Priority for this rule. This is an integer between `0` and `65535`, both inclusive. The default value is `1000`. Relative priorities determine which rule takes effect if multiple rules apply. Lower values indicate higher priority. For example, a rule with priority `0` has higher precedence than a rule with priority `1`. DENY rules take precedence over ALLOW rules if they have equal priority. Note that VPC networks have implied rules with a priority of `65535`. To avoid conflicts with the implied rules, use a priority number less than `65535`.", +"format": "int32", +"type": "integer" +}, +"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" +}, +"sourceRanges": { +"description": "If source ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. One or both of sourceRanges and sourceTags may be set. If both fields are set, the rule applies to traffic that has a source IP address within sourceRanges OR a source IP from a resource with a matching tag listed in the sourceTags field. The connection does not need to match both fields for the rule to apply. Both IPv4 and IPv6 are supported.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sourceServiceAccounts": { +"description": "If source service accounts are specified, the firewall rules apply only to traffic originating from an instance with a service account in this list. Source service accounts cannot be used to control traffic to an instance's external IP address because service accounts are associated with an instance, not an IP address. sourceRanges can be set at the same time as sourceServiceAccounts. If both are set, the firewall applies to traffic that has a source IP address within the sourceRanges OR a source IP that belongs to an instance with service account listed in sourceServiceAccount. The connection does not need to match both fields for the firewall to apply. sourceServiceAccounts cannot be used at the same time as sourceTags or targetTags.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sourceTags": { +"description": "If source tags are specified, the firewall rule applies only to traffic with source IPs that match the primary network interfaces of VM instances that have the tag and are in the same VPC network. Source tags cannot be used to control traffic to an instance's external IP address, it only applies to traffic between instances in the same virtual network. Because tags are associated with instances, not IP addresses. One or both of sourceRanges and sourceTags may be set. If both fields are set, the firewall applies to traffic that has a source IP address within sourceRanges OR a source IP from a resource with a matching tag listed in the sourceTags field. The connection does not need to match both fields for the firewall to apply.", +"items": { +"type": "string" +}, +"type": "array" +}, +"targetServiceAccounts": { +"description": "A list of service accounts indicating sets of instances located in the network that may make network connections as specified in allowed[]. targetServiceAccounts cannot be used at the same time as targetTags or sourceTags. If neither targetServiceAccounts nor targetTags are specified, the firewall rule applies to all instances on the specified network.", +"items": { +"type": "string" +}, +"type": "array" +}, +"targetTags": { +"description": "A list of tags that controls which instances the firewall rule applies to. If targetTags are specified, then the firewall rule applies only to instances in the VPC network that have one of those tags. If no targetTags are specified, the firewall rule applies to all instances on the specified network.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"FirewallList": { +"description": "Contains a list of firewalls.", +"id": "FirewallList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Firewall resources.", +"items": { +"$ref": "Firewall" +}, +"type": "array" +}, +"kind": { +"default": "compute#firewallList", +"description": "[Output Only] Type of resource. Always compute#firewallList for lists of firewalls.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"FirewallLogConfig": { +"description": "The available logging options for a firewall rule.", +"id": "FirewallLogConfig", +"properties": { +"enable": { +"description": "This field denotes whether to enable logging for a particular firewall rule.", +"type": "boolean" +}, +"metadata": { +"description": "This field can only be specified for a particular firewall rule if logging is enabled for that rule. This field denotes whether to include or exclude metadata for firewall logs.", +"enum": [ +"EXCLUDE_ALL_METADATA", +"INCLUDE_ALL_METADATA" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"FirewallPoliciesListAssociationsResponse": { +"id": "FirewallPoliciesListAssociationsResponse", +"properties": { +"associations": { +"description": "A list of associations.", +"items": { +"$ref": "FirewallPolicyAssociation" +}, +"type": "array" +}, +"kind": { +"default": "compute#firewallPoliciesListAssociationsResponse", +"description": "[Output Only] Type of firewallPolicy associations. Always compute#FirewallPoliciesListAssociations for lists of firewallPolicy associations.", +"type": "string" +} +}, +"type": "object" +}, +"FirewallPoliciesScopedList": { +"id": "FirewallPoliciesScopedList", +"properties": { +"firewallPolicies": { +"description": "A list of firewall policies contained in this scope.", +"items": { +"$ref": "FirewallPolicy" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of firewall policies when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"FirewallPolicy": { +"description": "Represents a Firewall Policy resource.", +"id": "FirewallPolicy", +"properties": { +"associations": { +"description": "A list of associations that belong to this firewall policy.", +"items": { +"$ref": "FirewallPolicyAssociation" +}, +"type": "array" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"displayName": { +"deprecated": true, +"description": "Deprecated, please use short name instead. User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. 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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"fingerprint": { +"description": "Specifies a fingerprint for this resource, which is essentially a hash of the metadata's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make get() request to the firewall policy.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#firewallPolicy", +"description": "[Output only] Type of the resource. Always compute#firewallPolicyfor firewall policies", +"type": "string" +}, +"name": { +"description": "Name of the resource. For Organization Firewall Policies it's a [Output Only] numeric ID allocated by Google Cloud which uniquely identifies the Organization Firewall Policy.", +"type": "string" +}, +"packetMirroringRules": { +"description": "A list of packet mirroring rules that belong to this policy.", +"items": { +"$ref": "FirewallPolicyRule" +}, +"type": "array" +}, +"parent": { +"description": "[Output Only] The parent of the firewall policy. This field is not applicable to network firewall policies.", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the regional firewall policy resides. This field is not applicable to global firewall policies. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"ruleTupleCount": { +"description": "[Output Only] Total count of all firewall policy rule tuples. A firewall policy can not exceed a set number of tuples.", +"format": "int32", +"type": "integer" +}, +"rules": { +"description": "A list of rules that belong to this policy. There must always be a default rule (rule with priority 2147483647 and match \"*\"). If no rules are provided when creating a firewall policy, a default rule with action \"allow\" will be added.", +"items": { +"$ref": "FirewallPolicyRule" +}, +"type": "array" +}, +"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" +}, +"shortName": { +"description": "User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. 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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"vpcNetworkScope": { +"description": "The scope of networks allowed to be associated with the firewall policy. This field can be either GLOBAL_VPC_NETWORK or REGIONAL_VPC_NETWORK. A firewall policy with the VPC scope set to GLOBAL_VPC_NETWORK is allowed to be attached only to global networks. When the VPC scope is set to REGIONAL_VPC_NETWORK the firewall policy is allowed to be attached only to regional networks in the same scope as the firewall policy. Note: if not specified then GLOBAL_VPC_NETWORK will be used.", +"enum": [ +"GLOBAL_VPC_NETWORK", +"REGIONAL_VPC_NETWORK" +], +"enumDescriptions": [ +"The firewall policy is allowed to be attached only to global networks.", +"The firewall policy is allowed to be attached only to regional networks in the same scope as the firewall policy. This option is applicable only to regional firewall policies." +], +"type": "string" +} +}, +"type": "object" +}, +"FirewallPolicyAssociation": { +"id": "FirewallPolicyAssociation", +"properties": { +"attachmentTarget": { +"description": "The target that the firewall policy is attached to.", +"type": "string" +}, +"displayName": { +"deprecated": true, +"description": "[Output Only] Deprecated, please use short name instead. The display name of the firewall policy of the association.", +"type": "string" +}, +"firewallPolicyId": { +"description": "[Output Only] The firewall policy ID of the association.", +"type": "string" +}, +"name": { +"description": "The name for an association.", +"type": "string" +}, +"priority": { +"description": "An integer indicating the priority of an association. The priority must be a positive value between 1 and 2147483647. Firewall Policies are evaluated from highest to lowest priority where 1 is the highest priority and 2147483647 is the lowest priority. The default value is `1000`. If two associations have the same priority then lexicographical order on association names is applied.", +"format": "int32", +"type": "integer" +}, +"shortName": { +"description": "[Output Only] The short name of the firewall policy of the association.", +"type": "string" +} +}, +"type": "object" +}, +"FirewallPolicyList": { +"id": "FirewallPolicyList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of FirewallPolicy resources.", +"items": { +"$ref": "FirewallPolicy" +}, +"type": "array" +}, +"kind": { +"default": "compute#firewallPolicyList", +"description": "[Output Only] Type of resource. Always compute#firewallPolicyList for listsof FirewallPolicies", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"FirewallPolicyRule": { +"description": "Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny).", +"id": "FirewallPolicyRule", +"properties": { +"action": { +"description": "The Action to perform when the client connection triggers the rule. Valid actions for firewall rules are: \"allow\", \"deny\", \"apply_security_profile_group\" and \"goto_next\". Valid actions for packet mirroring rules are: \"mirror\", \"do_not_mirror\" and \"goto_next\".", +"type": "string" +}, +"description": { +"description": "An optional description for this resource.", +"type": "string" +}, +"direction": { +"description": "The direction in which this rule applies.", +"enum": [ +"EGRESS", +"INGRESS" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"disabled": { +"description": "Denotes whether the firewall policy rule is disabled. When set to true, the firewall policy rule is not enforced and traffic behaves as if it did not exist. If this is unspecified, the firewall policy rule will be enabled.", +"type": "boolean" +}, +"enableLogging": { +"description": "Denotes whether to enable logging for a particular rule. If logging is enabled, logs will be exported to the configured export destination in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging on \"goto_next\" rules.", +"type": "boolean" +}, +"kind": { +"default": "compute#firewallPolicyRule", +"description": "[Output only] Type of the resource. Returns compute#firewallPolicyRule for firewall rules and compute#packetMirroringRule for packet mirroring rules.", +"type": "string" +}, +"match": { +"$ref": "FirewallPolicyRuleMatcher", +"description": "A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced." +}, +"priority": { +"description": "An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority.", +"format": "int32", +"type": "integer" +}, +"ruleName": { +"description": "An optional name for the rule. This field is not a unique identifier and can be updated.", +"type": "string" +}, +"ruleTupleCount": { +"description": "[Output Only] Calculation of the complexity of a single firewall policy rule.", +"format": "int32", +"type": "integer" +}, +"securityProfileGroup": { +"description": "A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action is one of 'apply_security_profile_group' or 'mirror'. Cannot be specified for other actions.", +"type": "string" +}, +"targetResources": { +"description": "A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule.", +"items": { +"type": "string" +}, +"type": "array" +}, +"targetSecureTags": { +"description": "A list of secure tags that controls which instances the firewall rule applies to. If targetSecureTag are specified, then the firewall rule applies only to instances in the VPC network that have one of those EFFECTIVE secure tags, if all the target_secure_tag are in INEFFECTIVE state, then this rule will be ignored. targetSecureTag may not be set at the same time as targetServiceAccounts. If neither targetServiceAccounts nor targetSecureTag are specified, the firewall rule applies to all instances on the specified network. Maximum number of target label tags allowed is 256.", +"items": { +"$ref": "FirewallPolicyRuleSecureTag" +}, +"type": "array" +}, +"targetServiceAccounts": { +"description": "A list of service accounts indicating the sets of instances that are applied with this rule.", +"items": { +"type": "string" +}, +"type": "array" +}, +"tlsInspect": { +"description": "Boolean flag indicating if the traffic should be TLS decrypted. Can be set only if action = 'apply_security_profile_group' and cannot be set for other actions.", +"type": "boolean" +} +}, +"type": "object" +}, +"FirewallPolicyRuleMatcher": { +"description": "Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified.", +"id": "FirewallPolicyRuleMatcher", +"properties": { +"destAddressGroups": { +"description": "Address groups which should be matched against the traffic destination. Maximum number of destination address groups is 10.", +"items": { +"type": "string" +}, +"type": "array" +}, +"destFqdns": { +"description": "Fully Qualified Domain Name (FQDN) which should be matched against traffic destination. Maximum number of destination fqdn allowed is 100.", +"items": { +"type": "string" +}, +"type": "array" +}, +"destIpRanges": { +"description": "CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 5000.", +"items": { +"type": "string" +}, +"type": "array" +}, +"destNetworkScope": { +"description": "Network scope of the traffic destination.", +"enum": [ +"INTERNET", +"INTRA_VPC", +"NON_INTERNET", +"UNSPECIFIED", +"VPC_NETWORKS" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"destRegionCodes": { +"description": "Region codes whose IP addresses will be used to match for destination of traffic. Should be specified as 2 letter country code defined as per ISO 3166 alpha-2 country codes. ex.\"US\" Maximum number of dest region codes allowed is 5000.", +"items": { +"type": "string" +}, +"type": "array" +}, +"destThreatIntelligences": { +"description": "Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic destination.", +"items": { +"type": "string" +}, +"type": "array" +}, +"layer4Configs": { +"description": "Pairs of IP protocols and ports that the rule should match.", +"items": { +"$ref": "FirewallPolicyRuleMatcherLayer4Config" +}, +"type": "array" +}, +"srcAddressGroups": { +"description": "Address groups which should be matched against the traffic source. Maximum number of source address groups is 10.", +"items": { +"type": "string" +}, +"type": "array" +}, +"srcFqdns": { +"description": "Fully Qualified Domain Name (FQDN) which should be matched against traffic source. Maximum number of source fqdn allowed is 100.", +"items": { +"type": "string" +}, +"type": "array" +}, +"srcIpRanges": { +"description": "CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 5000.", +"items": { +"type": "string" +}, +"type": "array" +}, +"srcNetworkScope": { +"description": "Network scope of the traffic source.", +"enum": [ +"INTERNET", +"INTRA_VPC", +"NON_INTERNET", +"UNSPECIFIED", +"VPC_NETWORKS" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"srcNetworks": { +"description": "Networks of the traffic source. It can be either a full or partial url.", +"items": { +"type": "string" +}, +"type": "array" +}, +"srcRegionCodes": { +"description": "Region codes whose IP addresses will be used to match for source of traffic. Should be specified as 2 letter country code defined as per ISO 3166 alpha-2 country codes. ex.\"US\" Maximum number of source region codes allowed is 5000.", +"items": { +"type": "string" +}, +"type": "array" +}, +"srcSecureTags": { +"description": "List of secure tag values, which should be matched at the source of the traffic. For INGRESS rule, if all the srcSecureTag are INEFFECTIVE, and there is no srcIpRange, this rule will be ignored. Maximum number of source tag values allowed is 256.", +"items": { +"$ref": "FirewallPolicyRuleSecureTag" +}, +"type": "array" +}, +"srcThreatIntelligences": { +"description": "Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic source.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"FirewallPolicyRuleMatcherLayer4Config": { +"id": "FirewallPolicyRuleMatcherLayer4Config", +"properties": { +"ipProtocol": { +"description": "The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number.", +"type": "string" +}, +"ports": { +"description": "An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"FirewallPolicyRuleSecureTag": { +"id": "FirewallPolicyRuleSecureTag", +"properties": { +"name": { +"description": "Name of the secure tag, created with TagManager's TagValue API.", +"pattern": "tagValues/[0-9]+", +"type": "string" +}, +"state": { +"description": "[Output Only] State of the secure tag, either `EFFECTIVE` or `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted or its network is deleted.", +"enum": [ +"EFFECTIVE", +"INEFFECTIVE" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"FixedOrPercent": { +"description": "Encapsulates numeric value that can be either absolute or relative.", +"id": "FixedOrPercent", +"properties": { +"calculated": { +"description": "[Output Only] Absolute value of VM instances calculated based on the specific mode. - If the value is fixed, then the calculated value is equal to the fixed value. - If the value is a percent, then the calculated value is percent/100 * targetSize. For example, the calculated value of a 80% of a managed instance group with 150 instances would be (80/100 * 150) = 120 VM instances. If there is a remainder, the number is rounded. ", +"format": "int32", +"type": "integer" +}, +"fixed": { +"description": "Specifies a fixed number of VM instances. This must be a positive integer.", +"format": "int32", +"type": "integer" +}, +"percent": { +"description": "Specifies a percentage of instances between 0 to 100%, inclusive. For example, specify 80 for 80%.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"FlexibleTimeRange": { +"description": "A flexible specification of a time range that has 3 points of flexibility: (1) a flexible start time, (2) a flexible end time, (3) a flexible duration. It is possible to specify a contradictory time range that cannot be matched by any Interval. This causes a validation error.", +"id": "FlexibleTimeRange", +"properties": { +"endTimeNotEarlierThan": { +"format": "google-datetime", +"type": "string" +}, +"endTimeNotLaterThan": { +"format": "google-datetime", +"type": "string" +}, +"maxDuration": { +"format": "google-duration", +"type": "string" +}, +"minDuration": { +"format": "google-duration", +"type": "string" +}, +"startTimeNotEarlierThan": { +"format": "google-datetime", +"type": "string" +}, +"startTimeNotLaterThan": { +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"ForwardingRule": { +"description": "Represents a Forwarding Rule resource. Forwarding rule resources in Google Cloud can be either regional or global in scope: * [Global](https://cloud.google.com/compute/docs/reference/rest/alpha/globalForwardingRules) * [Regional](https://cloud.google.com/compute/docs/reference/rest/alpha/forwardingRules) A forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud load balancer. Forwarding rules can also reference target instances and Cloud VPN Classic gateways (targetVpnGateway). For more information, read Forwarding rule concepts and Using protocol forwarding.", +"id": "ForwardingRule", +"properties": { +"IPAddress": { +"description": "IP address for which this forwarding rule accepts traffic. When a client sends traffic to this IP address, the forwarding rule directs the traffic to the referenced target or backendService. While creating a forwarding rule, specifying an IPAddress is required under the following circumstances: - When the target is set to targetGrpcProxy and validateForProxyless is set to true, the IPAddress should be set to 0.0.0.0. - When the target is a Private Service Connect Google APIs bundle, you must specify an IPAddress. Otherwise, you can optionally specify an IP address that references an existing static (reserved) IP address resource. When omitted, Google Cloud assigns an ephemeral IP address. Use one of the following formats to specify an IP address while creating a forwarding rule: * IP address number, as in `100.1.2.3` * IPv6 address range, as in `2600:1234::/96` * Full resource URL, as in https://www.googleapis.com/compute/v1/projects/ project_id/regions/region/addresses/address-name * Partial URL or by name, as in: - projects/project_id/regions/region/addresses/address-name - regions/region/addresses/address-name - global/addresses/address-name - address-name The forwarding rule's target or backendService, and in most cases, also the loadBalancingScheme, determine the type of IP address that you can use. For detailed information, see [IP address specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications). When reading an IPAddress, the API always returns the IP address number.", +"type": "string" +}, +"IPProtocol": { +"description": "The IP protocol to which this rule applies. For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT. The valid IP protocols are different for different load balancing products as described in [Load balancing features](https://cloud.google.com/load-balancing/docs/features#protocols_from_the_load_balancer_to_the_backends).", +"enum": [ +"AH", +"ALL", +"ESP", +"ICMP", +"L3_DEFAULT", +"SCTP", +"TCP", +"UDP" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"allPorts": { +"description": "The ports, portRange, and allPorts fields are mutually exclusive. Only packets addressed to ports in the specified range will be forwarded to the backends configured with this forwarding rule. The allPorts field has the following limitations: - It requires that the forwarding rule IPProtocol be TCP, UDP, SCTP, or L3_DEFAULT. - It's applicable only to the following products: internal passthrough Network Load Balancers, backend service-based external passthrough Network Load Balancers, and internal and external protocol forwarding. - Set this field to true to allow packets addressed to any port or packets lacking destination port information (for example, UDP fragments after the first fragment) to be forwarded to the backends configured with this forwarding rule. The L3_DEFAULT protocol requires allPorts be set to true. ", +"type": "boolean" +}, +"allowGlobalAccess": { +"description": "If set to true, clients can access the internal passthrough Network Load Balancers, the regional internal Application Load Balancer, and the regional internal proxy Network Load Balancer from all regions. If false, only allows access from the local region the load balancer is located at. Note that for INTERNAL_MANAGED forwarding rules, this field cannot be changed after the forwarding rule is created.", +"type": "boolean" +}, +"allowPscGlobalAccess": { +"description": "This is used in PSC consumer ForwardingRule to control whether the PSC endpoint can be accessed from another region.", +"type": "boolean" +}, +"allowPscPacketInjection": { +"description": "This is used in PSC consumer ForwardingRule to control whether the producer is allowed to inject packets into the consumer's network. If set to true, the target service attachment must have tunneling enabled and TunnelingConfig.RoutingMode set to PACKET_INJECTION Non-PSC forwarding rules should not use this field.", +"type": "boolean" +}, +"backendService": { +"description": "Identifies the backend service to which the forwarding rule sends traffic. Required for internal and external passthrough Network Load Balancers; must be omitted for all other load balancer types.", +"type": "string" +}, +"baseForwardingRule": { +"description": "[Output Only] The URL for the corresponding base forwarding rule. By base forwarding rule, we mean the forwarding rule that has the same IP address, protocol, and port settings with the current forwarding rule, but without sourceIPRanges specified. Always empty if the current forwarding rule does not have sourceIPRanges specified.", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"externalManagedBackendBucketMigrationState": { +"description": "Specifies the canary migration state for the backend buckets attached to this forwarding rule. Possible values are PREPARE, TEST_BY_PERCENTAGE, and TEST_ALL_TRAFFIC. To begin the migration from EXTERNAL to EXTERNAL_MANAGED, the state must be changed to PREPARE. The state must be changed to TEST_ALL_TRAFFIC before the loadBalancingScheme can be changed to EXTERNAL_MANAGED. Optionally, the TEST_BY_PERCENTAGE state can be used to migrate traffic to backend buckets attached to this forwarding rule by percentage using externalManagedBackendBucketMigrationTestingPercentage. Rolling back a migration requires the states to be set in reverse order. So changing the scheme from EXTERNAL_MANAGED to EXTERNAL requires the state to be set to TEST_ALL_TRAFFIC at the same time. Optionally, the TEST_BY_PERCENTAGE state can be used to migrate some traffic back to EXTERNAL or PREPARE can be used to migrate all traffic back to EXTERNAL.", +"enum": [ +"PREPARE", +"TEST_ALL_TRAFFIC", +"TEST_BY_PERCENTAGE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"externalManagedBackendBucketMigrationTestingPercentage": { +"description": "Determines the fraction of requests to backend buckets that should be processed by the global external Application Load Balancer. The value of this field must be in the range [0, 100]. This value can only be set if the loadBalancingScheme in the BackendService is set to EXTERNAL (when using the classic Application Load Balancer) and the migration state is TEST_BY_PERCENTAGE.", +"format": "float", +"type": "number" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a ForwardingRule. Include the fingerprint in patch request to ensure that you do not overwrite changes that were applied from another concurrent request. To see the latest fingerprint, make a get() request to retrieve a ForwardingRule.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"ipCollection": { +"description": "Resource reference of a PublicDelegatedPrefix. The PDP must be a sub-PDP in EXTERNAL_IPV6_FORWARDING_RULE_CREATION mode. Use one of the following formats to specify a sub-PDP when creating an IPv6 NetLB forwarding rule using BYOIP: Full resource URL, as in https://www.googleapis.com/compute/v1/projects/project_id/regions/region /publicDelegatedPrefixes/sub-pdp-name Partial URL, as in: - projects/project_id/regions/region/publicDelegatedPrefixes/sub-pdp-name - regions/region/publicDelegatedPrefixes/sub-pdp-name ", +"type": "string" +}, +"ipVersion": { +"description": "The IP Version that will be used by this forwarding rule. Valid options are IPV4 or IPV6.", +"enum": [ +"IPV4", +"IPV6", +"UNSPECIFIED_VERSION" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"isMirroringCollector": { +"description": "Indicates whether or not this load balancer can be used as a collector for packet mirroring. To prevent mirroring loops, instances behind this load balancer will not have their traffic mirrored even if a PacketMirroring rule applies to them. This can only be set to true for load balancers that have their loadBalancingScheme set to INTERNAL.", +"type": "boolean" +}, +"kind": { +"default": "compute#forwardingRule", +"description": "[Output Only] Type of the resource. Always compute#forwardingRule for forwarding rule resources.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this resource, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a ForwardingRule.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", +"type": "object" +}, +"loadBalancingScheme": { +"description": "Specifies the forwarding rule type. For more information about forwarding rules, refer to Forwarding rule concepts.", +"enum": [ +"EXTERNAL", +"EXTERNAL_MANAGED", +"INTERNAL", +"INTERNAL_MANAGED", +"INTERNAL_SELF_MANAGED", +"INVALID" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"metadataFilters": { +"description": "Opaque filter criteria used by load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to load balancer, xDS clients present node metadata. When there is a match, the relevant configuration is made available to those proxies. Otherwise, all the resources (e.g. TargetHttpProxy, UrlMap) referenced by the ForwardingRule are not visible to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadataFilters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here will be applifed before those specified in the UrlMap that this ForwardingRule references. metadataFilters only applies to Loadbalancers that have their loadBalancingScheme set to INTERNAL_SELF_MANAGED.", +"items": { +"$ref": "MetadataFilter" +}, +"type": "array" +}, +"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. For Private Service Connect forwarding rules that forward traffic to Google APIs, the forwarding rule name must be a 1-20 characters string with lowercase letters and numbers and must start with a letter.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"network": { +"description": "This field is not used for global external load balancing. For internal passthrough Network Load Balancers, this field identifies the network that the load balanced IP should belong to for this forwarding rule. If the subnetwork is specified, the network of the subnetwork will be used. If neither subnetwork nor this field is specified, the default network will be used. For Private Service Connect forwarding rules that forward traffic to Google APIs, a network must be provided.", +"type": "string" +}, +"networkTier": { +"description": "This signifies the networking tier used for configuring this load balancer and can only take the following values: PREMIUM, STANDARD. For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM. If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.", +"enum": [ +"FIXED_STANDARD", +"PREMIUM", +"SELECT", +"STANDARD", +"STANDARD_OVERRIDES_FIXED_STANDARD" +], +"enumDescriptions": [ +"Public internet quality with fixed bandwidth.", +"High quality, Google-grade network tier, support for all networking products.", +"Price competitive network tier, support for all networking products.", +"Public internet quality, only limited support for other networking products.", +"(Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured." +], +"type": "string" +}, +"noAutomateDnsZone": { +"description": "This is used in PSC consumer ForwardingRule to control whether it should try to auto-generate a DNS zone or not. Non-PSC forwarding rules do not use this field. Once set, this field is not mutable.", +"type": "boolean" +}, +"portRange": { +"description": "The ports, portRange, and allPorts fields are mutually exclusive. Only packets addressed to ports in the specified range will be forwarded to the backends configured with this forwarding rule. The portRange field has the following limitations: - It requires that the forwarding rule IPProtocol be TCP, UDP, or SCTP, and - It's applicable only to the following products: external passthrough Network Load Balancers, internal and external proxy Network Load Balancers, internal and external Application Load Balancers, external protocol forwarding, and Classic VPN. - Some products have restrictions on what ports can be used. See port specifications for details. For external forwarding rules, two or more forwarding rules cannot use the same [IPAddress, IPProtocol] pair, and cannot have overlapping portRanges. For internal forwarding rules within the same VPC network, two or more forwarding rules cannot use the same [IPAddress, IPProtocol] pair, and cannot have overlapping portRanges. @pattern: \\\\d+(?:-\\\\d+)?", +"type": "string" +}, +"ports": { +"description": "The ports, portRange, and allPorts fields are mutually exclusive. Only packets addressed to ports in the specified range will be forwarded to the backends configured with this forwarding rule. The ports field has the following limitations: - It requires that the forwarding rule IPProtocol be TCP, UDP, or SCTP, and - It's applicable only to the following products: internal passthrough Network Load Balancers, backend service-based external passthrough Network Load Balancers, and internal protocol forwarding. - You can specify a list of up to five ports by number, separated by commas. The ports can be contiguous or discontiguous. For external forwarding rules, two or more forwarding rules cannot use the same [IPAddress, IPProtocol] pair if they share at least one port number. For internal forwarding rules within the same VPC network, two or more forwarding rules cannot use the same [IPAddress, IPProtocol] pair if they share at least one port number. @pattern: \\\\d+(?:-\\\\d+)?", +"items": { +"type": "string" +}, +"type": "array" +}, +"pscConnectionId": { +"description": "[Output Only] The PSC connection id of the PSC forwarding rule.", +"format": "uint64", +"type": "string" +}, +"pscConnectionStatus": { +"enum": [ +"ACCEPTED", +"CLOSED", +"NEEDS_ATTENTION", +"PENDING", +"REJECTED", +"STATUS_UNSPECIFIED" +], +"enumDescriptions": [ +"The connection has been accepted by the producer.", +"The connection has been closed by the producer and will not serve traffic going forward.", +"The connection has been accepted by the producer, but the producer needs to take further action before the forwarding rule can serve traffic.", +"The connection is pending acceptance by the producer.", +"The connection has been rejected by the producer.", +"" +], +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the regional forwarding rule resides. This field is not applicable to global forwarding rules. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"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" +}, +"serviceDirectoryRegistrations": { +"description": "Service Directory resources to register this forwarding rule with. Currently, only supports a single Service Directory resource.", +"items": { +"$ref": "ForwardingRuleServiceDirectoryRegistration" +}, +"type": "array" +}, +"serviceLabel": { +"description": "An optional prefix to the service name for this forwarding rule. If specified, the prefix is the first label of the fully qualified service name. The label must be 1-63 characters long, and comply with RFC1035. Specifically, the label 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. This field is only used for internal load balancing.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"serviceName": { +"description": "[Output Only] The internal fully qualified service name for this forwarding rule. This field is only used for internal load balancing.", +"type": "string" +}, +"sourceIpRanges": { +"description": "If not empty, this forwarding rule will only forward the traffic when the source IP address matches one of the IP addresses or CIDR ranges set here. Note that a forwarding rule can only have up to 64 source IP ranges, and this field can only be used with a regional forwarding rule whose scheme is EXTERNAL. Each source_ip_range entry should be either an IP address (for example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).", +"items": { +"type": "string" +}, +"type": "array" +}, +"subnetwork": { +"description": "This field identifies the subnetwork that the load balanced IP should belong to for this forwarding rule, used with internal load balancers and external passthrough Network Load Balancers with IPv6. If the network specified is in auto subnet mode, this field is optional. However, a subnetwork must be specified if the network is in custom subnet mode or when creating external forwarding rule with IPv6.", +"type": "string" +}, +"target": { +"description": "The URL of the target resource to receive the matched traffic. For regional forwarding rules, this target must be in the same region as the forwarding rule. For global forwarding rules, this target must be a global load balancing resource. The forwarded traffic must be of a type appropriate to the target object. - For load balancers, see the \"Target\" column in [Port specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications). - For Private Service Connect forwarding rules that forward traffic to Google APIs, provide the name of a supported Google API bundle: - vpc-sc - APIs that support VPC Service Controls. - all-apis - All supported Google APIs. - For Private Service Connect forwarding rules that forward traffic to managed services, the target must be a service attachment. The target is not mutable once set as a service attachment. ", +"type": "string" +} +}, +"type": "object" +}, +"ForwardingRuleAggregatedList": { +"id": "ForwardingRuleAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "ForwardingRulesScopedList", +"description": "Name of the scope containing this set of addresses." +}, +"description": "A list of ForwardingRulesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#forwardingRuleAggregatedList", +"description": "[Output Only] Type of resource. Always compute#forwardingRuleAggregatedList for lists of forwarding rules.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"ForwardingRuleList": { +"description": "Contains a list of ForwardingRule resources.", +"id": "ForwardingRuleList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of ForwardingRule resources.", +"items": { +"$ref": "ForwardingRule" +}, +"type": "array" +}, +"kind": { +"default": "compute#forwardingRuleList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"ForwardingRuleReference": { +"id": "ForwardingRuleReference", +"properties": { +"forwardingRule": { +"type": "string" +} +}, +"type": "object" +}, +"ForwardingRuleServiceDirectoryRegistration": { +"description": "Describes the auto-registration of the forwarding rule to Service Directory. The region and project of the Service Directory resource generated from this registration will be the same as this forwarding rule.", +"id": "ForwardingRuleServiceDirectoryRegistration", +"properties": { +"namespace": { +"description": "Service Directory namespace to register the forwarding rule under.", +"type": "string" +}, +"service": { +"description": "Service Directory service to register the forwarding rule under.", +"type": "string" +}, +"serviceDirectoryRegion": { +"description": "[Optional] Service Directory region to register this global forwarding rule under. Default to \"us-central1\". Only used for PSC for Google APIs. All PSC for Google APIs forwarding rules on the same network should use the same Service Directory region.", +"type": "string" +} +}, +"type": "object" +}, +"ForwardingRulesScopedList": { +"id": "ForwardingRulesScopedList", +"properties": { +"forwardingRules": { +"description": "A list of forwarding rules contained in this scope.", +"items": { +"$ref": "ForwardingRule" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of forwarding rules when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"FutureReservation": { +"id": "FutureReservation", +"properties": { +"aggregateReservation": { +"$ref": "AllocationAggregateReservation", +"description": "Aggregate reservation details for the future reservation." +}, +"autoCreatedReservationsDeleteTime": { +"description": "Future timestamp when the FR auto-created reservations will be deleted by Compute Engine. Format of this field must be a valid href=\"https://www.ietf.org/rfc/rfc3339.txt\">RFC3339 value.", +"type": "string" +}, +"autoCreatedReservationsDuration": { +"$ref": "Duration", +"description": "Specifies the duration of auto-created reservations. It represents relative time to future reservation start_time when auto-created reservations will be automatically deleted by Compute Engine. Duration time unit is represented as a count of seconds and fractions of seconds at nanosecond resolution." +}, +"autoDeleteAutoCreatedReservations": { +"description": "Setting for enabling or disabling automatic deletion for auto-created reservation. If set to true, auto-created reservations will be deleted at Future Reservation's end time (default) or at user's defined timestamp if any of the [auto_created_reservations_delete_time, auto_created_reservations_duration] values is specified. For keeping auto-created reservation indefinitely, this value should be set to false.", +"type": "boolean" +}, +"commitmentInfo": { +"$ref": "FutureReservationCommitmentInfo", +"description": "If not present, then FR will not deliver a new commitment or update an existing commitment." +}, +"creationTimestamp": { +"description": "[Output Only] The creation timestamp for this future reservation in RFC3339 text format.", +"type": "string" +}, +"deploymentType": { +"description": "Type of the deployment requested as part of future reservation.", +"enum": [ +"DENSE", +"DEPLOYMENT_TYPE_UNSPECIFIED", +"FLEXIBLE" +], +"enumDescriptions": [ +"The reserved capacity is made up of densely deployed reservation blocks.", +"", +"The reserved capacity is made up of highly flexible, logical reservation blocks." +], +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the future reservation.", +"type": "string" +}, +"id": { +"description": "[Output Only] A unique identifier for this future reservation. The server defines this identifier.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#futureReservation", +"description": "[Output Only] Type of the resource. Always compute#futureReservation for future reservations.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.instances.insert" +] +}, +"description": "The name of the resource, provided by the client when initially creating the resource. The resource 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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"namePrefix": { +"description": "Name prefix for the reservations to be created at the time of delivery. The name prefix must comply with RFC1035. Maximum allowed length for name prefix is 20. Automatically created reservations name format will be -date-####.", +"type": "string" +}, +"planningStatus": { +"description": "Planning state before being submitted for evaluation", +"enum": [ +"DRAFT", +"PLANNING_STATUS_UNSPECIFIED", +"SUBMITTED" +], +"enumDescriptions": [ +"Future Reservation is being drafted.", +"", +"Future Reservation has been submitted for evaluation by GCP." +], +"type": "string" +}, +"reservationMode": { +"description": "The reservation mode which determines reservation-termination behavior and expected pricing.", +"enum": [ +"CALENDAR", +"DEFAULT", +"RESERVATION_MODE_UNSPECIFIED" +], +"enumDescriptions": [ +"The delivered reservations will delivered at specified start time and terminated at specified end time along with terminating the VMs running on it.", +"The delivered reservations do not terminate VMs at the end of reservations. This is default mode.", +"" +], +"type": "string" +}, +"reservationName": { +"description": "Name of reservations where the capacity is provisioned at the time of delivery of future reservations. If the reservation with the given name does not exist already, it is created automatically at the time of Approval with INACTIVE state till specified start-time. Either provide the reservation_name or a name_prefix.", +"type": "string" +}, +"schedulingType": { +"description": "Maintenance information for this reservation", +"enum": [ +"GROUPED", +"GROUP_MAINTENANCE_TYPE_UNSPECIFIED", +"INDEPENDENT" +], +"enumDescriptions": [ +"Maintenance on all reserved instances in the reservation is synchronized.", +"Unknown maintenance type.", +"Maintenance is not synchronized for this reservation. Instead, each instance has its own maintenance window." +], +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined fully-qualified URL for this resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource with the resource id.", +"type": "string" +}, +"shareSettings": { +"$ref": "ShareSettings", +"description": "List of Projects/Folders to share with." +}, +"specificReservationRequired": { +"description": "Indicates whether the auto-created reservation can be consumed by VMs with affinity for \"any\" reservation. If the field is set, then only VMs that target the reservation by name can consume from the delivered reservation.", +"type": "boolean" +}, +"specificSkuProperties": { +"$ref": "FutureReservationSpecificSKUProperties", +"description": "Future Reservation configuration to indicate instance properties and total count." +}, +"status": { +"$ref": "FutureReservationStatus", +"description": "[Output only] Status of the Future Reservation" +}, +"timeWindow": { +"$ref": "FutureReservationTimeWindow", +"description": "Time window for this Future Reservation." +}, +"zone": { +"description": "[Output Only] URL of the Zone where this future reservation resides.", +"type": "string" +} +}, +"type": "object" +}, +"FutureReservationCommitmentInfo": { +"id": "FutureReservationCommitmentInfo", +"properties": { +"commitmentName": { +"description": "name of the commitment where capacity is being delivered to.", +"type": "string" +}, +"commitmentPlan": { +"description": "Indicates if a Commitment needs to be created as part of FR delivery. If this field is not present, then no commitment needs to be created.", +"enum": [ +"INVALID", +"THIRTY_SIX_MONTH", +"TWELVE_MONTH" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"previousCommitmentTerms": { +"description": "Only applicable if FR is delivering to the same reservation. If set, all parent commitments will be extended to match the end date of the plan for this commitment.", +"enum": [ +"EXTEND", +"PREVIOUSCOMMITMENTTERM_UNSPECIFIED" +], +"enumDescriptions": [ +"All associated parent Committed Used Discount(s) end-date/term will be extended to the end-time of this future reservation. Default is to extend previous commitment(s) time to the end_time of the reservation.", +"No changes to associated parents Committed Used Discount(s) terms." +], +"type": "string" +} +}, +"type": "object" +}, +"FutureReservationSpecificSKUProperties": { +"id": "FutureReservationSpecificSKUProperties", +"properties": { +"instanceProperties": { +"$ref": "AllocationSpecificSKUAllocationReservedInstanceProperties", +"description": "Properties of the SKU instances being reserved." +}, +"sourceInstanceTemplate": { +"description": "The instance template that will be used to populate the ReservedInstanceProperties of the future reservation", +"type": "string" +}, +"totalCount": { +"description": "Total number of instances for which capacity assurance is requested at a future time period.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"FutureReservationStatus": { +"description": "[Output only] Represents status related to the future reservation.", +"id": "FutureReservationStatus", +"properties": { +"amendmentStatus": { +"description": "[Output Only] The current status of the requested amendment.", +"enum": [ +"AMENDMENT_APPROVED", +"AMENDMENT_DECLINED", +"AMENDMENT_IN_REVIEW", +"AMENDMENT_STATUS_UNSPECIFIED" +], +"enumDescriptions": [ +"The requested amendment to the Future Resevation has been approved and applied by GCP.", +"The requested amendment to the Future Reservation has been declined by GCP and the original state was restored.", +"The requested amendment to the Future Reservation is currently being reviewd by GCP.", +"" +], +"type": "string" +}, +"autoCreatedReservations": { +"description": "Fully qualified urls of the automatically created reservations at start_time.", +"items": { +"type": "string" +}, +"type": "array" +}, +"existingMatchingUsageInfo": { +"$ref": "FutureReservationStatusExistingMatchingUsageInfo", +"description": "[Output Only] Represents the existing matching usage for the future reservation." +}, +"fulfilledCount": { +"description": "This count indicates the fulfilled capacity so far. This is set during \"PROVISIONING\" state. This count also includes capacity delivered as part of existing matching reservations.", +"format": "int64", +"type": "string" +}, +"lastKnownGoodState": { +"$ref": "FutureReservationStatusLastKnownGoodState", +"description": "[Output Only] This field represents the future reservation before an amendment was requested. If the amendment is declined, the Future Reservation will be reverted to the last known good state. The last known good state is not set when updating a future reservation whose Procurement Status is DRAFTING." +}, +"lockTime": { +"description": "Time when Future Reservation would become LOCKED, after which no modifications to Future Reservation will be allowed. Applicable only after the Future Reservation is in the APPROVED state. The lock_time is an RFC3339 string. The procurement_status will transition to PROCURING state at this time.", +"type": "string" +}, +"procurementStatus": { +"description": "Current state of this Future Reservation", +"enum": [ +"APPROVED", +"CANCELLED", +"COMMITTED", +"DECLINED", +"DRAFTING", +"FAILED", +"FAILED_PARTIALLY_FULFILLED", +"FULFILLED", +"PENDING_AMENDMENT_APPROVAL", +"PENDING_APPROVAL", +"PROCUREMENT_STATUS_UNSPECIFIED", +"PROCURING", +"PROVISIONING" +], +"enumDescriptions": [ +"Future reservation is approved by GCP.", +"Future reservation is cancelled by the customer.", +"Future reservation is committed by the customer.", +"Future reservation is rejected by GCP.", +"Related status for PlanningStatus.Draft. Transitions to PENDING_APPROVAL upon user submitting FR.", +"Future reservation failed. No additional reservations were provided.", +"Future reservation is partially fulfilled. Additional reservations were provided but did not reach total_count reserved instance slots.", +"Future reservation is fulfilled completely.", +"An Amendment to the Future Reservation has been requested. If the Amendment is declined, the Future Reservation will be restored to the last known good state.", +"Future reservation is pending approval by GCP.", +"", +"Future reservation is being procured by GCP. Beyond this point, Future reservation is locked and no further modifications are allowed.", +"Future reservation capacity is being provisioned. This state will be entered after start_time, while reservations are being created to provide total_count reserved instance slots. This state will not persist past start_time + 24h." +], +"type": "string" +}, +"specificSkuProperties": { +"$ref": "FutureReservationStatusSpecificSKUProperties" +} +}, +"type": "object" +}, +"FutureReservationStatusExistingMatchingUsageInfo": { +"description": "[Output Only] Represents the existing matching usage for the future reservation.", +"id": "FutureReservationStatusExistingMatchingUsageInfo", +"properties": { +"count": { +"description": "Count to represent min(FR total_count, matching_reserved_capacity+matching_unreserved_instances)", +"format": "int64", +"type": "string" +}, +"timestamp": { +"description": "Timestamp when the matching usage was calculated", +"type": "string" +} +}, +"type": "object" +}, +"FutureReservationStatusLastKnownGoodState": { +"description": "The state that the future reservation will be reverted to should the amendment be declined.", +"id": "FutureReservationStatusLastKnownGoodState", +"properties": { +"description": { +"description": "[Output Only] The description of the FutureReservation before an amendment was requested.", +"type": "string" +}, +"existingMatchingUsageInfo": { +"$ref": "FutureReservationStatusExistingMatchingUsageInfo", +"description": "[Output Only] Represents the matching usage for the future reservation before an amendment was requested." +}, +"futureReservationSpecs": { +"$ref": "FutureReservationStatusLastKnownGoodStateFutureReservationSpecs" +}, +"lockTime": { +"description": "[Output Only] The lock time of the FutureReservation before an amendment was requested.", +"type": "string" +}, +"namePrefix": { +"description": "[Output Only] The name prefix of the Future Reservation before an amendment was requested.", +"type": "string" +}, +"procurementStatus": { +"description": "[Output Only] The status of the last known good state for the Future Reservation.", +"enum": [ +"APPROVED", +"CANCELLED", +"COMMITTED", +"DECLINED", +"DRAFTING", +"FAILED", +"FAILED_PARTIALLY_FULFILLED", +"FULFILLED", +"PENDING_AMENDMENT_APPROVAL", +"PENDING_APPROVAL", +"PROCUREMENT_STATUS_UNSPECIFIED", +"PROCURING", +"PROVISIONING" +], +"enumDescriptions": [ +"Future reservation is approved by GCP.", +"Future reservation is cancelled by the customer.", +"Future reservation is committed by the customer.", +"Future reservation is rejected by GCP.", +"Related status for PlanningStatus.Draft. Transitions to PENDING_APPROVAL upon user submitting FR.", +"Future reservation failed. No additional reservations were provided.", +"Future reservation is partially fulfilled. Additional reservations were provided but did not reach total_count reserved instance slots.", +"Future reservation is fulfilled completely.", +"An Amendment to the Future Reservation has been requested. If the Amendment is declined, the Future Reservation will be restored to the last known good state.", +"Future reservation is pending approval by GCP.", +"", +"Future reservation is being procured by GCP. Beyond this point, Future reservation is locked and no further modifications are allowed.", +"Future reservation capacity is being provisioned. This state will be entered after start_time, while reservations are being created to provide total_count reserved instance slots. This state will not persist past start_time + 24h." +], +"type": "string" +} +}, +"type": "object" +}, +"FutureReservationStatusLastKnownGoodStateFutureReservationSpecs": { +"description": "The properties of the last known good state for the Future Reservation.", +"id": "FutureReservationStatusLastKnownGoodStateFutureReservationSpecs", +"properties": { +"shareSettings": { +"$ref": "ShareSettings", +"description": "[Output Only] The previous share settings of the Future Reservation." +}, +"specificSkuProperties": { +"$ref": "FutureReservationSpecificSKUProperties", +"description": "[Output Only] The previous instance related properties of the Future Reservation." +}, +"timeWindow": { +"$ref": "FutureReservationTimeWindow", +"description": "[Output Only] The previous time window of the Future Reservation." +} +}, +"type": "object" +}, +"FutureReservationStatusSpecificSKUProperties": { +"description": "Properties to be set for the Future Reservation.", +"id": "FutureReservationStatusSpecificSKUProperties", +"properties": { +"sourceInstanceTemplateId": { +"description": "ID of the instance template used to populate the Future Reservation properties.", +"type": "string" +} +}, +"type": "object" +}, +"FutureReservationTimeWindow": { +"id": "FutureReservationTimeWindow", +"properties": { +"duration": { +"$ref": "Duration" +}, +"endTime": { +"type": "string" +}, +"startTime": { +"description": "Start time of the Future Reservation. The start_time is an RFC3339 string.", +"type": "string" +} +}, +"type": "object" +}, +"FutureReservationsAggregatedListResponse": { +"description": "Contains a list of future reservations.", +"id": "FutureReservationsAggregatedListResponse", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "FutureReservationsScopedList", +"description": "Name of the scope containing this set of future reservations." +}, +"description": "A list of Future reservation resources.", +"type": "object" +}, +"kind": { +"default": "compute#futureReservationsAggregatedListResponse", +"description": "[Output Only] Type of resource. Always compute#futureReservationsAggregatedListResponse for future resevation aggregated list response.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"FutureReservationsListResponse": { +"id": "FutureReservationsListResponse", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"type": "string" +}, +"items": { +"description": "[Output Only] A list of future reservation resources.", +"items": { +"$ref": "FutureReservation" +}, +"type": "array" +}, +"kind": { +"default": "compute#futureReservationsListResponse", +"description": "[Output Only] Type of resource.Always compute#FutureReservationsListResponse for lists of reservations", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"FutureReservationsScopedList": { +"id": "FutureReservationsScopedList", +"properties": { +"futureReservations": { +"description": "A list of future reservations contained in this scope.", +"items": { +"$ref": "FutureReservation" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of future reservations when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"FutureResourcesRecommendation": { +"description": "Recommendation for single resources specification, to be created in the future.", +"id": "FutureResourcesRecommendation", +"properties": { +"endTime": { +"format": "google-datetime", +"type": "string" +}, +"location": { +"description": "The advised location for resource usage. When a zone, in format 'zones/'. If not set, it means that no location is recommended - see other_locations for details.", +"type": "string" +}, +"otherLocations": { +"additionalProperties": { +"$ref": "FutureResourcesRecommendationOtherLocation" +}, +"description": "List of locations in the request scope that were not recommended. Keys of the map are zones, in format 'zones/'. The values are status information indicating the recommendation status.", +"type": "object" +}, +"recommendationId": { +"description": "Unique id of the recommendation, a UUID string generated by the API.", +"type": "string" +}, +"recommendationType": { +"description": "Type of recommendation. Currently only FUTURE_RESERVATION is supported.", +"enum": [ +"FUTURE_RESERVATION", +"RECOMMENDATION_TYPE_UNSPECIFIED" +], +"enumDescriptions": [ +"A Future Reservation is recommended.", +"Default value, unused." +], +"type": "string" +}, +"startTime": { +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"FutureResourcesRecommendationOtherLocation": { +"description": "Information about recommendation status for locations that were allowed but not used by the response.", +"id": "FutureResourcesRecommendationOtherLocation", +"properties": { +"details": { +"description": "Details (human readable) describing the situation. For example, if status is CONDITION_NOT_MET, then details contain information about the parameters of the time window that did not meet the required conditions.", +"type": "string" +}, +"status": { +"description": "Status of recommendation in this location.", +"enum": [ +"CONDITIONS_NOT_MET", +"NOT_SUPPORTED", +"NO_CAPACITY", +"OTHER_LOCATION_STATUS_UNDEFINED", +"RECOMMENDED" +], +"enumDescriptions": [ +"The requested resources are offered in this location but the requested time window is does not meet the required conditions.", +"The requested resources are not offered in this location. Retrying the request will not change this status.", +"The requested resources are offered in this location and the requested time window is accepted but there is no capacity within the requested time window.", +"Default value, unused.", +"The requested resources are offered in this location and it is possible to request them. However, another location was better and was recommended." +], +"type": "string" +} +}, +"type": "object" +}, +"FutureResourcesSpec": { +"description": "Specification of resources to be created at some time in the future within an optionally specified set of locations, and within the specified time range.", +"id": "FutureResourcesSpec", +"properties": { +"deploymentType": { +"description": "Indicates if the reservation allocation strategy is static (DENSE) or dynamic (STANDARD). Defaults to DENSE.", +"enum": [ +"DENSE", +"DEPLOYMENT_TYPE_UNSPECIFIED", +"FLEXIBLE" +], +"enumDescriptions": [ +"The reserved capacity is made up of densely deployed reservation blocks.", +"", +"The reserved capacity is made up of highly flexible, logical reservation blocks." +], +"type": "string" +}, +"locationPolicy": { +"$ref": "FutureResourcesSpecLocationPolicy", +"description": "Optional location policy allowing to exclude some zone(s) in which the resources must not be created." +}, +"targetResources": { +"$ref": "FutureResourcesSpecTargetResources", +"description": "Specification of the reserved resources." +}, +"timeRangeSpec": { +"$ref": "FlexibleTimeRange", +"description": "Specification of a time range in which the resources may be created. The time range specifies start of resource use and planned end of resource use." +} +}, +"type": "object" +}, +"FutureResourcesSpecAggregateResources": { +"id": "FutureResourcesSpecAggregateResources", +"properties": { +"acceleratorCount": { +"description": "Size of the request, in accelerator (chip) count.", +"format": "int64", +"type": "string" +}, +"vmFamily": { +"description": "The VM family that all instances scheduled against this reservation must belong to. Use for TPU reservations.", +"enum": [ +"VM_FAMILY_CLOUD_TPU_DEVICE_CT3", +"VM_FAMILY_CLOUD_TPU_LITE_DEVICE_CT5L", +"VM_FAMILY_CLOUD_TPU_LITE_POD_SLICE_CT5LP", +"VM_FAMILY_CLOUD_TPU_POD_SLICE_CT3P", +"VM_FAMILY_CLOUD_TPU_POD_SLICE_CT4P" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"workloadType": { +"description": "Workload type. Use for TPU reservations.", +"enum": [ +"BATCH", +"SERVING", +"UNSPECIFIED" +], +"enumDescriptions": [ +"Reserved resources will be optimized for BATCH workloads, such as ML training.", +"Reserved resources will be optimized for SERVING workloads, such as ML inference.", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"FutureResourcesSpecLocalSsdPartition": { +"id": "FutureResourcesSpecLocalSsdPartition", +"properties": { +"diskInterface": { +"description": "Disk interface. Defaults to SCSI.", +"enum": [ +"NVDIMM", +"NVME", +"SCSI" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"diskSizeGb": { +"description": "The size of the disk in GB.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"FutureResourcesSpecLocationPolicy": { +"description": "Specification of locations to create resources in.", +"id": "FutureResourcesSpecLocationPolicy", +"properties": { +"locations": { +"additionalProperties": { +"$ref": "FutureResourcesSpecLocationPolicyLocation" +}, +"description": "Preferences for specified locations. Keys of the map are locations - zones, in format of 'zones/'. Values are preferences for the zones. If a zone is not specified in this map, it is ALLOWed.", +"type": "object" +} +}, +"type": "object" +}, +"FutureResourcesSpecLocationPolicyLocation": { +"description": "Preference for a single specified location.", +"id": "FutureResourcesSpecLocationPolicyLocation", +"properties": { +"preference": { +"description": "Preference for this location.", +"enum": [ +"ALLOW", +"DENY", +"PREFERENCE_UNSPECIFIED" +], +"enumDescriptions": [ +"Location is allowed for use.", +"Location is prohibited.", +"Default value, unused." +], +"type": "string" +} +}, +"type": "object" +}, +"FutureResourcesSpecSpecificSKUResources": { +"id": "FutureResourcesSpecSpecificSKUResources", +"properties": { +"instanceCount": { +"description": "Size of the request, in instance count.", +"format": "int64", +"type": "string" +}, +"localSsdPartitions": { +"description": "Local SSD partitions. You do not have to include SSD partitions that are built in the machine type.", +"items": { +"$ref": "FutureResourcesSpecLocalSsdPartition" +}, +"type": "array" +}, +"machineType": { +"description": "The machine type to use for instances that will use the reservation. This field only accepts machine type names. e.g. n2-standard-4 and does not accept machine type full or partial url. e.g. projects/my-l7ilb-project/zones/us-central1-a/machineTypes/n2-standard-4. Use for GPU reservations.", +"type": "string" +} +}, +"type": "object" +}, +"FutureResourcesSpecTargetResources": { +"description": "Specification of reserved resources.", +"id": "FutureResourcesSpecTargetResources", +"properties": { +"aggregateResources": { +"$ref": "FutureResourcesSpecAggregateResources" +}, +"specificSkuResources": { +"$ref": "FutureResourcesSpecSpecificSKUResources" +} +}, +"type": "object" +}, +"GRPCHealthCheck": { +"id": "GRPCHealthCheck", +"properties": { +"grpcServiceName": { +"description": "The gRPC service name for the health check. This field is optional. The value of grpc_service_name has the following meanings by convention: - Empty service_name means the overall status of all services at the backend. - Non-empty service_name means the health of that gRPC service, as defined by the owner of the service. The grpc_service_name can only be ASCII.", +"type": "string" +}, +"port": { +"description": "The TCP port number to which the health check prober sends packets. Valid values are 1 through 65535.", +"format": "int32", +"type": "integer" +}, +"portName": { +"description": "Not supported.", +"type": "string" +}, +"portSpecification": { +"description": "Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports.", +"enum": [ +"USE_FIXED_PORT", +"USE_NAMED_PORT", +"USE_SERVING_PORT" +], +"enumDescriptions": [ +"The port number in the health check's port is used for health checking. Applies to network endpoint group and instance group backends.", +"Not supported.", +"For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service's named port defined in the instance group's named ports." +], +"type": "string" +} +}, +"type": "object" +}, +"GRPCTLSHealthCheck": { +"id": "GRPCTLSHealthCheck", +"properties": { +"grpcServiceName": { +"description": "The gRPC service name for the health check. This field is optional. The value of grpc_service_name has the following meanings by convention: - Empty service_name means the overall status of all services at the backend. - Non-empty service_name means the health of that gRPC service, as defined by the owner of the service. The grpc_service_name can only be ASCII.", +"type": "string" +}, +"port": { +"description": "The TCP port number to which the health check prober sends packets. Valid values are 1 through 65535.", +"format": "int32", +"type": "integer" +}, +"portSpecification": { +"description": "Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports.", +"enum": [ +"USE_FIXED_PORT", +"USE_NAMED_PORT", +"USE_SERVING_PORT" +], +"enumDescriptions": [ +"The port number in the health check's port is used for health checking. Applies to network endpoint group and instance group backends.", +"Not supported.", +"For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service's named port defined in the instance group's named ports." +], +"type": "string" +} +}, +"type": "object" +}, +"GetAsyncReplicationStatusResponse": { +"id": "GetAsyncReplicationStatusResponse", +"properties": { +"asyncReplicationStatus": { +"$ref": "AsyncReplicationStatus" +}, +"etag": { +"description": "end_interface: MixerGetResponseWithEtagBuilder", +"type": "string" +} +}, +"type": "object" +}, +"GetOwnerInstanceResponse": { +"id": "GetOwnerInstanceResponse", +"properties": { +"instance": { +"description": "Full instance resource URL.", +"type": "string" +} +}, +"type": "object" +}, +"GlobalAddressesMoveRequest": { +"id": "GlobalAddressesMoveRequest", +"properties": { +"description": { +"description": "An optional destination address description if intended to be different from the source.", +"type": "string" +}, +"destinationAddress": { +"description": "The URL of the destination address to move to. This can be a full or partial URL. For example, the following are all valid URLs to a address: - https://www.googleapis.com/compute/v1/projects/project /global/addresses/address - projects/project/global/addresses/address Note that destination project must be different from the source project. So /global/addresses/address is not valid partial url.", +"type": "string" +} +}, +"type": "object" +}, +"GlobalNetworkEndpointGroupsAttachEndpointsRequest": { +"id": "GlobalNetworkEndpointGroupsAttachEndpointsRequest", +"properties": { +"networkEndpoints": { +"description": "The list of network endpoints to be attached.", +"items": { +"$ref": "NetworkEndpoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"GlobalNetworkEndpointGroupsDetachEndpointsRequest": { +"id": "GlobalNetworkEndpointGroupsDetachEndpointsRequest", +"properties": { +"networkEndpoints": { +"description": "The list of network endpoints to be detached.", +"items": { +"$ref": "NetworkEndpoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"GlobalOrganizationSetPolicyRequest": { +"id": "GlobalOrganizationSetPolicyRequest", +"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." +} +}, +"type": "object" +}, +"GlobalSetLabelsRequest": { +"id": "GlobalSetLabelsRequest", +"properties": { +"labelFingerprint": { +"description": "The fingerprint of the previous set of labels for this resource, used to detect conflicts. The fingerprint is initially generated by Compute 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, otherwise the request will fail with error 412 conditionNotMet. Make a get() request to the resource to get the latest fingerprint.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "A list of labels to apply for this resource. Each label must comply with the requirements for labels. For example, \"webserver-frontend\": \"images\". A label value can also be empty (e.g. \"my-label\": \"\").", +"type": "object" +} +}, +"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." +} +}, +"type": "object" +}, +"GroupMaintenanceInfo": { +"description": "Maintenance Info for ReservationBlocks.", +"id": "GroupMaintenanceInfo", +"properties": { +"maintenanceOngoingCount": { +"description": "Progress for ongoing maintenance for this group of VMs/hosts. Describes number of hosts in the block that have ongoing maintenance.", +"format": "int32", +"type": "integer" +}, +"maintenancePendingCount": { +"description": "Progress for ongoing maintenance for this group of VMs/hosts. Describes number of hosts in the block that have pending maintenance.", +"format": "int32", +"type": "integer" +}, +"schedulingType": { +"description": "The type of maintenance for the reservation.", +"enum": [ +"GROUPED", +"GROUP_MAINTENANCE_TYPE_UNSPECIFIED", +"INDEPENDENT" +], +"enumDescriptions": [ +"Maintenance on all reserved instances in the reservation is synchronized.", +"Unknown maintenance type.", +"Maintenance is not synchronized for this reservation. Instead, each instance has its own maintenance window." +], +"type": "string" +}, +"upcomingGroupMaintenance": { +"$ref": "UpcomingMaintenance", +"description": "Maintenance information on this group of VMs." +} +}, +"type": "object" +}, +"GrpcServiceConfig": { +"description": "[Deprecated] gRPC config to access the SDS server. gRPC config to access the SDS server.", +"id": "GrpcServiceConfig", +"properties": { +"callCredentials": { +"$ref": "CallCredentials", +"description": "The call credentials to access the SDS server." +}, +"channelCredentials": { +"$ref": "ChannelCredentials", +"description": "The channel credentials to access the SDS server." +}, +"targetUri": { +"description": "The target URI of the SDS server.", +"type": "string" +} +}, +"type": "object" +}, +"GuestAttributes": { +"description": "A guest attributes entry.", +"id": "GuestAttributes", +"properties": { +"kind": { +"default": "compute#guestAttributes", +"description": "[Output Only] Type of the resource. Always compute#guestAttributes for guest attributes entry.", +"type": "string" +}, +"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": "[Output Only] The value of the requested queried path." +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"variableKey": { +"description": "The key to search for.", +"type": "string" +}, +"variableValue": { +"description": "[Output Only] The value found for the requested key.", +"type": "string" +} +}, +"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": { +"items": { +"$ref": "GuestAttributesEntry" +}, +"type": "array" +} +}, +"type": "object" +}, +"GuestOsFeature": { +"description": "Guest OS features.", +"id": "GuestOsFeature", +"properties": { +"type": { +"description": "The ID of a supported feature. To add multiple values, use commas to separate values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE - WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE_V2 - SEV_SNP_CAPABLE - TDX_CAPABLE - IDPF For more information, see Enabling guest operating system features.", +"enum": [ +"BARE_METAL_LINUX_COMPATIBLE", +"FEATURE_TYPE_UNSPECIFIED", +"GVNIC", +"IDPF", +"MULTI_IP_SUBNET", +"SECURE_BOOT", +"SEV_CAPABLE", +"SEV_LIVE_MIGRATABLE", +"SEV_LIVE_MIGRATABLE_V2", +"SEV_SNP_CAPABLE", +"TDX_CAPABLE", +"UEFI_COMPATIBLE", +"VIRTIO_SCSI_MULTIQUEUE", +"WINDOWS" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"HTTP2HealthCheck": { +"id": "HTTP2HealthCheck", +"properties": { +"host": { +"description": "The value of the host header in the HTTP/2 health check request. If left empty (default value), the host header is set to the destination IP address to which health check packets are sent. The destination IP address depends on the type of load balancer. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#hc-packet-dest", +"type": "string" +}, +"port": { +"description": "The TCP port number to which the health check prober sends packets. The default value is 443. Valid values are 1 through 65535.", +"format": "int32", +"type": "integer" +}, +"portName": { +"description": "Not supported.", +"type": "string" +}, +"portSpecification": { +"description": "Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports.", +"enum": [ +"USE_FIXED_PORT", +"USE_NAMED_PORT", +"USE_SERVING_PORT" +], +"enumDescriptions": [ +"The port number in the health check's port is used for health checking. Applies to network endpoint group and instance group backends.", +"Not supported.", +"For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service's named port defined in the instance group's named ports." +], +"type": "string" +}, +"proxyHeader": { +"description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.", +"enum": [ +"NONE", +"PROXY_V1" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"requestPath": { +"description": "The request path of the HTTP/2 health check request. The default value is /. Must comply with RFC3986.", +"type": "string" +}, +"response": { +"description": "Creates a content-based HTTP/2 health check. In addition to the required HTTP 200 (OK) status code, you can configure the health check to pass only when the backend sends this specific ASCII response string within the first 1024 bytes of the HTTP response body. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-http", +"type": "string" +}, +"weightReportMode": { +"description": "Weight report mode. used for weighted Load Balancing.", +"enum": [ +"DISABLE", +"DRY_RUN", +"ENABLE" +], +"enumDescriptions": [ +"Health Checker will not parse the header field.", +"Health Checker will parse and report the weight in the header field, but load balancing will not be based on the weights and will use equal weights.", +"Health Checker will try to parse and report the weight in the header field, and load balancing will be based on the weights as long as all backends have a valid weight or only a subset of backends has the UNAVAILABLE_WEIGHT WeightError. The latter case is to continue the weighted load balancing while some backends are in TIMEOUT or UNKNOWN health status." +], +"type": "string" +} +}, +"type": "object" +}, +"HTTPHealthCheck": { +"id": "HTTPHealthCheck", +"properties": { +"host": { +"description": "The value of the host header in the HTTP health check request. If left empty (default value), the host header is set to the destination IP address to which health check packets are sent. The destination IP address depends on the type of load balancer. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#hc-packet-dest", +"type": "string" +}, +"port": { +"description": "The TCP port number to which the health check prober sends packets. The default value is 80. Valid values are 1 through 65535.", +"format": "int32", +"type": "integer" +}, +"portName": { +"description": "Not supported.", +"type": "string" +}, +"portSpecification": { +"description": "Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Also supported in legacy HTTP health checks for target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for pass-through load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports.", +"enum": [ +"USE_FIXED_PORT", +"USE_NAMED_PORT", +"USE_SERVING_PORT" +], +"enumDescriptions": [ +"The port number in the health check's port is used for health checking. Applies to network endpoint group and instance group backends.", +"Not supported.", +"For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service's named port defined in the instance group's named ports." +], +"type": "string" +}, +"proxyHeader": { +"description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.", +"enum": [ +"NONE", +"PROXY_V1" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"requestPath": { +"description": "The request path of the HTTP health check request. The default value is /. Must comply with RFC3986.", +"type": "string" +}, +"response": { +"description": "Creates a content-based HTTP health check. In addition to the required HTTP 200 (OK) status code, you can configure the health check to pass only when the backend sends this specific ASCII response string within the first 1024 bytes of the HTTP response body. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-http", +"type": "string" +}, +"weightReportMode": { +"description": "Weight report mode. used for weighted Load Balancing.", +"enum": [ +"DISABLE", +"DRY_RUN", +"ENABLE" +], +"enumDescriptions": [ +"Health Checker will not parse the header field.", +"Health Checker will parse and report the weight in the header field, but load balancing will not be based on the weights and will use equal weights.", +"Health Checker will try to parse and report the weight in the header field, and load balancing will be based on the weights as long as all backends have a valid weight or only a subset of backends has the UNAVAILABLE_WEIGHT WeightError. The latter case is to continue the weighted load balancing while some backends are in TIMEOUT or UNKNOWN health status." +], +"type": "string" +} +}, +"type": "object" +}, +"HTTPSHealthCheck": { +"id": "HTTPSHealthCheck", +"properties": { +"host": { +"description": "The value of the host header in the HTTPS health check request. If left empty (default value), the host header is set to the destination IP address to which health check packets are sent. The destination IP address depends on the type of load balancer. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#hc-packet-dest", +"type": "string" +}, +"port": { +"description": "The TCP port number to which the health check prober sends packets. The default value is 443. Valid values are 1 through 65535.", +"format": "int32", +"type": "integer" +}, +"portName": { +"description": "Not supported.", +"type": "string" +}, +"portSpecification": { +"description": "Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports.", +"enum": [ +"USE_FIXED_PORT", +"USE_NAMED_PORT", +"USE_SERVING_PORT" +], +"enumDescriptions": [ +"The port number in the health check's port is used for health checking. Applies to network endpoint group and instance group backends.", +"Not supported.", +"For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service's named port defined in the instance group's named ports." +], +"type": "string" +}, +"proxyHeader": { +"description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.", +"enum": [ +"NONE", +"PROXY_V1" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"requestPath": { +"description": "The request path of the HTTPS health check request. The default value is /. Must comply with RFC3986.", +"type": "string" +}, +"response": { +"description": "Creates a content-based HTTPS health check. In addition to the required HTTP 200 (OK) status code, you can configure the health check to pass only when the backend sends this specific ASCII response string within the first 1024 bytes of the HTTP response body. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-http", +"type": "string" +}, +"weightReportMode": { +"description": "Weight report mode. used for weighted Load Balancing.", +"enum": [ +"DISABLE", +"DRY_RUN", +"ENABLE" +], +"enumDescriptions": [ +"Health Checker will not parse the header field.", +"Health Checker will parse and report the weight in the header field, but load balancing will not be based on the weights and will use equal weights.", +"Health Checker will try to parse and report the weight in the header field, and load balancing will be based on the weights as long as all backends have a valid weight or only a subset of backends has the UNAVAILABLE_WEIGHT WeightError. The latter case is to continue the weighted load balancing while some backends are in TIMEOUT or UNKNOWN health status." +], +"type": "string" +} +}, +"type": "object" +}, +"HealthCheck": { +"description": "Represents a health check resource. Google Compute Engine has two health check resources: * [Regional](/compute/docs/reference/rest/alpha/regionHealthChecks) * [Global](/compute/docs/reference/rest/alpha/healthChecks) These health check resources can be used for load balancing and for autohealing VMs in a managed instance group (MIG). **Load balancing** Health check requirements vary depending on the type of load balancer. For details about the type of health check supported for each load balancer and corresponding backend type, see Health checks overview: Load balancer guide. **Autohealing in MIGs** The health checks that you use for autohealing VMs in a MIG can be either regional or global. For more information, see Set up an application health check and autohealing. For more information, see Health checks overview.", +"id": "HealthCheck", +"properties": { +"checkIntervalSec": { +"description": "How often (in seconds) to send a health check. The default value is 5 seconds.", +"format": "int32", +"type": "integer" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in 3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"grpcHealthCheck": { +"$ref": "GRPCHealthCheck" +}, +"grpcTlsHealthCheck": { +"$ref": "GRPCTLSHealthCheck" +}, +"healthyThreshold": { +"description": "A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.", +"format": "int32", +"type": "integer" +}, +"http2HealthCheck": { +"$ref": "HTTP2HealthCheck" +}, +"httpHealthCheck": { +"$ref": "HTTPHealthCheck" +}, +"httpsHealthCheck": { +"$ref": "HTTPSHealthCheck" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#healthCheck", +"description": "Type of the resource.", +"type": "string" +}, +"logConfig": { +"$ref": "HealthCheckLogConfig", +"description": "Configure logging on this health check." +}, +"name": { +"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. For example, a name that is 1-63 characters long, matches the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`, and otherwise complies with RFC1035. This regular expression describes a name where the first character is a lowercase letter, and all following characters are a dash, lowercase letter, or digit, except the last character, which isn't a dash.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"region": { +"description": "[Output Only] Region where the health check resides. Not applicable to global health checks.", +"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" +}, +"sourceRegions": { +"description": "The list of cloud regions from which health checks are performed. If any regions are specified, then exactly 3 regions should be specified. The region names must be valid names of Google Cloud regions. This can only be set for global health check. If this list is non-empty, then there are restrictions on what other health check fields are supported and what other resources can use this health check: - SSL, HTTP2, and GRPC protocols are not supported. - The TCP request field is not supported. - The proxyHeader field for HTTP, HTTPS, and TCP is not supported. - The checkIntervalSec field must be at least 30. - The health check cannot be used with BackendService nor with managed instance group auto-healing. ", +"items": { +"type": "string" +}, +"type": "array" +}, +"sslHealthCheck": { +"$ref": "SSLHealthCheck" +}, +"tcpHealthCheck": { +"$ref": "TCPHealthCheck" +}, +"timeoutSec": { +"description": "How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have greater value than checkIntervalSec.", +"format": "int32", +"type": "integer" +}, +"type": { +"description": "Specifies the type of the healthCheck, either TCP, SSL, HTTP, HTTPS, HTTP2 or GRPC. Exactly one of the protocol-specific health check fields must be specified, which must match type field.", +"enum": [ +"GRPC", +"GRPC_WITH_TLS", +"HTTP", +"HTTP2", +"HTTPS", +"INVALID", +"SSL", +"TCP", +"UDP" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"udpHealthCheck": { +"$ref": "UDPHealthCheck" +}, +"unhealthyThreshold": { +"description": "A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"HealthCheckList": { +"description": "Contains a list of HealthCheck resources.", +"id": "HealthCheckList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of HealthCheck resources.", +"items": { +"$ref": "HealthCheck" +}, +"type": "array" +}, +"kind": { +"default": "compute#healthCheckList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"HealthCheckLogConfig": { +"description": "Configuration of logging on a health check. If logging is enabled, logs will be exported to Stackdriver.", +"id": "HealthCheckLogConfig", +"properties": { +"enable": { +"description": "Indicates whether or not to export logs. This is false by default, which means no health check logging will be done.", +"type": "boolean" +} +}, +"type": "object" +}, +"HealthCheckReference": { +"description": "A full or valid partial URL to a health check. For example, the following are valid URLs: - https://www.googleapis.com/compute/beta/projects/project-id/global/httpHealthChecks/health-check - projects/project-id/global/httpHealthChecks/health-check - global/httpHealthChecks/health-check ", +"id": "HealthCheckReference", +"properties": { +"healthCheck": { +"type": "string" +} +}, +"type": "object" +}, +"HealthCheckService": { +"description": "Represents a Health-Check as a Service resource.", +"id": "HealthCheckService", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a HealthCheckService. An up-to-date fingerprint must be provided in order to patch/update the HealthCheckService; Otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the HealthCheckService.", +"format": "byte", +"type": "string" +}, +"healthChecks": { +"description": "A list of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10 for regional HealthCheckService, and not more than 1 for global HealthCheckService. HealthCheck resources must have portSpecification=USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks must belong to the same region as zones of NetworkEndpointGroups. For global HealthCheckService using global INTERNET_IP_PORT NetworkEndpointGroups, the global HealthChecks must specify sourceRegions, and HealthChecks that specify sourceRegions can only be used with global INTERNET_IP_PORT NetworkEndpointGroups.", +"items": { +"type": "string" +}, +"type": "array" +}, +"healthStatusAggregationPolicy": { +"description": "Optional. Policy for how the results from multiple health checks for the same endpoint are aggregated. Defaults to NO_AGGREGATION if unspecified. - NO_AGGREGATION. An EndpointHealth message is returned for each pair in the health check service. - AND. If any health check of an endpoint reports UNHEALTHY, then UNHEALTHY is the HealthState of the endpoint. If all health checks report HEALTHY, the HealthState of the endpoint is HEALTHY. . This is only allowed with regional HealthCheckService.", +"enum": [ +"AND", +"NO_AGGREGATION" +], +"enumDescriptions": [ +"If any backend's health check reports UNHEALTHY, then UNHEALTHY is the HealthState of the entire health check service. If all backend's are healthy, the HealthState of the health check service is HEALTHY.", +"An EndpointHealth message is returned for each backend in the health check service." +], +"type": "string" +}, +"healthStatusAggregationStrategy": { +"deprecated": true, +"description": "This field is deprecated. Use health_status_aggregation_policy instead. Policy for how the results from multiple health checks for the same endpoint are aggregated. - NO_AGGREGATION. An EndpointHealth message is returned for each backend in the health check service. - AND. If any backend's health check reports UNHEALTHY, then UNHEALTHY is the HealthState of the entire health check service. If all backend's are healthy, the HealthState of the health check service is HEALTHY. .", +"enum": [ +"AND", +"NO_AGGREGATION" +], +"enumDescriptions": [ +"This is deprecated. Use health_status_aggregation_policy instead. If any backend's health check reports UNHEALTHY, then UNHEALTHY is the HealthState of the entire health check service. If all backend's are healthy, the HealthState of the health check service is HEALTHY.", +"This is deprecated. Use health_status_aggregation_policy instead. An EndpointHealth message is returned for each backend in the health check service." +], +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#healthCheckService", +"description": "[Output only] Type of the resource. Always compute#healthCheckServicefor health check services.", +"type": "string" +}, +"name": { +"description": "Name of the resource. 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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"networkEndpointGroups": { +"description": "A list of URLs to the NetworkEndpointGroup resources. Must not have more than 100. For regional HealthCheckService, NEGs must be in zones in the region of the HealthCheckService. For global HealthCheckServices, the NetworkEndpointGroups must be global INTERNET_IP_PORT.", +"items": { +"type": "string" +}, +"type": "array" +}, +"notificationEndpoints": { +"description": "A list of URLs to the NotificationEndpoint resources. Must not have more than 10. A list of endpoints for receiving notifications of change in health status. For regional HealthCheckService, NotificationEndpoint must be regional and in the same region. For global HealthCheckService, NotificationEndpoint must be global.", +"items": { +"type": "string" +}, +"type": "array" +}, +"region": { +"description": "[Output Only] URL of the region where the health check service resides. This field is not applicable to global health check services. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL with id for the resource.", +"type": "string" +} +}, +"type": "object" +}, +"HealthCheckServiceAggregatedList": { +"description": "Contains a list of HealthCheckServicesScopedList.", +"id": "HealthCheckServiceAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "HealthCheckServicesScopedList", +"description": "Name of the scope containing this set of HealthCheckServices." +}, +"description": "A list of HealthCheckServicesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#healthCheckServiceAggregatedList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"HealthCheckServiceReference": { +"description": "A full or valid partial URL to a health check service. For example, the following are valid URLs: - https://www.googleapis.com/compute/beta/projects/project-id/regions/us-west1/healthCheckServices/health-check-service - projects/project-id/regions/us-west1/healthCheckServices/health-check-service - regions/us-west1/healthCheckServices/health-check-service ", +"id": "HealthCheckServiceReference", +"properties": { +"healthCheckService": { +"type": "string" +} +}, +"type": "object" +}, +"HealthCheckServicesList": { +"id": "HealthCheckServicesList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of HealthCheckService resources.", +"items": { +"$ref": "HealthCheckService" +}, +"type": "array" +}, +"kind": { +"default": "compute#healthCheckServicesList", +"description": "[Output Only] Type of the resource. Always compute#healthCheckServicesList for lists of HealthCheckServices.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"HealthCheckServicesScopedList": { +"id": "HealthCheckServicesScopedList", +"properties": { +"resources": { +"description": "A list of HealthCheckServices contained in this scope.", +"items": { +"$ref": "HealthCheckService" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of backend services when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"HealthChecksAggregatedList": { +"id": "HealthChecksAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "HealthChecksScopedList", +"description": "Name of the scope containing this set of HealthChecks." +}, +"description": "A list of HealthChecksScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#healthChecksAggregatedList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"HealthChecksScopedList": { +"id": "HealthChecksScopedList", +"properties": { +"healthChecks": { +"description": "A list of HealthChecks contained in this scope.", +"items": { +"$ref": "HealthCheck" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of backend services when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"HealthStatus": { +"id": "HealthStatus", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Metadata defined as annotations for network endpoint.", +"type": "object" +}, +"forwardingRule": { +"description": "URL of the forwarding rule associated with the health status of the instance.", +"type": "string" +}, +"forwardingRuleIp": { +"description": "A forwarding rule IP address assigned to this instance.", +"type": "string" +}, +"healthState": { +"description": "Health state of the IPv4 address of the instance.", +"enum": [ +"HEALTHY", +"UNHEALTHY" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"instance": { +"description": "URL of the instance resource.", +"type": "string" +}, +"ipAddress": { +"description": "For target pool based Network Load Balancing, it indicates the forwarding rule's IP address assigned to this instance. For other types of load balancing, the field indicates VM internal ip.", +"type": "string" +}, +"ipv6Address": { +"type": "string" +}, +"ipv6HealthState": { +"description": "Health state of the IPv6 address of the instance.", +"enum": [ +"HEALTHY", +"UNHEALTHY" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"port": { +"description": "The named port of the instance group, not necessarily the port that is health-checked.", +"format": "int32", +"type": "integer" +}, +"weight": { +"type": "string" +}, +"weightError": { +"enum": [ +"INVALID_WEIGHT", +"MISSING_WEIGHT", +"UNAVAILABLE_WEIGHT", +"WEIGHT_NONE" +], +"enumDescriptions": [ +"The response to a Health Check probe had the HTTP response header field X-Load-Balancing-Endpoint-Weight, but its content was invalid (i.e., not a non-negative single-precision floating-point number in decimal string representation).", +"The response to a Health Check probe did not have the HTTP response header field X-Load-Balancing-Endpoint-Weight.", +"This is the value when the accompanied health status is either TIMEOUT (i.e.,the Health Check probe was not able to get a response in time) or UNKNOWN. For the latter, it should be typically because there has not been sufficient time to parse and report the weight for a new backend (which is with 0.0.0.0 ip address). However, it can be also due to an outage case for which the health status is explicitly reset to UNKNOWN.", +"This is the default value when WeightReportMode is DISABLE, and is also the initial value when WeightReportMode has just updated to ENABLE or DRY_RUN and there has not been sufficient time to parse and report the backend weight." +], +"type": "string" +} +}, +"type": "object" +}, +"HealthStatusForNetworkEndpoint": { +"id": "HealthStatusForNetworkEndpoint", +"properties": { +"backendService": { +"$ref": "BackendServiceReference", +"description": "URL of the backend service associated with the health state of the network endpoint." +}, +"forwardingRule": { +"$ref": "ForwardingRuleReference", +"description": "URL of the forwarding rule associated with the health state of the network endpoint." +}, +"healthCheck": { +"$ref": "HealthCheckReference", +"description": "URL of the health check associated with the health state of the network endpoint." +}, +"healthCheckService": { +"$ref": "HealthCheckServiceReference", +"description": "URL of the health check service associated with the health state of the network endpoint." +}, +"healthState": { +"description": "Health state of the network endpoint determined based on the health checks configured.", +"enum": [ +"DRAINING", +"HEALTHY", +"UNHEALTHY", +"UNKNOWN" +], +"enumDescriptions": [ +"Endpoint is being drained.", +"Endpoint is healthy.", +"Endpoint is unhealthy.", +"Health status of the endpoint is unknown." +], +"type": "string" +}, +"ipv6HealthState": { +"description": "Health state of the ipv6 network endpoint determined based on the health checks configured.", +"enum": [ +"DRAINING", +"HEALTHY", +"UNHEALTHY", +"UNKNOWN" +], +"enumDescriptions": [ +"Endpoint is being drained.", +"Endpoint is healthy.", +"Endpoint is unhealthy.", +"Health status of the endpoint is unknown." +], +"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" +}, +"HostRule": { +"description": "UrlMaps A host-matching rule for a URL. If matched, will use the named PathMatcher to select the BackendService.", +"id": "HostRule", +"properties": { +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"hosts": { +"description": "The list of host patterns to match. They must be valid hostnames with optional port numbers in the format host:port. * matches any string of ([a-z0-9-.]*). In that case, * must be the first character, and if followed by anything, the immediate following character must be either - or .. * based matching is not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.", +"items": { +"type": "string" +}, +"type": "array" +}, +"pathMatcher": { +"description": "The name of the PathMatcher to use to match the path portion of the URL if the hostRule matches the URL's host portion.", +"type": "string" +} +}, +"type": "object" +}, +"HttpFaultAbort": { +"description": "Specification for how requests are aborted as part of fault injection.", +"id": "HttpFaultAbort", +"properties": { +"httpStatus": { +"description": "The HTTP status code used to abort the request. The value must be from 200 to 599 inclusive. For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.", +"format": "uint32", +"type": "integer" +}, +"percentage": { +"description": "The percentage of traffic for connections, operations, or requests that is aborted as part of fault injection. The value must be from 0.0 to 100.0 inclusive.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"HttpFaultDelay": { +"description": "Specifies the delay introduced by the load balancer before forwarding the request to the backend service as part of fault injection.", +"id": "HttpFaultDelay", +"properties": { +"fixedDelay": { +"$ref": "Duration", +"description": "Specifies the value of the fixed delay interval." +}, +"percentage": { +"description": "The percentage of traffic for connections, operations, or requests for which a delay is introduced as part of fault injection. The value must be from 0.0 to 100.0 inclusive.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"HttpFaultInjection": { +"description": "The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by the load balancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the load balancer for a percentage of requests.", +"id": "HttpFaultInjection", +"properties": { +"abort": { +"$ref": "HttpFaultAbort", +"description": "The specification for how client requests are aborted as part of fault injection." +}, +"delay": { +"$ref": "HttpFaultDelay", +"description": "The specification for how client requests are delayed as part of fault injection, before being sent to a backend service." +} +}, +"type": "object" +}, +"HttpFilterConfig": { +"description": "HttpFilterConfiguration supplies additional contextual settings for networkservices.HttpFilter resources enabled by Traffic Director.", +"id": "HttpFilterConfig", +"properties": { +"config": { +"description": "The configuration needed to enable the networkservices.HttpFilter resource. The configuration must be YAML formatted and only contain fields defined in the protobuf identified in configTypeUrl", +"type": "string" +}, +"configTypeUrl": { +"description": "The fully qualified versioned proto3 type url of the protobuf that the filter expects for its contextual settings, for example: type.googleapis.com/google.protobuf.Struct", +"type": "string" +}, +"filterName": { +"description": "Name of the networkservices.HttpFilter resource this configuration belongs to. This name must be known to the xDS client. Example: envoy.wasm", +"type": "string" +} +}, +"type": "object" +}, +"HttpHeaderAction": { +"description": "The request and response header transformations that take effect before the request is passed along to the selected backendService.", +"id": "HttpHeaderAction", +"properties": { +"requestHeadersToAdd": { +"description": "Headers to add to a matching request before forwarding the request to the backendService.", +"items": { +"$ref": "HttpHeaderOption" +}, +"type": "array" +}, +"requestHeadersToRemove": { +"description": "A list of header names for headers that need to be removed from the request before forwarding the request to the backendService.", +"items": { +"type": "string" +}, +"type": "array" +}, +"responseHeadersToAdd": { +"description": "Headers to add the response before sending the response back to the client.", +"items": { +"$ref": "HttpHeaderOption" +}, +"type": "array" +}, +"responseHeadersToRemove": { +"description": "A list of header names for headers that need to be removed from the response before sending the response back to the client.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"HttpHeaderMatch": { +"description": "matchRule criteria for request header matches.", +"id": "HttpHeaderMatch", +"properties": { +"exactMatch": { +"description": "The value should exactly match contents of exactMatch. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.", +"type": "string" +}, +"headerName": { +"description": "The name of the HTTP header to match. For matching against the HTTP request's authority, use a headerMatch with the header name \":authority\". For matching a request's method, use the headerName \":method\". When the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true, only non-binary user-specified custom metadata and the `content-type` header are supported. The following transport-level headers cannot be used in header matching rules: `:authority`, `:method`, `:path`, `:scheme`, `user-agent`, `accept-encoding`, `content-encoding`, `grpc-accept-encoding`, `grpc-encoding`, `grpc-previous-rpc-attempts`, `grpc-tags-bin`, `grpc-timeout` and `grpc-trace-bin`.", +"type": "string" +}, +"invertMatch": { +"description": "If set to false, the headerMatch is considered a match if the preceding match criteria are met. If set to true, the headerMatch is considered a match if the preceding match criteria are NOT met. The default setting is false. ", +"type": "boolean" +}, +"prefixMatch": { +"description": "The value of the header must start with the contents of prefixMatch. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.", +"type": "string" +}, +"presentMatch": { +"description": "A header with the contents of headerName must exist. The match takes place whether or not the request's header has a value. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.", +"type": "boolean" +}, +"rangeMatch": { +"$ref": "Int64RangeMatch", +"description": "The header value must be an integer and its value must be in the range specified in rangeMatch. If the header does not contain an integer, number or is empty, the match fails. For example for a range [-5, 0] - -3 will match. - 0 will not match. - 0.25 will not match. - -3someString will not match. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set. rangeMatch is not supported for load balancers that have loadBalancingScheme set to EXTERNAL." +}, +"regexMatch": { +"description": "The value of the header must match the regular expression specified in regexMatch. For more information about regular expression syntax, see Syntax. For matching against a port specified in the HTTP request, use a headerMatch with headerName set to PORT and a regular expression that satisfies the RFC2616 Host header's port specifier. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED.", +"type": "string" +}, +"suffixMatch": { +"description": "The value of the header must end with the contents of suffixMatch. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.", +"type": "string" +} +}, +"type": "object" +}, +"HttpHeaderOption": { +"description": "Specification determining how headers are added to requests or responses.", +"id": "HttpHeaderOption", +"properties": { +"headerName": { +"description": "The name of the header.", +"type": "string" +}, +"headerValue": { +"description": "The value of the header to add.", +"type": "string" +}, +"replace": { +"description": "If false, headerValue is appended to any values that already exist for the header. If true, headerValue is set for the header, discarding any values that were set for that header. The default value is false. ", +"type": "boolean" +} +}, +"type": "object" +}, +"HttpHealthCheck": { +"description": "Represents a legacy HTTP Health Check resource. Legacy HTTP health checks are now only required by target pool-based network load balancers. For all other load balancers, including backend service-based network load balancers, and for managed instance group auto-healing, you must use modern (non-legacy) health checks. For more information, see Health checks overview .", +"id": "HttpHealthCheck", +"properties": { +"checkIntervalSec": { +"description": "How often (in seconds) to send a health check. The default value is 5 seconds.", +"format": "int32", +"type": "integer" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"healthyThreshold": { +"description": "A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.", +"format": "int32", +"type": "integer" +}, +"host": { +"description": "The value of the host header in the HTTP health check request. If left empty (default value), the public IP on behalf of which this health check is performed will be used.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#httpHealthCheck", +"description": "[Output Only] Type of the resource. Always compute#httpHealthCheck for HTTP health checks.", +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"port": { +"description": "The TCP port number for the HTTP health check request. The default value is 80.", +"format": "int32", +"type": "integer" +}, +"requestPath": { +"description": "The request path of the HTTP health check request. The default value is /. This field does not support query parameters. Must comply with RFC3986.", +"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" +}, +"timeoutSec": { +"description": "How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have greater value than checkIntervalSec.", +"format": "int32", +"type": "integer" +}, +"unhealthyThreshold": { +"description": "A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"HttpHealthCheckList": { +"description": "Contains a list of HttpHealthCheck resources.", +"id": "HttpHealthCheckList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of HttpHealthCheck resources.", +"items": { +"$ref": "HttpHealthCheck" +}, +"type": "array" +}, +"kind": { +"default": "compute#httpHealthCheckList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"HttpQueryParameterMatch": { +"description": "HttpRouteRuleMatch criteria for a request's query parameter.", +"id": "HttpQueryParameterMatch", +"properties": { +"exactMatch": { +"description": "The queryParameterMatch matches if the value of the parameter exactly matches the contents of exactMatch. Only one of presentMatch, exactMatch, or regexMatch must be set. ", +"type": "string" +}, +"name": { +"description": "The name of the query parameter to match. The query parameter must exist in the request, in the absence of which the request match fails.", +"type": "string" +}, +"presentMatch": { +"description": "Specifies that the queryParameterMatch matches if the request contains the query parameter, irrespective of whether the parameter has a value or not. Only one of presentMatch, exactMatch, or regexMatch must be set. ", +"type": "boolean" +}, +"regexMatch": { +"description": "The queryParameterMatch matches if the value of the parameter matches the regular expression specified by regexMatch. For more information about regular expression syntax, see Syntax. Only one of presentMatch, exactMatch, or regexMatch must be set. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED. ", +"type": "string" +} +}, +"type": "object" +}, +"HttpRedirectAction": { +"description": "Specifies settings for an HTTP redirect.", +"id": "HttpRedirectAction", +"properties": { +"hostRedirect": { +"description": "The host that is used in the redirect response instead of the one that was supplied in the request. The value must be from 1 to 255 characters.", +"type": "string" +}, +"httpsRedirect": { +"description": "If set to true, the URL scheme in the redirected request is set to HTTPS. If set to false, the URL scheme of the redirected request remains the same as that of the request. This must only be set for URL maps used in TargetHttpProxys. Setting this true for TargetHttpsProxy is not permitted. The default is set to false.", +"type": "boolean" +}, +"pathRedirect": { +"description": "The path that is used in the redirect response instead of the one that was supplied in the request. pathRedirect cannot be supplied together with prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the original request is used for the redirect. The value must be from 1 to 1024 characters.", +"type": "string" +}, +"prefixRedirect": { +"description": "The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch, retaining the remaining portion of the URL before redirecting the request. prefixRedirect cannot be supplied together with pathRedirect. Supply one alone or neither. If neither is supplied, the path of the original request is used for the redirect. The value must be from 1 to 1024 characters.", +"type": "string" +}, +"redirectResponseCode": { +"description": "The HTTP Status code to use for this RedirectAction. Supported values are: - MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301. - FOUND, which corresponds to 302. - SEE_OTHER which corresponds to 303. - TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method is retained. - PERMANENT_REDIRECT, which corresponds to 308. In this case, the request method is retained. ", +"enum": [ +"FOUND", +"MOVED_PERMANENTLY_DEFAULT", +"PERMANENT_REDIRECT", +"SEE_OTHER", +"TEMPORARY_REDIRECT" +], +"enumDescriptions": [ +"Http Status Code 302 - Found.", +"Http Status Code 301 - Moved Permanently.", +"Http Status Code 308 - Permanent Redirect maintaining HTTP method.", +"Http Status Code 303 - See Other.", +"Http Status Code 307 - Temporary Redirect maintaining HTTP method." +], +"type": "string" +}, +"stripQuery": { +"description": "If set to true, any accompanying query portion of the original URL is removed before redirecting the request. If set to false, the query portion of the original URL is retained. The default is set to false. ", +"type": "boolean" +} +}, +"type": "object" +}, +"HttpRetryPolicy": { +"description": "The retry policy associates with HttpRouteRule", +"id": "HttpRetryPolicy", +"properties": { +"numRetries": { +"description": "Specifies the allowed number retries. This number must be > 0. If not specified, defaults to 1.", +"format": "uint32", +"type": "integer" +}, +"perTryTimeout": { +"$ref": "Duration", +"description": "Specifies a non-zero timeout per retry attempt. If not specified, will use the timeout set in the HttpRouteAction field. If timeout in the HttpRouteAction field is not set, this field uses the largest timeout among all backend services associated with the route. Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." +}, +"retryConditions": { +"description": "Specifies one or more conditions when this retry policy applies. Valid values are: - 5xx: retry is attempted if the instance or endpoint responds with any 5xx response code, or if the instance or endpoint does not respond at all. For example, disconnects, reset, read timeout, connection failure, and refused streams. - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504. - connect-failure: a retry is attempted on failures connecting to the instance or endpoint. For example, connection timeouts. - retriable-4xx: a retry is attempted if the instance or endpoint responds with a 4xx response code. The only error that you can retry is error code 409. - refused-stream: a retry is attempted if the instance or endpoint resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry. - cancelled: a retry is attempted if the gRPC status code in the response header is set to cancelled. - deadline-exceeded: a retry is attempted if the gRPC status code in the response header is set to deadline-exceeded. - internal: a retry is attempted if the gRPC status code in the response header is set to internal. - resource-exhausted: a retry is attempted if the gRPC status code in the response header is set to resource-exhausted. - unavailable: a retry is attempted if the gRPC status code in the response header is set to unavailable. Only the following codes are supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true. - cancelled - deadline-exceeded - internal - resource-exhausted - unavailable ", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"HttpRouteAction": { +"id": "HttpRouteAction", +"properties": { +"corsPolicy": { +"$ref": "CorsPolicy", +"description": "The specification for allowing client-side cross-origin requests. For more information about the W3C recommendation for cross-origin resource sharing (CORS), see Fetch API Living Standard. Not supported when the URL map is bound to a target gRPC proxy." +}, +"faultInjectionPolicy": { +"$ref": "HttpFaultInjection", +"description": "The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by a load balancer on a percentage of requests before sending those requests to the backend service. Similarly requests from clients can be aborted by the load balancer for a percentage of requests. timeout and retry_policy is ignored by clients that are configured with a fault_injection_policy if: 1. The traffic is generated by fault injection AND 2. The fault injection is not a delay fault injection. Fault injection is not supported with the classic Application Load Balancer . To see which load balancers support fault injection, see Load balancing: Routing and traffic management features." +}, +"maxStreamDuration": { +"$ref": "Duration", +"description": "Specifies the maximum duration (timeout) for streams on the selected route. Unlike the timeout field where the timeout duration starts from the time the request has been fully processed (known as *end-of-stream*), the duration in this field is computed from the beginning of the stream until the response has been processed, including all retries. A stream that does not complete in this duration is closed. If not specified, this field uses the maximum maxStreamDuration value among all backend services associated with the route. This field is only allowed if the Url map is used with backend services with loadBalancingScheme set to INTERNAL_SELF_MANAGED." +}, +"requestMirrorPolicy": { +"$ref": "RequestMirrorPolicy", +"description": "Specifies the policy on how requests intended for the route's backends are shadowed to a separate mirrored backend service. The load balancer does not wait for responses from the shadow service. Before sending traffic to the shadow service, the host / authority header is suffixed with -shadow. Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." +}, +"retryPolicy": { +"$ref": "HttpRetryPolicy", +"description": "Specifies the retry policy associated with this route." +}, +"timeout": { +"$ref": "Duration", +"description": "Specifies the timeout for the selected route. Timeout is computed from the time the request has been fully processed (known as *end-of-stream*) up until the response has been processed. Timeout includes all retries. If not specified, this field uses the largest timeout among all backend services associated with the route. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true." +}, +"urlRewrite": { +"$ref": "UrlRewrite", +"description": "The spec to modify the URL of the request, before forwarding the request to the matched service. urlRewrite is the only action supported in UrlMaps for classic Application Load Balancers. Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." +}, +"weightedBackendServices": { +"description": "A list of weighted backend services to send traffic to when a route match occurs. The weights determine the fraction of traffic that flows to their corresponding backend service. If all traffic needs to go to a single backend service, there must be one weightedBackendService with weight set to a non-zero number. After a backend service is identified and before forwarding the request to the backend service, advanced routing actions such as URL rewrites and header transformations are applied depending on additional settings specified in this HttpRouteAction.", +"items": { +"$ref": "WeightedBackendService" +}, +"type": "array" +} +}, +"type": "object" +}, +"HttpRouteRule": { +"description": "The HttpRouteRule setting specifies how to match an HTTP request and the corresponding routing action that load balancing proxies perform.", +"id": "HttpRouteRule", +"properties": { +"customErrorResponsePolicy": { +"$ref": "CustomErrorResponsePolicy", +"description": "customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. If a policy for an error code is not configured for the RouteRule, a policy for the error code configured in pathMatcher.defaultCustomErrorResponsePolicy is applied. If one is not specified in pathMatcher.defaultCustomErrorResponsePolicy, the policy configured in UrlMap.defaultCustomErrorResponsePolicy takes effect. For example, consider a UrlMap with the following configuration: - UrlMap.defaultCustomErrorResponsePolicy are configured with policies for 5xx and 4xx errors - A RouteRule for /coming_soon/ is configured for the error code 404. If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in RouteRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect. When used in conjunction with routeRules.routeAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the customErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the customErrorResponsePolicy is ignored and the response from the service is returned to the client. customErrorResponsePolicy is supported only for global external Application Load Balancers." +}, +"description": { +"description": "The short description conveying the intent of this routeRule. The description can have a maximum length of 1024 characters.", +"type": "string" +}, +"headerAction": { +"$ref": "HttpHeaderAction", +"description": "Specifies changes to request and response headers that need to take effect for the selected backendService. The headerAction value specified here is applied before the matching pathMatchers[].headerAction and after pathMatchers[].routeRules[].routeAction.weightedBackendService.backendServiceWeightAction[].headerAction HeaderAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true." +}, +"httpFilterConfigs": { +"description": "Outbound route specific configuration for networkservices.HttpFilter resources enabled by Traffic Director. httpFilterConfigs only applies for load balancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See ForwardingRule for more details. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.", +"items": { +"$ref": "HttpFilterConfig" +}, +"type": "array" +}, +"httpFilterMetadata": { +"description": "Outbound route specific metadata supplied to networkservices.HttpFilter resources enabled by Traffic Director. httpFilterMetadata only applies for load balancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See ForwardingRule for more details. The only configTypeUrl supported is type.googleapis.com/google.protobuf.Struct Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.", +"items": { +"$ref": "HttpFilterConfig" +}, +"type": "array" +}, +"matchRules": { +"description": "The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule.", +"items": { +"$ref": "HttpRouteRuleMatch" +}, +"type": "array" +}, +"priority": { +"description": "For routeRules within a given pathMatcher, priority determines the order in which a load balancer interprets routeRules. RouteRules are evaluated in order of priority, from the lowest to highest number. The priority of a rule decreases as its number increases (1, 2, 3, N+1). The first rule that matches the request is applied. You cannot configure two or more routeRules with the same priority. Priority for each rule must be set to a number from 0 to 2147483647 inclusive. Priority numbers can have gaps, which enable you to add or remove rules in the future without affecting the rest of the rules. For example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to which you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the future without any impact on existing rules.", +"format": "int32", +"type": "integer" +}, +"routeAction": { +"$ref": "HttpRouteAction", +"description": "In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a route rule's routeAction." +}, +"service": { +"description": "The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set.", +"type": "string" +}, +"urlRedirect": { +"$ref": "HttpRedirectAction", +"description": "When this rule is matched, the request is redirected to a URL specified by urlRedirect. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy." +} +}, +"type": "object" +}, +"HttpRouteRuleMatch": { +"description": "HttpRouteRuleMatch specifies a set of criteria for matching requests to an HttpRouteRule. All specified criteria must be satisfied for a match to occur.", +"id": "HttpRouteRuleMatch", +"properties": { +"fullPathMatch": { +"description": "For satisfying the matchRule condition, the path of the request must exactly match the value specified in fullPathMatch after removing any query parameters and anchor that may be part of the original URL. fullPathMatch must be from 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must be specified.", +"type": "string" +}, +"headerMatches": { +"description": "Specifies a list of header match criteria, all of which must match corresponding headers in the request.", +"items": { +"$ref": "HttpHeaderMatch" +}, +"type": "array" +}, +"ignoreCase": { +"description": "Specifies that prefixMatch and fullPathMatch matches are case sensitive. The default value is false. ignoreCase must not be used with regexMatch. Not supported when the URL map is bound to a target gRPC proxy.", +"type": "boolean" +}, +"metadataFilters": { +"description": "Opaque filter criteria used by the load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to the load balancer, xDS clients present node metadata. When there is a match, the relevant routing configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadata filters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here is applied after those specified in ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.", +"items": { +"$ref": "MetadataFilter" +}, +"type": "array" +}, +"pathTemplateMatch": { +"description": "If specified, the route is a pattern match expression that must match the :path header once the query string is removed. A pattern match allows you to match - The value must be between 1 and 1024 characters - The pattern must start with a leading slash (\"/\") - There may be no more than 5 operators in pattern Precisely one of prefix_match, full_path_match, regex_match or path_template_match must be set.", +"type": "string" +}, +"prefixMatch": { +"description": "For satisfying the matchRule condition, the request's path must begin with the specified prefixMatch. prefixMatch must begin with a /. The value must be from 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must be specified.", +"type": "string" +}, +"queryParameterMatches": { +"description": "Specifies a list of query parameter match criteria, all of which must match corresponding query parameters in the request. Not supported when the URL map is bound to a target gRPC proxy.", +"items": { +"$ref": "HttpQueryParameterMatch" +}, +"type": "array" +}, +"regexMatch": { +"description": "For satisfying the matchRule condition, the path of the request must satisfy the regular expression specified in regexMatch after removing any query parameters and anchor supplied with the original URL. For more information about regular expression syntax, see Syntax. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED.", +"type": "string" +} +}, +"type": "object" +}, +"HttpsHealthCheck": { +"description": "Represents a legacy HTTPS Health Check resource. Legacy HTTPS health checks have been deprecated. If you are using a target pool-based network load balancer, you must use a legacy HTTP (not HTTPS) health check. For all other load balancers, including backend service-based network load balancers, and for managed instance group auto-healing, you must use modern (non-legacy) health checks. For more information, see Health checks overview .", +"id": "HttpsHealthCheck", +"properties": { +"checkIntervalSec": { +"description": "How often (in seconds) to send a health check. The default value is 5 seconds.", +"format": "int32", +"type": "integer" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"healthyThreshold": { +"description": "A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.", +"format": "int32", +"type": "integer" +}, +"host": { +"description": "The value of the host header in the HTTPS health check request. If left empty (default value), the public IP on behalf of which this health check is performed will be used.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#httpsHealthCheck", +"description": "Type of the resource.", +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"port": { +"description": "The TCP port number for the HTTPS health check request. The default value is 443.", +"format": "int32", +"type": "integer" +}, +"requestPath": { +"description": "The request path of the HTTPS health check request. The default value is \"/\". Must comply with RFC3986.", +"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" +}, +"timeoutSec": { +"description": "How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have a greater value than checkIntervalSec.", +"format": "int32", +"type": "integer" +}, +"unhealthyThreshold": { +"description": "A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"HttpsHealthCheckList": { +"description": "Contains a list of HttpsHealthCheck resources.", +"id": "HttpsHealthCheckList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of HttpsHealthCheck resources.", +"items": { +"$ref": "HttpsHealthCheck" +}, +"type": "array" +}, +"kind": { +"default": "compute#httpsHealthCheckList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"Image": { +"description": "Represents an Image resource. You can use images to create boot disks for your VM instances. For more information, read Images.", +"id": "Image", +"properties": { +"architecture": { +"description": "The architecture of the image. Valid values are ARM64 or X86_64.", +"enum": [ +"ARCHITECTURE_UNSPECIFIED", +"ARM64", +"X86_64" +], +"enumDescriptions": [ +"Default value indicating Architecture is not set.", +"Machines with architecture ARM64", +"Machines with architecture X86_64" +], +"type": "string" +}, +"archiveSizeBytes": { +"description": "Size of the image tar.gz archive stored in Google Cloud Storage (in bytes).", +"format": "int64", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"deprecated": { +"$ref": "DeprecationStatus", +"description": "The deprecation status associated with this image." +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"diskSizeGb": { +"description": "Size of the image when restored onto a persistent disk (in GB).", +"format": "int64", +"type": "string" +}, +"enableConfidentialCompute": { +"description": "Whether this image is created from a confidential compute mode disk. [Output Only]: This field is not set by user, but from source disk.", +"type": "boolean" +}, +"family": { +"description": "The name of the image family to which this image belongs. The image family name can be from a publicly managed image family provided by Compute Engine, or from a custom image family you create. For example, centos-stream-9 is a publicly available image family. For more information, see Image family best practices. When creating disks, you can specify an image family instead of a specific image name. The image family always returns its latest image that is not deprecated. The name of the image family must comply with RFC1035.", +"type": "string" +}, +"guestOsFeatures": { +"description": "A list of features to enable on the guest operating system. Applicable only for bootable images. To see a list of available options, see the guestOSfeatures[].type parameter.", +"items": { +"$ref": "GuestOsFeature" +}, +"type": "array" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"imageEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Encrypts the image using a customer-supplied encryption key. After you encrypt an image with a customer-supplied key, you must provide the same key if you use the image later (e.g. to create a disk from the image). Customer-supplied encryption keys do not protect access to metadata of the disk. If you do not provide an encryption key when creating the image, then the disk will be encrypted using an automatically generated key and you do not need to provide a key to use the image later." +}, +"kind": { +"default": "compute#image", +"description": "[Output Only] Type of the resource. Always compute#image for images.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this image, which is essentially a hash of the labels used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an image.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to this image. These can be later modified by the setLabels method.", +"type": "object" +}, +"licenseCodes": { +"description": "Integer license codes indicating which licenses are attached to this image.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"licenses": { +"description": "Any applicable license URI.", +"items": { +"type": "string" +}, +"type": "array" +}, +"locked": { +"description": "A flag for marketplace VM disk created from the image, which is designed for marketplace VM disk to prevent the proprietary data on the disk from being accessed unwantedly. The flag will be inherited by the disk created from the image. The disk with locked flag set to true will be prohibited from performing the operations below: - R/W or R/O disk attach - Disk detach, if disk is created via create-on-create - Create images - Create snapshots - Create disk clone (create disk from the current disk) The image with the locked field set to true will be prohibited from performing the operations below: - Create images from the current image - Update the locked field for the current image The instance with at least one disk with locked flag set to true will be prohibited from performing the operations below: - Secondary disk attach - Create instant snapshot - Create machine images - Create instance template - Delete the instance with --keep-disk parameter set to true ", +"type": "boolean" +}, +"name": { +"annotations": { +"required": [ +"compute.images.insert" +] +}, +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"rawDisk": { +"description": "The parameters of the raw disk image.", +"properties": { +"containerType": { +"description": "The format used to encode and transmit the block device, which should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.", +"enum": [ +"TAR" +], +"enumDescriptions": [ +"" +], +"type": "string" +}, +"sha1Checksum": { +"deprecated": true, +"description": "[Deprecated] This field is deprecated. An optional SHA1 checksum of the disk image before unpackaging provided by the client when the disk image is created.", +"pattern": "[a-f0-9]{40}", +"type": "string" +}, +"source": { +"description": "The full Google Cloud Storage URL where the raw disk image archive is stored. The following are valid formats for the URL: - https://storage.googleapis.com/bucket_name/image_archive_name - https://storage.googleapis.com/bucket_name/folder_name/ image_archive_name In order to create an image, you must provide the full or partial URL of one of the following: - The rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL ", +"type": "string" +} +}, +"type": "object" +}, +"rolloutOverride": { +"$ref": "RolloutPolicy", +"description": "A rollout policy to apply to this image. When specified, the rollout policy overrides per-zone references to the image via the associated image family. The rollout policy restricts the zones where this image is accessible when using a zonal image family reference. When the rollout policy does not include the user specified zone, or if the zone is rolled out, this image is accessible. The rollout policy for this image is read-only, except for allowlisted users. This field might not be configured. To view the latest non-deprecated image in a specific zone, use the imageFamilyViews.get method." +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource's resource id.", +"type": "string" +}, +"shieldedInstanceInitialState": { +"$ref": "InitialStateConfig", +"description": "Set the secure boot keys of shielded instance." +}, +"sourceDisk": { +"description": "URL of the source disk used to create this image. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - projects/project/zones/zone/disks/disk - zones/zone/disks/disk In order to create an image, you must provide the full or partial URL of one of the following: - The rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL ", +"type": "string" +}, +"sourceDiskEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key." +}, +"sourceDiskId": { +"description": "[Output Only] The ID value of the disk used to create this image. This value may be used to determine whether the image was taken from the current or a previous instance of a given disk name.", +"type": "string" +}, +"sourceImage": { +"description": "URL of the source image used to create this image. The following are valid formats for the URL: - https://www.googleapis.com/compute/v1/projects/project_id/global/ images/image_name - projects/project_id/global/images/image_name In order to create an image, you must provide the full or partial URL of one of the following: - The rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL ", +"type": "string" +}, +"sourceImageEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key." +}, +"sourceImageId": { +"description": "[Output Only] The ID value of the image used to create this image. This value may be used to determine whether the image was taken from the current or a previous instance of a given image name.", +"type": "string" +}, +"sourceSnapshot": { +"description": "URL of the source snapshot used to create this image. The following are valid formats for the URL: - https://www.googleapis.com/compute/v1/projects/project_id/global/ snapshots/snapshot_name - projects/project_id/global/snapshots/snapshot_name In order to create an image, you must provide the full or partial URL of one of the following: - The rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL ", +"type": "string" +}, +"sourceSnapshotEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key." +}, +"sourceSnapshotId": { +"description": "[Output Only] The ID value of the snapshot used to create this image. This value may be used to determine whether the snapshot was taken from the current or a previous instance of a given snapshot name.", +"type": "string" +}, +"sourceType": { +"default": "RAW", +"description": "The type of the image used to create this disk. The default and only valid value is RAW.", +"enum": [ +"RAW" +], +"enumDescriptions": [ +"" +], +"type": "string" +}, +"status": { +"description": "[Output Only] The status of the image. An image can be used to create other resources, such as instances, only after the image has been successfully created and the status is set to READY. Possible values are FAILED, PENDING, or READY.", +"enum": [ +"DELETING", +"FAILED", +"PENDING", +"READY" +], +"enumDescriptions": [ +"Image is deleting.", +"Image creation failed due to an error.", +"Image hasn't been created as yet.", +"Image has been successfully created." +], +"type": "string" +}, +"storageLocations": { +"description": "Cloud Storage bucket storage location of the image (regional or multi-regional).", +"items": { +"type": "string" +}, +"type": "array" +}, +"userLicenses": { +"description": "A list of publicly visible user-licenses. Unlike regular licenses, user provided licenses can be modified after the disk is created. This includes a list of URLs to the license resource. For example, to provide a debian license: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/licenses/debian-9-stretch ", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ImageFamilyView": { +"id": "ImageFamilyView", +"properties": { +"image": { +"$ref": "Image", +"description": "The latest image that is part of the specified image family in the requested location, and that is not deprecated." +} +}, +"type": "object" +}, +"ImageList": { +"description": "Contains a list of images.", +"id": "ImageList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Image resources.", +"items": { +"$ref": "Image" +}, +"type": "array" +}, +"kind": { +"default": "compute#imageList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"InitialStateConfig": { +"description": "Initial State for shielded instance, these are public keys which are safe to store in public", +"id": "InitialStateConfig", +"properties": { +"dbs": { +"description": "The Key Database (db).", +"items": { +"$ref": "FileContentBuffer" +}, +"type": "array" +}, +"dbxs": { +"description": "The forbidden key database (dbx).", +"items": { +"$ref": "FileContentBuffer" +}, +"type": "array" +}, +"keks": { +"description": "The Key Exchange Key (KEK).", +"items": { +"$ref": "FileContentBuffer" +}, +"type": "array" +}, +"pk": { +"$ref": "FileContentBuffer", +"description": "The Platform Key (PK)." +} +}, +"type": "object" +}, +"Instance": { +"description": "Represents an Instance resource. An instance is a virtual machine that is hosted on Google Cloud Platform. For more information, read Virtual Machine Instances.", +"id": "Instance", +"properties": { +"advancedMachineFeatures": { +"$ref": "AdvancedMachineFeatures", +"description": "Controls for advanced machine-related behavior features." +}, +"canIpForward": { +"description": "Allows this instance to send and receive packets with non-matching destination or source IPs. This is required if you plan to use this instance to forward routes. For more information, see Enabling IP Forwarding .", +"type": "boolean" +}, +"confidentialInstanceConfig": { +"$ref": "ConfidentialInstanceConfig" +}, +"cpuPlatform": { +"description": "[Output Only] The CPU platform used by this instance.", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"deletionProtection": { +"description": "Whether the resource should be protected against deletion.", +"type": "boolean" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"disks": { +"description": "Array of disks associated with this instance. Persistent disks must be created before you can assign them.", +"items": { +"$ref": "AttachedDisk" +}, +"type": "array" +}, +"displayDevice": { +"$ref": "DisplayDevice", +"description": "Enables display device for the instance." +}, +"eraseWindowsVssSignature": { +"description": "Specifies whether the disks restored from source snapshots or source machine image should erase Windows specific VSS signature.", +"type": "boolean" +}, +"fingerprint": { +"description": "Specifies a fingerprint for this resource, which is essentially a hash of the instance's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update the instance. You must always provide an up-to-date fingerprint hash in order to update the instance. To see the latest fingerprint, make get() request to the instance.", +"format": "byte", +"type": "string" +}, +"guestAccelerators": { +"description": "A list of the type and count of accelerator cards attached to the instance.", +"items": { +"$ref": "AcceleratorConfig" +}, +"type": "array" +}, +"hostname": { +"description": "Specifies the hostname of the instance. The specified hostname must be RFC1035 compliant. If hostname is not specified, the default hostname is [INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"instanceEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Encrypts suspended data for an instance with a customer-managed encryption key. If you are creating a new instance, this field will encrypt the local SSD and in-memory contents of the instance during the suspend operation. If you do not provide an encryption key when creating the instance, then the local SSD and in-memory contents will be encrypted using an automatically generated key during the suspend operation." +}, +"keyRevocationActionType": { +"description": "KeyRevocationActionType of the instance. Supported options are \"STOP\" and \"NONE\". The default value is \"NONE\" if it is not specified.", +"enum": [ +"KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", +"NONE", +"STOP" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Indicates user chose no operation.", +"Indicates user chose to opt for VM shutdown on key revocation." +], +"type": "string" +}, +"kind": { +"default": "compute#instance", +"description": "[Output Only] Type of the resource. Always compute#instance for instances.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for this request, which is essentially a hash of the label's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels. To see the latest fingerprint, make get() request to the instance.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to this instance. These can be later modified by the setLabels method.", +"type": "object" +}, +"lastStartTimestamp": { +"description": "[Output Only] Last start timestamp in RFC3339 text format.", +"type": "string" +}, +"lastStopTimestamp": { +"description": "[Output Only] Last stop timestamp in RFC3339 text format.", +"type": "string" +}, +"lastSuspendedTimestamp": { +"description": "[Output Only] Last suspended timestamp in RFC3339 text format.", +"type": "string" +}, +"machineType": { +"description": "Full or partial URL of the machine type resource to use for this instance, in the format: zones/zone/machineTypes/machine-type. This is provided by the client when the instance is created. For example, the following is a valid partial url to a predefined machine type: zones/us-central1-f/machineTypes/n1-standard-1 To create a custom machine type, provide a URL to a machine type in the following format, where CPUS is 1 or an even number up to 32 (2, 4, 6, ... 24, etc), and MEMORY is the total memory for this instance. Memory must be a multiple of 256 MB and must be supplied in MB (e.g. 5 GB of memory is 5120 MB): zones/zone/machineTypes/custom-CPUS-MEMORY For example: zones/us-central1-f/machineTypes/custom-4-5120 For a full list of restrictions, read the Specifications for custom machine types.", +"type": "string" +}, +"metadata": { +"$ref": "Metadata", +"description": "The metadata key/value pairs assigned to this instance. This includes custom metadata and predefined keys." +}, +"minCpuPlatform": { +"description": "Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: \"Intel Haswell\" or minCpuPlatform: \"Intel Sandy Bridge\".", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.instances.insert" +] +}, +"description": "The name of the resource, provided by the client when initially creating the resource. The resource 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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"networkInterfaces": { +"description": "An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance.", +"items": { +"$ref": "NetworkInterface" +}, +"type": "array" +}, +"networkPerformanceConfig": { +"$ref": "NetworkPerformanceConfig" +}, +"params": { +"$ref": "InstanceParams", +"description": "Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload." +}, +"partnerMetadata": { +"additionalProperties": { +"$ref": "StructuredEntries" +}, +"description": "Partner Metadata assigned to the instance. A map from a subdomain (namespace) to entries map.", +"type": "object" +}, +"postKeyRevocationActionType": { +"description": "PostKeyRevocationActionType of the instance.", +"enum": [ +"NOOP", +"POST_KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", +"SHUTDOWN" +], +"enumDescriptions": [ +"Indicates user chose no operation.", +"Default value. This value is unused.", +"Indicates user chose to opt for VM shutdown on key revocation." +], +"type": "string" +}, +"preservedStateSizeGb": { +"description": "Total amount of preserved state for SUSPENDED instances. Read-only in the api.", +"format": "int64", +"type": "string" +}, +"privateIpv6GoogleAccess": { +"description": "The private IPv6 google access type for the VM. If not specified, use INHERIT_FROM_SUBNETWORK as default.", +"enum": [ +"ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE", +"ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE", +"INHERIT_FROM_SUBNETWORK" +], +"enumDescriptions": [ +"Bidirectional private IPv6 access to/from Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before.", +"Outbound private IPv6 access from VMs in this subnet to Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before.", +"Each network interface inherits PrivateIpv6GoogleAccess from its subnetwork." +], +"type": "string" +}, +"reservationAffinity": { +"$ref": "ReservationAffinity", +"description": "Specifies the reservations that this instance can consume from." +}, +"resourcePolicies": { +"description": "Resource policies applied to this instance.", +"items": { +"type": "string" +}, +"type": "array" +}, +"resourceStatus": { +"$ref": "ResourceStatus", +"description": "[Output Only] Specifies values set for instance attributes as compared to the values requested by user in the corresponding input only field." +}, +"satisfiesPzi": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"satisfiesPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"scheduling": { +"$ref": "Scheduling", +"description": "Sets the scheduling options for this instance." +}, +"secureTags": { +"description": "[Input Only] Secure tags to apply to this instance. These can be later modified by the update method. Maximum number of secure tags allowed is 50.", +"items": { +"type": "string" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource with the resource id.", +"type": "string" +}, +"serviceAccounts": { +"description": "A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information.", +"items": { +"$ref": "ServiceAccount" +}, +"type": "array" +}, +"serviceIntegrationSpecs": { +"additionalProperties": { +"$ref": "ServiceIntegrationSpec" +}, +"description": "Mapping of user-defined keys to specifications for service integrations. Currently only a single key-value pair is supported.", +"type": "object" +}, +"shieldedInstanceConfig": { +"$ref": "ShieldedInstanceConfig" +}, +"shieldedInstanceIntegrityPolicy": { +"$ref": "ShieldedInstanceIntegrityPolicy" +}, +"shieldedVmConfig": { +"$ref": "ShieldedVmConfig", +"description": "Deprecating, please use shielded_instance_config." +}, +"shieldedVmIntegrityPolicy": { +"$ref": "ShieldedVmIntegrityPolicy", +"description": "Deprecating, please use shielded_instance_integrity_policy." +}, +"sourceMachineImage": { +"description": "Source machine image", +"type": "string" +}, +"sourceMachineImageEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Source machine image encryption key when creating an instance from a machine image." +}, +"startRestricted": { +"description": "[Output Only] Whether a VM has been restricted for start because Compute Engine has detected suspicious activity.", +"type": "boolean" +}, +"status": { +"description": "[Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.", +"enum": [ +"DEPROVISIONING", +"PENDING_STOP", +"PROVISIONING", +"REPAIRING", +"RUNNING", +"STAGING", +"STOPPED", +"STOPPING", +"SUSPENDED", +"SUSPENDING", +"TERMINATED" +], +"enumDescriptions": [ +"The instance is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.", +"The instance is gracefully shutting down.", +"Resources are being allocated for the instance.", +"The instance is in repair.", +"The instance is running.", +"All required resources have been allocated and the instance is being started.", +"The instance has stopped successfully.", +"The instance is currently stopping (either being deleted or killed).", +"The instance has suspended.", +"The instance is suspending.", +"The instance has stopped (either by explicit action or underlying failure)." +], +"type": "string" +}, +"statusMessage": { +"description": "[Output Only] An optional, human-readable explanation of the status.", +"type": "string" +}, +"tags": { +"$ref": "Tags", +"description": "Tags to apply to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035. Multiple tags can be specified via the 'tags.items' field." +}, +"upcomingMaintenance": { +"$ref": "UpcomingMaintenance", +"description": "[Output Only] DEPRECATED: Please use resource_status.upcoming_maintenance instead. Specifies upcoming maintenance for the instance." +}, +"zone": { +"description": "[Output Only] URL of the zone where the instance resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +} +}, +"type": "object" +}, +"InstanceAggregatedList": { +"id": "InstanceAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "InstancesScopedList", +"description": "[Output Only] Name of the scope containing this set of instances." +}, +"description": "An object that contains a list of instances scoped by zone.", +"type": "object" +}, +"kind": { +"default": "compute#instanceAggregatedList", +"description": "[Output Only] Type of resource. Always compute#instanceAggregatedList for aggregated lists of Instance resources.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"InstanceConsumptionData": { +"id": "InstanceConsumptionData", +"properties": { +"consumptionInfo": { +"$ref": "InstanceConsumptionInfo", +"description": "Resources consumed by the instance." +}, +"instance": { +"description": "Server-defined URL for the instance.", +"type": "string" +} +}, +"type": "object" +}, +"InstanceConsumptionInfo": { +"id": "InstanceConsumptionInfo", +"properties": { +"guestCpus": { +"description": "The number of virtual CPUs that are available to the instance.", +"format": "int32", +"type": "integer" +}, +"localSsdGb": { +"description": "The amount of local SSD storage available to the instance, defined in GiB.", +"format": "int32", +"type": "integer" +}, +"memoryMb": { +"description": "The amount of physical memory available to the instance, defined in MiB.", +"format": "int32", +"type": "integer" +}, +"minNodeCpus": { +"description": "The minimal guaranteed number of virtual CPUs that are reserved.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"InstanceGroup": { +"description": "Represents an Instance Group resource. Instance Groups can be used to configure a target for load balancing. Instance groups can either be managed or unmanaged. To create managed instance groups, use the instanceGroupManager or regionInstanceGroupManager resource instead. Use zonal unmanaged instance groups if you need to apply load balancing to groups of heterogeneous instances or if you need to manage the instances yourself. You cannot create regional unmanaged instance groups. For more information, read Instance groups.", +"id": "InstanceGroup", +"properties": { +"creationTimestamp": { +"description": "[Output Only] The creation timestamp for this instance group in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"fingerprint": { +"description": "[Output Only] The fingerprint of the named ports. The system uses this fingerprint to detect conflicts when multiple users change the named ports concurrently.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] A unique identifier for this instance group, generated by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#instanceGroup", +"description": "[Output Only] The resource type, which is always compute#instanceGroup for instance groups.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.instanceGroups.insert" +] +}, +"description": "The name of the instance group. The name must be 1-63 characters long, and comply with RFC1035.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"namedPorts": { +"description": " Assigns a name to a port number. For example: {name: \"http\", port: 80} This allows the system to reference ports by the assigned name instead of a port number. Named ports can also contain multiple ports. For example: [{name: \"app1\", port: 8080}, {name: \"app1\", port: 8081}, {name: \"app2\", port: 8082}] Named ports apply to all instances in this instance group. ", +"items": { +"$ref": "NamedPort" +}, +"type": "array" +}, +"network": { +"description": "[Output Only] The URL of the network to which all instances in the instance group belong. If your instance has multiple network interfaces, then the network and subnetwork fields only refer to the network and subnet used by your primary interface (nic0).", +"type": "string" +}, +"region": { +"description": "[Output Only] The URL of the region where the instance group is located (for regional resources).", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] The URL for this instance group. The server generates this URL.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource with the resource id.", +"type": "string" +}, +"size": { +"description": "[Output Only] The total number of instances in the instance group.", +"format": "int32", +"type": "integer" +}, +"subnetwork": { +"description": "[Output Only] The URL of the subnetwork to which all instances in the instance group belong. If your instance has multiple network interfaces, then the network and subnetwork fields only refer to the network and subnet used by your primary interface (nic0).", +"type": "string" +}, +"zone": { +"description": "[Output Only] The URL of the zone where the instance group is located (for zonal resources).", +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupAggregatedList": { +"id": "InstanceGroupAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "InstanceGroupsScopedList", +"description": "The name of the scope that contains this set of instance groups." +}, +"description": "A list of InstanceGroupsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#instanceGroupAggregatedList", +"description": "[Output Only] The resource type, which is always compute#instanceGroupAggregatedList for aggregated lists of instance groups.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"InstanceGroupList": { +"description": "A list of InstanceGroup resources.", +"id": "InstanceGroupList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InstanceGroup resources.", +"items": { +"$ref": "InstanceGroup" +}, +"type": "array" +}, +"kind": { +"default": "compute#instanceGroupList", +"description": "[Output Only] The resource type, which is always compute#instanceGroupList for instance group lists.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"InstanceGroupManager": { +"description": "Represents a Managed Instance Group resource. An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups. For zonal Managed Instance Group, use the instanceGroupManagers resource. For regional Managed Instance Group, use the regionInstanceGroupManagers resource.", +"id": "InstanceGroupManager", +"properties": { +"allInstancesConfig": { +"$ref": "InstanceGroupManagerAllInstancesConfig", +"description": "Specifies configuration that overrides the instance template configuration for the group." +}, +"autoHealingPolicies": { +"description": "The autohealing policy for this managed instance group. You can specify only one value.", +"items": { +"$ref": "InstanceGroupManagerAutoHealingPolicy" +}, +"type": "array" +}, +"baseInstanceName": { +"description": "The base instance name is a prefix that you want to attach to the names of all VMs in a MIG. The maximum character length is 58 and the name must comply with RFC1035 format. When a VM is created in the group, the MIG appends a hyphen and a random four-character string to the base instance name. If you want the MIG to assign sequential numbers instead of a random string, then end the base instance name with a hyphen followed by one or more hash symbols. The hash symbols indicate the number of digits. For example, a base instance name of \"vm-###\" results in \"vm-001\" as a VM name. @pattern [a-z](([-a-z0-9]{0,57})|([-a-z0-9]{0,51}-#{1,10}(\\\\[[0-9]{1,10}\\\\])?))", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] The creation timestamp for this managed instance group in RFC3339 text format.", +"type": "string" +}, +"currentActions": { +"$ref": "InstanceGroupManagerActionsSummary", +"description": "[Output Only] The list of instance actions and the number of instances in this managed instance group that are scheduled for each of those actions." +}, +"description": { +"description": "An optional description of this resource.", +"type": "string" +}, +"distributionPolicy": { +"$ref": "DistributionPolicy", +"description": "Policy specifying the intended distribution of managed instances across zones in a regional managed instance group." +}, +"failoverAction": { +"description": "The action to perform in case of zone failure. Only one value is supported, NO_FAILOVER. The default is NO_FAILOVER.", +"enum": [ +"NO_FAILOVER", +"UNKNOWN" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. This field may be used in optimistic locking. It will be ignored when inserting an InstanceGroupManager. An up-to-date fingerprint must be provided in order to update the InstanceGroupManager, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an InstanceGroupManager.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] A unique identifier for this resource type. The server generates this identifier.", +"format": "uint64", +"type": "string" +}, +"instanceFlexibilityPolicy": { +"$ref": "InstanceGroupManagerInstanceFlexibilityPolicy", +"description": "Instance flexibility allowing MIG to create VMs from multiple types of machines. Instance flexibility configuration on MIG overrides instance template configuration." +}, +"instanceGroup": { +"description": "[Output Only] The URL of the Instance Group resource.", +"type": "string" +}, +"instanceLifecyclePolicy": { +"$ref": "InstanceGroupManagerInstanceLifecyclePolicy", +"description": "The repair policy for this managed instance group." +}, +"instanceTemplate": { +"description": "The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE.", +"type": "string" +}, +"kind": { +"default": "compute#instanceGroupManager", +"description": "[Output Only] The resource type, which is always compute#instanceGroupManager for managed instance groups.", +"type": "string" +}, +"listManagedInstancesResults": { +"description": "Pagination behavior of the listManagedInstances API method for this managed instance group.", +"enum": [ +"PAGELESS", +"PAGINATED" +], +"enumDescriptions": [ +"(Default) Pagination is disabled for the group's listManagedInstances API method. maxResults and pageToken query parameters are ignored and all instances are returned in a single response.", +"Pagination is enabled for the group's listManagedInstances API method. maxResults and pageToken query parameters are respected." +], +"type": "string" +}, +"multiMig": { +"description": "URL to the multi-MIG that this Managed Instance Group belongs to.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.instanceGroupManagers.insert", +"compute.regionInstanceGroupManagers.insert" +] +}, +"description": "The name of the managed instance group. The name must be 1-63 characters long, and comply with RFC1035.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"namedPorts": { +"description": "[Output Only] Named ports configured on the Instance Groups complementary to this Instance Group Manager.", +"items": { +"$ref": "NamedPort" +}, +"type": "array" +}, +"params": { +"$ref": "InstanceGroupManagerParams", +"description": "Input only. Additional params passed with the request, but not persisted as part of resource payload." +}, +"region": { +"description": "[Output Only] The URL of the region where the managed instance group resides (for regional resources).", +"type": "string" +}, +"resourcePolicies": { +"$ref": "InstanceGroupManagerResourcePolicies", +"description": "Resource policies for this managed instance group." +}, +"satisfiesPzi": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"satisfiesPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"selfLink": { +"description": "[Output Only] The URL for this managed instance group. The server defines this URL.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource with the resource id.", +"type": "string" +}, +"serviceAccount": { +"description": "The service account to be used as credentials for all operations performed by the managed instance group on instances. The service accounts needs all permissions required to create and delete instances. By default, the service account {projectNumber}@cloudservices.gserviceaccount.com is used.", +"type": "string" +}, +"standbyPolicy": { +"$ref": "InstanceGroupManagerStandbyPolicy", +"description": "Standby policy for stopped and suspended instances." +}, +"statefulPolicy": { +"$ref": "StatefulPolicy", +"description": "Stateful configuration for this Instanced Group Manager" +}, +"status": { +"$ref": "InstanceGroupManagerStatus", +"description": "[Output Only] The status of this managed instance group." +}, +"targetPools": { +"description": "The URLs for all TargetPool resources to which instances in the instanceGroup field are added. The target pools automatically apply to all of the instances in the managed instance group.", +"items": { +"type": "string" +}, +"type": "array" +}, +"targetSize": { +"annotations": { +"required": [ +"compute.instanceGroupManagers.insert", +"compute.regionInstanceGroupManagers.insert" +] +}, +"description": "The target number of running instances for this managed instance group. You can reduce this number by using the instanceGroupManager deleteInstances or abandonInstances methods. Resizing the group also changes this number.", +"format": "int32", +"type": "integer" +}, +"targetSizePolicy": { +"$ref": "InstanceGroupManagerTargetSizePolicy", +"description": "Configures how target size of MIG is achieved." +}, +"targetSizeUnit": { +"description": "The unit of measure for the target size.", +"enum": [ +"INSTANCE", +"VCPU" +], +"enumDescriptions": [ +"[Default] TargetSize is the target number of instances.", +"TargetSize is the target count of vCPUs of VMs." +], +"type": "string" +}, +"targetStoppedSize": { +"description": "The target number of stopped instances for this managed instance group. This number changes when you: - Stop instance using the stopInstances method or start instances using the startInstances method. - Manually change the targetStoppedSize using the update method. ", +"format": "int32", +"type": "integer" +}, +"targetSuspendedSize": { +"description": "The target number of suspended instances for this managed instance group. This number changes when you: - Suspend instance using the suspendInstances method or resume instances using the resumeInstances method. - Manually change the targetSuspendedSize using the update method. ", +"format": "int32", +"type": "integer" +}, +"updatePolicy": { +"$ref": "InstanceGroupManagerUpdatePolicy", +"description": "The update policy for this managed instance group." +}, +"versions": { +"description": "Specifies the instance templates used by this managed instance group to create instances. Each version is defined by an instanceTemplate and a name. Every version can appear at most once per instance group. This field overrides the top-level instanceTemplate field. Read more about the relationships between these fields. Exactly one version must leave the targetSize field unset. That version will be applied to all remaining instances. For more information, read about canary updates.", +"items": { +"$ref": "InstanceGroupManagerVersion" +}, +"type": "array" +}, +"zone": { +"description": "[Output Only] The URL of a zone where the managed instance group is located (for zonal resources).", +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupManagerActionsSummary": { +"id": "InstanceGroupManagerActionsSummary", +"properties": { +"abandoning": { +"description": "[Output Only] The total number of instances in the managed instance group that are scheduled to be abandoned. Abandoning an instance removes it from the managed instance group without deleting it.", +"format": "int32", +"type": "integer" +}, +"creating": { +"description": "[Output Only] The number of instances in the managed instance group that are scheduled to be created or are currently being created. If the group fails to create any of these instances, it tries again until it creates the instance successfully. If you have disabled creation retries, this field will not be populated; instead, the creatingWithoutRetries field will be populated.", +"format": "int32", +"type": "integer" +}, +"creatingAtomically": { +"description": "[Output Only] The number of instances that the managed instance group will attempt to create atomically, in a batch mode. If the desired count of instances can not be created, entire batch will be deleted and the group will decrease its targetSize value accordingly.", +"format": "int32", +"type": "integer" +}, +"creatingWithoutRetries": { +"description": "[Output Only] The number of instances that the managed instance group will attempt to create. The group attempts to create each instance only once. If the group fails to create any of these instances, it decreases the group's targetSize value accordingly.", +"format": "int32", +"type": "integer" +}, +"deleting": { +"description": "[Output Only] The number of instances in the managed instance group that are scheduled to be deleted or are currently being deleted.", +"format": "int32", +"type": "integer" +}, +"none": { +"description": "[Output Only] The number of instances in the managed instance group that are running and have no scheduled actions.", +"format": "int32", +"type": "integer" +}, +"queuing": { +"description": "[Output Only] The number of instances that the managed instance group is currently queuing.", +"format": "int32", +"type": "integer" +}, +"recreating": { +"description": "[Output Only] The number of instances in the managed instance group that are scheduled to be recreated or are currently being being recreated. Recreating an instance deletes the existing root persistent disk and creates a new disk from the image that is defined in the instance template.", +"format": "int32", +"type": "integer" +}, +"refreshing": { +"description": "[Output Only] The number of instances in the managed instance group that are being reconfigured with properties that do not require a restart or a recreate action. For example, setting or removing target pools for the instance.", +"format": "int32", +"type": "integer" +}, +"restarting": { +"description": "[Output Only] The number of instances in the managed instance group that are scheduled to be restarted or are currently being restarted.", +"format": "int32", +"type": "integer" +}, +"resuming": { +"description": "[Output Only] The number of instances in the managed instance group that are scheduled to be resumed or are currently being resumed.", +"format": "int32", +"type": "integer" +}, +"starting": { +"description": "[Output Only] The number of instances in the managed instance group that are scheduled to be started or are currently being started.", +"format": "int32", +"type": "integer" +}, +"stopping": { +"description": "[Output Only] The number of instances in the managed instance group that are scheduled to be stopped or are currently being stopped.", +"format": "int32", +"type": "integer" +}, +"suspending": { +"description": "[Output Only] The number of instances in the managed instance group that are scheduled to be suspended or are currently being suspended.", +"format": "int32", +"type": "integer" +}, +"verifying": { +"description": "[Output Only] The number of instances in the managed instance group that are being verified. See the managedInstances[].currentAction property in the listManagedInstances method documentation.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"InstanceGroupManagerAggregatedList": { +"id": "InstanceGroupManagerAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "InstanceGroupManagersScopedList", +"description": "[Output Only] The name of the scope that contains this set of managed instance groups." +}, +"description": "A list of InstanceGroupManagersScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#instanceGroupManagerAggregatedList", +"description": "[Output Only] The resource type, which is always compute#instanceGroupManagerAggregatedList for an aggregated list of managed instance groups.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"InstanceGroupManagerAllInstancesConfig": { +"id": "InstanceGroupManagerAllInstancesConfig", +"properties": { +"properties": { +"$ref": "InstancePropertiesPatch", +"description": "Properties to set on all instances in the group. You can add or modify properties using the instanceGroupManagers.patch or regionInstanceGroupManagers.patch. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration. To apply the configuration, set the group's updatePolicy.type field to use proactive updates or use the applyUpdatesToInstances method." +} +}, +"type": "object" +}, +"InstanceGroupManagerAutoHealingPolicy": { +"id": "InstanceGroupManagerAutoHealingPolicy", +"properties": { +"autoHealingTriggers": { +"$ref": "InstanceGroupManagerAutoHealingPolicyAutoHealingTriggers", +"description": "Restricts what triggers autohealing." +}, +"healthCheck": { +"description": "The URL for the health check that signals autohealing.", +"type": "string" +}, +"initialDelaySec": { +"description": "The initial delay is the number of seconds that a new VM takes to initialize and run its startup script. During a VM's initial delay period, the MIG ignores unsuccessful health checks because the VM might be in the startup process. This prevents the MIG from prematurely recreating a VM. If the health check receives a healthy response during the initial delay, it indicates that the startup process is complete and the VM is ready. The value of initial delay must be between 0 and 3600 seconds. The default value is 0.", +"format": "int32", +"type": "integer" +}, +"maxUnavailable": { +"$ref": "FixedOrPercent", +"description": "Maximum number of instances that can be unavailable when autohealing. When 'percent' is used, the value is rounded if necessary. The instance is considered available if all of the following conditions are satisfied: 1. Instance's status is RUNNING. 2. Instance's currentAction is NONE (in particular its liveness health check result was observed to be HEALTHY at least once as it passed VERIFYING). 3. There is no outgoing action on an instance triggered by IGM. By default, number of concurrently autohealed instances is smaller than the managed instance group target size. However, if a zonal managed instance group has only one instance, or a regional managed instance group has only one instance per zone, autohealing will recreate these instances when they become unhealthy." +} +}, +"type": "object" +}, +"InstanceGroupManagerAutoHealingPolicyAutoHealingTriggers": { +"id": "InstanceGroupManagerAutoHealingPolicyAutoHealingTriggers", +"properties": { +"onHealthCheck": { +"description": "If you have configured an application-based health check for the group, this field controls whether to trigger VM autohealing based on a failed health check. Valid values are: - ON (default): The group recreates running VMs that fail the application-based health check. - OFF: When set to OFF, you can still observe instance health state, but the group does not recreate VMs that fail the application-based health check. This is useful for troubleshooting and setting up your health check configuration. ", +"enum": [ +"OFF", +"ON" +], +"enumDescriptions": [ +"When set to OFF, you can still observe instance health state, but the group does not recreate VMs that fail the application-based health check. This is useful for troubleshooting and setting up your health check configuration.", +"(Default) The group recreates running VMs that fail the group's application-based health check." +], +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupManagerInstanceFlexibilityPolicy": { +"id": "InstanceGroupManagerInstanceFlexibilityPolicy", +"properties": { +"instanceSelectionLists": { +"additionalProperties": { +"$ref": "InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection" +}, +"description": "Named instance selections configuring properties that the group will use when creating new VMs.", +"type": "object" +}, +"instanceSelections": { +"additionalProperties": { +"$ref": "InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection" +}, +"description": "Named instance selections configuring properties that the group will use when creating new VMs.", +"type": "object" +}, +"provisioningModelMix": { +"$ref": "InstanceGroupManagerInstanceFlexibilityPolicyProvisioningModelMix", +"description": "Provisioning model configuration used by this managed instance group to create instances." +} +}, +"type": "object" +}, +"InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection": { +"id": "InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection", +"properties": { +"machineTypes": { +"description": "Full machine-type names, e.g. \"n1-standard-16\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"rank": { +"description": "Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"InstanceGroupManagerInstanceFlexibilityPolicyProvisioningModelMix": { +"id": "InstanceGroupManagerInstanceFlexibilityPolicyProvisioningModelMix", +"properties": { +"standardCapacityBase": { +"description": "The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity user needs. MIG will create only Standard VMs until it reaches standard_capacity_base and only then will start using standard_capacity_percent_above_base to mix Spot with Standard VMs.", +"format": "int32", +"type": "integer" +}, +"standardCapacityPercentAboveBase": { +"description": "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.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"InstanceGroupManagerInstanceLifecyclePolicy": { +"id": "InstanceGroupManagerInstanceLifecyclePolicy", +"properties": { +"defaultActionOnFailure": { +"description": "The action that a MIG performs on a failed VM. If the value of the onFailedHealthCheck field is `DEFAULT_ACTION`, then the same action also applies to the VMs on which your application fails a health check. Valid values are - REPAIR (default): MIG automatically repairs a failed VM by recreating it. For more information, see about repairing VMs in a MIG. - DO_NOTHING: MIG does not repair a failed VM.", +"enum": [ +"DELETE", +"DO_NOTHING", +"REPAIR" +], +"enumDescriptions": [ +"MIG deletes a failed or an unhealthy VM. Deleting the VM decreases the target size of the MIG.", +"MIG does not repair a failed VM.", +"(default): MIG automatically repairs a failed VM by recreating it. For more information, see about repairing VMs in a MIG." +], +"type": "string" +}, +"forceUpdateOnRepair": { +"description": "A bit indicating whether to forcefully apply the group's latest configuration when repairing a VM. Valid options are: - NO (default): If configuration updates are available, they are not forcefully applied during repair. Instead, configuration updates are applied according to the group's update policy. - YES: If configuration updates are available, they are applied during repair. ", +"enum": [ +"NO", +"YES" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"metadataBasedReadinessSignal": { +"$ref": "InstanceGroupManagerInstanceLifecyclePolicyMetadataBasedReadinessSignal", +"deprecated": true, +"description": "The configuration for metadata based readiness signal sent by the instance during initialization when stopping / suspending an instance. The Instance Group Manager will wait for a signal that indicates successful initialization before stopping / suspending an instance. If a successful readiness signal is not sent before timeout, the corresponding instance will not be stopped / suspended. Instead, an error will be visible in the lastAttempt.errors field of the managed instance in the listmanagedinstances method. If metadataBasedReadinessSignal.timeoutSec is unset, the Instance Group Manager will directly proceed to suspend / stop instances, skipping initialization on them." +}, +"onFailedHealthCheck": { +"description": "The action that a MIG performs on an unhealthy VM. A VM is marked as unhealthy when the application running on that VM fails a health check. Valid values are: - DEFAULT_ACTION (default): MIG uses the same action configured for instanceLifecyclePolicy.defaultActionOnFailure field. - REPAIR: MIG automatically repairs an unhealthy VM by recreating it. - DO_NOTHING: MIG doesn't repair an unhealthy VM. For more information, see about repairing VMs in a MIG. ", +"enum": [ +"DEFAULT_ACTION", +"DO_NOTHING", +"REPAIR" +], +"enumDescriptions": [ +"(Default) MIG uses the same action configured for instanceLifecyclePolicy.defaultActionOnFailure field.", +"MIG doesn't repair an unhealthy VM.", +"MIG automatically repairs an unhealthy VM by recreating it." +], +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupManagerInstanceLifecyclePolicyMetadataBasedReadinessSignal": { +"deprecated": true, +"id": "InstanceGroupManagerInstanceLifecyclePolicyMetadataBasedReadinessSignal", +"properties": { +"timeoutSec": { +"description": "The number of seconds to wait for a readiness signal during initialization before timing out.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"InstanceGroupManagerList": { +"description": "[Output Only] A list of managed instance groups.", +"id": "InstanceGroupManagerList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InstanceGroupManager resources.", +"items": { +"$ref": "InstanceGroupManager" +}, +"type": "array" +}, +"kind": { +"default": "compute#instanceGroupManagerList", +"description": "[Output Only] The resource type, which is always compute#instanceGroupManagerList for a list of managed instance groups.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"InstanceGroupManagerParams": { +"description": "Input only additional params for instance group manager creation.", +"id": "InstanceGroupManagerParams", +"properties": { +"resourceManagerTags": { +"additionalProperties": { +"type": "string" +}, +"description": "Resource manager tags to bind to the managed instance group. The tags are key-value pairs. Keys must be in the format tagKeys/123 and values in the format tagValues/456. For more information, see Manage tags for resources.", +"type": "object" +} +}, +"type": "object" +}, +"InstanceGroupManagerResizeRequest": { +"description": "InstanceGroupManagerResizeRequest represents a request to create a number of VMs: either immediately or by queuing the request for the specified time. This resize request is nested under InstanceGroupManager and the VMs created by this request are added to the owning InstanceGroupManager.", +"id": "InstanceGroupManagerResizeRequest", +"properties": { +"count": { +"deprecated": true, +"description": "This field is deprecated, please use resize_by instead. The count of instances to create as part of this resize request.", +"format": "int32", +"type": "integer" +}, +"creationTimestamp": { +"description": "[Output Only] The creation timestamp for this resize request in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] A unique identifier for this resource type. The server generates this identifier.", +"format": "uint64", +"type": "string" +}, +"instances": { +"description": "The list of specifications of per-instance configs to be created. This field cannot be used together with 'resize_by'.", +"items": { +"$ref": "PerInstanceConfig" +}, +"type": "array" +}, +"kind": { +"default": "compute#instanceGroupManagerResizeRequest", +"description": "[Output Only] The resource type, which is always compute#instanceGroupManagerResizeRequest for resize requests.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.instanceGroupManagerResizeRequests.insert" +] +}, +"description": "The name of this resize request. The name must be 1-63 characters long, and comply with RFC1035.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"queuingPolicy": { +"$ref": "QueuingPolicy", +"deprecated": true, +"description": "This field is deprecated, ResizeRequests would not be provisioned immediately and would stay in the queue until explicitly cancelled. When set, defines queing parameters for the requested deferred capacity. When unset, the request starts provisioning immediately, or fails if immediate provisioning is not possible." +}, +"region": { +"description": "[Output Only] The URL of a region where the resize request is located. Populated only for regional resize requests.", +"type": "string" +}, +"requestedRunDuration": { +"$ref": "Duration", +"description": "Requested run duration for instances that will be created by this request. At the end of the run duration instance will be deleted." +}, +"resizeBy": { +"description": "The number of instances to be created by this resize request. The group's target size will be increased by this number. This field cannot be used together with 'instances'.", +"format": "int32", +"type": "integer" +}, +"selfLink": { +"description": "[Output Only] The URL for this resize request. The server defines this URL.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource with the resource id.", +"type": "string" +}, +"state": { +"description": "[Output only] Current state of the request.", +"enum": [ +"ACCEPTED", +"CANCELLED", +"CREATING", +"DELETING", +"FAILED", +"PROVISIONING", +"STATE_UNSPECIFIED", +"SUCCEEDED" +], +"enumDeprecated": [ +false, +false, +false, +true, +false, +true, +false, +false +], +"enumDescriptions": [ +"The request was created successfully and was accepted for provisioning when the capacity becomes available.", +"The request is cancelled.", +"Resize request is being created and may still fail creation.", +"The value is deprecated. ResizeRequests would not change state while being deleted. The request is being deleted.", +"The request failed before or during provisioning. If the request fails during provisioning, any VMs that were created during provisioning are rolled back and removed from the MIG.", +"The value is deprecated. ResizeRequests would stay in the ACCEPTED state during provisioning attempts. The target resource(s) are being provisioned.", +"Default value. This value should never be returned.", +"The request succeeded." +], +"type": "string" +}, +"status": { +"$ref": "InstanceGroupManagerResizeRequestStatus", +"description": "[Output only] Status of the request." +}, +"zone": { +"description": "[Output Only] The URL of a zone where the resize request is located. Populated only for zonal resize requests.", +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupManagerResizeRequestStatus": { +"id": "InstanceGroupManagerResizeRequestStatus", +"properties": { +"error": { +"description": "[Output only] Fatal errors encountered during the queueing or provisioning phases of the ResizeRequest that caused the transition to the FAILED state. Contrary to the last_attempt errors, this field is final and errors are never removed from here, as the ResizeRequest is not going to retry.", +"properties": { +"errors": { +"description": "[Output Only] The array of errors encountered while processing this operation.", +"items": { +"properties": { +"code": { +"description": "[Output Only] The error type identifier for this error.", +"type": "string" +}, +"errorDetails": { +"description": "[Output Only] An optional list of messages that contain the error 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" +}, +"lastAttempt": { +"$ref": "InstanceGroupManagerResizeRequestStatusLastAttempt", +"description": "[Output only] Information about the last attempt to fulfill the request. The value is temporary since the ResizeRequest can retry, as long as it's still active and the last attempt value can either be cleared or replaced with a different error. Since ResizeRequest retries infrequently, the value may be stale and no longer show an active problem. The value is cleared when ResizeRequest transitions to the final state (becomes inactive). If the final state is FAILED the error describing it will be storred in the \"error\" field only." +}, +"queuingPolicy": { +"$ref": "QueuingPolicy", +"deprecated": true, +"description": "This field is deprecated, setting queueing policy is no longer supported. Constraints for the time when the instances start provisioning. Always exposed as absolute time." +} +}, +"type": "object" +}, +"InstanceGroupManagerResizeRequestStatusLastAttempt": { +"id": "InstanceGroupManagerResizeRequestStatusLastAttempt", +"properties": { +"error": { +"description": "Errors that prevented the ResizeRequest to be fulfilled.", +"properties": { +"errors": { +"description": "[Output Only] The array of errors encountered while processing this operation.", +"items": { +"properties": { +"code": { +"description": "[Output Only] The error type identifier for this error.", +"type": "string" +}, +"errorDetails": { +"description": "[Output Only] An optional list of messages that contain the error 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" +} +}, +"type": "object" +}, +"InstanceGroupManagerResizeRequestsListResponse": { +"description": "[Output Only] A list of resize requests.", +"id": "InstanceGroupManagerResizeRequestsListResponse", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of resize request resources.", +"items": { +"$ref": "InstanceGroupManagerResizeRequest" +}, +"type": "array" +}, +"kind": { +"default": "compute#instanceGroupManagerResizeRequestList", +"description": "[Output Only] Type of the resource. Always compute#instanceGroupManagerResizeRequestList for a list of resize requests.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"InstanceGroupManagerResourcePolicies": { +"id": "InstanceGroupManagerResourcePolicies", +"properties": { +"workloadPolicy": { +"description": "The URL of the workload policy that is specified for this managed instance group. It can be a full or partial URL. For example, the following are all valid URLs to a workload policy: - https://www.googleapis.com/compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy - projects/project/regions/region/resourcePolicies/resourcePolicy - regions/region/resourcePolicies/resourcePolicy ", +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupManagerStandbyPolicy": { +"id": "InstanceGroupManagerStandbyPolicy", +"properties": { +"initialDelaySec": { +"description": "Specifies the number of seconds that the MIG should wait to suspend or stop a VM after that VM was created. The initial delay gives the initialization script the time to prepare your VM for a quick scale out. The value of initial delay must be between 0 and 3600 seconds. The default value is 0.", +"format": "int32", +"type": "integer" +}, +"mode": { +"description": "Defines how a MIG resumes or starts VMs from a standby pool when the group scales out. The default mode is `MANUAL`.", +"enum": [ +"MANUAL", +"SCALE_OUT_POOL" +], +"enumDescriptions": [ +"MIG does not automatically resume or start VMs in the standby pool when the group scales out.", +"MIG automatically resumes or starts VMs in the standby pool when the group scales out, and replenishes the standby pool afterwards." +], +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupManagerStatus": { +"id": "InstanceGroupManagerStatus", +"properties": { +"allInstancesConfig": { +"$ref": "InstanceGroupManagerStatusAllInstancesConfig", +"description": "[Output only] Status of all-instances configuration on the group." +}, +"autoscaler": { +"description": "[Output Only] The URL of the Autoscaler that targets this instance group manager.", +"type": "string" +}, +"bulkInstanceOperation": { +"$ref": "InstanceGroupManagerStatusBulkInstanceOperation", +"description": "[Output Only] Status of bulk instance operation." +}, +"isStable": { +"description": "[Output Only] A bit indicating whether the managed instance group is in a stable state. A stable state means that: none of the instances in the managed instance group is currently undergoing any type of change (for example, creation, restart, or deletion); no future changes are scheduled for instances in the managed instance group; and the managed instance group itself is not being modified.", +"type": "boolean" +}, +"stateful": { +"$ref": "InstanceGroupManagerStatusStateful", +"description": "[Output Only] Stateful status of the given Instance Group Manager." +}, +"versionTarget": { +"$ref": "InstanceGroupManagerStatusVersionTarget", +"description": "[Output Only] A status of consistency of Instances' versions with their target version specified by version field on Instance Group Manager." +} +}, +"type": "object" +}, +"InstanceGroupManagerStatusAllInstancesConfig": { +"id": "InstanceGroupManagerStatusAllInstancesConfig", +"properties": { +"currentRevision": { +"description": "[Output Only] Current all-instances configuration revision. This value is in RFC3339 text format.", +"type": "string" +}, +"effective": { +"description": "[Output Only] A bit indicating whether this configuration has been applied to all managed instances in the group.", +"type": "boolean" +} +}, +"type": "object" +}, +"InstanceGroupManagerStatusBulkInstanceOperation": { +"id": "InstanceGroupManagerStatusBulkInstanceOperation", +"properties": { +"inProgress": { +"description": "[Output Only] Informs whether bulk instance operation is in progress.", +"type": "boolean" +}, +"lastProgressCheck": { +"$ref": "InstanceGroupManagerStatusBulkInstanceOperationLastProgressCheck", +"description": "[Output Only] Information from last progress check of bulk instance operation." +} +}, +"type": "object" +}, +"InstanceGroupManagerStatusBulkInstanceOperationLastProgressCheck": { +"id": "InstanceGroupManagerStatusBulkInstanceOperationLastProgressCheck", +"properties": { +"error": { +"description": "[Output Only] Contains errors encountered during bulk instance operation.", +"properties": { +"errors": { +"description": "[Output Only] The array of errors encountered while processing this operation.", +"items": { +"properties": { +"code": { +"description": "[Output Only] The error type identifier for this error.", +"type": "string" +}, +"errorDetails": { +"description": "[Output Only] An optional list of messages that contain the error 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" +}, +"timestamp": { +"description": "[Output Only] Timestamp of the last progress check of bulk instance operation. Timestamp is in RFC3339 text format.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupManagerStatusStateful": { +"id": "InstanceGroupManagerStatusStateful", +"properties": { +"hasStatefulConfig": { +"description": "[Output Only] A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful configuration even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions.", +"type": "boolean" +}, +"isStateful": { +"deprecated": true, +"description": "[Output Only] A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful configuration even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions. This field is deprecated in favor of has_stateful_config.", +"type": "boolean" +}, +"perInstanceConfigs": { +"$ref": "InstanceGroupManagerStatusStatefulPerInstanceConfigs", +"description": "[Output Only] Status of per-instance configurations on the instances." +} +}, +"type": "object" +}, +"InstanceGroupManagerStatusStatefulPerInstanceConfigs": { +"id": "InstanceGroupManagerStatusStatefulPerInstanceConfigs", +"properties": { +"allEffective": { +"description": "A bit indicating if all of the group's per-instance configurations (listed in the output of a listPerInstanceConfigs API call) have status EFFECTIVE or there are no per-instance-configs.", +"type": "boolean" +} +}, +"type": "object" +}, +"InstanceGroupManagerStatusVersionTarget": { +"id": "InstanceGroupManagerStatusVersionTarget", +"properties": { +"isReached": { +"description": "[Output Only] A bit indicating whether version target has been reached in this managed instance group, i.e. all instances are in their target version. Instances' target version are specified by version field on Instance Group Manager.", +"type": "boolean" +} +}, +"type": "object" +}, +"InstanceGroupManagerTargetSizePolicy": { +"id": "InstanceGroupManagerTargetSizePolicy", +"properties": { +"mode": { +"description": "Mode in which operations on size are processed.", +"enum": [ +"BULK", +"INDIVIDUAL", +"UNSPECIFIED_MODE" +], +"enumDescriptions": [ +"Mode in which MIG creates and starts VMs in all-or-nothing manner. If any VM from the request cannot be provisioned, the whole request waits for conditions that allow for provisioning whole capacity in bulk.", +"Default mode in which MIG creates and starts VMs individually without cross-dependency between VMs. This means that in case of something blocking part of VMs to be provisioned, the other part will be created.", +"If mode is unspecified, MIG will behave as in the default `INDIVIDUAL` mode." +], +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupManagerUpdatePolicy": { +"id": "InstanceGroupManagerUpdatePolicy", +"properties": { +"instanceRedistributionType": { +"description": "The instance redistribution policy for regional managed instance groups. Valid values are: - PROACTIVE (default): The group attempts to maintain an even distribution of VM instances across zones in the region. - NONE: For non-autoscaled groups, proactive redistribution is disabled. ", +"enum": [ +"NONE", +"PROACTIVE" +], +"enumDescriptions": [ +"No action is being proactively performed in order to bring this IGM to its target instance distribution.", +"This IGM will actively converge to its target instance distribution." +], +"type": "string" +}, +"maxSurge": { +"$ref": "FixedOrPercent", +"description": "The maximum number of instances that can be created above the specified targetSize during the update process. This value can be either a fixed number or, if the group has 10 or more instances, a percentage. If you set a percentage, the number of instances is rounded if necessary. The default value for maxSurge is a fixed value equal to the number of zones in which the managed instance group operates. At least one of either maxSurge or maxUnavailable must be greater than 0. Learn more about maxSurge." +}, +"maxUnavailable": { +"$ref": "FixedOrPercent", +"description": "The maximum number of instances that can be unavailable during the update process. An instance is considered available if all of the following conditions are satisfied: - The instance's status is RUNNING. - If there is a health check on the instance group, the instance's health check status must be HEALTHY at least once. If there is no health check on the group, then the instance only needs to have a status of RUNNING to be considered available. This value can be either a fixed number or, if the group has 10 or more instances, a percentage. If you set a percentage, the number of instances is rounded if necessary. The default value for maxUnavailable is a fixed value equal to the number of zones in which the managed instance group operates. At least one of either maxSurge or maxUnavailable must be greater than 0. Learn more about maxUnavailable." +}, +"minReadySec": { +"description": "Minimum number of seconds to wait for after a newly created instance becomes available. This value must be from range [0, 3600].", +"format": "int32", +"type": "integer" +}, +"minimalAction": { +"description": "Minimal action to be taken on an instance. Use this option to minimize disruption as much as possible or to apply a more disruptive action than is necessary. - To limit disruption as much as possible, set the minimal action to REFRESH. If your update requires a more disruptive action, Compute Engine performs the necessary action to execute the update. - To apply a more disruptive action than is strictly necessary, set the minimal action to RESTART or REPLACE. For example, Compute Engine does not need to restart a VM to change its metadata. But if your application reads instance metadata only when a VM is restarted, you can set the minimal action to RESTART in order to pick up metadata changes. ", +"enum": [ +"NONE", +"REFRESH", +"REPLACE", +"RESTART" +], +"enumDescriptions": [ +"Do not perform any action.", +"Do not stop the instance.", +"(Default.) Replace the instance according to the replacement method option.", +"Stop the instance and start it again." +], +"type": "string" +}, +"mostDisruptiveAllowedAction": { +"description": "Most disruptive action that is allowed to be taken on an instance. You can specify either NONE to forbid any actions, REFRESH to avoid restarting the VM and to limit disruption as much as possible. RESTART to allow actions that can be applied without instance replacing or REPLACE to allow all possible actions. If the Updater determines that the minimal update action needed is more disruptive than most disruptive allowed action you specify it will not perform the update at all.", +"enum": [ +"NONE", +"REFRESH", +"REPLACE", +"RESTART" +], +"enumDescriptions": [ +"Do not perform any action.", +"Do not stop the instance.", +"(Default.) Replace the instance according to the replacement method option.", +"Stop the instance and start it again." +], +"type": "string" +}, +"replacementMethod": { +"description": "What action should be used to replace instances. See minimal_action.REPLACE", +"enum": [ +"RECREATE", +"SUBSTITUTE" +], +"enumDescriptions": [ +"Instances will be recreated (with the same name)", +"Default option: instances will be deleted and created (with a new name)" +], +"type": "string" +}, +"type": { +"description": "The type of update process. You can specify either PROACTIVE so that the MIG automatically updates VMs to the latest configurations or OPPORTUNISTIC so that you can select the VMs that you want to update.", +"enum": [ +"OPPORTUNISTIC", +"PROACTIVE" +], +"enumDescriptions": [ +"MIG will apply new configurations to existing VMs only when you selectively target specific or all VMs to be updated.", +"MIG will automatically apply new configurations to all or a subset of existing VMs and also to new VMs that are added to the group." +], +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupManagerVersion": { +"id": "InstanceGroupManagerVersion", +"properties": { +"instanceTemplate": { +"description": "The URL of the instance template that is specified for this managed instance group. The group uses this template to create new instances in the managed instance group until the `targetSize` for this version is reached. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE; in those cases, existing instances are updated until the `targetSize` for this version is reached.", +"type": "string" +}, +"name": { +"description": "Name of the version. Unique among all versions in the scope of this managed instance group.", +"type": "string" +}, +"tag": { +"description": "Tag describing the version. Used to trigger rollout of a target version even if instance_template remains unchanged. Deprecated in favor of 'name'.", +"type": "string" +}, +"targetSize": { +"$ref": "FixedOrPercent", +"description": "Specifies the intended number of instances to be created from the instanceTemplate. The final number of instances created from the template will be equal to: - If expressed as a fixed number, the minimum of either targetSize.fixed or instanceGroupManager.targetSize is used. - if expressed as a percent, the targetSize would be (targetSize.percent/100 * InstanceGroupManager.targetSize) If there is a remainder, the number is rounded. If unset, this version will update any remaining instances not updated by another version. Read Starting a canary update for more information." +} +}, +"type": "object" +}, +"InstanceGroupManagersAbandonInstancesRequest": { +"id": "InstanceGroupManagersAbandonInstancesRequest", +"properties": { +"instances": { +"description": "The URLs of one or more instances to abandon. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupManagersApplyUpdatesRequest": { +"description": "InstanceGroupManagers.applyUpdatesToInstances", +"id": "InstanceGroupManagersApplyUpdatesRequest", +"properties": { +"allInstances": { +"description": "Flag to update all instances instead of specified list of \u201cinstances\u201d. If the flag is set to true then the instances may not be specified in the request.", +"type": "boolean" +}, +"instances": { +"description": "The list of URLs of one or more instances for which you want to apply updates. Each URL can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +}, +"maximalAction": { +"description": "The maximal action that should be performed on the instances. By default REPLACE. This field is deprecated, please use most_disruptive_allowed_action.", +"enum": [ +"NONE", +"REFRESH", +"REPLACE", +"RESTART" +], +"enumDescriptions": [ +"Do not perform any action.", +"Do not stop the instance.", +"(Default.) Replace the instance according to the replacement method option.", +"Stop the instance and start it again." +], +"type": "string" +}, +"minimalAction": { +"description": "The minimal action that you want to perform on each instance during the update: - REPLACE: At minimum, delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the minimum action is NONE. If your update requires a more disruptive action than you set with this flag, the necessary action is performed to execute the update.", +"enum": [ +"NONE", +"REFRESH", +"REPLACE", +"RESTART" +], +"enumDescriptions": [ +"Do not perform any action.", +"Do not stop the instance.", +"(Default.) Replace the instance according to the replacement method option.", +"Stop the instance and start it again." +], +"type": "string" +}, +"mostDisruptiveAllowedAction": { +"description": "The most disruptive action that you want to perform on each instance during the update: - REPLACE: Delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the most disruptive allowed action is REPLACE. If your update requires a more disruptive action than you set with this flag, the update request will fail.", +"enum": [ +"NONE", +"REFRESH", +"REPLACE", +"RESTART" +], +"enumDescriptions": [ +"Do not perform any action.", +"Do not stop the instance.", +"(Default.) Replace the instance according to the replacement method option.", +"Stop the instance and start it again." +], +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupManagersCreateInstancesRequest": { +"description": "InstanceGroupManagers.createInstances", +"id": "InstanceGroupManagersCreateInstancesRequest", +"properties": { +"instances": { +"description": "[Required] List of specifications of per-instance configs.", +"items": { +"$ref": "PerInstanceConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupManagersDeleteInstancesRequest": { +"id": "InstanceGroupManagersDeleteInstancesRequest", +"properties": { +"instanceNames": { +"description": "The list of instance names to delete. Queued instances do not have URL and can be deleted only by name. You cannot specify both URLs and names in a single request.", +"items": { +"type": "string" +}, +"type": "array" +}, +"instances": { +"description": "The URLs of one or more instances to delete. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. Queued instances do not have URL and can be deleted only by name. One cannot specify both URLs and names in a single request.", +"items": { +"type": "string" +}, +"type": "array" +}, +"skipInstancesOnValidationError": { +"description": "Specifies whether the request should proceed despite the inclusion of instances that are not members of the group or that are already in the process of being deleted or abandoned. If this field is set to `false` and such an instance is specified in the request, the operation fails. The operation always fails if the request contains a malformed instance URL or a reference to an instance that exists in a zone or region other than the group's zone or region.", +"type": "boolean" +} +}, +"type": "object" +}, +"InstanceGroupManagersDeletePerInstanceConfigsReq": { +"description": "InstanceGroupManagers.deletePerInstanceConfigs", +"id": "InstanceGroupManagersDeletePerInstanceConfigsReq", +"properties": { +"names": { +"description": "The list of instance names for which we want to delete per-instance configs on this managed instance group.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupManagersListErrorsResponse": { +"id": "InstanceGroupManagersListErrorsResponse", +"properties": { +"items": { +"description": "[Output Only] The list of errors of the managed instance group.", +"items": { +"$ref": "InstanceManagedByIgmError" +}, +"type": "array" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupManagersListManagedInstancesResponse": { +"id": "InstanceGroupManagersListManagedInstancesResponse", +"properties": { +"managedInstances": { +"description": "[Output Only] The list of instances in the managed instance group.", +"items": { +"$ref": "ManagedInstance" +}, +"type": "array" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupManagersListPerInstanceConfigsResp": { +"id": "InstanceGroupManagersListPerInstanceConfigsResp", +"properties": { +"items": { +"description": "[Output Only] The list of PerInstanceConfig.", +"items": { +"$ref": "PerInstanceConfig" +}, +"type": "array" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"InstanceGroupManagersPatchPerInstanceConfigsReq": { +"description": "InstanceGroupManagers.patchPerInstanceConfigs", +"id": "InstanceGroupManagersPatchPerInstanceConfigsReq", +"properties": { +"perInstanceConfigs": { +"description": "The list of per-instance configurations to insert or patch on this managed instance group.", +"items": { +"$ref": "PerInstanceConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupManagersRecreateInstancesRequest": { +"id": "InstanceGroupManagersRecreateInstancesRequest", +"properties": { +"instances": { +"description": "The URLs of one or more instances to recreate. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupManagersResizeAdvancedRequest": { +"id": "InstanceGroupManagersResizeAdvancedRequest", +"properties": { +"noCreationRetries": { +"description": "If this flag is true, the managed instance group attempts to create all instances initiated by this resize request only once. If there is an error during creation, the managed instance group does not retry create this instance, and we will decrease the targetSize of the request instead. If the flag is false, the group attempts to recreate each instance continuously until it succeeds. This flag matters only in the first attempt of creation of an instance. After an instance is successfully created while this flag is enabled, the instance behaves the same way as all the other instances created with a regular resize request. In particular, if a running instance dies unexpectedly at a later time and needs to be recreated, this mode does not affect the recreation behavior in that scenario. This flag is applicable only to the current resize request. It does not influence other resize requests in any way. You can see which instances is being creating in which mode by calling the get or listManagedInstances API.", +"type": "boolean" +}, +"targetSize": { +"description": "The number of running instances that the managed instance group should maintain at any given time. The group automatically adds or removes instances to maintain the number of instances specified by this parameter.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"InstanceGroupManagersResumeInstancesRequest": { +"id": "InstanceGroupManagersResumeInstancesRequest", +"properties": { +"instances": { +"description": "The URLs of one or more instances to resume. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupManagersScopedList": { +"id": "InstanceGroupManagersScopedList", +"properties": { +"instanceGroupManagers": { +"description": "[Output Only] The list of managed instance groups that are contained in the specified project and zone.", +"items": { +"$ref": "InstanceGroupManager" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] The warning that replaces the list of managed instance groups when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"InstanceGroupManagersSetAutoHealingRequest": { +"id": "InstanceGroupManagersSetAutoHealingRequest", +"properties": { +"autoHealingPolicies": { +"items": { +"$ref": "InstanceGroupManagerAutoHealingPolicy" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupManagersSetInstanceTemplateRequest": { +"id": "InstanceGroupManagersSetInstanceTemplateRequest", +"properties": { +"instanceTemplate": { +"description": "The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE.", +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupManagersSetTargetPoolsRequest": { +"id": "InstanceGroupManagersSetTargetPoolsRequest", +"properties": { +"fingerprint": { +"description": "The fingerprint of the target pools information. Use this optional property to prevent conflicts when multiple users change the target pools settings concurrently. Obtain the fingerprint with the instanceGroupManagers.get method. Then, include the fingerprint in your request to ensure that you do not overwrite changes that were applied from another concurrent request.", +"format": "byte", +"type": "string" +}, +"targetPools": { +"description": "The list of target pool URLs that instances in this managed instance group belong to. The managed instance group applies these target pools to all of the instances in the group. Existing instances and new instances in the group all receive these target pool settings.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupManagersStartInstancesRequest": { +"id": "InstanceGroupManagersStartInstancesRequest", +"properties": { +"instances": { +"description": "The URLs of one or more instances to start. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupManagersStopInstancesRequest": { +"id": "InstanceGroupManagersStopInstancesRequest", +"properties": { +"forceStop": { +"description": "If this flag is set to true, the Instance Group Manager will proceed to stop the instances, skipping initialization on them.", +"type": "boolean" +}, +"instances": { +"description": "The URLs of one or more instances to stop. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupManagersSuspendInstancesRequest": { +"id": "InstanceGroupManagersSuspendInstancesRequest", +"properties": { +"forceSuspend": { +"description": "If this flag is set to true, the Instance Group Manager will proceed to suspend the instances, skipping initialization on them.", +"type": "boolean" +}, +"instances": { +"description": "The URLs of one or more instances to suspend. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupManagersUpdatePerInstanceConfigsReq": { +"description": "InstanceGroupManagers.updatePerInstanceConfigs", +"id": "InstanceGroupManagersUpdatePerInstanceConfigsReq", +"properties": { +"perInstanceConfigs": { +"description": "The list of per-instance configurations to insert or patch on this managed instance group.", +"items": { +"$ref": "PerInstanceConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupsAddInstancesRequest": { +"id": "InstanceGroupsAddInstancesRequest", +"properties": { +"instances": { +"description": "The list of instances to add to the instance group.", +"items": { +"$ref": "InstanceReference" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupsListInstances": { +"id": "InstanceGroupsListInstances", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InstanceWithNamedPorts resources.", +"items": { +"$ref": "InstanceWithNamedPorts" +}, +"type": "array" +}, +"kind": { +"default": "compute#instanceGroupsListInstances", +"description": "[Output Only] The resource type, which is always compute#instanceGroupsListInstances for the list of instances in the specified instance group.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"InstanceGroupsListInstancesRequest": { +"id": "InstanceGroupsListInstancesRequest", +"properties": { +"instanceState": { +"description": "A filter for the state of the instances in the instance group. Valid options are ALL or RUNNING. If you do not specify this parameter the list includes all instances regardless of their state.", +"enum": [ +"ALL", +"RUNNING" +], +"enumDescriptions": [ +"Includes all instances in the generated list regardless of their state.", +"Includes instances in the generated list only if they have a RUNNING state." +], +"type": "string" +} +}, +"type": "object" +}, +"InstanceGroupsRemoveInstancesRequest": { +"id": "InstanceGroupsRemoveInstancesRequest", +"properties": { +"instances": { +"description": "The list of instances to remove from the instance group.", +"items": { +"$ref": "InstanceReference" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceGroupsScopedList": { +"id": "InstanceGroupsScopedList", +"properties": { +"instanceGroups": { +"description": "[Output Only] The list of instance groups that are contained in this scope.", +"items": { +"$ref": "InstanceGroup" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] An informational warning that replaces the list of instance groups when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"InstanceGroupsSetNamedPortsRequest": { +"id": "InstanceGroupsSetNamedPortsRequest", +"properties": { +"fingerprint": { +"description": "The fingerprint of the named ports information for this instance group. Use this optional property to prevent conflicts when multiple users change the named ports settings concurrently. Obtain the fingerprint with the instanceGroups.get method. Then, include the fingerprint in your request to ensure that you do not overwrite changes that were applied from another concurrent request. A request with an incorrect fingerprint will fail with error 412 conditionNotMet.", +"format": "byte", +"type": "string" +}, +"namedPorts": { +"description": "The list of named ports to set for this instance group.", +"items": { +"$ref": "NamedPort" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstanceList": { +"description": "Contains a list of instances.", +"id": "InstanceList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Instance resources.", +"items": { +"$ref": "Instance" +}, +"type": "array" +}, +"kind": { +"default": "compute#instanceList", +"description": "[Output Only] Type of resource. Always compute#instanceList for lists of Instance resources.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"InstanceListReferrers": { +"description": "Contains a list of instance referrers.", +"id": "InstanceListReferrers", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Reference resources.", +"items": { +"$ref": "Reference" +}, +"type": "array" +}, +"kind": { +"default": "compute#instanceListReferrers", +"description": "[Output Only] Type of resource. Always compute#instanceListReferrers for lists of Instance referrers.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"InstanceManagedByIgmError": { +"id": "InstanceManagedByIgmError", +"properties": { +"error": { +"$ref": "InstanceManagedByIgmErrorManagedInstanceError", +"description": "[Output Only] Contents of the error." +}, +"instanceActionDetails": { +"$ref": "InstanceManagedByIgmErrorInstanceActionDetails", +"description": "[Output Only] Details of the instance action that triggered this error. May be null, if the error was not caused by an action on an instance. This field is optional." +}, +"timestamp": { +"description": "[Output Only] The time that this error occurred. This value is in RFC3339 text format.", +"type": "string" +} +}, +"type": "object" +}, +"InstanceManagedByIgmErrorInstanceActionDetails": { +"id": "InstanceManagedByIgmErrorInstanceActionDetails", +"properties": { +"action": { +"description": "[Output Only] Action that managed instance group was executing on the instance when the error occurred. Possible values:", +"enum": [ +"ABANDONING", +"CREATING", +"CREATING_ATOMICALLY", +"CREATING_WITHOUT_RETRIES", +"DELETING", +"NONE", +"QUEUING", +"RECREATING", +"REFRESHING", +"RESTARTING", +"RESUMING", +"STARTING", +"STOPPING", +"SUSPENDING", +"VERIFYING" +], +"enumDescriptions": [ +"The managed instance group is abandoning this instance. The instance will be removed from the instance group and from any target pools that are associated with this group.", +"The managed instance group is creating this instance. If the group fails to create this instance, it will try again until it is successful.", +"The managed instance group is creating this instance atomically.", +"The managed instance group is attempting to create this instance only once. If the group fails to create this instance, it does not try again and the group's targetSize value is decreased.", +"The managed instance group is permanently deleting this instance.", +"The managed instance group has not scheduled any actions for this instance.", +"The managed instance group is queuing this instance.", +"The managed instance group is recreating this instance.", +"The managed instance group is applying configuration changes to the instance without stopping it. For example, the group can update the target pool list for an instance without stopping that instance.", +"The managed instance group is restarting this instance.", +"The managed instance group is resuming this instance.", +"The managed instance group is starting this instance.", +"The managed instance group is stopping this instance.", +"The managed instance group is suspending this instance.", +"The managed instance group is verifying this already created instance. Verification happens every time the instance is (re)created or restarted and consists of: 1. Waiting until health check specified as part of this managed instance group's autohealing policy reports HEALTHY. Note: Applies only if autohealing policy has a health check specified 2. Waiting for addition verification steps performed as post-instance creation (subject to future extensions)." +], +"type": "string" +}, +"instance": { +"description": "[Output Only] The URL of the instance. The URL can be set even if the instance has not yet been created.", +"type": "string" +}, +"version": { +"$ref": "ManagedInstanceVersion", +"description": "[Output Only] Version this instance was created from, or was being created from, but the creation failed. Corresponds to one of the versions that were set on the Instance Group Manager resource at the time this instance was being created." +} +}, +"type": "object" +}, +"InstanceManagedByIgmErrorManagedInstanceError": { +"id": "InstanceManagedByIgmErrorManagedInstanceError", +"properties": { +"code": { +"description": "[Output Only] Error code.", +"type": "string" +}, +"message": { +"description": "[Output Only] Error message.", +"type": "string" +} +}, +"type": "object" +}, +"InstanceMoveRequest": { +"id": "InstanceMoveRequest", +"properties": { +"destinationZone": { +"description": "The URL of the destination zone to move the instance. This can be a full or partial URL. For example, the following are all valid URLs to a zone: - https://www.googleapis.com/compute/v1/projects/project/zones/zone - projects/project/zones/zone - zones/zone ", +"type": "string" +}, +"targetInstance": { +"description": "The URL of the target instance to move. This can be a full or partial URL. For example, the following are all valid URLs to an instance: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /instances/instance - projects/project/zones/zone/instances/instance - zones/zone/instances/instance ", +"type": "string" +} +}, +"type": "object" +}, +"InstanceParams": { +"description": "Additional instance params.", +"id": "InstanceParams", +"properties": { +"resourceManagerTags": { +"additionalProperties": { +"type": "string" +}, +"description": "Resource manager tags to be bound to the instance. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty.", +"type": "object" +} +}, +"type": "object" +}, +"InstanceProperties": { +"id": "InstanceProperties", +"properties": { +"advancedMachineFeatures": { +"$ref": "AdvancedMachineFeatures", +"description": "Controls for advanced machine-related behavior features. Note that for MachineImage, this is not supported yet." +}, +"canIpForward": { +"description": "Enables instances created based on these properties to send packets with source IP addresses other than their own and receive packets with destination IP addresses other than their own. If these instances will be used as an IP gateway or it will be set as the next-hop in a Route resource, specify true. If unsure, leave this set to false. See the Enable IP forwarding documentation for more information.", +"type": "boolean" +}, +"confidentialInstanceConfig": { +"$ref": "ConfidentialInstanceConfig", +"description": "Specifies the Confidential Instance options. Note that for MachineImage, this is not supported yet." +}, +"description": { +"description": "An optional text description for the instances that are created from these properties.", +"type": "string" +}, +"disks": { +"description": "An array of disks that are associated with the instances that are created from these properties.", +"items": { +"$ref": "AttachedDisk" +}, +"type": "array" +}, +"displayDevice": { +"$ref": "DisplayDevice", +"description": "Display Device properties to enable support for remote display products like: Teradici, VNC and TeamViewer Note that for MachineImage, this is not supported yet." +}, +"guestAccelerators": { +"description": "A list of guest accelerator cards' type and count to use for instances created from these properties.", +"items": { +"$ref": "AcceleratorConfig" +}, +"type": "array" +}, +"keyRevocationActionType": { +"description": "KeyRevocationActionType of the instance. Supported options are \"STOP\" and \"NONE\". The default value is \"NONE\" if it is not specified.", +"enum": [ +"KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", +"NONE", +"STOP" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Indicates user chose no operation.", +"Indicates user chose to opt for VM shutdown on key revocation." +], +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to instances that are created from these properties.", +"type": "object" +}, +"machineType": { +"annotations": { +"required": [ +"compute.instanceTemplates.insert" +] +}, +"description": "The machine type to use for instances that are created from these properties. This field only accepts a machine type name, for example `n2-standard-4`. If you use the machine type full or partial URL, for example `projects/my-l7ilb-project/zones/us-central1-a/machineTypes/n2-standard-4`, the request will result in an `INTERNAL_ERROR`.", +"type": "string" +}, +"metadata": { +"$ref": "Metadata", +"description": "The metadata key/value pairs to assign to instances that are created from these properties. These pairs can consist of custom metadata or predefined keys. See Project and instance metadata for more information." +}, +"minCpuPlatform": { +"description": "Minimum cpu/platform to be used by instances. The instance may be scheduled on the specified or newer cpu/platform. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: \"Intel Haswell\" or minCpuPlatform: \"Intel Sandy Bridge\". For more information, read Specifying a Minimum CPU Platform.", +"type": "string" +}, +"networkInterfaces": { +"description": "An array of network access configurations for this interface.", +"items": { +"$ref": "NetworkInterface" +}, +"type": "array" +}, +"networkPerformanceConfig": { +"$ref": "NetworkPerformanceConfig", +"description": "Note that for MachineImage, this is not supported yet." +}, +"partnerMetadata": { +"additionalProperties": { +"$ref": "StructuredEntries" +}, +"description": "Partner Metadata assigned to the instance properties. A map from a subdomain (namespace) to entries map.", +"type": "object" +}, +"postKeyRevocationActionType": { +"description": "PostKeyRevocationActionType of the instance.", +"enum": [ +"NOOP", +"POST_KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", +"SHUTDOWN" +], +"enumDescriptions": [ +"Indicates user chose no operation.", +"Default value. This value is unused.", +"Indicates user chose to opt for VM shutdown on key revocation." +], +"type": "string" +}, +"privateIpv6GoogleAccess": { +"description": "The private IPv6 google access type for VMs. If not specified, use INHERIT_FROM_SUBNETWORK as default. Note that for MachineImage, this is not supported yet.", +"enum": [ +"ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE", +"ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE", +"INHERIT_FROM_SUBNETWORK" +], +"enumDescriptions": [ +"Bidirectional private IPv6 access to/from Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before.", +"Outbound private IPv6 access from VMs in this subnet to Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before.", +"Each network interface inherits PrivateIpv6GoogleAccess from its subnetwork." +], +"type": "string" +}, +"reservationAffinity": { +"$ref": "ReservationAffinity", +"description": "Specifies the reservations that instances can consume from. Note that for MachineImage, this is not supported yet." +}, +"resourceManagerTags": { +"additionalProperties": { +"type": "string" +}, +"description": "Resource manager tags to be bound to the instance. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty.", +"type": "object" +}, +"resourcePolicies": { +"description": "Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet.", +"items": { +"type": "string" +}, +"type": "array" +}, +"scheduling": { +"$ref": "Scheduling", +"description": "Specifies the scheduling options for the instances that are created from these properties." +}, +"secureTags": { +"description": "[Input Only] Secure tags to apply to this instance. Maximum number of secure tags allowed is 50. Note that for MachineImage, this is not supported yet.", +"items": { +"type": "string" +}, +"type": "array" +}, +"serviceAccounts": { +"description": "A list of service accounts with specified scopes. Access tokens for these service accounts are available to the instances that are created from these properties. Use metadata queries to obtain the access tokens for these instances.", +"items": { +"$ref": "ServiceAccount" +}, +"type": "array" +}, +"serviceIntegrationSpecs": { +"additionalProperties": { +"$ref": "ServiceIntegrationSpec" +}, +"description": "Mapping of user defined keys to ServiceIntegrationSpec.", +"type": "object" +}, +"shieldedInstanceConfig": { +"$ref": "ShieldedInstanceConfig", +"description": "Note that for MachineImage, this is not supported yet." +}, +"shieldedVmConfig": { +"$ref": "ShieldedVmConfig", +"description": "Specifies the Shielded VM options for the instances that are created from these properties." +}, +"tags": { +"$ref": "Tags", +"description": "A list of tags to apply to the instances that are created from these properties. The tags identify valid sources or targets for network firewalls. The setTags method can modify this list of tags. Each tag within the list must comply with RFC1035." +} +}, +"type": "object" +}, +"InstancePropertiesPatch": { +"description": "Represents the change that you want to make to the instance properties.", +"id": "InstancePropertiesPatch", +"properties": { +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The label key-value pairs that you want to patch onto the instance.", +"type": "object" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "The metadata key-value pairs that you want to patch onto the instance. For more information, see Project and instance metadata.", +"type": "object" +} +}, +"type": "object" +}, +"InstanceReference": { +"id": "InstanceReference", +"properties": { +"instance": { +"description": "The URL for a specific instance. @required compute.instancegroups.addInstances/removeInstances", +"type": "string" +} +}, +"type": "object" +}, +"InstanceSettings": { +"description": "Represents a Instance Settings resource. You can use instance settings to configure default settings for Compute Engine VM instances. For example, you can use it to configure default machine type of Compute Engine VM instances.", +"id": "InstanceSettings", +"properties": { +"email": { +"description": "Email address of the service account.", +"type": "string" +}, +"fingerprint": { +"description": "Specifies a fingerprint for instance settings, which is essentially a hash of the instance settings resource's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update the instance settings resource. You must always provide an up-to-date fingerprint hash in order to update or change the resource, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the resource.", +"format": "byte", +"type": "string" +}, +"kind": { +"default": "compute#instanceSettings", +"description": "[Output Only] Type of the resource. Always compute#instance_settings for instance settings.", +"type": "string" +}, +"metadata": { +"$ref": "InstanceSettingsMetadata", +"description": "The metadata key/value pairs assigned to all the instances in the corresponding scope." +}, +"zone": { +"description": "[Output Only] URL of the zone where the resource resides You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +} +}, +"type": "object" +}, +"InstanceSettingsMetadata": { +"id": "InstanceSettingsMetadata", +"properties": { +"items": { +"additionalProperties": { +"type": "string" +}, +"description": "A metadata key/value items map. The total size of all keys and values must be less than 512KB.", +"type": "object" +}, +"kind": { +"default": "compute#metadata", +"description": "[Output Only] Type of the resource. Always compute#metadata for metadata.", +"type": "string" +} +}, +"type": "object" +}, +"InstanceTemplate": { +"description": "Represents an Instance Template resource. Google Compute Engine has two Instance Template resources: * [Global](/compute/docs/reference/rest/alpha/instanceTemplates) * [Regional](/compute/docs/reference/rest/alpha/regionInstanceTemplates) You can reuse a global instance template in different regions whereas you can use a regional instance template in a specified region only. If you want to reduce cross-region dependency or achieve data residency, use a regional instance template. To create VMs, managed instance groups, and reservations, you can use either global or regional instance templates. For more information, read Instance Templates.", +"id": "InstanceTemplate", +"properties": { +"creationTimestamp": { +"description": "[Output Only] The creation timestamp for this instance template in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] A unique identifier for this instance template. The server defines this identifier.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#instanceTemplate", +"description": "[Output Only] The resource type, which is always compute#instanceTemplate for instance templates.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.instanceTemplates.insert" +] +}, +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"properties": { +"$ref": "InstanceProperties", +"description": "The instance properties for this instance template." +}, +"region": { +"description": "[Output Only] URL of the region where the instance template resides. Only applicable for regional resources.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] The URL for this instance template. The server defines this URL.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource with the resource id.", +"type": "string" +}, +"sourceInstance": { +"description": "The source instance used to create the template. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /instances/instance - projects/project/zones/zone/instances/instance ", +"type": "string" +}, +"sourceInstanceParams": { +"$ref": "SourceInstanceParams", +"description": "The source instance params to use to create this instance template." +} +}, +"type": "object" +}, +"InstanceTemplateAggregatedList": { +"description": "Contains a list of InstanceTemplatesScopedList.", +"id": "InstanceTemplateAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "InstanceTemplatesScopedList", +"description": "The name of the scope that contains this set of instance templates." +}, +"description": "A list of InstanceTemplatesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#instanceTemplateAggregatedList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"InstanceTemplateList": { +"description": "A list of instance templates.", +"id": "InstanceTemplateList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InstanceTemplate resources.", +"items": { +"$ref": "InstanceTemplate" +}, +"type": "array" +}, +"kind": { +"default": "compute#instanceTemplateList", +"description": "[Output Only] The resource type, which is always compute#instanceTemplatesListResponse for instance template lists.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"InstanceTemplatesScopedList": { +"id": "InstanceTemplatesScopedList", +"properties": { +"instanceTemplates": { +"description": "[Output Only] A list of instance templates that are contained within the specified project and zone.", +"items": { +"$ref": "InstanceTemplate" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] An informational warning that replaces the list of instance templates when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"InstanceWithNamedPorts": { +"id": "InstanceWithNamedPorts", +"properties": { +"instance": { +"description": "[Output Only] The URL of the instance.", +"type": "string" +}, +"namedPorts": { +"description": "[Output Only] The named ports that belong to this instance group.", +"items": { +"$ref": "NamedPort" +}, +"type": "array" +}, +"status": { +"description": "[Output Only] The status of the instance.", +"enum": [ +"DEPROVISIONING", +"PENDING_STOP", +"PROVISIONING", +"REPAIRING", +"RUNNING", +"STAGING", +"STOPPED", +"STOPPING", +"SUSPENDED", +"SUSPENDING", +"TERMINATED" +], +"enumDescriptions": [ +"The instance is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.", +"The instance is gracefully shutting down.", +"Resources are being allocated for the instance.", +"The instance is in repair.", +"The instance is running.", +"All required resources have been allocated and the instance is being started.", +"The instance has stopped successfully.", +"The instance is currently stopping (either being deleted or killed).", +"The instance has suspended.", +"The instance is suspending.", +"The instance has stopped (either by explicit action or underlying failure)." +], +"type": "string" +} +}, +"type": "object" +}, +"InstancesAddResourcePoliciesRequest": { +"id": "InstancesAddResourcePoliciesRequest", +"properties": { +"resourcePolicies": { +"description": "Resource policies to be added to this instance.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"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" +}, +"InstancesGetEffectiveFirewallsResponse": { +"id": "InstancesGetEffectiveFirewallsResponse", +"properties": { +"firewallPolicys": { +"description": "[Output Only] Effective firewalls from firewall policies.", +"items": { +"$ref": "InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy" +}, +"type": "array" +}, +"firewalls": { +"description": "Effective firewalls on the instance.", +"items": { +"$ref": "Firewall" +}, +"type": "array" +}, +"organizationFirewalls": { +"description": "Effective firewalls from organization policies.", +"items": { +"$ref": "InstancesGetEffectiveFirewallsResponseOrganizationFirewallPolicy" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy": { +"id": "InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy", +"properties": { +"displayName": { +"deprecated": true, +"description": "[Output Only] Deprecated, please use short name instead. The display name of the firewall policy.", +"type": "string" +}, +"name": { +"description": "[Output Only] The name of the firewall policy.", +"type": "string" +}, +"packetMirroringRules": { +"description": "[Output Only] The packet mirroring rules that apply to the instance.", +"items": { +"$ref": "FirewallPolicyRule" +}, +"type": "array" +}, +"priority": { +"description": "[Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY.", +"format": "int32", +"type": "integer" +}, +"rules": { +"description": "[Output Only] The rules that apply to the instance. Only rules that target the specific VM instance are returned if target service accounts or target secure tags are specified in the rules.", +"items": { +"$ref": "FirewallPolicyRule" +}, +"type": "array" +}, +"shortName": { +"description": "[Output Only] The short name of the firewall policy.", +"type": "string" +}, +"type": { +"description": "[Output Only] The type of the firewall policy. Can be one of HIERARCHY, NETWORK, NETWORK_REGIONAL, SYSTEM_GLOBAL, SYSTEM_REGIONAL.", +"enum": [ +"HIERARCHY", +"NETWORK", +"NETWORK_REGIONAL", +"SYSTEM_GLOBAL", +"SYSTEM_REGIONAL", +"UNSPECIFIED" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"InstancesGetEffectiveFirewallsResponseOrganizationFirewallPolicy": { +"description": "A pruned SecurityPolicy containing ID and any applicable firewall rules.", +"id": "InstancesGetEffectiveFirewallsResponseOrganizationFirewallPolicy", +"properties": { +"id": { +"description": "The unique identifier for the security policy. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"rules": { +"description": "The rules that apply to the network.", +"items": { +"$ref": "SecurityPolicyRule" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstancesRemoveResourcePoliciesRequest": { +"id": "InstancesRemoveResourcePoliciesRequest", +"properties": { +"resourcePolicies": { +"description": "Resource policies to be removed from this instance.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstancesReportHostAsFaultyRequest": { +"id": "InstancesReportHostAsFaultyRequest", +"properties": { +"actionHint": { +"description": "The action hint to report the host as faulty.", +"enum": [ +"ACTION_HINT_UNSPECIFIED", +"DIAGNOSE_AND_REPAIR", +"EXECUTE_ALL_RECOMMENDED_SCANS" +], +"enumDescriptions": [ +"Default value. Euivalent to DIAGNOSE_AND_REPAIR.", +"The action hint to diagnose and repair the host.", +"The action hint to execute recommended scans without sending the machine through hwops." +], +"type": "string" +}, +"faultReasons": { +"items": { +"$ref": "InstancesReportHostAsFaultyRequestFaultReason" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstancesReportHostAsFaultyRequestFaultReason": { +"id": "InstancesReportHostAsFaultyRequestFaultReason", +"properties": { +"behavior": { +"enum": [ +"BEHAVIOR_UNSPECIFIED", +"PERFORMANCE", +"SILENT_DATA_CORRUPTION", +"UNRECOVERABLE_GPU_ERROR" +], +"enumDescriptions": [ +"Public reportable behaviors", +"", +"", +"" +], +"type": "string" +}, +"description": { +"type": "string" +} +}, +"type": "object" +}, +"InstancesResumeRequest": { +"id": "InstancesResumeRequest", +"properties": { +"disks": { +"description": "Array of disks associated with this instance that are protected with a customer-supplied encryption key. In order to resume the instance, the disk url and its corresponding key must be provided. If the disk is not protected with a customer-supplied encryption key it should not be specified.", +"items": { +"$ref": "CustomerEncryptionKeyProtectedDisk" +}, +"type": "array" +}, +"instanceEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Decrypts data associated with an instance that is protected with a customer-supplied encryption key. If the instance you are starting is protected with a customer-supplied encryption key, the correct key must be provided otherwise the instance resume will not succeed." +} +}, +"type": "object" +}, +"InstancesScopedList": { +"id": "InstancesScopedList", +"properties": { +"instances": { +"description": "[Output Only] A list of instances contained in this scope.", +"items": { +"$ref": "Instance" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of instances when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"InstancesSetLabelsRequest": { +"id": "InstancesSetLabelsRequest", +"properties": { +"labelFingerprint": { +"description": "Fingerprint of the previous set of labels for this resource, used to prevent conflicts. Provide the latest fingerprint value when making a request to add or change labels.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"type": "object" +} +}, +"type": "object" +}, +"InstancesSetMachineResourcesRequest": { +"id": "InstancesSetMachineResourcesRequest", +"properties": { +"guestAccelerators": { +"description": "A list of the type and count of accelerator cards attached to the instance.", +"items": { +"$ref": "AcceleratorConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstancesSetMachineTypeRequest": { +"id": "InstancesSetMachineTypeRequest", +"properties": { +"machineType": { +"description": "Full or partial URL of the machine type resource. See Machine Types for a full list of machine types. For example: zones/us-central1-f/machineTypes/n1-standard-1", +"type": "string" +} +}, +"type": "object" +}, +"InstancesSetMinCpuPlatformRequest": { +"id": "InstancesSetMinCpuPlatformRequest", +"properties": { +"minCpuPlatform": { +"description": "Minimum cpu/platform this instance should be started at.", +"type": "string" +} +}, +"type": "object" +}, +"InstancesSetNameRequest": { +"id": "InstancesSetNameRequest", +"properties": { +"currentName": { +"description": "The current name of this resource, used to prevent conflicts. Provide the latest name when making a request to change name.", +"type": "string" +}, +"name": { +"description": "The name to be applied to the instance. Needs to be RFC 1035 compliant.", +"type": "string" +} +}, +"type": "object" +}, +"InstancesSetSecurityPolicyRequest": { +"id": "InstancesSetSecurityPolicyRequest", +"properties": { +"networkInterfaces": { +"description": "The network interfaces that the security policy will be applied to. Network interfaces use the nicN naming format. You can only set a security policy for network interfaces with an access config.", +"items": { +"type": "string" +}, +"type": "array" +}, +"securityPolicy": { +"description": "A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.", +"type": "string" +} +}, +"type": "object" +}, +"InstancesSetServiceAccountRequest": { +"id": "InstancesSetServiceAccountRequest", +"properties": { +"email": { +"description": "Email address of the service account.", +"type": "string" +}, +"scopes": { +"description": "The list of scopes to be made available for this service account.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstancesStartWithEncryptionKeyRequest": { +"id": "InstancesStartWithEncryptionKeyRequest", +"properties": { +"disks": { +"description": "Array of disks associated with this instance that are protected with a customer-supplied encryption key. In order to start the instance, the disk url and its corresponding key must be provided. If the disk is not protected with a customer-supplied encryption key it should not be specified.", +"items": { +"$ref": "CustomerEncryptionKeyProtectedDisk" +}, +"type": "array" +}, +"instanceEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Decrypts data associated with an instance that is protected with a customer-supplied encryption key. If the instance you are starting is protected with a customer-supplied encryption key, the correct key must be provided otherwise the instance start will not succeed." +} +}, +"type": "object" +}, +"InstantSnapshot": { +"description": "Represents a InstantSnapshot resource. You can use instant snapshots to create disk rollback points quickly..", +"id": "InstantSnapshot", +"properties": { +"architecture": { +"description": "[Output Only] The architecture of the instant snapshot. Valid values are ARM64 or X86_64.", +"enum": [ +"ARCHITECTURE_UNSPECIFIED", +"ARM64", +"X86_64" +], +"enumDescriptions": [ +"Default value indicating Architecture is not set.", +"Machines with architecture ARM64", +"Machines with architecture X86_64" +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"diskSizeGb": { +"description": "[Output Only] Size of the source disk, specified in GB.", +"format": "int64", +"type": "string" +}, +"guestFlush": { +"description": "Whether to attempt an application consistent instant snapshot by informing the OS to prepare for the snapshot process.", +"type": "boolean" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#instantSnapshot", +"description": "[Output Only] Type of the resource. Always compute#instantSnapshot for InstantSnapshot resources.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this InstantSnapshot, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a InstantSnapshot.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to this InstantSnapshot. These can be later modified by the setLabels method. Label values may be empty.", +"type": "object" +}, +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the instant snapshot resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"resourceStatus": { +"$ref": "InstantSnapshotResourceStatus", +"description": "[Output Only] Status information for the instant snapshot resource." +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource's resource id.", +"type": "string" +}, +"sourceDisk": { +"description": "URL of the source disk used to create this instant snapshot. Note that the source disk must be in the same zone/region as the instant snapshot to be created. This can be a full or valid partial URL. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk ", +"type": "string" +}, +"sourceDiskId": { +"description": "[Output Only] The ID value of the disk used to create this InstantSnapshot. This value may be used to determine whether the InstantSnapshot was taken from the current or a previous instance of a given disk name.", +"type": "string" +}, +"sourceInstantSnapshotGroup": { +"description": "[Output Only] URL of the source instant snapshot this instant snapshot is part of. Note that the source instant snapshot group must be in the same zone/region as the instant snapshot to be created. This can be a full or valid partial URL.", +"type": "string" +}, +"sourceInstantSnapshotGroupId": { +"description": "[Output Only] The ID value of the source instant snapshot group this InstantSnapshot is part of. This value may be used to determine whether the InstantSnapshot was created as part of an InstantSnapshotGroup creation.", +"type": "string" +}, +"status": { +"description": "[Output Only] The status of the instantSnapshot. This can be CREATING, DELETING, FAILED, or READY.", +"enum": [ +"CREATING", +"DELETING", +"FAILED", +"READY", +"UNAVAILABLE" +], +"enumDescriptions": [ +"InstantSnapshot creation is in progress.", +"InstantSnapshot is currently being deleted.", +"InstantSnapshot creation failed.", +"InstantSnapshot has been created successfully.", +"InstantSnapshot is currently unavailable and cannot be used for Disk restoration" +], +"type": "string" +}, +"zone": { +"description": "[Output Only] URL of the zone where the instant snapshot resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +} +}, +"type": "object" +}, +"InstantSnapshotAggregatedList": { +"id": "InstantSnapshotAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "InstantSnapshotsScopedList", +"description": "[Output Only] Name of the scope containing this set of instantSnapshots." +}, +"description": "A list of InstantSnapshotsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#instantSnapshotAggregatedList", +"description": "[Output Only] Type of resource. Always compute#instantSnapshotAggregatedList for aggregated lists of instantSnapshots.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"InstantSnapshotGroup": { +"description": "Represents an InstantSnapshotGroup resource. An instant snapshot group is a set of instant snapshots that represents a point in time state of a consistency group.", +"id": "InstantSnapshotGroup", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "Optional. An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#instantSnapshotGroup", +"description": "[Output Only] Type of the resource. Always compute#instantSnapshotGroup for InstantSnapshotGroup resources.", +"type": "string" +}, +"name": { +"description": "Identifier. 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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the instant snapshot group resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"resourceStatus": { +"$ref": "InstantSnapshotGroupResourceStatus" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource's resource id.", +"type": "string" +}, +"sourceConsistencyGroup": { +"type": "string" +}, +"status": { +"description": "[Output Only]", +"enum": [ +"CREATING", +"DELETING", +"FAILED", +"INVALID", +"READY", +"UNKNOWN" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"zone": { +"description": "[Output Only] URL of the zone where the instant snapshot group resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +} +}, +"type": "object" +}, +"InstantSnapshotGroupResourceStatus": { +"id": "InstantSnapshotGroupResourceStatus", +"properties": { +"consistencyMembershipResolutionTime": { +"description": "[Output Only]", +"format": "google-datetime", +"type": "string" +}, +"sourceInfo": { +"$ref": "InstantSnapshotGroupSourceInfo", +"description": "[Output Only]" +} +}, +"type": "object" +}, +"InstantSnapshotGroupSourceInfo": { +"id": "InstantSnapshotGroupSourceInfo", +"properties": { +"consistencyGroup": { +"type": "string" +}, +"consistencyGroupId": { +"type": "string" +} +}, +"type": "object" +}, +"InstantSnapshotList": { +"description": "Contains a list of InstantSnapshot resources.", +"id": "InstantSnapshotList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InstantSnapshot resources.", +"items": { +"$ref": "InstantSnapshot" +}, +"type": "array" +}, +"kind": { +"default": "compute#instantSnapshotList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"InstantSnapshotResourceStatus": { +"id": "InstantSnapshotResourceStatus", +"properties": { +"storageSizeBytes": { +"description": "[Output Only] The storage size of this instant snapshot.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"InstantSnapshotsScopedList": { +"id": "InstantSnapshotsScopedList", +"properties": { +"instantSnapshots": { +"description": "[Output Only] A list of instantSnapshots contained in this scope.", +"items": { +"$ref": "InstantSnapshot" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of instantSnapshots when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"Int64RangeMatch": { +"description": "HttpRouteRuleMatch criteria for field values that must stay within the specified integer range.", +"id": "Int64RangeMatch", +"properties": { +"rangeEnd": { +"description": "The end of the range (exclusive) in signed long integer format.", +"format": "int64", +"type": "string" +}, +"rangeStart": { +"description": "The start of the range (inclusive) in signed long integer format.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"Interconnect": { +"description": "Represents an Interconnect resource. An Interconnect resource is a dedicated connection between the Google Cloud network and your on-premises network. For more information, read the Dedicated Interconnect Overview.", +"id": "Interconnect", +"properties": { +"aaiEnabled": { +"description": "Enable or disable the application awareness feature on this Cloud Interconnect.", +"type": "boolean" +}, +"adminEnabled": { +"description": "Administrative status of the interconnect. When this is set to true, the Interconnect is functional and can carry traffic. When set to false, no packets can be carried over the interconnect and no BGP routes are exchanged over it. By default, the status is set to true.", +"type": "boolean" +}, +"applicationAwareInterconnect": { +"$ref": "InterconnectApplicationAwareInterconnect", +"description": "Configuration information for application awareness on this Cloud Interconnect." +}, +"availableFeatures": { +"description": "[Output only] List of features available for this Interconnect connection, which can take one of the following values: - IF_MACSEC If present then the Interconnect connection is provisioned on MACsec capable hardware ports. If not present then the Interconnect connection is provisioned on non-MACsec capable ports and MACsec isn't supported and enabling MACsec fails.", +"items": { +"enum": [ +"IF_CROSS_SITE_NETWORK", +"IF_MACSEC" +], +"enumDescriptions": [ +"Cross Site Networking", +"Media Access Control security (MACsec)" +], +"type": "string" +}, +"type": "array" +}, +"circuitInfos": { +"description": "[Output Only] A list of CircuitInfo objects, that describe the individual circuits in this LAG.", +"items": { +"$ref": "InterconnectCircuitInfo" +}, +"type": "array" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"customerName": { +"description": "Customer name, to put in the Letter of Authorization as the party authorized to request a crossconnect.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"expectedOutages": { +"description": "[Output Only] A list of outages expected for this Interconnect.", +"items": { +"$ref": "InterconnectOutageNotification" +}, +"type": "array" +}, +"googleIpAddress": { +"description": "[Output Only] IP address configured on the Google side of the Interconnect link. This can be used only for ping tests.", +"type": "string" +}, +"googleReferenceId": { +"description": "[Output Only] Google reference ID to be used when raising support tickets with Google or otherwise to debug backend connectivity issues.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"interconnectAttachments": { +"description": "[Output Only] A list of the URLs of all InterconnectAttachments configured to use this Interconnect.", +"items": { +"type": "string" +}, +"type": "array" +}, +"interconnectGroups": { +"description": "[Output Only] URLs of InterconnectGroups that include this Interconnect. Order is arbitrary and items are unique.", +"items": { +"type": "string" +}, +"type": "array" +}, +"interconnectType": { +"description": "Type of interconnect, which can take one of the following values: - PARTNER: A partner-managed interconnection shared between customers though a partner. - DEDICATED: A dedicated physical interconnection with the customer. Note that a value IT_PRIVATE has been deprecated in favor of DEDICATED.", +"enum": [ +"DEDICATED", +"IT_PRIVATE", +"PARTNER" +], +"enumDescriptions": [ +"A dedicated physical interconnection with the customer.", +"[Deprecated] A private, physical interconnection with the customer.", +"A partner-managed interconnection shared between customers via partner." +], +"type": "string" +}, +"kind": { +"default": "compute#interconnect", +"description": "[Output Only] Type of the resource. Always compute#interconnect for interconnects.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this Interconnect, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an Interconnect.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", +"type": "object" +}, +"linkType": { +"description": "Type of link requested, which can take one of the following values: - LINK_TYPE_ETHERNET_10G_LR: A 10G Ethernet with LR optics - LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics. Note that this field indicates the speed of each of the links in the bundle, not the speed of the entire bundle.", +"enum": [ +"LINK_TYPE_ETHERNET_100G_LR", +"LINK_TYPE_ETHERNET_10G_LR" +], +"enumDescriptions": [ +"100G Ethernet, LR Optics.", +"10G Ethernet, LR Optics. [(rate_bps) = 10000000000];" +], +"type": "string" +}, +"location": { +"description": "URL of the InterconnectLocation object that represents where this connection is to be provisioned.", +"type": "string" +}, +"macsec": { +"$ref": "InterconnectMacsec", +"description": "Configuration that enables Media Access Control security (MACsec) on the Cloud Interconnect connection between Google and your on-premises router." +}, +"macsecEnabled": { +"description": "Enable or disable MACsec on this Interconnect connection. MACsec enablement fails if the MACsec object is not specified.", +"type": "boolean" +}, +"name": { +"annotations": { +"required": [ +"compute.interconnects.insert" +] +}, +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"nocContactEmail": { +"description": "Email address to contact the customer NOC for operations and maintenance notifications regarding this Interconnect. If specified, this will be used for notifications in addition to all other forms described, such as Cloud Monitoring logs alerting and Cloud Notifications. This field is required for users who sign up for Cloud Interconnect using workforce identity federation.", +"type": "string" +}, +"operationalStatus": { +"description": "[Output Only] The current status of this Interconnect's functionality, which can take one of the following values: - OS_ACTIVE: A valid Interconnect, which is turned up and is ready to use. Attachments may be provisioned on this Interconnect. - OS_UNPROVISIONED: An Interconnect that has not completed turnup. No attachments may be provisioned on this Interconnect. - OS_UNDER_MAINTENANCE: An Interconnect that is undergoing internal maintenance. No attachments may be provisioned or updated on this Interconnect. ", +"enum": [ +"OS_ACTIVE", +"OS_UNPROVISIONED" +], +"enumDescriptions": [ +"The interconnect is valid, turned up, and ready to use. Attachments may be provisioned on this interconnect.", +"The interconnect has not completed turnup. No attachments may be provisioned on this interconnect." +], +"type": "string" +}, +"peerIpAddress": { +"description": "[Output Only] IP address configured on the customer side of the Interconnect link. The customer should configure this IP address during turnup when prompted by Google NOC. This can be used only for ping tests.", +"type": "string" +}, +"provisionedLinkCount": { +"description": "[Output Only] Number of links actually provisioned in this interconnect.", +"format": "int32", +"type": "integer" +}, +"remoteLocation": { +"description": "Indicates that this is a Cross-Cloud Interconnect. This field specifies the location outside of Google's network that the interconnect is connected to.", +"type": "string" +}, +"requestedFeatures": { +"description": "Optional. List of features requested for this Interconnect connection, which can take one of the following values: - IF_MACSEC If specified then the connection is created on MACsec capable hardware ports. If not specified, the default value is false, which allocates non-MACsec capable ports first if available. This parameter can be provided only with Interconnect INSERT. It isn't valid for Interconnect PATCH.", +"items": { +"enum": [ +"IF_CROSS_SITE_NETWORK", +"IF_MACSEC" +], +"enumDescriptions": [ +"Cross Site Networking", +"Media Access Control security (MACsec)" +], +"type": "string" +}, +"type": "array" +}, +"requestedLinkCount": { +"description": "Target number of physical links in the link bundle, as requested by the customer.", +"format": "int32", +"type": "integer" +}, +"satisfiesPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"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" +}, +"state": { +"description": "[Output Only] The current state of Interconnect functionality, which can take one of the following values: - ACTIVE: The Interconnect is valid, turned up and ready to use. Attachments may be provisioned on this Interconnect. - UNPROVISIONED: The Interconnect has not completed turnup. No attachments may be provisioned on this Interconnect. - UNDER_MAINTENANCE: The Interconnect is undergoing internal maintenance. No attachments may be provisioned or updated on this Interconnect. ", +"enum": [ +"ACTIVE", +"UNPROVISIONED" +], +"enumDescriptions": [ +"The interconnect is valid, turned up, and ready to use. Attachments may be provisioned on this interconnect.", +"The interconnect has not completed turnup. No attachments may be provisioned on this interconnect." +], +"type": "string" +}, +"wireGroups": { +"description": "[Output Only] A list of the URLs of all CrossSiteNetwork WireGroups configured to use this Interconnect. The Interconnect cannot be deleted if this list is non-empty.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InterconnectApplicationAwareInterconnect": { +"description": "Configuration information for application awareness on this Cloud Interconnect.", +"id": "InterconnectApplicationAwareInterconnect", +"properties": { +"bandwidthPercentagePolicy": { +"$ref": "InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy" +}, +"profileDescription": { +"description": "Description for the application awareness profile on this Cloud Interconnect.", +"type": "string" +}, +"shapeAveragePercentages": { +"description": "Optional field to specify a list of shape average percentages to be applied in conjunction with StrictPriorityPolicy or BandwidthPercentagePolicy.", +"items": { +"$ref": "InterconnectApplicationAwareInterconnectBandwidthPercentage" +}, +"type": "array" +}, +"strictPriorityPolicy": { +"$ref": "InterconnectApplicationAwareInterconnectStrictPriorityPolicy" +} +}, +"type": "object" +}, +"InterconnectApplicationAwareInterconnectBandwidthPercentage": { +"description": "Specify bandwidth percentages [1-100] for various traffic classes in BandwidthPercentagePolicy. The sum of all percentages must equal 100. All traffic classes must have a percentage value specified.", +"id": "InterconnectApplicationAwareInterconnectBandwidthPercentage", +"properties": { +"percentage": { +"description": "Bandwidth percentage for a specific traffic class.", +"format": "uint32", +"type": "integer" +}, +"trafficClass": { +"description": "TrafficClass whose bandwidth percentage is being specified.", +"enum": [ +"TC1", +"TC2", +"TC3", +"TC4", +"TC5", +"TC6" +], +"enumDescriptions": [ +"Traffic Class 1, corresponding to DSCP ranges (0-7) 000xxx.", +"Traffic Class 2, corresponding to DSCP ranges (8-15) 001xxx.", +"Traffic Class 3, corresponding to DSCP ranges (16-23) 010xxx.", +"Traffic Class 4, corresponding to DSCP ranges (24-31) 011xxx.", +"Traffic Class 5, corresponding to DSCP ranges (32-47) 10xxxx.", +"Traffic Class 6, corresponding to DSCP ranges (48-63) 11xxxx." +], +"type": "string" +} +}, +"type": "object" +}, +"InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy": { +"id": "InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy", +"properties": { +"bandwidthPercentages": { +"description": "Specify bandwidth percentages for various traffic classes for queuing type Bandwidth Percent.", +"items": { +"$ref": "InterconnectApplicationAwareInterconnectBandwidthPercentage" +}, +"type": "array" +} +}, +"type": "object" +}, +"InterconnectApplicationAwareInterconnectStrictPriorityPolicy": { +"description": "Specify configuration for StrictPriorityPolicy.", +"id": "InterconnectApplicationAwareInterconnectStrictPriorityPolicy", +"properties": {}, +"type": "object" +}, +"InterconnectAttachment": { +"description": "Represents an Interconnect Attachment (VLAN) resource. You can use Interconnect attachments (VLANS) to connect your Virtual Private Cloud networks to your on-premises networks through an Interconnect. For more information, read Creating VLAN Attachments.", +"id": "InterconnectAttachment", +"properties": { +"adminEnabled": { +"description": "Determines whether this Attachment will carry packets. Not present for PARTNER_PROVIDER.", +"type": "boolean" +}, +"attachmentGroup": { +"description": "[Output Only] URL of the AttachmentGroup that includes this Attachment.", +"type": "string" +}, +"bandwidth": { +"description": "Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s - BPS_100G: 100 Gbit/s ", +"enum": [ +"BPS_100G", +"BPS_100M", +"BPS_10G", +"BPS_1G", +"BPS_200M", +"BPS_20G", +"BPS_2G", +"BPS_300M", +"BPS_400M", +"BPS_500M", +"BPS_50G", +"BPS_50M", +"BPS_5G" +], +"enumDescriptions": [ +"100 Gbit/s", +"100 Mbit/s", +"10 Gbit/s", +"1 Gbit/s", +"200 Mbit/s", +"20 Gbit/s", +"2 Gbit/s", +"300 Mbit/s", +"400 Mbit/s", +"500 Mbit/s", +"50 Gbit/s", +"50 Mbit/s", +"5 Gbit/s" +], +"type": "string" +}, +"candidateCloudRouterIpAddress": { +"description": "Single IPv4 address + prefix length to be configured on the cloud router interface for this interconnect attachment. - Both candidate_cloud_router_ip_address and candidate_customer_router_ip_address fields must be set or both must be unset. - Prefix length of both candidate_cloud_router_ip_address and candidate_customer_router_ip_address must be the same. - Max prefix length is 31. ", +"type": "string" +}, +"candidateCloudRouterIpv6Address": { +"description": "Single IPv6 address + prefix length to be configured on the cloud router interface for this interconnect attachment. - Both candidate_cloud_router_ipv6_address and candidate_customer_router_ipv6_address fields must be set or both must be unset. - Prefix length of both candidate_cloud_router_ipv6_address and candidate_customer_router_ipv6_address must be the same. - Max prefix length is 126. ", +"type": "string" +}, +"candidateCustomerRouterIpAddress": { +"description": "Single IPv4 address + prefix length to be configured on the customer router interface for this interconnect attachment.", +"type": "string" +}, +"candidateCustomerRouterIpv6Address": { +"description": "Single IPv6 address + prefix length to be configured on the customer router interface for this interconnect attachment.", +"type": "string" +}, +"candidateIpv6Subnets": { +"description": "This field is not available.", +"items": { +"type": "string" +}, +"type": "array" +}, +"candidateSubnets": { +"description": "Input only. Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will randomly select an unused /29 from all of link-local space.", +"items": { +"type": "string" +}, +"type": "array" +}, +"cloudRouterIpAddress": { +"description": "[Output Only] IPv4 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment.", +"type": "string" +}, +"cloudRouterIpv6Address": { +"description": "[Output Only] IPv6 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment.", +"type": "string" +}, +"cloudRouterIpv6InterfaceId": { +"description": "This field is not available.", +"type": "string" +}, +"configurationConstraints": { +"$ref": "InterconnectAttachmentConfigurationConstraints", +"description": "[Output Only] Constraints for this attachment, if any. The attachment does not work if these constraints are not met." +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"customerRouterIpAddress": { +"description": "[Output Only] IPv4 address + prefix length to be configured on the customer router subinterface for this interconnect attachment.", +"type": "string" +}, +"customerRouterIpv6Address": { +"description": "[Output Only] IPv6 address + prefix length to be configured on the customer router subinterface for this interconnect attachment.", +"type": "string" +}, +"customerRouterIpv6InterfaceId": { +"description": "This field is not available.", +"type": "string" +}, +"dataplaneVersion": { +"description": "[Output Only] Dataplane version for this InterconnectAttachment. This field is only present for Dataplane version 2 and higher. Absence of this field in the API output indicates that the Dataplane is version 1.", +"format": "int32", +"type": "integer" +}, +"description": { +"description": "An optional description of this resource.", +"type": "string" +}, +"edgeAvailabilityDomain": { +"description": "Input only. Desired availability domain for the attachment. Only available for type PARTNER, at creation time, and can take one of the following values: - AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For improved reliability, customers should configure a pair of attachments, one per availability domain. The selected availability domain will be provided to the Partner via the pairing key, so that the provisioned circuit will lie in the specified domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY.", +"enum": [ +"AVAILABILITY_DOMAIN_1", +"AVAILABILITY_DOMAIN_2", +"AVAILABILITY_DOMAIN_ANY" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"encryption": { +"description": "Indicates the user-supplied encryption option of this VLAN attachment (interconnectAttachment). Can only be specified at attachment creation for PARTNER or DEDICATED attachments. Possible values are: - NONE - This is the default value, which means that the VLAN attachment carries unencrypted traffic. VMs are able to send traffic to, or receive traffic from, such a VLAN attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such a VLAN attachment. To use *HA VPN over Cloud Interconnect*, the VLAN attachment must be created with this option. ", +"enum": [ +"IPSEC", +"NONE" +], +"enumDescriptions": [ +"The interconnect attachment will carry only encrypted traffic that is encrypted by an IPsec device such as HA VPN gateway; VMs cannot directly send traffic to or receive traffic from such an interconnect attachment. To use HA VPN over Cloud Interconnect, the interconnect attachment must be created with this option.", +"This is the default value, which means the Interconnect Attachment will carry unencrypted traffic. VMs will be able to send traffic to or receive traffic from such interconnect attachment." +], +"type": "string" +}, +"googleReferenceId": { +"deprecated": true, +"description": "[Output Only] Google reference ID, to be used when raising support tickets with Google or otherwise to debug backend connectivity issues. [Deprecated] This field is not used.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"interconnect": { +"description": "URL of the underlying Interconnect object that this attachment's traffic will traverse through.", +"type": "string" +}, +"ipsecInternalAddresses": { +"description": "A list of URLs of addresses that have been reserved for the VLAN attachment. Used only for the VLAN attachment that has the encryption option as IPSEC. The addresses must be regional internal IP address ranges. When creating an HA VPN gateway over the VLAN attachment, if the attachment is configured to use a regional internal IP address, then the VPN gateway's IP address is allocated from the IP address range specified here. For example, if the HA VPN gateway's interface 0 is paired to this VLAN attachment, then a regional internal IP address for the VPN gateway interface 0 will be allocated from the IP address specified for this VLAN attachment. If this field is not specified when creating the VLAN attachment, then later on when creating an HA VPN gateway on this VLAN attachment, the HA VPN gateway's IP address is allocated from the regional external IP address pool.", +"items": { +"type": "string" +}, +"type": "array" +}, +"kind": { +"default": "compute#interconnectAttachment", +"description": "[Output Only] Type of the resource. Always compute#interconnectAttachment for interconnect attachments.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this InterconnectAttachment, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an InterconnectAttachment.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", +"type": "object" +}, +"mtu": { +"description": "Maximum Transmission Unit (MTU), in bytes, of packets passing through this interconnect attachment. Only 1440 and 1500 are allowed. If not specified, the value will default to 1440.", +"format": "int32", +"type": "integer" +}, +"multicastEnabled": { +"description": "Whether or not to permit multicast traffic for this attachment. Multicast packets will be dropped if this is not enabled.", +"type": "boolean" +}, +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"operationalStatus": { +"description": "[Output Only] The current status of whether or not this interconnect attachment is functional, which can take one of the following values: - OS_ACTIVE: The attachment has been turned up and is ready to use. - OS_UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete. ", +"enum": [ +"OS_ACTIVE", +"OS_UNPROVISIONED" +], +"enumDescriptions": [ +"Indicates that attachment has been turned up and is ready to use.", +"Indicates that attachment is not ready to use yet, because turnup is not complete." +], +"type": "string" +}, +"pairingKey": { +"description": "[Output only for type PARTNER. Input only for PARTNER_PROVIDER. Not present for DEDICATED]. The opaque identifier of a PARTNER attachment used to initiate provisioning with a selected partner. Of the form \"XXXXX/region/domain\"", +"type": "string" +}, +"partnerAsn": { +"description": "Optional BGP ASN for the router supplied by a Layer 3 Partner if they configured BGP on behalf of the customer. Output only for PARTNER type, input only for PARTNER_PROVIDER, not available for DEDICATED.", +"format": "int64", +"type": "string" +}, +"partnerMetadata": { +"$ref": "InterconnectAttachmentPartnerMetadata", +"description": "Informational metadata about Partner attachments from Partners to display to customers. Output only for PARTNER type, mutable for PARTNER_PROVIDER, not available for DEDICATED." +}, +"privateInterconnectInfo": { +"$ref": "InterconnectAttachmentPrivateInfo", +"description": "[Output Only] Information specific to an InterconnectAttachment. This property is populated if the interconnect that this is attached to is of type DEDICATED." +}, +"region": { +"description": "[Output Only] URL of the region where the regional interconnect attachment resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"remoteService": { +"description": "[Output Only] If the attachment is on a Cross-Cloud Interconnect connection, this field contains the interconnect's remote location service provider. Example values: \"Amazon Web Services\" \"Microsoft Azure\". The field is set only for attachments on Cross-Cloud Interconnect connections. Its value is copied from the InterconnectRemoteLocation remoteService field.", +"type": "string" +}, +"router": { +"description": "URL of the Cloud Router to be used for dynamic routing. This router must be in the same region as this InterconnectAttachment. The InterconnectAttachment will automatically connect the Interconnect to the network & region within which the Cloud Router is configured.", +"type": "string" +}, +"satisfiesPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"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" +}, +"stackType": { +"description": "The stack type for this interconnect attachment to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at interconnect attachments creation and update interconnect attachment operations.", +"enum": [ +"IPV4_IPV6", +"IPV4_ONLY" +], +"enumDescriptions": [ +"The interconnect attachment can have both IPv4 and IPv6 addresses.", +"The interconnect attachment will only be assigned IPv4 addresses." +], +"type": "string" +}, +"state": { +"description": "[Output Only] The current state of this attachment's functionality. Enum values ACTIVE and UNPROVISIONED are shared by DEDICATED/PRIVATE, PARTNER, and PARTNER_PROVIDER interconnect attachments, while enum values PENDING_PARTNER, PARTNER_REQUEST_RECEIVED, and PENDING_CUSTOMER are used for only PARTNER and PARTNER_PROVIDER interconnect attachments. This state can take one of the following values: - ACTIVE: The attachment has been turned up and is ready to use. - UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete. - PENDING_PARTNER: A newly-created PARTNER attachment that has not yet been configured on the Partner side. - PARTNER_REQUEST_RECEIVED: A PARTNER attachment is in the process of provisioning after a PARTNER_PROVIDER attachment was created that references it. - PENDING_CUSTOMER: A PARTNER or PARTNER_PROVIDER attachment that is waiting for a customer to activate it. - DEFUNCT: The attachment was deleted externally and is no longer functional. This could be because the associated Interconnect was removed, or because the other side of a Partner attachment was deleted. ", +"enum": [ +"ACTIVE", +"DEFUNCT", +"PARTNER_REQUEST_RECEIVED", +"PENDING_CUSTOMER", +"PENDING_PARTNER", +"STATE_UNSPECIFIED", +"UNPROVISIONED" +], +"enumDescriptions": [ +"Indicates that attachment has been turned up and is ready to use.", +"The attachment was deleted externally and is no longer functional. This could be because the associated Interconnect was wiped out, or because the other side of a Partner attachment was deleted.", +"A PARTNER attachment is in the process of provisioning after a PARTNER_PROVIDER attachment was created that references it.", +"PARTNER or PARTNER_PROVIDER attachment that is waiting for the customer to activate.", +"A newly created PARTNER attachment that has not yet been configured on the Partner side.", +"", +"Indicates that attachment is not ready to use yet, because turnup is not complete." +], +"type": "string" +}, +"subnetLength": { +"description": "Input only. Length of the IPv4 subnet mask. Allowed values: - 29 (default) - 30 The default value is 29, except for Cross-Cloud Interconnect connections that use an InterconnectRemoteLocation with a constraints.subnetLengthRange.min equal to 30. For example, connections that use an Azure remote location fall into this category. In these cases, the default value is 30, and requesting 29 returns an error. Where both 29 and 30 are allowed, 29 is preferred, because it gives Google Cloud Support more debugging visibility. ", +"format": "int32", +"type": "integer" +}, +"type": { +"description": "The type of interconnect attachment this is, which can take one of the following values: - DEDICATED: an attachment to a Dedicated Interconnect. - PARTNER: an attachment to a Partner Interconnect, created by the customer. - PARTNER_PROVIDER: an attachment to a Partner Interconnect, created by the partner. ", +"enum": [ +"DEDICATED", +"PARTNER", +"PARTNER_PROVIDER" +], +"enumDescriptions": [ +"Attachment to a dedicated interconnect.", +"Attachment to a partner interconnect, created by the customer.", +"Attachment to a partner interconnect, created by the partner." +], +"type": "string" +}, +"vlanTag8021q": { +"description": "The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4093. Only specified at creation time.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"InterconnectAttachmentAggregatedList": { +"id": "InterconnectAttachmentAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "InterconnectAttachmentsScopedList", +"description": "Name of the scope containing this set of interconnect attachments." +}, +"description": "A list of InterconnectAttachmentsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#interconnectAttachmentAggregatedList", +"description": "[Output Only] Type of resource. Always compute#interconnectAttachmentAggregatedList for aggregated lists of interconnect attachments.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"InterconnectAttachmentConfigurationConstraints": { +"id": "InterconnectAttachmentConfigurationConstraints", +"properties": { +"bgpMd5": { +"description": "[Output Only] Whether the attachment's BGP session requires/allows/disallows BGP MD5 authentication. This can take one of the following values: MD5_OPTIONAL, MD5_REQUIRED, MD5_UNSUPPORTED. For example, a Cross-Cloud Interconnect connection to a remote cloud provider that requires BGP MD5 authentication has the interconnectRemoteLocation attachment_configuration_constraints.bgp_md5 field set to MD5_REQUIRED, and that property is propagated to the attachment. Similarly, if BGP MD5 is MD5_UNSUPPORTED, an error is returned if MD5 is requested.", +"enum": [ +"MD5_OPTIONAL", +"MD5_REQUIRED", +"MD5_UNSUPPORTED" +], +"enumDescriptions": [ +"MD5_OPTIONAL: BGP MD5 authentication is supported and can optionally be configured.", +"MD5_REQUIRED: BGP MD5 authentication must be configured.", +"MD5_UNSUPPORTED: BGP MD5 authentication must not be configured" +], +"type": "string" +}, +"bgpPeerAsnRanges": { +"description": "[Output Only] List of ASN ranges that the remote location is known to support. Formatted as an array of inclusive ranges {min: min-value, max: max-value}. For example, [{min: 123, max: 123}, {min: 64512, max: 65534}] allows the peer ASN to be 123 or anything in the range 64512-65534. This field is only advisory. Although the API accepts other ranges, these are the ranges that we recommend.", +"items": { +"$ref": "InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange" +}, +"type": "array" +} +}, +"type": "object" +}, +"InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange": { +"id": "InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange", +"properties": { +"max": { +"format": "uint32", +"type": "integer" +}, +"min": { +"format": "uint32", +"type": "integer" +} +}, +"type": "object" +}, +"InterconnectAttachmentGroup": { +"description": "An interconnect attachment group resource allows customers to create, analyze, and expand highly available deployments.", +"id": "InterconnectAttachmentGroup", +"properties": { +"attachments": { +"additionalProperties": { +"$ref": "InterconnectAttachmentGroupAttachment" +}, +"description": "Attachments in the AttachmentGroup. Keys are arbitrary user-specified strings. Users are encouraged, but not required, to use their preferred format for resource links as keys. Note that there are add-members and remove-members methods in gcloud. The size of this map is limited by an \"Attachments per group\" quota.", +"type": "object" +}, +"configured": { +"$ref": "InterconnectAttachmentGroupConfigured" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"etag": { +"description": "Opaque system-generated token that uniquely identifies the configuration. If provided when patching a configuration in update mode, the provided token must match the current token or the update is rejected. This provides a reliable means of doing read-modify-write (optimistic locking) as described by AIP 154.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", +"format": "uint64", +"type": "string" +}, +"intent": { +"$ref": "InterconnectAttachmentGroupIntent" +}, +"interconnectGroup": { +"description": "The URL of an InterconnectGroup that groups these Attachments' Interconnects. Customers do not need to set this unless directed by Google Support.", +"type": "string" +}, +"kind": { +"default": "compute#interconnectAttachmentGroup", +"description": "[Output Only] Type of the resource. Always compute#interconnectAttachmentGroup.", +"type": "string" +}, +"logicalStructure": { +"$ref": "InterconnectAttachmentGroupLogicalStructure" +}, +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +} +}, +"type": "object" +}, +"InterconnectAttachmentGroupAttachment": { +"description": "An Attachment in this AttachmentGroup.", +"id": "InterconnectAttachmentGroupAttachment", +"properties": { +"attachment": { +"type": "string" +} +}, +"type": "object" +}, +"InterconnectAttachmentGroupConfigured": { +"description": "[Output Only] The redundancy this group is configured to support. The way a user queries what SLA their Attachment gets is by looking at this field of the Attachment's AttachmentGroup.", +"id": "InterconnectAttachmentGroupConfigured", +"properties": { +"availabilitySla": { +"$ref": "InterconnectAttachmentGroupConfiguredAvailabilitySLA" +} +}, +"type": "object" +}, +"InterconnectAttachmentGroupConfiguredAvailabilitySLA": { +"description": "[Output Only] Which SLA this group is configured to support, and why this group does or does not meet that SLA's requirements.", +"id": "InterconnectAttachmentGroupConfiguredAvailabilitySLA", +"properties": { +"effectiveSla": { +"enum": [ +"EFFECTIVE_SLA_UNSPECIFIED", +"NO_SLA", +"PRODUCTION_CRITICAL", +"PRODUCTION_NON_CRITICAL" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"intendedSlaBlockers": { +"items": { +"$ref": "InterconnectAttachmentGroupConfiguredAvailabilitySLAIntendedSlaBlockers" +}, +"type": "array" +} +}, +"type": "object" +}, +"InterconnectAttachmentGroupConfiguredAvailabilitySLAIntendedSlaBlockers": { +"description": "[Output Only] Reasons why configuration.availabilitySLA.sla differs from intent.availabilitySLA. This list is empty if and only if those are the same.", +"id": "InterconnectAttachmentGroupConfiguredAvailabilitySLAIntendedSlaBlockers", +"properties": { +"attachments": { +"description": "[Output Only] URLs of any particular Attachments to explain this blocker in more detail.", +"items": { +"type": "string" +}, +"type": "array" +}, +"blockerType": { +"enum": [ +"BLOCKER_TYPE_UNSPECIFIED", +"INCOMPATIBLE_METROS", +"INCOMPATIBLE_REGIONS", +"MISSING_GLOBAL_ROUTING", +"NO_ATTACHMENTS", +"NO_ATTACHMENTS_IN_METRO_AND_ZONE", +"OTHER" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"documentationLink": { +"description": "[Output Only] The url of Google Cloud public documentation explaining this requirement. This is set for every type of requirement.", +"type": "string" +}, +"explanation": { +"description": "[Output Only] A human-readable explanation of this requirement and why it's not met. This is set for every type of requirement.", +"type": "string" +}, +"metros": { +"description": "[Output Only] Metros used to explain this blocker in more detail. These are three-letter lowercase strings like \"iad\". This will be set for some blockers (like NO_ATTACHMENTS_IN_METRO_AND_ZONE) but does not apply to others.", +"items": { +"type": "string" +}, +"type": "array" +}, +"regions": { +"description": "[Output Only] Regions used to explain this blocker in more detail. These are region names formatted like \"us-central1\". This will be set for some blockers (like INCOMPATIBLE_REGIONS) but does not apply to others.", +"items": { +"type": "string" +}, +"type": "array" +}, +"zones": { +"description": "[Output Only] Zones used to explain this blocker in more detail. Format is \"zone1\" and/or \"zone2\". This will be set for some blockers (like MISSING_ZONE) but does not apply to others.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InterconnectAttachmentGroupIntent": { +"description": "The user's intent for this AttachmentGroup. This is the only required field besides the name that must be specified on group creation.", +"id": "InterconnectAttachmentGroupIntent", +"properties": { +"availabilitySla": { +"enum": [ +"AVAILABILITY_SLA_UNSPECIFIED", +"NO_SLA", +"PRODUCTION_CRITICAL", +"PRODUCTION_NON_CRITICAL" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"InterconnectAttachmentGroupLogicalStructure": { +"description": "[Output Only] An analysis of the logical layout of Attachments in this group. Every Attachment in the group is shown once in this structure.", +"id": "InterconnectAttachmentGroupLogicalStructure", +"properties": { +"regions": { +"items": { +"$ref": "InterconnectAttachmentGroupLogicalStructureRegion" +}, +"type": "array" +} +}, +"type": "object" +}, +"InterconnectAttachmentGroupLogicalStructureRegion": { +"description": "[Output Only] The regions Attachments in this group are in.", +"id": "InterconnectAttachmentGroupLogicalStructureRegion", +"properties": { +"metros": { +"items": { +"$ref": "InterconnectAttachmentGroupLogicalStructureRegionMetro" +}, +"type": "array" +}, +"region": { +"description": "[Output Only] The name of a region, like \"us-central1\".", +"type": "string" +} +}, +"type": "object" +}, +"InterconnectAttachmentGroupLogicalStructureRegionMetro": { +"description": "[Output Only] The metros of Attachments in this group in this region.", +"id": "InterconnectAttachmentGroupLogicalStructureRegionMetro", +"properties": { +"facilities": { +"items": { +"$ref": "InterconnectAttachmentGroupLogicalStructureRegionMetroFacility" +}, +"type": "array" +}, +"metro": { +"description": "[Output Only] The name of the metro, as a three-letter lowercase string like \"iad\". This is the first component of the location of an Interconnect.", +"type": "string" +} +}, +"type": "object" +}, +"InterconnectAttachmentGroupLogicalStructureRegionMetroFacility": { +"description": "[Output Only] The facilities used for this group's Attachments' Interconnects.", +"id": "InterconnectAttachmentGroupLogicalStructureRegionMetroFacility", +"properties": { +"facility": { +"description": "[Output Only] The name of a facility, like \"iad-1234\".", +"type": "string" +}, +"zones": { +"items": { +"$ref": "InterconnectAttachmentGroupLogicalStructureRegionMetroFacilityZone" +}, +"type": "array" +} +}, +"type": "object" +}, +"InterconnectAttachmentGroupLogicalStructureRegionMetroFacilityZone": { +"description": "[Output Only] The zones that Attachments in this group are present in, in the given facilities. This is inherited from their Interconnects.", +"id": "InterconnectAttachmentGroupLogicalStructureRegionMetroFacilityZone", +"properties": { +"attachments": { +"description": "[Output Only] URLs of Attachments in the given zone, to the given region, on Interconnects in the given facility and metro. Every Attachment in the AG has such an entry.", +"items": { +"type": "string" +}, +"type": "array" +}, +"zone": { +"description": "[Output Only] The name of a zone, either \"zone1\" or \"zone2\".", +"type": "string" +} +}, +"type": "object" +}, +"InterconnectAttachmentGroupsGetOperationalStatusResponse": { +"description": "Response for the InterconnectAttachmentGroupsGetOperationalStatusResponse.", +"id": "InterconnectAttachmentGroupsGetOperationalStatusResponse", +"properties": { +"etag": { +"type": "string" +}, +"result": { +"$ref": "InterconnectAttachmentGroupsOperationalStatus" +} +}, +"type": "object" +}, +"InterconnectAttachmentGroupsListResponse": { +"id": "InterconnectAttachmentGroupsListResponse", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InterconnectAttachmentGroup resources.", +"items": { +"$ref": "InterconnectAttachmentGroup" +}, +"type": "array" +}, +"kind": { +"default": "compute#interconnectAttachmentGroup", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"InterconnectAttachmentGroupsOperationalStatus": { +"id": "InterconnectAttachmentGroupsOperationalStatus", +"properties": { +"groupStatus": { +"description": "Summarizes the status of the group.", +"enum": [ +"DEGRADED", +"FULLY_DOWN", +"FULLY_UP", +"UNSPECIFIED" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"InterconnectAttachmentList": { +"description": "Response to the list request, and contains a list of interconnect attachments.", +"id": "InterconnectAttachmentList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InterconnectAttachment resources.", +"items": { +"$ref": "InterconnectAttachment" +}, +"type": "array" +}, +"kind": { +"default": "compute#interconnectAttachmentList", +"description": "[Output Only] Type of resource. Always compute#interconnectAttachmentList for lists of interconnect attachments.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"InterconnectAttachmentPartnerMetadata": { +"description": "Informational metadata about Partner attachments from Partners to display to customers. These fields are propagated from PARTNER_PROVIDER attachments to their corresponding PARTNER attachments.", +"id": "InterconnectAttachmentPartnerMetadata", +"properties": { +"interconnectName": { +"description": "Plain text name of the Interconnect this attachment is connected to, as displayed in the Partner's portal. For instance \"Chicago 1\". This value may be validated to match approved Partner values.", +"type": "string" +}, +"partnerName": { +"description": "Plain text name of the Partner providing this attachment. This value may be validated to match approved Partner values.", +"type": "string" +}, +"portalUrl": { +"description": "URL of the Partner's portal for this Attachment. Partners may customise this to be a deep link to the specific resource on the Partner portal. This value may be validated to match approved Partner values.", +"type": "string" +} +}, +"type": "object" +}, +"InterconnectAttachmentPrivateInfo": { +"description": "Information for an interconnect attachment when this belongs to an interconnect of type DEDICATED.", +"id": "InterconnectAttachmentPrivateInfo", +"properties": { +"tag8021q": { +"description": "[Output Only] 802.1q encapsulation tag to be used for traffic between Google and the customer, going to and from this network and region.", +"format": "uint32", +"type": "integer" +} +}, +"type": "object" +}, +"InterconnectAttachmentsScopedList": { +"id": "InterconnectAttachmentsScopedList", +"properties": { +"interconnectAttachments": { +"description": "A list of interconnect attachments contained in this scope.", +"items": { +"$ref": "InterconnectAttachment" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of addresses when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"InterconnectCircuitInfo": { +"description": "Describes a single physical circuit between the Customer and Google. CircuitInfo objects are created by Google, so all fields are output only.", +"id": "InterconnectCircuitInfo", +"properties": { +"customerDemarcId": { +"description": "Customer-side demarc ID for this circuit.", +"type": "string" +}, +"googleCircuitId": { +"description": "Google-assigned unique ID for this circuit. Assigned at circuit turn-up.", +"type": "string" +}, +"googleDemarcId": { +"description": "Google-side demarc ID for this circuit. Assigned at circuit turn-up and provided by Google to the customer in the LOA.", +"type": "string" +} +}, +"type": "object" +}, +"InterconnectDiagnostics": { +"description": "Diagnostics information about the Interconnect connection, which contains detailed and current technical information about Google's side of the connection.", +"id": "InterconnectDiagnostics", +"properties": { +"arpCaches": { +"description": "A list of InterconnectDiagnostics.ARPEntry objects, describing individual neighbors currently seen by the Google router in the ARP cache for the Interconnect. This will be empty when the Interconnect is not bundled.", +"items": { +"$ref": "InterconnectDiagnosticsARPEntry" +}, +"type": "array" +}, +"bundleAggregationType": { +"description": "The aggregation type of the bundle interface.", +"enum": [ +"BUNDLE_AGGREGATION_TYPE_LACP", +"BUNDLE_AGGREGATION_TYPE_STATIC" +], +"enumDescriptions": [ +"LACP is enabled.", +"LACP is disabled." +], +"type": "string" +}, +"bundleOperationalStatus": { +"description": "The operational status of the bundle interface.", +"enum": [ +"BUNDLE_OPERATIONAL_STATUS_DOWN", +"BUNDLE_OPERATIONAL_STATUS_UP" +], +"enumDescriptions": [ +"If bundleAggregationType is LACP: LACP is not established and/or all links in the bundle have DOWN operational status. If bundleAggregationType is STATIC: one or more links in the bundle has DOWN operational status.", +"If bundleAggregationType is LACP: LACP is established and at least one link in the bundle has UP operational status. If bundleAggregationType is STATIC: all links in the bundle (typically just one) have UP operational status." +], +"type": "string" +}, +"links": { +"description": "A list of InterconnectDiagnostics.LinkStatus objects, describing the status for each link on the Interconnect.", +"items": { +"$ref": "InterconnectDiagnosticsLinkStatus" +}, +"type": "array" +}, +"macAddress": { +"description": "The MAC address of the Interconnect's bundle interface.", +"type": "string" +} +}, +"type": "object" +}, +"InterconnectDiagnosticsARPEntry": { +"description": "Describing the ARP neighbor entries seen on this link", +"id": "InterconnectDiagnosticsARPEntry", +"properties": { +"ipAddress": { +"description": "The IP address of this ARP neighbor.", +"type": "string" +}, +"macAddress": { +"description": "The MAC address of this ARP neighbor.", +"type": "string" +} +}, +"type": "object" +}, +"InterconnectDiagnosticsLinkLACPStatus": { +"id": "InterconnectDiagnosticsLinkLACPStatus", +"properties": { +"googleSystemId": { +"description": "System ID of the port on Google's side of the LACP exchange.", +"type": "string" +}, +"neighborSystemId": { +"description": "System ID of the port on the neighbor's side of the LACP exchange.", +"type": "string" +}, +"state": { +"description": "The state of a LACP link, which can take one of the following values: - ACTIVE: The link is configured and active within the bundle. - DETACHED: The link is not configured within the bundle. This means that the rest of the object should be empty. ", +"enum": [ +"ACTIVE", +"DETACHED" +], +"enumDescriptions": [ +"The link is configured and active within the bundle.", +"The link is not configured within the bundle, this means the rest of the object should be empty." +], +"type": "string" +} +}, +"type": "object" +}, +"InterconnectDiagnosticsLinkOpticalPower": { +"id": "InterconnectDiagnosticsLinkOpticalPower", +"properties": { +"state": { +"description": "The status of the current value when compared to the warning and alarm levels for the receiving or transmitting transceiver. Possible states include: - OK: The value has not crossed a warning threshold. - LOW_WARNING: The value has crossed below the low warning threshold. - HIGH_WARNING: The value has crossed above the high warning threshold. - LOW_ALARM: The value has crossed below the low alarm threshold. - HIGH_ALARM: The value has crossed above the high alarm threshold. ", +"enum": [ +"HIGH_ALARM", +"HIGH_WARNING", +"LOW_ALARM", +"LOW_WARNING", +"OK" +], +"enumDescriptions": [ +"The value has crossed above the high alarm threshold.", +"The value of the current optical power has crossed above the high warning threshold.", +"The value of the current optical power has crossed below the low alarm threshold.", +"The value of the current optical power has crossed below the low warning threshold.", +"The value of the current optical power has not crossed a warning threshold." +], +"type": "string" +}, +"value": { +"description": "Value of the current receiving or transmitting optical power, read in dBm. Take a known good optical value, give it a 10% margin and trigger warnings relative to that value. In general, a -7dBm warning and a -11dBm alarm are good optical value estimates for most links.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"InterconnectDiagnosticsLinkStatus": { +"id": "InterconnectDiagnosticsLinkStatus", +"properties": { +"arpCaches": { +"description": "A list of InterconnectDiagnostics.ARPEntry objects, describing the ARP neighbor entries seen on this link. This will be empty if the link is bundled", +"items": { +"$ref": "InterconnectDiagnosticsARPEntry" +}, +"type": "array" +}, +"circuitId": { +"description": "The unique ID for this link assigned during turn up by Google.", +"type": "string" +}, +"googleDemarc": { +"description": "The Demarc address assigned by Google and provided in the LoA.", +"type": "string" +}, +"lacpStatus": { +"$ref": "InterconnectDiagnosticsLinkLACPStatus" +}, +"macsec": { +"$ref": "InterconnectDiagnosticsMacsecStatus", +"description": "Describes the status of MACsec encryption on this link." +}, +"operationalStatus": { +"description": "The operational status of the link.", +"enum": [ +"LINK_OPERATIONAL_STATUS_DOWN", +"LINK_OPERATIONAL_STATUS_UP" +], +"enumDescriptions": [ +"The interface is unable to communicate with the remote end.", +"The interface has low level communication with the remote end." +], +"type": "string" +}, +"receivingOpticalPower": { +"$ref": "InterconnectDiagnosticsLinkOpticalPower", +"description": "An InterconnectDiagnostics.LinkOpticalPower object, describing the current value and status of the received light level." +}, +"transmittingOpticalPower": { +"$ref": "InterconnectDiagnosticsLinkOpticalPower", +"description": "An InterconnectDiagnostics.LinkOpticalPower object, describing the current value and status of the transmitted light level." +} +}, +"type": "object" +}, +"InterconnectDiagnosticsMacsecStatus": { +"description": "Describes the status of MACsec encryption on the link.", +"id": "InterconnectDiagnosticsMacsecStatus", +"properties": { +"ckn": { +"description": "Indicates the Connectivity Association Key Name (CKN) currently being used if MACsec is operational.", +"type": "string" +}, +"operational": { +"description": "Indicates whether or not MACsec is operational on this link.", +"type": "boolean" +} +}, +"type": "object" +}, +"InterconnectGroup": { +"description": "An interconnect group resource allows customers to create, analyze, and expand their redundant connections.", +"id": "InterconnectGroup", +"properties": { +"configured": { +"$ref": "InterconnectGroupConfigured" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"etag": { +"description": "Opaque system-generated token that uniquely identifies the configuration. If provided when patching a configuration in update mode, the provided token must match the current token or the update is rejected. This provides a reliable means of doing read-modify-write (optimistic locking) as described by API 154.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", +"format": "uint64", +"type": "string" +}, +"intent": { +"$ref": "InterconnectGroupIntent" +}, +"interconnects": { +"additionalProperties": { +"$ref": "InterconnectGroupInterconnect" +}, +"description": "Interconnects in the InterconnectGroup. Keys are arbitrary user-specified strings. Users are encouraged, but not required, to use their preferred format for resource links as keys. Note that there are add-members and remove-members methods in gcloud. The size of this map is limited by an \"Interconnects per group\" quota.", +"type": "object" +}, +"kind": { +"default": "compute#InterconnectGroup", +"description": "[Output Only] Type of the resource. Always compute#InterconnectGroup", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.interconnectGroups.insert" +] +}, +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"physicalStructure": { +"$ref": "InterconnectGroupPhysicalStructure" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +} +}, +"type": "object" +}, +"InterconnectGroupConfigured": { +"description": "[Output Only] The status of the group as configured. This has the same structure as the operational field reported by the OperationalStatus method, but does not take into account the operational status of each resource.", +"id": "InterconnectGroupConfigured", +"properties": { +"topologyCapability": { +"$ref": "InterconnectGroupConfiguredTopologyCapability" +} +}, +"type": "object" +}, +"InterconnectGroupConfiguredTopologyCapability": { +"description": "[Output Only] How reliable this topology is configured to be, and why this group does or does not meet the requirements for the intended capability.", +"id": "InterconnectGroupConfiguredTopologyCapability", +"properties": { +"intendedCapabilityBlockers": { +"items": { +"$ref": "InterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockers" +}, +"type": "array" +}, +"supportedSla": { +"enum": [ +"NO_SLA", +"PRODUCTION_CRITICAL", +"PRODUCTION_NON_CRITICAL", +"UNSPECIFIED" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"InterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockers": { +"description": "[Output Only] Reasons why configuration.topologyCapability.sla differs from intent.topologyCapability. This list is empty if and only if those are the same.", +"id": "InterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockers", +"properties": { +"blockerType": { +"enum": [ +"INCOMPATIBLE_METROS", +"NOT_AVAILABLE", +"NO_INTERCONNECTS", +"NO_INTERCONNECTS_IN_METRO_AND_ZONE", +"OTHER", +"UNSPECIFIED" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"documentationLink": { +"description": "[Output Only] The url of Google Cloud public documentation explaining this requirement. This is set for every type of requirement.", +"type": "string" +}, +"explanation": { +"description": "[Output Only] A human-readable explanation of this requirement and why it's not met. This is set for every type of requirement.", +"type": "string" +}, +"facilities": { +"description": "[Output Only] Facilities used to explain this blocker in more detail. Like physicalStructure.metros.facilities.facility, this is a numeric string like \"5467\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"interconnects": { +"description": "[Output Only] Interconnects used to explain this blocker in more detail.", +"items": { +"type": "string" +}, +"type": "array" +}, +"metros": { +"description": "[Output Only] Metros used to explain this blocker in more detail. These are three-letter lowercase strings like \"iad\". A blocker like INCOMPATIBLE_METROS will specify the problematic metros in this field.", +"items": { +"type": "string" +}, +"type": "array" +}, +"zones": { +"description": "[Output Only] Zones used to explain this blocker in more detail. Zone names are \"zone1\" and/or \"zone2\".", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"InterconnectGroupIntent": { +"description": "The user's intent for this group. This is the only required field besides the name that must be specified on group creation.", +"id": "InterconnectGroupIntent", +"properties": { +"topologyCapability": { +"enum": [ +"NO_SLA", +"PRODUCTION_CRITICAL", +"PRODUCTION_NON_CRITICAL", +"UNSPECIFIED" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"InterconnectGroupInterconnect": { +"description": "An Interconnect in this InterconnectGroup.", +"id": "InterconnectGroupInterconnect", +"properties": { +"interconnect": { +"description": "The URL of an Interconnect in this group. All Interconnects in the group are unique.", +"type": "string" +} +}, +"type": "object" +}, +"InterconnectGroupPhysicalStructure": { +"description": "[Output Only] An analysis of the physical layout of Interconnects in this group. Every Interconnect in the group is shown once in this structure.", +"id": "InterconnectGroupPhysicalStructure", +"properties": { +"metros": { +"items": { +"$ref": "InterconnectGroupPhysicalStructureMetros" +}, +"type": "array" +} +}, +"type": "object" +}, +"InterconnectGroupPhysicalStructureMetros": { +"description": "[Output Only] The metros Interconnects in this group are in.", +"id": "InterconnectGroupPhysicalStructureMetros", +"properties": { +"facilities": { +"items": { +"$ref": "InterconnectGroupPhysicalStructureMetrosFacilities" +}, +"type": "array" +}, +"metro": { +"description": "[Output Only] The name of the metro, as a three-letter lowercase string like \"iad\". This is the first component of the location of Interconnects underneath this.", +"type": "string" +} +}, +"type": "object" +}, +"InterconnectGroupPhysicalStructureMetrosFacilities": { +"description": "[Output Only] The facilities Interconnects in this metro are present in.", +"id": "InterconnectGroupPhysicalStructureMetrosFacilities", +"properties": { +"facility": { +"description": "[Output Only] The ID of this facility, as a numeric string like \"5467\". This is the third component of the location of Interconnects in this facility.", +"type": "string" +}, +"zones": { +"items": { +"$ref": "InterconnectGroupPhysicalStructureMetrosFacilitiesZones" +}, +"type": "array" +} +}, +"type": "object" +}, +"InterconnectGroupPhysicalStructureMetrosFacilitiesZones": { +"description": "[Output Only] The zones that Interconnects in this facility are present in.", +"id": "InterconnectGroupPhysicalStructureMetrosFacilitiesZones", +"properties": { +"interconnects": { +"description": "[Output Only] URLs of Interconnects in this redundancy group in the given metro, facility, and zone.", +"items": { +"type": "string" +}, +"type": "array" +}, +"zone": { +"description": "[Output Only] The name of the zone, either \"zone1\" or \"zone2\". This is the second component of the location of Interconnects in this facility.", +"type": "string" +} +}, +"type": "object" +}, +"InterconnectGroupsGetOperationalStatusResponse": { +"description": "Response for the InterconnectGroupsGetOperationalStatusResponse.", +"id": "InterconnectGroupsGetOperationalStatusResponse", +"properties": { +"etag": { +"type": "string" +}, +"result": { +"$ref": "InterconnectGroupsOperationalStatus" +} +}, +"type": "object" +}, +"InterconnectGroupsListResponse": { +"id": "InterconnectGroupsListResponse", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InterconnectGroup resources.", +"items": { +"$ref": "InterconnectGroup" +}, +"type": "array" +}, +"kind": { +"default": "compute#InterconnectGroup", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"InterconnectGroupsOperationalStatus": { +"description": "Request to get the status of the interconnect group with extra detail.", +"id": "InterconnectGroupsOperationalStatus", +"properties": { +"configured": { +"$ref": "InterconnectGroupConfigured", +"description": "The configuration analysis, as returned by Get." +}, +"groupStatus": { +"description": "Summarizes the status of the group.", +"enum": [ +"DEGRADED", +"FULLY_DOWN", +"FULLY_UP", +"GROUPS_STATUS_UNSPECIFIED" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"intent": { +"$ref": "InterconnectGroupIntent", +"description": "The intent of the resource, as returned by Get." +}, +"interconnectStatuses": { +"items": { +"$ref": "InterconnectGroupsOperationalStatusInterconnectStatus" +}, +"type": "array" +}, +"operational": { +"$ref": "InterconnectGroupConfigured", +"description": "The operational state of the group, including only active Interconnects." +} +}, +"type": "object" +}, +"InterconnectGroupsOperationalStatusInterconnectStatus": { +"description": "The status of one Interconnect in the group. The order is arbitrary.", +"id": "InterconnectGroupsOperationalStatusInterconnectStatus", +"properties": { +"adminEnabled": { +"description": "Whether the Interconnect is enabled.", +"type": "boolean" +}, +"diagnostics": { +"$ref": "InterconnectDiagnostics", +"description": "The diagnostics of the Interconnect, as returned by the existing get-diagnostics method." +}, +"interconnect": { +"description": "The URL of the Interconnect being described.", +"type": "string" +}, +"isActive": { +"description": "Whether this interconnect is participating in the redundant configuration.", +"enum": [ +"ACTIVE", +"INACTIVE", +"IS_ACTIVE_UNSPECIFIED" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"InterconnectList": { +"description": "Response to the list request, and contains a list of interconnects.", +"id": "InterconnectList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Interconnect resources.", +"items": { +"$ref": "Interconnect" +}, +"type": "array" +}, +"kind": { +"default": "compute#interconnectList", +"description": "[Output Only] Type of resource. Always compute#interconnectList for lists of interconnects.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"InterconnectLocation": { +"description": "Represents an Interconnect Attachment (VLAN) Location resource. You can use this resource to find location details about an Interconnect attachment (VLAN). For more information about interconnect attachments, read Creating VLAN Attachments.", +"id": "InterconnectLocation", +"properties": { +"address": { +"description": "[Output Only] The postal address of the Point of Presence, each line in the address is separated by a newline character.", +"type": "string" +}, +"availabilityZone": { +"description": "[Output Only] Availability zone for this InterconnectLocation. Within a metropolitan area (metro), maintenance will not be simultaneously scheduled in more than one availability zone. Example: \"zone1\" or \"zone2\".", +"type": "string" +}, +"availableFeatures": { +"description": "[Output only] List of features available at this InterconnectLocation, which can take one of the following values: - IF_MACSEC ", +"items": { +"enum": [ +"IF_CROSS_SITE_NETWORK", +"IF_MACSEC" +], +"enumDescriptions": [ +"Cross Site Networking", +"Media Access Control security (MACsec)" +], +"type": "string" +}, +"type": "array" +}, +"availableLinkTypes": { +"description": "[Output only] List of link types available at this InterconnectLocation, which can take one of the following values: - LINK_TYPE_ETHERNET_10G_LR - LINK_TYPE_ETHERNET_100G_LR ", +"items": { +"enum": [ +"LINK_TYPE_ETHERNET_100G_LR", +"LINK_TYPE_ETHERNET_10G_LR" +], +"enumDescriptions": [ +"100G Ethernet, LR Optics.", +"10G Ethernet, LR Optics. [(rate_bps) = 10000000000];" +], +"type": "string" +}, +"type": "array" +}, +"city": { +"description": "[Output Only] Metropolitan area designator that indicates which city an interconnect is located. For example: \"Chicago, IL\", \"Amsterdam, Netherlands\".", +"type": "string" +}, +"continent": { +"description": "[Output Only] Continent for this location, which can take one of the following values: - AFRICA - ASIA_PAC - EUROPE - NORTH_AMERICA - SOUTH_AMERICA ", +"enum": [ +"AFRICA", +"ASIA_PAC", +"C_AFRICA", +"C_ASIA_PAC", +"C_EUROPE", +"C_NORTH_AMERICA", +"C_SOUTH_AMERICA", +"EUROPE", +"NORTH_AMERICA", +"SOUTH_AMERICA" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"crossSiteInterconnectInfos": { +"description": "[Output Only] A list of InterconnectLocation.CrossSiteInterconnectInfo objects, that describe parameters pertaining to the relation between this InterconnectLocation and various Interconnect metros.", +"items": { +"$ref": "InterconnectLocationCrossSiteInterconnectInfo" +}, +"type": "array" +}, +"description": { +"description": "[Output Only] An optional description of the resource.", +"type": "string" +}, +"facilityProvider": { +"description": "[Output Only] The name of the provider for this facility (e.g., EQUINIX).", +"type": "string" +}, +"facilityProviderFacilityId": { +"description": "[Output Only] A provider-assigned Identifier for this facility (e.g., Ashburn-DC1).", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#interconnectLocation", +"description": "[Output Only] Type of the resource. Always compute#interconnectLocation for interconnect locations.", +"type": "string" +}, +"name": { +"description": "[Output Only] Name of the resource.", +"type": "string" +}, +"peeringdbFacilityId": { +"description": "[Output Only] The peeringdb identifier for this facility (corresponding with a netfac type in peeringdb).", +"type": "string" +}, +"regionInfos": { +"description": "[Output Only] A list of InterconnectLocation.RegionInfo objects, that describe parameters pertaining to the relation between this InterconnectLocation and various Google Cloud regions.", +"items": { +"$ref": "InterconnectLocationRegionInfo" +}, +"type": "array" +}, +"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" +}, +"status": { +"description": "[Output Only] The status of this InterconnectLocation, which can take one of the following values: - CLOSED: The InterconnectLocation is closed and is unavailable for provisioning new Interconnects. - AVAILABLE: The InterconnectLocation is available for provisioning new Interconnects. ", +"enum": [ +"AVAILABLE", +"CLOSED" +], +"enumDescriptions": [ +"The InterconnectLocation is available for provisioning new Interconnects.", +"The InterconnectLocation is closed for provisioning new Interconnects." +], +"type": "string" +}, +"supportsPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +} +}, +"type": "object" +}, +"InterconnectLocationCrossSiteInterconnectInfo": { +"description": "Information about any potential WireGroups between an Interconnect at a specific InterconnectLocation, and an Interconnect in another metro.", +"id": "InterconnectLocationCrossSiteInterconnectInfo", +"properties": { +"city": { +"description": "Metropolitan area designator", +"type": "string" +}, +"maxSingleFlowGbps": { +"description": "The maximum gbps for a single flow to this metro. This limits the total bandwidth which may be configured per wire.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"InterconnectLocationList": { +"description": "Response to the list request, and contains a list of interconnect locations.", +"id": "InterconnectLocationList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InterconnectLocation resources.", +"items": { +"$ref": "InterconnectLocation" +}, +"type": "array" +}, +"kind": { +"default": "compute#interconnectLocationList", +"description": "[Output Only] Type of resource. Always compute#interconnectLocationList for lists of interconnect locations.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"InterconnectLocationRegionInfo": { +"description": "Information about any potential InterconnectAttachments between an Interconnect at a specific InterconnectLocation, and a specific Cloud Region.", +"id": "InterconnectLocationRegionInfo", +"properties": { +"expectedRttMs": { +"description": "Expected round-trip time in milliseconds, from this InterconnectLocation to a VM in this region.", +"format": "int64", +"type": "string" +}, +"locationPresence": { +"description": "Identifies the network presence of this location.", +"enum": [ +"GLOBAL", +"LOCAL_REGION", +"LP_GLOBAL", +"LP_LOCAL_REGION" +], +"enumDescriptions": [ +"This region is not in any common network presence with this InterconnectLocation.", +"This region shares the same regional network presence as this InterconnectLocation.", +"[Deprecated] This region is not in any common network presence with this InterconnectLocation.", +"[Deprecated] This region shares the same regional network presence as this InterconnectLocation." +], +"type": "string" +}, +"region": { +"description": "URL for the region of this location.", +"type": "string" +} +}, +"type": "object" +}, +"InterconnectMacsec": { +"description": "Configuration information for enabling Media Access Control security (MACsec) on this Cloud Interconnect connection between Google and your on-premises router.", +"id": "InterconnectMacsec", +"properties": { +"failOpen": { +"description": "If set to true, the Interconnect connection is configured with a should-secure MACsec security policy, that allows the Google router to fallback to cleartext traffic if the MKA session cannot be established. By default, the Interconnect connection is configured with a must-secure security policy that drops all traffic if the MKA session cannot be established with your router.", +"type": "boolean" +}, +"preSharedKeys": { +"description": "Required. A keychain placeholder describing a set of named key objects along with their start times. A MACsec CKN/CAK is generated for each key in the key chain. Google router automatically picks the key with the most recent startTime when establishing or re-establishing a MACsec secure link.", +"items": { +"$ref": "InterconnectMacsecPreSharedKey" +}, +"type": "array" +} +}, +"type": "object" +}, +"InterconnectMacsecConfig": { +"description": "MACsec configuration information for the Interconnect connection. Contains the generated Connectivity Association Key Name (CKN) and the key (CAK) for this Interconnect connection.", +"id": "InterconnectMacsecConfig", +"properties": { +"preSharedKeys": { +"description": "A keychain placeholder describing a set of named key objects along with their start times. A MACsec CKN/CAK is generated for each key in the key chain. Google router automatically picks the key with the most recent startTime when establishing or re-establishing a MACsec secure link.", +"items": { +"$ref": "InterconnectMacsecConfigPreSharedKey" +}, +"type": "array" +} +}, +"type": "object" +}, +"InterconnectMacsecConfigPreSharedKey": { +"description": "Describes a pre-shared key used to setup MACsec in static connectivity association key (CAK) mode.", +"id": "InterconnectMacsecConfigPreSharedKey", +"properties": { +"cak": { +"description": "An auto-generated Connectivity Association Key (CAK) for this key.", +"type": "string" +}, +"ckn": { +"description": "An auto-generated Connectivity Association Key Name (CKN) for this key.", +"type": "string" +}, +"name": { +"description": "User provided name for this pre-shared key.", +"type": "string" +}, +"startTime": { +"description": "User provided timestamp on or after which this key is valid.", +"type": "string" +} +}, +"type": "object" +}, +"InterconnectMacsecPreSharedKey": { +"description": "Describes a pre-shared key used to setup MACsec in static connectivity association key (CAK) mode.", +"id": "InterconnectMacsecPreSharedKey", +"properties": { +"name": { +"description": "Required. A name for this pre-shared key. 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" +}, +"startTime": { +"description": "A RFC3339 timestamp on or after which the key is valid. startTime can be in the future. If the keychain has a single key, startTime can be omitted. If the keychain has multiple keys, startTime is mandatory for each key. The start times of keys must be in increasing order. The start times of two consecutive keys must be at least 6 hours apart.", +"type": "string" +} +}, +"type": "object" +}, +"InterconnectOutageNotification": { +"description": "Description of a planned outage on this Interconnect.", +"id": "InterconnectOutageNotification", +"properties": { +"affectedCircuits": { +"description": "If issue_type is IT_PARTIAL_OUTAGE, a list of the Google-side circuit IDs that will be affected.", +"items": { +"type": "string" +}, +"type": "array" +}, +"description": { +"description": "A description about the purpose of the outage.", +"type": "string" +}, +"endTime": { +"description": "Scheduled end time for the outage (milliseconds since Unix epoch).", +"format": "int64", +"type": "string" +}, +"issueType": { +"description": "Form this outage is expected to take, which can take one of the following values: - OUTAGE: The Interconnect may be completely out of service for some or all of the specified window. - PARTIAL_OUTAGE: Some circuits comprising the Interconnect as a whole should remain up, but with reduced bandwidth. Note that the versions of this enum prefixed with \"IT_\" have been deprecated in favor of the unprefixed values.", +"enum": [ +"IT_OUTAGE", +"IT_PARTIAL_OUTAGE", +"OUTAGE", +"PARTIAL_OUTAGE" +], +"enumDescriptions": [ +"[Deprecated] The Interconnect may be completely out of service for some or all of the specified window.", +"[Deprecated] Some circuits comprising the Interconnect will be out of service during the expected window. The interconnect as a whole should remain up, albeit with reduced bandwidth.", +"The Interconnect may be completely out of service for some or all of the specified window.", +"Some circuits comprising the Interconnect will be out of service during the expected window. The interconnect as a whole should remain up, albeit with reduced bandwidth." +], +"type": "string" +}, +"name": { +"description": "Unique identifier for this outage notification.", +"type": "string" +}, +"source": { +"description": "The party that generated this notification, which can take the following value: - GOOGLE: this notification as generated by Google. Note that the value of NSRC_GOOGLE has been deprecated in favor of GOOGLE.", +"enum": [ +"GOOGLE", +"NSRC_GOOGLE" +], +"enumDescriptions": [ +"This notification was generated by Google.", +"[Deprecated] This notification was generated by Google." +], +"type": "string" +}, +"startTime": { +"description": "Scheduled start time for the outage (milliseconds since Unix epoch).", +"format": "int64", +"type": "string" +}, +"state": { +"description": "State of this notification, which can take one of the following values: - ACTIVE: This outage notification is active. The event could be in the past, present, or future. See start_time and end_time for scheduling. - CANCELLED: The outage associated with this notification was cancelled before the outage was due to start. - COMPLETED: The outage associated with this notification is complete. Note that the versions of this enum prefixed with \"NS_\" have been deprecated in favor of the unprefixed values.", +"enum": [ +"ACTIVE", +"CANCELLED", +"COMPLETED", +"NS_ACTIVE", +"NS_CANCELED" +], +"enumDescriptions": [ +"This outage notification is active. The event could be in the future, present, or past. See start_time and end_time for scheduling.", +"The outage associated with this notification was cancelled before the outage was due to start.", +"The outage associated with this notification is complete.", +"[Deprecated] This outage notification is active. The event could be in the future, present, or past. See start_time and end_time for scheduling.", +"[Deprecated] The outage associated with this notification was canceled before the outage was due to start." +], +"type": "string" +} +}, +"type": "object" +}, +"InterconnectRemoteLocation": { +"description": "Represents a Cross-Cloud Interconnect Remote Location resource. You can use this resource to find remote location details about an Interconnect attachment (VLAN).", +"id": "InterconnectRemoteLocation", +"properties": { +"address": { +"description": "[Output Only] The postal address of the Point of Presence, each line in the address is separated by a newline character.", +"type": "string" +}, +"attachmentConfigurationConstraints": { +"$ref": "InterconnectAttachmentConfigurationConstraints", +"description": "[Output Only] Subset of fields from InterconnectAttachment's |configurationConstraints| field that apply to all attachments for this remote location." +}, +"city": { +"description": "[Output Only] Metropolitan area designator that indicates which city an interconnect is located. For example: \"Chicago, IL\", \"Amsterdam, Netherlands\".", +"type": "string" +}, +"constraints": { +"$ref": "InterconnectRemoteLocationConstraints", +"description": "[Output Only] Constraints on the parameters for creating Cross-Cloud Interconnect and associated InterconnectAttachments." +}, +"continent": { +"description": "[Output Only] Continent for this location, which can take one of the following values: - AFRICA - ASIA_PAC - EUROPE - NORTH_AMERICA - SOUTH_AMERICA ", +"enum": [ +"AFRICA", +"ASIA_PAC", +"EUROPE", +"NORTH_AMERICA", +"SOUTH_AMERICA" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "[Output Only] An optional description of the resource.", +"type": "string" +}, +"facilityProvider": { +"description": "[Output Only] The name of the provider for this facility (e.g., EQUINIX).", +"type": "string" +}, +"facilityProviderFacilityId": { +"description": "[Output Only] A provider-assigned Identifier for this facility (e.g., Ashburn-DC1).", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#interconnectRemoteLocation", +"description": "[Output Only] Type of the resource. Always compute#interconnectRemoteLocation for interconnect remote locations.", +"type": "string" +}, +"lacp": { +"description": "[Output Only] Link Aggregation Control Protocol (LACP) constraints, which can take one of the following values: LACP_SUPPORTED, LACP_UNSUPPORTED", +"enum": [ +"LACP_SUPPORTED", +"LACP_UNSUPPORTED" +], +"enumDescriptions": [ +"LACP_SUPPORTED: LACP is supported, and enabled by default on the Cross-Cloud Interconnect.", +"LACP_UNSUPPORTED: LACP is not supported and is not be enabled on this port. GetDiagnostics shows bundleAggregationType as \"static\". GCP does not support LAGs without LACP, so requestedLinkCount must be 1." +], +"type": "string" +}, +"maxLagSize100Gbps": { +"description": "[Output Only] The maximum number of 100 Gbps ports supported in a link aggregation group (LAG). When linkType is 100 Gbps, requestedLinkCount cannot exceed max_lag_size_100_gbps.", +"format": "int32", +"type": "integer" +}, +"maxLagSize10Gbps": { +"description": "[Output Only] The maximum number of 10 Gbps ports supported in a link aggregation group (LAG). When linkType is 10 Gbps, requestedLinkCount cannot exceed max_lag_size_10_gbps.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "[Output Only] Name of the resource.", +"type": "string" +}, +"peeringdbFacilityId": { +"description": "[Output Only] The peeringdb identifier for this facility (corresponding with a netfac type in peeringdb).", +"type": "string" +}, +"permittedConnections": { +"description": "[Output Only] Permitted connections.", +"items": { +"$ref": "InterconnectRemoteLocationPermittedConnections" +}, +"type": "array" +}, +"remoteService": { +"description": "[Output Only] Indicates the service provider present at the remote location. Example values: \"Amazon Web Services\", \"Microsoft Azure\".", +"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" +}, +"status": { +"description": "[Output Only] The status of this InterconnectRemoteLocation, which can take one of the following values: - CLOSED: The InterconnectRemoteLocation is closed and is unavailable for provisioning new Cross-Cloud Interconnects. - AVAILABLE: The InterconnectRemoteLocation is available for provisioning new Cross-Cloud Interconnects. ", +"enum": [ +"AVAILABLE", +"CLOSED" +], +"enumDescriptions": [ +"The InterconnectRemoteLocation is available for provisioning new Cross-Cloud Interconnects.", +"The InterconnectRemoteLocation is closed for provisioning new Cross-Cloud Interconnects." +], +"type": "string" +} +}, +"type": "object" +}, +"InterconnectRemoteLocationConstraints": { +"id": "InterconnectRemoteLocationConstraints", +"properties": { +"portPairRemoteLocation": { +"description": "[Output Only] Port pair remote location constraints, which can take one of the following values: PORT_PAIR_UNCONSTRAINED_REMOTE_LOCATION, PORT_PAIR_MATCHING_REMOTE_LOCATION. Google Cloud API refers only to individual ports, but the UI uses this field when ordering a pair of ports, to prevent users from accidentally ordering something that is incompatible with their cloud provider. Specifically, when ordering a redundant pair of Cross-Cloud Interconnect ports, and one of them uses a remote location with portPairMatchingRemoteLocation set to matching, the UI requires that both ports use the same remote location.", +"enum": [ +"PORT_PAIR_MATCHING_REMOTE_LOCATION", +"PORT_PAIR_UNCONSTRAINED_REMOTE_LOCATION" +], +"enumDescriptions": [ +"If PORT_PAIR_MATCHING_REMOTE_LOCATION, the remote cloud provider allocates ports in pairs, and the user should choose the same remote location for both ports.", +"If PORT_PAIR_UNCONSTRAINED_REMOTE_LOCATION, a user may opt to provision a redundant pair of Cross-Cloud Interconnects using two different remote locations in the same city." +], +"type": "string" +}, +"portPairVlan": { +"description": "[Output Only] Port pair VLAN constraints, which can take one of the following values: PORT_PAIR_UNCONSTRAINED_VLAN, PORT_PAIR_MATCHING_VLAN", +"enum": [ +"PORT_PAIR_MATCHING_VLAN", +"PORT_PAIR_UNCONSTRAINED_VLAN" +], +"enumDescriptions": [ +"If PORT_PAIR_MATCHING_VLAN, the Interconnect for this attachment is part of a pair of ports that should have matching VLAN allocations. This occurs with Cross-Cloud Interconnect to Azure remote locations. While GCP's API does not explicitly group pairs of ports, the UI uses this field to ensure matching VLAN ids when configuring a redundant VLAN pair.", +"PORT_PAIR_UNCONSTRAINED_VLAN means there is no constraint." +], +"type": "string" +}, +"subnetLengthRange": { +"$ref": "InterconnectRemoteLocationConstraintsSubnetLengthRange", +"description": "[Output Only] [min-length, max-length] The minimum and maximum value (inclusive) for the IPv4 subnet length. For example, an interconnectRemoteLocation for Azure has {min: 30, max: 30} because Azure requires /30 subnets. This range specifies the values supported by both cloud providers. Interconnect currently supports /29 and /30 IPv4 subnet lengths. If a remote cloud has no constraint on IPv4 subnet length, the range would thus be {min: 29, max: 30}. " +} +}, +"type": "object" +}, +"InterconnectRemoteLocationConstraintsSubnetLengthRange": { +"id": "InterconnectRemoteLocationConstraintsSubnetLengthRange", +"properties": { +"max": { +"format": "int32", +"type": "integer" +}, +"min": { +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"InterconnectRemoteLocationList": { +"description": "Response to the list request, and contains a list of interconnect remote locations.", +"id": "InterconnectRemoteLocationList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InterconnectRemoteLocation resources.", +"items": { +"$ref": "InterconnectRemoteLocation" +}, +"type": "array" +}, +"kind": { +"default": "compute#interconnectRemoteLocationList", +"description": "[Output Only] Type of resource. Always compute#interconnectRemoteLocationList for lists of interconnect remote locations.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token lets you get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"InterconnectRemoteLocationPermittedConnections": { +"id": "InterconnectRemoteLocationPermittedConnections", +"properties": { +"interconnectLocation": { +"description": "[Output Only] URL of an Interconnect location that is permitted to connect to this Interconnect remote location.", +"type": "string" +} +}, +"type": "object" +}, +"InterconnectsGetDiagnosticsResponse": { +"description": "Response for the InterconnectsGetDiagnosticsRequest.", +"id": "InterconnectsGetDiagnosticsResponse", +"properties": { +"result": { +"$ref": "InterconnectDiagnostics" +} +}, +"type": "object" +}, +"InterconnectsGetMacsecConfigResponse": { +"description": "Response for the InterconnectsGetMacsecConfigRequest.", +"id": "InterconnectsGetMacsecConfigResponse", +"properties": { +"etag": { +"description": "end_interface: MixerGetResponseWithEtagBuilder", +"type": "string" +}, +"result": { +"$ref": "InterconnectMacsecConfig" +} +}, +"type": "object" +}, +"InternalIpAddress": { +"id": "InternalIpAddress", +"properties": { +"cidr": { +"description": "IP CIDR address or range.", +"type": "string" +}, +"owner": { +"description": "The owner of the internal IP address.", +"type": "string" +}, +"purpose": { +"description": "The purpose of the internal IP address if applicable.", +"type": "string" +}, +"region": { +"description": "The region of the internal IP address if applicable.", +"type": "string" +}, +"type": { +"description": "The type of the internal IP address.", +"enum": [ +"PEER_RESERVED", +"PEER_USED", +"REMOTE_RESERVED", +"REMOTE_USED", +"RESERVED", +"SUBNETWORK", +"TYPE_UNSPECIFIED" +], +"enumDescriptions": [ +"Reserved IP ranges on peer networks.", +"Used IP ranges on peer networks, including peer subnetwork IP ranges.", +"Reserved IP ranges on peer networks of peer networks.", +"Used IP ranges on peer networks of peer networks.", +"Reserved IP ranges on local network.", +"Subnetwork IP ranges on local network.", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"InternalIpOwner": { +"id": "InternalIpOwner", +"properties": { +"ipCidrRange": { +"description": "IP CIDR range being owned.", +"type": "string" +}, +"owners": { +"description": "URLs of the IP owners of the IP CIDR range.", +"items": { +"type": "string" +}, +"type": "array" +}, +"systemOwned": { +"description": "Whether this IP CIDR range is reserved for system use.", +"type": "boolean" +} +}, +"type": "object" +}, +"IpAddressesList": { +"id": "IpAddressesList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InternalIpAddress resources.", +"items": { +"$ref": "InternalIpAddress" +}, +"type": "array" +}, +"kind": { +"default": "compute#ipAddressesList", +"description": "[Output Only] Type of resource. Always compute#ipAddressesList for IP addresses lists.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"IpOwnerList": { +"description": "Contains a list of IP owners.", +"id": "IpOwnerList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InternalIpOwner resources.", +"items": { +"$ref": "InternalIpOwner" +}, +"type": "array" +}, +"kind": { +"default": "compute#ipOwnerList", +"description": "[Output Only] Type of resource. Always compute#ipOwnerList for lists of IP owners.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"Jwt": { +"description": "[Deprecated] JWT configuration for origin authentication. JWT configuration for origin authentication.", +"id": "Jwt", +"properties": { +"audiences": { +"description": "A JWT containing any of these audiences will be accepted. The service name will be accepted if audiences is empty. Examples: bookstore_android.apps.googleusercontent.com, bookstore_web.apps.googleusercontent.com", +"items": { +"type": "string" +}, +"type": "array" +}, +"issuer": { +"description": "Identifies the issuer that issued the JWT, which is usually a URL or an email address. Examples: https://securetoken.google.com, 1234567-compute@developer.gserviceaccount.com", +"type": "string" +}, +"jwksPublicKeys": { +"description": "The provider's public key set to validate the signature of the JWT.", +"type": "string" +}, +"jwtHeaders": { +"description": "jwt_headers and jwt_params define where to extract the JWT from an HTTP request. If no explicit location is specified, the following default locations are tried in order: 1. The Authorization header using the Bearer schema. See `here `_. Example: Authorization: Bearer . 2. `access_token` query parameter. See `this `_ Multiple JWTs can be verified for a request. Each JWT has to be extracted from the locations its issuer specified or from the default locations. This field is set if JWT is sent in a request header. This field specifies the header name. For example, if `header=x-goog-iap-jwt-assertion`, the header format will be x-goog-iap-jwt-assertion: .", +"items": { +"$ref": "JwtHeader" +}, +"type": "array" +}, +"jwtParams": { +"description": "This field is set if JWT is sent in a query parameter. This field specifies the query parameter name. For example, if jwt_params[0] is jwt_token, the JWT format in the query parameter is /path?jwt_token=.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"JwtHeader": { +"description": "[Deprecated] This message specifies a header location to extract JWT token. This message specifies a header location to extract JWT token.", +"id": "JwtHeader", +"properties": { +"name": { +"description": "The HTTP header name.", +"type": "string" +}, +"valuePrefix": { +"description": "The value prefix. The value format is \"value_prefix\" For example, for \"Authorization: Bearer \", value_prefix=\"Bearer \" with a space at the end.", +"type": "string" +} +}, +"type": "object" +}, +"License": { +"description": "Represents a License resource. A License represents billing and aggregate usage data for public and marketplace images. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"id": "License", +"properties": { +"allowedReplacementLicenses": { +"description": "Specifies licenseCodes of licenses that can replace this license. Note: such replacements are allowed even if removable_from_disk is false.", +"items": { +"type": "string" +}, +"type": "array" +}, +"appendableToDisk": { +"description": "If true, this license can be appended to an existing disk's set of licenses.", +"type": "boolean" +}, +"chargesUseFee": { +"description": "[Output Only] Deprecated. This field no longer reflects whether a license charges a usage fee.", +"type": "boolean" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional textual description of the resource; provided by the client when the resource is created.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"incompatibleLicenses": { +"description": "Specifies licenseCodes of licenses that are incompatible with this license. If a license is incompatible with this license, it cannot be attached to the same disk or image.", +"items": { +"type": "string" +}, +"type": "array" +}, +"kind": { +"default": "compute#license", +"description": "[Output Only] Type of resource. Always compute#license for licenses.", +"type": "string" +}, +"licenseCode": { +"description": "[Output Only] The unique code used to attach this license to images, snapshots, and disks.", +"format": "uint64", +"type": "string" +}, +"minimumRetention": { +"$ref": "Duration", +"description": "If set, this license will be unable to be removed or replaced once attached to a disk until the minimum_retention period has passed." +}, +"multiTenantOnly": { +"description": "If true, this license can only be used on VMs on multi tenant nodes.", +"type": "boolean" +}, +"name": { +"annotations": { +"required": [ +"compute.images.insert" +] +}, +"description": "Name of the resource. The name must be 1-63 characters long and comply with RFC1035.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"osLicense": { +"description": "If true, indicates this is an OS license. Only one OS license can be attached to a disk or image at a time.", +"type": "boolean" +}, +"removableFromDisk": { +"description": "If true, this license can be removed from a disk's set of licenses, with no replacement license needed.", +"type": "boolean" +}, +"requiredCoattachedLicenses": { +"description": "Specifies the set of permissible coattached licenseCodes of licenses that satisfy the coattachment requirement of this license. At least one license from the set must be attached to the same disk or image as this license.", +"items": { +"type": "string" +}, +"type": "array" +}, +"resourceRequirements": { +"$ref": "LicenseResourceRequirements", +"description": "[Input Only] Deprecated." +}, +"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" +}, +"soleTenantOnly": { +"description": "If true, this license can only be used on VMs on sole tenant nodes.", +"type": "boolean" +}, +"transferable": { +"description": "If false, licenses will not be copied from the source resource when creating an image from a disk, disk from snapshot, or snapshot from disk.", +"type": "boolean" +}, +"updateTimestamp": { +"description": "[Output Only] Last update timestamp in RFC3339 text format.", +"type": "string" +} +}, +"type": "object" +}, +"LicenseCode": { +"description": "Represents a License Code resource. A License Code is a unique identifier used to represent a license resource. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", +"id": "LicenseCode", +"properties": { +"allowedReplacementLicenses": { +"description": "Specifies licenseCodes of licenses that can replace this license. Note: such replacements are allowed even if removable_from_disk is false.", +"items": { +"type": "string" +}, +"type": "array" +}, +"appendableToDisk": { +"description": "If true, this license can be appended to an existing disk's set of licenses.", +"type": "boolean" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "[Output Only] Description of this License Code.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"incompatibleLicenses": { +"description": "Specifies licenseCodes of licenses that are incompatible with this license. If a license is incompatible with this license, it cannot be attached to the same disk or image.", +"items": { +"type": "string" +}, +"type": "array" +}, +"kind": { +"default": "compute#licenseCode", +"description": "[Output Only] Type of resource. Always compute#licenseCode for licenses.", +"type": "string" +}, +"licenseAlias": { +"description": "[Output Only] URL and description aliases of Licenses with the same License Code.", +"items": { +"$ref": "LicenseCodeLicenseAlias" +}, +"type": "array" +}, +"minimumRetention": { +"$ref": "Duration", +"description": "If set, this license will be unable to be removed or replaced once attached to a disk until the minimum_retention period has passed." +}, +"multiTenantOnly": { +"description": "If true, this license can only be used on VMs on multi tenant nodes.", +"type": "boolean" +}, +"name": { +"annotations": { +"required": [ +"compute.licenses.insert" +] +}, +"description": "[Output Only] Name of the resource. The name is 1-20 characters long and must be a valid 64 bit integer.", +"pattern": "[0-9]{0,20}?", +"type": "string" +}, +"osLicense": { +"description": "If true, indicates this is an OS license. Only one OS license can be attached to a disk or image at a time.", +"type": "boolean" +}, +"removableFromDisk": { +"description": "If true, this license can be removed from a disk's set of licenses, with no replacement license needed.", +"type": "boolean" +}, +"requiredCoattachedLicenses": { +"description": "Specifies the set of permissible coattached licenseCodes of licenses that satisfy the coattachment requirement of this license. At least one license from the set must be attached to the same disk or image as this license.", +"items": { +"type": "string" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"soleTenantOnly": { +"description": "If true, this license can only be used on VMs on sole tenant nodes.", +"type": "boolean" +}, +"state": { +"description": "[Output Only] Current state of this License Code.", +"enum": [ +"DISABLED", +"ENABLED", +"RESTRICTED", +"STATE_UNSPECIFIED", +"TERMINATED" +], +"enumDescriptions": [ +"Machines are not allowed to attach boot disks with this License Code. Requests to create new resources with this license will be rejected.", +"Use is allowed for anyone with USE_READ_ONLY access to this License Code.", +"Use of this license is limited to a project whitelist.", +"", +"Reserved state." +], +"type": "string" +}, +"transferable": { +"description": "[Output Only] If true, the license will remain attached when creating images or snapshots from disks. Otherwise, the license is not transferred.", +"type": "boolean" +}, +"updateTimestamp": { +"description": "[Output Only] Last update timestamp in RFC3339 text format.", +"type": "string" +} +}, +"type": "object" +}, +"LicenseCodeLicenseAlias": { +"id": "LicenseCodeLicenseAlias", +"properties": { +"description": { +"description": "[Output Only] Description of this License Code.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] URL of license corresponding to this License Code.", +"type": "string" +} +}, +"type": "object" +}, +"LicenseResourceCommitment": { +"description": "Commitment for a particular license resource.", +"id": "LicenseResourceCommitment", +"properties": { +"amount": { +"description": "The number of licenses purchased.", +"format": "int64", +"type": "string" +}, +"coresPerLicense": { +"description": "Specifies the core range of the instance for which this license applies.", +"type": "string" +}, +"license": { +"description": "Any applicable license URI.", +"type": "string" +} +}, +"type": "object" +}, +"LicenseResourceRequirements": { +"id": "LicenseResourceRequirements", +"properties": { +"minGuestCpuCount": { +"description": "[Input Only] Deprecated. This field no longer reflects the minimum number of guest cpus required to use the Instance.", +"format": "int32", +"type": "integer" +}, +"minMemoryMb": { +"description": "[Input Only] Deprecated. This field no longer reflects the minimum memory required to use the Instance.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"LicensesListResponse": { +"id": "LicensesListResponse", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of License resources.", +"items": { +"$ref": "License" +}, +"type": "array" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"ListInstantSnapshotGroups": { +"description": "Contains a list of InstantSnapshotGroup resources.", +"id": "ListInstantSnapshotGroups", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InstantSnapshotGroup resources.", +"items": { +"$ref": "InstantSnapshotGroup" +}, +"type": "array" +}, +"kind": { +"default": "compute#instantSnapshotGroupsList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"LocalDisk": { +"id": "LocalDisk", +"properties": { +"diskCount": { +"description": "Specifies the number of such disks.", +"format": "int32", +"type": "integer" +}, +"diskSizeGb": { +"description": "Specifies the size of the disk in base-2 GB.", +"format": "int32", +"type": "integer" +}, +"diskType": { +"description": "Specifies the desired disk type on the node. This disk type must be a local storage type (e.g.: local-ssd). Note that for nodeTemplates, this should be the name of the disk type and not its URL.", +"type": "string" +} +}, +"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" +}, +"LocationPolicy": { +"description": "Configuration for location policy among multiple possible locations (e.g. preferences for zone selection among zones in a single region).", +"id": "LocationPolicy", +"properties": { +"locations": { +"additionalProperties": { +"$ref": "LocationPolicyLocation" +}, +"description": "Location configurations mapped by location name. Currently only zone names are supported and must be represented as valid internal URLs, such as zones/us-central1-a.", +"type": "object" +}, +"targetShape": { +"description": "Strategy for distributing VMs across zones in a region.", +"enum": [ +"ANY", +"ANY_SINGLE_ZONE", +"BALANCED" +], +"enumDescriptions": [ +"GCE picks zones for creating VM instances to fulfill the requested number of VMs within present resource constraints and to maximize utilization of unused zonal reservations. Recommended for batch workloads that do not require high availability.", +"GCE always selects a single zone for all the VMs, optimizing for resource quotas, available reservations and general capacity. Recommended for batch workloads that cannot tollerate distribution over multiple zones. This the default shape in Bulk Insert and Capacity Advisor APIs.", +"GCE prioritizes acquisition of resources, scheduling VMs in zones where resources are available while distributing VMs as evenly as possible across allowed zones to minimize the impact of zonal failure. Recommended for highly available serving workloads." +], +"type": "string" +} +}, +"type": "object" +}, +"LocationPolicyLocation": { +"id": "LocationPolicyLocation", +"properties": { +"constraints": { +"$ref": "LocationPolicyLocationConstraints", +"description": "Constraints that the caller requires on the result distribution in this zone." +}, +"names": { +"description": "Names of resources to be put in the location. Must contain unique, correct resource names. If used, targetShape must be left unset.", +"items": { +"type": "string" +}, +"type": "array" +}, +"preference": { +"description": "Preference for a given location. Set to either ALLOW or DENY.", +"enum": [ +"ALLOW", +"DENY", +"PREFERENCE_UNSPECIFIED" +], +"enumDescriptions": [ +"Location is allowed for use.", +"Location is prohibited.", +"Default value, unused." +], +"type": "string" +} +}, +"type": "object" +}, +"LocationPolicyLocationConstraints": { +"description": "Per-zone constraints on location policy for this zone.", +"id": "LocationPolicyLocationConstraints", +"properties": { +"maxCount": { +"description": "Maximum number of items that are allowed to be placed in this zone. The value must be non-negative.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"MachineImage": { +"description": "Represents a machine image resource. A machine image is a Compute Engine resource that stores all the configuration, metadata, permissions, and data from one or more disks required to create a Virtual machine (VM) instance. For more information, see Machine images.", +"id": "MachineImage", +"properties": { +"creationTimestamp": { +"description": "[Output Only] The creation timestamp for this machine image in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"guestFlush": { +"description": "[Input Only] Whether to attempt an application consistent machine image by informing the OS to prepare for the snapshot process.", +"type": "boolean" +}, +"id": { +"description": "[Output Only] A unique identifier for this machine image. The server defines this identifier.", +"format": "uint64", +"type": "string" +}, +"instanceProperties": { +"$ref": "InstanceProperties", +"description": "[Output Only] Properties of source instance" +}, +"kind": { +"default": "compute#machineImage", +"description": "[Output Only] The resource type, which is always compute#machineImage for machine image.", +"type": "string" +}, +"machineImageEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Encrypts the machine image using a customer-supplied encryption key. After you encrypt a machine image using a customer-supplied key, you must provide the same key if you use the machine image later. For example, you must provide the encryption key when you create an instance from the encrypted machine image in a future request. Customer-supplied encryption keys do not protect access to metadata of the machine image. If you do not provide an encryption key when creating the machine image, then the machine image will be encrypted using an automatically generated key and you do not need to provide a key to use the machine image later." +}, +"name": { +"annotations": { +"required": [ +"compute.machineImages.insert" +] +}, +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[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.", +"type": "boolean" +}, +"savedDisks": { +"description": "An array of Machine Image specific properties for disks attached to the source instance", +"items": { +"$ref": "SavedDisk" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] The URL for this machine image. The server defines this URL.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource with the resource id.", +"type": "string" +}, +"sourceDiskEncryptionKeys": { +"description": "[Input Only] The customer-supplied encryption key of the disks attached to the source instance. Required if the source disk is protected by a customer-supplied encryption key.", +"items": { +"$ref": "SourceDiskEncryptionKey" +}, +"type": "array" +}, +"sourceInstance": { +"description": "The source instance used to create the machine image. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /instances/instance - projects/project/zones/zone/instances/instance ", +"type": "string" +}, +"sourceInstanceProperties": { +"$ref": "SourceInstanceProperties", +"description": "[Output Only] DEPRECATED: Please use instance_properties instead for source instance related properties. New properties will not be added to this field." +}, +"status": { +"description": "[Output Only] The status of the machine image. One of the following values: INVALID, CREATING, READY, DELETING, and UPLOADING.", +"enum": [ +"CREATING", +"DELETING", +"INVALID", +"READY", +"UPLOADING" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"storageLocations": { +"description": "The regional or multi-regional Cloud Storage bucket location where the machine image is stored.", +"items": { +"type": "string" +}, +"type": "array" +}, +"totalStorageBytes": { +"description": "[Output Only] Total size of the storage used by the machine image.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"MachineImageList": { +"description": "A list of machine images.", +"id": "MachineImageList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of MachineImage resources.", +"items": { +"$ref": "MachineImage" +}, +"type": "array" +}, +"kind": { +"default": "compute#machineImageList", +"description": "[Output Only] The resource type, which is always compute#machineImagesListResponse for machine image lists.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"MachineType": { +"description": "Represents a Machine Type resource. You can use specific machine types for your VM instances based on performance and pricing requirements. For more information, read Machine Types.", +"id": "MachineType", +"properties": { +"accelerators": { +"description": "[Output Only] A list of accelerator configurations assigned to this machine type.", +"items": { +"properties": { +"guestAcceleratorCount": { +"description": "Number of accelerator cards exposed to the guest.", +"format": "int32", +"type": "integer" +}, +"guestAcceleratorType": { +"description": "The accelerator type resource name, not a full URL, e.g. nvidia-tesla-t4.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"architecture": { +"description": "[Output Only] The architecture of the machine type.", +"enum": [ +"ARCHITECTURE_UNSPECIFIED", +"ARM64", +"X86_64" +], +"enumDescriptions": [ +"Default value indicating Architecture is not set.", +"Machines with architecture ARM64", +"Machines with architecture X86_64" +], +"type": "string" +}, +"bundledLocalSsds": { +"$ref": "BundledLocalSsds", +"description": "[Output Only] The configuration of bundled local SSD for the machine type." +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"deprecated": { +"$ref": "DeprecationStatus", +"description": "[Output Only] The deprecation status associated with this machine type. Only applicable if the machine type is unavailable." +}, +"description": { +"description": "[Output Only] An optional textual description of the resource.", +"type": "string" +}, +"guestCpus": { +"description": "[Output Only] The number of virtual CPUs that are available to the instance.", +"format": "int32", +"type": "integer" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"isSharedCpu": { +"description": "[Output Only] Whether this machine type has a shared CPU. See Shared-core machine types for more information.", +"type": "boolean" +}, +"kind": { +"default": "compute#machineType", +"description": "[Output Only] The type of the resource. Always compute#machineType for machine types.", +"type": "string" +}, +"maximumPersistentDisks": { +"description": "[Output Only] Maximum persistent disks allowed.", +"format": "int32", +"type": "integer" +}, +"maximumPersistentDisksSizeGb": { +"description": "[Output Only] Maximum total persistent disks size (GB) allowed.", +"format": "int64", +"type": "string" +}, +"memoryMb": { +"description": "[Output Only] The amount of physical memory available to the instance, defined in MB.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "[Output Only] Name of the resource.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"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" +}, +"zone": { +"description": "[Output Only] The name of the zone where the machine type resides, such as us-central1-a.", +"type": "string" +} +}, +"type": "object" +}, +"MachineTypeAggregatedList": { +"id": "MachineTypeAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "MachineTypesScopedList", +"description": "[Output Only] Name of the scope containing this set of machine types." +}, +"description": "A list of MachineTypesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#machineTypeAggregatedList", +"description": "[Output Only] Type of resource. Always compute#machineTypeAggregatedList for aggregated lists of machine types.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"MachineTypeList": { +"description": "Contains a list of machine types.", +"id": "MachineTypeList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of MachineType resources.", +"items": { +"$ref": "MachineType" +}, +"type": "array" +}, +"kind": { +"default": "compute#machineTypeList", +"description": "[Output Only] Type of resource. Always compute#machineTypeList for lists of machine types.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"MachineTypesScopedList": { +"id": "MachineTypesScopedList", +"properties": { +"machineTypes": { +"description": "[Output Only] A list of machine types contained in this scope.", +"items": { +"$ref": "MachineType" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] An informational warning that appears when the machine types list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"ManagedInstance": { +"description": "A Managed Instance resource.", +"id": "ManagedInstance", +"properties": { +"allInstancesConfig": { +"$ref": "ManagedInstanceAllInstancesConfig", +"description": "[Output Only] Current all-instances configuration revision applied to this instance." +}, +"currentAction": { +"description": "[Output Only] The current action that the managed instance group has scheduled for the instance. Possible values: - NONE The instance is running, and the managed instance group does not have any scheduled actions for this instance. - CREATING The managed instance group is creating this instance. If the group fails to create this instance, it will try again until it is successful. - CREATING_WITHOUT_RETRIES The managed instance group is attempting to create this instance only once. If the group fails to create this instance, it does not try again and the group's targetSize value is decreased instead. - RECREATING The managed instance group is recreating this instance. - DELETING The managed instance group is permanently deleting this instance. - ABANDONING The managed instance group is abandoning this instance. The instance will be removed from the instance group and from any target pools that are associated with this group. - RESTARTING The managed instance group is restarting the instance. - REFRESHING The managed instance group is applying configuration changes to the instance without stopping it. For example, the group can update the target pool list for an instance without stopping that instance. - VERIFYING The managed instance group has created the instance and it is in the process of being verified. ", +"enum": [ +"ABANDONING", +"CREATING", +"CREATING_ATOMICALLY", +"CREATING_WITHOUT_RETRIES", +"DELETING", +"NONE", +"QUEUING", +"RECREATING", +"REFRESHING", +"RESTARTING", +"RESUMING", +"STARTING", +"STOPPING", +"SUSPENDING", +"VERIFYING" +], +"enumDescriptions": [ +"The managed instance group is abandoning this instance. The instance will be removed from the instance group and from any target pools that are associated with this group.", +"The managed instance group is creating this instance. If the group fails to create this instance, it will try again until it is successful.", +"The managed instance group is creating this instance atomically.", +"The managed instance group is attempting to create this instance only once. If the group fails to create this instance, it does not try again and the group's targetSize value is decreased.", +"The managed instance group is permanently deleting this instance.", +"The managed instance group has not scheduled any actions for this instance.", +"The managed instance group is queuing this instance.", +"The managed instance group is recreating this instance.", +"The managed instance group is applying configuration changes to the instance without stopping it. For example, the group can update the target pool list for an instance without stopping that instance.", +"The managed instance group is restarting this instance.", +"The managed instance group is resuming this instance.", +"The managed instance group is starting this instance.", +"The managed instance group is stopping this instance.", +"The managed instance group is suspending this instance.", +"The managed instance group is verifying this already created instance. Verification happens every time the instance is (re)created or restarted and consists of: 1. Waiting until health check specified as part of this managed instance group's autohealing policy reports HEALTHY. Note: Applies only if autohealing policy has a health check specified 2. Waiting for addition verification steps performed as post-instance creation (subject to future extensions)." +], +"type": "string" +}, +"currentActionDetails": { +"$ref": "ManagedInstanceCurrentActionDetails" +}, +"id": { +"description": "[Output only] The unique identifier for this resource. This field is empty when instance does not exist.", +"format": "uint64", +"type": "string" +}, +"instance": { +"description": "[Output Only] The URL of the instance. The URL can exist even if the instance has not yet been created.", +"type": "string" +}, +"instanceFlexibilityOverride": { +"$ref": "ManagedInstanceInstanceFlexibilityOverride", +"deprecated": true, +"description": "[Output Only] The overrides to instance properties resulting from InstanceFlexibilityPolicy." +}, +"instanceHealth": { +"description": "[Output Only] Health state of the instance per health-check.", +"items": { +"$ref": "ManagedInstanceInstanceHealth" +}, +"type": "array" +}, +"instanceStatus": { +"description": "[Output Only] The status of the instance. This field is empty when the instance does not exist.", +"enum": [ +"DEPROVISIONING", +"PENDING_STOP", +"PROVISIONING", +"REPAIRING", +"RUNNING", +"STAGING", +"STOPPED", +"STOPPING", +"SUSPENDED", +"SUSPENDING", +"TERMINATED" +], +"enumDescriptions": [ +"The instance is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.", +"The instance is gracefully shutting down.", +"Resources are being allocated for the instance.", +"The instance is in repair.", +"The instance is running.", +"All required resources have been allocated and the instance is being started.", +"The instance has stopped successfully.", +"The instance is currently stopping (either being deleted or killed).", +"The instance has suspended.", +"The instance is suspending.", +"The instance has stopped (either by explicit action or underlying failure)." +], +"type": "string" +}, +"instanceTemplate": { +"deprecated": true, +"description": "[Output Only] The intended template of the instance. This field is empty when current_action is one of { DELETING, ABANDONING }.", +"type": "string" +}, +"lastAttempt": { +"$ref": "ManagedInstanceLastAttempt", +"description": "[Output Only] Information about the last attempt to create or delete the instance." +}, +"name": { +"description": "[Output Only] The name of the instance. The name always exists even if the instance has not yet been created.", +"type": "string" +}, +"preservedStateFromConfig": { +"$ref": "PreservedState", +"description": "[Output Only] Preserved state applied from per-instance config for this instance." +}, +"preservedStateFromPolicy": { +"$ref": "PreservedState", +"description": "[Output Only] Preserved state generated based on stateful policy for this instance." +}, +"propertiesFromFlexibilityPolicy": { +"$ref": "ManagedInstancePropertiesFromFlexibilityPolicy", +"description": "[Output Only] Instance properties selected for this instance resulting from InstanceFlexibilityPolicy." +}, +"sizeInUnit": { +"description": "[Output only] The size of the VM represented by this Managed Instance. This is how much this Managed Instance contributes to the size of the group.", +"format": "float", +"type": "number" +}, +"tag": { +"deprecated": true, +"description": "[Output Only] Tag describing the version.", +"type": "string" +}, +"targetStatus": { +"description": "[Output Only] The eventual status of the instance. The instance group manager will not be identified as stable till each managed instance reaches its targetStatus.", +"enum": [ +"ABANDONED", +"DELETED", +"RUNNING", +"STOPPED", +"SUSPENDED" +], +"enumDescriptions": [ +"The managed instance will eventually be ABANDONED, i.e. dissociated from the managed instance group.", +"The managed instance will eventually be DELETED.", +"The managed instance will eventually reach status RUNNING.", +"The managed instance will eventually reach status TERMINATED.", +"The managed instance will eventually reach status SUSPENDED." +], +"type": "string" +}, +"version": { +"$ref": "ManagedInstanceVersion", +"description": "[Output Only] Intended version of this instance." +} +}, +"type": "object" +}, +"ManagedInstanceAllInstancesConfig": { +"id": "ManagedInstanceAllInstancesConfig", +"properties": { +"revision": { +"description": "[Output Only] Current all-instances configuration revision. This value is in RFC3339 text format.", +"type": "string" +} +}, +"type": "object" +}, +"ManagedInstanceCurrentActionDetails": { +"id": "ManagedInstanceCurrentActionDetails", +"properties": { +"methodName": { +"type": "string" +}, +"trigger": { +"description": "[Output Only] Details of the current action that the managed instance group has scheduled for the instance. Contains trigger for the current action, and methodName in case it was triggered by API call. Possible values for trigger: - API Any API call. - PROACTIVE_UPDATE Proactive updater scheduled an update on this managed instance. - AUTOSCALING Instance being deleted/created after a decision from the Autoscaler. - REDISTRIBUTION The regional managed instance group is moving instances between zones to restore balance. - STANDBY_REFILL The managed instance group is refilling the Standby Pool (stopped/suspended virtual machines) after scale up. - MAINTENANCE Manual maintenance. - FAILED_CREATION The managed instance group is handling failed instance creation. - INSTANCE_FAILURE The managed instance group is handling instance failure, according to the Instance Lifecycle Policy. - FAILED_HEALTH_CHECK The managed instance group is handling failed health check, according to the Instance Lifecycle Policy. - TERMINATION_TIMESTAMP Instance reached termination time, thus managed instance group stops/deletes it. ", +"enum": [ +"API", +"AUTOSCALING", +"FAILED_CREATION", +"FAILED_HEALTH_CHECK", +"INSTANCE_FAILURE", +"MAINTENANCE", +"NONE", +"PROACTIVE_UPDATE", +"REDISTRIBUTION", +"STANDBY_REFILL", +"TERMINATION_TIMESTAMP" +], +"enumDescriptions": [ +"Any API call.", +"Instance being deleted/created after a decision from the Autoscaler.", +"The managed instance group is handling failed instance creation.", +"The managed instance group is handling failed health check, according to the Instance Lifecycle Policy.", +"The managed instance group is handling instance failure, according to the Instance Lifecycle Policy.", +"Manual maintenance.", +"Default value, not visible externally.", +"Proactive updater scheduled an update on this managed instance.", +"The regional managed instance group is moving instances between zones to restore balance.", +"The managed instance group is refilling the Standby Pool (stopped/suspended virtual machines) after scale up.", +"Instance reached termination time, thus managed instance group stops/deletes it." +], +"type": "string" +} +}, +"type": "object" +}, +"ManagedInstanceInstanceFlexibilityOverride": { +"id": "ManagedInstanceInstanceFlexibilityOverride", +"properties": { +"machineType": { +"description": "The machine type to be used for this instance.", +"type": "string" +}, +"provisioningModel": { +"description": "The provisioning model to be used for this instance.", +"enum": [ +"RESERVATION_BOUND", +"SPOT", +"STANDARD" +], +"enumDescriptions": [ +"Bound to the lifecycle of the reservation in which it is provisioned.", +"Heavily discounted, no guaranteed runtime.", +"Standard provisioning with user controlled runtime, no discounts." +], +"type": "string" +} +}, +"type": "object" +}, +"ManagedInstanceInstanceHealth": { +"id": "ManagedInstanceInstanceHealth", +"properties": { +"detailedHealthState": { +"description": "[Output Only] The current detailed instance health state.", +"enum": [ +"DRAINING", +"HEALTHY", +"TIMEOUT", +"UNHEALTHY", +"UNKNOWN" +], +"enumDescriptions": [ +"The instance is being drained. The existing connections to the instance have time to complete, but the new ones are being refused.", +"The instance is reachable i.e. a connection to the application health checking endpoint can be established, and conforms to the requirements defined by the health check.", +"The instance is unreachable i.e. a connection to the application health checking endpoint cannot be established, or the server does not respond within the specified timeout.", +"The instance is reachable, but does not conform to the requirements defined by the health check.", +"The health checking system is aware of the instance but its health is not known at the moment." +], +"type": "string" +}, +"healthCheck": { +"description": "[Output Only] The URL for the health check that verifies whether the instance is healthy.", +"type": "string" +}, +"healthState": { +"deprecated": true, +"description": "[Output Only] The current instance health state. This field will not get promoted to beta/GA and might be removed from alpha APIs after 01/12/2019. Please use detailed_health_state field instead.", +"enum": [ +"HEALTHY", +"UNHEALTHY" +], +"enumDescriptions": [ +"The instance is reachable i.e. a connection to the application health checking endpoint can be established, and conforms to the requirements defined by the health check.", +"The instance is reachable, but does not conform to the requirements defined by the health check." +], +"type": "string" +} +}, +"type": "object" +}, +"ManagedInstanceLastAttempt": { +"id": "ManagedInstanceLastAttempt", +"properties": { +"errors": { +"description": "[Output Only] Encountered errors during the last attempt to create or delete the instance.", +"properties": { +"errors": { +"description": "[Output Only] The array of errors encountered while processing this operation.", +"items": { +"properties": { +"code": { +"description": "[Output Only] The error type identifier for this error.", +"type": "string" +}, +"errorDetails": { +"description": "[Output Only] An optional list of messages that contain the error 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" +} +}, +"type": "object" +}, +"ManagedInstancePropertiesFromFlexibilityPolicy": { +"id": "ManagedInstancePropertiesFromFlexibilityPolicy", +"properties": { +"machineType": { +"description": "The machine type to be used for this instance.", +"type": "string" +}, +"provisioningModel": { +"description": "The provisioning model to be used for this instance.", +"enum": [ +"RESERVATION_BOUND", +"SPOT", +"STANDARD" +], +"enumDescriptions": [ +"Bound to the lifecycle of the reservation in which it is provisioned.", +"Heavily discounted, no guaranteed runtime.", +"Standard provisioning with user controlled runtime, no discounts." +], +"type": "string" +} +}, +"type": "object" +}, +"ManagedInstanceVersion": { +"id": "ManagedInstanceVersion", +"properties": { +"instanceTemplate": { +"description": "[Output Only] The intended template of the instance. This field is empty when current_action is one of { DELETING, ABANDONING }.", +"type": "string" +}, +"name": { +"description": "[Output Only] Name of the version.", +"type": "string" +} +}, +"type": "object" +}, +"Metadata": { +"description": "A metadata key/value entry.", +"id": "Metadata", +"properties": { +"fingerprint": { +"description": "Specifies a fingerprint for this request, which is essentially a hash of the metadata's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the resource.", +"format": "byte", +"type": "string" +}, +"items": { +"description": "Array of key/value pairs. The total size of all keys and values must be less than 512 KB.", +"items": { +"description": "Metadata", +"properties": { +"key": { +"annotations": { +"required": [ +"compute.instances.insert", +"compute.projects.setCommonInstanceMetadata" +] +}, +"description": "Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is 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.", +"pattern": "[a-zA-Z0-9-_]{1,128}", +"type": "string" +}, +"value": { +"annotations": { +"required": [ +"compute.instances.insert", +"compute.projects.setCommonInstanceMetadata" +] +}, +"description": "Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 262144 bytes (256 KiB).", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"kind": { +"default": "compute#metadata", +"description": "[Output Only] Type of the resource. Always compute#metadata for metadata.", +"type": "string" +} +}, +"type": "object" +}, +"MetadataCredentialsFromPlugin": { +"description": "[Deprecated] Custom authenticator credentials. Custom authenticator credentials.", +"id": "MetadataCredentialsFromPlugin", +"properties": { +"name": { +"description": "Plugin name.", +"type": "string" +}, +"structConfig": { +"description": "A text proto that conforms to a Struct type definition interpreted by the plugin.", +"type": "string" +} +}, +"type": "object" +}, +"MetadataFilter": { +"description": "Opaque filter criteria used by load balancers to restrict routing configuration to a limited set of load balancing proxies. Proxies and sidecars involved in load balancing would typically present metadata to the load balancers that need to match criteria specified here. If a match takes place, the relevant configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. An example for using metadataFilters would be: if load balancing involves Envoys, they receive routing configuration when values in metadataFilters match values supplied in of their XDS requests to loadbalancers.", +"id": "MetadataFilter", +"properties": { +"filterLabels": { +"description": "The list of label value pairs that must match labels in the provided metadata based on filterMatchCriteria This list must not be empty and can have at the most 64 entries.", +"items": { +"$ref": "MetadataFilterLabelMatch" +}, +"type": "array" +}, +"filterMatchCriteria": { +"description": "Specifies how individual filter label matches within the list of filterLabels and contributes toward the overall metadataFilter match. Supported values are: - MATCH_ANY: at least one of the filterLabels must have a matching label in the provided metadata. - MATCH_ALL: all filterLabels must have matching labels in the provided metadata. ", +"enum": [ +"MATCH_ALL", +"MATCH_ANY", +"NOT_SET" +], +"enumDescriptions": [ +"Specifies that all filterLabels must match for the metadataFilter to be considered a match.", +"Specifies that any filterLabel must match for the metadataFilter to be considered a match.", +"Indicates that the match criteria was not set. A metadataFilter must never be created with this value." +], +"type": "string" +} +}, +"type": "object" +}, +"MetadataFilterLabelMatch": { +"description": "MetadataFilter label name value pairs that are expected to match corresponding labels presented as metadata to the load balancer.", +"id": "MetadataFilterLabelMatch", +"properties": { +"name": { +"description": "Name of metadata label. The name can have a maximum length of 1024 characters and must be at least 1 character long.", +"type": "string" +}, +"value": { +"description": "The value of the label must match the specified value. value can have a maximum length of 1024 characters.", +"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" +}, +"MultiMig": { +"description": "Multi-MIG represents a group of managed instance groups.", +"id": "MultiMig", +"properties": { +"creationTimestamp": { +"description": "[Output only] The creation timestamp of this multi-MIG in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource.", +"type": "string" +}, +"id": { +"description": "[Output only] The unique identifier for this resource type. The server generates this identifier.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#multiMig", +"description": "[Output only] Type of the resource. Always compute#multiMig for multi-MIGs.", +"type": "string" +}, +"name": { +"description": "The name of the multi-MIG. 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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"region": { +"description": "[Output only] The URL of the region where the resource resides. You must specify this field as part of the HTTP request URL. You cannot set the region as a field in the request body.", +"type": "string" +}, +"resourcePolicies": { +"$ref": "MultiMigResourcePolicies", +"description": "Resource policies for this multi-MIG." +}, +"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" +}, +"status": { +"$ref": "MultiMigStatus" +} +}, +"type": "object" +}, +"MultiMigResourcePolicies": { +"description": "Resource policies message for a multi-MIG. Specifies the workload policy configuration of the multi-MIG.", +"id": "MultiMigResourcePolicies", +"properties": { +"workloadPolicy": { +"description": "The URL of the workload policy for this multi-MIG. It can be a full or partial URL. For example, the following are all valid URLs to a workload policy: - https://www.googleapis.com/compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy - projects/project/regions/region/resourcePolicies/resourcePolicy - regions/region/resourcePolicies/resourcePolicy ", +"type": "string" +} +}, +"type": "object" +}, +"MultiMigStatus": { +"id": "MultiMigStatus", +"properties": { +"memberInstanceGroupManagers": { +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"MultiMigsList": { +"id": "MultiMigsList", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of multi-MIGs in the specified project and region.", +"items": { +"$ref": "MultiMig" +}, +"type": "array" +}, +"kind": { +"default": "compute#multiMigList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "This token allows you to get the next page of results for maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"MutualTls": { +"description": "[Deprecated] Configuration for the mutual Tls mode for peer authentication. Configuration for the mutual Tls mode for peer authentication.", +"id": "MutualTls", +"properties": { +"mode": { +"description": "Specifies if the server TLS is configured to be strict or permissive. This field can be set to one of the following: STRICT: Client certificate must be presented, connection is in TLS. PERMISSIVE: Client certificate can be omitted, connection can be either plaintext or TLS.", +"enum": [ +"INVALID", +"PERMISSIVE", +"STRICT" +], +"enumDescriptions": [ +"", +"Client certificate can be omitted, connection can be either plaintext or TLS.", +"Client certificate must be presented, connection is in TLS." +], +"type": "string" +} +}, +"type": "object" +}, +"NamedPort": { +"description": "The named port. For example: <\"http\", 80>.", +"id": "NamedPort", +"properties": { +"name": { +"description": "The name for this named port. The name must be 1-63 characters long, and comply with RFC1035.", +"type": "string" +}, +"port": { +"description": "The port number, which can be a value between 1 and 65535.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"NamedSet": { +"id": "NamedSet", +"properties": { +"elements": { +"description": "CEL expressions that are comparable to constructs of this set's type (see Policy Language).", +"items": { +"$ref": "Expr" +}, +"type": "array" +}, +"fingerprint": { +"description": "A fingerprint for the Named Set being applied to this Router, which is essentially a hash of the Named Set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update the Named Set. You must always provide an up-to-date fingerprint hash in order to update or change labels. To see the latest fingerprint, make a getNamedSet() request to retrieve a Named Set.", +"format": "byte", +"type": "string" +}, +"name": { +"description": "This set's name, which must be a resource ID segment and unique within all named sets owned by the Router. Name should conform to RFC1035.", +"type": "string" +}, +"type": { +"description": "This named set's type", +"enum": [ +"NAMED_SET_TYPE_COMMUNITY", +"NAMED_SET_TYPE_PREFIX" +], +"enumDescriptions": [ +"The Named Set is a Community Named Set.", +"The Named Set is a Prefix Named Set." +], +"type": "string" +} +}, +"type": "object" +}, +"NatIpInfo": { +"description": "Contains NAT IP information of a NAT config (i.e. usage status, mode).", +"id": "NatIpInfo", +"properties": { +"natIpInfoMappings": { +"description": "A list of all NAT IPs assigned to this NAT config.", +"items": { +"$ref": "NatIpInfoNatIpInfoMapping" +}, +"type": "array" +}, +"natName": { +"description": "Name of the NAT config which the NAT IP belongs to.", +"type": "string" +} +}, +"type": "object" +}, +"NatIpInfoNatIpInfoMapping": { +"description": "Contains information of a NAT IP.", +"id": "NatIpInfoNatIpInfoMapping", +"properties": { +"mode": { +"description": "Specifies whether NAT IP is auto or manual.", +"enum": [ +"AUTO", +"MANUAL" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"natIp": { +"description": "NAT IP address. For example: 203.0.113.11.", +"type": "string" +}, +"usage": { +"description": "Specifies whether NAT IP is currently serving at least one endpoint or not.", +"enum": [ +"IN_USE", +"UNUSED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"NatIpInfoResponse": { +"id": "NatIpInfoResponse", +"properties": { +"result": { +"description": "[Output Only] A list of NAT IP information.", +"items": { +"$ref": "NatIpInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"Network": { +"description": "Represents a VPC Network resource. Networks connect resources to each other and to the internet. For more information, read Virtual Private Cloud (VPC) Network.", +"id": "Network", +"properties": { +"IPv4Range": { +"deprecated": true, +"description": "Deprecated in favor of subnet mode networks. The range of internal addresses that are legal on this network. This range is a CIDR specification, for example: 192.168.0.0/16. Provided by the client when the network is created.", +"pattern": "[0-9]{1,3}(?:\\.[0-9]{1,3}){3}/[0-9]{1,2}", +"type": "string" +}, +"autoCreateSubnetworks": { +"description": "Must be set to create a VPC network. If not set, a legacy network is created. When set to true, the VPC network is created in auto mode. When set to false, the VPC network is created in custom mode. An auto mode VPC network starts with one subnet per region. Each subnet has a predetermined range as described in Auto mode VPC network IP ranges. For custom mode VPC networks, you can add subnets using the subnetworks insert method.", +"type": "boolean" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this field when you create the resource.", +"type": "string" +}, +"enableUlaInternalIpv6": { +"description": "Enable ULA internal ipv6 on this network. Enabling this feature will assign a /48 from google defined ULA prefix fd20::/20. .", +"type": "boolean" +}, +"firewallPolicy": { +"description": "[Output Only] URL of the firewall policy the network is associated with.", +"type": "string" +}, +"gatewayIPv4": { +"description": "[Output Only] The gateway address for default routing out of the network, selected by Google Cloud.", +"pattern": "[0-9]{1,3}(?:\\.[0-9]{1,3}){3}", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"internalIpv6Range": { +"description": "When enabling ula internal ipv6, caller optionally can specify the /48 range they want from the google defined ULA prefix fd20::/20. The input must be a valid /48 ULA IPv6 address and must be within the fd20::/20. Operation will fail if the speficied /48 is already in used by another resource. If the field is not speficied, then a /48 range will be randomly allocated from fd20::/20 and returned via this field. .", +"type": "string" +}, +"kind": { +"default": "compute#network", +"description": "[Output Only] Type of the resource. Always compute#network for networks.", +"type": "string" +}, +"mtu": { +"description": "Maximum Transmission Unit in bytes. The minimum value for this field is 1300 and the maximum value is 8896. The suggested value is 1500, which is the default MTU used on the Internet, or 8896 if you want to use Jumbo frames. If unspecified, the value defaults to 1460.", +"format": "int32", +"type": "integer" +}, +"name": { +"annotations": { +"required": [ +"compute.networks.insert" +] +}, +"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])?`. The first character must be a lowercase letter, and all following characters (except for the last character) must be a dash, lowercase letter, or digit. The last character must be a lowercase letter or digit.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"networkFirewallPolicyEnforcementOrder": { +"description": "The network firewall policy enforcement order. Can be either AFTER_CLASSIC_FIREWALL or BEFORE_CLASSIC_FIREWALL. Defaults to AFTER_CLASSIC_FIREWALL if the field is not specified.", +"enum": [ +"AFTER_CLASSIC_FIREWALL", +"BEFORE_CLASSIC_FIREWALL" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"networkProfile": { +"description": "A full or partial URL of the network profile to apply to this network. This field can be set only at resource creation time. For example, the following are valid URLs: - https://www.googleapis.com/compute/{api_version}/projects/{project_id}/global/networkProfiles/{network_profile_name} - projects/{project_id}/global/networkProfiles/{network_profile_name} ", +"type": "string" +}, +"peerings": { +"description": "[Output Only] A list of network peerings for the resource.", +"items": { +"$ref": "NetworkPeering" +}, +"type": "array" +}, +"region": { +"description": "[Output Only] URL of the region where the regional network resides. This field is not applicable to global network. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"routingConfig": { +"$ref": "NetworkRoutingConfig", +"description": "The network-level routing configuration for this network. Used by Cloud Router to determine what type of network-wide routing behavior to enforce." +}, +"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" +}, +"subnetworks": { +"description": "[Output Only] Server-defined fully-qualified URLs for all subnetworks in this VPC network.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"NetworkAttachment": { +"description": "NetworkAttachments A network attachment resource ...", +"id": "NetworkAttachment", +"properties": { +"connectionEndpoints": { +"description": "[Output Only] An array of connections for all the producers connected to this network attachment.", +"items": { +"$ref": "NetworkAttachmentConnectedEndpoint" +}, +"type": "array" +}, +"connectionPreference": { +"enum": [ +"ACCEPT_AUTOMATIC", +"ACCEPT_MANUAL", +"INVALID" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. An up-to-date fingerprint must be provided in order to patch.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#networkAttachment", +"description": "[Output Only] Type of the resource.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.networkAttachments.insert" +] +}, +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"network": { +"description": "[Output Only] The URL of the network which the Network Attachment belongs to. Practically it is inferred by fetching the network of the first subnetwork associated. Because it is required that all the subnetworks must be from the same network, it is assured that the Network Attachment belongs to the same network as all the subnetworks.", +"type": "string" +}, +"producerAcceptLists": { +"description": "Projects that are allowed to connect to this network attachment. The project can be specified using its id or number.", +"items": { +"type": "string" +}, +"type": "array" +}, +"producerRejectLists": { +"description": "Projects that are not allowed to connect to this network attachment. The project can be specified using its id or number.", +"items": { +"type": "string" +}, +"type": "array" +}, +"region": { +"description": "[Output Only] URL of the region where the network attachment resides. This field applies only to the region resource. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource's resource id.", +"type": "string" +}, +"subnetworks": { +"description": "An array of URLs where each entry is the URL of a subnet provided by the service consumer to use for endpoints in the producers that connect to this network attachment.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"NetworkAttachmentAggregatedList": { +"description": "Contains a list of NetworkAttachmentsScopedList.", +"id": "NetworkAttachmentAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "NetworkAttachmentsScopedList", +"description": "Name of the scope containing this set of NetworkAttachments." +}, +"description": "A list of NetworkAttachmentsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#networkAttachmentAggregatedList", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"NetworkAttachmentConnectedEndpoint": { +"description": "[Output Only] A connection connected to this network attachment.", +"id": "NetworkAttachmentConnectedEndpoint", +"properties": { +"ipAddress": { +"description": "The IPv4 address assigned to the producer instance network interface. This value will be a range in case of Serverless.", +"type": "string" +}, +"ipv6Address": { +"description": "The IPv6 address assigned to the producer instance network interface. This is only assigned when the stack types of both the instance network interface and the consumer subnet are IPv4_IPv6.", +"type": "string" +}, +"projectIdOrNum": { +"description": "The project id or number of the interface to which the IP was assigned.", +"type": "string" +}, +"secondaryIpCidrRanges": { +"description": "Alias IP ranges from the same subnetwork.", +"items": { +"type": "string" +}, +"type": "array" +}, +"status": { +"description": "The status of a connected endpoint to this network attachment.", +"enum": [ +"ACCEPTED", +"CLOSED", +"NEEDS_ATTENTION", +"PENDING", +"REJECTED", +"STATUS_UNSPECIFIED" +], +"enumDescriptions": [ +"The consumer allows traffic from the producer to reach its VPC.", +"The consumer network attachment no longer exists.", +"The consumer needs to take further action before traffic can be served.", +"The consumer neither allows nor prohibits traffic from the producer to reach its VPC.", +"The consumer prohibits traffic from the producer to reach its VPC.", +"" +], +"type": "string" +}, +"subnetwork": { +"description": "The subnetwork used to assign the IP to the producer instance network interface.", +"type": "string" +}, +"subnetworkCidrRange": { +"description": "[Output Only] The CIDR range of the subnet from which the IPv4 internal IP was allocated from.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkAttachmentList": { +"id": "NetworkAttachmentList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of NetworkAttachment resources.", +"items": { +"$ref": "NetworkAttachment" +}, +"type": "array" +}, +"kind": { +"default": "compute#networkAttachmentList", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"NetworkAttachmentsScopedList": { +"id": "NetworkAttachmentsScopedList", +"properties": { +"networkAttachments": { +"description": "A list of NetworkAttachments contained in this scope.", +"items": { +"$ref": "NetworkAttachment" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of network attachments when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"NetworkEdgeSecurityService": { +"description": "Represents a Google Cloud Armor network edge security service resource.", +"id": "NetworkEdgeSecurityService", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a NetworkEdgeSecurityService. An up-to-date fingerprint must be provided in order to update the NetworkEdgeSecurityService, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a NetworkEdgeSecurityService.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#networkEdgeSecurityService", +"description": "[Output only] Type of the resource. Always compute#networkEdgeSecurityService for NetworkEdgeSecurityServices", +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the resource resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"securityPolicy": { +"description": "The resource URL for the network edge security service associated with this network edge security service.", +"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" +} +}, +"type": "object" +}, +"NetworkEdgeSecurityServiceAggregatedList": { +"id": "NetworkEdgeSecurityServiceAggregatedList", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "NetworkEdgeSecurityServicesScopedList", +"description": "Name of the scope containing this set of security policies." +}, +"description": "A list of NetworkEdgeSecurityServicesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#networkEdgeSecurityServiceAggregatedList", +"description": "[Output Only] Type of resource. Always compute#networkEdgeSecurityServiceAggregatedList for lists of Network Edge Security Services.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"NetworkEdgeSecurityServicesScopedList": { +"id": "NetworkEdgeSecurityServicesScopedList", +"properties": { +"networkEdgeSecurityServices": { +"description": "A list of NetworkEdgeSecurityServices contained in this scope.", +"items": { +"$ref": "NetworkEdgeSecurityService" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of security policies when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"NetworkEndpoint": { +"description": "The network endpoint.", +"id": "NetworkEndpoint", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Metadata defined as annotations on the network endpoint.", +"type": "object" +}, +"clientDestinationPort": { +"description": "Represents the port number to which PSC consumer sends packets. Only valid for network endpoint groups created with GCE_VM_IP_PORTMAP endpoint type.", +"format": "int32", +"type": "integer" +}, +"fqdn": { +"description": "Optional fully qualified domain name of network endpoint. This can only be specified when NetworkEndpointGroup.network_endpoint_type is NON_GCP_FQDN_PORT.", +"type": "string" +}, +"instance": { +"description": "The name or a URL of VM instance of this network endpoint. This field is required for network endpoints of type GCE_VM_IP and GCE_VM_IP_PORT. The instance must be in the same zone of network endpoint group (for zonal NEGs) or in the zone within the region of the NEG (for regional NEGs). If the ipAddress is specified, it must belongs to the VM instance. The name must be 1-63 characters long, and comply with RFC1035 or be a valid URL pointing to an existing instance.", +"type": "string" +}, +"ipAddress": { +"description": "Optional IPv4 address of network endpoint. The IP address must belong to a VM in Compute Engine (either the primary IP or as part of an aliased IP range). If the IP address is not specified, then the primary IP address for the VM instance in the network that the network endpoint group belongs to will be used. This field is redundant and need not be set for network endpoints of type GCE_VM_IP. If set, it must be set to the primary internal IP address of the attached VM instance that matches the subnetwork of the NEG. The primary internal IP address from any NIC of a multi-NIC VM instance can be added to a NEG as long as it matches the NEG subnetwork.", +"type": "string" +}, +"ipv6Address": { +"description": "Optional IPv6 address of network endpoint.", +"type": "string" +}, +"port": { +"description": "Optional port number of network endpoint. If not specified, the defaultPort for the network endpoint group will be used. This field can not be set for network endpoints of type GCE_VM_IP.", +"format": "int32", +"type": "integer" +}, +"zone": { +"description": "The name of the zone where the instance hosting the network endpoint is located (valid only for regional GCE_VM_IP_PORT NEGs). It should comply with RFC1035. The zone must belong to the region of the Network Endpoint Group.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkEndpointGroup": { +"description": "Represents a collection of network endpoints. A network endpoint group (NEG) defines how a set of endpoints should be reached, whether they are reachable, and where they are located. For more information about using NEGs for different use cases, see Network endpoint groups overview.", +"id": "NetworkEndpointGroup", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Metadata defined as annotations on the network endpoint group.", +"type": "object" +}, +"appEngine": { +"$ref": "NetworkEndpointGroupAppEngine", +"description": "Only valid when networkEndpointType is SERVERLESS. Only one of cloudRun, appEngine or cloudFunction may be set." +}, +"cloudFunction": { +"$ref": "NetworkEndpointGroupCloudFunction", +"description": "Only valid when networkEndpointType is SERVERLESS. Only one of cloudRun, appEngine or cloudFunction may be set." +}, +"cloudRun": { +"$ref": "NetworkEndpointGroupCloudRun", +"description": "Only valid when networkEndpointType is SERVERLESS. Only one of cloudRun, appEngine or cloudFunction may be set." +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"defaultPort": { +"description": "The default port used if the port number is not specified in the network endpoint. If the network endpoint type is either GCE_VM_IP, SERVERLESS or PRIVATE_SERVICE_CONNECT, this field must not be specified.", +"format": "int32", +"type": "integer" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#networkEndpointGroup", +"description": "[Output Only] Type of the resource. Always compute#networkEndpointGroup for network endpoint group.", +"type": "string" +}, +"loadBalancer": { +"$ref": "NetworkEndpointGroupLbNetworkEndpointGroup", +"deprecated": true, +"description": "This field is only valid when the network endpoint group is used for load balancing. [Deprecated] This field is deprecated." +}, +"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" +}, +"network": { +"description": "The URL of the network to which all network endpoints in the NEG belong. Uses default project network if unspecified.", +"type": "string" +}, +"networkEndpointType": { +"description": "Type of network endpoints in this network endpoint group. Can be one of GCE_VM_IP, GCE_VM_IP_PORT, NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT, INTERNET_IP_PORT, SERVERLESS, PRIVATE_SERVICE_CONNECT, GCE_VM_IP_PORTMAP.", +"enum": [ +"GCE_VM_IP", +"GCE_VM_IP_PORT", +"GCE_VM_IP_PORTMAP", +"INTERNET_FQDN_PORT", +"INTERNET_IP_PORT", +"NON_GCP_PRIVATE_IP_PORT", +"PRIVATE_SERVICE_CONNECT", +"SERVERLESS" +], +"enumDescriptions": [ +"The network endpoint is represented by an IP address.", +"The network endpoint is represented by IP address and port pair.", +"The network endpoint is represented by an IP, Port and Client Destination Port.", +"The network endpoint is represented by fully qualified domain name and port.", +"The network endpoint is represented by an internet IP address and port.", +"The network endpoint is represented by an IP address and port. The endpoint belongs to a VM or pod running in a customer's on-premises.", +"The network endpoint is either public Google APIs or services exposed by other GCP Project with a Service Attachment. The connection is set up by private service connect", +"The network endpoint is handled by specified serverless infrastructure." +], +"type": "string" +}, +"pscData": { +"$ref": "NetworkEndpointGroupPscData" +}, +"pscTargetService": { +"description": "The target service url used to set up private service connection to a Google API or a PSC Producer Service Attachment. An example value is: asia-northeast3-cloudkms.googleapis.com", +"type": "string" +}, +"region": { +"description": "[Output Only] The URL of the region where the network endpoint group is located.", +"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" +}, +"serverlessDeployment": { +"$ref": "NetworkEndpointGroupServerlessDeployment", +"description": "Only valid when networkEndpointType is SERVERLESS. Only one of cloudRun, appEngine, cloudFunction or serverlessDeployment may be set." +}, +"size": { +"description": "[Output only] Number of network endpoints in the network endpoint group.", +"format": "int32", +"type": "integer" +}, +"subnetwork": { +"description": "Optional URL of the subnetwork to which all network endpoints in the NEG belong.", +"type": "string" +}, +"type": { +"description": "Specify the type of this network endpoint group. Only LOAD_BALANCING is valid for now.", +"enum": [ +"LOAD_BALANCING" +], +"enumDescriptions": [ +"The network endpoint group is a backend of a load balancer." +], +"type": "string" +}, +"zone": { +"description": "[Output Only] The URL of the zone where the network endpoint group is located.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkEndpointGroupAggregatedList": { +"id": "NetworkEndpointGroupAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "NetworkEndpointGroupsScopedList", +"description": "The name of the scope that contains this set of network endpoint groups." +}, +"description": "A list of NetworkEndpointGroupsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#networkEndpointGroupAggregatedList", +"description": "[Output Only] The resource type, which is always compute#networkEndpointGroupAggregatedList for aggregated lists of network endpoint groups.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"NetworkEndpointGroupAppEngine": { +"description": "Configuration for an App Engine network endpoint group (NEG). The service is optional, may be provided explicitly or in the URL mask. The version is optional and can only be provided explicitly or in the URL mask when service is present. Note: App Engine service must be in the same project and located in the same region as the Serverless NEG.", +"id": "NetworkEndpointGroupAppEngine", +"properties": { +"service": { +"description": "Optional serving service. The service name is case-sensitive and must be 1-63 characters long. Example value: default, my-service.", +"type": "string" +}, +"urlMask": { +"description": "An URL mask is one of the main components of the Cloud Function. A template to parse service and version fields from a request URL. URL mask allows for routing to multiple App Engine services without having to create multiple Network Endpoint Groups and backend services. For example, the request URLs foo1-dot-appname.appspot.com/v1 and foo1-dot-appname.appspot.com/v2 can be backed by the same Serverless NEG with URL mask -dot-appname.appspot.com/. The URL mask will parse them to { service = \"foo1\", version = \"v1\" } and { service = \"foo1\", version = \"v2\" } respectively.", +"type": "string" +}, +"version": { +"description": "Optional serving version. The version name is case-sensitive and must be 1-100 characters long. Example value: v1, v2.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkEndpointGroupCloudFunction": { +"description": "Configuration for a Cloud Function network endpoint group (NEG). The function must be provided explicitly or in the URL mask. Note: Cloud Function must be in the same project and located in the same region as the Serverless NEG.", +"id": "NetworkEndpointGroupCloudFunction", +"properties": { +"function": { +"description": "A user-defined name of the Cloud Function. The function name is case-sensitive and must be 1-63 characters long. Example value: func1.", +"type": "string" +}, +"urlMask": { +"description": "An URL mask is one of the main components of the Cloud Function. A template to parse function field from a request URL. URL mask allows for routing to multiple Cloud Functions without having to create multiple Network Endpoint Groups and backend services. For example, request URLs mydomain.com/function1 and mydomain.com/function2 can be backed by the same Serverless NEG with URL mask /. The URL mask will parse them to { function = \"function1\" } and { function = \"function2\" } respectively.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkEndpointGroupCloudRun": { +"description": "Configuration for a Cloud Run network endpoint group (NEG). The service must be provided explicitly or in the URL mask. The tag is optional, may be provided explicitly or in the URL mask. Note: Cloud Run service must be in the same project and located in the same region as the Serverless NEG.", +"id": "NetworkEndpointGroupCloudRun", +"properties": { +"service": { +"description": "Cloud Run service is the main resource of Cloud Run. The service must be 1-63 characters long, and comply with RFC1035. Example value: \"run-service\".", +"type": "string" +}, +"tag": { +"description": "Optional Cloud Run tag represents the \"named-revision\" to provide additional fine-grained traffic routing information. The tag must be 1-63 characters long, and comply with RFC1035. Example value: \"revision-0010\".", +"type": "string" +}, +"urlMask": { +"description": "An URL mask is one of the main components of the Cloud Function. A template to parse and fields from a request URL. URL mask allows for routing to multiple Run services without having to create multiple network endpoint groups and backend services. For example, request URLs foo1.domain.com/bar1 and foo1.domain.com/bar2 can be backed by the same Serverless Network Endpoint Group (NEG) with URL mask .domain.com/. The URL mask will parse them to { service=\"bar1\", tag=\"foo1\" } and { service=\"bar2\", tag=\"foo2\" } respectively.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkEndpointGroupLbNetworkEndpointGroup": { +"description": "Load balancing specific fields for network endpoint group.", +"id": "NetworkEndpointGroupLbNetworkEndpointGroup", +"properties": { +"defaultPort": { +"deprecated": true, +"description": "The default port used if the port number is not specified in the network endpoint. If the network endpoint type is either GCE_VM_IP, SERVERLESS or PRIVATE_SERVICE_CONNECT, this field must not be specified. [Deprecated] This field is deprecated.", +"format": "int32", +"type": "integer" +}, +"network": { +"deprecated": true, +"description": "The URL of the network to which all network endpoints in the NEG belong. Uses default project network if unspecified. [Deprecated] This field is deprecated.", +"type": "string" +}, +"subnetwork": { +"deprecated": true, +"description": "Optional URL of the subnetwork to which all network endpoints in the NEG belong. [Deprecated] This field is deprecated.", +"type": "string" +}, +"zone": { +"deprecated": true, +"description": "[Output Only] The URL of the zone where the network endpoint group is located. [Deprecated] This field is deprecated.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkEndpointGroupList": { +"id": "NetworkEndpointGroupList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of NetworkEndpointGroup resources.", +"items": { +"$ref": "NetworkEndpointGroup" +}, +"type": "array" +}, +"kind": { +"default": "compute#networkEndpointGroupList", +"description": "[Output Only] The resource type, which is always compute#networkEndpointGroupList for network endpoint group lists.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"NetworkEndpointGroupPscData": { +"description": "All data that is specifically relevant to only network endpoint groups of type PRIVATE_SERVICE_CONNECT.", +"id": "NetworkEndpointGroupPscData", +"properties": { +"consumerPscAddress": { +"description": "[Output Only] Address allocated from given subnetwork for PSC. This IP address acts as a VIP for a PSC NEG, allowing it to act as an endpoint in L7 PSC-XLB.", +"type": "string" +}, +"producerPort": { +"description": "The psc producer port is used to connect PSC NEG with specific port on the PSC Producer side; should only be used for the PRIVATE_SERVICE_CONNECT NEG type", +"format": "int32", +"type": "integer" +}, +"pscConnectionId": { +"description": "[Output Only] The PSC connection id of the PSC Network Endpoint Group Consumer.", +"format": "uint64", +"type": "string" +}, +"pscConnectionStatus": { +"description": "[Output Only] The connection status of the PSC Forwarding Rule.", +"enum": [ +"ACCEPTED", +"CLOSED", +"NEEDS_ATTENTION", +"PENDING", +"REJECTED", +"STATUS_UNSPECIFIED" +], +"enumDescriptions": [ +"The connection has been accepted by the producer.", +"The connection has been closed by the producer and will not serve traffic going forward.", +"The connection has been accepted by the producer, but the producer needs to take further action before the forwarding rule can serve traffic.", +"The connection is pending acceptance by the producer.", +"The connection has been rejected by the producer.", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"NetworkEndpointGroupServerlessDeployment": { +"description": "Configuration for a serverless network endpoint group (NEG). The platform must be provided. Note: The target backend service must be in the same project and located in the same region as the Serverless NEG.", +"id": "NetworkEndpointGroupServerlessDeployment", +"properties": { +"platform": { +"description": "The platform of the backend target(s) of this NEG. The only supported value is API Gateway: apigateway.googleapis.com.", +"type": "string" +}, +"resource": { +"description": "The user-defined name of the workload/instance. This value must be provided explicitly or in the urlMask. The resource identified by this value is platform-specific and is as follows: 1. API Gateway: The gateway ID 2. App Engine: The service name 3. Cloud Functions: The function name 4. Cloud Run: The service name ", +"type": "string" +}, +"urlMask": { +"description": "An URL mask is one of the main components of the Cloud Function. A template to parse platform-specific fields from a request URL. URL mask allows for routing to multiple resources on the same serverless platform without having to create multiple Network Endpoint Groups and backend resources. The fields parsed by this template are platform-specific and are as follows: 1. API Gateway: The gateway ID 2. App Engine: The service and version 3. Cloud Functions: The function name 4. Cloud Run: The service and tag ", +"type": "string" +}, +"version": { +"description": "The optional resource version. The version identified by this value is platform-specific and is follows: 1. API Gateway: Unused 2. App Engine: The service version 3. Cloud Functions: Unused 4. Cloud Run: The service tag ", +"type": "string" +} +}, +"type": "object" +}, +"NetworkEndpointGroupsAttachEndpointsRequest": { +"id": "NetworkEndpointGroupsAttachEndpointsRequest", +"properties": { +"networkEndpoints": { +"description": "The list of network endpoints to be attached.", +"items": { +"$ref": "NetworkEndpoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"NetworkEndpointGroupsDetachEndpointsRequest": { +"id": "NetworkEndpointGroupsDetachEndpointsRequest", +"properties": { +"networkEndpoints": { +"description": "The list of network endpoints to be detached.", +"items": { +"$ref": "NetworkEndpoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"NetworkEndpointGroupsListEndpointsRequest": { +"id": "NetworkEndpointGroupsListEndpointsRequest", +"properties": { +"endpointFilters": { +"description": "Optional list of endpoints to query. This is a more efficient but also limited version of filter parameter. Endpoints in the filter must have ip_address and port fields populated, other fields are not supported.", +"items": { +"$ref": "NetworkEndpointGroupsListEndpointsRequestNetworkEndpointFilter" +}, +"type": "array" +}, +"healthStatus": { +"description": "Optional query parameter for showing the health status of each network endpoint. Valid options are SKIP or SHOW. If you don't specify this parameter, the health status of network endpoints will not be provided.", +"enum": [ +"SHOW", +"SKIP" +], +"enumDescriptions": [ +"Show the health status for each network endpoint. Impacts latency of the call.", +"Health status for network endpoints will not be provided." +], +"type": "string" +} +}, +"type": "object" +}, +"NetworkEndpointGroupsListEndpointsRequestNetworkEndpointFilter": { +"id": "NetworkEndpointGroupsListEndpointsRequestNetworkEndpointFilter", +"properties": { +"networkEndpoint": { +"$ref": "NetworkEndpoint" +} +}, +"type": "object" +}, +"NetworkEndpointGroupsListNetworkEndpoints": { +"id": "NetworkEndpointGroupsListNetworkEndpoints", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of NetworkEndpointWithHealthStatus resources.", +"items": { +"$ref": "NetworkEndpointWithHealthStatus" +}, +"type": "array" +}, +"kind": { +"default": "compute#networkEndpointGroupsListNetworkEndpoints", +"description": "[Output Only] The resource type, which is always compute#networkEndpointGroupsListNetworkEndpoints for the list of network endpoints in the specified network endpoint group.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"NetworkEndpointGroupsScopedList": { +"id": "NetworkEndpointGroupsScopedList", +"properties": { +"networkEndpointGroups": { +"description": "[Output Only] The list of network endpoint groups that are contained in this scope.", +"items": { +"$ref": "NetworkEndpointGroup" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] An informational warning that replaces the list of network endpoint groups when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"NetworkEndpointWithHealthStatus": { +"id": "NetworkEndpointWithHealthStatus", +"properties": { +"healths": { +"description": "[Output only] The health status of network endpoint;", +"items": { +"$ref": "HealthStatusForNetworkEndpoint" +}, +"type": "array" +}, +"networkEndpoint": { +"$ref": "NetworkEndpoint", +"description": "[Output only] The network endpoint;" +} +}, +"type": "object" +}, +"NetworkFirewallPolicyAggregatedList": { +"id": "NetworkFirewallPolicyAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "FirewallPoliciesScopedList", +"description": "Name of the scope containing this set of addresses." +}, +"description": "A list of FirewallPoliciesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#networkFirewallPolicyAggregatedList", +"description": "[Output Only] Type of resource. Always compute#networkFirewallPoliciesAggregatedList for lists of network firewall policies.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"NetworkInterface": { +"description": "A network interface resource attached to an instance.", +"id": "NetworkInterface", +"properties": { +"accessConfigs": { +"description": "An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.", +"items": { +"$ref": "AccessConfig" +}, +"type": "array" +}, +"aliasIpRanges": { +"description": "An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.", +"items": { +"$ref": "AliasIpRange" +}, +"type": "array" +}, +"fingerprint": { +"description": "Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.", +"format": "byte", +"type": "string" +}, +"igmpQuery": { +"description": "Indicate whether igmp query is enabled on the network interface or not. If enabled, also indicates the version of IGMP supported.", +"enum": [ +"IGMP_QUERY_DISABLED", +"IGMP_QUERY_V2" +], +"enumDescriptions": [ +"The network interface has disabled IGMP query.", +"The network interface has enabled IGMP query - v2." +], +"type": "string" +}, +"internalIpv6PrefixLength": { +"description": "The prefix length of the primary internal IPv6 range.", +"format": "int32", +"type": "integer" +}, +"ipv6AccessConfigs": { +"description": "An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.", +"items": { +"$ref": "AccessConfig" +}, +"type": "array" +}, +"ipv6AccessType": { +"description": "[Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork. Valid only if stackType is IPV4_IPV6.", +"enum": [ +"EXTERNAL", +"INTERNAL" +], +"enumDescriptions": [ +"This network interface can have external IPv6.", +"This network interface can have internal IPv6." +], +"type": "string" +}, +"ipv6Address": { +"description": "An IPv6 internal network address for this network interface. To use a static internal IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.", +"type": "string" +}, +"kind": { +"default": "compute#networkInterface", +"description": "[Output Only] Type of the resource. Always compute#networkInterface for network interfaces.", +"type": "string" +}, +"name": { +"description": "[Output Only] The name of the network interface, which is generated by the server. For a VM, the network interface uses the nicN naming format. Where N is a value between 0 and 7. The default interface value is nic0.", +"type": "string" +}, +"network": { +"description": "URL of the VPC network resource for this instance. When creating an instance, if neither the network nor the subnetwork is specified, the default network global/networks/default is used. If the selected project doesn't have the default network, you must specify a network or subnet. If the network is not specified but the subnetwork is specified, the network is inferred. If you specify this property, you can specify the network as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/global/networks/ network - projects/project/global/networks/network - global/networks/default ", +"type": "string" +}, +"networkAttachment": { +"description": "The URL of the network attachment that this interface should connect to in the following format: projects/{project_number}/regions/{region_name}/networkAttachments/{network_attachment_name}.", +"type": "string" +}, +"networkIP": { +"description": "An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.", +"type": "string" +}, +"nicType": { +"description": "The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.", +"enum": [ +"GVNIC", +"IDPF", +"IRDMA", +"MRDMA", +"UNSPECIFIED_NIC_TYPE", +"VIRTIO_NET" +], +"enumDescriptions": [ +"GVNIC", +"IDPF", +"IRDMA", +"MRDMA", +"No type specified.", +"VIRTIO" +], +"type": "string" +}, +"parentNicName": { +"description": "Name of the parent network interface of a dynamic network interface.", +"type": "string" +}, +"queueCount": { +"description": "The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It'll be empty if not specified by the users.", +"format": "int32", +"type": "integer" +}, +"stackType": { +"description": "The stack type for this network interface. To assign only IPv4 addresses, use IPV4_ONLY. To assign both IPv4 and IPv6 addresses, use IPV4_IPV6. If not specified, IPV4_ONLY is used. This field can be both set at instance creation and update network interface operations.", +"enum": [ +"IPV4_IPV6", +"IPV4_ONLY", +"IPV6_ONLY" +], +"enumDescriptions": [ +"The network interface can have both IPv4 and IPv6 addresses.", +"The network interface will only be assigned IPv4 addresses.", +"The network interface will only be assigned IPv6 addresses." +], +"type": "string" +}, +"subinterfaces": { +"description": "SubInterfaces help enable L2 communication for the instance over subnetworks that support L2. Every network interface will get a default untagged (vlan not specified) subinterface. Users can specify additional tagged subinterfaces which are sub-fields to the Network Interface.", +"items": { +"$ref": "NetworkInterfaceSubInterface" +}, +"type": "array" +}, +"subnetwork": { +"description": "The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/regions/region /subnetworks/subnetwork - regions/region/subnetworks/subnetwork ", +"type": "string" +}, +"vlan": { +"description": "VLAN tag of a dynamic network interface, must be in range from 2 to 4094 inclusively.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"NetworkInterfaceSubInterface": { +"id": "NetworkInterfaceSubInterface", +"properties": { +"ipAddress": { +"description": "An IPv4 internal IP address to assign to the instance for this subinterface. If specified, ip_allocation_mode should be set to ALLOCATE_IP.", +"type": "string" +}, +"ipAllocationMode": { +"enum": [ +"ALLOCATE_IP", +"DO_NOT_ALLOCATE_IP", +"UNSPECIFIED" +], +"enumDescriptions": [ +"Allocates an internal IPv4 IP address from subnets secondary IP Range.", +"No IP allocation is done for the subinterface.", +"" +], +"type": "string" +}, +"subnetwork": { +"description": "If specified, this subnetwork must belong to the same network as that of the network interface. If not specified the subnet of network interface will be used. If you specify this property, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/regions/region /subnetworks/subnetwork - regions/region/subnetworks/subnetwork ", +"type": "string" +}, +"vlan": { +"description": "VLAN tag. Should match the VLAN(s) supported by the subnetwork to which this subinterface is connecting.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"NetworkList": { +"description": "Contains a list of networks.", +"id": "NetworkList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Network resources.", +"items": { +"$ref": "Network" +}, +"type": "array" +}, +"kind": { +"default": "compute#networkList", +"description": "[Output Only] Type of resource. Always compute#networkList for lists of networks.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"NetworkPeering": { +"description": "A network peering attached to a network resource. The message includes the peering name, peer network, peering state, and a flag indicating whether Google Compute Engine should automatically create routes for the peering.", +"id": "NetworkPeering", +"properties": { +"advertisePeerSubnetsViaRouters": { +"description": "Whether Cloud Routers in this network can automatically advertise subnets from the peer network.", +"type": "boolean" +}, +"autoCreateRoutes": { +"description": "This field will be deprecated soon. Use the exchange_subnet_routes field instead. Indicates whether full mesh connectivity is created and managed automatically between peered networks. Currently this field should always be true since Google Compute Engine will automatically create and manage subnetwork routes between two networks when peering state is ACTIVE.", +"type": "boolean" +}, +"exchangeSubnetRoutes": { +"description": "Indicates whether full mesh connectivity is created and managed automatically between peered networks. Currently this field should always be true since Google Compute Engine will automatically create and manage subnetwork routes between two networks when peering state is ACTIVE.", +"type": "boolean" +}, +"exportCustomRoutes": { +"description": "Whether to export the custom routes to peer network. The default value is false.", +"type": "boolean" +}, +"exportSubnetRoutesWithPublicIp": { +"description": "Whether subnet routes with public IP range are exported. The default value is true, all subnet routes are exported. IPv4 special-use ranges are always exported to peers and are not controlled by this field.", +"type": "boolean" +}, +"importCustomRoutes": { +"description": "Whether to import the custom routes from peer network. The default value is false.", +"type": "boolean" +}, +"importSubnetRoutesWithPublicIp": { +"description": "Whether subnet routes with public IP range are imported. The default value is false. IPv4 special-use ranges are always imported from peers and are not controlled by this field.", +"type": "boolean" +}, +"name": { +"description": "Name of this peering. Provided by the client when the peering is created. The name must comply with RFC1035. Specifically, the name must be 1-63 characters long and match regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all the following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"type": "string" +}, +"network": { +"description": "The URL of the peer network. It can be either full URL or partial URL. The peer network may belong to a different project. If the partial URL does not contain project, it is assumed that the peer network is in the same project as the current network.", +"type": "string" +}, +"peerMtu": { +"description": "Maximum Transmission Unit in bytes.", +"format": "int32", +"type": "integer" +}, +"stackType": { +"description": "Which IP version(s) of traffic and routes are allowed to be imported or exported between peer networks. The default value is IPV4_ONLY.", +"enum": [ +"IPV4_IPV6", +"IPV4_ONLY" +], +"enumDescriptions": [ +"This Peering will allow IPv4 traffic and routes to be exchanged. Additionally if the matching peering is IPV4_IPV6, IPv6 traffic and routes will be exchanged as well.", +"This Peering will only allow IPv4 traffic and routes to be exchanged, even if the matching peering is IPV4_IPV6." +], +"type": "string" +}, +"state": { +"description": "[Output Only] State for the peering, either `ACTIVE` or `INACTIVE`. The peering is `ACTIVE` when there's a matching configuration in the peer network.", +"enum": [ +"ACTIVE", +"INACTIVE" +], +"enumDescriptions": [ +"Matching configuration exists on the peer.", +"There is no matching configuration on the peer, including the case when peer does not exist." +], +"type": "string" +}, +"stateDetails": { +"description": "[Output Only] Details about the current state of the peering.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkPerformanceConfig": { +"id": "NetworkPerformanceConfig", +"properties": { +"externalIpEgressBandwidthTier": { +"enum": [ +"DEFAULT", +"TIER_1" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"totalEgressBandwidthTier": { +"enum": [ +"DEFAULT", +"TIER_1" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"NetworkProfile": { +"description": "NetworkProfile represents a Google managed network profile resource.", +"id": "NetworkProfile", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "[Output Only] An optional description of this resource.", +"type": "string" +}, +"features": { +"$ref": "NetworkProfileNetworkFeatures", +"description": "[Output Only] Features supported by the network." +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#networkProfile", +"description": "[Output Only] Type of the resource. Always compute#networkProfile for network profiles.", +"type": "string" +}, +"location": { +"$ref": "NetworkProfileLocation", +"description": "[Output Only] Location to which the network is restricted." +}, +"name": { +"description": "[Output Only] Name of the resource.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"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" +}, +"zone": { +"description": "[Output Only] Zone to which the network is restricted.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkProfileLocation": { +"id": "NetworkProfileLocation", +"properties": { +"name": { +"type": "string" +}, +"scope": { +"enum": [ +"REGION", +"ZONE" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"NetworkProfileNetworkFeatures": { +"id": "NetworkProfileNetworkFeatures", +"properties": { +"addressPurposes": { +"description": "Specifies what address purposes are supported. If empty, all address purposes are supported.", +"items": { +"enum": [ +"DNS_RESOLVER", +"GCE_ENDPOINT", +"IPSEC_INTERCONNECT", +"NAT_AUTO", +"PRIVATE_SERVICE_CONNECT", +"SERVERLESS", +"SHARED_LOADBALANCER_VIP", +"SYSTEM_MANAGED", +"VPC_PEERING" +], +"enumDescriptions": [ +"DNS resolver address in the subnetwork.", +"VM internal/alias IP, Internal LB service IP, etc.", +"A regional internal IP address range reserved for the VLAN attachment that is used in HA VPN over Cloud Interconnect. This regional internal IP address range must not overlap with any IP address range of subnet/route in the VPC network and its peering networks. After the VLAN attachment is created with the reserved IP address range, when creating a new VPN gateway, its interface IP address is allocated from the associated VLAN attachment\u2019s IP address range.", +"External IP automatically reserved for Cloud NAT.", +"A private network IP address that can be used to configure Private Service Connect. This purpose can be specified only for GLOBAL addresses of Type INTERNAL", +"A regional internal IP address range reserved for Serverless.", +"A private network IP address that can be shared by multiple Internal Load Balancer forwarding rules.", +"A regional internal IP address that is reserved and managed by Google Cloud. It can not be assigned to Google Cloud compute resources such as VM and internal load balancer.", +"IP range for peer networks." +], +"type": "string" +}, +"type": "array" +}, +"allowAliasIpRanges": { +"description": "Specifies whether alias IP ranges (and secondary address ranges) are allowed.", +"enum": [ +"ALIAS_IP_RANGES_ALLOWED", +"ALIAS_IP_RANGES_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowAutoModeSubnet": { +"description": "Specifies whether auto mode subnet creation is allowed.", +"enum": [ +"AUTO_MODE_SUBNET_ALLOWED", +"AUTO_MODE_SUBNET_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowClassDFirewalls": { +"description": "Specifies whether firewalls for Class D address ranges are supported.", +"enum": [ +"CLASS_D_FIREWALLS_ALLOWED", +"CLASS_D_FIREWALLS_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowCloudNat": { +"description": "Specifies whether cloud NAT creation is allowed.", +"enum": [ +"CLOUD_NAT_ALLOWED", +"CLOUD_NAT_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowCloudRouter": { +"description": "Specifies whether cloud router creation is allowed.", +"enum": [ +"CLOUD_ROUTER_ALLOWED", +"CLOUD_ROUTER_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowExternalIpAccess": { +"description": "Specifies whether VMs are allowed to have external IP access on network interfaces connected to this VPC.", +"enum": [ +"EXTERNAL_IP_ACCESS_ALLOWED", +"EXTERNAL_IP_ACCESS_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowInterconnect": { +"description": "Specifies whether Cloud Interconnect creation is allowed.", +"enum": [ +"INTERCONNECT_ALLOWED", +"INTERCONNECT_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowLoadBalancing": { +"description": "Specifies whether cloud load balancing is allowed.", +"enum": [ +"LOAD_BALANCING_ALLOWED", +"LOAD_BALANCING_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowMultiNicInSameNetwork": { +"description": "Specifies whether multi-nic in the same network is allowed.", +"enum": [ +"MULTI_NIC_IN_SAME_NETWORK_ALLOWED", +"MULTI_NIC_IN_SAME_NETWORK_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowPacketMirroring": { +"description": "Specifies whether Packet Mirroring 1.0 is supported.", +"enum": [ +"PACKET_MIRRORING_ALLOWED", +"PACKET_MIRRORING_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowPrivateGoogleAccess": { +"description": "Specifies whether private Google access is allowed.", +"enum": [ +"PRIVATE_GOOGLE_ACCESS_ALLOWED", +"PRIVATE_GOOGLE_ACCESS_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowPsc": { +"description": "Specifies whether PSC creation is allowed.", +"enum": [ +"PSC_ALLOWED", +"PSC_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowSameNetworkUnicast": { +"description": "Specifies whether unicast within the same network is allowed.", +"enum": [ +"SAME_NETWORK_UNICAST_ALLOWED", +"SAME_NETWORK_UNICAST_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowStaticRoutes": { +"description": "Specifies whether static route creation is allowed.", +"enum": [ +"STATIC_ROUTES_ALLOWED", +"STATIC_ROUTES_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowSubInterfaces": { +"description": "Specifies whether sub interfaces are allowed.", +"enum": [ +"SUBINTERFACES_ALLOWED", +"SUBINTERFACES_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowVpcPeering": { +"description": "Specifies whether VPC peering is allowed.", +"enum": [ +"VPC_PEERING_ALLOWED", +"VPC_PEERING_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"allowVpn": { +"description": "Specifies whether VPN creation is allowed.", +"enum": [ +"VPN_ALLOWED", +"VPN_BLOCKED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"interfaceTypes": { +"description": "If set, limits the interface types that the network supports. If empty, all interface types are supported.", +"items": { +"enum": [ +"GVNIC", +"IDPF", +"IRDMA", +"MRDMA", +"UNSPECIFIED_NIC_TYPE", +"VIRTIO_NET" +], +"enumDescriptions": [ +"GVNIC", +"IDPF", +"IRDMA", +"MRDMA", +"No type specified.", +"VIRTIO" +], +"type": "string" +}, +"type": "array" +}, +"subnetPurposes": { +"description": "Specifies which subnetwork purposes are supported.", +"items": { +"enum": [ +"SUBNET_PURPOSE_CUSTOM_HARDWARE", +"SUBNET_PURPOSE_PRIVATE" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"type": "array" +}, +"subnetStackTypes": { +"description": "Specifies which subnetwork stack types are supported.", +"items": { +"enum": [ +"SUBNET_STACK_TYPE_IPV4_IPV6", +"SUBNET_STACK_TYPE_IPV4_ONLY", +"SUBNET_STACK_TYPE_IPV6_ONLY" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"type": "array" +}, +"unicast": { +"description": "Specifies which type of unicast is supported.", +"enum": [ +"UNICAST_SDN", +"UNICAST_ULL" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"NetworkProfilesListResponse": { +"description": "Contains a list of network profiles.", +"id": "NetworkProfilesListResponse", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of NetworkProfile resources.", +"items": { +"$ref": "NetworkProfile" +}, +"type": "array" +}, +"kind": { +"default": "compute#networkProfileList", +"description": "[Output Only] Type of resource. Always compute#networkProfileList for network profiles.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"NetworkRoutingConfig": { +"description": "A routing configuration attached to a network resource. The message includes the list of routers associated with the network, and a flag indicating the type of routing behavior to enforce network-wide.", +"id": "NetworkRoutingConfig", +"properties": { +"bgpAlwaysCompareMed": { +"description": "Enable comparison of Multi-Exit Discriminators (MED) across routes with different neighbor ASNs when using the STANDARD BGP best path selection algorithm.", +"type": "boolean" +}, +"bgpBestPathSelectionMode": { +"description": "The BGP best path selection algorithm to be employed within this network for dynamic routes learned by Cloud Routers. Can be LEGACY (default) or STANDARD.", +"enum": [ +"LEGACY", +"STANDARD" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"bgpInterRegionCost": { +"description": "Allows to define a preferred approach for handling inter-region cost in the selection process when using the STANDARD BGP best path selection algorithm. Can be DEFAULT or ADD_COST_TO_MED.", +"enum": [ +"ADD_COST_TO_MED", +"DEFAULT" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"effectiveBgpAlwaysCompareMed": { +"description": "[Output Only] Effective value of the bgp_always_compare_med field.", +"type": "boolean" +}, +"effectiveBgpInterRegionCost": { +"description": "[Output Only] Effective value of the bgp_inter_region_cost field.", +"enum": [ +"ADD_COST_TO_MED", +"DEFAULT" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"routingMode": { +"description": "The network-wide routing mode to use. If set to REGIONAL, this network's Cloud Routers will only advertise routes with subnets of this network in the same region as the router. If set to GLOBAL, this network's Cloud Routers will advertise routes with all subnets of this network, across regions.", +"enum": [ +"GLOBAL", +"REGIONAL" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"NetworksAddPeeringRequest": { +"id": "NetworksAddPeeringRequest", +"properties": { +"autoCreateRoutes": { +"description": "This field will be deprecated soon. Use exchange_subnet_routes in network_peering instead. Indicates whether full mesh connectivity is created and managed automatically between peered networks. Currently this field should always be true since Google Compute Engine will automatically create and manage subnetwork routes between two networks when peering state is ACTIVE.", +"type": "boolean" +}, +"exportCustomRoutes": { +"description": "This field will be deprecated soon. Use export_custom_routes in network_peering instead. Whether to export the custom routes to peer network.", +"type": "boolean" +}, +"importCustomRoutes": { +"description": "This field will be deprecated soon. Use import_custom_routes in network_peering instead. Whether to import the custom routes from peer network.", +"type": "boolean" +}, +"name": { +"annotations": { +"required": [ +"compute.networks.addPeering" +] +}, +"description": "Name of the peering, which should conform to RFC1035.", +"type": "string" +}, +"networkPeering": { +"$ref": "NetworkPeering", +"description": "Network peering parameters. In order to specify route policies for peering using import and export custom routes, you must specify all peering related parameters (name, peer network, exchange_subnet_routes) in the network_peering field. The corresponding fields in NetworksAddPeeringRequest will be deprecated soon." +}, +"peerNetwork": { +"description": "URL of the peer network. It can be either full URL or partial URL. The peer network may belong to a different project. If the partial URL does not contain project, it is assumed that the peer network is in the same project as the current network.", +"type": "string" +} +}, +"type": "object" +}, +"NetworksGetEffectiveFirewallsResponse": { +"id": "NetworksGetEffectiveFirewallsResponse", +"properties": { +"firewallPolicys": { +"description": "[Output Only] Effective firewalls from firewall policy. It returns Global Network Firewall Policies and Hierarchical Firewall Policies. Use regionNetworkFirewallPolicies.getEffectiveFirewalls to get Regional Network Firewall Policies as well.", +"items": { +"$ref": "NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy" +}, +"type": "array" +}, +"firewalls": { +"description": "Effective firewalls on the network.", +"items": { +"$ref": "Firewall" +}, +"type": "array" +}, +"organizationFirewalls": { +"description": "Effective firewalls from organization policies.", +"items": { +"$ref": "NetworksGetEffectiveFirewallsResponseOrganizationFirewallPolicy" +}, +"type": "array" +} +}, +"type": "object" +}, +"NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy": { +"id": "NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy", +"properties": { +"displayName": { +"deprecated": true, +"description": "[Output Only] Deprecated, please use short name instead. The display name of the firewall policy.", +"type": "string" +}, +"name": { +"description": "[Output Only] The name of the firewall policy.", +"type": "string" +}, +"packetMirroringRules": { +"description": "[Output Only] The packet mirroring rules that apply to the network.", +"items": { +"$ref": "FirewallPolicyRule" +}, +"type": "array" +}, +"priority": { +"description": "[Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY.", +"format": "int32", +"type": "integer" +}, +"rules": { +"description": "[Output Only] The rules that apply to the network.", +"items": { +"$ref": "FirewallPolicyRule" +}, +"type": "array" +}, +"shortName": { +"description": "[Output Only] The short name of the firewall policy.", +"type": "string" +}, +"type": { +"description": "[Output Only] The type of the firewall policy.", +"enum": [ +"HIERARCHY", +"NETWORK", +"SYSTEM", +"UNSPECIFIED" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"NetworksGetEffectiveFirewallsResponseOrganizationFirewallPolicy": { +"description": "A pruned SecurityPolicy containing ID and any applicable firewall rules.", +"id": "NetworksGetEffectiveFirewallsResponseOrganizationFirewallPolicy", +"properties": { +"id": { +"description": "[Output Only] The unique identifier for the security policy. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"rules": { +"description": "The rules that apply to the network.", +"items": { +"$ref": "SecurityPolicyRule" +}, +"type": "array" +} +}, +"type": "object" +}, +"NetworksRemovePeeringRequest": { +"id": "NetworksRemovePeeringRequest", +"properties": { +"name": { +"description": "Name of the peering, which should conform to RFC1035.", +"type": "string" +} +}, +"type": "object" +}, +"NetworksUpdatePeeringRequest": { +"id": "NetworksUpdatePeeringRequest", +"properties": { +"networkPeering": { +"$ref": "NetworkPeering" +} +}, +"type": "object" +}, +"NodeGroup": { +"description": "Represents a sole-tenant Node Group resource. A sole-tenant node is a physical server that is dedicated to hosting VM instances only for your specific project. Use sole-tenant nodes to keep your instances physically separated from instances in other projects, or to group your instances together on the same host hardware. For more information, read Sole-tenant nodes.", +"id": "NodeGroup", +"properties": { +"autoscalingPolicy": { +"$ref": "NodeGroupAutoscalingPolicy", +"description": "Specifies how autoscaling should behave." +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"fingerprint": { +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#nodeGroup", +"description": "[Output Only] The type of the resource. Always compute#nodeGroup for node group.", +"type": "string" +}, +"locationHint": { +"description": "An opaque location hint used to place the Node close to other resources. This field is for use by internal tools that use the public API. The location hint here on the NodeGroup overrides any location_hint present in the NodeTemplate.", +"type": "string" +}, +"maintenanceInterval": { +"description": "Specifies the frequency of planned maintenance events. The accepted values are: `AS_NEEDED` and `RECURRENT`.", +"enum": [ +"AS_NEEDED", +"PERIODIC", +"RECURRENT" +], +"enumDescriptions": [ +"VMs 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 VM than the PERIODIC and RECURRENT options.", +"VMs 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 a VM 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.", +"VMs 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 a VM 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. RECURRENT is used for GEN3 and Slice of Hardware VMs." +], +"type": "string" +}, +"maintenancePolicy": { +"description": "Specifies how to handle instances when a node in the group undergoes maintenance. Set to one of: DEFAULT, RESTART_IN_PLACE, or MIGRATE_WITHIN_NODE_GROUP. The default value is DEFAULT. For more information, see Maintenance policies.", +"enum": [ +"DEFAULT", +"MAINTENANCE_POLICY_UNSPECIFIED", +"MIGRATE_WITHIN_NODE_GROUP", +"RESTART_IN_PLACE" +], +"enumDescriptions": [ +"Allow the node and corresponding instances to retain default maintenance behavior.", +"", +"When maintenance must be done on a node, the instances on that node will be moved to other nodes in the group. Instances with onHostMaintenance = MIGRATE will live migrate to their destinations while instances with onHostMaintenance = TERMINATE will terminate and then restart on their destination nodes if automaticRestart = true.", +"Instances in this group will restart on the same node when maintenance has completed. Instances must have onHostMaintenance = TERMINATE, and they will only restart if automaticRestart = true." +], +"type": "string" +}, +"maintenanceWindow": { +"$ref": "NodeGroupMaintenanceWindow" +}, +"name": { +"description": "The name of the resource, provided by the client when initially creating the resource. The resource 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" +}, +"nodeTemplate": { +"description": "URL of the node template to create the node group from.", +"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" +}, +"shareSettings": { +"$ref": "ShareSettings", +"description": "Share-settings for the node group" +}, +"size": { +"description": "[Output Only] The total number of nodes in the node group.", +"format": "int32", +"type": "integer" +}, +"status": { +"enum": [ +"CREATING", +"DELETING", +"INVALID", +"READY" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"zone": { +"description": "[Output Only] The name of the zone where the node group resides, such as us-central1-a.", +"type": "string" +} +}, +"type": "object" +}, +"NodeGroupAggregatedList": { +"id": "NodeGroupAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "NodeGroupsScopedList", +"description": "[Output Only] Name of the scope containing this set of node groups." +}, +"description": "A list of NodeGroupsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#nodeGroupAggregatedList", +"description": "[Output Only] Type of resource.Always compute#nodeGroupAggregatedList for aggregated lists of node groups.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"NodeGroupAutoscalingPolicy": { +"id": "NodeGroupAutoscalingPolicy", +"properties": { +"maxNodes": { +"description": "The maximum number of nodes that the group should have. Must be set if autoscaling is enabled. Maximum value allowed is 100.", +"format": "int32", +"type": "integer" +}, +"minNodes": { +"description": "The minimum number of nodes that the group should have.", +"format": "int32", +"type": "integer" +}, +"mode": { +"description": "The autoscaling mode. Set to one of: ON, OFF, or ONLY_SCALE_OUT. For more information, see Autoscaler modes.", +"enum": [ +"MODE_UNSPECIFIED", +"OFF", +"ON", +"ONLY_SCALE_OUT" +], +"enumDescriptions": [ +"", +"Autoscaling is disabled.", +"Autocaling is fully enabled.", +"Autoscaling will only scale out and will not remove nodes." +], +"type": "string" +} +}, +"type": "object" +}, +"NodeGroupList": { +"description": "Contains a list of nodeGroups.", +"id": "NodeGroupList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of NodeGroup resources.", +"items": { +"$ref": "NodeGroup" +}, +"type": "array" +}, +"kind": { +"default": "compute#nodeGroupList", +"description": "[Output Only] Type of resource.Always compute#nodeGroupList for lists of node groups.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"NodeGroupMaintenanceWindow": { +"description": "Time window specified for daily maintenance operations. GCE's internal maintenance will be performed within this window.", +"id": "NodeGroupMaintenanceWindow", +"properties": { +"duration": { +"deprecated": true, +"description": "[Output only] A predetermined duration for the window, automatically chosen to be the smallest possible in the given scenario.", +"type": "string" +}, +"maintenanceDuration": { +"$ref": "Duration", +"description": "[Output only] A predetermined duration for the window, automatically chosen to be the smallest possible in the given scenario." +}, +"startTime": { +"description": "Start time of the window. This must be in UTC format that resolves to one of 00:00, 04:00, 08:00, 12:00, 16:00, or 20:00. For example, both 13:00-5 and 08:00 are valid.", +"type": "string" +} +}, +"type": "object" +}, +"NodeGroupNode": { +"id": "NodeGroupNode", +"properties": { +"accelerators": { +"description": "Accelerators for this node.", +"items": { +"$ref": "AcceleratorConfig" +}, +"type": "array" +}, +"consumedResources": { +"$ref": "InstanceConsumptionInfo", +"description": "Node resources that are reserved by all instances." +}, +"cpuOvercommitType": { +"description": "CPU overcommit.", +"enum": [ +"CPU_OVERCOMMIT_TYPE_UNSPECIFIED", +"ENABLED", +"NONE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"disks": { +"description": "Local disk configurations.", +"items": { +"$ref": "LocalDisk" +}, +"type": "array" +}, +"instanceConsumptionData": { +"description": "Instance data that shows consumed resources on the node.", +"items": { +"$ref": "InstanceConsumptionData" +}, +"type": "array" +}, +"instances": { +"description": "Instances scheduled on this node.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "The name of the node.", +"type": "string" +}, +"nodeType": { +"description": "The type of this node.", +"type": "string" +}, +"satisfiesPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"serverBinding": { +"$ref": "ServerBinding", +"description": "Binding properties for the physical server." +}, +"serverId": { +"description": "Server ID associated with this node.", +"type": "string" +}, +"status": { +"enum": [ +"CREATING", +"DELETING", +"INVALID", +"READY", +"REPAIRING" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"totalResources": { +"$ref": "InstanceConsumptionInfo", +"description": "Total amount of available resources on the node." +}, +"upcomingMaintenance": { +"$ref": "UpcomingMaintenance", +"description": "[Output Only] The information about an upcoming maintenance event." +} +}, +"type": "object" +}, +"NodeGroupsAddNodesRequest": { +"id": "NodeGroupsAddNodesRequest", +"properties": { +"additionalNodeCount": { +"description": "Count of additional nodes to be added to the node group.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"NodeGroupsDeleteNodesRequest": { +"id": "NodeGroupsDeleteNodesRequest", +"properties": { +"nodes": { +"description": "Names of the nodes to delete.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"NodeGroupsListNodes": { +"id": "NodeGroupsListNodes", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Node resources.", +"items": { +"$ref": "NodeGroupNode" +}, +"type": "array" +}, +"kind": { +"default": "compute#nodeGroupsListNodes", +"description": "[Output Only] The resource type, which is always compute.nodeGroupsListNodes for the list of nodes in the specified node group.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"NodeGroupsPerformMaintenanceRequest": { +"id": "NodeGroupsPerformMaintenanceRequest", +"properties": { +"nodes": { +"description": "[Required] List of nodes affected by the call.", +"items": { +"type": "string" +}, +"type": "array" +}, +"startTime": { +"description": "The start time of the schedule. The timestamp is an RFC3339 string.", +"type": "string" +} +}, +"type": "object" +}, +"NodeGroupsScopedList": { +"id": "NodeGroupsScopedList", +"properties": { +"nodeGroups": { +"description": "[Output Only] A list of node groups contained in this scope.", +"items": { +"$ref": "NodeGroup" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] An informational warning that appears when the nodeGroup list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"NodeGroupsSetNodeTemplateRequest": { +"id": "NodeGroupsSetNodeTemplateRequest", +"properties": { +"nodeTemplate": { +"description": "Full or partial URL of the node template resource to be updated for this node group.", +"type": "string" +} +}, +"type": "object" +}, +"NodeGroupsSimulateMaintenanceEventRequest": { +"id": "NodeGroupsSimulateMaintenanceEventRequest", +"properties": { +"nodes": { +"description": "Names of the nodes to go under maintenance simulation.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"NodeTemplate": { +"description": "Represent a sole-tenant Node Template resource. You can use a template to define properties for nodes in a node group. For more information, read Creating node groups and instances.", +"id": "NodeTemplate", +"properties": { +"accelerators": { +"items": { +"$ref": "AcceleratorConfig" +}, +"type": "array" +}, +"cpuOvercommitType": { +"description": "CPU overcommit.", +"enum": [ +"CPU_OVERCOMMIT_TYPE_UNSPECIFIED", +"ENABLED", +"NONE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"disks": { +"items": { +"$ref": "LocalDisk" +}, +"type": "array" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#nodeTemplate", +"description": "[Output Only] The type of the resource. Always compute#nodeTemplate for node templates.", +"type": "string" +}, +"name": { +"description": "The name of the resource, provided by the client when initially creating the resource. The resource 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" +}, +"nodeAffinityLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to use for node affinity, which will be used in instance scheduling.", +"type": "object" +}, +"nodeType": { +"description": "The node type to use for nodes group that are created from this template.", +"type": "string" +}, +"nodeTypeFlexibility": { +"$ref": "NodeTemplateNodeTypeFlexibility", +"description": "Do not use. Instead, use the node_type property." +}, +"region": { +"description": "[Output Only] The name of the region where the node template resides, such as us-central1.", +"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" +}, +"serverBinding": { +"$ref": "ServerBinding", +"description": "Sets the binding properties for the physical server. Valid values include: - *[Default]* RESTART_NODE_ON_ANY_SERVER: Restarts VMs on any available physical server - RESTART_NODE_ON_MINIMAL_SERVER: Restarts VMs on the same physical server whenever possible See Sole-tenant node options for more information." +}, +"status": { +"description": "[Output Only] The status of the node template. One of the following values: CREATING, READY, and DELETING.", +"enum": [ +"CREATING", +"DELETING", +"INVALID", +"READY" +], +"enumDescriptions": [ +"Resources are being allocated.", +"The node template is currently being deleted.", +"Invalid status.", +"The node template is ready." +], +"type": "string" +}, +"statusMessage": { +"description": "[Output Only] An optional, human-readable explanation of the status.", +"type": "string" +} +}, +"type": "object" +}, +"NodeTemplateAggregatedList": { +"id": "NodeTemplateAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "NodeTemplatesScopedList", +"description": "[Output Only] Name of the scope containing this set of node templates." +}, +"description": "A list of NodeTemplatesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#nodeTemplateAggregatedList", +"description": "[Output Only] Type of resource.Always compute#nodeTemplateAggregatedList for aggregated lists of node templates.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"NodeTemplateList": { +"description": "Contains a list of node templates.", +"id": "NodeTemplateList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of NodeTemplate resources.", +"items": { +"$ref": "NodeTemplate" +}, +"type": "array" +}, +"kind": { +"default": "compute#nodeTemplateList", +"description": "[Output Only] Type of resource.Always compute#nodeTemplateList for lists of node templates.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"NodeTemplateNodeTypeFlexibility": { +"id": "NodeTemplateNodeTypeFlexibility", +"properties": { +"cpus": { +"type": "string" +}, +"localSsd": { +"type": "string" +}, +"memory": { +"type": "string" +} +}, +"type": "object" +}, +"NodeTemplatesScopedList": { +"id": "NodeTemplatesScopedList", +"properties": { +"nodeTemplates": { +"description": "[Output Only] A list of node templates contained in this scope.", +"items": { +"$ref": "NodeTemplate" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] An informational warning that appears when the node templates list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"NodeType": { +"description": "Represent a sole-tenant Node Type resource. Each node within a node group must have a node type. A node type specifies the total amount of cores and memory for that node. Currently, the only available node type is n1-node-96-624 node type that has 96 vCPUs and 624 GB of memory, available in multiple zones. For more information read Node types.", +"id": "NodeType", +"properties": { +"cpuPlatform": { +"description": "[Output Only] The CPU platform used by this node type.", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"deprecated": { +"$ref": "DeprecationStatus", +"description": "[Output Only] The deprecation status associated with this node type." +}, +"description": { +"description": "[Output Only] An optional textual description of the resource.", +"type": "string" +}, +"guestCpus": { +"description": "[Output Only] The number of virtual CPUs that are available to the node type.", +"format": "int32", +"type": "integer" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#nodeType", +"description": "[Output Only] The type of the resource. Always compute#nodeType for node types.", +"type": "string" +}, +"localSsdGb": { +"description": "[Output Only] Local SSD available to the node type, defined in GB.", +"format": "int32", +"type": "integer" +}, +"maxVms": { +"description": "[Output Only] Maximum number of VMs that can be created for this node type.", +"format": "int32", +"type": "integer" +}, +"memoryMb": { +"description": "[Output Only] The amount of physical memory available to the node type, defined in MB.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "[Output Only] Name of the resource.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"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" +}, +"zone": { +"description": "[Output Only] The name of the zone where the node type resides, such as us-central1-a.", +"type": "string" +} +}, +"type": "object" +}, +"NodeTypeAggregatedList": { +"id": "NodeTypeAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "NodeTypesScopedList", +"description": "[Output Only] Name of the scope containing this set of node types." +}, +"description": "A list of NodeTypesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#nodeTypeAggregatedList", +"description": "[Output Only] Type of resource.Always compute#nodeTypeAggregatedList for aggregated lists of node types.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"NodeTypeList": { +"description": "Contains a list of node types.", +"id": "NodeTypeList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of NodeType resources.", +"items": { +"$ref": "NodeType" +}, +"type": "array" +}, +"kind": { +"default": "compute#nodeTypeList", +"description": "[Output Only] Type of resource.Always compute#nodeTypeList for lists of node types.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"NodeTypesScopedList": { +"id": "NodeTypesScopedList", +"properties": { +"nodeTypes": { +"description": "[Output Only] A list of node types contained in this scope.", +"items": { +"$ref": "NodeType" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] An informational warning that appears when the node types list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"NotificationEndpoint": { +"description": "Represents a notification endpoint. A notification endpoint resource defines an endpoint to receive notifications when there are status changes detected by the associated health check service. For more information, see Health checks overview.", +"id": "NotificationEndpoint", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"grpcSettings": { +"$ref": "NotificationEndpointGrpcSettings", +"description": "Settings of the gRPC notification endpoint including the endpoint URL and the retry duration." +}, +"id": { +"description": "[Output Only] A unique identifier for this resource type. The server generates this identifier.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#notificationEndpoint", +"description": "[Output Only] Type of the resource. Always compute#notificationEndpoint for notification endpoints.", +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the notification endpoint resides. This field applies only to the regional resource. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +} +}, +"type": "object" +}, +"NotificationEndpointAggregatedList": { +"description": "Contains a list of NotificationEndpointsScopedList.", +"id": "NotificationEndpointAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "NotificationEndpointsScopedList", +"description": "Name of the scope containing this set of NotificationEndpoints." +}, +"description": "A list of NotificationEndpointsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#notificationEndpointAggregatedList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"NotificationEndpointGrpcSettings": { +"description": "Represents a gRPC setting that describes one gRPC notification endpoint and the retry duration attempting to send notification to this endpoint.", +"id": "NotificationEndpointGrpcSettings", +"properties": { +"authority": { +"description": "Optional. If specified, this field is used to set the authority header by the sender of notifications. See https://tools.ietf.org/html/rfc7540#section-8.1.2.3", +"type": "string" +}, +"endpoint": { +"description": "Endpoint to which gRPC notifications are sent. This must be a valid gRPCLB DNS name.", +"type": "string" +}, +"payloadName": { +"description": "Optional. If specified, this field is used to populate the \"name\" field in gRPC requests.", +"type": "string" +}, +"resendInterval": { +"$ref": "Duration", +"description": "Optional. This field is used to configure how often to send a full update of all non-healthy backends. If unspecified, full updates are not sent. If specified, must be in the range between 600 seconds to 3600 seconds. Nanos are disallowed. Can only be set for regional notification endpoints." +}, +"retryDurationSec": { +"description": "How much time (in seconds) is spent attempting notification retries until a successful response is received. Default is 30s. Limit is 20m (1200s). Must be a positive number.", +"format": "uint32", +"type": "integer" +} +}, +"type": "object" +}, +"NotificationEndpointList": { +"id": "NotificationEndpointList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of NotificationEndpoint resources.", +"items": { +"$ref": "NotificationEndpoint" +}, +"type": "array" +}, +"kind": { +"default": "compute#notificationEndpointList", +"description": "[Output Only] Type of the resource. Always compute#notificationEndpoint for notification endpoints.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"NotificationEndpointsScopedList": { +"id": "NotificationEndpointsScopedList", +"properties": { +"resources": { +"description": "A list of NotificationEndpoints contained in this scope.", +"items": { +"$ref": "NotificationEndpoint" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of notification endpoints when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"Operation": { +"description": "Represents an Operation resource. Google Compute Engine has three Operation resources: * [Global](/compute/docs/reference/rest/alpha/globalOperations) * [Regional](/compute/docs/reference/rest/alpha/regionOperations) * [Zonal](/compute/docs/reference/rest/alpha/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": { +"code": { +"description": "[Output Only] The error type identifier for this error.", +"type": "string" +}, +"errorDetails": { +"description": "[Output Only] An optional list of messages that contain the error 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": [ +"DONE", +"PENDING", +"RUNNING" +], +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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" +}, +"OperationAggregatedList": { +"id": "OperationAggregatedList", +"properties": { +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "OperationsScopedList", +"description": "[Output Only] Name of the scope containing this set of operations." +}, +"description": "[Output Only] A map of scoped operation lists.", +"type": "object" +}, +"kind": { +"default": "compute#operationAggregatedList", +"description": "[Output Only] Type of resource. Always `compute#operationAggregatedList` for aggregated lists of operations.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than `maxResults`, use the `nextPageToken` as a value for the query parameter `pageToken` in the next list request. Subsequent list requests will have their own `nextPageToken` to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"OperationList": { +"description": "Contains a list of Operation resources.", +"id": "OperationList", +"properties": { +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"type": "string" +}, +"items": { +"description": "[Output Only] A list of Operation resources.", +"items": { +"$ref": "Operation" +}, +"type": "array" +}, +"kind": { +"default": "compute#operationList", +"description": "[Output Only] Type of resource. Always `compute#operations` for Operations resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than `maxResults`, use the `nextPageToken` as a value for the query parameter `pageToken` in the next list request. Subsequent list requests will have their own `nextPageToken` to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"OperationsScopedList": { +"id": "OperationsScopedList", +"properties": { +"operations": { +"description": "[Output Only] A list of operations contained in this scope.", +"items": { +"$ref": "Operation" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of operations when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"OrganizationSecurityPoliciesListAssociationsResponse": { +"id": "OrganizationSecurityPoliciesListAssociationsResponse", +"properties": { +"associations": { +"description": "A list of associations.", +"items": { +"$ref": "SecurityPolicyAssociation" +}, +"type": "array" +}, +"kind": { +"default": "compute#organizationSecurityPoliciesListAssociationsResponse", +"description": "[Output Only] Type of securityPolicy associations. Always compute#organizationSecurityPoliciesListAssociations for lists of securityPolicy associations.", +"type": "string" +} +}, +"type": "object" +}, +"OriginAuthenticationMethod": { +"description": "[Deprecated] Configuration for the origin authentication method. Configuration for the origin authentication method.", +"id": "OriginAuthenticationMethod", +"properties": { +"jwt": { +"$ref": "Jwt" +} +}, +"type": "object" +}, +"OutlierDetection": { +"description": "Settings controlling the eviction of unhealthy hosts from the load balancing pool for the backend service.", +"id": "OutlierDetection", +"properties": { +"baseEjectionTime": { +"$ref": "Duration", +"description": "The base time that a backend endpoint is ejected for. Defaults to 30000ms or 30s. After a backend endpoint is returned back to the load balancing pool, it can be ejected again in another ejection analysis. Thus, the total ejection time is equal to the base ejection time multiplied by the number of times the backend endpoint has been ejected. Defaults to 30000ms or 30s." +}, +"consecutiveErrors": { +"description": "Number of consecutive errors before a backend endpoint is ejected from the load balancing pool. When the backend endpoint is accessed over HTTP, a 5xx return code qualifies as an error. Defaults to 5.", +"format": "int32", +"type": "integer" +}, +"consecutiveGatewayFailure": { +"description": "The number of consecutive gateway failures (502, 503, 504 status or connection errors that are mapped to one of those status codes) before a consecutive gateway failure ejection occurs. Defaults to 3.", +"format": "int32", +"type": "integer" +}, +"enforcingConsecutiveErrors": { +"description": "The percentage chance that a backend endpoint will be ejected when an outlier status is detected through consecutive 5xx. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 0.", +"format": "int32", +"type": "integer" +}, +"enforcingConsecutiveGatewayFailure": { +"description": "The percentage chance that a backend endpoint will be ejected when an outlier status is detected through consecutive gateway failures. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100.", +"format": "int32", +"type": "integer" +}, +"enforcingSuccessRate": { +"description": "The percentage chance that a backend endpoint will be ejected when an outlier status is detected through success rate statistics. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. Not supported when the backend service uses Serverless NEG.", +"format": "int32", +"type": "integer" +}, +"interval": { +"$ref": "Duration", +"description": "Time interval between ejection analysis sweeps. This can result in both new ejections and backend endpoints being returned to service. The interval is equal to the number of seconds as defined in outlierDetection.interval.seconds plus the number of nanoseconds as defined in outlierDetection.interval.nanos. Defaults to 1 second." +}, +"maxEjectionPercent": { +"description": "Maximum percentage of backend endpoints in the load balancing pool for the backend service that can be ejected if the ejection conditions are met. Defaults to 50%.", +"format": "int32", +"type": "integer" +}, +"successRateMinimumHosts": { +"description": "The number of backend endpoints in the load balancing pool that must have enough request volume to detect success rate outliers. If the number of backend endpoints is fewer than this setting, outlier detection via success rate statistics is not performed for any backend endpoint in the load balancing pool. Defaults to 5. Not supported when the backend service uses Serverless NEG.", +"format": "int32", +"type": "integer" +}, +"successRateRequestVolume": { +"description": "The minimum number of total requests that must be collected in one interval (as defined by the interval duration above) to include this backend endpoint in success rate based outlier detection. If the volume is lower than this setting, outlier detection via success rate statistics is not performed for that backend endpoint. Defaults to 100. Not supported when the backend service uses Serverless NEG.", +"format": "int32", +"type": "integer" +}, +"successRateStdevFactor": { +"description": "This factor is used to determine the ejection threshold for success rate outlier ejection. The ejection threshold is the difference between the mean success rate, and the product of this factor and the standard deviation of the mean success rate: mean - (stdev * successRateStdevFactor). This factor is divided by a thousand to get a double. That is, if the desired factor is 1.9, the runtime value should be 1900. Defaults to 1900. Not supported when the backend service uses Serverless NEG.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"PacketIntervals": { +"description": "Next free: 7", +"id": "PacketIntervals", +"properties": { +"avgMs": { +"description": "Average observed inter-packet interval in milliseconds.", +"format": "int64", +"type": "string" +}, +"duration": { +"description": "From how long ago in the past these intervals were observed.", +"enum": [ +"DURATION_UNSPECIFIED", +"HOUR", +"MAX", +"MINUTE" +], +"enumDescriptions": [ +"", +"", +"From BfdSession object creation time.", +"" +], +"type": "string" +}, +"maxMs": { +"description": "Maximum observed inter-packet interval in milliseconds.", +"format": "int64", +"type": "string" +}, +"minMs": { +"description": "Minimum observed inter-packet interval in milliseconds.", +"format": "int64", +"type": "string" +}, +"numIntervals": { +"description": "Number of inter-packet intervals from which these statistics were derived.", +"format": "int64", +"type": "string" +}, +"type": { +"description": "The type of packets for which inter-packet intervals were computed.", +"enum": [ +"LOOPBACK", +"RECEIVE", +"TRANSMIT", +"TYPE_UNSPECIFIED" +], +"enumDescriptions": [ +"Only applies to Echo packets. This shows the intervals between sending and receiving the same packet.", +"Intervals between received packets.", +"Intervals between transmitted packets.", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"PacketMirroring": { +"description": "Represents a Packet Mirroring resource. Packet Mirroring clones the traffic of specified instances in your Virtual Private Cloud (VPC) network and forwards it to a collector destination, such as an instance group of an internal TCP/UDP load balancer, for analysis or examination. For more information about setting up Packet Mirroring, see Using Packet Mirroring.", +"id": "PacketMirroring", +"properties": { +"collectorIlb": { +"$ref": "PacketMirroringForwardingRuleInfo", +"description": "The Forwarding Rule resource of type loadBalancingScheme=INTERNAL that will be used as collector for mirrored traffic. The specified forwarding rule must have isMirroringCollector set to true." +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"enable": { +"description": "Indicates whether or not this packet mirroring takes effect. If set to FALSE, this packet mirroring policy will not be enforced on the network. The default is TRUE.", +"enum": [ +"FALSE", +"TRUE" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"filter": { +"$ref": "PacketMirroringFilter", +"description": "Filter for mirrored traffic. If unspecified, all IPv4 traffic is mirrored." +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#packetMirroring", +"description": "[Output Only] Type of the resource. Always compute#packetMirroring for packet mirrorings.", +"type": "string" +}, +"mirroredResources": { +"$ref": "PacketMirroringMirroredResourceInfo", +"description": "PacketMirroring mirroredResourceInfos. MirroredResourceInfo specifies a set of mirrored VM instances, subnetworks and/or tags for which traffic from/to all VM instances will be mirrored." +}, +"name": { +"annotations": { +"required": [ +"compute.packetMirrorings.insert" +] +}, +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"network": { +"$ref": "PacketMirroringNetworkInfo", +"annotations": { +"required": [ +"compute.packetMirrorings.insert" +] +}, +"description": "Specifies the mirrored VPC network. Only packets in this network will be mirrored. All mirrored VMs should have a NIC in the given network. All mirrored subnetworks should belong to the given network." +}, +"priority": { +"description": "The priority of applying this configuration. Priority is used to break ties in cases where there is more than one matching rule. In the case of two rules that apply for a given Instance, the one with the lowest-numbered priority value wins. Default value is 1000. Valid range is 0 through 65535.", +"format": "uint32", +"type": "integer" +}, +"region": { +"description": "[Output Only] URI of the region where the packetMirroring resides.", +"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" +} +}, +"type": "object" +}, +"PacketMirroringAggregatedList": { +"description": "Contains a list of packetMirrorings.", +"id": "PacketMirroringAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "PacketMirroringsScopedList", +"description": "Name of the scope containing this set of packetMirrorings." +}, +"description": "A list of PacketMirroring resources.", +"type": "object" +}, +"kind": { +"default": "compute#packetMirroringAggregatedList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"PacketMirroringFilter": { +"id": "PacketMirroringFilter", +"properties": { +"IPProtocols": { +"description": "Protocols that apply as filter on mirrored traffic. If no protocols are specified, all traffic that matches the specified CIDR ranges is mirrored. If neither cidrRanges nor IPProtocols is specified, all IPv4 traffic is mirrored.", +"items": { +"type": "string" +}, +"type": "array" +}, +"cidrRanges": { +"description": "One or more IPv4 or IPv6 CIDR ranges that apply as filters on the source (ingress) or destination (egress) IP in the IP header. If no ranges are specified, all IPv4 traffic that matches the specified IPProtocols is mirrored. If neither cidrRanges nor IPProtocols is specified, all IPv4 traffic is mirrored. To mirror all IPv4 and IPv6 traffic, use \"0.0.0.0/0,::/0\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"direction": { +"description": "Direction of traffic to mirror, either INGRESS, EGRESS, or BOTH. The default is BOTH.", +"enum": [ +"BOTH", +"EGRESS", +"INGRESS" +], +"enumDescriptions": [ +"Default, both directions are mirrored.", +"Only egress traffic is mirrored.", +"Only ingress traffic is mirrored." +], +"type": "string" +} +}, +"type": "object" +}, +"PacketMirroringForwardingRuleInfo": { +"id": "PacketMirroringForwardingRuleInfo", +"properties": { +"canonicalUrl": { +"description": "[Output Only] Unique identifier for the forwarding rule; defined by the server.", +"type": "string" +}, +"url": { +"description": "Resource URL to the forwarding rule representing the ILB configured as destination of the mirrored traffic.", +"type": "string" +} +}, +"type": "object" +}, +"PacketMirroringList": { +"description": "Contains a list of PacketMirroring resources.", +"id": "PacketMirroringList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of PacketMirroring resources.", +"items": { +"$ref": "PacketMirroring" +}, +"type": "array" +}, +"kind": { +"default": "compute#packetMirroringList", +"description": "[Output Only] Type of resource. Always compute#packetMirroring for packetMirrorings.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"PacketMirroringMirroredResourceInfo": { +"id": "PacketMirroringMirroredResourceInfo", +"properties": { +"instances": { +"description": "A set of virtual machine instances that are being mirrored. They must live in zones contained in the same region as this packetMirroring. Note that this config will apply only to those network interfaces of the Instances that belong to the network specified in this packetMirroring. You may specify a maximum of 50 Instances.", +"items": { +"$ref": "PacketMirroringMirroredResourceInfoInstanceInfo" +}, +"type": "array" +}, +"subnetworks": { +"description": "A set of subnetworks for which traffic from/to all VM instances will be mirrored. They must live in the same region as this packetMirroring. You may specify a maximum of 5 subnetworks.", +"items": { +"$ref": "PacketMirroringMirroredResourceInfoSubnetInfo" +}, +"type": "array" +}, +"tags": { +"description": "A set of mirrored tags. Traffic from/to all VM instances that have one or more of these tags will be mirrored.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"PacketMirroringMirroredResourceInfoInstanceInfo": { +"id": "PacketMirroringMirroredResourceInfoInstanceInfo", +"properties": { +"canonicalUrl": { +"description": "[Output Only] Unique identifier for the instance; defined by the server.", +"type": "string" +}, +"url": { +"description": "Resource URL to the virtual machine instance which is being mirrored.", +"type": "string" +} +}, +"type": "object" +}, +"PacketMirroringMirroredResourceInfoSubnetInfo": { +"id": "PacketMirroringMirroredResourceInfoSubnetInfo", +"properties": { +"canonicalUrl": { +"description": "[Output Only] Unique identifier for the subnetwork; defined by the server.", +"type": "string" +}, +"url": { +"description": "Resource URL to the subnetwork for which traffic from/to all VM instances will be mirrored.", +"type": "string" +} +}, +"type": "object" +}, +"PacketMirroringNetworkInfo": { +"id": "PacketMirroringNetworkInfo", +"properties": { +"canonicalUrl": { +"description": "[Output Only] Unique identifier for the network; defined by the server.", +"type": "string" +}, +"url": { +"description": "URL of the network resource.", +"type": "string" +} +}, +"type": "object" +}, +"PacketMirroringsScopedList": { +"id": "PacketMirroringsScopedList", +"properties": { +"packetMirrorings": { +"description": "A list of packetMirrorings contained in this scope.", +"items": { +"$ref": "PacketMirroring" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of packetMirrorings when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"PartnerMetadata": { +"description": "Model definition of partner_metadata field. To be used in dedicated Partner Metadata methods and to be inlined in the Instance and InstanceTemplate resources.", +"id": "PartnerMetadata", +"properties": { +"fingerprint": { +"description": "Instance-level hash to be used for optimistic locking.", +"format": "byte", +"type": "string" +}, +"partnerMetadata": { +"additionalProperties": { +"$ref": "StructuredEntries" +}, +"description": "Partner Metadata assigned to the instance. A map from a subdomain to entries map. Subdomain name must be compliant with RFC1035 definition. The total size of all keys and values must be less than 2MB. Subdomain 'metadata.compute.googleapis.com' is reserverd for instance's metadata.", +"type": "object" +} +}, +"type": "object" +}, +"PathMatcher": { +"description": "A matcher for the path portion of the URL. The BackendService from the longest-matched rule will serve the URL. If no rule was matched, the default service is used.", +"id": "PathMatcher", +"properties": { +"defaultCustomErrorResponsePolicy": { +"$ref": "CustomErrorResponsePolicy", +"description": "defaultCustomErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. This policy takes effect at the PathMatcher level and applies only when no policy has been defined for the error code at lower levels like RouteRule and PathRule within this PathMatcher. If an error code does not have a policy defined in defaultCustomErrorResponsePolicy, then a policy defined for the error code in UrlMap.defaultCustomErrorResponsePolicy takes effect. For example, consider a UrlMap with the following configuration: - UrlMap.defaultCustomErrorResponsePolicy is configured with policies for 5xx and 4xx errors - A RouteRule for /coming_soon/ is configured for the error code 404. If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in RouteRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect. When used in conjunction with pathMatcher.defaultRouteAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the defaultCustomErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the defaultCustomErrorResponsePolicy is ignored and the response from the service is returned to the client. defaultCustomErrorResponsePolicy is supported only for global external Application Load Balancers." +}, +"defaultRouteAction": { +"$ref": "HttpRouteAction", +"description": "defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a path matcher's defaultRouteAction." +}, +"defaultService": { +"description": "The full or partial URL to the BackendService resource. This URL is used if none of the pathRules or routeRules defined by this PathMatcher are matched. For example, the following are all valid URLs to a BackendService resource: - https://www.googleapis.com/compute/v1/projects/project /global/backendServices/backendService - compute/v1/projects/project/global/backendServices/backendService - global/backendServices/backendService If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. Authorization requires one or more of the following Google IAM permissions on the specified resource default_service: - compute.backendBuckets.use - compute.backendServices.use ", +"type": "string" +}, +"defaultUrlRedirect": { +"$ref": "HttpRedirectAction", +"description": "When none of the specified pathRules or routeRules match, the request is redirected to a URL specified by defaultUrlRedirect. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy." +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"headerAction": { +"$ref": "HttpHeaderAction", +"description": "Specifies changes to request and response headers that need to take effect for the selected backend service. HeaderAction specified here are applied after the matching HttpRouteRule HeaderAction and before the HeaderAction in the UrlMap HeaderAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true." +}, +"name": { +"description": "The name to which this PathMatcher is referred by the HostRule.", +"type": "string" +}, +"pathRules": { +"description": "The list of path rules. Use this list instead of routeRules when routing based on simple path matching is all that's required. The order by which path rules are specified does not matter. Matches are always done on the longest-path-first basis. For example: a pathRule with a path /a/b/c/* will match before /a/b/* irrespective of the order in which those paths appear in this list. Within a given pathMatcher, only one of pathRules or routeRules must be set.", +"items": { +"$ref": "PathRule" +}, +"type": "array" +}, +"routeRules": { +"description": "The list of HTTP route rules. Use this list instead of pathRules when advanced route matching and routing actions are desired. routeRules are evaluated in order of priority, from the lowest to highest number. Within a given pathMatcher, you can set only one of pathRules or routeRules.", +"items": { +"$ref": "HttpRouteRule" +}, +"type": "array" +} +}, +"type": "object" +}, +"PathRule": { +"description": "A path-matching rule for a URL. If matched, will use the specified BackendService to handle the traffic arriving at this URL.", +"id": "PathRule", +"properties": { +"customErrorResponsePolicy": { +"$ref": "CustomErrorResponsePolicy", +"description": "customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. If a policy for an error code is not configured for the PathRule, a policy for the error code configured in pathMatcher.defaultCustomErrorResponsePolicy is applied. If one is not specified in pathMatcher.defaultCustomErrorResponsePolicy, the policy configured in UrlMap.defaultCustomErrorResponsePolicy takes effect. For example, consider a UrlMap with the following configuration: - UrlMap.defaultCustomErrorResponsePolicy are configured with policies for 5xx and 4xx errors - A PathRule for /coming_soon/ is configured for the error code 404. If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in PathRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect. customErrorResponsePolicy is supported only for global external Application Load Balancers." +}, +"paths": { +"description": "The list of path patterns to match. Each must start with / and the only place a * is allowed is at the end following a /. The string fed to the path matcher does not include any text after the first ? or #, and those chars are not allowed here.", +"items": { +"type": "string" +}, +"type": "array" +}, +"routeAction": { +"$ref": "HttpRouteAction", +"description": "In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a path rule's routeAction." +}, +"service": { +"description": "The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set.", +"type": "string" +}, +"urlRedirect": { +"$ref": "HttpRedirectAction", +"description": "When a path pattern is matched, the request is redirected to a URL specified by urlRedirect. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy." +} +}, +"type": "object" +}, +"PeerAuthenticationMethod": { +"description": "[Deprecated] Configuration for the peer authentication method. Configuration for the peer authentication method.", +"id": "PeerAuthenticationMethod", +"properties": { +"mtls": { +"$ref": "MutualTls", +"description": "Set if mTLS is used for peer authentication." +} +}, +"type": "object" +}, +"PerInstanceConfig": { +"id": "PerInstanceConfig", +"properties": { +"fingerprint": { +"description": "Fingerprint of this per-instance config. This field can be used in optimistic locking. It is ignored when inserting a per-instance config. An up-to-date fingerprint must be provided in order to update an existing per-instance configuration or the field needs to be unset.", +"format": "byte", +"type": "string" +}, +"name": { +"description": "The name of a per-instance configuration and its corresponding instance. Serves as a merge key during UpdatePerInstanceConfigs operations, that is, if a per-instance configuration with the same name exists then it will be updated, otherwise a new one will be created for the VM instance with the same name. An attempt to create a per-instance configuration for a VM instance that either doesn't exist or is not part of the group will result in an error.", +"type": "string" +}, +"preservedState": { +"$ref": "PreservedState", +"description": "The intended preserved state for the given instance. Does not contain preserved state generated from a stateful policy." +}, +"status": { +"description": "The status of applying this per-instance configuration on the corresponding managed instance.", +"enum": [ +"APPLYING", +"DELETING", +"EFFECTIVE", +"NONE", +"UNAPPLIED", +"UNAPPLIED_DELETION" +], +"enumDescriptions": [ +"The per-instance configuration is being applied to the instance, but is not yet effective, possibly waiting for the instance to, for example, REFRESH.", +"The per-instance configuration deletion is being applied on the instance, possibly waiting for the instance to, for example, REFRESH.", +"The per-instance configuration is effective on the instance, meaning that all disks, ips and metadata specified in this configuration are attached or set on the instance.", +"*[Default]* The default status, when no per-instance configuration exists.", +"The per-instance configuration is set on an instance but not been applied yet.", +"The per-instance configuration has been deleted, but the deletion is not yet applied." +], +"type": "string" +} +}, +"type": "object" +}, +"Permission": { +"description": "[Deprecated] All fields defined in a permission are ANDed.", +"id": "Permission", +"properties": { +"constraints": { +"description": "Extra custom constraints. The constraints are ANDed together.", +"items": { +"$ref": "PermissionConstraint" +}, +"type": "array" +}, +"hosts": { +"description": "Used in Ingress or Egress Gateway cases to specify hosts that the policy applies to. Exact match, prefix match, and suffix match are supported.", +"items": { +"type": "string" +}, +"type": "array" +}, +"methods": { +"description": "HTTP method.", +"items": { +"type": "string" +}, +"type": "array" +}, +"notHosts": { +"description": "Negate of hosts. Specifies exclusions.", +"items": { +"type": "string" +}, +"type": "array" +}, +"notMethods": { +"description": "Negate of methods. Specifies exclusions.", +"items": { +"type": "string" +}, +"type": "array" +}, +"notPaths": { +"description": "Negate of paths. Specifies exclusions.", +"items": { +"type": "string" +}, +"type": "array" +}, +"notPorts": { +"description": "Negate of ports. Specifies exclusions.", +"items": { +"type": "string" +}, +"type": "array" +}, +"paths": { +"description": "HTTP request paths or gRPC methods. Exact match, prefix match, and suffix match are supported.", +"items": { +"type": "string" +}, +"type": "array" +}, +"ports": { +"description": "Port names or numbers.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"PermissionConstraint": { +"description": "Custom constraint that specifies a key and a list of allowed values for Istio attributes.", +"id": "PermissionConstraint", +"properties": { +"key": { +"description": "Key of the constraint.", +"type": "string" +}, +"values": { +"description": "A list of allowed values.", +"items": { +"type": "string" +}, +"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" +}, +"PreconfiguredWafSet": { +"id": "PreconfiguredWafSet", +"properties": { +"expressionSets": { +"description": "List of entities that are currently supported for WAF rules.", +"items": { +"$ref": "WafExpressionSet" +}, +"type": "array" +} +}, +"type": "object" +}, +"PreservedState": { +"description": "Preserved state for a given instance.", +"id": "PreservedState", +"properties": { +"disks": { +"additionalProperties": { +"$ref": "PreservedStatePreservedDisk" +}, +"description": "Preserved disks defined for this instance. This map is keyed with the device names of the disks.", +"type": "object" +}, +"externalIPs": { +"additionalProperties": { +"$ref": "PreservedStatePreservedNetworkIp" +}, +"description": "Preserved external IPs defined for this instance. This map is keyed with the name of the network interface.", +"type": "object" +}, +"internalIPs": { +"additionalProperties": { +"$ref": "PreservedStatePreservedNetworkIp" +}, +"description": "Preserved internal IPs defined for this instance. This map is keyed with the name of the network interface.", +"type": "object" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "Preserved metadata defined for this instance.", +"type": "object" +} +}, +"type": "object" +}, +"PreservedStatePreservedDisk": { +"id": "PreservedStatePreservedDisk", +"properties": { +"autoDelete": { +"description": "These stateful disks will never be deleted during autohealing, update, instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole MIG is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted.", +"enum": [ +"NEVER", +"ON_PERMANENT_INSTANCE_DELETION" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"mode": { +"description": "The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If not specified, the default is to attach the disk in READ_WRITE mode.", +"enum": [ +"READ_ONLY", +"READ_WRITE" +], +"enumDescriptions": [ +"Attaches this disk in read-only mode. Multiple VM instances can use a disk in READ_ONLY mode at a time.", +"*[Default]* Attaches this disk in READ_WRITE mode. Only one VM instance at a time can be attached to a disk in READ_WRITE mode." +], +"type": "string" +}, +"source": { +"description": "The URL of the disk resource that is stateful and should be attached to the VM instance.", +"type": "string" +} +}, +"type": "object" +}, +"PreservedStatePreservedNetworkIp": { +"id": "PreservedStatePreservedNetworkIp", +"properties": { +"autoDelete": { +"description": "These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted.", +"enum": [ +"NEVER", +"ON_PERMANENT_INSTANCE_DELETION" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"ipAddress": { +"$ref": "PreservedStatePreservedNetworkIpIpAddress", +"description": "Ip address representation" +} +}, +"type": "object" +}, +"PreservedStatePreservedNetworkIpIpAddress": { +"id": "PreservedStatePreservedNetworkIpIpAddress", +"properties": { +"address": { +"description": "The URL of the reservation for this IP address.", +"type": "string" +}, +"literal": { +"description": "An IPv4 internal network address to assign to the instance for this network interface.", +"type": "string" +} +}, +"type": "object" +}, +"Principal": { +"description": "[Deprecated] All fields defined in a principal are ANDed.", +"id": "Principal", +"properties": { +"condition": { +"description": "An expression to specify custom condition.", +"type": "string" +}, +"groups": { +"description": "The groups the principal belongs to. Exact match, prefix match, and suffix match are supported.", +"items": { +"type": "string" +}, +"type": "array" +}, +"ips": { +"description": "IPv4 or IPv6 address or range (In CIDR format)", +"items": { +"type": "string" +}, +"type": "array" +}, +"namespaces": { +"description": "The namespaces. Exact match, prefix match, and suffix match are supported.", +"items": { +"type": "string" +}, +"type": "array" +}, +"notGroups": { +"description": "Negate of groups. Specifies exclusions.", +"items": { +"type": "string" +}, +"type": "array" +}, +"notIps": { +"description": "Negate of IPs. Specifies exclusions.", +"items": { +"type": "string" +}, +"type": "array" +}, +"notNamespaces": { +"description": "Negate of namespaces. Specifies exclusions.", +"items": { +"type": "string" +}, +"type": "array" +}, +"notUsers": { +"description": "Negate of users. Specifies exclusions.", +"items": { +"type": "string" +}, +"type": "array" +}, +"properties": { +"additionalProperties": { +"type": "string" +}, +"description": "A map of Istio attribute to expected values. Exact match, prefix match, and suffix match are supported for values. For example, `request.headers[version]: \"v1\"`. The properties are ANDed together.", +"type": "object" +}, +"users": { +"description": "The user names/IDs or service accounts. Exact match, prefix match, and suffix match are supported.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Project": { +"description": "Represents a Project resource. A project is used to organize resources in a Google Cloud Platform environment. For more information, read about the Resource Hierarchy.", +"id": "Project", +"properties": { +"cloudArmorTier": { +"description": "[Output Only] The Cloud Armor tier for this project. It can be one of the following values: CA_STANDARD, CA_ENTERPRISE_PAYGO. If this field is not specified, it is assumed to be CA_STANDARD.", +"enum": [ +"CA_ENTERPRISE_ANNUAL", +"CA_ENTERPRISE_PAYGO", +"CA_STANDARD" +], +"enumDescriptions": [ +"Enterprise tier protection billed annually.", +"Enterprise tier protection billed monthly.", +"Standard protection." +], +"type": "string" +}, +"commonInstanceMetadata": { +"$ref": "Metadata", +"description": "Metadata key/value pairs available to all instances contained in this project. See Custom metadata for more information." +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"defaultNetworkTier": { +"description": "This signifies the default network tier used for configuring resources of the project and can only take the following values: PREMIUM, STANDARD. Initially the default network tier is PREMIUM.", +"enum": [ +"FIXED_STANDARD", +"PREMIUM", +"SELECT", +"STANDARD", +"STANDARD_OVERRIDES_FIXED_STANDARD" +], +"enumDescriptions": [ +"Public internet quality with fixed bandwidth.", +"High quality, Google-grade network tier, support for all networking products.", +"Price competitive network tier, support for all networking products.", +"Public internet quality, only limited support for other networking products.", +"(Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured." +], +"type": "string" +}, +"defaultServiceAccount": { +"description": "[Output Only] Default service account used by VMs running in this project.", +"type": "string" +}, +"description": { +"description": "An optional textual description of the resource.", +"type": "string" +}, +"enabledFeatures": { +"description": "An optional list of restricted features enabled for use on this project.", +"items": { +"type": "string" +}, +"type": "array" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server. This is *not* the project ID, and is just a unique ID used by Compute Engine to identify resources.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#project", +"description": "[Output Only] Type of the resource. Always compute#project for projects.", +"type": "string" +}, +"managedProtectionTier": { +"description": "[Output Only] The Cloud Armor Managed Protection (CAMP) tier for this project. It can be one of the following values: CA_STANDARD, CAMP_PLUS_PAYGO. If this field is not specified, it is assumed to be CA_STANDARD.", +"enum": [ +"CAMP_PLUS_ANNUAL", +"CAMP_PLUS_PAYGO", +"CA_STANDARD" +], +"enumDescriptions": [ +"Plus tier protection annual.", +"Plus tier protection monthly.", +"Standard protection." +], +"type": "string" +}, +"name": { +"description": "The project ID. For example: my-example-project. Use the project ID to make requests to Compute Engine.", +"type": "string" +}, +"quotas": { +"description": "[Output Only] Quotas assigned to this project.", +"items": { +"$ref": "Quota" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"usageExportLocation": { +"$ref": "UsageExportLocation", +"description": "An optional naming prefix for daily usage reports and the Google Cloud Storage bucket where they are stored." +}, +"vmDnsSetting": { +"description": "[Output Only] Default internal DNS setting used by VMs running in this project.", +"enum": [ +"GLOBAL_DEFAULT", +"UNSPECIFIED_VM_DNS_SETTING", +"ZONAL_DEFAULT", +"ZONAL_ONLY" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"xpnProjectStatus": { +"description": "[Output Only] The role this project has in a shared VPC configuration. Currently, only projects with the host role, which is specified by the value HOST, are differentiated.", +"enum": [ +"HOST", +"UNSPECIFIED_XPN_PROJECT_STATUS" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"ProjectsDisableXpnResourceRequest": { +"id": "ProjectsDisableXpnResourceRequest", +"properties": { +"xpnResource": { +"$ref": "XpnResourceId", +"description": "Service resource (a.k.a service project) ID." +} +}, +"type": "object" +}, +"ProjectsEnableXpnResourceRequest": { +"id": "ProjectsEnableXpnResourceRequest", +"properties": { +"xpnResource": { +"$ref": "XpnResourceId", +"description": "Service resource (a.k.a service project) ID." +} +}, +"type": "object" +}, +"ProjectsGetXpnResources": { +"id": "ProjectsGetXpnResources", +"properties": { +"kind": { +"default": "compute#projectsGetXpnResources", +"description": "[Output Only] Type of resource. Always compute#projectsGetXpnResources for lists of service resources (a.k.a service projects)", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"resources": { +"description": "Service resources (a.k.a service projects) attached to this project as their shared VPC host.", +"items": { +"$ref": "XpnResourceId" +}, +"type": "array" +} +}, +"type": "object" +}, +"ProjectsListXpnHostsRequest": { +"id": "ProjectsListXpnHostsRequest", +"properties": { +"organization": { +"description": "Optional organization ID managed by Cloud Resource Manager, for which to list shared VPC host projects. If not specified, the organization will be inferred from the project.", +"type": "string" +}, +"returnPartialPage": { +"description": "Opt-in for partial page behavior which provides a partial filled page (number of items on which may be smaller than maxResults) within the API deadline. If opt-in, then the user should rely on if nextPageToken is empty in the response to determine if there is a next page. Empty page is also valid and possible. The default value is false.", +"type": "boolean" +} +}, +"type": "object" +}, +"ProjectsSetCloudArmorTierRequest": { +"id": "ProjectsSetCloudArmorTierRequest", +"properties": { +"cloudArmorTier": { +"description": "Managed protection tier to be set.", +"enum": [ +"CA_ENTERPRISE_ANNUAL", +"CA_ENTERPRISE_PAYGO", +"CA_STANDARD" +], +"enumDescriptions": [ +"Enterprise tier protection billed annually.", +"Enterprise tier protection billed monthly.", +"Standard protection." +], +"type": "string" +} +}, +"type": "object" +}, +"ProjectsSetDefaultNetworkTierRequest": { +"id": "ProjectsSetDefaultNetworkTierRequest", +"properties": { +"networkTier": { +"description": "Default network tier to be set.", +"enum": [ +"FIXED_STANDARD", +"PREMIUM", +"SELECT", +"STANDARD", +"STANDARD_OVERRIDES_FIXED_STANDARD" +], +"enumDescriptions": [ +"Public internet quality with fixed bandwidth.", +"High quality, Google-grade network tier, support for all networking products.", +"Price competitive network tier, support for all networking products.", +"Public internet quality, only limited support for other networking products.", +"(Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured." +], +"type": "string" +} +}, +"type": "object" +}, +"ProjectsSetDefaultServiceAccountRequest": { +"id": "ProjectsSetDefaultServiceAccountRequest", +"properties": { +"email": { +"description": "Email address of the service account.", +"type": "string" +} +}, +"type": "object" +}, +"ProjectsSetManagedProtectionTierRequest": { +"id": "ProjectsSetManagedProtectionTierRequest", +"properties": { +"managedProtectionTier": { +"description": "Managed protection tier to be set.", +"enum": [ +"CAMP_PLUS_ANNUAL", +"CAMP_PLUS_PAYGO", +"CA_STANDARD" +], +"enumDescriptions": [ +"Plus tier protection annual.", +"Plus tier protection monthly.", +"Standard protection." +], +"type": "string" +} +}, +"type": "object" +}, +"PublicAdvertisedPrefix": { +"description": "A public advertised prefix represents an aggregated IP prefix or netblock which customers bring to cloud. The IP prefix is a single unit of route advertisement and is announced globally to the internet.", +"id": "PublicAdvertisedPrefix", +"properties": { +"byoipApiVersion": { +"description": "[Output Only] The version of BYOIP API.", +"enum": [ +"V1", +"V2" +], +"enumDescriptions": [ +"This public advertised prefix can be used to create both regional and global public delegated prefixes. It usually takes 4 weeks to create or delete a public delegated prefix. The BGP status cannot be changed.", +"This public advertised prefix can only be used to create regional public delegated prefixes. Public delegated prefix creation and deletion takes minutes and the BGP status can be modified." +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"dnsVerificationIp": { +"description": "The address to be used for reverse DNS verification.", +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a new PublicAdvertisedPrefix. An up-to-date fingerprint must be provided in order to update the PublicAdvertisedPrefix, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a PublicAdvertisedPrefix.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", +"format": "uint64", +"type": "string" +}, +"ipCidrRange": { +"description": "The address range, in CIDR format, represented by this public advertised prefix.", +"type": "string" +}, +"kind": { +"default": "compute#publicAdvertisedPrefix", +"description": "[Output Only] Type of the resource. Always compute#publicAdvertisedPrefix for public advertised prefixes.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.publicAdvertisedPrefixes.insert" +] +}, +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"pdpScope": { +"description": "Specifies how child public delegated prefix will be scoped. It could be one of following values: - `REGIONAL`: The public delegated prefix is regional only. The provisioning will take a few minutes. - `GLOBAL`: The public delegated prefix is global only. The provisioning will take ~4 weeks. - `GLOBAL_AND_REGIONAL` [output only]: The public delegated prefixes is BYOIP V1 legacy prefix. This is output only value and no longer supported in BYOIP V2. ", +"enum": [ +"GLOBAL", +"GLOBAL_AND_REGIONAL", +"REGIONAL" +], +"enumDescriptions": [ +"The public delegated prefix is global only. The provisioning will take ~4 weeks.", +"The public delegated prefixes is BYOIP V1 legacy prefix. This is output only value and no longer supported in BYOIP V2.", +"The public delegated prefix is regional only. The provisioning will take a few minutes." +], +"type": "string" +}, +"publicDelegatedPrefixs": { +"description": "[Output Only] The list of public delegated prefixes that exist for this public advertised prefix.", +"items": { +"$ref": "PublicAdvertisedPrefixPublicDelegatedPrefix" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL with id for the resource.", +"type": "string" +}, +"sharedSecret": { +"description": "[Output Only] The shared secret to be used for reverse DNS verification.", +"type": "string" +}, +"status": { +"description": "The status of the public advertised prefix. Possible values include: - `INITIAL`: RPKI validation is complete. - `PTR_CONFIGURED`: User has configured the PTR. - `VALIDATED`: Reverse DNS lookup is successful. - `REVERSE_DNS_LOOKUP_FAILED`: Reverse DNS lookup failed. - `PREFIX_CONFIGURATION_IN_PROGRESS`: The prefix is being configured. - `PREFIX_CONFIGURATION_COMPLETE`: The prefix is fully configured. - `PREFIX_REMOVAL_IN_PROGRESS`: The prefix is being removed. ", +"enum": [ +"ANNOUNCED_TO_INTERNET", +"INITIAL", +"PREFIX_CONFIGURATION_COMPLETE", +"PREFIX_CONFIGURATION_IN_PROGRESS", +"PREFIX_REMOVAL_IN_PROGRESS", +"PTR_CONFIGURED", +"READY_TO_ANNOUNCE", +"REVERSE_DNS_LOOKUP_FAILED", +"VALIDATED" +], +"enumDescriptions": [ +"The prefix is announced to Internet.", +"RPKI validation is complete.", +"The prefix is fully configured.", +"The prefix is being configured.", +"The prefix is being removed.", +"User has configured the PTR.", +"The prefix is currently withdrawn but ready to be announced.", +"Reverse DNS lookup failed.", +"Reverse DNS lookup is successful." +], +"type": "string" +} +}, +"type": "object" +}, +"PublicAdvertisedPrefixList": { +"id": "PublicAdvertisedPrefixList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of PublicAdvertisedPrefix resources.", +"items": { +"$ref": "PublicAdvertisedPrefix" +}, +"type": "array" +}, +"kind": { +"default": "compute#publicAdvertisedPrefixList", +"description": "[Output Only] Type of the resource. Always compute#publicAdvertisedPrefix for public advertised prefixes.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"PublicAdvertisedPrefixPublicDelegatedPrefix": { +"description": "Represents a CIDR range which can be used to assign addresses.", +"id": "PublicAdvertisedPrefixPublicDelegatedPrefix", +"properties": { +"ipRange": { +"description": "The IP address range of the public delegated prefix", +"type": "string" +}, +"name": { +"description": "The name of the public delegated prefix", +"type": "string" +}, +"project": { +"description": "The project number of the public delegated prefix", +"type": "string" +}, +"region": { +"description": "The region of the public delegated prefix if it is regional. If absent, the prefix is global.", +"type": "string" +}, +"status": { +"description": "The status of the public delegated prefix. Possible values are: INITIALIZING: The public delegated prefix is being initialized and addresses cannot be created yet. ANNOUNCED: The public delegated prefix is active.", +"type": "string" +} +}, +"type": "object" +}, +"PublicDelegatedPrefix": { +"description": "A PublicDelegatedPrefix resource represents an IP block within a PublicAdvertisedPrefix that is configured within a single cloud scope (global or region). IPs in the block can be allocated to resources within that scope. Public delegated prefixes may be further broken up into smaller IP blocks in the same scope as the parent block.", +"id": "PublicDelegatedPrefix", +"properties": { +"allocatablePrefixLength": { +"description": "The allocatable prefix length supported by this public delegated prefix. This field is optional and cannot be set for prefixes in DELEGATION mode. It cannot be set for IPv4 prefixes either, and it always defaults to 32.", +"format": "int32", +"type": "integer" +}, +"byoipApiVersion": { +"description": "[Output Only] The version of BYOIP API.", +"enum": [ +"V1", +"V2" +], +"enumDescriptions": [ +"This public delegated prefix usually takes 4 weeks to delete, and the BGP status cannot be changed. Announce and Withdraw APIs can not be used on this prefix.", +"This public delegated prefix takes minutes to delete. Announce and Withdraw APIs can be used on this prefix to change the BGP status." +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a new PublicDelegatedPrefix. An up-to-date fingerprint must be provided in order to update the PublicDelegatedPrefix, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a PublicDelegatedPrefix.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", +"format": "uint64", +"type": "string" +}, +"ipCidrRange": { +"description": "The IP address range, in CIDR format, represented by this public delegated prefix.", +"type": "string" +}, +"isLiveMigration": { +"description": "If true, the prefix will be live migrated.", +"type": "boolean" +}, +"kind": { +"default": "compute#publicDelegatedPrefix", +"description": "[Output Only] Type of the resource. Always compute#publicDelegatedPrefix for public delegated prefixes.", +"type": "string" +}, +"mode": { +"description": "The public delegated prefix mode for IPv6 only.", +"enum": [ +"DELEGATION", +"EXTERNAL_IPV6_FORWARDING_RULE_CREATION", +"EXTERNAL_IPV6_SUBNETWORK_CREATION" +], +"enumDescriptions": [ +"The public delegated prefix is used for further sub-delegation only. Such prefixes cannot set allocatablePrefixLength.", +"The public delegated prefix is used for creating forwarding rules only. Such prefixes cannot set publicDelegatedSubPrefixes.", +"The public delegated prefix is used for creating dual-mode subnetworks only. Such prefixes cannot set publicDelegatedSubPrefixes." +], +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.publicDelegatedPrefixes.insert" +] +}, +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"parentPrefix": { +"description": "The URL of parent prefix. Either PublicAdvertisedPrefix or PublicDelegatedPrefix.", +"type": "string" +}, +"publicDelegatedSubPrefixs": { +"description": "The list of sub public delegated prefixes that exist for this public delegated prefix.", +"items": { +"$ref": "PublicDelegatedPrefixPublicDelegatedSubPrefix" +}, +"type": "array" +}, +"region": { +"description": "[Output Only] URL of the region where the public delegated prefix resides. This field applies only to the region resource. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL with id for the resource.", +"type": "string" +}, +"status": { +"description": "[Output Only] The status of the public delegated prefix, which can be one of following values: - `INITIALIZING` The public delegated prefix is being initialized and addresses cannot be created yet. - `READY_TO_ANNOUNCE` The public delegated prefix is a live migration prefix and is active. - `ANNOUNCED` The public delegated prefix is active. - `DELETING` The public delegated prefix is being deprovsioned. ", +"enum": [ +"ANNOUNCED", +"ANNOUNCED_TO_GOOGLE", +"ANNOUNCED_TO_INTERNET", +"DELETING", +"INITIALIZING", +"READY_TO_ANNOUNCE" +], +"enumDescriptions": [ +"The public delegated prefix is active.", +"The prefix is announced within Google network.", +"The prefix is announced to Internet and within Google.", +"The public delegated prefix is being deprovsioned.", +"The public delegated prefix is being initialized and addresses cannot be created yet.", +"The public delegated prefix is currently withdrawn but ready to be announced." +], +"type": "string" +} +}, +"type": "object" +}, +"PublicDelegatedPrefixAggregatedList": { +"id": "PublicDelegatedPrefixAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "PublicDelegatedPrefixesScopedList", +"description": "[Output Only] Name of the scope containing this set of PublicDelegatedPrefixes." +}, +"description": "A list of PublicDelegatedPrefixesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#publicDelegatedPrefixAggregatedList", +"description": "[Output Only] Type of the resource. Always compute#publicDelegatedPrefixAggregatedList for aggregated lists of public delegated prefixes.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"PublicDelegatedPrefixList": { +"id": "PublicDelegatedPrefixList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of PublicDelegatedPrefix resources.", +"items": { +"$ref": "PublicDelegatedPrefix" +}, +"type": "array" +}, +"kind": { +"default": "compute#publicDelegatedPrefixList", +"description": "[Output Only] Type of the resource. Always compute#publicDelegatedPrefixList for public delegated prefixes.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"PublicDelegatedPrefixPublicDelegatedSubPrefix": { +"description": "Represents a sub PublicDelegatedPrefix.", +"id": "PublicDelegatedPrefixPublicDelegatedSubPrefix", +"properties": { +"allocatablePrefixLength": { +"description": "The allocatable prefix length supported by this PublicDelegatedSubPrefix.", +"format": "int32", +"type": "integer" +}, +"delegateeProject": { +"description": "Name of the project scoping this PublicDelegatedSubPrefix.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"ipCidrRange": { +"description": "The IP address range, in CIDR format, represented by this sub public delegated prefix.", +"type": "string" +}, +"isAddress": { +"description": "Whether the sub prefix is delegated to create Address resources in the delegatee project.", +"type": "boolean" +}, +"mode": { +"description": "The PublicDelegatedSubPrefix mode for IPv6 only.", +"enum": [ +"DELEGATION", +"EXTERNAL_IPV6_FORWARDING_RULE_CREATION", +"EXTERNAL_IPV6_SUBNETWORK_CREATION" +], +"enumDescriptions": [ +"The public delegated prefix is used for further sub-delegation only. Such prefixes cannot set allocatablePrefixLength.", +"The public delegated prefix is used for creating forwarding rules only. Such prefixes cannot set publicDelegatedSubPrefixes.", +"The public delegated prefix is used for creating dual-mode subnetworks only. Such prefixes cannot set publicDelegatedSubPrefixes." +], +"type": "string" +}, +"name": { +"description": "The name of the sub public delegated prefix.", +"type": "string" +}, +"region": { +"description": "[Output Only] The region of the sub public delegated prefix if it is regional. If absent, the sub prefix is global.", +"type": "string" +}, +"status": { +"description": "[Output Only] The status of the sub public delegated prefix.", +"enum": [ +"ACTIVE", +"INACTIVE" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"PublicDelegatedPrefixesScopedList": { +"id": "PublicDelegatedPrefixesScopedList", +"properties": { +"publicDelegatedPrefixes": { +"description": "[Output Only] A list of PublicDelegatedPrefixes contained in this scope.", +"items": { +"$ref": "PublicDelegatedPrefix" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of public delegated prefixes when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"QueuedResource": { +"description": "QueuedResource represents a request for future capacity. The capacity is delivered in the form of other GCE resources, either Instances or Reservations.", +"id": "QueuedResource", +"properties": { +"bulkInsertInstanceResource": { +"$ref": "BulkInsertInstanceResource", +"description": "Specification of VM instances to create." +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#queuedResource", +"description": "[Output Only] Type of the resource. Always compute#queuedResource for QueuedResources.", +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"queuingPolicy": { +"$ref": "QueuingPolicy", +"description": "Queuing parameters for the requested capacity." +}, +"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" +}, +"state": { +"description": "[Output only] High-level status of the request.", +"enum": [ +"ACCEPTED", +"CANCELLED", +"CREATING", +"DELETING", +"FAILED", +"PROVISIONING", +"STATE_UNSPECIFIED", +"SUCCEEDED" +], +"enumDescriptions": [ +"The request was created successfully and was accepted for provisioning when the capacity becomes available.", +"The request was canceled by the user.", +"QueuedResource is being created and may still fail creation.", +"The request is being deleted.", +"The request failed before or during provisioning.", +"The target resource(s) are being provisioned.", +"", +"The request succeeded." +], +"type": "string" +}, +"status": { +"$ref": "QueuedResourceStatus", +"description": "[Output only] Result of queuing and provisioning based on deferred capacity." +}, +"zone": { +"description": "[Output Only] URL of the zone where the resource resides. Only applicable for zonal resources. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +} +}, +"type": "object" +}, +"QueuedResourceList": { +"id": "QueuedResourceList", +"properties": { +"id": { +"description": "Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of QueuedResource resources.", +"items": { +"$ref": "QueuedResource" +}, +"type": "array" +}, +"kind": { +"default": "compute#queuedResourceList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "This token allows you to get the next page of results for maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"QueuedResourceStatus": { +"id": "QueuedResourceStatus", +"properties": { +"failedData": { +"$ref": "QueuedResourceStatusFailedData" +}, +"provisioningOperations": { +"items": { +"type": "string" +}, +"type": "array" +}, +"queuingPolicy": { +"$ref": "QueuingPolicy" +} +}, +"type": "object" +}, +"QueuedResourceStatusFailedData": { +"id": "QueuedResourceStatusFailedData", +"properties": { +"error": { +"properties": { +"errors": { +"description": "[Output Only] The array of errors encountered while processing this operation.", +"items": { +"properties": { +"code": { +"description": "[Output Only] The error type identifier for this error.", +"type": "string" +}, +"errorDetails": { +"description": "[Output Only] An optional list of messages that contain the error 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" +} +}, +"type": "object" +}, +"QueuedResourcesAggregatedList": { +"id": "QueuedResourcesAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "QueuedResourcesScopedList", +"description": "Name of the scope containing this set of queued resources." +}, +"description": "A list of QueuedResourcesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#queuedResources", +"description": "[Output Only] Type of resource. Always compute#queuedResourcesAggregatedList for lists of QueuedResource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"QueuedResourcesScopedList": { +"id": "QueuedResourcesScopedList", +"properties": { +"queuedResources": { +"description": "List of QueuedResources contained in this scope.", +"items": { +"$ref": "QueuedResource" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of backend services when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"QueuingPolicy": { +"description": "Queuing parameters for the requested deferred capacity.", +"id": "QueuingPolicy", +"properties": { +"validUntilDuration": { +"$ref": "Duration", +"description": "Relative deadline for waiting for capacity." +}, +"validUntilTime": { +"description": "Absolute deadline for waiting for capacity in RFC3339 text format.", +"type": "string" +} +}, +"type": "object" +}, +"Quota": { +"description": "A quotas entry.", +"id": "Quota", +"properties": { +"limit": { +"description": "[Output Only] Quota limit for this metric.", +"format": "double", +"type": "number" +}, +"metric": { +"description": "[Output Only] Name of the quota metric.", +"enum": [ +"A2_CPUS", +"AFFINITY_GROUPS", +"AMD_S9300_GPUS", +"AUTOSCALERS", +"BACKEND_BUCKETS", +"BACKEND_SERVICES", +"C2D_CPUS", +"C2_CPUS", +"C3_CPUS", +"COMMITMENTS", +"COMMITTED_A2_CPUS", +"COMMITTED_C2D_CPUS", +"COMMITTED_C2_CPUS", +"COMMITTED_C3_CPUS", +"COMMITTED_CPUS", +"COMMITTED_E2_CPUS", +"COMMITTED_LICENSES", +"COMMITTED_LOCAL_SSD_TOTAL_GB", +"COMMITTED_M3_CPUS", +"COMMITTED_MEMORY_OPTIMIZED_CPUS", +"COMMITTED_N2A_CPUS", +"COMMITTED_N2D_CPUS", +"COMMITTED_N2_CPUS", +"COMMITTED_NVIDIA_A100_80GB_GPUS", +"COMMITTED_NVIDIA_A100_GPUS", +"COMMITTED_NVIDIA_H100_GPUS", +"COMMITTED_NVIDIA_K80_GPUS", +"COMMITTED_NVIDIA_L4_GPUS", +"COMMITTED_NVIDIA_P100_GPUS", +"COMMITTED_NVIDIA_P4_GPUS", +"COMMITTED_NVIDIA_T4_GPUS", +"COMMITTED_NVIDIA_V100_GPUS", +"COMMITTED_T2A_CPUS", +"COMMITTED_T2D_CPUS", +"COMMITTED_Z3_CPUS", +"CPUS", +"CPUS_ALL_REGIONS", +"DISKS_TOTAL_GB", +"E2_CPUS", +"EXTERNAL_MANAGED_FORWARDING_RULES", +"EXTERNAL_NETWORK_LB_FORWARDING_RULES", +"EXTERNAL_PROTOCOL_FORWARDING_RULES", +"EXTERNAL_VPN_GATEWAYS", +"FIREWALLS", +"FORWARDING_RULES", +"GLOBAL_EXTERNAL_MANAGED_BACKEND_SERVICES", +"GLOBAL_EXTERNAL_MANAGED_FORWARDING_RULES", +"GLOBAL_EXTERNAL_PROXY_LB_BACKEND_SERVICES", +"GLOBAL_INTERNAL_ADDRESSES", +"GLOBAL_INTERNAL_MANAGED_BACKEND_SERVICES", +"GLOBAL_INTERNAL_TRAFFIC_DIRECTOR_BACKEND_SERVICES", +"GPUS_ALL_REGIONS", +"HDB_TOTAL_GB", +"HDB_TOTAL_IOPS", +"HDB_TOTAL_THROUGHPUT", +"HEALTH_CHECKS", +"IMAGES", +"INSTANCES", +"INSTANCE_GROUPS", +"INSTANCE_GROUP_MANAGERS", +"INSTANCE_TEMPLATES", +"INTERCONNECTS", +"INTERCONNECT_ATTACHMENTS_PER_REGION", +"INTERCONNECT_ATTACHMENTS_TOTAL_MBPS", +"INTERCONNECT_TOTAL_GBPS", +"INTERNAL_ADDRESSES", +"INTERNAL_TRAFFIC_DIRECTOR_FORWARDING_RULES", +"IN_PLACE_SNAPSHOTS", +"IN_USE_ADDRESSES", +"IN_USE_BACKUP_SCHEDULES", +"IN_USE_MAINTENANCE_WINDOWS", +"IN_USE_SNAPSHOT_SCHEDULES", +"LOCAL_SSD_TOTAL_GB", +"M1_CPUS", +"M2_CPUS", +"M3_CPUS", +"MACHINE_IMAGES", +"N2A_CPUS", +"N2D_CPUS", +"N2_CPUS", +"NETWORKS", +"NETWORK_ATTACHMENTS", +"NETWORK_ENDPOINT_GROUPS", +"NETWORK_FIREWALL_POLICIES", +"NET_LB_SECURITY_POLICIES_PER_REGION", +"NET_LB_SECURITY_POLICY_RULES_PER_REGION", +"NET_LB_SECURITY_POLICY_RULE_ATTRIBUTES_PER_REGION", +"NODE_GROUPS", +"NODE_TEMPLATES", +"NVIDIA_A100_80GB_GPUS", +"NVIDIA_A100_GPUS", +"NVIDIA_K80_GPUS", +"NVIDIA_L4_GPUS", +"NVIDIA_P100_GPUS", +"NVIDIA_P100_VWS_GPUS", +"NVIDIA_P4_GPUS", +"NVIDIA_P4_VWS_GPUS", +"NVIDIA_T4_GPUS", +"NVIDIA_T4_VWS_GPUS", +"NVIDIA_V100_GPUS", +"PACKET_MIRRORINGS", +"PD_EXTREME_TOTAL_PROVISIONED_IOPS", +"PREEMPTIBLE_CPUS", +"PREEMPTIBLE_LOCAL_SSD_GB", +"PREEMPTIBLE_NVIDIA_A100_80GB_GPUS", +"PREEMPTIBLE_NVIDIA_A100_GPUS", +"PREEMPTIBLE_NVIDIA_H100_GPUS", +"PREEMPTIBLE_NVIDIA_K80_GPUS", +"PREEMPTIBLE_NVIDIA_L4_GPUS", +"PREEMPTIBLE_NVIDIA_P100_GPUS", +"PREEMPTIBLE_NVIDIA_P100_VWS_GPUS", +"PREEMPTIBLE_NVIDIA_P4_GPUS", +"PREEMPTIBLE_NVIDIA_P4_VWS_GPUS", +"PREEMPTIBLE_NVIDIA_T4_GPUS", +"PREEMPTIBLE_NVIDIA_T4_VWS_GPUS", +"PREEMPTIBLE_NVIDIA_V100_GPUS", +"PREEMPTIBLE_TPU_LITE_DEVICE_V4", +"PREEMPTIBLE_TPU_LITE_DEVICE_V5", +"PREEMPTIBLE_TPU_LITE_PODSLICE_V5", +"PREEMPTIBLE_TPU_PODSLICE_V4", +"PRIVATE_V6_ACCESS_SUBNETWORKS", +"PSC_ILB_CONSUMER_FORWARDING_RULES_PER_PRODUCER_NETWORK", +"PSC_INTERNAL_LB_FORWARDING_RULES", +"PUBLIC_ADVERTISED_PREFIXES", +"PUBLIC_DELEGATED_PREFIXES", +"QUEUED_RESOURCES", +"REGIONAL_AUTOSCALERS", +"REGIONAL_EXTERNAL_MANAGED_BACKEND_SERVICES", +"REGIONAL_EXTERNAL_NETWORK_LB_BACKEND_SERVICES", +"REGIONAL_INSTANCE_GROUP_MANAGERS", +"REGIONAL_INTERNAL_LB_BACKEND_SERVICES", +"REGIONAL_INTERNAL_MANAGED_BACKEND_SERVICES", +"REGIONAL_INTERNAL_TRAFFIC_DIRECTOR_BACKEND_SERVICES", +"RESERVATIONS", +"RESOURCE_POLICIES", +"ROUTERS", +"ROUTES", +"SECURITY_POLICIES", +"SECURITY_POLICIES_PER_REGION", +"SECURITY_POLICY_ADVANCED_RULES_PER_REGION", +"SECURITY_POLICY_CEVAL_RULES", +"SECURITY_POLICY_RULES", +"SECURITY_POLICY_RULES_PER_REGION", +"SERVICE_ATTACHMENTS", +"SNAPSHOTS", +"SSD_TOTAL_GB", +"SSL_CERTIFICATES", +"SSL_POLICIES", +"STATIC_ADDRESSES", +"STATIC_BYOIP_ADDRESSES", +"STATIC_EXTERNAL_IPV6_ADDRESS_RANGES", +"SUBNETWORKS", +"T2A_CPUS", +"T2D_CPUS", +"TARGET_HTTPS_PROXIES", +"TARGET_HTTP_PROXIES", +"TARGET_INSTANCES", +"TARGET_POOLS", +"TARGET_SSL_PROXIES", +"TARGET_TCP_PROXIES", +"TARGET_VPN_GATEWAYS", +"TPU_LITE_DEVICE_V4", +"TPU_LITE_DEVICE_V5", +"TPU_LITE_PODSLICE_V5", +"TPU_PODSLICE_V4", +"URL_MAPS", +"VARIABLE_IPV6_PUBLIC_DELEGATED_PREFIXES", +"VPN_GATEWAYS", +"VPN_TUNNELS", +"XPN_SERVICE_PROJECTS" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"Guest CPUs", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"The total number of snapshots allowed for a single project.", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"owner": { +"description": "[Output Only] Owning resource. This is the resource on which this quota is applied.", +"type": "string" +}, +"usage": { +"description": "[Output Only] Current usage of this metric.", +"format": "double", +"type": "number" +} +}, +"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": [ +"IN_PROGRESS", +"ROLLOUT_STATUS_UNSPECIFIED" +], +"enumDescriptions": [ +"IN_PROGRESS - A rollout is in process which will change the limit value to future limit.", +"ROLLOUT_STATUS_UNSPECIFIED - Rollout status is not specified. The default value." +], +"type": "string" +} +}, +"type": "object" +}, +"RbacPolicy": { +"id": "RbacPolicy", +"properties": { +"name": { +"description": "Name of the RbacPolicy.", +"type": "string" +}, +"permissions": { +"description": "The list of permissions.", +"items": { +"$ref": "Permission" +}, +"type": "array" +}, +"principals": { +"description": "The list of principals.", +"items": { +"$ref": "Principal" +}, +"type": "array" +} +}, +"type": "object" +}, +"Reference": { +"description": "Represents a reference to a resource.", +"id": "Reference", +"properties": { +"kind": { +"default": "compute#reference", +"description": "[Output Only] Type of the resource. Always compute#reference for references.", +"type": "string" +}, +"referenceType": { +"description": "A description of the reference type with no implied semantics. Possible values include: 1. MEMBER_OF ", +"type": "string" +}, +"referrer": { +"description": "URL of the resource which refers to the target.", +"type": "string" +}, +"target": { +"description": "URL of the resource to which this reference points.", +"type": "string" +} +}, +"type": "object" +}, +"Region": { +"description": "Represents a Region resource. A region is a geographical area where a resource is located. For more information, read Regions and Zones.", +"id": "Region", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"deprecated": { +"$ref": "DeprecationStatus", +"description": "[Output Only] The deprecation status associated with this region." +}, +"description": { +"description": "[Output Only] Textual description of the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#region", +"description": "[Output Only] Type of the resource. Always compute#region for regions.", +"type": "string" +}, +"name": { +"description": "[Output Only] Name of the resource.", +"type": "string" +}, +"quotaStatusWarning": { +"description": "[Output Only] Warning of fetching the `quotas` field for this region. This field is populated only if fetching of the `quotas` field fails.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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" +}, +"quotas": { +"description": "[Output Only] Quotas assigned to this region.", +"items": { +"$ref": "Quota" +}, +"type": "array" +}, +"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" +}, +"status": { +"description": "[Output Only] Status of the region, either UP or DOWN.", +"enum": [ +"DOWN", +"UP" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"supportsPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"zones": { +"description": "[Output Only] A list of zones available in this region, in the form of resource URLs.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionAddressesMoveRequest": { +"id": "RegionAddressesMoveRequest", +"properties": { +"description": { +"description": "An optional destination address description if intended to be different from the source.", +"type": "string" +}, +"destinationAddress": { +"description": "The URL of the destination address to move to. This can be a full or partial URL. For example, the following are all valid URLs to a address: - https://www.googleapis.com/compute/v1/projects/project/regions/region /addresses/address - projects/project/regions/region/addresses/address Note that destination project must be different from the source project. So /regions/region/addresses/address is not valid partial url.", +"type": "string" +} +}, +"type": "object" +}, +"RegionAutoscalerList": { +"description": "Contains a list of autoscalers.", +"id": "RegionAutoscalerList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Autoscaler resources.", +"items": { +"$ref": "Autoscaler" +}, +"type": "array" +}, +"kind": { +"default": "compute#regionAutoscalerList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"RegionCommitmentsUpdateReservationsRequest": { +"id": "RegionCommitmentsUpdateReservationsRequest", +"properties": { +"reservations": { +"description": "A list of two reservations to transfer GPUs and local SSD between.", +"items": { +"$ref": "Reservation" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionDiskTypeList": { +"id": "RegionDiskTypeList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of DiskType resources.", +"items": { +"$ref": "DiskType" +}, +"type": "array" +}, +"kind": { +"default": "compute#regionDiskTypeList", +"description": "[Output Only] Type of resource. Always compute#regionDiskTypeList for region disk types.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"RegionDisksAddResourcePoliciesRequest": { +"id": "RegionDisksAddResourcePoliciesRequest", +"properties": { +"resourcePolicies": { +"description": "Resource policies to be added to this disk.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionDisksRemoveResourcePoliciesRequest": { +"id": "RegionDisksRemoveResourcePoliciesRequest", +"properties": { +"resourcePolicies": { +"description": "Resource policies to be removed from this disk.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionDisksResizeRequest": { +"id": "RegionDisksResizeRequest", +"properties": { +"sizeGb": { +"description": "The new size of the regional persistent disk, which is specified in GB.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"RegionDisksStartAsyncReplicationRequest": { +"id": "RegionDisksStartAsyncReplicationRequest", +"properties": { +"asyncSecondaryDisk": { +"description": "The secondary disk to start asynchronous replication to. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk ", +"type": "string" +} +}, +"type": "object" +}, +"RegionInstanceGroupList": { +"description": "Contains a list of InstanceGroup resources.", +"id": "RegionInstanceGroupList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InstanceGroup resources.", +"items": { +"$ref": "InstanceGroup" +}, +"type": "array" +}, +"kind": { +"default": "compute#regionInstanceGroupList", +"description": "The resource type.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"RegionInstanceGroupManagerDeleteInstanceConfigReq": { +"description": "RegionInstanceGroupManagers.deletePerInstanceConfigs", +"id": "RegionInstanceGroupManagerDeleteInstanceConfigReq", +"properties": { +"names": { +"description": "The list of instance names for which we want to delete per-instance configs on this managed instance group.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagerList": { +"description": "Contains a list of managed instance groups.", +"id": "RegionInstanceGroupManagerList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InstanceGroupManager resources.", +"items": { +"$ref": "InstanceGroupManager" +}, +"type": "array" +}, +"kind": { +"default": "compute#regionInstanceGroupManagerList", +"description": "[Output Only] The resource type, which is always compute#instanceGroupManagerList for a list of managed instance groups that exist in th regional scope.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"RegionInstanceGroupManagerPatchInstanceConfigReq": { +"description": "RegionInstanceGroupManagers.patchPerInstanceConfigs", +"id": "RegionInstanceGroupManagerPatchInstanceConfigReq", +"properties": { +"perInstanceConfigs": { +"description": "The list of per-instance configurations to insert or patch on this managed instance group.", +"items": { +"$ref": "PerInstanceConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagerResizeRequestsListResponse": { +"id": "RegionInstanceGroupManagerResizeRequestsListResponse", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Resize Request resources.", +"items": { +"$ref": "InstanceGroupManagerResizeRequest" +}, +"type": "array" +}, +"kind": { +"default": "compute#regionInstanceGroupManagerResizeRequestList", +"description": "[Output Only] Type of the resource. Always compute#regionInstanceGroupManagerResizeRequestList for a list of Resize Requests.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"RegionInstanceGroupManagerUpdateInstanceConfigReq": { +"description": "RegionInstanceGroupManagers.updatePerInstanceConfigs", +"id": "RegionInstanceGroupManagerUpdateInstanceConfigReq", +"properties": { +"perInstanceConfigs": { +"description": "The list of per-instance configurations to insert or patch on this managed instance group.", +"items": { +"$ref": "PerInstanceConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersAbandonInstancesRequest": { +"id": "RegionInstanceGroupManagersAbandonInstancesRequest", +"properties": { +"instances": { +"description": "The URLs of one or more instances to abandon. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersApplyUpdatesRequest": { +"description": "RegionInstanceGroupManagers.applyUpdatesToInstances", +"id": "RegionInstanceGroupManagersApplyUpdatesRequest", +"properties": { +"allInstances": { +"description": "Flag to update all instances instead of specified list of \u201cinstances\u201d. If the flag is set to true then the instances may not be specified in the request.", +"type": "boolean" +}, +"instances": { +"description": "The list of URLs of one or more instances for which you want to apply updates. Each URL can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +}, +"maximalAction": { +"description": "The maximal action that should be performed on the instances. By default REPLACE. This field is deprecated, please use most_disruptive_allowed_action.", +"enum": [ +"NONE", +"REFRESH", +"REPLACE", +"RESTART" +], +"enumDescriptions": [ +"Do not perform any action.", +"Do not stop the instance.", +"(Default.) Replace the instance according to the replacement method option.", +"Stop the instance and start it again." +], +"type": "string" +}, +"minimalAction": { +"description": "The minimal action that you want to perform on each instance during the update: - REPLACE: At minimum, delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the minimum action is NONE. If your update requires a more disruptive action than you set with this flag, the necessary action is performed to execute the update.", +"enum": [ +"NONE", +"REFRESH", +"REPLACE", +"RESTART" +], +"enumDescriptions": [ +"Do not perform any action.", +"Do not stop the instance.", +"(Default.) Replace the instance according to the replacement method option.", +"Stop the instance and start it again." +], +"type": "string" +}, +"mostDisruptiveAllowedAction": { +"description": "The most disruptive action that you want to perform on each instance during the update: - REPLACE: Delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the most disruptive allowed action is REPLACE. If your update requires a more disruptive action than you set with this flag, the update request will fail.", +"enum": [ +"NONE", +"REFRESH", +"REPLACE", +"RESTART" +], +"enumDescriptions": [ +"Do not perform any action.", +"Do not stop the instance.", +"(Default.) Replace the instance according to the replacement method option.", +"Stop the instance and start it again." +], +"type": "string" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersCreateInstancesRequest": { +"description": "RegionInstanceGroupManagers.createInstances", +"id": "RegionInstanceGroupManagersCreateInstancesRequest", +"properties": { +"instances": { +"description": "[Required] List of specifications of per-instance configs.", +"items": { +"$ref": "PerInstanceConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersDeleteInstancesRequest": { +"id": "RegionInstanceGroupManagersDeleteInstancesRequest", +"properties": { +"instances": { +"description": "The URLs of one or more instances to delete. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +}, +"skipInstancesOnValidationError": { +"description": "Specifies whether the request should proceed despite the inclusion of instances that are not members of the group or that are already in the process of being deleted or abandoned. If this field is set to `false` and such an instance is specified in the request, the operation fails. The operation always fails if the request contains a malformed instance URL or a reference to an instance that exists in a zone or region other than the group's zone or region.", +"type": "boolean" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersListErrorsResponse": { +"id": "RegionInstanceGroupManagersListErrorsResponse", +"properties": { +"items": { +"description": "[Output Only] The list of errors of the managed instance group.", +"items": { +"$ref": "InstanceManagedByIgmError" +}, +"type": "array" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersListInstanceConfigsResp": { +"id": "RegionInstanceGroupManagersListInstanceConfigsResp", +"properties": { +"items": { +"description": "[Output Only] The list of PerInstanceConfig.", +"items": { +"$ref": "PerInstanceConfig" +}, +"type": "array" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"RegionInstanceGroupManagersListInstancesResponse": { +"id": "RegionInstanceGroupManagersListInstancesResponse", +"properties": { +"managedInstances": { +"description": "A list of managed instances.", +"items": { +"$ref": "ManagedInstance" +}, +"type": "array" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersRecreateRequest": { +"id": "RegionInstanceGroupManagersRecreateRequest", +"properties": { +"instances": { +"description": "The URLs of one or more instances to recreate. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersResizeAdvancedRequest": { +"id": "RegionInstanceGroupManagersResizeAdvancedRequest", +"properties": { +"noCreationRetries": { +"description": "If this flag is true, the managed instance group attempts to create all instances initiated by this resize request only once. If there is an error during creation, the managed instance group does not retry create this instance, and we will decrease the targetSize of the request instead. If the flag is false, the group attempts to recreate each instance continuously until it succeeds. This flag matters only in the first attempt of creation of an instance. After an instance is successfully created while this flag is enabled, the instance behaves the same way as all the other instances created with a regular resize request. In particular, if a running instance dies unexpectedly at a later time and needs to be recreated, this mode does not affect the recreation behavior in that scenario. This flag is applicable only to the current resize request. It does not influence other resize requests in any way. You can see which instances ar being created in which mode by calling the get or listManagedInstances API.", +"type": "boolean" +}, +"targetSize": { +"description": "The number of running instances that the managed instance group should maintain at any given time. The group automatically adds or removes instances to maintain the number of instances specified by this parameter.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersResumeInstancesRequest": { +"id": "RegionInstanceGroupManagersResumeInstancesRequest", +"properties": { +"instances": { +"description": "The URLs of one or more instances to resume. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersSetAutoHealingRequest": { +"id": "RegionInstanceGroupManagersSetAutoHealingRequest", +"properties": { +"autoHealingPolicies": { +"items": { +"$ref": "InstanceGroupManagerAutoHealingPolicy" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersSetTargetPoolsRequest": { +"id": "RegionInstanceGroupManagersSetTargetPoolsRequest", +"properties": { +"fingerprint": { +"description": "Fingerprint of the target pools information, which is a hash of the contents. This field is used for optimistic locking when you update the target pool entries. This field is optional.", +"format": "byte", +"type": "string" +}, +"targetPools": { +"description": "The URL of all TargetPool resources to which instances in the instanceGroup field are added. The target pools automatically apply to all of the instances in the managed instance group.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersSetTemplateRequest": { +"id": "RegionInstanceGroupManagersSetTemplateRequest", +"properties": { +"instanceTemplate": { +"description": "URL of the InstanceTemplate resource from which all new instances will be created.", +"type": "string" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersStartInstancesRequest": { +"id": "RegionInstanceGroupManagersStartInstancesRequest", +"properties": { +"instances": { +"description": "The URLs of one or more instances to start. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersStopInstancesRequest": { +"id": "RegionInstanceGroupManagersStopInstancesRequest", +"properties": { +"forceStop": { +"description": "If this flag is set to true, the Instance Group Manager will proceed to stop the instances, skipping initialization on them.", +"type": "boolean" +}, +"instances": { +"description": "The URLs of one or more instances to stop. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupManagersSuspendInstancesRequest": { +"id": "RegionInstanceGroupManagersSuspendInstancesRequest", +"properties": { +"forceSuspend": { +"description": "If this flag is set to true, the Instance Group Manager will proceed to suspend the instances, skipping initialization on them.", +"type": "boolean" +}, +"instances": { +"description": "The URLs of one or more instances to suspend. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionInstanceGroupsListInstances": { +"id": "RegionInstanceGroupsListInstances", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of InstanceWithNamedPorts resources.", +"items": { +"$ref": "InstanceWithNamedPorts" +}, +"type": "array" +}, +"kind": { +"default": "compute#regionInstanceGroupsListInstances", +"description": "The resource type.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"RegionInstanceGroupsListInstancesRequest": { +"id": "RegionInstanceGroupsListInstancesRequest", +"properties": { +"instanceState": { +"description": "Instances in which state should be returned. Valid options are: 'ALL', 'RUNNING'. By default, it lists all instances.", +"enum": [ +"ALL", +"RUNNING" +], +"enumDescriptions": [ +"Matches any status of the instances, running, non-running and others.", +"Instance is in RUNNING state if it is running." +], +"type": "string" +}, +"portName": { +"description": "Name of port user is interested in. It is optional. If it is set, only information about this ports will be returned. If it is not set, all the named ports will be returned. Always lists all instances.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +} +}, +"type": "object" +}, +"RegionInstanceGroupsSetNamedPortsRequest": { +"id": "RegionInstanceGroupsSetNamedPortsRequest", +"properties": { +"fingerprint": { +"description": "The fingerprint of the named ports information for this instance group. Use this optional property to prevent conflicts when multiple users change the named ports settings concurrently. Obtain the fingerprint with the instanceGroups.get method. Then, include the fingerprint in your request to ensure that you do not overwrite changes that were applied from another concurrent request.", +"format": "byte", +"type": "string" +}, +"namedPorts": { +"description": "The list of named ports to set for this instance group.", +"items": { +"$ref": "NamedPort" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionList": { +"description": "Contains a list of region resources.", +"id": "RegionList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Region resources.", +"items": { +"$ref": "Region" +}, +"type": "array" +}, +"kind": { +"default": "compute#regionList", +"description": "[Output Only] Type of resource. Always compute#regionList for lists of regions.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"RegionNetworkEndpointGroupsAttachEndpointsRequest": { +"id": "RegionNetworkEndpointGroupsAttachEndpointsRequest", +"properties": { +"networkEndpoints": { +"description": "The list of network endpoints to be attached.", +"items": { +"$ref": "NetworkEndpoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionNetworkEndpointGroupsDetachEndpointsRequest": { +"id": "RegionNetworkEndpointGroupsDetachEndpointsRequest", +"properties": { +"networkEndpoints": { +"description": "The list of network endpoints to be detached.", +"items": { +"$ref": "NetworkEndpoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse": { +"id": "RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse", +"properties": { +"firewallPolicys": { +"description": "[Output only] Effective firewalls from firewall policy. It applies to Regional Network Firewall Policies in the specified region, Global Network Firewall Policies and Hierachial Firewall Policies which are associated with the network.", +"items": { +"$ref": "RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy" +}, +"type": "array" +}, +"firewalls": { +"description": "Effective firewalls on the network.", +"items": { +"$ref": "Firewall" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy": { +"id": "RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy", +"properties": { +"displayName": { +"description": "[Output Only] The display name of the firewall policy.", +"type": "string" +}, +"name": { +"description": "[Output Only] The name of the firewall policy.", +"type": "string" +}, +"packetMirroringRules": { +"description": "[Output only] The packet mirroring rules that apply to the network.", +"items": { +"$ref": "FirewallPolicyRule" +}, +"type": "array" +}, +"priority": { +"description": "[Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY.", +"format": "int32", +"type": "integer" +}, +"rules": { +"description": "[Output only] The rules that apply to the network.", +"items": { +"$ref": "FirewallPolicyRule" +}, +"type": "array" +}, +"type": { +"description": "[Output Only] The type of the firewall policy. Can be one of HIERARCHY, NETWORK, NETWORK_REGIONAL, SYSTEM_GLOBAL, SYSTEM_REGIONAL.", +"enum": [ +"HIERARCHY", +"NETWORK", +"NETWORK_REGIONAL", +"SYSTEM_GLOBAL", +"SYSTEM_REGIONAL", +"UNSPECIFIED" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"RegionSetLabelsRequest": { +"id": "RegionSetLabelsRequest", +"properties": { +"labelFingerprint": { +"description": "The fingerprint of the previous set of labels for this resource, used to detect conflicts. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels. Make a get() request to the resource to get the latest fingerprint.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels to set for this resource.", +"type": "object" +} +}, +"type": "object" +}, +"RegionSetPolicyRequest": { +"id": "RegionSetPolicyRequest", +"properties": { +"bindings": { +"description": "Flatten Policy to create a backwacd 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." +} +}, +"type": "object" +}, +"RegionTargetHttpsProxiesSetSslCertificatesRequest": { +"id": "RegionTargetHttpsProxiesSetSslCertificatesRequest", +"properties": { +"sslCertificates": { +"description": "New set of SslCertificate resources to associate with this TargetHttpsProxy resource.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RegionUrlMapsValidateRequest": { +"id": "RegionUrlMapsValidateRequest", +"properties": { +"resource": { +"$ref": "UrlMap", +"description": "Content of the UrlMap to be validated." +} +}, +"type": "object" +}, +"RegionWaitForReplicationCatchUpRequest": { +"id": "RegionWaitForReplicationCatchUpRequest", +"properties": { +"maxWaitDuration": { +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"ReplicationDetails": { +"id": "ReplicationDetails", +"properties": { +"lastReplicationTime": { +"description": "The last sync time of the device pair.", +"format": "google-datetime", +"type": "string" +}, +"secondsSinceLastReplication": { +"description": "Replication lag in seconds. This will only be populated if device is in replicating state. Note that the value is calculated sometime during request processing and at the instant the client receives the response, the current replication_lag may have changed.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ReplicationDiskPair": { +"id": "ReplicationDiskPair", +"properties": { +"primaryDisk": { +"description": "URL of the primary disk.", +"type": "string" +}, +"secondaryDisk": { +"description": "URL of the secondary disk.", +"type": "string" +} +}, +"type": "object" +}, +"RequestMirrorPolicy": { +"description": "A policy that specifies how requests intended for the route's backends are shadowed to a separate mirrored backend service. The load balancer doesn't wait for responses from the shadow service. Before sending traffic to the shadow service, the host or authority header is suffixed with -shadow.", +"id": "RequestMirrorPolicy", +"properties": { +"backendService": { +"description": "The full or partial URL to the BackendService resource being mirrored to. The backend service configured for a mirroring policy must reference backends that are of the same type as the original backend service matched in the URL map. Serverless NEG backends are not currently supported as a mirrored backend service. ", +"type": "string" +}, +"mirrorPercent": { +"description": "The percentage of requests to be mirrored to `backend_service`.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"Reservation": { +"description": "Represents a reservation resource. A reservation ensures that capacity is held in a specific zone even if the reserved VMs are not running. For more information, read Reserving zonal resources.", +"id": "Reservation", +"properties": { +"aggregateReservation": { +"$ref": "AllocationAggregateReservation", +"description": "Reservation for aggregated resources, providing shape flexibility." +}, +"commitment": { +"description": "[Output Only] Full or partial URL to a parent commitment. This field displays for reservations that are tied to a commitment.", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"deleteAfterDuration": { +"$ref": "Duration", +"description": "Duration time relative to reservation creation when Compute Engine will automatically delete this resource." +}, +"deleteAtTime": { +"description": "Absolute time in future when the reservation will be auto-deleted by Compute Engine. Timestamp is represented in RFC3339 text format.", +"type": "string" +}, +"deploymentType": { +"description": "Specifies the deployment strategy for this reservation.", +"enum": [ +"DENSE", +"DEPLOYMENT_TYPE_UNSPECIFIED", +"FLEXIBLE" +], +"enumDescriptions": [ +"The reserved capacity is made up of densely deployed reservation blocks.", +"", +"The reserved capacity is made up of highly flexible, logical reservation blocks." +], +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#reservation", +"description": "[Output Only] Type of the resource. Always compute#reservations for reservations.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.instances.insert" +] +}, +"description": "The name of the resource, provided by the client when initially creating the resource. The resource 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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"reservationSharingPolicy": { +"$ref": "AllocationReservationSharingPolicy", +"description": "Specify the reservation sharing policy. If unspecified, the reservation will not be shared with Google Cloud managed services." +}, +"resourcePolicies": { +"additionalProperties": { +"type": "string" +}, +"description": "Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation.", +"type": "object" +}, +"resourceStatus": { +"$ref": "AllocationResourceStatus", +"description": "[Output Only] Status information for Reservation resource." +}, +"satisfiesPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"selfLink": { +"description": "[Output Only] Server-defined fully-qualified URL for this resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource with the resource id.", +"type": "string" +}, +"shareSettings": { +"$ref": "ShareSettings", +"description": "Specify share-settings to create a shared reservation. This property is optional. For more information about the syntax and options for this field and its subfields, see the guide for creating a shared reservation." +}, +"specificReservation": { +"$ref": "AllocationSpecificSKUReservation", +"description": "Reservation for instances with specific machine shapes." +}, +"specificReservationRequired": { +"description": "Indicates whether the reservation can be consumed by VMs with affinity for \"any\" reservation. If the field is set, then only VMs that target the reservation by name can consume from this reservation.", +"type": "boolean" +}, +"status": { +"description": "[Output Only] The status of the reservation. - CREATING: Reservation resources are being allocated. - READY: Reservation resources have been allocated, and the reservation is ready for use. - DELETING: Reservation deletion is in progress. - UPDATING: Reservation update is in progress. ", +"enum": [ +"CREATING", +"DELETING", +"INVALID", +"READY", +"UPDATING" +], +"enumDescriptions": [ +"Reservation resources are being allocated.", +"Reservation deletion is in progress.", +"", +"Reservation resources have been allocated, and the reservation is ready for use.", +"Reservation update is in progress." +], +"type": "string" +}, +"zone": { +"description": "Zone in which the reservation resides. A zone must be provided if the reservation is created within a commitment.", +"type": "string" +} +}, +"type": "object" +}, +"ReservationAffinity": { +"description": "Specifies the reservations that this instance can consume from.", +"id": "ReservationAffinity", +"properties": { +"consumeReservationType": { +"description": "Specifies the type of reservation from which this instance can consume resources: ANY_RESERVATION (default), SPECIFIC_RESERVATION, or NO_RESERVATION. See Consuming reserved instances for examples.", +"enum": [ +"ANY_RESERVATION", +"NO_RESERVATION", +"SPECIFIC_RESERVATION", +"SPECIFIC_THEN_ANY_RESERVATION", +"SPECIFIC_THEN_NO_RESERVATION", +"UNSPECIFIED" +], +"enumDescriptions": [ +"Consume any allocation available.", +"Do not consume from any allocated capacity.", +"Must consume from a specific reservation. Must specify key value fields for specifying the reservations.", +"Prefer to consume from a specific reservation, but still consume any reservation available if the specified reservation is not available or exhausted. Must specify key value fields for specifying the reservations.", +"Prefer to consume from a specific reservation, but still consume from the on-demand pool if the specified reservation is exhausted. 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 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 values of a reservation resource. This can be either a name to a reservation in the same project or \"projects/different-project/reservations/some-reservation-name\" to target a shared reservation in the same zone but in a different project.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ReservationAggregatedList": { +"description": "Contains a list of reservations.", +"id": "ReservationAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "ReservationsScopedList", +"description": "Name of the scope containing this set of reservations." +}, +"description": "A list of Allocation resources.", +"type": "object" +}, +"kind": { +"default": "compute#reservationAggregatedList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"ReservationBlock": { +"description": "Represents a reservation block resource.", +"id": "ReservationBlock", +"properties": { +"count": { +"description": "[Output Only] The number of resources that are allocated in this reservation block.", +"format": "int32", +"type": "integer" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"inUseCount": { +"description": "[Output Only] The number of instances that are currently in use on this reservation block.", +"format": "int32", +"type": "integer" +}, +"kind": { +"default": "compute#reservationBlock", +"description": "[Output Only] Type of the resource. Always compute#reservationBlock for reservation blocks.", +"type": "string" +}, +"locationPrefix": { +"deprecated": true, +"description": "[Output Only] Obfuscated location where this reservation block physically resides in format /CCCC/GGGG. This matches the tripod specified in the VM topology information. Example: /USEAB1/0101/ is the location prefix in /USEAB1/0101/031/003", +"type": "string" +}, +"name": { +"description": "[Output Only] The name of this reservation block generated by Google Compute Engine. The name must be 1-63 characters long, and comply with RFC1035 @pattern [a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"physicalTopology": { +"$ref": "ReservationBlockPhysicalTopology", +"description": "[Output Only] The physical topology of the reservation block." +}, +"reservationMaintenance": { +"$ref": "GroupMaintenanceInfo", +"description": "[Output Only] Maintenance information for this reservation block." +}, +"selfLink": { +"description": "[Output Only] Server-defined fully-qualified URL for this resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource with the resource id.", +"type": "string" +}, +"status": { +"description": "[Output Only] Status of the reservation block.", +"enum": [ +"CREATING", +"DELETING", +"INVALID", +"READY" +], +"enumDescriptions": [ +"Resources are being allocated for the reservation block.", +"Reservation block is currently being deleted.", +"", +"Reservation block has allocated all its resources." +], +"type": "string" +}, +"zone": { +"description": "[Output Only] Zone in which the reservation block resides.", +"type": "string" +} +}, +"type": "object" +}, +"ReservationBlockPhysicalTopology": { +"id": "ReservationBlockPhysicalTopology", +"properties": { +"block": { +"description": "The hash of the capacity block within the cluster.", +"type": "string" +}, +"cluster": { +"description": "The cluster name of the reservation block.", +"type": "string" +} +}, +"type": "object" +}, +"ReservationBlocksGetResponse": { +"id": "ReservationBlocksGetResponse", +"properties": { +"resource": { +"$ref": "ReservationBlock" +} +}, +"type": "object" +}, +"ReservationBlocksListResponse": { +"description": "A list of reservation blocks under a single reservation.", +"id": "ReservationBlocksListResponse", +"properties": { +"id": { +"description": "Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of reservation block resources.", +"items": { +"$ref": "ReservationBlock" +}, +"type": "array" +}, +"kind": { +"default": "compute#reservationBlock", +"description": "Type of the resource. Always compute#reservationBlock for a list of reservation blocks.", +"type": "string" +}, +"nextPageToken": { +"description": "This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"ReservationList": { +"id": "ReservationList", +"properties": { +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"type": "string" +}, +"items": { +"description": "[Output Only] A list of Allocation resources.", +"items": { +"$ref": "Reservation" +}, +"type": "array" +}, +"kind": { +"default": "compute#reservationList", +"description": "[Output Only] Type of resource.Always compute#reservationsList for listsof reservations", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"ReservationsBlocksPerformMaintenanceRequest": { +"id": "ReservationsBlocksPerformMaintenanceRequest", +"properties": { +"maintenanceScope": { +"description": "Specifies if all, running or unused hosts are in scope for this request.", +"enum": [ +"ALL", +"MAINTENANCE_SCOPE_UNSPECIFIED", +"RUNNING_VMS", +"UNUSED_CAPACITY" +], +"enumDescriptions": [ +"Trigger maintenance for all hosts belonging to this reservation irrespective of whether VMs are running on them or not.", +"Internal only", +"Trigger maintenance only on the hosts belonging to this reservation which have VMs running on them.", +"Trigger maintenance only on the hosts belonging to this reservation which do not have any VMs running on them. This is not allowed for Standard ExR" +], +"type": "string" +} +}, +"type": "object" +}, +"ReservationsPerformMaintenanceRequest": { +"id": "ReservationsPerformMaintenanceRequest", +"properties": { +"maintenanceScope": { +"description": "Specifies if all, running or unused hosts are in scope for this request.", +"enum": [ +"ALL", +"MAINTENANCE_SCOPE_UNSPECIFIED", +"RUNNING_VMS", +"UNUSED_CAPACITY" +], +"enumDescriptions": [ +"Trigger maintenance for all hosts belonging to this reservation irrespective of whether VMs are running on them or not.", +"Internal only", +"Trigger maintenance only on the hosts belonging to this reservation which have VMs running on them.", +"Trigger maintenance only on the hosts belonging to this reservation which do not have any VMs running on them. This is not allowed for Standard ExR" +], +"type": "string" +} +}, +"type": "object" +}, +"ReservationsResizeRequest": { +"id": "ReservationsResizeRequest", +"properties": { +"specificSkuCount": { +"description": "Number of allocated resources can be resized with minimum = 1 and maximum = 1000.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ReservationsScopedList": { +"id": "ReservationsScopedList", +"properties": { +"reservations": { +"description": "A list of reservations contained in this scope.", +"items": { +"$ref": "Reservation" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of reservations when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"ResourceCommitment": { +"description": "Commitment for a particular resource (a Commitment is composed of one or more of these).", +"id": "ResourceCommitment", +"properties": { +"acceleratorType": { +"description": "Name of the accelerator type resource. Applicable only when the type is ACCELERATOR.", +"type": "string" +}, +"amount": { +"description": "The amount of the resource purchased (in a type-dependent unit, such as bytes). For vCPUs, this can just be an integer. For memory, this must be provided in MB. Memory must be a multiple of 256 MB, with up to 6.5GB of memory per every vCPU.", +"format": "int64", +"type": "string" +}, +"type": { +"description": "Type of resource for which this commitment applies. Possible values are VCPU, MEMORY, LOCAL_SSD, and ACCELERATOR.", +"enum": [ +"ACCELERATOR", +"LOCAL_SSD", +"MEMORY", +"UNSPECIFIED", +"VCPU" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"ResourceGroupReference": { +"id": "ResourceGroupReference", +"properties": { +"group": { +"description": "A URI referencing one of the instance groups or network endpoint groups listed in the backend service.", +"type": "string" +} +}, +"type": "object" +}, +"ResourcePoliciesScopedList": { +"id": "ResourcePoliciesScopedList", +"properties": { +"resourcePolicies": { +"description": "A list of resourcePolicies contained in this scope.", +"items": { +"$ref": "ResourcePolicy" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of resourcePolicies when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"ResourcePolicy": { +"description": "Represents a Resource Policy resource. You can use resource policies to schedule actions for some Compute Engine resources. For example, you can use them to schedule persistent disk snapshots.", +"id": "ResourcePolicy", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"type": "string" +}, +"diskConsistencyGroupPolicy": { +"$ref": "ResourcePolicyDiskConsistencyGroupPolicy", +"description": "Resource policy for disk consistency groups." +}, +"groupPlacementPolicy": { +"$ref": "ResourcePolicyGroupPlacementPolicy", +"description": "Resource policy for instances for placement configuration." +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"instanceSchedulePolicy": { +"$ref": "ResourcePolicyInstanceSchedulePolicy", +"description": "Resource policy for scheduling instance operations." +}, +"kind": { +"default": "compute#resourcePolicy", +"description": "[Output Only] Type of the resource. Always compute#resource_policies for resource policies.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.instances.insert" +] +}, +"description": "The name of the resource, provided by the client when initially creating the resource. The resource 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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"region": { +"type": "string" +}, +"resourceStatus": { +"$ref": "ResourcePolicyResourceStatus", +"description": "[Output Only] The system status of the resource policy." +}, +"selfLink": { +"description": "[Output Only] Server-defined fully-qualified URL for this resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource with the resource id.", +"type": "string" +}, +"snapshotSchedulePolicy": { +"$ref": "ResourcePolicySnapshotSchedulePolicy", +"description": "Resource policy for persistent disks for creating snapshots." +}, +"status": { +"description": "[Output Only] The status of resource policy creation.", +"enum": [ +"CREATING", +"DELETING", +"EXPIRED", +"INVALID", +"READY" +], +"enumDescriptions": [ +"Resource policy is being created.", +"Resource policy is being deleted.", +"Resource policy is expired and will not run again.", +"", +"Resource policy is ready to be used." +], +"type": "string" +}, +"vmMaintenancePolicy": { +"$ref": "ResourcePolicyVmMaintenancePolicy", +"description": "Resource policy applicable to VMs for infrastructure maintenance." +}, +"workloadPolicy": { +"$ref": "ResourcePolicyWorkloadPolicy" +} +}, +"type": "object" +}, +"ResourcePolicyAggregatedList": { +"description": "Contains a list of resourcePolicies.", +"id": "ResourcePolicyAggregatedList", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "ResourcePoliciesScopedList", +"description": "Name of the scope containing this set of resourcePolicies." +}, +"description": "A list of ResourcePolicy resources.", +"type": "object" +}, +"kind": { +"default": "compute#resourcePolicyAggregatedList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"ResourcePolicyDailyCycle": { +"description": "Time window specified for daily operations.", +"id": "ResourcePolicyDailyCycle", +"properties": { +"daysInCycle": { +"description": "Defines a schedule with units measured in days. The value determines how many days pass between the start of each cycle.", +"format": "int32", +"type": "integer" +}, +"duration": { +"description": "[Output only] A predetermined duration for the window, automatically chosen to be the smallest possible in the given scenario.", +"type": "string" +}, +"startTime": { +"description": "Start time of the window. This must be in UTC format that resolves to one of 00:00, 04:00, 08:00, 12:00, 16:00, or 20:00. For example, both 13:00-5 and 08:00 are valid.", +"type": "string" +} +}, +"type": "object" +}, +"ResourcePolicyDiskConsistencyGroupPolicy": { +"description": "Resource policy for disk consistency groups.", +"id": "ResourcePolicyDiskConsistencyGroupPolicy", +"properties": {}, +"type": "object" +}, +"ResourcePolicyGroupPlacementPolicy": { +"description": "A GroupPlacementPolicy specifies resource placement configuration. It specifies the failure bucket separation", +"id": "ResourcePolicyGroupPlacementPolicy", +"properties": { +"availabilityDomainCount": { +"description": "The number of availability domains to spread instances across. If two instances are in different availability domain, they are not in the same low latency network.", +"format": "int32", +"type": "integer" +}, +"collocation": { +"description": "Specifies network collocation", +"enum": [ +"CLUSTERED", +"COLLOCATED", +"MAX_SPREAD", +"UNSPECIFIED_COLLOCATION" +], +"enumDescriptions": [ +"Specifies collocation option that provides tight collocation with minimum network latency.", +"", +"Specifies collocation option that provides spreading across clusters.", +"" +], +"type": "string" +}, +"gpuTopology": { +"description": "Specifies the shape of the GPU slice, in slice based GPU families eg. A4X.", +"type": "string" +}, +"maxDistance": { +"description": "Specifies the number of max logical switches.", +"format": "int32", +"type": "integer" +}, +"scope": { +"description": "Scope specifies the availability domain to which the VMs should be spread.", +"enum": [ +"HOST", +"UNSPECIFIED_SCOPE" +], +"enumDescriptions": [ +"Specifies availability domain scope across hosts. VMs will be spread across different hosts.", +"VMs will be spread across different instrastructure to not share power, host and networking." +], +"type": "string" +}, +"sliceCount": { +"description": "Specifies the number of slices in a multislice workload.", +"format": "int32", +"type": "integer" +}, +"tpuTopology": { +"description": "Specifies the shape of the TPU slice", +"type": "string" +}, +"vmCount": { +"description": "Number of VMs in this placement group. Google does not recommend that you use this field unless you use a compact policy and you want your policy to work only if it contains this exact number of VMs.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ResourcePolicyHourlyCycle": { +"description": "Time window specified for hourly operations.", +"id": "ResourcePolicyHourlyCycle", +"properties": { +"duration": { +"description": "[Output only] Duration of the time window, automatically chosen to be smallest possible in the given scenario.", +"type": "string" +}, +"hoursInCycle": { +"description": "Defines a schedule with units measured in hours. The value determines how many hours pass between the start of each cycle.", +"format": "int32", +"type": "integer" +}, +"startTime": { +"description": "Time within the window to start the operations. It must be in format \"HH:MM\", where HH : [00-23] and MM : [00-00] GMT.", +"type": "string" +} +}, +"type": "object" +}, +"ResourcePolicyInstanceSchedulePolicy": { +"description": "An InstanceSchedulePolicy specifies when and how frequent certain operations are performed on the instance.", +"id": "ResourcePolicyInstanceSchedulePolicy", +"properties": { +"expirationTime": { +"description": "The expiration time of the schedule. The timestamp is an RFC3339 string.", +"type": "string" +}, +"startTime": { +"description": "The start time of the schedule. The timestamp is an RFC3339 string.", +"type": "string" +}, +"timeZone": { +"description": "Specifies the time zone to be used in interpreting Schedule.schedule. The value of this field must be a time zone name from the tz database: https://wikipedia.org/wiki/Tz_database.", +"type": "string" +}, +"vmStartSchedule": { +"$ref": "ResourcePolicyInstanceSchedulePolicySchedule", +"description": "Specifies the schedule for starting instances." +}, +"vmStopSchedule": { +"$ref": "ResourcePolicyInstanceSchedulePolicySchedule", +"description": "Specifies the schedule for stopping instances." +} +}, +"type": "object" +}, +"ResourcePolicyInstanceSchedulePolicySchedule": { +"description": "Schedule for an instance operation.", +"id": "ResourcePolicyInstanceSchedulePolicySchedule", +"properties": { +"schedule": { +"description": "Specifies the frequency for the operation, using the unix-cron format.", +"type": "string" +} +}, +"type": "object" +}, +"ResourcePolicyList": { +"id": "ResourcePolicyList", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"type": "string" +}, +"items": { +"description": "[Output Only] A list of ResourcePolicy resources.", +"items": { +"$ref": "ResourcePolicy" +}, +"type": "array" +}, +"kind": { +"default": "compute#resourcePolicyList", +"description": "[Output Only] Type of resource.Always compute#resourcePoliciesList for listsof resourcePolicies", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"ResourcePolicyResourceStatus": { +"description": "Contains output only fields. Use this sub-message for all output fields set on ResourcePolicy. The internal structure of this \"status\" field should mimic the structure of ResourcePolicy proto specification.", +"id": "ResourcePolicyResourceStatus", +"properties": { +"instanceSchedulePolicy": { +"$ref": "ResourcePolicyResourceStatusInstanceSchedulePolicyStatus", +"description": "[Output Only] Specifies a set of output values reffering to the instance_schedule_policy system status. This field should have the same name as corresponding policy field." +} +}, +"type": "object" +}, +"ResourcePolicyResourceStatusInstanceSchedulePolicyStatus": { +"id": "ResourcePolicyResourceStatusInstanceSchedulePolicyStatus", +"properties": { +"lastRunStartTime": { +"description": "[Output Only] The last time the schedule successfully ran. The timestamp is an RFC3339 string.", +"type": "string" +}, +"nextRunStartTime": { +"description": "[Output Only] The next time the schedule is planned to run. The actual time might be slightly different. The timestamp is an RFC3339 string.", +"type": "string" +} +}, +"type": "object" +}, +"ResourcePolicySnapshotSchedulePolicy": { +"description": "A snapshot schedule policy specifies when and how frequently snapshots are to be created for the target disk. Also specifies how many and how long these scheduled snapshots should be retained.", +"id": "ResourcePolicySnapshotSchedulePolicy", +"properties": { +"retentionPolicy": { +"$ref": "ResourcePolicySnapshotSchedulePolicyRetentionPolicy", +"description": "Retention policy applied to snapshots created by this resource policy." +}, +"schedule": { +"$ref": "ResourcePolicySnapshotSchedulePolicySchedule", +"description": "A Vm Maintenance Policy specifies what kind of infrastructure maintenance we are allowed to perform on this VM and when. Schedule that is applied to disks covered by this policy." +}, +"snapshotProperties": { +"$ref": "ResourcePolicySnapshotSchedulePolicySnapshotProperties", +"description": "Properties with which snapshots are created such as labels, encryption keys." +} +}, +"type": "object" +}, +"ResourcePolicySnapshotSchedulePolicyRetentionPolicy": { +"description": "Policy for retention of scheduled snapshots.", +"id": "ResourcePolicySnapshotSchedulePolicyRetentionPolicy", +"properties": { +"maxRetentionDays": { +"description": "Maximum age of the snapshot that is allowed to be kept.", +"format": "int32", +"type": "integer" +}, +"onPolicySwitch": { +"deprecated": true, +"enum": [ +"DO_NOT_RETROACTIVELY_APPLY", +"RETROACTIVELY_APPLY", +"UNSPECIFIED_ON_POLICY_SWITCH" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"onSourceDiskDelete": { +"description": "Specifies the behavior to apply to scheduled snapshots when the source disk is deleted.", +"enum": [ +"APPLY_RETENTION_POLICY", +"KEEP_AUTO_SNAPSHOTS", +"UNSPECIFIED_ON_SOURCE_DISK_DELETE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"ResourcePolicySnapshotSchedulePolicySchedule": { +"description": "A schedule for disks where the schedueled operations are performed.", +"id": "ResourcePolicySnapshotSchedulePolicySchedule", +"properties": { +"dailySchedule": { +"$ref": "ResourcePolicyDailyCycle" +}, +"hourlySchedule": { +"$ref": "ResourcePolicyHourlyCycle" +}, +"weeklySchedule": { +"$ref": "ResourcePolicyWeeklyCycle" +} +}, +"type": "object" +}, +"ResourcePolicySnapshotSchedulePolicySnapshotProperties": { +"description": "Specified snapshot properties for scheduled snapshots created by this policy.", +"id": "ResourcePolicySnapshotSchedulePolicySnapshotProperties", +"properties": { +"chainName": { +"description": "Chain name that the snapshot is created in.", +"type": "string" +}, +"guestFlush": { +"description": "Indication to perform a 'guest aware' snapshot.", +"type": "boolean" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to scheduled snapshots. These can be later modified by the setLabels method. Label values may be empty.", +"type": "object" +}, +"storageLocations": { +"description": "Cloud Storage bucket storage location of the auto snapshot (regional or multi-regional).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ResourcePolicyVmMaintenancePolicy": { +"id": "ResourcePolicyVmMaintenancePolicy", +"properties": { +"concurrencyControlGroup": { +"$ref": "ResourcePolicyVmMaintenancePolicyConcurrencyControl" +}, +"maintenanceWindow": { +"$ref": "ResourcePolicyVmMaintenancePolicyMaintenanceWindow", +"description": "Maintenance windows that are applied to VMs covered by this policy." +} +}, +"type": "object" +}, +"ResourcePolicyVmMaintenancePolicyConcurrencyControl": { +"description": "A concurrency control configuration. Defines a group config that, when attached to an instance, recognizes that instance as part of a group of instances where only up the concurrency_limit of instances in that group can undergo simultaneous maintenance. For more information: go/concurrency-control-design-doc", +"id": "ResourcePolicyVmMaintenancePolicyConcurrencyControl", +"properties": { +"concurrencyLimit": { +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ResourcePolicyVmMaintenancePolicyMaintenanceWindow": { +"description": "A maintenance window for VMs. When set, we restrict our maintenance operations to this window.", +"id": "ResourcePolicyVmMaintenancePolicyMaintenanceWindow", +"properties": { +"dailyMaintenanceWindow": { +"$ref": "ResourcePolicyDailyCycle" +} +}, +"type": "object" +}, +"ResourcePolicyWeeklyCycle": { +"description": "Time window specified for weekly operations.", +"id": "ResourcePolicyWeeklyCycle", +"properties": { +"dayOfWeeks": { +"description": "Up to 7 intervals/windows, one for each day of the week.", +"items": { +"$ref": "ResourcePolicyWeeklyCycleDayOfWeek" +}, +"type": "array" +} +}, +"type": "object" +}, +"ResourcePolicyWeeklyCycleDayOfWeek": { +"id": "ResourcePolicyWeeklyCycleDayOfWeek", +"properties": { +"day": { +"description": "Defines a schedule that runs on specific days of the week. Specify one or more days. The following options are available: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.", +"enum": [ +"FRIDAY", +"INVALID", +"MONDAY", +"SATURDAY", +"SUNDAY", +"THURSDAY", +"TUESDAY", +"WEDNESDAY" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"duration": { +"description": "[Output only] Duration of the time window, automatically chosen to be smallest possible in the given scenario.", +"type": "string" +}, +"startTime": { +"description": "Time within the window to start the operations. It must be in format \"HH:MM\", where HH : [00-23] and MM : [00-00] GMT.", +"type": "string" +} +}, +"type": "object" +}, +"ResourcePolicyWorkloadPolicy": { +"description": "Represents the workload policy.", +"id": "ResourcePolicyWorkloadPolicy", +"properties": { +"type": { +"enum": [ +"HIGH_AVAILABILITY", +"HIGH_THROUGHPUT" +], +"enumDescriptions": [ +"VMs will be provisioned in such a way which provides high availability.", +"VMs will be provisioned in such a way which provides high throughput." +], +"type": "string" +} +}, +"type": "object" +}, +"ResourceStatus": { +"description": "Contains output only fields. Use this sub-message for actual values set on Instance attributes as compared to the value requested by the user (intent) in their instance CRUD calls.", +"id": "ResourceStatus", +"properties": { +"acceleratorStatus": { +"description": "[Output Only] Accelerators status show results of GPU scans. These scans are specialized diagnostic tests designed to uncover latent manufacturing defects or other issues that could potentially lead to data corruption or impede the customer's ability to efficiently execute GPU workloads.", +"items": { +"$ref": "ResourceStatusAcceleratorStatus" +}, +"type": "array" +}, +"lastInstanceTerminationDetails": { +"$ref": "ResourceStatusLastInstanceTerminationDetails", +"description": "[Output Only] Contains last termination details why the instance was terminated." +}, +"physicalHost": { +"description": "[Output Only] The precise location of your instance within the zone's data center, including the block, sub-block, and host. The field is formatted as follows: blockId/subBlockId/hostId.", +"type": "string" +}, +"physicalHostTopology": { +"$ref": "ResourceStatusPhysicalHostTopology", +"description": "[Output Only] A series of fields containing the global name of the Compute Engine cluster, as well as the ID of the block, sub-block, and host on which the running instance is located." +}, +"scheduling": { +"$ref": "ResourceStatusScheduling" +}, +"serviceIntegrationStatuses": { +"additionalProperties": { +"$ref": "ResourceStatusServiceIntegrationStatus" +}, +"description": "[Output Only] Represents the status of the service integration specs defined by the user in instance.serviceIntegrationSpecs.", +"type": "object" +}, +"shutdownDetails": { +"$ref": "ResourceStatusShutdownDetails", +"description": "[Output Only] Details about the instance stopping state." +}, +"upcomingMaintenance": { +"$ref": "UpcomingMaintenance" +} +}, +"type": "object" +}, +"ResourceStatusAcceleratorStatus": { +"description": "The status of an individual accelerator resource.", +"id": "ResourceStatusAcceleratorStatus", +"properties": { +"passedScans": { +"description": "The details of scans that passed for an accelerator.", +"items": { +"$ref": "ResourceStatusAcceleratorStatusPassedScan" +}, +"type": "array" +}, +"recommendedScans": { +"description": "The details of recommended scans for an accelerator.", +"items": { +"$ref": "ResourceStatusAcceleratorStatusRecommendedScan" +}, +"type": "array" +}, +"serialNumber": { +"description": "The serial number of the accelerator.", +"type": "string" +}, +"uuid": { +"description": "The UUID of the accelerator.", +"type": "string" +} +}, +"type": "object" +}, +"ResourceStatusAcceleratorStatusPassedScan": { +"id": "ResourceStatusAcceleratorStatusPassedScan", +"properties": { +"endTime": { +"description": "The end time of the passed scan in RFC3339 text format.", +"type": "string" +}, +"name": { +"type": "string" +}, +"startTime": { +"description": "The start time of the passed scan in RFC3339 text format.", +"type": "string" +}, +"version": { +"type": "string" +} +}, +"type": "object" +}, +"ResourceStatusAcceleratorStatusRecommendedScan": { +"id": "ResourceStatusAcceleratorStatusRecommendedScan", +"properties": { +"estimatedDuration": { +"$ref": "Duration" +}, +"name": { +"type": "string" +}, +"version": { +"type": "string" +} +}, +"type": "object" +}, +"ResourceStatusLastInstanceTerminationDetails": { +"id": "ResourceStatusLastInstanceTerminationDetails", +"properties": { +"terminationReason": { +"description": "Reason for termination", +"enum": [ +"BAD_BILLING_ACCOUNT", +"CLOUD_ABUSE_DETECTED", +"DISK_ERROR", +"FREE_TRIAL_EXPIRED", +"INSTANCE_UPDATE_REQUIRED_RESTART", +"INTERNAL_ERROR", +"KMS_REJECTION", +"MANAGED_INSTANCE_GROUP", +"OS_TERMINATED", +"PREEMPTED", +"SCHEDULED_STOP", +"SHUTDOWN_DUE_TO_HOST_ERROR", +"SHUTDOWN_DUE_TO_MAINTENANCE", +"USER_TERMINATED" +], +"enumDescriptions": [ +"Terminated due to bad billing", +"Terminated by Cloud Abuse team", +"Terminated due to disk errors", +"Terminated due to free trial expired", +"Instance.update initiated which required RESTART", +"Terminated due to internal error", +"Terminated due to Key Management Service (KMS) key failure.", +"Terminated by managed instance group", +"Terminated from the OS level", +"Terminated due to preemption", +"Terminated due to scheduled stop", +"Terminated due to host error", +"Terminated due to maintenance", +"Terminated by user" +], +"type": "string" +} +}, +"type": "object" +}, +"ResourceStatusPhysicalHostTopology": { +"description": "Represents the physical host topology of the host on which the VM is running.", +"id": "ResourceStatusPhysicalHostTopology", +"properties": { +"block": { +"description": "[Output Only] The ID of the block in which the running instance is located. Instances within the same block experience low network latency.", +"type": "string" +}, +"cluster": { +"description": "[Output Only] The global name of the Compute Engine cluster where the running instance is located.", +"type": "string" +}, +"host": { +"description": "[Output Only] The ID of the host on which the running instance is located. Instances on the same host experience the lowest possible network latency.", +"type": "string" +}, +"subblock": { +"description": "[Output Only] The ID of the sub-block in which the running instance is located. Instances in the same sub-block experience lower network latency than instances in the same block.", +"type": "string" +} +}, +"type": "object" +}, +"ResourceStatusScheduling": { +"id": "ResourceStatusScheduling", +"properties": { +"availabilityDomain": { +"description": "Specifies the availability domain to place the instance in. The value must be a number between 1 and the number of availability domains specified in the spread placement policy attached to the instance.", +"format": "int32", +"type": "integer" +}, +"terminationTimestamp": { +"description": "Time in future when the instance will be terminated in RFC3339 text format.", +"type": "string" +} +}, +"type": "object" +}, +"ResourceStatusServiceIntegrationStatus": { +"description": "Represents the status of integration between instance and another service. See go/gce-backupdr-design for more details.", +"id": "ResourceStatusServiceIntegrationStatus", +"properties": { +"backupDr": { +"$ref": "ResourceStatusServiceIntegrationStatusBackupDRStatus" +} +}, +"type": "object" +}, +"ResourceStatusServiceIntegrationStatusBackupDRStatus": { +"description": "Message defining compute perspective of the result of integration with Backup and DR. FAILED status indicates that the operation specified did not complete correctly and should be retried with the same value.", +"id": "ResourceStatusServiceIntegrationStatusBackupDRStatus", +"properties": { +"integrationDetails": { +"description": "The PlanReference object created by Backup and DR to maintain the actual status of backups. May still be present if removing the backup plan fails.", +"type": "string" +}, +"state": { +"description": "Enum representing the registration state of a Backup and DR backup plan for the instance.", +"enum": [ +"ACTIVE", +"CREATING", +"DELETING", +"FAILED", +"STATE_UNSPECIFIED" +], +"enumDescriptions": [ +"The operation was successful and Backup and DR is trying to protect the instance with the specified backup plan. Check resource pointed to in integration_details for more information.", +"GCE is trying to attach the backup plan to the instance.", +"GCE is trying to remove the backup plan from the instance.", +"The operation failed, specifying the same value in BackupDrSpec.plan again (including null for delete) will attempt to repair the integration", +"Default value, should not be found on instances." +], +"type": "string" +} +}, +"type": "object" +}, +"ResourceStatusShutdownDetails": { +"description": "Specifies if the instance is in `PENDING_STOP` state or there is a programmed stop scheduled.", +"id": "ResourceStatusShutdownDetails", +"properties": { +"maxDuration": { +"$ref": "Duration", +"description": "The duration for graceful shutdown. Only applicable when `stop_state=PENDING_STOP`." +}, +"requestTimestamp": { +"description": "Past timestamp indicating the beginning of current `stopState` in RFC3339 text format.", +"type": "string" +}, +"stopState": { +"description": "Current stopping state of the instance.", +"enum": [ +"PENDING_STOP", +"STOPPING" +], +"enumDescriptions": [ +"The instance is gracefully shutting down.", +"The instance is stopping." +], +"type": "string" +}, +"targetState": { +"description": "Target instance state.", +"enum": [ +"DELETED", +"STOPPED" +], +"enumDescriptions": [ +"The instance will be deleted.", +"The instance will be stopped." +], +"type": "string" +} +}, +"type": "object" +}, +"RolloutPolicy": { +"description": "A rollout policy configuration.", +"id": "RolloutPolicy", +"properties": { +"defaultRolloutTime": { +"description": "An optional RFC3339 timestamp on or after which the update is considered rolled out to any zone that is not explicitly stated.", +"type": "string" +}, +"locationRolloutPolicies": { +"additionalProperties": { +"type": "string" +}, +"description": "Location based rollout policies to apply to the resource. Currently only zone names are supported and must be represented as valid URLs, like: zones/us-central1-a. The value expects an RFC3339 timestamp on or after which the update is considered rolled out to the specified location.", +"type": "object" +} +}, +"type": "object" +}, +"Route": { +"description": "Represents a Route resource. A route defines a path from VM instances in the VPC network to a specific destination. This destination can be inside or outside the VPC network. For more information, read the Routes overview.", +"id": "Route", +"properties": { +"allowConflictingSubnetworks": { +"description": "Whether this route can conflict with existing subnetworks. Setting this to true allows this route to conflict with subnetworks that have already been configured on the corresponding network.", +"type": "boolean" +}, +"asPaths": { +"description": "[Output Only] AS path.", +"items": { +"$ref": "RouteAsPath" +}, +"type": "array" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this field when you create the resource.", +"type": "string" +}, +"destRange": { +"annotations": { +"required": [ +"compute.routes.insert" +] +}, +"description": "The destination range of outgoing packets that this route applies to. Both IPv4 and IPv6 are supported. Must specify an IPv4 range (e.g. 192.0.2.0/24) or an IPv6 range in RFC 4291 format (e.g. 2001:db8::/32). IPv6 range will be displayed using RFC 5952 compressed format.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"ilbRouteBehaviorOnUnhealthy": { +"description": "ILB route behavior when ILB is deemed unhealthy based on user specified threshold on the Backend Service of the internal load balancing.", +"enum": [ +"DO_NOT_WITHDRAW_ROUTE_IF_ILB_UNHEALTHY", +"WITHDRAW_ROUTE_IF_ILB_UNHEALTHY" +], +"enumDescriptions": [ +"Do not Withdraw route if the ILB is deemed unhealthy based on user specified threshold on the Backend Service of the ILB. This is default behavior for ilb as next hop route without IlbRouteBehavior.", +"Withdraw route if the ILB is deemed unhealthy based on user specified threshold on the Backend Service of the internal load balancing. Currently the withdrawn route will be reinserted when the backends are restored to healthy. If you wish to prevent the re-insertion of the route and trigger the fall-back at your discretion, override the health result from the backends to signal as healthy only when ready to fallback." +], +"type": "string" +}, +"kind": { +"default": "compute#route", +"description": "[Output Only] Type of this resource. Always compute#routes for Route resources.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.routes.insert" +] +}, +"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])?`. The first character must be a lowercase letter, and all following characters (except for the last character) must be a dash, lowercase letter, or digit. The last character must be a lowercase letter or digit.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"network": { +"annotations": { +"required": [ +"compute.routes.insert" +] +}, +"description": "Fully-qualified URL of the network that this route applies to.", +"type": "string" +}, +"nextHopGateway": { +"description": "The URL to a gateway that should handle matching packets. You can only specify the internet gateway using a full or partial valid URL: projects/ project/global/gateways/default-internet-gateway", +"type": "string" +}, +"nextHopHub": { +"description": "[Output Only] The full resource name of the Network Connectivity Center hub that will handle matching packets.", +"type": "string" +}, +"nextHopIlb": { +"description": "The URL to a forwarding rule of type loadBalancingScheme=INTERNAL that should handle matching packets or the IP address of the forwarding Rule. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/regions/region /forwardingRules/forwardingRule - regions/region/forwardingRules/forwardingRule If an IP address is provided, must specify an IPv4 address in dot-decimal notation or an IPv6 address in RFC 4291 format. For example, the following are all valid IP addresses: - 10.128.0.56 - 2001:db8::2d9:51:0:0 - 2001:db8:0:0:2d9:51:0:0 IPv6 addresses will be displayed using RFC 5952 compressed format (e.g. 2001:db8::2d9:51:0:0). Should never be an IPv4-mapped IPv6 address.", +"type": "string" +}, +"nextHopInstance": { +"description": "The URL to an instance that should handle matching packets. You can specify this as a full or partial URL. For example: https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/", +"type": "string" +}, +"nextHopInterRegionCost": { +"description": "[Output only] Internal fixed region-to-region cost that Google Cloud calculates based on factors such as network performance, distance, and available bandwidth between regions.", +"format": "uint32", +"type": "integer" +}, +"nextHopInterconnectAttachment": { +"description": "[Output Only] The URL to an InterconnectAttachment which is the next hop for the route. This field will only be populated for the dynamic routes generated by Cloud Router with a linked interconnectAttachment.", +"type": "string" +}, +"nextHopIp": { +"description": "The network IP address of an instance that should handle matching packets. Both IPv6 address and IPv4 addresses are supported. Must specify an IPv4 address in dot-decimal notation (e.g. 192.0.2.99) or an IPv6 address in RFC 4291 format (e.g. 2001:db8::2d9:51:0:0 or 2001:db8:0:0:2d9:51:0:0). IPv6 addresses will be displayed using RFC 5952 compressed format (e.g. 2001:db8::2d9:51:0:0). Should never be an IPv4-mapped IPv6 address.", +"type": "string" +}, +"nextHopMed": { +"description": "[Output Only] Multi-Exit Discriminator, a BGP route metric that indicates the desirability of a particular route in a network.", +"format": "uint32", +"type": "integer" +}, +"nextHopNetwork": { +"description": "The URL of the local network if it should handle matching packets.", +"type": "string" +}, +"nextHopOrigin": { +"description": "[Output Only] Indicates the origin of the route. Can be IGP (Interior Gateway Protocol), EGP (Exterior Gateway Protocol), or INCOMPLETE.", +"enum": [ +"EGP", +"IGP", +"INCOMPLETE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"nextHopPeering": { +"description": "[Output Only] The network peering name that should handle matching packets, which should conform to RFC1035.", +"type": "string" +}, +"nextHopVpnTunnel": { +"description": "The URL to a VpnTunnel that should handle matching packets.", +"type": "string" +}, +"priority": { +"annotations": { +"required": [ +"compute.routes.insert" +] +}, +"description": "The priority of this route. Priority is used to break ties in cases where there is more than one matching route of equal prefix length. In cases where multiple routes have equal prefix length, the one with the lowest-numbered priority value wins. The default value is `1000`. The priority value must be from `0` to `65535`, inclusive.", +"format": "uint32", +"type": "integer" +}, +"routeStatus": { +"description": "[Output only] The status of the route.", +"enum": [ +"ACTIVE", +"DROPPED", +"INACTIVE", +"PENDING" +], +"enumDescriptions": [ +"This route is processed and active.", +"The route is dropped due to the VPC exceeding the dynamic route limit. For dynamic route limit, please refer to the Learned route example", +"This route is processed but inactive due to failure from the backend. The backend may have rejected the route", +"This route is being processed internally. The status will change once processed." +], +"type": "string" +}, +"routeType": { +"description": "[Output Only] The type of this route, which can be one of the following values: - 'TRANSIT' for a transit route that this router learned from another Cloud Router and will readvertise to one of its BGP peers - 'SUBNET' for a route from a subnet of the VPC - 'BGP' for a route learned from a BGP peer of this router - 'STATIC' for a static route", +"enum": [ +"BGP", +"STATIC", +"SUBNET", +"TRANSIT" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined fully-qualified URL for this resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource with the resource id.", +"type": "string" +}, +"tags": { +"annotations": { +"required": [ +"compute.routes.insert" +] +}, +"description": "A list of instance tags to which this route applies.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warnings": { +"description": "[Output Only] If potential misconfigurations are detected for this route, this field will be populated with warning messages.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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" +}, +"RouteAsPath": { +"id": "RouteAsPath", +"properties": { +"asLists": { +"description": "[Output Only] The AS numbers of the AS Path.", +"items": { +"format": "uint32", +"type": "integer" +}, +"type": "array" +}, +"pathSegmentType": { +"description": "[Output Only] The type of the AS Path, which can be one of the following values: - 'AS_SET': unordered set of autonomous systems that the route in has traversed - 'AS_SEQUENCE': ordered set of autonomous systems that the route has traversed - 'AS_CONFED_SEQUENCE': ordered set of Member Autonomous Systems in the local confederation that the route has traversed - 'AS_CONFED_SET': unordered set of Member Autonomous Systems in the local confederation that the route has traversed ", +"enum": [ +"AS_CONFED_SEQUENCE", +"AS_CONFED_SET", +"AS_SEQUENCE", +"AS_SET" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"RouteList": { +"description": "Contains a list of Route resources.", +"id": "RouteList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Route resources.", +"items": { +"$ref": "Route" +}, +"type": "array" +}, +"kind": { +"default": "compute#routeList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"RoutePolicy": { +"id": "RoutePolicy", +"properties": { +"description": { +"description": "An optional description of route policy.", +"type": "string" +}, +"fingerprint": { +"description": "A fingerprint for the Route Policy being applied to this Router, which is essentially a hash of the Route Policy used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update Route Policy. You must always provide an up-to-date fingerprint hash in order to update or change labels. To see the latest fingerprint, make a getRoutePolicy() request to retrieve a Route Policy.", +"format": "byte", +"type": "string" +}, +"name": { +"description": "Route Policy name, which must be a resource ID segment and unique within all the router's Route Policies. Name should conform to RFC1035.", +"type": "string" +}, +"terms": { +"description": "List of terms (the order in the list is not important, they are evaluated in order of priority). Order of policies is not retained and might change when getting policy later.", +"items": { +"$ref": "RoutePolicyPolicyTerm" +}, +"type": "array" +}, +"type": { +"enum": [ +"ROUTE_POLICY_TYPE_EXPORT", +"ROUTE_POLICY_TYPE_IMPORT" +], +"enumDescriptions": [ +"The Route Policy is an Export Policy.", +"The Route Policy is an Import Policy." +], +"type": "string" +} +}, +"type": "object" +}, +"RoutePolicyPolicyTerm": { +"id": "RoutePolicyPolicyTerm", +"properties": { +"actions": { +"description": "CEL expressions to evaluate to modify a route when this term matches.", +"items": { +"$ref": "Expr" +}, +"type": "array" +}, +"match": { +"$ref": "Expr", +"description": "CEL expression evaluated against a route to determine if this term applies. When not set, the term applies to all routes." +}, +"priority": { +"description": "The evaluation priority for this term, which must be between 0 (inclusive) and 2^31 (exclusive), and unique within the list.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Router": { +"description": "Represents a Cloud Router resource. For more information about Cloud Router, read the Cloud Router overview.", +"id": "Router", +"properties": { +"bgp": { +"$ref": "RouterBgp", +"description": "BGP information specific to this router." +}, +"bgpPeers": { +"description": "BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer to RFC4273.", +"items": { +"$ref": "RouterBgpPeer" +}, +"type": "array" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"encryptedInterconnectRouter": { +"description": "Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments).", +"type": "boolean" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"interfaces": { +"description": "Router interfaces. To create a BGP peer that uses a router interface, the interface must have one of the following fields specified: - linkedVpnTunnel - linkedInterconnectAttachment - subnetwork You can create a router interface without any of these fields specified. However, you cannot create a BGP peer that uses that interface.", +"items": { +"$ref": "RouterInterface" +}, +"type": "array" +}, +"kind": { +"default": "compute#router", +"description": "[Output Only] Type of resource. Always compute#router for routers.", +"type": "string" +}, +"md5AuthenticationKeys": { +"description": "Keys used for MD5 authentication.", +"items": { +"$ref": "RouterMd5AuthenticationKey" +}, +"type": "array" +}, +"name": { +"annotations": { +"required": [ +"compute.routers.insert" +] +}, +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"nats": { +"description": "A list of NAT services created in this router.", +"items": { +"$ref": "RouterNat" +}, +"type": "array" +}, +"nccGateway": { +"description": "URI of the ncc_gateway to which this router associated.", +"type": "string" +}, +"network": { +"annotations": { +"required": [ +"compute.routers.insert", +"compute.routers.update" +] +}, +"description": "URI of the network to which this router belongs.", +"type": "string" +}, +"region": { +"description": "[Output Only] URI of the region where the router resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"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" +} +}, +"type": "object" +}, +"RouterAdvertisedIpRange": { +"description": "Description-tagged IP ranges for the router to advertise.", +"id": "RouterAdvertisedIpRange", +"properties": { +"description": { +"description": "User-specified description for the IP range.", +"type": "string" +}, +"range": { +"description": "The IP range to advertise. The value must be a CIDR-formatted string.", +"type": "string" +} +}, +"type": "object" +}, +"RouterAggregatedList": { +"description": "Contains a list of routers.", +"id": "RouterAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "RoutersScopedList", +"description": "Name of the scope containing this set of routers." +}, +"description": "A list of Router resources.", +"type": "object" +}, +"kind": { +"default": "compute#routerAggregatedList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"RouterBgp": { +"id": "RouterBgp", +"properties": { +"advertiseMode": { +"description": "User-specified flag to indicate which mode to use for advertisement. The options are DEFAULT or CUSTOM.", +"enum": [ +"CUSTOM", +"DEFAULT" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"advertisedGroups": { +"description": "User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These groups will be advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.", +"items": { +"enum": [ +"ALL_PEER_VPC_SUBNETS", +"ALL_SUBNETS", +"ALL_VPC_SUBNETS" +], +"enumDescriptions": [ +"Advertise peer subnets of the router's VPC.", +"Advertise all available subnets (including peer VPC subnets).", +"Advertise the router's own VPC subnets." +], +"type": "string" +}, +"type": "array" +}, +"advertisedIpRanges": { +"description": "User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These IP ranges will be advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.", +"items": { +"$ref": "RouterAdvertisedIpRange" +}, +"type": "array" +}, +"asn": { +"description": "Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN, either 16-bit or 32-bit. The value will be fixed for this router resource. All VPN tunnels that link to this router will have the same local ASN.", +"format": "uint32", +"type": "integer" +}, +"identifierRange": { +"description": "Explicitly specifies a range of valid BGP Identifiers for this Router. It is provided as a link-local IPv4 range (from 169.254.0.0/16), of size at least /30, even if the BGP sessions are over IPv6. It must not overlap with any IPv4 BGP session ranges. Other vendors commonly call this \"router ID\".", +"type": "string" +}, +"keepaliveInterval": { +"description": "The interval in seconds between BGP keepalive messages that are sent to the peer. Hold time is three times the interval at which keepalive messages are sent, and the hold time is the maximum number of seconds allowed to elapse between successive keepalive messages that BGP receives from a peer. BGP will use the smaller of either the local hold time value or the peer's hold time value as the hold time for the BGP connection between the two peers. If set, this value must be between 20 and 60. The default is 20.", +"format": "uint32", +"type": "integer" +} +}, +"type": "object" +}, +"RouterBgpPeer": { +"id": "RouterBgpPeer", +"properties": { +"advertiseMode": { +"description": "User-specified flag to indicate which mode to use for advertisement.", +"enum": [ +"CUSTOM", +"DEFAULT" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"advertisedGroups": { +"description": "User-specified list of prefix groups to advertise in custom mode, which currently supports the following option: - ALL_SUBNETS: Advertises all of the router's own VPC subnets. This excludes any routes learned for subnets that use VPC Network Peering. Note that this field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the \"bgp\" message). These groups are advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.", +"items": { +"enum": [ +"ALL_PEER_VPC_SUBNETS", +"ALL_SUBNETS", +"ALL_VPC_SUBNETS" +], +"enumDescriptions": [ +"Advertise peer subnets of the router's VPC.", +"Advertise all available subnets (including peer VPC subnets).", +"Advertise the router's own VPC subnets." +], +"type": "string" +}, +"type": "array" +}, +"advertisedIpRanges": { +"description": "User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the \"bgp\" message). These IP ranges are advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.", +"items": { +"$ref": "RouterAdvertisedIpRange" +}, +"type": "array" +}, +"advertisedRoutePriority": { +"description": "The priority of routes advertised to this BGP peer. Where there is more than one matching route of maximum length, the routes with the lowest priority value win.", +"format": "uint32", +"type": "integer" +}, +"bfd": { +"$ref": "RouterBgpPeerBfd", +"description": "BFD configuration for the BGP peering." +}, +"customLearnedIpRanges": { +"description": "A list of user-defined custom learned route IP address ranges for a BGP session.", +"items": { +"$ref": "RouterBgpPeerCustomLearnedIpRange" +}, +"type": "array" +}, +"customLearnedRoutePriority": { +"description": "The user-defined custom learned route priority for a BGP session. This value is applied to all custom learned route ranges for the session. You can choose a value from `0` to `65335`. If you don't provide a value, Google Cloud assigns a priority of `100` to the ranges.", +"format": "int32", +"type": "integer" +}, +"enable": { +"description": "The status of the BGP peer connection. If set to FALSE, any active session with the peer is terminated and all associated routing information is removed. If set to TRUE, the peer connection can be established with routing information. The default is TRUE.", +"enum": [ +"FALSE", +"TRUE" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"enableIpv4": { +"description": "Enable IPv4 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 4.", +"type": "boolean" +}, +"enableIpv6": { +"description": "Enable IPv6 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 6.", +"type": "boolean" +}, +"exportPolicies": { +"description": "List of export policies applied to this peer, in the order they must be evaluated. The name must correspond to an existing policy that has ROUTE_POLICY_TYPE_EXPORT type. Note that Route Policies are currently available in preview. Please use Beta API to use Route Policies.", +"items": { +"type": "string" +}, +"type": "array" +}, +"importPolicies": { +"description": "List of import policies applied to this peer, in the order they must be evaluated. The name must correspond to an existing policy that has ROUTE_POLICY_TYPE_IMPORT type. Note that Route Policies are currently available in preview. Please use Beta API to use Route Policies.", +"items": { +"type": "string" +}, +"type": "array" +}, +"interfaceName": { +"description": "Name of the interface the BGP peer is associated with.", +"type": "string" +}, +"ipAddress": { +"description": "IP address of the interface inside Google Cloud Platform.", +"type": "string" +}, +"ipv4NexthopAddress": { +"description": "IPv4 address of the interface inside Google Cloud Platform.", +"type": "string" +}, +"ipv6NexthopAddress": { +"description": "IPv6 address of the interface inside Google Cloud Platform.", +"type": "string" +}, +"managementType": { +"description": "[Output Only] The resource that configures and manages this BGP peer. - MANAGED_BY_USER is the default value and can be managed by you or other users - MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud Interconnect, specifically by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of BGP peer when the PARTNER InterconnectAttachment is created, updated, or deleted. ", +"enum": [ +"MANAGED_BY_ATTACHMENT", +"MANAGED_BY_USER" +], +"enumDescriptions": [ +"The BGP peer is automatically created for PARTNER type InterconnectAttachment; Google will automatically create/delete this BGP peer when the PARTNER InterconnectAttachment is created/deleted, and Google will update the ipAddress and peerIpAddress when the PARTNER InterconnectAttachment is provisioned. This type of BGP peer cannot be created or deleted, but can be modified for all fields except for name, ipAddress and peerIpAddress.", +"Default value, the BGP peer is manually created and managed by user." +], +"type": "string" +}, +"md5AuthenticationKeyName": { +"description": "Present if MD5 authentication is enabled for the peering. Must be the name of one of the entries in the Router.md5_authentication_keys. The field must comply with RFC1035.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.routers.insert" +] +}, +"description": "Name of this BGP peer. 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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"peerAsn": { +"annotations": { +"required": [ +"compute.routers.insert" +] +}, +"description": "Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value.", +"format": "uint32", +"type": "integer" +}, +"peerIpAddress": { +"description": "IP address of the BGP interface outside Google Cloud Platform.", +"type": "string" +}, +"peerIpv4NexthopAddress": { +"description": "IPv4 address of the BGP interface outside Google Cloud Platform.", +"type": "string" +}, +"peerIpv6NexthopAddress": { +"description": "IPv6 address of the BGP interface outside Google Cloud Platform.", +"type": "string" +}, +"routerApplianceInstance": { +"description": "URI of the VM instance that is used as third-party router appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance must be located in zones contained in the same region as this Cloud Router. The VM instance is the peer side of the BGP session.", +"type": "string" +} +}, +"type": "object" +}, +"RouterBgpPeerBfd": { +"id": "RouterBgpPeerBfd", +"properties": { +"minReceiveInterval": { +"description": "The minimum interval, in milliseconds, between BFD control packets received from the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the transmit interval of the other router. If set, this value must be between 1000 and 30000. The default is 1000.", +"format": "uint32", +"type": "integer" +}, +"minTransmitInterval": { +"description": "The minimum interval, in milliseconds, between BFD control packets transmitted to the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the corresponding receive interval of the other router. If set, this value must be between 1000 and 30000. The default is 1000.", +"format": "uint32", +"type": "integer" +}, +"mode": { +"description": "The BFD session initialization mode for this BGP peer. If set to ACTIVE, the Cloud Router will initiate the BFD session for this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP peer. The default is PASSIVE.", +"enum": [ +"ACTIVE", +"DISABLED", +"PASSIVE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"multiplier": { +"description": "The number of consecutive BFD packets that must be missed before BFD declares that a peer is unavailable. If set, the value must be a value between 5 and 16. The default is 5.", +"format": "uint32", +"type": "integer" +}, +"packetMode": { +"description": "The BFD packet mode for this BGP peer. If set to CONTROL_AND_ECHO, BFD echo mode is enabled for this BGP peer. In this mode, if the peer router also has BFD echo mode enabled, BFD echo packets will be sent to the other router. If the peer router does not have BFD echo mode enabled, only control packets will be sent. If set to CONTROL_ONLY, BFD echo mode is disabled for this BGP peer. If this router and the peer router have a multihop connection, this should be set to CONTROL_ONLY as BFD echo mode is only supported on singlehop connections. The default is CONTROL_AND_ECHO.", +"enum": [ +"CONTROL_AND_ECHO", +"CONTROL_ONLY" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"sessionInitializationMode": { +"description": "The BFD session initialization mode for this BGP peer. If set to ACTIVE, the Cloud Router will initiate the BFD session for this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP peer. The default is DISABLED.", +"enum": [ +"ACTIVE", +"DISABLED", +"PASSIVE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"slowTimerInterval": { +"description": "The minimum interval, in milliseconds, between BFD control packets transmitted to and received from the peer router when BFD echo mode is enabled on both routers. The actual transmit and receive intervals are negotiated between the two routers and are equal to the greater of this value and the corresponding interval on the other router. If set, this value must be between 1000 and 30000. The default is 5000.", +"format": "uint32", +"type": "integer" +} +}, +"type": "object" +}, +"RouterBgpPeerCustomLearnedIpRange": { +"id": "RouterBgpPeerCustomLearnedIpRange", +"properties": { +"range": { +"description": "The custom learned route IP address range. Must be a valid CIDR-formatted prefix. If an IP address is provided without a subnet mask, it is interpreted as, for IPv4, a `/32` singular IP address range, and, for IPv6, `/128`.", +"type": "string" +} +}, +"type": "object" +}, +"RouterInterface": { +"id": "RouterInterface", +"properties": { +"ipRange": { +"description": "IP address and range of the interface. - For Internet Protocol version 4 (IPv4), the IP range must be in the RFC3927 link-local IP address space. The value must be a CIDR-formatted string, for example, 169.254.0.1/30. Note: Do not truncate the IP address, as it represents the IP address of the interface. - For Internet Protocol version 6 (IPv6), the value must be a unique local address (ULA) range from fdff:1::/64 with a mask length of 126 or less. This value should be a CIDR-formatted string, for example, fc00:0:1:1::1/112. Within the router's VPC, this IPv6 prefix will be reserved exclusively for this connection and cannot be used for any other purpose. ", +"type": "string" +}, +"ipVersion": { +"description": "IP version of this interface.", +"enum": [ +"IPV4", +"IPV6" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"linkedInterconnectAttachment": { +"description": "URI of the linked Interconnect attachment. It must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.", +"type": "string" +}, +"linkedVpnTunnel": { +"description": "URI of the linked VPN tunnel, which must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.", +"type": "string" +}, +"managementType": { +"description": "[Output Only] The resource that configures and manages this interface. - MANAGED_BY_USER is the default value and can be managed directly by users. - MANAGED_BY_ATTACHMENT is an interface that is configured and managed by Cloud Interconnect, specifically, by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of interface when the PARTNER InterconnectAttachment is created, updated, or deleted. ", +"enum": [ +"MANAGED_BY_ATTACHMENT", +"MANAGED_BY_USER" +], +"enumDescriptions": [ +"The interface is automatically created for PARTNER type InterconnectAttachment, Google will automatically create/update/delete this interface when the PARTNER InterconnectAttachment is created/provisioned/deleted. This type of interface cannot be manually managed by user.", +"Default value, the interface is manually created and managed by user." +], +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.routers.insert" +] +}, +"description": "Name of this interface entry. 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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"privateIpAddress": { +"description": "The regional private internal IP address that is used to establish BGP sessions to a VM instance acting as a third-party Router Appliance, such as a Next Gen Firewall, a Virtual Router, or an SD-WAN VM.", +"type": "string" +}, +"redundantInterface": { +"description": "Name of the interface that will be redundant with the current interface you are creating. The redundantInterface must belong to the same Cloud Router as the interface here. To establish the BGP session to a Router Appliance VM, you must create two BGP peers. The two BGP peers must be attached to two separate interfaces that are redundant with each other. The redundant_interface must be 1-63 characters long, and comply with RFC1035. Specifically, the redundant_interface 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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"subnetwork": { +"description": "The URI of the subnetwork resource that this interface belongs to, which must be in the same region as the Cloud Router. When you establish a BGP session to a VM instance using this interface, the VM instance must belong to the same subnetwork as the subnetwork specified here.", +"type": "string" +} +}, +"type": "object" +}, +"RouterList": { +"description": "Contains a list of Router resources.", +"id": "RouterList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Router resources.", +"items": { +"$ref": "Router" +}, +"type": "array" +}, +"kind": { +"default": "compute#routerList", +"description": "[Output Only] Type of resource. Always compute#router for routers.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"RouterMd5AuthenticationKey": { +"id": "RouterMd5AuthenticationKey", +"properties": { +"key": { +"annotations": { +"required": [ +"compute.routers.insert" +] +}, +"description": "[Input only] Value of the key. For patch and update calls, it can be skipped to copy the value from the previous configuration. This is allowed if the key with the same name existed before the operation. Maximum length is 80 characters. Can only contain printable ASCII characters.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.routers.insert", +"compute.routers.update" +] +}, +"description": "Name used to identify the key. Must be unique within a router. Must be referenced by exactly one bgpPeer. Must comply with RFC1035.", +"type": "string" +} +}, +"type": "object" +}, +"RouterNat": { +"description": "Represents a Nat resource. It enables the VMs within the specified subnetworks to access Internet without external IP addresses. It specifies a list of subnetworks (and the ranges within) that want to use NAT. Customers can also provide the external IPs that would be used for NAT. GCP would auto-allocate ephemeral IPs if no external IPs are provided.", +"id": "RouterNat", +"properties": { +"autoNetworkTier": { +"description": "The network tier to use when automatically reserving NAT IP addresses. Must be one of: PREMIUM, STANDARD. If not specified, then the current project-level default tier is used.", +"enum": [ +"FIXED_STANDARD", +"PREMIUM", +"SELECT", +"STANDARD", +"STANDARD_OVERRIDES_FIXED_STANDARD" +], +"enumDescriptions": [ +"Public internet quality with fixed bandwidth.", +"High quality, Google-grade network tier, support for all networking products.", +"Price competitive network tier, support for all networking products.", +"Public internet quality, only limited support for other networking products.", +"(Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured." +], +"type": "string" +}, +"drainNatIps": { +"description": "A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT only.", +"items": { +"type": "string" +}, +"type": "array" +}, +"enableDynamicPortAllocation": { +"description": "Enable Dynamic Port Allocation. If not specified, it is disabled by default. If set to true, - Dynamic Port Allocation will be enabled on this NAT config. - enableEndpointIndependentMapping cannot be set to true. - If minPorts is set, minPortsPerVm must be set to a power of two greater than or equal to 32. If minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from this NAT config. ", +"type": "boolean" +}, +"enableEndpointIndependentMapping": { +"type": "boolean" +}, +"endpointTypes": { +"description": "List of NAT-ted endpoint types supported by the Nat Gateway. If the list is empty, then it will be equivalent to include ENDPOINT_TYPE_VM", +"items": { +"enum": [ +"ENDPOINT_TYPE_MANAGED_PROXY_LB", +"ENDPOINT_TYPE_SWG", +"ENDPOINT_TYPE_VM" +], +"enumDescriptions": [ +"This is used for regional Application Load Balancers (internal and external) and regional proxy Network Load Balancers (internal and external) endpoints.", +"This is used for Secure Web Gateway endpoints.", +"This is the default." +], +"type": "string" +}, +"type": "array" +}, +"icmpIdleTimeoutSec": { +"description": "Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.", +"format": "int32", +"type": "integer" +}, +"logConfig": { +"$ref": "RouterNatLogConfig", +"description": "Configure logging on this NAT." +}, +"maxPortsPerVm": { +"description": "Maximum number of ports allocated to a VM from this NAT config when Dynamic Port Allocation is enabled. If Dynamic Port Allocation is not enabled, this field has no effect. If Dynamic Port Allocation is enabled, and this field is set, it must be set to a power of two greater than minPortsPerVm, or 64 if minPortsPerVm is not set. If Dynamic Port Allocation is enabled and this field is not set, a maximum of 65536 ports will be allocated to a VM from this NAT config.", +"format": "int32", +"type": "integer" +}, +"minPortsPerVm": { +"description": "Minimum number of ports allocated to a VM from this NAT config. If not set, a default number of ports is allocated to a VM. This is rounded up to the nearest power of 2. For example, if the value of this field is 50, at least 64 ports are allocated to a VM.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "Unique name of this Nat service. The name must be 1-63 characters long and comply with RFC1035.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"nat64Subnetworks": { +"description": "List of Subnetwork resources whose traffic should be translated by NAT64 Gateway. It is used only when LIST_OF_IPV6_SUBNETWORKS is selected for the SubnetworkIpRangeToNat64Option above.", +"items": { +"$ref": "RouterNatSubnetworkToNat64" +}, +"type": "array" +}, +"natIpAllocateOption": { +"description": "Specify the NatIpAllocateOption, which can take one of the following values: - MANUAL_ONLY: Uses only Nat IP addresses provided by customers. When there are not enough specified Nat IPs, the Nat service fails for new VMs. - AUTO_ONLY: Nat IPs are allocated by Google Cloud Platform; customers can't specify any Nat IPs. When choosing AUTO_ONLY, then nat_ip should be empty. ", +"enum": [ +"AUTO_ONLY", +"MANUAL_ONLY" +], +"enumDescriptions": [ +"Nat IPs are allocated by GCP; customers can not specify any Nat IPs.", +"Only use Nat IPs provided by customers. When specified Nat IPs are not enough then the Nat service fails for new VMs." +], +"type": "string" +}, +"natIps": { +"description": "A list of URLs of the IP resources used for this Nat service. These IP addresses must be valid static external IP addresses assigned to the project.", +"items": { +"type": "string" +}, +"type": "array" +}, +"rules": { +"description": "A list of rules associated with this NAT.", +"items": { +"$ref": "RouterNatRule" +}, +"type": "array" +}, +"sourceSubnetworkIpRangesToNat": { +"description": "Specify the Nat option, which can take one of the following values: - ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are allowed to Nat. - ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP ranges in every Subnetwork are allowed to Nat. - LIST_OF_SUBNETWORKS: A list of Subnetworks are allowed to Nat (specified in the field subnetwork below) The default is SUBNETWORK_IP_RANGE_TO_NAT_OPTION_UNSPECIFIED. Note that if this field contains ALL_SUBNETWORKS_ALL_IP_RANGES then there should not be any other Router.Nat section in any Router for this network in this region.", +"enum": [ +"ALL_SUBNETWORKS_ALL_IP_RANGES", +"ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES", +"LIST_OF_SUBNETWORKS" +], +"enumDescriptions": [ +"All the IP ranges in every Subnetwork are allowed to Nat.", +"All the primary IP ranges in every Subnetwork are allowed to Nat.", +"A list of Subnetworks are allowed to Nat (specified in the field subnetwork below)" +], +"type": "string" +}, +"sourceSubnetworkIpRangesToNat64": { +"description": "Specify the Nat option for NAT64, which can take one of the following values: - ALL_IPV6_SUBNETWORKS: All of the IP ranges in every Subnetwork are allowed to Nat. - LIST_OF_IPV6_SUBNETWORKS: A list of Subnetworks are allowed to Nat (specified in the field nat64_subnetwork below) The default is NAT64_OPTION_UNSPECIFIED. Note that if this field contains NAT64_ALL_V6_SUBNETWORKS no other Router.Nat section in this region can also enable NAT64 for any Subnetworks in this network. Other Router.Nat sections can still be present to enable NAT44 only.", +"enum": [ +"ALL_IPV6_SUBNETWORKS", +"LIST_OF_IPV6_SUBNETWORKS" +], +"enumDescriptions": [ +"NAT64 is enabled for all the IPv6 subnet ranges. In dual stack subnets, NAT64 will only be enabled for IPv6-only VMs.", +"NAT64 is enabled for a list of IPv6 subnet ranges. In dual stack subnets, NAT64 will only be enabled for IPv6-only VMs. If this option is used, the nat64_subnetworks field must be specified." +], +"type": "string" +}, +"subnetworks": { +"description": "A list of Subnetwork resources whose traffic should be translated by NAT Gateway. It is used only when LIST_OF_SUBNETWORKS is selected for the SubnetworkIpRangeToNatOption above.", +"items": { +"$ref": "RouterNatSubnetworkToNat" +}, +"type": "array" +}, +"tcpEstablishedIdleTimeoutSec": { +"description": "Timeout (in seconds) for TCP established connections. Defaults to 1200s if not set.", +"format": "int32", +"type": "integer" +}, +"tcpTimeWaitTimeoutSec": { +"description": "Timeout (in seconds) for TCP connections that are in TIME_WAIT state. Defaults to 120s if not set.", +"format": "int32", +"type": "integer" +}, +"tcpTransitoryIdleTimeoutSec": { +"description": "Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not set.", +"format": "int32", +"type": "integer" +}, +"type": { +"description": "Indicates whether this NAT is used for public or private IP translation. If unspecified, it defaults to PUBLIC.", +"enum": [ +"PRIVATE", +"PUBLIC" +], +"enumDescriptions": [ +"NAT used for private IP translation.", +"NAT used for public IP translation. This is the default." +], +"type": "string" +}, +"udpIdleTimeoutSec": { +"description": "Timeout (in seconds) for UDP connections. Defaults to 30s if not set.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"RouterNatLogConfig": { +"description": "Configuration of logging on a NAT.", +"id": "RouterNatLogConfig", +"properties": { +"enable": { +"description": "Indicates whether or not to export logs. This is false by default.", +"type": "boolean" +}, +"filter": { +"description": "Specify the desired filtering of logs on this NAT. If unspecified, logs are exported for all connections handled by this NAT. This option can take one of the following values: - ERRORS_ONLY: Export logs only for connection failures. - TRANSLATIONS_ONLY: Export logs only for successful connections. - ALL: Export logs for all connections, successful and unsuccessful. ", +"enum": [ +"ALL", +"ERRORS_ONLY", +"TRANSLATIONS_ONLY" +], +"enumDescriptions": [ +"Export logs for all (successful and unsuccessful) connections.", +"Export logs for connection failures only.", +"Export logs for successful connections only." +], +"type": "string" +} +}, +"type": "object" +}, +"RouterNatRule": { +"id": "RouterNatRule", +"properties": { +"action": { +"$ref": "RouterNatRuleAction", +"description": "The action to be enforced for traffic that matches this rule." +}, +"description": { +"description": "An optional description of this rule.", +"type": "string" +}, +"match": { +"description": "CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding `action` is enforced. The following examples are valid match expressions for public NAT: `inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')` `destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'` The following example is a valid match expression for private NAT: `nexthop.hub == '//networkconnectivity.googleapis.com/projects/my-project/locations/global/hubs/hub-1'`", +"type": "string" +}, +"ruleNumber": { +"description": "An integer uniquely identifying a rule in the list. The rule number must be a positive value between 0 and 65000, and must be unique among rules within a NAT.", +"format": "uint32", +"type": "integer" +} +}, +"type": "object" +}, +"RouterNatRuleAction": { +"id": "RouterNatRuleAction", +"properties": { +"sourceNatActiveIps": { +"description": "A list of URLs of the IP resources used for this NAT rule. These IP addresses must be valid static external IP addresses assigned to the project. This field is used for public NAT.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sourceNatActiveRanges": { +"description": "A list of URLs of the subnetworks used as source ranges for this NAT Rule. These subnetworks must have purpose set to PRIVATE_NAT. This field is used for private NAT.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sourceNatDrainIps": { +"description": "A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT rule only. This field is used for public NAT.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sourceNatDrainRanges": { +"description": "A list of URLs of subnetworks representing source ranges to be drained. This is only supported on patch/update, and these subnetworks must have previously been used as active ranges in this NAT Rule. This field is used for private NAT.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RouterNatSubnetworkToNat": { +"description": "Defines the IP ranges that want to use NAT for a subnetwork.", +"id": "RouterNatSubnetworkToNat", +"properties": { +"name": { +"description": "URL for the subnetwork resource that will use NAT.", +"type": "string" +}, +"secondaryIpRangeNames": { +"description": "A list of the secondary ranges of the Subnetwork that are allowed to use NAT. This can be populated only if \"LIST_OF_SECONDARY_IP_RANGES\" is one of the values in source_ip_ranges_to_nat.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sourceIpRangesToNat": { +"description": "Specify the options for NAT ranges in the Subnetwork. All options of a single value are valid except NAT_IP_RANGE_OPTION_UNSPECIFIED. The only valid option with multiple values is: [\"PRIMARY_IP_RANGE\", \"LIST_OF_SECONDARY_IP_RANGES\"] Default: [ALL_IP_RANGES]", +"items": { +"enum": [ +"ALL_IP_RANGES", +"LIST_OF_SECONDARY_IP_RANGES", +"PRIMARY_IP_RANGE" +], +"enumDescriptions": [ +"The primary and all the secondary ranges are allowed to Nat.", +"A list of secondary ranges are allowed to Nat.", +"The primary range is allowed to Nat." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RouterNatSubnetworkToNat64": { +"description": "Specifies a subnetwork to enable NAT64.", +"id": "RouterNatSubnetworkToNat64", +"properties": { +"name": { +"description": "URL for the subnetwork resource that will use NAT64.", +"type": "string" +} +}, +"type": "object" +}, +"RouterStatus": { +"id": "RouterStatus", +"properties": { +"bestRoutes": { +"description": "A list of the best dynamic routes for this Cloud Router's Virtual Private Cloud (VPC) network in the same region as this Cloud Router. Lists all of the best routes per prefix that are programmed into this region's VPC data plane. When global dynamic routing mode is turned on in the VPC network, this list can include cross-region dynamic routes from Cloud Routers in other regions.", +"items": { +"$ref": "Route" +}, +"type": "array" +}, +"bestRoutesForRouter": { +"description": "A list of the best BGP routes learned by this Cloud Router. It is possible that routes listed might not be programmed into the data plane, if the Google Cloud control plane finds a more optimal route for a prefix than a route learned by this Cloud Router.", +"items": { +"$ref": "Route" +}, +"type": "array" +}, +"bgpPeerStatus": { +"items": { +"$ref": "RouterStatusBgpPeerStatus" +}, +"type": "array" +}, +"natStatus": { +"items": { +"$ref": "RouterStatusNatStatus" +}, +"type": "array" +}, +"network": { +"description": "URI of the network to which this router belongs.", +"type": "string" +} +}, +"type": "object" +}, +"RouterStatusBgpPeerStatus": { +"id": "RouterStatusBgpPeerStatus", +"properties": { +"advertisedRoutes": { +"description": "Routes that were advertised to the remote BGP peer", +"items": { +"$ref": "Route" +}, +"type": "array" +}, +"bfdStatus": { +"$ref": "BfdStatus" +}, +"enableIpv4": { +"description": "Enable IPv4 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 4.", +"type": "boolean" +}, +"enableIpv6": { +"description": "Enable IPv6 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 6.", +"type": "boolean" +}, +"ipAddress": { +"description": "IP address of the local BGP interface.", +"type": "string" +}, +"ipv4NexthopAddress": { +"description": "IPv4 address of the local BGP interface.", +"type": "string" +}, +"ipv6NexthopAddress": { +"description": "IPv6 address of the local BGP interface.", +"type": "string" +}, +"linkedVpnTunnel": { +"description": "URL of the VPN tunnel that this BGP peer controls.", +"type": "string" +}, +"md5AuthEnabled": { +"description": "Informs whether MD5 authentication is enabled on this BGP peer.", +"type": "boolean" +}, +"name": { +"description": "Name of this BGP peer. Unique within the Routers resource.", +"type": "string" +}, +"numLearnedRoutes": { +"description": "Number of routes learned from the remote BGP Peer.", +"format": "uint32", +"type": "integer" +}, +"peerIpAddress": { +"description": "IP address of the remote BGP interface.", +"type": "string" +}, +"peerIpv4NexthopAddress": { +"description": "IPv4 address of the remote BGP interface.", +"type": "string" +}, +"peerIpv6NexthopAddress": { +"description": "IPv6 address of the remote BGP interface.", +"type": "string" +}, +"routerApplianceInstance": { +"description": "[Output only] URI of the VM instance that is used as third-party router appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance is the peer side of the BGP session.", +"type": "string" +}, +"state": { +"description": "The state of the BGP session. For a list of possible values for this field, see BGP session states.", +"type": "string" +}, +"status": { +"description": "Status of the BGP peer: {UP, DOWN}", +"enum": [ +"DOWN", +"UNKNOWN", +"UP" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"statusReason": { +"description": "Indicates why particular status was returned.", +"enum": [ +"IPV4_PEER_ON_IPV6_ONLY_CONNECTION", +"IPV6_PEER_ON_IPV4_ONLY_CONNECTION", +"MD5_AUTH_INTERNAL_PROBLEM", +"STATUS_REASON_UNSPECIFIED" +], +"enumDescriptions": [ +"BGP peer disabled because it requires IPv4 but the underlying connection is IPv6-only.", +"BGP peer disabled because it requires IPv6 but the underlying connection is IPv4-only.", +"Indicates internal problems with configuration of MD5 authentication. This particular reason can only be returned when md5AuthEnabled is true and status is DOWN.", +"" +], +"type": "string" +}, +"uptime": { +"description": "Time this session has been up. Format: 14 years, 51 weeks, 6 days, 23 hours, 59 minutes, 59 seconds", +"type": "string" +}, +"uptimeSeconds": { +"description": "Time this session has been up, in seconds. Format: 145", +"type": "string" +} +}, +"type": "object" +}, +"RouterStatusNatStatus": { +"description": "Status of a NAT contained in this router.", +"id": "RouterStatusNatStatus", +"properties": { +"autoAllocatedNatIps": { +"description": "A list of IPs auto-allocated for NAT. Example: [\"1.1.1.1\", \"129.2.16.89\"]", +"items": { +"type": "string" +}, +"type": "array" +}, +"drainAutoAllocatedNatIps": { +"description": "A list of IPs auto-allocated for NAT that are in drain mode. Example: [\"1.1.1.1\", \"179.12.26.133\"].", +"items": { +"type": "string" +}, +"type": "array" +}, +"drainUserAllocatedNatIps": { +"description": "A list of IPs user-allocated for NAT that are in drain mode. Example: [\"1.1.1.1\", \"179.12.26.133\"].", +"items": { +"type": "string" +}, +"type": "array" +}, +"minExtraNatIpsNeeded": { +"description": "The number of extra IPs to allocate. This will be greater than 0 only if user-specified IPs are NOT enough to allow all configured VMs to use NAT. This value is meaningful only when auto-allocation of NAT IPs is *not* used.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "Unique name of this NAT.", +"type": "string" +}, +"numVmEndpointsWithNatMappings": { +"description": "Number of VM endpoints (i.e., Nics) that can use NAT.", +"format": "int32", +"type": "integer" +}, +"ruleStatus": { +"description": "Status of rules in this NAT.", +"items": { +"$ref": "RouterStatusNatStatusNatRuleStatus" +}, +"type": "array" +}, +"userAllocatedNatIpResources": { +"description": "A list of fully qualified URLs of reserved IP address resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"userAllocatedNatIps": { +"description": "A list of IPs user-allocated for NAT. They will be raw IP strings like \"179.12.26.133\".", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RouterStatusNatStatusNatRuleStatus": { +"description": "Status of a NAT Rule contained in this NAT.", +"id": "RouterStatusNatStatusNatRuleStatus", +"properties": { +"activeNatIps": { +"description": "A list of active IPs for NAT. Example: [\"1.1.1.1\", \"179.12.26.133\"].", +"items": { +"type": "string" +}, +"type": "array" +}, +"drainNatIps": { +"description": "A list of IPs for NAT that are in drain mode. Example: [\"1.1.1.1\", \"179.12.26.133\"].", +"items": { +"type": "string" +}, +"type": "array" +}, +"minExtraIpsNeeded": { +"description": "The number of extra IPs to allocate. This will be greater than 0 only if the existing IPs in this NAT Rule are NOT enough to allow all configured VMs to use NAT.", +"format": "int32", +"type": "integer" +}, +"numVmEndpointsWithNatMappings": { +"description": "Number of VM endpoints (i.e., NICs) that have NAT Mappings from this NAT Rule.", +"format": "int32", +"type": "integer" +}, +"ruleNumber": { +"description": "Rule number of the rule.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"RouterStatusResponse": { +"id": "RouterStatusResponse", +"properties": { +"kind": { +"default": "compute#routerStatusResponse", +"description": "Type of resource.", +"type": "string" +}, +"result": { +"$ref": "RouterStatus" +} +}, +"type": "object" +}, +"RoutersGetNamedSetResponse": { +"id": "RoutersGetNamedSetResponse", +"properties": { +"etag": { +"description": "end_interface: MixerGetResponseWithEtagBuilder", +"type": "string" +}, +"resource": { +"$ref": "NamedSet" +} +}, +"type": "object" +}, +"RoutersGetRoutePolicyResponse": { +"id": "RoutersGetRoutePolicyResponse", +"properties": { +"etag": { +"description": "end_interface: MixerGetResponseWithEtagBuilder", +"type": "string" +}, +"resource": { +"$ref": "RoutePolicy" +} +}, +"type": "object" +}, +"RoutersListBgpRoutes": { +"id": "RoutersListBgpRoutes", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"type": "string" +}, +"kind": { +"default": "compute#routersListBgpRoutes", +"description": "[Output Only] Type of resource. Always compute#routersListBgpRoutes for lists of bgp routes.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"result": { +"description": "[Output Only] A list of bgp routes.", +"items": { +"$ref": "BgpRoute" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"RoutersListNamedSets": { +"id": "RoutersListNamedSets", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"type": "string" +}, +"kind": { +"default": "compute#routersListNamedSets", +"description": "[Output Only] Type of resource. Always compute#routersListNamedSets for lists of named sets.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"result": { +"description": "[Output Only] A list of named sets.", +"items": { +"$ref": "NamedSet" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"RoutersListRoutePolicies": { +"id": "RoutersListRoutePolicies", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"type": "string" +}, +"kind": { +"default": "compute#routersListRoutePolicies", +"description": "[Output Only] Type of resource. Always compute#routersListRoutePolicies for lists of route policies.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"result": { +"description": "[Output Only] A list of route policies.", +"items": { +"$ref": "RoutePolicy" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"RoutersPreviewResponse": { +"id": "RoutersPreviewResponse", +"properties": { +"resource": { +"$ref": "Router", +"description": "Preview of given router." +} +}, +"type": "object" +}, +"RoutersScopedList": { +"id": "RoutersScopedList", +"properties": { +"routers": { +"description": "A list of routers contained in this scope.", +"items": { +"$ref": "Router" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of routers when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"SSLHealthCheck": { +"id": "SSLHealthCheck", +"properties": { +"port": { +"description": "The TCP port number to which the health check prober sends packets. The default value is 443. Valid values are 1 through 65535.", +"format": "int32", +"type": "integer" +}, +"portName": { +"description": "Not supported.", +"type": "string" +}, +"portSpecification": { +"description": "Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports.", +"enum": [ +"USE_FIXED_PORT", +"USE_NAMED_PORT", +"USE_SERVING_PORT" +], +"enumDescriptions": [ +"The port number in the health check's port is used for health checking. Applies to network endpoint group and instance group backends.", +"Not supported.", +"For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service's named port defined in the instance group's named ports." +], +"type": "string" +}, +"proxyHeader": { +"description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.", +"enum": [ +"NONE", +"PROXY_V1" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"request": { +"description": "Instructs the health check prober to send this exact ASCII string, up to 1024 bytes in length, after establishing the TCP connection and SSL handshake.", +"type": "string" +}, +"response": { +"description": "Creates a content-based SSL health check. In addition to establishing a TCP connection and the TLS handshake, you can configure the health check to pass only when the backend sends this exact response ASCII string, up to 1024 bytes in length. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-ssl-tcp", +"type": "string" +} +}, +"type": "object" +}, +"SavedAttachedDisk": { +"description": "DEPRECATED: Please use compute#savedDisk instead. An instance-attached disk resource.", +"id": "SavedAttachedDisk", +"properties": { +"autoDelete": { +"description": "Specifies whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).", +"type": "boolean" +}, +"boot": { +"description": "Indicates that this is a boot disk. The virtual machine will use the first partition of the disk for its root filesystem.", +"type": "boolean" +}, +"deviceName": { +"description": "Specifies the name of the disk attached to the source instance.", +"type": "string" +}, +"diskEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "The encryption key for the disk." +}, +"diskSizeGb": { +"description": "The size of the disk in base-2 GB.", +"format": "int64", +"type": "string" +}, +"diskType": { +"description": "[Output Only] URL of the disk type resource. For example: projects/project /zones/zone/diskTypes/pd-standard or pd-ssd", +"type": "string" +}, +"guestOsFeatures": { +"description": "A list of features to enable on the guest operating system. Applicable only for bootable images. Read Enabling guest operating system features to see a list of available options.", +"items": { +"$ref": "GuestOsFeature" +}, +"type": "array" +}, +"index": { +"description": "Specifies zero-based index of the disk that is attached to the source instance.", +"format": "int32", +"type": "integer" +}, +"interface": { +"description": "Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME.", +"enum": [ +"NVDIMM", +"NVME", +"SCSI" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"kind": { +"default": "compute#savedAttachedDisk", +"description": "[Output Only] Type of the resource. Always compute#attachedDisk for attached disks.", +"type": "string" +}, +"licenses": { +"description": "[Output Only] Any valid publicly visible licenses.", +"items": { +"type": "string" +}, +"type": "array" +}, +"mode": { +"description": "The mode in which this disk is attached to the source instance, either READ_WRITE or READ_ONLY.", +"enum": [ +"READ_ONLY", +"READ_WRITE" +], +"enumDescriptions": [ +"Attaches this disk in read-only mode. Multiple virtual machines can use a disk in read-only mode at a time.", +"*[Default]* Attaches this disk in read-write mode. Only one virtual machine at a time can be attached to a disk in read-write mode." +], +"type": "string" +}, +"source": { +"description": "Specifies a URL of the disk attached to the source instance.", +"type": "string" +}, +"storageBytes": { +"description": "[Output Only] A size of the storage used by the disk's snapshot by this machine image.", +"format": "int64", +"type": "string" +}, +"storageBytesStatus": { +"description": "[Output Only] An indicator whether storageBytes is in a stable state or it is being adjusted as a result of shared storage reallocation. This status can either be UPDATING, meaning the size of the snapshot is being updated, or UP_TO_DATE, meaning the size of the snapshot is up-to-date.", +"enum": [ +"UPDATING", +"UP_TO_DATE" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"type": { +"description": "Specifies the type of the attached disk, either SCRATCH or PERSISTENT.", +"enum": [ +"PERSISTENT", +"SCRATCH" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"SavedDisk": { +"description": "An instance-attached disk resource.", +"id": "SavedDisk", +"properties": { +"architecture": { +"description": "[Output Only] The architecture of the attached disk.", +"enum": [ +"ARCHITECTURE_UNSPECIFIED", +"ARM64", +"X86_64" +], +"enumDescriptions": [ +"Default value indicating Architecture is not set.", +"Machines with architecture ARM64", +"Machines with architecture X86_64" +], +"type": "string" +}, +"kind": { +"default": "compute#savedDisk", +"description": "[Output Only] Type of the resource. Always compute#savedDisk for attached disks.", +"type": "string" +}, +"sourceDisk": { +"description": "Specifies a URL of the disk attached to the source instance.", +"type": "string" +}, +"storageBytes": { +"description": "[Output Only] Size of the individual disk snapshot used by this machine image.", +"format": "int64", +"type": "string" +}, +"storageBytesStatus": { +"description": "[Output Only] An indicator whether storageBytes is in a stable state or it is being adjusted as a result of shared storage reallocation. This status can either be UPDATING, meaning the size of the snapshot is being updated, or UP_TO_DATE, meaning the size of the snapshot is up-to-date.", +"enum": [ +"UPDATING", +"UP_TO_DATE" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"ScalingScheduleStatus": { +"id": "ScalingScheduleStatus", +"properties": { +"lastStartTime": { +"description": "[Output Only] The last time the scaling schedule became active. Note: this is a timestamp when a schedule actually became active, not when it was planned to do so. The timestamp is in RFC3339 text format.", +"type": "string" +}, +"nextStartTime": { +"description": "[Output Only] The next time the scaling schedule is to become active. Note: this is a timestamp when a schedule is planned to run, but the actual time might be slightly different. The timestamp is in RFC3339 text format.", +"type": "string" +}, +"state": { +"description": "[Output Only] The current state of a scaling schedule.", +"enum": [ +"ACTIVE", +"DISABLED", +"OBSOLETE", +"READY" +], +"enumDescriptions": [ +"The current autoscaling recommendation is influenced by this scaling schedule.", +"This scaling schedule has been disabled by the user.", +"This scaling schedule will never become active again.", +"The current autoscaling recommendation is not influenced by this scaling schedule." +], +"type": "string" +} +}, +"type": "object" +}, +"Scheduling": { +"description": "Sets the scheduling options for an Instance.", +"id": "Scheduling", +"properties": { +"automaticRestart": { +"description": "Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.", +"type": "boolean" +}, +"availabilityDomain": { +"description": "Specifies the availability domain to place the instance in. The value must be a number between 1 and the number of availability domains specified in the spread placement policy attached to the instance.", +"format": "int32", +"type": "integer" +}, +"currentCpus": { +"description": "Current number of vCPUs available for VM. 0 or unset means default vCPUs of the current machine type.", +"format": "int32", +"type": "integer" +}, +"currentMemoryMb": { +"description": "Current amount of memory (in MB) available for VM. 0 or unset means default amount of memory of the current machine type.", +"format": "int64", +"type": "string" +}, +"gracefulShutdown": { +"$ref": "SchedulingGracefulShutdown" +}, +"hostErrorTimeoutSeconds": { +"description": "Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.", +"format": "int32", +"type": "integer" +}, +"instanceTerminationAction": { +"description": "Specifies the termination action for the instance.", +"enum": [ +"DELETE", +"INSTANCE_TERMINATION_ACTION_UNSPECIFIED", +"STOP" +], +"enumDescriptions": [ +"Delete the VM.", +"Default value. This value is unused.", +"Stop the VM without storing in-memory content. default action." +], +"type": "string" +}, +"latencyTolerant": { +"description": "Defines whether the instance is tolerant of higher cpu latency. This can only be set during instance creation, or when the instance is not currently running. It must not be set if the preemptible option is also set.", +"type": "boolean" +}, +"localSsdRecoveryTimeout": { +"$ref": "Duration", +"description": "Specifies the maximum amount of time a Local Ssd Vm should wait while recovery of the Local Ssd state is attempted. Its value should be in between 0 and 168 hours with hour granularity and the default value being 1 hour." +}, +"locationHint": { +"description": "An opaque location hint used to place the instance close to other resources. This field is for use by internal tools that use the public API.", +"type": "string" +}, +"maintenanceFreezeDurationHours": { +"description": "Specifies the number of hours after VM instance creation where the VM won't be scheduled for maintenance.", +"format": "int32", +"type": "integer" +}, +"maintenanceInterval": { +"description": "Specifies the frequency of planned maintenance events. The accepted values are: `PERIODIC`.", +"enum": [ +"AS_NEEDED", +"PERIODIC", +"RECURRENT" +], +"enumDescriptions": [ +"VMs 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 VM than the PERIODIC and RECURRENT options.", +"VMs 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 a VM 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.", +"VMs 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 a VM 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. RECURRENT is used for GEN3 and Slice of Hardware VMs." +], +"type": "string" +}, +"maxRunDuration": { +"$ref": "Duration", +"description": "Specifies the max run duration for the given instance. If specified, the instance termination action will be performed at the end of the run duration." +}, +"minNodeCpus": { +"description": "The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node.", +"format": "int32", +"type": "integer" +}, +"nodeAffinities": { +"description": "A set of node affinity and anti-affinity configurations. Refer to Configuring node affinity for more information. Overrides reservationAffinity.", +"items": { +"$ref": "SchedulingNodeAffinity" +}, +"type": "array" +}, +"onHostMaintenance": { +"description": "Defines the maintenance behavior for this instance. For standard instances, the default behavior is MIGRATE. For preemptible instances, the default and only possible behavior is TERMINATE. For more information, see Set VM host maintenance policy.", +"enum": [ +"MIGRATE", +"TERMINATE" +], +"enumDescriptions": [ +"*[Default]* Allows Compute Engine to automatically migrate instances out of the way of maintenance events.", +"Tells Compute Engine to terminate and (optionally) restart the instance away from the maintenance activity. If you would like your instance to be restarted, set the automaticRestart flag to true. Your instance may be restarted more than once, and it may be restarted outside the window of maintenance events." +], +"type": "string" +}, +"onInstanceStopAction": { +"$ref": "SchedulingOnInstanceStopAction" +}, +"preemptible": { +"description": "Defines whether the instance is preemptible. This can only be set during instance creation or while the instance is stopped and therefore, in a `TERMINATED` state. See Instance Life Cycle for more information on the possible instance states.", +"type": "boolean" +}, +"provisioningModel": { +"description": "Specifies the provisioning model of the instance.", +"enum": [ +"RESERVATION_BOUND", +"SPOT", +"STANDARD" +], +"enumDescriptions": [ +"Bound to the lifecycle of the reservation in which it is provisioned.", +"Heavily discounted, no guaranteed runtime.", +"Standard provisioning with user controlled runtime, no discounts." +], +"type": "string" +}, +"shutdownTimeout": { +"$ref": "Duration", +"description": "Timeout between GCE ACPI G2 Soft Off and ACPI G3 Mechanical Off during shutdown operation of VM. For Standard VMs values between 0s and 120s are allowed. For Spot and Preemptible VMs supported values are between 0s and 30s. If no value is specified for shutdownDuration, default values are 90s for Standard VMs and 30s for Spot/Preemptible VMs." +}, +"terminationTime": { +"description": "Specifies the timestamp, when the instance will be terminated, in RFC3339 text format. If specified, the instance termination action will be performed at the termination time.", +"type": "string" +}, +"windowsLicenseOptimizationMode": { +"description": "Represents the Windows Server License Optimization Mode of the VM. If unspecified, the default mode is `OFF`.", +"enum": [ +"AUTO", +"BALANCED", +"COST_OPTIMIZED", +"OFF", +"PERFORMANCE", +"UNSPECIFIED" +], +"enumDescriptions": [ +"\"Automatically maximize savings and minimize performance impact by matching license optimization mode to current CPU utilization.", +"Significant license cost savings via moderate throttles (40% baseline, 10 minute maximum burst at full utilization).", +"Maximum license cost savings via restrictive throttles (20% baseline, 3.75 minute maximum burst at full utilization).", +"No license cost savings with maximum CPU performance.", +"Moderate license cost savings via least restrictive throttles (60% baseline, 22.5 minute maximum burst at full utilization).", +"Unspecified license optimization mode defaults to `OFF`." +], +"type": "string" +} +}, +"type": "object" +}, +"SchedulingGracefulShutdown": { +"description": "The configuration for gracefully shutting down the instance.", +"id": "SchedulingGracefulShutdown", +"properties": { +"enabled": { +"description": "Opts-in for graceful shutdown.", +"type": "boolean" +}, +"maxDuration": { +"$ref": "Duration", +"description": "The time allotted for the instance to gracefully shut down. If the graceful shutdown isn't complete after this time, then the instance transitions to the STOPPING state." +} +}, +"type": "object" +}, +"SchedulingNodeAffinity": { +"description": "Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled.", +"id": "SchedulingNodeAffinity", +"properties": { +"key": { +"description": "Corresponds to the label key of Node resource.", +"type": "string" +}, +"operator": { +"description": "Defines the operation of node selection. Valid operators are IN for affinity and NOT_IN for anti-affinity.", +"enum": [ +"IN", +"NOT_IN", +"OPERATOR_UNSPECIFIED" +], +"enumDescriptions": [ +"Requires Compute Engine to seek for matched nodes.", +"Requires Compute Engine to avoid certain nodes.", +"" +], +"type": "string" +}, +"values": { +"description": "Corresponds to the label values of Node resource.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SchedulingOnInstanceStopAction": { +"description": "Defines the behaviour for instances with the instance_termination_action STOP.", +"id": "SchedulingOnInstanceStopAction", +"properties": { +"discardLocalSsd": { +"description": "If true, the contents of any attached Local SSD disks will be discarded else, the Local SSD data will be preserved when the instance is stopped at the end of the run duration/termination time.", +"type": "boolean" +} +}, +"type": "object" +}, +"Screenshot": { +"description": "An instance's screenshot.", +"id": "Screenshot", +"properties": { +"contents": { +"description": "[Output Only] The Base64-encoded screenshot data.", +"type": "string" +}, +"kind": { +"default": "compute#screenshot", +"description": "[Output Only] Type of the resource. Always compute#screenshot for the screenshots.", +"type": "string" +} +}, +"type": "object" +}, +"SdsConfig": { +"description": "[Deprecated] The configuration to access the SDS server. The configuration to access the SDS server.", +"id": "SdsConfig", +"properties": { +"grpcServiceConfig": { +"$ref": "GrpcServiceConfig", +"description": "The configuration to access the SDS server over GRPC." +} +}, +"type": "object" +}, +"SecurityPoliciesAggregatedList": { +"id": "SecurityPoliciesAggregatedList", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "SecurityPoliciesScopedList", +"description": "Name of the scope containing this set of security policies." +}, +"description": "A list of SecurityPoliciesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#securityPoliciesAggregatedList", +"description": "[Output Only] Type of resource. Always compute#securityPolicyAggregatedList for lists of Security Policies.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"SecurityPoliciesListPreconfiguredExpressionSetsResponse": { +"id": "SecurityPoliciesListPreconfiguredExpressionSetsResponse", +"properties": { +"preconfiguredExpressionSets": { +"$ref": "SecurityPoliciesWafConfig" +} +}, +"type": "object" +}, +"SecurityPoliciesScopedList": { +"id": "SecurityPoliciesScopedList", +"properties": { +"securityPolicies": { +"description": "A list of SecurityPolicies contained in this scope.", +"items": { +"$ref": "SecurityPolicy" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of security policies when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"SecurityPoliciesWafConfig": { +"id": "SecurityPoliciesWafConfig", +"properties": { +"wafRules": { +"$ref": "PreconfiguredWafSet" +} +}, +"type": "object" +}, +"SecurityPolicy": { +"description": "Represents a Google Cloud Armor security policy resource. Only external backend services that use load balancers can reference a security policy. For more information, see Google Cloud Armor security policy overview.", +"id": "SecurityPolicy", +"properties": { +"adaptiveProtectionConfig": { +"$ref": "SecurityPolicyAdaptiveProtectionConfig" +}, +"advancedOptionsConfig": { +"$ref": "SecurityPolicyAdvancedOptionsConfig" +}, +"associations": { +"description": "A list of associations that belong to this policy.", +"items": { +"$ref": "SecurityPolicyAssociation" +}, +"type": "array" +}, +"cloudArmorConfig": { +"$ref": "SecurityPolicyCloudArmorConfig", +"deprecated": true +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"ddosProtectionConfig": { +"$ref": "SecurityPolicyDdosProtectionConfig" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"displayName": { +"deprecated": true, +"description": "User-provided name of the organization security policy. The name should be unique in the organization in which the security policy is created. This should only be used when SecurityPolicyType is FIREWALL. The name must be 1-63 characters long, and comply with https://www.ietf.org/rfc/rfc1035.txt. 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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"fingerprint": { +"description": "Specifies a fingerprint for this resource, which is essentially a hash of the metadata's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make get() request to the security policy.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#securityPolicy", +"description": "[Output only] Type of the resource. Always compute#securityPolicyfor security policies", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this security policy, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels. To see the latest fingerprint, make get() request to the security policy.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", +"type": "object" +}, +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"parent": { +"description": "[Output Only] The parent of the security policy.", +"type": "string" +}, +"recaptchaOptionsConfig": { +"$ref": "SecurityPolicyRecaptchaOptionsConfig" +}, +"region": { +"description": "[Output Only] URL of the region where the regional security policy resides. This field is not applicable to global security policies.", +"type": "string" +}, +"ruleTupleCount": { +"deprecated": true, +"description": "[Output Only] Total count of all security policy rule tuples. A security policy can not exceed a set number of tuples.", +"format": "int32", +"type": "integer" +}, +"rules": { +"description": "A list of rules that belong to this policy. There must always be a default rule which is a rule with priority 2147483647 and match all condition (for the match condition this means match \"*\" for srcIpRanges and for the networkMatch condition every field must be either match \"*\" or not set). If no rules are provided when creating a security policy, a default rule with action \"allow\" will be added.", +"items": { +"$ref": "SecurityPolicyRule" +}, +"type": "array" +}, +"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" +}, +"shortName": { +"description": "User-provided name of the organization security policy. The name should be unique in the organization in which the security policy is created. This should only be used when SecurityPolicyType is CLOUD_ARMOR. The name must be 1-63 characters long, and comply with https://www.ietf.org/rfc/rfc1035.txt. 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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"type": { +"description": "The type indicates the intended use of the security policy. - CLOUD_ARMOR: Cloud Armor backend security policies can be configured to filter incoming HTTP requests targeting backend services. They filter requests before they hit the origin servers. - CLOUD_ARMOR_EDGE: Cloud Armor edge security policies can be configured to filter incoming HTTP requests targeting backend services (including Cloud CDN-enabled) as well as backend buckets (Cloud Storage). They filter requests before the request is served from Google's cache. - CLOUD_ARMOR_INTERNAL_SERVICE: Cloud Armor internal service policies can be configured to filter HTTP requests targeting services managed by Traffic Director in a service mesh. They filter requests before the request is served from the application. - CLOUD_ARMOR_NETWORK: Cloud Armor network policies can be configured to filter packets targeting network load balancing resources such as backend services, target pools, target instances, and instances with external IPs. They filter requests before the request is served from the application. This field can be set only at resource creation time.", +"enum": [ +"CLOUD_ARMOR", +"CLOUD_ARMOR_EDGE", +"CLOUD_ARMOR_INTERNAL_SERVICE", +"CLOUD_ARMOR_NETWORK", +"FIREWALL" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"userDefinedFields": { +"description": "Definitions of user-defined fields for CLOUD_ARMOR_NETWORK policies. A user-defined field consists of up to 4 bytes extracted from a fixed offset in the packet, relative to the IPv4, IPv6, TCP, or UDP header, with an optional mask to select certain bits. Rules may then specify matching values for these fields. Example: userDefinedFields: - name: \"ipv4_fragment_offset\" base: IPV4 offset: 6 size: 2 mask: \"0x1fff\"", +"items": { +"$ref": "SecurityPolicyUserDefinedField" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyAdaptiveProtectionConfig": { +"description": "Configuration options for Cloud Armor Adaptive Protection (CAAP).", +"id": "SecurityPolicyAdaptiveProtectionConfig", +"properties": { +"autoDeployConfig": { +"$ref": "SecurityPolicyAdaptiveProtectionConfigAutoDeployConfig" +}, +"layer7DdosDefenseConfig": { +"$ref": "SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig", +"description": "If set to true, enables Cloud Armor Machine Learning." +} +}, +"type": "object" +}, +"SecurityPolicyAdaptiveProtectionConfigAutoDeployConfig": { +"description": "Configuration options for Adaptive Protection auto-deploy feature.", +"id": "SecurityPolicyAdaptiveProtectionConfigAutoDeployConfig", +"properties": { +"confidenceThreshold": { +"format": "float", +"type": "number" +}, +"expirationSec": { +"format": "int32", +"type": "integer" +}, +"impactedBaselineThreshold": { +"format": "float", +"type": "number" +}, +"loadThreshold": { +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig": { +"description": "Configuration options for L7 DDoS detection. This field is only supported in Global Security Policies of type CLOUD_ARMOR.", +"id": "SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig", +"properties": { +"enable": { +"description": "If set to true, enables CAAP for L7 DDoS detection. This field is only supported in Global Security Policies of type CLOUD_ARMOR.", +"type": "boolean" +}, +"ruleVisibility": { +"description": "Rule visibility can be one of the following: STANDARD - opaque rules. (default) PREMIUM - transparent rules. This field is only supported in Global Security Policies of type CLOUD_ARMOR.", +"enum": [ +"PREMIUM", +"STANDARD" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"thresholdConfigs": { +"description": "Configuration options for layer7 adaptive protection for various customizable thresholds.", +"items": { +"$ref": "SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig": { +"id": "SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig", +"properties": { +"autoDeployConfidenceThreshold": { +"format": "float", +"type": "number" +}, +"autoDeployExpirationSec": { +"format": "int32", +"type": "integer" +}, +"autoDeployImpactedBaselineThreshold": { +"format": "float", +"type": "number" +}, +"autoDeployLoadThreshold": { +"format": "float", +"type": "number" +}, +"detectionAbsoluteQps": { +"format": "float", +"type": "number" +}, +"detectionLoadThreshold": { +"format": "float", +"type": "number" +}, +"detectionRelativeToBaselineQps": { +"format": "float", +"type": "number" +}, +"name": { +"description": "The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the security policy.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"trafficGranularityConfigs": { +"description": "Configuration options for enabling Adaptive Protection to operate on specified granular traffic units.", +"items": { +"$ref": "SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig": { +"description": "Configurations to specifc granular traffic units processed by Adaptive Protection.", +"id": "SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig", +"properties": { +"enableEachUniqueValue": { +"description": "If enabled, traffic matching each unique value for the specified type constitutes a separate traffic unit. It can only be set to true if `value` is empty.", +"type": "boolean" +}, +"type": { +"description": "Type of this configuration.", +"enum": [ +"HTTP_HEADER_HOST", +"HTTP_PATH", +"UNSPECIFIED_TYPE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"value": { +"description": "Requests that match this value constitute a granular traffic unit.", +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyAdvancedOptionsConfig": { +"id": "SecurityPolicyAdvancedOptionsConfig", +"properties": { +"jsonCustomConfig": { +"$ref": "SecurityPolicyAdvancedOptionsConfigJsonCustomConfig", +"description": "Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD." +}, +"jsonParsing": { +"enum": [ +"DISABLED", +"STANDARD", +"STANDARD_WITH_GRAPHQL" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"logLevel": { +"enum": [ +"NORMAL", +"VERBOSE" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"requestBodyInspectionSize": { +"description": "The maximum request size chosen by the customer with Waf enabled. Currently only \"8KB\" and \"128KB\" are supported. Values are case insensitive.", +"type": "string" +}, +"userIpRequestHeaders": { +"description": "An optional list of case-insensitive request header names to use for resolving the callers client IP address.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyAdvancedOptionsConfigJsonCustomConfig": { +"id": "SecurityPolicyAdvancedOptionsConfigJsonCustomConfig", +"properties": { +"contentTypes": { +"description": "A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type \"/\" subtype *[\";\" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyAssociation": { +"id": "SecurityPolicyAssociation", +"properties": { +"attachmentId": { +"description": "The resource that the security policy is attached to.", +"type": "string" +}, +"displayName": { +"deprecated": true, +"description": "[Output Only] The display name of the security policy of the association.", +"type": "string" +}, +"excludedFolders": { +"description": "A list of folders to exclude from the security policy.", +"items": { +"type": "string" +}, +"type": "array" +}, +"excludedProjects": { +"description": "A list of projects to exclude from the security policy.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "The name for an association.", +"type": "string" +}, +"securityPolicyId": { +"description": "[Output Only] The security policy ID of the association.", +"type": "string" +}, +"shortName": { +"description": "[Output Only] The short name of the security policy of the association.", +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyCloudArmorConfig": { +"description": "Configuration options for Cloud Armor.", +"id": "SecurityPolicyCloudArmorConfig", +"properties": { +"enableMl": { +"deprecated": true, +"description": "If set to true, enables Cloud Armor Machine Learning.", +"type": "boolean" +} +}, +"type": "object" +}, +"SecurityPolicyDdosProtectionConfig": { +"id": "SecurityPolicyDdosProtectionConfig", +"properties": { +"ddosProtection": { +"enum": [ +"ADVANCED", +"ADVANCED_PREVIEW", +"STANDARD" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyList": { +"id": "SecurityPolicyList", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of SecurityPolicy resources.", +"items": { +"$ref": "SecurityPolicy" +}, +"type": "array" +}, +"kind": { +"default": "compute#securityPolicyList", +"description": "[Output Only] Type of resource. Always compute#securityPolicyList for listsof securityPolicies", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"SecurityPolicyRecaptchaOptionsConfig": { +"id": "SecurityPolicyRecaptchaOptionsConfig", +"properties": { +"redirectSiteKey": { +"description": "An optional field to supply a reCAPTCHA site key to be used for all the rules using the redirect action with the type of GOOGLE_RECAPTCHA under the security policy. The specified site key needs to be created from the reCAPTCHA API. The user is responsible for the validity of the specified site key. If not specified, a Google-managed site key is used. This field is only supported in Global Security Policies of type CLOUD_ARMOR.", +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyReference": { +"id": "SecurityPolicyReference", +"properties": { +"securityPolicy": { +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyRule": { +"description": "Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny).", +"id": "SecurityPolicyRule", +"properties": { +"action": { +"description": "The Action to perform when the rule is matched. The following are the valid actions: - allow: allow access to target. - deny(STATUS): deny access to target, returns the HTTP response code specified. Valid values for `STATUS` are 403, 404, and 502. - rate_based_ban: limit client traffic to the configured threshold and ban the client if the traffic exceeds the threshold. Configure parameters for this action in RateLimitOptions. Requires rate_limit_options to be set. - redirect: redirect to a different target. This can either be an internal reCAPTCHA redirect, or an external URL-based redirect via a 302 response. Parameters for this action can be configured via redirectOptions. This action is only supported in Global Security Policies of type CLOUD_ARMOR. - throttle: limit client traffic to the configured threshold. Configure parameters for this action in rateLimitOptions. Requires rate_limit_options to be set for this. ", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"direction": { +"deprecated": true, +"description": "The direction in which this rule applies. This field may only be specified when versioned_expr is set to FIREWALL.", +"enum": [ +"EGRESS", +"INGRESS" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"enableLogging": { +"deprecated": true, +"description": "Denotes whether to enable logging for a particular rule. If logging is enabled, logs will be exported to the configured export destination in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging on \"goto_next\" rules. This field may only be specified when the versioned_expr is set to FIREWALL.", +"type": "boolean" +}, +"headerAction": { +"$ref": "SecurityPolicyRuleHttpHeaderAction", +"description": "Optional, additional actions that are performed on headers. This field is only supported in Global Security Policies of type CLOUD_ARMOR." +}, +"kind": { +"default": "compute#securityPolicyRule", +"description": "[Output only] Type of the resource. Always compute#securityPolicyRule for security policy rules", +"type": "string" +}, +"match": { +"$ref": "SecurityPolicyRuleMatcher", +"description": "A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced." +}, +"networkMatch": { +"$ref": "SecurityPolicyRuleNetworkMatcher", +"description": "A match condition that incoming packets are evaluated against for CLOUD_ARMOR_NETWORK security policies. If it matches, the corresponding 'action' is enforced. The match criteria for a rule consists of built-in match fields (like 'srcIpRanges') and potentially multiple user-defined match fields ('userDefinedFields'). Field values may be extracted directly from the packet or derived from it (e.g. 'srcRegionCodes'). Some fields may not be present in every packet (e.g. 'srcPorts'). A user-defined field is only present if the base header is found in the packet and the entire field is in bounds. Each match field may specify which values can match it, listing one or more ranges, prefixes, or exact values that are considered a match for the field. A field value must be present in order to match a specified match field. If no match values are specified for a match field, then any field value is considered to match it, and it's not required to be present. For strings specifying '*' is also equivalent to match all. For a packet to match a rule, all specified match fields must match the corresponding field values derived from the packet. Example: networkMatch: srcIpRanges: - \"192.0.2.0/24\" - \"198.51.100.0/24\" userDefinedFields: - name: \"ipv4_fragment_offset\" values: - \"1-0x1fff\" The above match condition matches packets with a source IP in 192.0.2.0/24 or 198.51.100.0/24 and a user-defined field named \"ipv4_fragment_offset\" with a value between 1 and 0x1fff inclusive." +}, +"preconfiguredWafConfig": { +"$ref": "SecurityPolicyRulePreconfiguredWafConfig", +"description": "Preconfigured WAF configuration to be applied for the rule. If the rule does not evaluate preconfigured WAF rules, i.e., if evaluatePreconfiguredWaf() is not used, this field will have no effect." +}, +"preview": { +"description": "If set to true, the specified action is not enforced.", +"type": "boolean" +}, +"priority": { +"description": "An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority.", +"format": "int32", +"type": "integer" +}, +"rateLimitOptions": { +"$ref": "SecurityPolicyRuleRateLimitOptions", +"description": "Must be specified if the action is \"rate_based_ban\" or \"throttle\". Cannot be specified for any other actions." +}, +"redirectOptions": { +"$ref": "SecurityPolicyRuleRedirectOptions", +"description": "Parameters defining the redirect action. Cannot be specified for any other actions. This field is only supported in Global Security Policies of type CLOUD_ARMOR." +}, +"redirectTarget": { +"description": "This must be specified for redirect actions. Cannot be specified for any other actions.", +"type": "string" +}, +"ruleManagedProtectionTier": { +"deprecated": true, +"description": "[Output Only] The minimum managed protection tier required for this rule. [Deprecated] Use requiredManagedProtectionTiers instead.", +"enum": [ +"CAMP_PLUS_ANNUAL", +"CAMP_PLUS_PAYGO", +"CA_STANDARD" +], +"enumDescriptions": [ +"Plus tier protection annual.", +"Plus tier protection monthly.", +"Standard protection." +], +"type": "string" +}, +"ruleNumber": { +"description": "Identifier for the rule. This is only unique within the given security policy. This can only be set during rule creation, if rule number is not specified it will be generated by the server.", +"format": "int64", +"type": "string" +}, +"ruleTupleCount": { +"deprecated": true, +"description": "[Output Only] Calculation of the complexity of a single firewall security policy rule.", +"format": "int32", +"type": "integer" +}, +"targetResources": { +"deprecated": true, +"description": "A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. This field may only be specified when versioned_expr is set to FIREWALL.", +"items": { +"type": "string" +}, +"type": "array" +}, +"targetServiceAccounts": { +"deprecated": true, +"description": "A list of service accounts indicating the sets of instances that are applied with this rule.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyRuleHttpHeaderAction": { +"id": "SecurityPolicyRuleHttpHeaderAction", +"properties": { +"requestHeadersToAdds": { +"description": "The list of request headers to add or overwrite if they're already present.", +"items": { +"$ref": "SecurityPolicyRuleHttpHeaderActionHttpHeaderOption" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyRuleHttpHeaderActionHttpHeaderOption": { +"id": "SecurityPolicyRuleHttpHeaderActionHttpHeaderOption", +"properties": { +"headerName": { +"description": "The name of the header to set.", +"type": "string" +}, +"headerValue": { +"description": "The value to set the named header to.", +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyRuleMatcher": { +"description": "Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified.", +"id": "SecurityPolicyRuleMatcher", +"properties": { +"config": { +"$ref": "SecurityPolicyRuleMatcherConfig", +"description": "The configuration options available when specifying versioned_expr. This field must be specified if versioned_expr is specified and cannot be specified if versioned_expr is not specified." +}, +"expr": { +"$ref": "Expr", +"description": "User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header. Expressions containing `evaluateThreatIntelligence` require Cloud Armor Managed Protection Plus tier and are not supported in Edge Policies nor in Regional Policies. Expressions containing `evaluatePreconfiguredExpr('sourceiplist-*')` require Cloud Armor Managed Protection Plus tier and are only supported in Global Security Policies." +}, +"exprOptions": { +"$ref": "SecurityPolicyRuleMatcherExprOptions", +"description": "The configuration options available when specifying a user defined CEVAL expression (i.e., 'expr')." +}, +"versionedExpr": { +"description": "Preconfigured versioned expression. If this field is specified, config must also be specified. Available preconfigured expressions along with their requirements are: SRC_IPS_V1 - must specify the corresponding src_ip_range field in config.", +"enum": [ +"FIREWALL", +"SRC_IPS_V1" +], +"enumDescriptions": [ +"", +"Matches the source IP address of a request to the IP ranges supplied in config." +], +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyRuleMatcherConfig": { +"id": "SecurityPolicyRuleMatcherConfig", +"properties": { +"destIpRanges": { +"deprecated": true, +"description": "CIDR IP address range. This field may only be specified when versioned_expr is set to FIREWALL.", +"items": { +"type": "string" +}, +"type": "array" +}, +"destPorts": { +"deprecated": true, +"description": "Pairs of IP protocols and ports that the rule should match. This field may only be specified when versioned_expr is set to FIREWALL.", +"items": { +"$ref": "SecurityPolicyRuleMatcherConfigDestinationPort" +}, +"type": "array" +}, +"layer4Configs": { +"deprecated": true, +"description": "Pairs of IP protocols and ports that the rule should match. This field may only be specified when versioned_expr is set to FIREWALL.", +"items": { +"$ref": "SecurityPolicyRuleMatcherConfigLayer4Config" +}, +"type": "array" +}, +"srcIpRanges": { +"description": "CIDR IP address range. Maximum number of src_ip_ranges allowed is 10.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyRuleMatcherConfigDestinationPort": { +"id": "SecurityPolicyRuleMatcherConfigDestinationPort", +"properties": { +"ipProtocol": { +"deprecated": true, +"description": "The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number.", +"type": "string" +}, +"ports": { +"deprecated": true, +"description": "An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"]. This field may only be specified when versioned_expr is set to FIREWALL.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyRuleMatcherConfigLayer4Config": { +"id": "SecurityPolicyRuleMatcherConfigLayer4Config", +"properties": { +"ipProtocol": { +"deprecated": true, +"description": "The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number.", +"type": "string" +}, +"ports": { +"deprecated": true, +"description": "An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"]. This field may only be specified when versioned_expr is set to FIREWALL.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyRuleMatcherExprOptions": { +"id": "SecurityPolicyRuleMatcherExprOptions", +"properties": { +"recaptchaOptions": { +"$ref": "SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions", +"description": "reCAPTCHA configuration options to be applied for the rule. If the rule does not evaluate reCAPTCHA tokens, this field has no effect." +} +}, +"type": "object" +}, +"SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions": { +"id": "SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions", +"properties": { +"actionTokenSiteKeys": { +"description": "A list of site keys to be used during the validation of reCAPTCHA action-tokens. The provided site keys need to be created from reCAPTCHA API under the same project where the security policy is created.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sessionTokenSiteKeys": { +"description": "A list of site keys to be used during the validation of reCAPTCHA session-tokens. The provided site keys need to be created from reCAPTCHA API under the same project where the security policy is created.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyRuleNetworkMatcher": { +"description": "Represents a match condition that incoming network traffic is evaluated against.", +"id": "SecurityPolicyRuleNetworkMatcher", +"properties": { +"destIpRanges": { +"description": "Destination IPv4/IPv6 addresses or CIDR prefixes, in standard text format.", +"items": { +"type": "string" +}, +"type": "array" +}, +"destPorts": { +"description": "Destination port numbers for TCP/UDP/SCTP. Each element can be a 16-bit unsigned decimal number (e.g. \"80\") or range (e.g. \"0-1023\").", +"items": { +"type": "string" +}, +"type": "array" +}, +"ipProtocols": { +"description": "IPv4 protocol / IPv6 next header (after extension headers). Each element can be an 8-bit unsigned decimal number (e.g. \"6\"), range (e.g. \"253-254\"), or one of the following protocol names: \"tcp\", \"udp\", \"icmp\", \"esp\", \"ah\", \"ipip\", or \"sctp\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"srcAsns": { +"description": "BGP Autonomous System Number associated with the source IP address.", +"items": { +"format": "uint32", +"type": "integer" +}, +"type": "array" +}, +"srcIpRanges": { +"description": "Source IPv4/IPv6 addresses or CIDR prefixes, in standard text format.", +"items": { +"type": "string" +}, +"type": "array" +}, +"srcPorts": { +"description": "Source port numbers for TCP/UDP/SCTP. Each element can be a 16-bit unsigned decimal number (e.g. \"80\") or range (e.g. \"0-1023\").", +"items": { +"type": "string" +}, +"type": "array" +}, +"srcRegionCodes": { +"description": "Two-letter ISO 3166-1 alpha-2 country code associated with the source IP address.", +"items": { +"type": "string" +}, +"type": "array" +}, +"userDefinedFields": { +"description": "User-defined fields. Each element names a defined field and lists the matching values for that field.", +"items": { +"$ref": "SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch": { +"id": "SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch", +"properties": { +"name": { +"description": "Name of the user-defined field, as given in the definition.", +"type": "string" +}, +"values": { +"description": "Matching values of the field. Each element can be a 32-bit unsigned decimal or hexadecimal (starting with \"0x\") number (e.g. \"64\") or range (e.g. \"0x400-0x7ff\").", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyRulePreconfiguredWafConfig": { +"id": "SecurityPolicyRulePreconfiguredWafConfig", +"properties": { +"exclusions": { +"description": "A list of exclusions to apply during preconfigured WAF evaluation.", +"items": { +"$ref": "SecurityPolicyRulePreconfiguredWafConfigExclusion" +}, +"type": "array" +} +}, +"type": "object" +}, +"SecurityPolicyRulePreconfiguredWafConfigExclusion": { +"id": "SecurityPolicyRulePreconfiguredWafConfigExclusion", +"properties": { +"requestCookiesToExclude": { +"description": "A list of request cookie names whose value will be excluded from inspection during preconfigured WAF evaluation.", +"items": { +"$ref": "SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams" +}, +"type": "array" +}, +"requestHeadersToExclude": { +"description": "A list of request header names whose value will be excluded from inspection during preconfigured WAF evaluation.", +"items": { +"$ref": "SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams" +}, +"type": "array" +}, +"requestQueryParamsToExclude": { +"description": "A list of request query parameter names whose value will be excluded from inspection during preconfigured WAF evaluation. Note that the parameter can be in the query string or in the POST body.", +"items": { +"$ref": "SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams" +}, +"type": "array" +}, +"requestUrisToExclude": { +"description": "A list of request URIs from the request line to be excluded from inspection during preconfigured WAF evaluation. When specifying this field, the query or fragment part should be excluded.", +"items": { +"$ref": "SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams" +}, +"type": "array" +}, +"targetRuleIds": { +"description": "A list of target rule IDs under the WAF rule set to apply the preconfigured WAF exclusion. If omitted, it refers to all the rule IDs under the WAF rule set.", +"items": { +"type": "string" +}, +"type": "array" +}, +"targetRuleSet": { +"description": "Target WAF rule set to apply the preconfigured WAF exclusion.", +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams": { +"id": "SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams", +"properties": { +"op": { +"description": "The match operator for the field.", +"enum": [ +"CONTAINS", +"ENDS_WITH", +"EQUALS", +"EQUALS_ANY", +"STARTS_WITH" +], +"enumDescriptions": [ +"The operator matches if the field value contains the specified value.", +"The operator matches if the field value ends with the specified value.", +"The operator matches if the field value equals the specified value.", +"The operator matches if the field value is any value.", +"The operator matches if the field value starts with the specified value." +], +"type": "string" +}, +"val": { +"description": "The value of the field.", +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyRuleRateLimitOptions": { +"id": "SecurityPolicyRuleRateLimitOptions", +"properties": { +"banDurationSec": { +"description": "Can only be specified if the action for the rule is \"rate_based_ban\". If specified, determines the time (in seconds) the traffic will continue to be banned by the rate limit after the rate falls below the threshold.", +"format": "int32", +"type": "integer" +}, +"banThreshold": { +"$ref": "SecurityPolicyRuleRateLimitOptionsThreshold", +"description": "Can only be specified if the action for the rule is \"rate_based_ban\". If specified, the key will be banned for the configured 'ban_duration_sec' when the number of requests that exceed the 'rate_limit_threshold' also exceed this 'ban_threshold'." +}, +"conformAction": { +"description": "Action to take for requests that are under the configured rate limit threshold. Valid option is \"allow\" only.", +"type": "string" +}, +"enforceOnKey": { +"description": "Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if \"enforceOnKey\" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. - USER_IP: The IP address of the originating client, which is resolved based on \"userIpRequestHeaders\" configured with the security policy. If there is no \"userIpRequestHeaders\" configuration or an IP address cannot be resolved from it, the key type defaults to IP. - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. ", +"enum": [ +"ALL", +"ALL_IPS", +"HTTP_COOKIE", +"HTTP_HEADER", +"HTTP_PATH", +"IP", +"REGION_CODE", +"SNI", +"TLS_JA3_FINGERPRINT", +"TLS_JA4_FINGERPRINT", +"USER_IP", +"XFF_IP" +], +"enumDeprecated": [ +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"enforceOnKeyConfigs": { +"description": "If specified, any combination of values of enforce_on_key_type/enforce_on_key_name is treated as the key on which ratelimit threshold/action is enforced. You can specify up to 3 enforce_on_key_configs. If enforce_on_key_configs is specified, enforce_on_key must not be specified.", +"items": { +"$ref": "SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig" +}, +"type": "array" +}, +"enforceOnKeyName": { +"description": "Rate limit key name applicable only for the following key types: HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value.", +"type": "string" +}, +"exceedAction": { +"description": "Action to take for requests that are above the configured rate limit threshold, to either deny with a specified HTTP response code, or redirect to a different endpoint. Valid options are `deny(STATUS)`, where valid values for `STATUS` are 403, 404, 429, and 502, and `redirect`, where the redirect parameters come from `exceedRedirectOptions` below. The `redirect` action is only supported in Global Security Policies of type CLOUD_ARMOR.", +"type": "string" +}, +"exceedActionRpcStatus": { +"$ref": "SecurityPolicyRuleRateLimitOptionsRpcStatus", +"description": "Specified gRPC response status for proxyless gRPC requests that are above the configured rate limit threshold" +}, +"exceedRedirectOptions": { +"$ref": "SecurityPolicyRuleRedirectOptions", +"description": "Parameters defining the redirect action that is used as the exceed action. Cannot be specified if the exceed action is not redirect. This field is only supported in Global Security Policies of type CLOUD_ARMOR." +}, +"rateLimitThreshold": { +"$ref": "SecurityPolicyRuleRateLimitOptionsThreshold", +"description": "Threshold at which to begin ratelimiting." +} +}, +"type": "object" +}, +"SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig": { +"id": "SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig", +"properties": { +"enforceOnKeyName": { +"description": "Rate limit key name applicable only for the following key types: HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value.", +"type": "string" +}, +"enforceOnKeyType": { +"description": "Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if \"enforceOnKeyConfigs\" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. - USER_IP: The IP address of the originating client, which is resolved based on \"userIpRequestHeaders\" configured with the security policy. If there is no \"userIpRequestHeaders\" configuration or an IP address cannot be resolved from it, the key type defaults to IP. - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. ", +"enum": [ +"ALL", +"ALL_IPS", +"HTTP_COOKIE", +"HTTP_HEADER", +"HTTP_PATH", +"IP", +"REGION_CODE", +"SNI", +"TLS_JA3_FINGERPRINT", +"TLS_JA4_FINGERPRINT", +"USER_IP", +"XFF_IP" +], +"enumDeprecated": [ +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyRuleRateLimitOptionsRpcStatus": { +"description": "Simplified google.rpc.Status type (omitting details).", +"id": "SecurityPolicyRuleRateLimitOptionsRpcStatus", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"message": { +"description": "A developer-facing error message, which should be in English.", +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyRuleRateLimitOptionsThreshold": { +"id": "SecurityPolicyRuleRateLimitOptionsThreshold", +"properties": { +"count": { +"description": "Number of HTTP(S) requests for calculating the threshold.", +"format": "int32", +"type": "integer" +}, +"intervalSec": { +"description": "Interval over which the threshold is computed.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"SecurityPolicyRuleRedirectOptions": { +"id": "SecurityPolicyRuleRedirectOptions", +"properties": { +"target": { +"description": "Target for the redirect action. This is required if the type is EXTERNAL_302 and cannot be specified for GOOGLE_RECAPTCHA.", +"type": "string" +}, +"type": { +"description": "Type of the redirect action.", +"enum": [ +"EXTERNAL_302", +"GOOGLE_RECAPTCHA" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicyUserDefinedField": { +"id": "SecurityPolicyUserDefinedField", +"properties": { +"base": { +"description": "The base relative to which 'offset' is measured. Possible values are: - IPV4: Points to the beginning of the IPv4 header. - IPV6: Points to the beginning of the IPv6 header. - TCP: Points to the beginning of the TCP header, skipping over any IPv4 options or IPv6 extension headers. Not present for non-first fragments. - UDP: Points to the beginning of the UDP header, skipping over any IPv4 options or IPv6 extension headers. Not present for non-first fragments. required", +"enum": [ +"IPV4", +"IPV6", +"TCP", +"UDP" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"mask": { +"description": "If specified, apply this mask (bitwise AND) to the field to ignore bits before matching. Encoded as a hexadecimal number (starting with \"0x\"). The last byte of the field (in network byte order) corresponds to the least significant byte of the mask.", +"type": "string" +}, +"name": { +"description": "The name of this field. Must be unique within the policy.", +"type": "string" +}, +"offset": { +"description": "Offset of the first byte of the field (in network byte order) relative to 'base'.", +"format": "int32", +"type": "integer" +}, +"size": { +"description": "Size of the field in bytes. Valid values: 1-4.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"SecuritySettings": { +"description": "The authentication and authorization settings for a BackendService.", +"id": "SecuritySettings", +"properties": { +"authentication": { +"deprecated": true, +"description": "[Deprecated] Use clientTlsPolicy instead.", +"type": "string" +}, +"authenticationPolicy": { +"$ref": "AuthenticationPolicy", +"description": "[Deprecated] Authentication policy defines what authentication methods can be accepted on backends, and if authenticated, which method/certificate will set the request principal. request principal." +}, +"authorizationConfig": { +"$ref": "AuthorizationConfig", +"description": "[Deprecated] Authorization config defines the Role Based Access Control (RBAC) config. Authorization config defines the Role Based Access Control (RBAC) config." +}, +"awsV4Authentication": { +"$ref": "AWSV4Signature", +"description": "The configuration needed to generate a signature for access to private storage buckets that support AWS's Signature Version 4 for authentication. Allowed only for INTERNET_IP_PORT and INTERNET_FQDN_PORT NEG backends." +}, +"clientTlsPolicy": { +"description": "Optional. A URL referring to a networksecurity.ClientTlsPolicy resource that describes how clients should authenticate with this service's backends. clientTlsPolicy only applies to a global BackendService with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. If left blank, communications are not encrypted.", +"type": "string" +}, +"clientTlsSettings": { +"$ref": "ClientTlsSettings", +"description": "[Deprecated] TLS Settings for the backend service." +}, +"subjectAltNames": { +"description": "Optional. A list of Subject Alternative Names (SANs) that the client verifies during a mutual TLS handshake with an server/endpoint for this BackendService. When the server presents its X.509 certificate to the client, the client inspects the certificate's subjectAltName field. If the field contains one of the specified values, the communication continues. Otherwise, it fails. This additional check enables the client to verify that the server is authorized to run the requested service. Note that the contents of the server certificate's subjectAltName field are configured by the Public Key Infrastructure which provisions server identities. Only applies to a global BackendService with loadBalancingScheme set to INTERNAL_SELF_MANAGED. Only applies when BackendService has an attached clientTlsPolicy with clientCertificate (mTLS mode).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SerialPortOutput": { +"description": "An instance serial console output.", +"id": "SerialPortOutput", +"properties": { +"contents": { +"description": "[Output Only] The contents of the console output.", +"type": "string" +}, +"kind": { +"default": "compute#serialPortOutput", +"description": "[Output Only] Type of the resource. Always compute#serialPortOutput for serial port output.", +"type": "string" +}, +"next": { +"description": "[Output Only] The position of the next byte of content, regardless of whether the content exists, following the output returned in the `contents` property. Use this value in the next request as the start parameter.", +"format": "int64", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"start": { +"description": "The starting byte position of the output that was returned. This should match the start parameter sent with the request. If the serial console output exceeds the size of the buffer (1 MB), older output is overwritten by newer content. The output start value will indicate the byte position of the output that was returned, which might be different than the `start` value that was specified in the request.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ServerBinding": { +"id": "ServerBinding", +"properties": { +"type": { +"enum": [ +"RESTART_NODE_ON_ANY_SERVER", +"RESTART_NODE_ON_MINIMAL_SERVERS", +"SERVER_BINDING_TYPE_UNSPECIFIED" +], +"enumDescriptions": [ +"Node may associate with any physical server over its lifetime.", +"Node may associate with minimal physical servers over its lifetime.", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"ServerTlsSettings": { +"description": "The TLS settings for the server.", +"id": "ServerTlsSettings", +"properties": { +"proxyTlsContext": { +"$ref": "TlsContext", +"description": "Configures the mechanism to obtain security certificates and identity information." +}, +"subjectAltNames": { +"description": "A list of alternate names to verify the subject identity in the certificate presented by the client.", +"items": { +"type": "string" +}, +"type": "array" +}, +"tlsMode": { +"description": "Indicates whether connections should be secured using TLS. The value of this field determines how TLS is enforced. This field can be set to one of the following: - SIMPLE Secure connections with standard TLS semantics. - MUTUAL Secure connections to the backends using mutual TLS by presenting client certificates for authentication. ", +"enum": [ +"INVALID", +"MUTUAL", +"SIMPLE" +], +"enumDescriptions": [ +"", +"Secure connections to the backends using mutual TLS by presenting client certificates for authentication.", +"Secure connections with standard TLS semantics." +], +"type": "string" +} +}, +"type": "object" +}, +"ServiceAccount": { +"description": "A service account.", +"id": "ServiceAccount", +"properties": { +"email": { +"description": "Email address of the service account.", +"type": "string" +}, +"scopes": { +"description": "The list of scopes to be made available for this service account.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ServiceAttachment": { +"description": "Represents a ServiceAttachment resource. A service attachment represents a service that a producer has exposed. It encapsulates the load balancer which fronts the service runs and a list of NAT IP ranges that the producers uses to represent the consumers connecting to the service.", +"id": "ServiceAttachment", +"properties": { +"connectedEndpoints": { +"description": "[Output Only] An array of connections for all the consumers connected to this service attachment.", +"items": { +"$ref": "ServiceAttachmentConnectedEndpoint" +}, +"type": "array" +}, +"connectionPreference": { +"description": "The connection preference of service attachment. The value can be set to ACCEPT_AUTOMATIC. An ACCEPT_AUTOMATIC service attachment is one that always accepts the connection from consumer forwarding rules.", +"enum": [ +"ACCEPT_AUTOMATIC", +"ACCEPT_MANUAL", +"CONNECTION_PREFERENCE_UNSPECIFIED" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"consumerAcceptLists": { +"description": "Specifies which consumer projects or networks are allowed to connect to the service attachment. Each project or network has a connection limit. A given service attachment can manage connections at either the project or network level. Therefore, both the accept and reject lists for a given service attachment must contain either only projects or only networks.", +"items": { +"$ref": "ServiceAttachmentConsumerProjectLimit" +}, +"type": "array" +}, +"consumerRejectLists": { +"description": "Specifies a list of projects or networks that are not allowed to connect to this service attachment. The project can be specified using its project ID or project number and the network can be specified using its URL. A given service attachment can manage connections at either the project or network level. Therefore, both the reject and accept lists for a given service attachment must contain either only projects or only networks.", +"items": { +"type": "string" +}, +"type": "array" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"domainNames": { +"description": "If specified, the domain name will be used during the integration between the PSC connected endpoints and the Cloud DNS. For example, this is a valid domain name: \"p.mycompany.com.\". Current max number of domain names supported is 1.", +"items": { +"type": "string" +}, +"type": "array" +}, +"enableProxyProtocol": { +"description": "If true, enable the proxy protocol which is for supplying client TCP/IP address data in TCP connections that traverse proxies on their way to destination servers.", +"type": "boolean" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a ServiceAttachment. An up-to-date fingerprint must be provided in order to patch/update the ServiceAttachment; otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the ServiceAttachment.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#serviceAttachment", +"description": "[Output Only] Type of the resource. Always compute#serviceAttachment for service attachments.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.serviceAttachments.insert" +] +}, +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"natSubnets": { +"description": "An array of URLs where each entry is the URL of a subnet provided by the service producer to use for NAT in this service attachment.", +"items": { +"type": "string" +}, +"type": "array" +}, +"producerForwardingRule": { +"deprecated": true, +"description": "The URL of a forwarding rule with loadBalancingScheme INTERNAL* that is serving the endpoint identified by this service attachment.", +"type": "string" +}, +"propagatedConnectionLimit": { +"description": "The number of consumer spokes that connected Private Service Connect endpoints can be propagated to through Network Connectivity Center. This limit lets the service producer limit how many propagated Private Service Connect connections can be established to this service attachment from a single consumer. If the connection preference of the service attachment is ACCEPT_MANUAL, the limit applies to each project or network that is listed in the consumer accept list. If the connection preference of the service attachment is ACCEPT_AUTOMATIC, the limit applies to each project that contains a connected endpoint. If unspecified, the default propagated connection limit is 250.", +"format": "uint32", +"type": "integer" +}, +"pscServiceAttachmentId": { +"$ref": "Uint128", +"description": "[Output Only] An 128-bit global unique ID of the PSC service attachment." +}, +"reconcileConnections": { +"description": "This flag determines whether a consumer accept/reject list change can reconcile the statuses of existing ACCEPTED or REJECTED PSC endpoints. - If false, connection policy update will only affect existing PENDING PSC endpoints. Existing ACCEPTED/REJECTED endpoints will remain untouched regardless how the connection policy is modified . - If true, update will affect both PENDING and ACCEPTED/REJECTED PSC endpoints. For example, an ACCEPTED PSC endpoint will be moved to REJECTED if its project is added to the reject list. For newly created service attachment, this boolean defaults to false.", +"type": "boolean" +}, +"region": { +"description": "[Output Only] URL of the region where the service attachment resides. This field applies only to the region resource. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"targetService": { +"description": "The URL of a service serving the endpoint identified by this service attachment.", +"type": "string" +}, +"tunnelingConfig": { +"$ref": "ServiceAttachmentTunnelingConfig", +"description": "When a tunneling config is set on this service attachment it will encapsulate traffic between consumer and producer. When tunneling is enabled: - nat_subnets must be unset - enable_proxy_protocol must be false - producer_forwarding_rule must be a L4 ILB. - " +} +}, +"type": "object" +}, +"ServiceAttachmentAggregatedList": { +"description": "Contains a list of ServiceAttachmentsScopedList.", +"id": "ServiceAttachmentAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "ServiceAttachmentsScopedList", +"description": "Name of the scope containing this set of ServiceAttachments." +}, +"description": "A list of ServiceAttachmentsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#serviceAttachmentAggregatedList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"ServiceAttachmentConnectedEndpoint": { +"description": "[Output Only] A connection connected to this service attachment.", +"id": "ServiceAttachmentConnectedEndpoint", +"properties": { +"consumerNetwork": { +"description": "The url of the consumer network.", +"type": "string" +}, +"endpoint": { +"description": "The url of a connected endpoint.", +"type": "string" +}, +"propagatedConnectionCount": { +"description": "The number of consumer Network Connectivity Center spokes that the connected Private Service Connect endpoint has propagated to.", +"format": "uint32", +"type": "integer" +}, +"pscConnectionId": { +"description": "The PSC connection id of the connected endpoint.", +"format": "uint64", +"type": "string" +}, +"status": { +"description": "The status of a connected endpoint to this service attachment.", +"enum": [ +"ACCEPTED", +"CLOSED", +"NEEDS_ATTENTION", +"PENDING", +"REJECTED", +"STATUS_UNSPECIFIED" +], +"enumDescriptions": [ +"The connection has been accepted by the producer.", +"The connection has been closed by the producer.", +"The connection has been accepted by the producer, but the producer needs to take further action before the forwarding rule can serve traffic.", +"The connection is pending acceptance by the producer.", +"The consumer is still connected but not using the connection.", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"ServiceAttachmentConsumerProjectLimit": { +"id": "ServiceAttachmentConsumerProjectLimit", +"properties": { +"connectionLimit": { +"description": "The value of the limit to set.", +"format": "uint32", +"type": "integer" +}, +"networkUrl": { +"description": "The network URL for the network to set the limit for.", +"type": "string" +}, +"projectIdOrNum": { +"description": "The project id or number for the project to set the limit for.", +"type": "string" +} +}, +"type": "object" +}, +"ServiceAttachmentList": { +"id": "ServiceAttachmentList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of ServiceAttachment resources.", +"items": { +"$ref": "ServiceAttachment" +}, +"type": "array" +}, +"kind": { +"default": "compute#serviceAttachmentList", +"description": "[Output Only] Type of the resource. Always compute#serviceAttachment for service attachments.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"ServiceAttachmentTunnelingConfig": { +"description": "Use to configure this PSC connection in tunneling mode. In tunneling mode traffic from consumer to producer will be encapsulated as it crosses the VPC boundary and traffic from producer to consumer will be decapsulated in the same manner.", +"id": "ServiceAttachmentTunnelingConfig", +"properties": { +"encapsulationProfile": { +"description": "Specify the encapsulation protocol and what metadata to include in incoming encapsulated packet headers.", +"enum": [ +"GENEVE_SECURITY_V1", +"UNSPECIFIED_ENCAPSULATION_PROFILE" +], +"enumDescriptions": [ +"Use GENEVE encapsulation protocol and include the SECURITY_V1 set of GENEVE headers.", +"" +], +"type": "string" +}, +"routingMode": { +"description": "How this Service Attachment will treat traffic sent to the tunnel_ip, destined for the consumer network.", +"enum": [ +"PACKET_INJECTION", +"STANDARD_ROUTING", +"UNSPECIFIED_ROUTING_MODE" +], +"enumDescriptions": [ +"Traffic sent to this service attachment will be reinjected into the consumer network.", +"Response traffic, after de-encapsulation, will be returned to the client.", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"ServiceAttachmentsScopedList": { +"id": "ServiceAttachmentsScopedList", +"properties": { +"serviceAttachments": { +"description": "A list of ServiceAttachments contained in this scope.", +"items": { +"$ref": "ServiceAttachment" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of service attachments when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"ServiceIntegrationSpec": { +"description": "Specifies the parameters to configure an integration with instances.", +"id": "ServiceIntegrationSpec", +"properties": { +"backupDr": { +"$ref": "ServiceIntegrationSpecBackupDRSpec" +} +}, +"type": "object" +}, +"ServiceIntegrationSpecBackupDRSpec": { +"description": "Specifies parameters to Backup and DR to attach a BackupPlan to a compute instance for managed VM backup.", +"id": "ServiceIntegrationSpecBackupDRSpec", +"properties": { +"plan": { +"description": "The BackupPlan resource to attach to the instance. Specified as a resource reference in instances, and regional instance templates, and as just the plan name in global instance templates", +"type": "string" +} +}, +"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": [ +"ABANDONED", +"DONE", +"FAILED", +"PROPAGATED", +"PROPAGATING", +"UNSPECIFIED" +], +"enumDescriptions": [ +"Operation not tracked in this location e.g. zone is marked as DOWN.", +"Operation has completed successfully.", +"Operation is in an error state.", +"Operation is confirmed to be in the location.", +"Operation is not yet confirmed to have been created in the location.", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"ShareSettings": { +"description": "The share setting for reservations and sole tenancy node groups.", +"id": "ShareSettings", +"properties": { +"folderMap": { +"additionalProperties": { +"$ref": "ShareSettingsFolderConfig" +}, +"description": "A map of folder id and folder config to specify consumer projects for this shared-reservation. This is only valid when share_type's value is DIRECT_PROJECTS_UNDER_SPECIFIC_FOLDERS. Folder id should be a string of number, and without \"folders/\" prefix.", +"type": "object" +}, +"projectMap": { +"additionalProperties": { +"$ref": "ShareSettingsProjectConfig" +}, +"description": "A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS.", +"type": "object" +}, +"projects": { +"description": "A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS.", +"items": { +"type": "string" +}, +"type": "array" +}, +"shareType": { +"description": "Type of sharing for this shared-reservation", +"enum": [ +"DIRECT_PROJECTS_UNDER_SPECIFIC_FOLDERS", +"LOCAL", +"ORGANIZATION", +"SHARE_TYPE_UNSPECIFIED", +"SPECIFIC_PROJECTS" +], +"enumDescriptions": [ +"Shared-reservation is open to direct child projects of specific folders.", +"Default value.", +"Shared-reservation is open to entire Organization", +"Default value. This value is unused.", +"Shared-reservation is open to specific projects" +], +"type": "string" +} +}, +"type": "object" +}, +"ShareSettingsFolderConfig": { +"description": "Config for each folder in the share settings.", +"id": "ShareSettingsFolderConfig", +"properties": { +"folderId": { +"description": "The folder ID, should be same as the key of this folder config in the parent map. Folder id should be a string of number, and without \"folders/\" prefix.", +"type": "string" +} +}, +"type": "object" +}, +"ShareSettingsProjectConfig": { +"description": "Config for each project in the share settings.", +"id": "ShareSettingsProjectConfig", +"properties": { +"projectId": { +"description": "The project ID, should be same as the key of this project config in the parent map.", +"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. Enabled by default.", +"type": "boolean" +}, +"enableSecureBoot": { +"description": "Defines whether the instance has Secure Boot enabled. Disabled by default.", +"type": "boolean" +}, +"enableVtpm": { +"description": "Defines whether the instance has the vTPM enabled. Enabled by default.", +"type": "boolean" +} +}, +"type": "object" +}, +"ShieldedInstanceIdentity": { +"description": "A Shielded Instance Identity.", +"id": "ShieldedInstanceIdentity", +"properties": { +"eccP256EncryptionKey": { +"$ref": "ShieldedInstanceIdentityEntry", +"description": "An Endorsement Key (EK) made by the ECC P256 algorithm issued to the Shielded Instance's vTPM." +}, +"eccP256SigningKey": { +"$ref": "ShieldedInstanceIdentityEntry", +"description": "An Attestation Key (AK) made by the ECC P256 algorithm issued to the Shielded Instance's vTPM." +}, +"encryptionKey": { +"$ref": "ShieldedInstanceIdentityEntry", +"description": "An Endorsement Key (EK) made by the RSA 2048 algorithm issued to the Shielded Instance's vTPM." +}, +"kind": { +"default": "compute#shieldedInstanceIdentity", +"description": "[Output Only] Type of the resource. Always compute#shieldedInstanceIdentity for shielded Instance identity entry.", +"type": "string" +}, +"signingKey": { +"$ref": "ShieldedInstanceIdentityEntry", +"description": "An Attestation Key (AK) made by the RSA 2048 algorithm issued to the Shielded Instance's vTPM." +} +}, +"type": "object" +}, +"ShieldedInstanceIdentityEntry": { +"description": "A Shielded Instance Identity Entry.", +"id": "ShieldedInstanceIdentityEntry", +"properties": { +"ekCert": { +"description": "A PEM-encoded X.509 certificate. This field can be empty.", +"type": "string" +}, +"ekPub": { +"description": "A PEM-encoded public key.", +"type": "string" +} +}, +"type": "object" +}, +"ShieldedInstanceIntegrityPolicy": { +"description": "The policy describes the baseline against which Instance boot integrity is measured.", +"id": "ShieldedInstanceIntegrityPolicy", +"properties": { +"updateAutoLearnPolicy": { +"description": "Updates the integrity policy baseline using the measurements from the VM instance's most recent boot.", +"type": "boolean" +} +}, +"type": "object" +}, +"ShieldedVmConfig": { +"description": "A set of Shielded VM options.", +"id": "ShieldedVmConfig", +"properties": { +"enableIntegrityMonitoring": { +"description": "Defines whether the instance has integrity monitoring enabled.", +"type": "boolean" +}, +"enableSecureBoot": { +"description": "Defines whether the instance has Secure Boot enabled.", +"type": "boolean" +}, +"enableVtpm": { +"description": "Defines whether the instance has the vTPM enabled.", +"type": "boolean" +} +}, +"type": "object" +}, +"ShieldedVmIdentity": { +"description": "A Shielded VM Identity.", +"id": "ShieldedVmIdentity", +"properties": { +"encryptionKey": { +"$ref": "ShieldedVmIdentityEntry", +"description": "An Endorsement Key (EK) issued to the Shielded VM's vTPM." +}, +"kind": { +"default": "compute#shieldedVmIdentity", +"description": "[Output Only] Type of the resource. Always compute#shieldedVmIdentity for shielded VM identity entry.", +"type": "string" +}, +"signingKey": { +"$ref": "ShieldedVmIdentityEntry", +"description": "An Attestation Key (AK) issued to the Shielded VM's vTPM." +} +}, +"type": "object" +}, +"ShieldedVmIdentityEntry": { +"description": "A Shielded Instance Identity Entry.", +"id": "ShieldedVmIdentityEntry", +"properties": { +"ekCert": { +"description": "A PEM-encoded X.509 certificate. This field can be empty.", +"type": "string" +}, +"ekPub": { +"description": "A PEM-encoded public key.", +"type": "string" +} +}, +"type": "object" +}, +"ShieldedVmIntegrityPolicy": { +"description": "The policy describes the baseline against which VM instance boot integrity is measured.", +"id": "ShieldedVmIntegrityPolicy", +"properties": { +"updateAutoLearnPolicy": { +"description": "Updates the integrity policy baseline using the measurements from the VM instance's most recent boot.", +"type": "boolean" +} +}, +"type": "object" +}, +"SignedUrlKey": { +"description": "Represents a customer-supplied Signing Key used by Cloud CDN Signed URLs", +"id": "SignedUrlKey", +"properties": { +"keyName": { +"description": "Name of the key. 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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"keyValue": { +"description": "128-bit key value used for signing the URL. The key value must be a valid RFC 4648 Section 5 base64url encoded string.", +"type": "string" +} +}, +"type": "object" +}, +"Snapshot": { +"description": "Represents a Persistent Disk Snapshot resource. You can use snapshots to back up data on a regular interval. For more information, read Creating persistent disk snapshots.", +"id": "Snapshot", +"properties": { +"architecture": { +"description": "[Output Only] The architecture of the snapshot. Valid values are ARM64 or X86_64.", +"enum": [ +"ARCHITECTURE_UNSPECIFIED", +"ARM64", +"X86_64" +], +"enumDescriptions": [ +"Default value indicating Architecture is not set.", +"Machines with architecture ARM64", +"Machines with architecture X86_64" +], +"type": "string" +}, +"autoCreated": { +"description": "[Output Only] Set to true if snapshots are automatically created by applying resource policy on the target disk.", +"type": "boolean" +}, +"chainName": { +"description": "Creates the new snapshot in the snapshot chain labeled with the specified name. The chain name must be 1-63 characters long and comply with RFC1035. This is an uncommon option only for advanced service owners who needs to create separate snapshot chains, for example, for chargeback tracking. When you describe your snapshot resource, this field is visible only if it has a non-empty value.", +"type": "string" +}, +"creationSizeBytes": { +"description": "[Output Only] Size in bytes of the snapshot at creation time.", +"format": "int64", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"diskSizeGb": { +"description": "[Output Only] Size of the source disk, specified in GB.", +"format": "int64", +"type": "string" +}, +"downloadBytes": { +"description": "[Output Only] Number of bytes downloaded to restore a snapshot to a disk.", +"format": "int64", +"type": "string" +}, +"enableConfidentialCompute": { +"description": "Whether this snapshot is created from a confidential compute mode disk. [Output Only]: This field is not set by user, but from source disk.", +"type": "boolean" +}, +"guestFlush": { +"description": "[Input Only] Whether to attempt an application consistent snapshot by informing the OS to prepare for the snapshot process.", +"type": "boolean" +}, +"guestOsFeatures": { +"description": "[Output Only] A list of features to enable on the guest operating system. Applicable only for bootable images. Read Enabling guest operating system features to see a list of available options.", +"items": { +"$ref": "GuestOsFeature" +}, +"type": "array" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#snapshot", +"description": "[Output Only] Type of the resource. Always compute#snapshot for Snapshot resources.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this snapshot, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a snapshot.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to this snapshot. These can be later modified by the setLabels method. Label values may be empty.", +"type": "object" +}, +"licenseCodes": { +"description": "[Output Only] Integer license codes indicating which licenses are attached to this snapshot.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"licenses": { +"description": "[Output Only] A list of public visible licenses that apply to this snapshot. This can be because the original image had licenses attached (such as a Windows image).", +"items": { +"type": "string" +}, +"type": "array" +}, +"locationHint": { +"description": "An opaque location hint used to place the snapshot close to other resources. This field is for use by internal tools that use the public API.", +"type": "string" +}, +"maxRetentionDays": { +"description": "Number of days the snapshot should be retained before being deleted automatically.", +"format": "int32", +"type": "integer" +}, +"name": { +"annotations": { +"required": [ +"compute.disks.createSnapshot", +"compute.snapshots.insert" +] +}, +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the snapshot resides. Only applicable for regional snapshots.", +"type": "string" +}, +"resourceStatus": { +"$ref": "SnapshotResourceStatus", +"description": "[Output only] ResourceStatus of the Snapshot resource" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource's resource id.", +"type": "string" +}, +"snapshotEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Encrypts the snapshot using a customer-supplied encryption key. After you encrypt a snapshot using a customer-supplied key, you must provide the same key if you use the snapshot later. For example, you must provide the encryption key when you create a disk from the encrypted snapshot in a future request. Customer-supplied encryption keys do not protect access to metadata of the snapshot. If you do not provide an encryption key when creating the snapshot, then the snapshot will be encrypted using an automatically generated key and you do not need to provide a key to use the snapshot later." +}, +"snapshotType": { +"description": "Indicates the type of the snapshot.", +"enum": [ +"ARCHIVE", +"STANDARD" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"sourceDisk": { +"description": "The source disk used to create this snapshot.", +"type": "string" +}, +"sourceDiskEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key." +}, +"sourceDiskForRecoveryCheckpoint": { +"description": "The source disk whose recovery checkpoint will be used to create this snapshot.", +"type": "string" +}, +"sourceDiskId": { +"description": "[Output Only] The ID value of the disk used to create this snapshot. This value may be used to determine whether the snapshot was taken from the current or a previous instance of a given disk name.", +"type": "string" +}, +"sourceInstantSnapshot": { +"description": "The source instant snapshot used to create this snapshot. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /instantSnapshots/instantSnapshot - projects/project/zones/zone/instantSnapshots/instantSnapshot - zones/zone/instantSnapshots/instantSnapshot ", +"type": "string" +}, +"sourceInstantSnapshotEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Customer provided encryption key when creating Snapshot from Instant Snapshot." +}, +"sourceInstantSnapshotId": { +"description": "[Output Only] The unique ID of the instant snapshot used to create this snapshot. This value identifies the exact instant snapshot that was used to create this persistent disk. For example, if you created the persistent disk from an instant snapshot that was later deleted and recreated under the same name, the source instant snapshot ID would identify the exact instant snapshot that was used.", +"type": "string" +}, +"sourceSnapshotSchedulePolicy": { +"description": "[Output Only] URL of the resource policy which created this scheduled snapshot.", +"type": "string" +}, +"sourceSnapshotSchedulePolicyId": { +"description": "[Output Only] ID of the resource policy which created this scheduled snapshot.", +"type": "string" +}, +"status": { +"description": "[Output Only] The status of the snapshot. This can be CREATING, DELETING, FAILED, READY, or UPLOADING.", +"enum": [ +"CREATING", +"DELETING", +"FAILED", +"READY", +"UPLOADING" +], +"enumDescriptions": [ +"Snapshot creation is in progress.", +"Snapshot is currently being deleted.", +"Snapshot creation failed.", +"Snapshot has been created successfully.", +"Snapshot is being uploaded." +], +"type": "string" +}, +"storageBytes": { +"description": "[Output Only] A size of the storage used by the snapshot. As snapshots share storage, this number is expected to change with snapshot creation/deletion.", +"format": "int64", +"type": "string" +}, +"storageBytesStatus": { +"description": "[Output Only] An indicator whether storageBytes is in a stable state or it is being adjusted as a result of shared storage reallocation. This status can either be UPDATING, meaning the size of the snapshot is being updated, or UP_TO_DATE, meaning the size of the snapshot is up-to-date.", +"enum": [ +"UPDATING", +"UP_TO_DATE" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"storageLocations": { +"description": "Cloud Storage bucket storage location of the snapshot (regional or multi-regional).", +"items": { +"type": "string" +}, +"type": "array" +}, +"userLicenses": { +"description": "[Output Only] A list of user provided licenses represented by a list of URLs to the license resource.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SnapshotAggregatedList": { +"id": "SnapshotAggregatedList", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "SnapshotsScopedList", +"description": "[Output Only] Name of the scope containing this set of snapshots." +}, +"description": "A list of SnapshotsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#snapshotAggregatedList", +"description": "[Output Only] Type of resource. Always compute#snapshotAggregatedList for aggregated lists of snapshots.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"SnapshotList": { +"description": "Contains a list of Snapshot resources.", +"id": "SnapshotList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Snapshot resources.", +"items": { +"$ref": "Snapshot" +}, +"type": "array" +}, +"kind": { +"default": "compute#snapshotList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"SnapshotResourceStatus": { +"id": "SnapshotResourceStatus", +"properties": { +"scheduledDeletionTime": { +"description": "[Output only] Scheduled deletion time of the snapshot. The snapshot will be deleted by the at any point within one hour after the deletion time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"SnapshotSettings": { +"id": "SnapshotSettings", +"properties": { +"accessLocation": { +"$ref": "SnapshotSettingsAccessLocation", +"description": "(Regional snapshots use only)Policy of which location is allowed to access snapshot." +}, +"storageLocation": { +"$ref": "SnapshotSettingsStorageLocationSettings", +"description": "Policy of which storage location is going to be resolved, and additional data that particularizes how the policy is going to be carried out." +} +}, +"type": "object" +}, +"SnapshotSettingsAccessLocation": { +"id": "SnapshotSettingsAccessLocation", +"properties": { +"locations": { +"additionalProperties": { +"$ref": "SnapshotSettingsAccessLocationAccessLocationPreference" +}, +"description": "List of regions that can restore a regional snapshot from the current region", +"type": "object" +} +}, +"type": "object" +}, +"SnapshotSettingsAccessLocationAccessLocationPreference": { +"description": "A structure for specifying an allowed target region.", +"id": "SnapshotSettingsAccessLocationAccessLocationPreference", +"properties": { +"region": { +"description": "Accessible region name", +"type": "string" +} +}, +"type": "object" +}, +"SnapshotSettingsStorageLocationSettings": { +"id": "SnapshotSettingsStorageLocationSettings", +"properties": { +"locations": { +"additionalProperties": { +"$ref": "SnapshotSettingsStorageLocationSettingsStorageLocationPreference" +}, +"description": "When the policy is SPECIFIC_LOCATIONS, snapshots will be stored in the locations listed in this field. Keys are Cloud Storage bucket locations. Only one location can be specified.", +"type": "object" +}, +"policy": { +"description": "The chosen location policy.", +"enum": [ +"LOCAL_REGION", +"NEAREST_MULTI_REGION", +"SPECIFIC_LOCATIONS", +"STORAGE_LOCATION_POLICY_UNSPECIFIED" +], +"enumDescriptions": [ +"Store snapshot in the same region as with the originating disk. No additional parameters are needed.", +"Store snapshot in the nearest multi region Cloud Storage bucket, relative to the originating disk. No additional parameters are needed.", +"Store snapshot in the specific locations, as specified by the user. The list of regions to store must be defined under the `locations` field.", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"SnapshotSettingsStorageLocationSettingsStorageLocationPreference": { +"description": "A structure for specifying storage locations.", +"id": "SnapshotSettingsStorageLocationSettingsStorageLocationPreference", +"properties": { +"name": { +"description": "Name of the location. It should be one of the Cloud Storage buckets. Only one location can be specified.", +"type": "string" +} +}, +"type": "object" +}, +"SnapshotsScopedList": { +"id": "SnapshotsScopedList", +"properties": { +"snapshots": { +"description": "[Output Only] A list of snapshots contained in this scope.", +"items": { +"$ref": "Snapshot" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of snapshots when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"SourceDiskEncryptionKey": { +"id": "SourceDiskEncryptionKey", +"properties": { +"diskEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key." +}, +"sourceDisk": { +"description": "URL of the disk attached to the source instance. This can be a full or valid partial URL. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - projects/project/zones/zone/disks/disk - zones/zone/disks/disk ", +"type": "string" +} +}, +"type": "object" +}, +"SourceInstanceParams": { +"description": "A specification of the parameters to use when creating the instance template from a source instance.", +"id": "SourceInstanceParams", +"properties": { +"diskConfigs": { +"description": "Attached disks configuration. If not provided, defaults are applied: For boot disk and any other R/W disks, the source images for each disk will be used. For read-only disks, they will be attached in read-only mode. Local SSD disks will be created as blank volumes.", +"items": { +"$ref": "DiskInstantiationConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"SourceInstanceProperties": { +"description": "DEPRECATED: Please use compute#instanceProperties instead. New properties will not be added to this field.", +"id": "SourceInstanceProperties", +"properties": { +"canIpForward": { +"description": "Enables instances created based on this machine image to send packets with source IP addresses other than their own and receive packets with destination IP addresses other than their own. If these instances will be used as an IP gateway or it will be set as the next-hop in a Route resource, specify true. If unsure, leave this set to false. See the Enable IP forwarding documentation for more information.", +"type": "boolean" +}, +"deletionProtection": { +"description": "Whether the instance created from this machine image should be protected against deletion.", +"type": "boolean" +}, +"description": { +"description": "An optional text description for the instances that are created from this machine image.", +"type": "string" +}, +"disks": { +"description": "An array of disks that are associated with the instances that are created from this machine image.", +"items": { +"$ref": "SavedAttachedDisk" +}, +"type": "array" +}, +"guestAccelerators": { +"description": "A list of guest accelerator cards' type and count to use for instances created from this machine image.", +"items": { +"$ref": "AcceleratorConfig" +}, +"type": "array" +}, +"keyRevocationActionType": { +"description": "KeyRevocationActionType of the instance. Supported options are \"STOP\" and \"NONE\". The default value is \"NONE\" if it is not specified.", +"enum": [ +"KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", +"NONE", +"STOP" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Indicates user chose no operation.", +"Indicates user chose to opt for VM shutdown on key revocation." +], +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to instances that are created from this machine image.", +"type": "object" +}, +"machineType": { +"description": "The machine type to use for instances that are created from this machine image.", +"type": "string" +}, +"metadata": { +"$ref": "Metadata", +"description": "The metadata key/value pairs to assign to instances that are created from this machine image. These pairs can consist of custom metadata or predefined keys. See Project and instance metadata for more information." +}, +"minCpuPlatform": { +"description": "Minimum cpu/platform to be used by instances created from this machine image. 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 Specifying a Minimum CPU Platform.", +"type": "string" +}, +"networkInterfaces": { +"description": "An array of network access configurations for this interface.", +"items": { +"$ref": "NetworkInterface" +}, +"type": "array" +}, +"postKeyRevocationActionType": { +"description": "PostKeyRevocationActionType of the instance.", +"enum": [ +"NOOP", +"POST_KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", +"SHUTDOWN" +], +"enumDescriptions": [ +"Indicates user chose no operation.", +"Default value. This value is unused.", +"Indicates user chose to opt for VM shutdown on key revocation." +], +"type": "string" +}, +"scheduling": { +"$ref": "Scheduling", +"description": "Specifies the scheduling options for the instances that are created from this machine image." +}, +"serviceAccounts": { +"description": "A list of service accounts with specified scopes. Access tokens for these service accounts are available to the instances that are created from this machine image. Use metadata queries to obtain the access tokens for these instances.", +"items": { +"$ref": "ServiceAccount" +}, +"type": "array" +}, +"tags": { +"$ref": "Tags", +"description": "A list of tags to apply to the instances that are created from this machine image. The tags identify valid sources or targets for network firewalls. The setTags method can modify this list of tags. Each tag within the list must comply with RFC1035." +} +}, +"type": "object" +}, +"SslCertificate": { +"description": "Represents an SSL certificate resource. Google Compute Engine has two SSL certificate resources: * [Global](/compute/docs/reference/rest/alpha/sslCertificates) * [Regional](/compute/docs/reference/rest/alpha/regionSslCertificates) The global SSL certificates (sslCertificates) are used by: - Global external Application Load Balancers - Classic Application Load Balancers - Proxy Network Load Balancers (with target SSL proxies) The regional SSL certificates (regionSslCertificates) are used by: - Regional external Application Load Balancers - Regional internal Application Load Balancers Optionally, certificate file contents that you upload can contain a set of up to five PEM-encoded certificates. The API call creates an object (sslCertificate) that holds this data. You can use SSL keys and certificates to secure connections to a load balancer. For more information, read Creating and using SSL certificates, SSL certificates quotas and limits, and Troubleshooting SSL certificates.", +"id": "SslCertificate", +"properties": { +"certificate": { +"description": "A value read into memory from a certificate file. The certificate file must be in PEM format. The certificate chain must be no greater than 5 certs long. The chain must include at least one intermediate cert.", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"expireTime": { +"description": "[Output Only] Expire time of the certificate. RFC3339", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#sslCertificate", +"description": "[Output Only] Type of the resource. Always compute#sslCertificate for SSL certificates.", +"type": "string" +}, +"managed": { +"$ref": "SslCertificateManagedSslCertificate", +"description": "Configuration and status of a managed SSL certificate." +}, +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"privateKey": { +"description": "A value read into memory from a write-only private key file. The private key file must be in PEM format. For security, only insert requests include this field.", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the regional SSL Certificate resides. This field is not applicable to global SSL Certificate.", +"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" +}, +"selfManaged": { +"$ref": "SslCertificateSelfManagedSslCertificate", +"description": "Configuration and status of a self-managed SSL certificate." +}, +"subjectAlternativeNames": { +"description": "[Output Only] Domains associated with the certificate via Subject Alternative Name.", +"items": { +"type": "string" +}, +"type": "array" +}, +"type": { +"description": "(Optional) Specifies the type of SSL certificate, either \"SELF_MANAGED\" or \"MANAGED\". If not specified, the certificate is self-managed and the fields certificate and private_key are used.", +"enum": [ +"MANAGED", +"SELF_MANAGED", +"TYPE_UNSPECIFIED" +], +"enumDescriptions": [ +"Google-managed SSLCertificate.", +"Certificate uploaded by user.", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"SslCertificateAggregatedList": { +"id": "SslCertificateAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "SslCertificatesScopedList", +"description": "Name of the scope containing this set of SslCertificates." +}, +"description": "A list of SslCertificatesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#sslCertificateAggregatedList", +"description": "[Output Only] Type of resource. Always compute#sslCertificateAggregatedList for lists of SSL Certificates.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"SslCertificateList": { +"description": "Contains a list of SslCertificate resources.", +"id": "SslCertificateList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of SslCertificate resources.", +"items": { +"$ref": "SslCertificate" +}, +"type": "array" +}, +"kind": { +"default": "compute#sslCertificateList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"SslCertificateManagedSslCertificate": { +"description": "Configuration and status of a managed SSL certificate.", +"id": "SslCertificateManagedSslCertificate", +"properties": { +"domainStatus": { +"additionalProperties": { +"enum": [ +"ACTIVE", +"DOMAIN_STATUS_UNSPECIFIED", +"FAILED_CAA_CHECKING", +"FAILED_CAA_FORBIDDEN", +"FAILED_NOT_VISIBLE", +"FAILED_RATE_LIMITED", +"PROVISIONING" +], +"enumDescriptions": [ +"A managed certificate can be provisioned, no issues for this domain.", +"", +"Failed to check CAA records for the domain.", +"Certificate issuance forbidden by an explicit CAA record for the domain.", +"There seems to be problem with the user's DNS or load balancer configuration for this domain.", +"Reached rate-limit for certificates per top-level private domain.", +"Certificate provisioning for this domain is under way. GCP will attempt to provision the first certificate." +], +"type": "string" +}, +"description": "[Output only] Detailed statuses of the domains specified for managed certificate resource.", +"type": "object" +}, +"domains": { +"description": "The domains for which a managed SSL certificate will be generated. Each Google-managed SSL certificate supports up to the [maximum number of domains per Google-managed SSL certificate](/load-balancing/docs/quotas#ssl_certificates).", +"items": { +"type": "string" +}, +"type": "array" +}, +"status": { +"description": "[Output only] Status of the managed certificate resource.", +"enum": [ +"ACTIVE", +"MANAGED_CERTIFICATE_STATUS_UNSPECIFIED", +"PROVISIONING", +"PROVISIONING_FAILED", +"PROVISIONING_FAILED_PERMANENTLY", +"RENEWAL_FAILED" +], +"enumDescriptions": [ +"The certificate management is working, and a certificate has been provisioned.", +"", +"The certificate management is working. GCP will attempt to provision the first certificate.", +"Certificate provisioning failed due to an issue with the DNS or load balancing configuration. For details of which domain failed, consult domain_status field.", +"Certificate provisioning failed due to an issue with the DNS or load balancing configuration. It won't be retried. To try again delete and create a new managed SslCertificate resource. For details of which domain failed, consult domain_status field.", +"Renewal of the certificate has failed due to an issue with the DNS or load balancing configuration. The existing cert is still serving; however, it will expire shortly. To provision a renewed certificate, delete and create a new managed SslCertificate resource. For details on which domain failed, consult domain_status field." +], +"type": "string" +} +}, +"type": "object" +}, +"SslCertificateSelfManagedSslCertificate": { +"description": "Configuration and status of a self-managed SSL certificate.", +"id": "SslCertificateSelfManagedSslCertificate", +"properties": { +"certificate": { +"description": "A local certificate file. The certificate must be in PEM format. The certificate chain must be no greater than 5 certs long. The chain must include at least one intermediate cert.", +"type": "string" +}, +"privateKey": { +"description": "A write-only private key in PEM format. Only insert requests will include this field.", +"type": "string" +} +}, +"type": "object" +}, +"SslCertificatesScopedList": { +"id": "SslCertificatesScopedList", +"properties": { +"sslCertificates": { +"description": "List of SslCertificates contained in this scope.", +"items": { +"$ref": "SslCertificate" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of backend services when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"SslPoliciesAggregatedList": { +"id": "SslPoliciesAggregatedList", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "SslPoliciesScopedList", +"description": "Name of the scope containing this set of SSL policies." +}, +"description": "A list of SslPoliciesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#sslPoliciesAggregatedList", +"description": "[Output Only] Type of resource. Always compute#sslPolicyAggregatedList for lists of SSL Policies.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"SslPoliciesList": { +"id": "SslPoliciesList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of SslPolicy resources.", +"items": { +"$ref": "SslPolicy" +}, +"type": "array" +}, +"kind": { +"default": "compute#sslPoliciesList", +"description": "[Output Only] Type of the resource. Always compute#sslPoliciesList for lists of sslPolicies.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"SslPoliciesListAvailableFeaturesResponse": { +"id": "SslPoliciesListAvailableFeaturesResponse", +"properties": { +"features": { +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SslPoliciesScopedList": { +"id": "SslPoliciesScopedList", +"properties": { +"sslPolicies": { +"description": "A list of SslPolicies contained in this scope.", +"items": { +"$ref": "SslPolicy" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of SSL policies when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"SslPolicy": { +"description": "Represents an SSL Policy resource. Use SSL policies to control SSL features, such as versions and cipher suites, that are offered by Application Load Balancers and proxy Network Load Balancers. For more information, read SSL policies overview.", +"id": "SslPolicy", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"customFeatures": { +"description": "A list of features enabled when the selected profile is CUSTOM. The method returns the set of features that can be specified in this list. This field must be empty if the profile is not CUSTOM.", +"items": { +"type": "string" +}, +"type": "array" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"enabledFeatures": { +"description": "[Output Only] The list of features enabled in the SSL policy.", +"items": { +"type": "string" +}, +"type": "array" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a SslPolicy. An up-to-date fingerprint must be provided in order to update the SslPolicy, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an SslPolicy.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#sslPolicy", +"description": "[Output only] Type of the resource. Always compute#sslPolicyfor SSL policies.", +"type": "string" +}, +"minTlsVersion": { +"description": "The minimum version of SSL protocol that can be used by the clients to establish a connection with the load balancer. This can be one of TLS_1_0, TLS_1_1, TLS_1_2.", +"enum": [ +"TLS_1_0", +"TLS_1_1", +"TLS_1_2" +], +"enumDescriptions": [ +"TLS 1.0", +"TLS 1.1", +"TLS 1.2" +], +"type": "string" +}, +"name": { +"description": "Name of the resource. 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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"profile": { +"description": "Profile specifies the set of SSL features that can be used by the load balancer when negotiating SSL with clients. This can be one of COMPATIBLE, MODERN, RESTRICTED, or CUSTOM. If using CUSTOM, the set of SSL features to enable must be specified in the customFeatures field.", +"enum": [ +"COMPATIBLE", +"CUSTOM", +"MODERN", +"RESTRICTED" +], +"enumDescriptions": [ +"Compatible profile. Allows the broadset set of clients, even those which support only out-of-date SSL features to negotiate with the load balancer.", +"Custom profile. Allow only the set of allowed SSL features specified in the customFeatures field.", +"Modern profile. Supports a wide set of SSL features, allowing modern clients to negotiate SSL with the load balancer.", +"Restricted profile. Supports a reduced set of SSL features, intended to meet stricter compliance requirements." +], +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the regional SSL policy resides. This field is not applicable to global SSL policies.", +"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" +}, +"tlsSettings": { +"$ref": "ServerTlsSettings", +"description": "Security settings for the proxy. This field is only applicable to a global backend service with the loadBalancingScheme set to INTERNAL_SELF_MANAGED." +}, +"warnings": { +"description": "[Output Only] If potential misconfigurations are detected for this SSL policy, this field will be populated with warning messages.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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" +}, +"SslPolicyReference": { +"id": "SslPolicyReference", +"properties": { +"sslPolicy": { +"description": "URL of the SSL policy resource. Set this to empty string to clear any existing SSL policy associated with the target proxy resource.", +"type": "string" +} +}, +"type": "object" +}, +"StatefulPolicy": { +"id": "StatefulPolicy", +"properties": { +"preservedState": { +"$ref": "StatefulPolicyPreservedState" +} +}, +"type": "object" +}, +"StatefulPolicyPreservedState": { +"description": "Configuration of preserved resources.", +"id": "StatefulPolicyPreservedState", +"properties": { +"disks": { +"additionalProperties": { +"$ref": "StatefulPolicyPreservedStateDiskDevice" +}, +"description": "Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks.", +"type": "object" +}, +"externalIPs": { +"additionalProperties": { +"$ref": "StatefulPolicyPreservedStateNetworkIp" +}, +"description": "External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name.", +"type": "object" +}, +"internalIPs": { +"additionalProperties": { +"$ref": "StatefulPolicyPreservedStateNetworkIp" +}, +"description": "Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name.", +"type": "object" +} +}, +"type": "object" +}, +"StatefulPolicyPreservedStateDiskDevice": { +"id": "StatefulPolicyPreservedStateDiskDevice", +"properties": { +"autoDelete": { +"description": "These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted.", +"enum": [ +"NEVER", +"ON_PERMANENT_INSTANCE_DELETION" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"StatefulPolicyPreservedStateNetworkIp": { +"id": "StatefulPolicyPreservedStateNetworkIp", +"properties": { +"autoDelete": { +"description": "These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted.", +"enum": [ +"NEVER", +"ON_PERMANENT_INSTANCE_DELETION" +], +"enumDescriptions": [ +"", +"" +], +"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" +}, +"StoragePool": { +"description": "Represents a zonal storage pool resource.", +"id": "StoragePool", +"properties": { +"capacityProvisioningType": { +"description": "Provisioning type of the byte capacity of the pool.", +"enum": [ +"ADVANCED", +"STANDARD", +"UNSPECIFIED" +], +"enumDescriptions": [ +"Advanced provisioning \"thinly\" allocates the related resource.", +"Standard provisioning allocates the related resource for the pool disks' exclusive use.", +"" +], +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#storagePool", +"description": "[Output Only] Type of the resource. Always compute#storagePool for storage pools.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this storage pool, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a storage pool.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to this storage pool. These can be later modified by the setLabels method.", +"type": "object" +}, +"name": { +"annotations": { +"required": [ +"compute.storagePools.insert" +] +}, +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"performanceProvisioningType": { +"description": "Provisioning type of the performance-related parameters of the pool, such as throughput and IOPS.", +"enum": [ +"ADVANCED", +"STANDARD", +"UNSPECIFIED" +], +"enumDescriptions": [ +"Advanced provisioning \"thinly\" allocates the related resource.", +"Standard provisioning allocates the related resource for the pool disks' exclusive use.", +"" +], +"type": "string" +}, +"poolProvisionedCapacityGb": { +"annotations": { +"required": [ +"compute.storagePools.insert" +] +}, +"description": "Size, in GiB, of the storage pool. For more information about the size limits, see https://cloud.google.com/compute/docs/disks/storage-pools.", +"format": "int64", +"type": "string" +}, +"poolProvisionedIops": { +"description": "Provisioned IOPS of the storage pool. Only relevant if the storage pool type is hyperdisk-balanced.", +"format": "int64", +"type": "string" +}, +"poolProvisionedThroughput": { +"description": "Provisioned throughput of the storage pool. Only relevant if the storage pool type is hyperdisk-balanced or hyperdisk-throughput.", +"format": "int64", +"type": "string" +}, +"provisionedIops": { +"description": "DEPRECATED -- use \"pool provisioned IOPS\".", +"format": "int64", +"type": "string" +}, +"provisionedThroughput": { +"description": "DEPRECATED -- use \"pool provisioned throughput\".", +"format": "int64", +"type": "string" +}, +"resourceStatus": { +"$ref": "StoragePoolResourceStatus", +"description": "[Output Only] Status information for the storage pool resource." +}, +"selfLink": { +"description": "[Output Only] Server-defined fully-qualified URL for this resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource's resource id.", +"type": "string" +}, +"sizeGb": { +"description": "DEPRECATED -- use \"pool provisioned capacity gb\".", +"format": "int64", +"type": "string" +}, +"state": { +"description": "[Output Only] The status of storage pool creation. - CREATING: Storage pool is provisioning. storagePool. - FAILED: Storage pool creation failed. - READY: Storage pool is ready for use. - DELETING: Storage pool is deleting. ", +"enum": [ +"CREATING", +"DELETING", +"FAILED", +"READY" +], +"enumDescriptions": [ +"StoragePool is provisioning", +"StoragePool is deleting.", +"StoragePool creation failed.", +"StoragePool is ready for use." +], +"type": "string" +}, +"status": { +"$ref": "StoragePoolResourceStatus", +"description": "[Output Only] Status information for the storage pool resource." +}, +"storagePoolType": { +"description": "Type of the storage pool.", +"type": "string" +}, +"zone": { +"description": "[Output Only] URL of the zone where the storage pool resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +} +}, +"type": "object" +}, +"StoragePoolAggregatedList": { +"id": "StoragePoolAggregatedList", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "StoragePoolsScopedList", +"description": "[Output Only] Name of the scope containing this set of storage pool." +}, +"description": "A list of StoragePoolsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#storagePoolAggregatedList", +"description": "[Output Only] Type of resource. Always compute#storagePoolAggregatedList for aggregated lists of storage pools.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"StoragePoolDisk": { +"id": "StoragePoolDisk", +"properties": { +"attachedInstances": { +"description": "[Output Only] Instances this disk is attached to.", +"items": { +"type": "string" +}, +"type": "array" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"disk": { +"description": "[Output Only] The URL of the disk.", +"type": "string" +}, +"name": { +"description": "[Output Only] The name of the disk.", +"type": "string" +}, +"provisionedIops": { +"description": "[Output Only] The number of IOPS provisioned for the disk.", +"format": "int64", +"type": "string" +}, +"provisionedThroughput": { +"description": "[Output Only] The throughput provisioned for the disk.", +"format": "int64", +"type": "string" +}, +"resourcePolicies": { +"description": "[Output Only] Resource policies applied to disk for automatic snapshot creations.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sizeGb": { +"description": "[Output Only] The disk size, in GB.", +"format": "int64", +"type": "string" +}, +"status": { +"description": "[Output Only] The disk status.", +"enum": [ +"CREATING", +"DELETING", +"FAILED", +"READY", +"RESTORING", +"UNAVAILABLE" +], +"enumDescriptions": [ +"Disk is provisioning", +"Disk is deleting.", +"Disk creation failed.", +"Disk is ready for use.", +"Source data is being copied into the disk.", +"Disk is currently unavailable and cannot be accessed, attached or detached." +], +"type": "string" +}, +"type": { +"description": "[Output Only] The disk type.", +"type": "string" +}, +"usedBytes": { +"description": "[Output Only] Amount of disk space used.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"StoragePoolList": { +"description": "A list of StoragePool resources.", +"id": "StoragePoolList", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of StoragePool resources.", +"items": { +"$ref": "StoragePool" +}, +"type": "array" +}, +"kind": { +"default": "compute#storagePoolList", +"description": "[Output Only] Type of resource. Always compute#storagePoolList for lists of storagePools.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"StoragePoolListDisks": { +"id": "StoragePoolListDisks", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of StoragePoolDisk resources.", +"items": { +"$ref": "StoragePoolDisk" +}, +"type": "array" +}, +"kind": { +"default": "compute#storagePoolListDisks", +"description": "[Output Only] Type of resource. Always compute#storagePoolListDisks for lists of disks in a storagePool.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"StoragePoolResourceStatus": { +"description": "[Output Only] Contains output only fields.", +"id": "StoragePoolResourceStatus", +"properties": { +"aggregateDiskProvisionedIops": { +"description": "DEPRECATED -- use \"total_provisioned_disk_iops\".", +"format": "int64", +"type": "string" +}, +"aggregateDiskSizeGb": { +"description": "DEPRECATED -- use \"total provisioned disk size gb\".", +"format": "int64", +"type": "string" +}, +"diskCount": { +"description": "[Output Only] Number of disks used.", +"format": "int64", +"type": "string" +}, +"lastResizeTimestamp": { +"description": "[Output Only] Timestamp of the last successful resize in RFC3339 text format.", +"type": "string" +}, +"maxAggregateDiskSizeGb": { +"description": "DEPRECATED -- use \"max provisioned disk size gb\"", +"format": "int64", +"type": "string" +}, +"maxTotalProvisionedDiskCapacityGb": { +"description": "[Output Only] Maximum allowed aggregate disk size in gigabytes.", +"format": "int64", +"type": "string" +}, +"numberOfDisks": { +"description": "DEPRECATED -- use \"disk count\".", +"format": "int64", +"type": "string" +}, +"poolUsedCapacityBytes": { +"description": "[Output Only] Space used by data stored in disks within the storage pool (in bytes). This will reflect the total number of bytes written to the disks in the pool, in contrast to the capacity of those disks.", +"format": "int64", +"type": "string" +}, +"poolUsedIops": { +"description": "[Output Only] Sum of all the disks' provisioned IOPS, minus some amount that is allowed per disk that is not counted towards pool's IOPS capacity. For more information, see https://cloud.google.com/compute/docs/disks/storage-pools.", +"format": "int64", +"type": "string" +}, +"poolUsedThroughput": { +"description": "[Output Only] Sum of all the disks' provisioned throughput in MB/s.", +"format": "int64", +"type": "string" +}, +"poolUserWrittenBytes": { +"description": "[Output Only] Amount of data written into the pool, before it is compacted.", +"format": "int64", +"type": "string" +}, +"totalProvisionedDiskCapacityGb": { +"description": "[Output Only] Sum of all the capacity provisioned in disks in this storage pool. A disk's provisioned capacity is the same as its total capacity.", +"format": "int64", +"type": "string" +}, +"totalProvisionedDiskIops": { +"description": "[Output Only] Sum of all the disks' provisioned IOPS.", +"format": "int64", +"type": "string" +}, +"totalProvisionedDiskThroughput": { +"description": "[Output Only] Sum of all the disks' provisioned throughput in MB/s, minus some amount that is allowed per disk that is not counted towards pool's throughput capacity.", +"format": "int64", +"type": "string" +}, +"usedBytes": { +"description": "DEPRECATED -- use \"pool used capacity\".", +"format": "int64", +"type": "string" +}, +"usedReducedBytes": { +"description": "DEPRECATED -- do not use, will be removed.", +"format": "int64", +"type": "string" +}, +"usedThroughput": { +"description": "DEPRECATED -- use \"pool used throughput\".", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"StoragePoolType": { +"id": "StoragePoolType", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"deprecated": { +"$ref": "DeprecationStatus", +"description": "[Output Only] The deprecation status associated with this storage pool type." +}, +"description": { +"description": "[Output Only] An optional description of this resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#storagePoolType", +"description": "[Output Only] Type of the resource. Always compute#storagePoolType for storage pool types.", +"type": "string" +}, +"maxPoolProvisionedCapacityGb": { +"description": "[Output Only] Maximum storage pool size in GB.", +"format": "int64", +"type": "string" +}, +"maxPoolProvisionedIops": { +"description": "[Output Only] Maximum provisioned IOPS.", +"format": "int64", +"type": "string" +}, +"maxPoolProvisionedThroughput": { +"description": "[Output Only] Maximum provisioned throughput.", +"format": "int64", +"type": "string" +}, +"minPoolProvisionedCapacityGb": { +"description": "[Output Only] Minimum storage pool size in GB.", +"format": "int64", +"type": "string" +}, +"minPoolProvisionedIops": { +"description": "[Output Only] Minimum provisioned IOPS.", +"format": "int64", +"type": "string" +}, +"minPoolProvisionedThroughput": { +"description": "[Output Only] Minimum provisioned throughput.", +"format": "int64", +"type": "string" +}, +"minSizeGb": { +"description": "[Deprecated] This field is deprecated. Use minPoolProvisionedCapacityGb instead.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "[Output Only] Name of the resource.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"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" +}, +"supportedDiskTypes": { +"description": "[Output Only] The list of disk types supported in this storage pool type.", +"items": { +"type": "string" +}, +"type": "array" +}, +"zone": { +"description": "[Output Only] URL of the zone where the storage pool type resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +} +}, +"type": "object" +}, +"StoragePoolTypeAggregatedList": { +"id": "StoragePoolTypeAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "StoragePoolTypesScopedList", +"description": "[Output Only] Name of the scope containing this set of storage pool types." +}, +"description": "A list of StoragePoolTypesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#storagePoolTypeAggregatedList", +"description": "[Output Only] Type of resource. Always compute#storagePoolTypeAggregatedList .", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"StoragePoolTypeList": { +"description": "Contains a list of storage pool types.", +"id": "StoragePoolTypeList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of StoragePoolType resources.", +"items": { +"$ref": "StoragePoolType" +}, +"type": "array" +}, +"kind": { +"default": "compute#storagePoolTypeList", +"description": "[Output Only] Type of resource. Always compute#storagePoolTypeList for storage pool types.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"StoragePoolTypesScopedList": { +"id": "StoragePoolTypesScopedList", +"properties": { +"storagePoolTypes": { +"description": "[Output Only] A list of storage pool types contained in this scope.", +"items": { +"$ref": "StoragePoolType" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of storage pool types when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"StoragePoolsScopedList": { +"id": "StoragePoolsScopedList", +"properties": { +"storagePools": { +"description": "[Output Only] A list of storage pool contained in this scope.", +"items": { +"$ref": "StoragePool" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of storage pool when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"StructuredEntries": { +"id": "StructuredEntries", +"properties": { +"entries": { +"additionalProperties": { +"type": "any" +}, +"description": "Map of a partner metadata that belong to the same subdomain. It accepts any value including google.protobuf.Struct.", +"type": "object" +} +}, +"type": "object" +}, +"Subnetwork": { +"description": "Represents a Subnetwork resource. A subnetwork (also known as a subnet) is a logical partition of a Virtual Private Cloud network with one primary IP range and zero or more secondary IP ranges. For more information, read Virtual Private Cloud (VPC) Network.", +"id": "Subnetwork", +"properties": { +"aggregationInterval": { +"description": "Can only be specified if VPC flow logging for this subnetwork is enabled. Sets the aggregation interval for collecting flow logs. Increasing the interval time reduces the amount of generated flow logs for long-lasting connections. Default is an interval of 5 seconds per connection. Valid values: INTERVAL_5_SEC, INTERVAL_30_SEC, INTERVAL_1_MIN, INTERVAL_5_MIN, INTERVAL_10_MIN, INTERVAL_15_MIN.", +"enum": [ +"INTERVAL_10_MIN", +"INTERVAL_15_MIN", +"INTERVAL_1_MIN", +"INTERVAL_30_SEC", +"INTERVAL_5_MIN", +"INTERVAL_5_SEC" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"allowSubnetCidrRoutesOverlap": { +"description": "Whether this subnetwork's ranges can conflict with existing static routes. Setting this to true allows this subnetwork's primary and secondary ranges to overlap with (and contain) static routes that have already been configured on the corresponding network. For example if a static route has range 10.1.0.0/16, a subnet range 10.0.0.0/8 could only be created if allow_conflicting_routes=true. Overlapping is only allowed on subnetwork operations; routes whose ranges conflict with this subnetwork's ranges won't be allowed unless route.allow_conflicting_subnetworks is set to true. Typically packets destined to IPs within the subnetwork (which may contain private/sensitive data) are prevented from leaving the virtual network. Setting this field to true will disable this feature. The default value is false and applies to all existing subnetworks and automatically created subnetworks. This field cannot be set to true at resource creation time.", +"type": "boolean" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource. This field can be set only at resource creation time.", +"type": "string" +}, +"enableFlowLogs": { +"description": "Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled. This field isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.", +"type": "boolean" +}, +"enableL2": { +"description": "Enables Layer2 communication on the subnetwork.", +"type": "boolean" +}, +"enablePrivateV6Access": { +"deprecated": true, +"description": "Deprecated in favor of enable in PrivateIpv6GoogleAccess. Whether the VMs in this subnet can directly access Google services via internal IPv6 addresses. This field can be both set at resource creation time and updated using patch.", +"type": "boolean" +}, +"externalIpv6Prefix": { +"description": "The external IPv6 address range that is owned by this subnetwork.", +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a Subnetwork. An up-to-date fingerprint must be provided in order to update the Subnetwork, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a Subnetwork.", +"format": "byte", +"type": "string" +}, +"flowSampling": { +"description": "Can only be specified if VPC flow logging for this subnetwork is enabled. The value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs within the subnetwork where 1.0 means all collected logs are reported and 0.0 means no logs are reported. Default is 0.5 unless otherwise specified by the org policy, which means half of all collected logs are reported.", +"format": "float", +"type": "number" +}, +"gatewayAddress": { +"description": "[Output Only] The gateway address for default routes to reach destination addresses outside this subnetwork.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"internalIpv6Prefix": { +"description": "The internal IPv6 address range that is owned by this subnetwork.", +"type": "string" +}, +"ipCidrRange": { +"description": "The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.64.0.0/10. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. This field is set at resource creation time. The range can be any range listed in the Valid ranges list. The range can be expanded after creation using expandIpCidrRange.", +"type": "string" +}, +"ipCollection": { +"description": "Reference to the source of IP, like a PublicDelegatedPrefix (PDP) for BYOIP. The PDP must be a sub-PDP in EXTERNAL_IPV6_SUBNETWORK_CREATION mode. Use one of the following formats to specify a sub-PDP when creating a dual stack subnetwork with external access using BYOIP: - Full resource URL, as in https://www.googleapis.com/compute/v1/projects/projectId/regions/region /publicDelegatedPrefixes/sub-pdp-name - Partial URL, as in - projects/projectId/regions/region/publicDelegatedPrefixes/ sub-pdp-name - regions/region/publicDelegatedPrefixes/sub-pdp-name ", +"type": "string" +}, +"ipv6AccessType": { +"description": "The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack.", +"enum": [ +"EXTERNAL", +"INTERNAL" +], +"enumDescriptions": [ +"VMs on this subnet will be assigned IPv6 addresses that are accessible via the Internet, as well as the VPC network.", +"VMs on this subnet will be assigned IPv6 addresses that are only accessible over the VPC network." +], +"type": "string" +}, +"ipv6CidrRange": { +"description": "[Output Only] This field is for internal use.", +"type": "string" +}, +"ipv6GceEndpoint": { +"description": "[Output Only] Possible endpoints of this subnetwork. It can be one of the following: - VM_ONLY: The subnetwork can be used for creating instances and IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6 ranges from a public delegated prefix and cannot be used to create NetLb. - VM_AND_FR: The subnetwork can be used for creating both VM instances and Forwarding Rules. It can also be used to reserve IPv6 addresses with both VM and FR endpoint types. Such a subnetwork gets its IPv6 range from Google IP Pool directly. ", +"enum": [ +"VM_AND_FR", +"VM_ONLY" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"kind": { +"default": "compute#subnetwork", +"description": "[Output Only] Type of the resource. Always compute#subnetwork for Subnetwork resources.", +"type": "string" +}, +"logConfig": { +"$ref": "SubnetworkLogConfig", +"description": "This field denotes the VPC flow logging options for this subnetwork. If logging is enabled, logs are exported to Cloud Logging." +}, +"metadata": { +"description": "Can only be specified if VPC flow logging for this subnetwork is enabled. Configures whether metadata fields should be added to the reported VPC flow logs. Options are INCLUDE_ALL_METADATA, EXCLUDE_ALL_METADATA, and CUSTOM_METADATA. Default is EXCLUDE_ALL_METADATA.", +"enum": [ +"EXCLUDE_ALL_METADATA", +"INCLUDE_ALL_METADATA" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"name": { +"description": "The name of the resource, provided by the client when initially creating the resource. 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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"network": { +"description": "The URL of the network to which this subnetwork belongs, provided by the client when initially creating the subnetwork. This field can be set only at resource creation time.", +"type": "string" +}, +"privateIpGoogleAccess": { +"description": "Whether the VMs in this subnet can access Google services without assigned external IP addresses. This field can be both set at resource creation time and updated using setPrivateIpGoogleAccess.", +"type": "boolean" +}, +"privateIpv6GoogleAccess": { +"description": "This field is for internal use. This field can be both set at resource creation time and updated using patch.", +"enum": [ +"DISABLE_GOOGLE_ACCESS", +"ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE", +"ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE" +], +"enumDescriptions": [ +"Disable private IPv6 access to/from Google services.", +"Bidirectional private IPv6 access to/from Google services.", +"Outbound private IPv6 access from VMs in this subnet to Google services." +], +"type": "string" +}, +"purpose": { +"description": "The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.", +"enum": [ +"AGGREGATE", +"CLOUD_EXTENSION", +"CUSTOM_HARDWARE_LINK", +"GLOBAL_MANAGED_PROXY", +"INTERNAL_HTTPS_LOAD_BALANCER", +"PEER_MIGRATION", +"PRIVATE", +"PRIVATE_NAT", +"PRIVATE_RFC_1918", +"PRIVATE_SERVICE_CONNECT", +"REGIONAL_MANAGED_PROXY" +], +"enumDescriptions": [ +"Subnetwork used to aggregate multiple private subnetworks.", +"Subnetworks created for Cloud Extension Machines.", +"Subnetwork used for Custom Hardware Link.", +"Subnet reserved for Global Envoy-based Load Balancing.", +"Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy purpose, please use REGIONAL_MANAGED_PROXY instead.", +"Subnetwork will be used for Migration from one peered VPC to another. (a transient state of subnetwork while migrating resources from one project to another).", +"Regular user created or automatically created subnet.", +"Subnetwork used as source range for Private NAT Gateways.", +"Regular user created or automatically created subnet.", +"Subnetworks created for Private Service Connect in the producer network.", +"Subnetwork used for Regional Envoy-based Load Balancing." +], +"type": "string" +}, +"region": { +"description": "URL of the region where the Subnetwork resides. This field can be set only at resource creation time.", +"type": "string" +}, +"reservedInternalRange": { +"description": "The URL of the reserved internal range.", +"type": "string" +}, +"role": { +"description": "The role of subnetwork. Currently, this field is only used when purpose is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.", +"enum": [ +"ACTIVE", +"BACKUP" +], +"enumDescriptions": [ +"The ACTIVE subnet that is currently used.", +"The BACKUP subnet that could be promoted to ACTIVE." +], +"type": "string" +}, +"secondaryIpRanges": { +"description": "An array of configurations for secondary IP ranges for VM instances contained in this subnetwork. The primary IP of such VM must belong to the primary ipCidrRange of the subnetwork. The alias IPs may belong to either primary or secondary ranges. This field can be updated with a patch request.", +"items": { +"$ref": "SubnetworkSecondaryRange" +}, +"type": "array" +}, +"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" +}, +"stackType": { +"description": "The stack type for the subnet. If set to IPV4_ONLY, new VMs in the subnet are assigned IPv4 addresses only. If set to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch.", +"enum": [ +"IPV4_IPV6", +"IPV4_ONLY", +"IPV6_ONLY" +], +"enumDescriptions": [ +"New VMs in this subnet can have both IPv4 and IPv6 addresses.", +"New VMs in this subnet will only be assigned IPv4 addresses.", +"New VMs in this subnet will only be assigned IPv6 addresses." +], +"type": "string" +}, +"state": { +"description": "[Output Only] The state of the subnetwork, which can be one of the following values: READY: Subnetwork is created and ready to use DRAINING: only applicable to subnetworks that have the purpose set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load balancer are being drained. A subnetwork that is draining cannot be used or modified until it reaches a status of READY", +"enum": [ +"DRAINING", +"READY" +], +"enumDescriptions": [ +"Subnetwork is being drained.", +"Subnetwork is ready for use." +], +"type": "string" +}, +"vlans": { +"description": "A repeated field indicating the VLAN IDs supported on this subnetwork. During Subnet creation, specifying vlan is valid only if enable_l2 is true. During Subnet Update, specifying vlan is allowed only for l2 enabled subnets. Restricted to only one VLAN.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +} +}, +"type": "object" +}, +"SubnetworkAggregatedList": { +"id": "SubnetworkAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "SubnetworksScopedList", +"description": "Name of the scope containing this set of Subnetworks." +}, +"description": "A list of SubnetworksScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#subnetworkAggregatedList", +"description": "[Output Only] Type of resource. Always compute#subnetworkAggregatedList for aggregated lists of subnetworks.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"SubnetworkList": { +"description": "Contains a list of Subnetwork resources.", +"id": "SubnetworkList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Subnetwork resources.", +"items": { +"$ref": "Subnetwork" +}, +"type": "array" +}, +"kind": { +"default": "compute#subnetworkList", +"description": "[Output Only] Type of resource. Always compute#subnetworkList for lists of subnetworks.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"SubnetworkLogConfig": { +"description": "The available logging options for this subnetwork.", +"id": "SubnetworkLogConfig", +"properties": { +"aggregationInterval": { +"description": "Can only be specified if VPC flow logging for this subnetwork is enabled. Toggles the aggregation interval for collecting flow logs. Increasing the interval time will reduce the amount of generated flow logs for long lasting connections. Default is an interval of 5 seconds per connection.", +"enum": [ +"INTERVAL_10_MIN", +"INTERVAL_15_MIN", +"INTERVAL_1_MIN", +"INTERVAL_30_SEC", +"INTERVAL_5_MIN", +"INTERVAL_5_SEC" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"enable": { +"description": "Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled. Flow logging isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.", +"type": "boolean" +}, +"filterExpr": { +"description": "Can only be specified if VPC flow logs for this subnetwork is enabled. The filter expression is used to define which VPC flow logs should be exported to Cloud Logging.", +"type": "string" +}, +"flowSampling": { +"description": "Can only be specified if VPC flow logging for this subnetwork is enabled. The value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs within the subnetwork where 1.0 means all collected logs are reported and 0.0 means no logs are reported. Default is 0.5 unless otherwise specified by the org policy, which means half of all collected logs are reported.", +"format": "float", +"type": "number" +}, +"metadata": { +"description": "Can only be specified if VPC flow logs for this subnetwork is enabled. Configures whether all, none or a subset of metadata fields should be added to the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA.", +"enum": [ +"CUSTOM_METADATA", +"EXCLUDE_ALL_METADATA", +"INCLUDE_ALL_METADATA" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"metadataFields": { +"description": "Can only be specified if VPC flow logs for this subnetwork is enabled and \"metadata\" was set to CUSTOM_METADATA.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SubnetworkSecondaryRange": { +"description": "Represents a secondary IP range of a subnetwork.", +"id": "SubnetworkSecondaryRange", +"properties": { +"ipCidrRange": { +"description": "The range of IP addresses belonging to this subnetwork secondary range. Provide this property when you create the subnetwork. Ranges must be unique and non-overlapping with all primary and secondary IP ranges within a network. Only IPv4 is supported. The range can be any range listed in the Valid ranges list.", +"type": "string" +}, +"rangeName": { +"description": "The name associated with this subnetwork secondary range, used when adding an alias IP range to a VM instance. The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the subnetwork.", +"type": "string" +}, +"reservedInternalRange": { +"description": "The URL of the reserved internal range.", +"type": "string" +} +}, +"type": "object" +}, +"SubnetworksExpandIpCidrRangeRequest": { +"id": "SubnetworksExpandIpCidrRangeRequest", +"properties": { +"ipCidrRange": { +"description": "The IP (in CIDR format or netmask) of internal addresses that are legal on this Subnetwork. This range should be disjoint from other subnetworks within this network. This range can only be larger than (i.e. a superset of) the range previously defined before the update.", +"type": "string" +} +}, +"type": "object" +}, +"SubnetworksScopedList": { +"id": "SubnetworksScopedList", +"properties": { +"subnetworks": { +"description": "A list of subnetworks contained in this scope.", +"items": { +"$ref": "Subnetwork" +}, +"type": "array" +}, +"warning": { +"description": "An informational warning that appears when the list of addresses is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"SubnetworksScopedWarning": { +"id": "SubnetworksScopedWarning", +"properties": { +"scopeName": { +"description": "Name of the scope containing this set of Subnetworks.", +"type": "string" +}, +"warning": { +"description": "An informational warning about unreachable scope", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"SubnetworksSetPrivateIpGoogleAccessRequest": { +"id": "SubnetworksSetPrivateIpGoogleAccessRequest", +"properties": { +"privateIpGoogleAccess": { +"type": "boolean" +} +}, +"type": "object" +}, +"Subsetting": { +"description": "Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and Traffic Director.", +"id": "Subsetting", +"properties": { +"policy": { +"enum": [ +"CONSISTENT_HASH_SUBSETTING", +"NONE" +], +"enumDescriptions": [ +"Subsetting based on consistent hashing. For Traffic Director, the number of backends per backend group (the subset size) is based on the `subset_size` parameter. For Internal HTTP(S) load balancing, the number of backends per backend group (the subset size) is dynamically adjusted in two cases: - As the number of proxy instances participating in Internal HTTP(S) load balancing increases, the subset size decreases. - When the total number of backends in a network exceeds the capacity of a single proxy instance, subset sizes are reduced automatically for each service that has backend subsetting enabled.", +"No Subsetting. Clients may open connections and send traffic to all backends of this backend service. This can lead to performance issues if there is substantial imbalance in the count of clients and backends." +], +"type": "string" +}, +"subsetSize": { +"description": "The number of backends per backend group assigned to each proxy instance or each service mesh client. An input parameter to the `CONSISTENT_HASH_SUBSETTING` algorithm. Can only be set if `policy` is set to `CONSISTENT_HASH_SUBSETTING`. Can only be set if load balancing scheme is `INTERNAL_MANAGED` or `INTERNAL_SELF_MANAGED`. `subset_size` is optional for Internal HTTP(S) load balancing and required for Traffic Director. If you do not provide this value, Cloud Load Balancing will calculate it dynamically to optimize the number of proxies/clients visible to each backend and vice versa. Must be greater than 0. If `subset_size` is larger than the number of backends/endpoints, then subsetting is disabled.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"TCPHealthCheck": { +"id": "TCPHealthCheck", +"properties": { +"port": { +"description": "The TCP port number to which the health check prober sends packets. The default value is 80. Valid values are 1 through 65535.", +"format": "int32", +"type": "integer" +}, +"portName": { +"description": "Not supported.", +"type": "string" +}, +"portSpecification": { +"description": "Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports.", +"enum": [ +"USE_FIXED_PORT", +"USE_NAMED_PORT", +"USE_SERVING_PORT" +], +"enumDescriptions": [ +"The port number in the health check's port is used for health checking. Applies to network endpoint group and instance group backends.", +"Not supported.", +"For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service's named port defined in the instance group's named ports." +], +"type": "string" +}, +"proxyHeader": { +"description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.", +"enum": [ +"NONE", +"PROXY_V1" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"request": { +"description": "Instructs the health check prober to send this exact ASCII string, up to 1024 bytes in length, after establishing the TCP connection.", +"type": "string" +}, +"response": { +"description": "Creates a content-based TCP health check. In addition to establishing a TCP connection, you can configure the health check to pass only when the backend sends this exact response ASCII string, up to 1024 bytes in length. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-ssl-tcp", +"type": "string" +} +}, +"type": "object" +}, +"Tags": { +"description": "A set of instance tags.", +"id": "Tags", +"properties": { +"fingerprint": { +"description": "Specifies a fingerprint for this request, which is essentially a hash of the tags' contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update tags. You must always provide an up-to-date fingerprint hash in order to update or change tags. To see the latest fingerprint, make get() request to the instance.", +"format": "byte", +"type": "string" +}, +"items": { +"description": "An array of tags. Each tag must be 1-63 characters long, and comply with RFC1035.", +"items": { +"type": "string" +}, +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "array" +} +}, +"type": "object" +}, +"TargetGrpcProxy": { +"description": "Represents a Target gRPC Proxy resource. A target gRPC proxy is a component of load balancers intended for load balancing gRPC traffic. Only global forwarding rules with load balancing scheme INTERNAL_SELF_MANAGED can reference a target gRPC proxy. The target gRPC Proxy references a URL map that specifies how traffic is routed to gRPC backend services.", +"id": "TargetGrpcProxy", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a TargetGrpcProxy. An up-to-date fingerprint must be provided in order to patch/update the TargetGrpcProxy; otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the TargetGrpcProxy.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#targetGrpcProxy", +"description": "[Output Only] Type of the resource. Always compute#targetGrpcProxy for target grpc proxies.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"compute.targetGrpcProxies.insert" +] +}, +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL with id for the resource.", +"type": "string" +}, +"urlMap": { +"description": "URL to the UrlMap resource that defines the mapping from URL to the BackendService. The protocol field in the BackendService must be set to GRPC.", +"type": "string" +}, +"validateForProxyless": { +"description": "If true, indicates that the BackendServices referenced by the urlMap may be accessed by gRPC applications without using a sidecar proxy. This will enable configuration checks on urlMap and its referenced BackendServices to not allow unsupported features. A gRPC application must use \"xds:///\" scheme in the target URI of the service it is connecting to. If false, indicates that the BackendServices referenced by the urlMap will be accessed by gRPC applications via a sidecar proxy. In this case, a gRPC application must not use \"xds:///\" scheme in the target URI of the service it is connecting to", +"type": "boolean" +} +}, +"type": "object" +}, +"TargetGrpcProxyList": { +"id": "TargetGrpcProxyList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of TargetGrpcProxy resources.", +"items": { +"$ref": "TargetGrpcProxy" +}, +"type": "array" +}, +"kind": { +"default": "compute#targetGrpcProxyList", +"description": "[Output Only] Type of the resource. Always compute#targetGrpcProxy for target grpc proxies.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"TargetHttpProxiesScopedList": { +"id": "TargetHttpProxiesScopedList", +"properties": { +"targetHttpProxies": { +"description": "A list of TargetHttpProxies contained in this scope.", +"items": { +"$ref": "TargetHttpProxy" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of backend services when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"TargetHttpProxy": { +"description": "Represents a Target HTTP Proxy resource. Google Compute Engine has two Target HTTP Proxy resources: * [Global](/compute/docs/reference/rest/alpha/targetHttpProxies) * [Regional](/compute/docs/reference/rest/alpha/regionTargetHttpProxies) A target HTTP proxy is a component of Google Cloud HTTP load balancers. * targetHttpProxies are used by global external Application Load Balancers, classic Application Load Balancers, cross-region internal Application Load Balancers, and Traffic Director. * regionTargetHttpProxies are used by regional internal Application Load Balancers and regional external Application Load Balancers. Forwarding rules reference a target HTTP proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts.", +"id": "TargetHttpProxy", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a TargetHttpProxy. An up-to-date fingerprint must be provided in order to patch/update the TargetHttpProxy; otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the TargetHttpProxy.", +"format": "byte", +"type": "string" +}, +"httpFilters": { +"description": "URLs to networkservices.HttpFilter resources enabled for xDS clients using this configuration. For example, https://networkservices.googleapis.com/v1alpha1/projects/project/locations/ locationhttpFilters/httpFilter Only filters that handle outbound connection and stream events may be specified. These filters work in conjunction with a default set of HTTP filters that may already be configured by Traffic Director. Traffic Director will determine the final location of these filters within xDS configuration based on the name of the HTTP filter. If Traffic Director positions multiple filters at the same location, those filters will be in the same order as specified in this list. httpFilters only applies for loadbalancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See ForwardingRule for more details.", +"items": { +"type": "string" +}, +"type": "array" +}, +"httpKeepAliveTimeoutSec": { +"description": "Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For global external Application Load Balancers, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For classic Application Load Balancers, this option is not supported.", +"format": "int32", +"type": "integer" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#targetHttpProxy", +"description": "[Output Only] Type of resource. Always compute#targetHttpProxy for target HTTP proxies.", +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"proxyBind": { +"description": "This field only applies when the forwarding rule that references this target proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED. When this field is set to true, Envoy proxies set up inbound traffic interception and bind to the IP address and port specified in the forwarding rule. This is generally useful when using Traffic Director to configure Envoy as a gateway or middle proxy (in other words, not a sidecar proxy). The Envoy proxy listens for inbound requests and handles requests when it receives them. The default is false.", +"type": "boolean" +}, +"region": { +"description": "[Output Only] URL of the region where the regional Target HTTP Proxy resides. This field is not applicable to global Target HTTP Proxies.", +"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" +}, +"urlMap": { +"description": "URL to the UrlMap resource that defines the mapping from URL to the BackendService.", +"type": "string" +} +}, +"type": "object" +}, +"TargetHttpProxyAggregatedList": { +"id": "TargetHttpProxyAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "TargetHttpProxiesScopedList", +"description": "Name of the scope containing this set of TargetHttpProxies." +}, +"description": "A list of TargetHttpProxiesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#targetHttpProxyAggregatedList", +"description": "[Output Only] Type of resource. Always compute#targetHttpProxyAggregatedList for lists of Target HTTP Proxies.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"TargetHttpProxyList": { +"description": "A list of TargetHttpProxy resources.", +"id": "TargetHttpProxyList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of TargetHttpProxy resources.", +"items": { +"$ref": "TargetHttpProxy" +}, +"type": "array" +}, +"kind": { +"default": "compute#targetHttpProxyList", +"description": "Type of resource. Always compute#targetHttpProxyList for lists of target HTTP proxies.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"TargetHttpsProxiesScopedList": { +"id": "TargetHttpsProxiesScopedList", +"properties": { +"targetHttpsProxies": { +"description": "A list of TargetHttpsProxies contained in this scope.", +"items": { +"$ref": "TargetHttpsProxy" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of backend services when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"TargetHttpsProxiesSetCertificateMapRequest": { +"id": "TargetHttpsProxiesSetCertificateMapRequest", +"properties": { +"certificateMap": { +"description": "URL of the Certificate Map to associate with this TargetHttpsProxy. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}.", +"type": "string" +} +}, +"type": "object" +}, +"TargetHttpsProxiesSetQuicOverrideRequest": { +"id": "TargetHttpsProxiesSetQuicOverrideRequest", +"properties": { +"quicOverride": { +"description": "QUIC policy for the TargetHttpsProxy resource.", +"enum": [ +"DISABLE", +"ENABLE", +"NONE" +], +"enumDescriptions": [ +"The load balancer will not attempt to negotiate QUIC with clients.", +"The load balancer will attempt to negotiate QUIC with clients.", +"No overrides to the default QUIC policy. This option is implicit if no QUIC override has been specified in the request." +], +"type": "string" +} +}, +"type": "object" +}, +"TargetHttpsProxiesSetSslCertificatesRequest": { +"id": "TargetHttpsProxiesSetSslCertificatesRequest", +"properties": { +"sslCertificates": { +"description": "New set of SslCertificate resources to associate with this TargetHttpsProxy resource. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TargetHttpsProxy": { +"description": "Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/alpha/targetHttpsProxies) * [Regional](/compute/docs/reference/rest/alpha/regionTargetHttpsProxies) A target HTTPS proxy is a component of Google Cloud HTTPS load balancers. * targetHttpProxies are used by global external Application Load Balancers, classic Application Load Balancers, cross-region internal Application Load Balancers, and Traffic Director. * regionTargetHttpProxies are used by regional internal Application Load Balancers and regional external Application Load Balancers. Forwarding rules reference a target HTTPS proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts.", +"id": "TargetHttpsProxy", +"properties": { +"authentication": { +"deprecated": true, +"description": "[Deprecated] Use serverTlsPolicy instead.", +"type": "string" +}, +"authorization": { +"deprecated": true, +"description": "[Deprecated] Use authorizationPolicy instead.", +"type": "string" +}, +"authorizationPolicy": { +"description": "Optional. A URL referring to a networksecurity.AuthorizationPolicy resource that describes how the proxy should authorize inbound traffic. If left blank, access will not be restricted by an authorization policy. Refer to the AuthorizationPolicy resource for additional details. authorizationPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. Note: This field currently has no impact.", +"type": "string" +}, +"certificateMap": { +"description": "URL of a certificate map that identifies a certificate map associated with the given target proxy. This field can only be set for Global external Application Load Balancer or Classic Application Load Balancer. For other products use Certificate Manager Certificates instead. If set, sslCertificates will be ignored. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}.", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a TargetHttpsProxy. An up-to-date fingerprint must be provided in order to patch the TargetHttpsProxy; otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the TargetHttpsProxy.", +"format": "byte", +"type": "string" +}, +"httpFilters": { +"description": "URLs to networkservices.HttpFilter resources enabled for xDS clients using this configuration. For example, https://networkservices.googleapis.com/beta/projects/project/locations/ location/httpFilters/httpFilter Only filters that handle outbound connection and stream events may be specified. These filters work in conjunction with a default set of HTTP filters that may already be configured by Traffic Director. Traffic Director will determine the final location of these filters within xDS configuration based on the name of the HTTP filter. If Traffic Director positions multiple filters at the same location, those filters will be in the same order as specified in this list. httpFilters only applies for loadbalancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See ForwardingRule for more details.", +"items": { +"type": "string" +}, +"type": "array" +}, +"httpKeepAliveTimeoutSec": { +"description": "Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For global external Application Load Balancers, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For classic Application Load Balancers, this option is not supported.", +"format": "int32", +"type": "integer" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#targetHttpsProxy", +"description": "[Output Only] Type of resource. Always compute#targetHttpsProxy for target HTTPS proxies.", +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"proxyBind": { +"description": "This field only applies when the forwarding rule that references this target proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED. When this field is set to true, Envoy proxies set up inbound traffic interception and bind to the IP address and port specified in the forwarding rule. This is generally useful when using Traffic Director to configure Envoy as a gateway or middle proxy (in other words, not a sidecar proxy). The Envoy proxy listens for inbound requests and handles requests when it receives them. The default is false.", +"type": "boolean" +}, +"quicOverride": { +"description": "Specifies the QUIC override policy for this TargetHttpsProxy resource. This setting determines whether the load balancer attempts to negotiate QUIC with clients. You can specify NONE, ENABLE, or DISABLE. - When quic-override is set to NONE, Google manages whether QUIC is used. - When quic-override is set to ENABLE, the load balancer uses QUIC when possible. - When quic-override is set to DISABLE, the load balancer doesn't use QUIC. - If the quic-override flag is not specified, NONE is implied. ", +"enum": [ +"DISABLE", +"ENABLE", +"NONE" +], +"enumDescriptions": [ +"The load balancer will not attempt to negotiate QUIC with clients.", +"The load balancer will attempt to negotiate QUIC with clients.", +"No overrides to the default QUIC policy. This option is implicit if no QUIC override has been specified in the request." +], +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the regional TargetHttpsProxy resides. This field is not applicable to global TargetHttpsProxies.", +"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" +}, +"serverTlsPolicy": { +"description": "Optional. A URL referring to a networksecurity.ServerTlsPolicy resource that describes how the proxy should authenticate inbound traffic. serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL or EXTERNAL_MANAGED. For details which ServerTlsPolicy resources are accepted with INTERNAL_SELF_MANAGED and which with EXTERNAL, EXTERNAL_MANAGED loadBalancingScheme consult ServerTlsPolicy documentation. If left blank, communications are not encrypted.", +"type": "string" +}, +"sslCertificates": { +"description": "URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API namespace. Using Certificate Manager Certificates in this field is not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates or up to 100 Certificate Manager Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project}/locations/{ location}/certificates/{resourceName}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project }/locations/{location}/certificates/{resourceName}. ", +"items": { +"type": "string" +}, +"type": "array" +}, +"sslPolicy": { +"description": "URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.", +"type": "string" +}, +"tlsEarlyData": { +"description": " Specifies whether TLS 1.3 0-RTT Data (\"Early Data\") should be accepted for this service. Early Data allows a TLS resumption handshake to include the initial application payload (a HTTP request) alongside the handshake, reducing the effective round trips to \"zero\". This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3). This can improve application performance, especially on networks where interruptions may be common, such as on mobile. Requests with Early Data will have the \"Early-Data\" HTTP header set on the request, with a value of \"1\", to allow the backend to determine whether Early Data was included. Note: TLS Early Data may allow requests to be replayed, as the data is sent to the backend before the handshake has fully completed. Applications that allow idempotent HTTP methods to make non-idempotent changes, such as a GET request updating a database, should not accept Early Data on those requests, and reject requests with the \"Early-Data: 1\" HTTP header by returning a HTTP 425 (Too Early) status code, in order to remain RFC compliant. The default value is DISABLED.", +"enum": [ +"DISABLED", +"PERMISSIVE", +"STRICT", +"UNRESTRICTED" +], +"enumDescriptions": [ +"TLS 1.3 Early Data is not advertised, and any (invalid) attempts to send Early Data will be rejected by closing the connection.", +"This enables TLS 1.3 0-RTT, and only allows Early Data to be included on requests with safe HTTP methods (GET, HEAD, OPTIONS, TRACE). This mode does not enforce any other limitations for requests with Early Data. The application owner should validate that Early Data is acceptable for a given request path.", +"This enables TLS 1.3 0-RTT, and only allows Early Data to be included on requests with safe HTTP methods (GET, HEAD, OPTIONS, TRACE) without query parameters. Requests that send Early Data with non-idempotent HTTP methods or with query parameters will be rejected with a HTTP 425.", +"This enables TLS 1.3 Early Data for requests with any HTTP method including non-idempotent methods list POST. This mode does not enforce any other limitations. This may be valuable for gRPC use cases. However, we do not recommend this method unless you have evaluated your security stance and mitigated the risk of replay attacks using other mechanisms." +], +"type": "string" +}, +"urlMap": { +"description": "A fully-qualified or valid partial URL to the UrlMap resource that defines the mapping from URL to the BackendService. For example, the following are all valid URLs for specifying a URL map: - https://www.googleapis.compute/v1/projects/project/global/urlMaps/ url-map - projects/project/global/urlMaps/url-map - global/urlMaps/url-map ", +"type": "string" +} +}, +"type": "object" +}, +"TargetHttpsProxyAggregatedList": { +"id": "TargetHttpsProxyAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "TargetHttpsProxiesScopedList", +"description": "Name of the scope containing this set of TargetHttpsProxies." +}, +"description": "A list of TargetHttpsProxiesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#targetHttpsProxyAggregatedList", +"description": "[Output Only] Type of resource. Always compute#targetHttpsProxyAggregatedList for lists of Target HTTP Proxies.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"TargetHttpsProxyList": { +"description": "Contains a list of TargetHttpsProxy resources.", +"id": "TargetHttpsProxyList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of TargetHttpsProxy resources.", +"items": { +"$ref": "TargetHttpsProxy" +}, +"type": "array" +}, +"kind": { +"default": "compute#targetHttpsProxyList", +"description": "Type of resource. Always compute#targetHttpsProxyList for lists of target HTTPS proxies.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"TargetInstance": { +"description": "Represents a Target Instance resource. You can use a target instance to handle traffic for one or more forwarding rules, which is ideal for forwarding protocol traffic that is managed by a single source. For example, ESP, AH, TCP, or UDP. For more information, read Target instances.", +"id": "TargetInstance", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"instance": { +"description": "A URL to the virtual machine instance that handles traffic for this target instance. When creating a target instance, you can provide the fully-qualified URL or a valid partial URL to the desired virtual machine. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /instances/instance - projects/project/zones/zone/instances/instance - zones/zone/instances/instance ", +"type": "string" +}, +"kind": { +"default": "compute#targetInstance", +"description": "[Output Only] The type of the resource. Always compute#targetInstance for target instances.", +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"natPolicy": { +"description": "Must have a value of NO_NAT. Protocol forwarding delivers packets while preserving the destination IP address of the forwarding rule referencing the target instance.", +"enum": [ +"NO_NAT" +], +"enumDescriptions": [ +"No NAT performed." +], +"type": "string" +}, +"network": { +"description": "The URL of the network this target instance uses to forward traffic. If not specified, the traffic will be forwarded to the network that the default network interface belongs to.", +"type": "string" +}, +"securityPolicy": { +"description": "[Output Only] The resource URL for the security policy associated with this target instance.", +"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" +}, +"zone": { +"description": "[Output Only] URL of the zone where the target instance resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +} +}, +"type": "object" +}, +"TargetInstanceAggregatedList": { +"id": "TargetInstanceAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "TargetInstancesScopedList", +"description": "Name of the scope containing this set of target instances." +}, +"description": "A list of TargetInstance resources.", +"type": "object" +}, +"kind": { +"default": "compute#targetInstanceAggregatedList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"TargetInstanceList": { +"description": "Contains a list of TargetInstance resources.", +"id": "TargetInstanceList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of TargetInstance resources.", +"items": { +"$ref": "TargetInstance" +}, +"type": "array" +}, +"kind": { +"default": "compute#targetInstanceList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"TargetInstancesScopedList": { +"id": "TargetInstancesScopedList", +"properties": { +"targetInstances": { +"description": "A list of target instances contained in this scope.", +"items": { +"$ref": "TargetInstance" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of addresses when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"TargetPool": { +"description": "Represents a Target Pool resource. Target pools are used with external passthrough Network Load Balancers. A target pool references member instances, an associated legacy HttpHealthCheck resource, and, optionally, a backup target pool. For more information, read Using target pools.", +"id": "TargetPool", +"properties": { +"backupPool": { +"description": "The server-defined URL for the resource. This field is applicable only when the containing target pool is serving a forwarding rule as the primary pool, and its failoverRatio field is properly set to a value between [0, 1]. backupPool and failoverRatio together define the fallback behavior of the primary target pool: if the ratio of the healthy instances in the primary pool is at or below failoverRatio, traffic arriving at the load-balanced IP will be directed to the backup pool. In case where failoverRatio and backupPool are not set, or all the instances in the backup pool are unhealthy, the traffic will be directed back to the primary pool in the \"force\" mode, where traffic will be spread to the healthy instances with the best effort, or to all instances when no instance is healthy.", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"failoverRatio": { +"description": "This field is applicable only when the containing target pool is serving a forwarding rule as the primary pool (i.e., not as a backup pool to some other target pool). The value of the field must be in [0, 1]. If set, backupPool must also be set. They together define the fallback behavior of the primary target pool: if the ratio of the healthy instances in the primary pool is at or below this number, traffic arriving at the load-balanced IP will be directed to the backup pool. In case where failoverRatio is not set or all the instances in the backup pool are unhealthy, the traffic will be directed back to the primary pool in the \"force\" mode, where traffic will be spread to the healthy instances with the best effort, or to all instances when no instance is healthy.", +"format": "float", +"type": "number" +}, +"healthChecks": { +"description": "The URL of the HttpHealthCheck resource. A member instance in this pool is considered healthy if and only if the health checks pass. Only legacy HttpHealthChecks are supported. Only one health check may be specified.", +"items": { +"type": "string" +}, +"type": "array" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"instances": { +"description": "A list of resource URLs to the virtual machine instances serving this pool. They must live in zones contained in the same region as this pool.", +"items": { +"type": "string" +}, +"type": "array" +}, +"kind": { +"default": "compute#targetPool", +"description": "[Output Only] Type of the resource. Always compute#targetPool for target pools.", +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the target pool resides.", +"type": "string" +}, +"securityPolicy": { +"description": "[Output Only] The resource URL for the security policy associated with this target pool.", +"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" +}, +"sessionAffinity": { +"description": "Session affinity option, must be one of the following values: NONE: Connections from the same client IP may go to any instance in the pool. CLIENT_IP: Connections from the same client IP will go to the same instance in the pool while that instance remains healthy. CLIENT_IP_PROTO: Connections from the same client IP with the same IP protocol will go to the same instance in the pool while that instance remains healthy.", +"enum": [ +"CLIENT_IP", +"CLIENT_IP_NO_DESTINATION", +"CLIENT_IP_PORT_PROTO", +"CLIENT_IP_PROTO", +"GENERATED_COOKIE", +"HEADER_FIELD", +"HTTP_COOKIE", +"NONE", +"STRONG_COOKIE_AFFINITY" +], +"enumDescriptions": [ +"2-tuple hash on packet's source and destination IP addresses. Connections from the same source IP address to the same destination IP address will be served by the same backend VM while that VM remains healthy.", +"1-tuple hash only on packet's source IP address. Connections from the same source IP address will be served by the same backend VM while that VM remains healthy. This option can only be used for Internal TCP/UDP Load Balancing.", +"5-tuple hash on packet's source and destination IP addresses, IP protocol, and source and destination ports. Connections for the same IP protocol from the same source IP address and port to the same destination IP address and port will be served by the same backend VM while that VM remains healthy. This option cannot be used for HTTP(S) load balancing.", +"3-tuple hash on packet's source and destination IP addresses, and IP protocol. Connections for the same IP protocol from the same source IP address to the same destination IP address will be served by the same backend VM while that VM remains healthy. This option cannot be used for HTTP(S) load balancing.", +"Hash based on a cookie generated by the L7 loadbalancer. Only valid for HTTP(S) load balancing.", +"The hash is based on a user specified header field.", +"The hash is based on a user provided cookie.", +"No session affinity. Connections from the same client IP may go to any instance in the pool.", +"Strong cookie-based affinity. Connections bearing the same cookie will be served by the same backend VM while that VM remains healthy, as long as the cookie has not expired." +], +"type": "string" +} +}, +"type": "object" +}, +"TargetPoolAggregatedList": { +"id": "TargetPoolAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "TargetPoolsScopedList", +"description": "Name of the scope containing this set of target pools." +}, +"description": "A list of TargetPool resources.", +"type": "object" +}, +"kind": { +"default": "compute#targetPoolAggregatedList", +"description": "[Output Only] Type of resource. Always compute#targetPoolAggregatedList for aggregated lists of target pools.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"TargetPoolInstanceHealth": { +"id": "TargetPoolInstanceHealth", +"properties": { +"healthStatus": { +"items": { +"$ref": "HealthStatus" +}, +"type": "array" +}, +"kind": { +"default": "compute#targetPoolInstanceHealth", +"description": "[Output Only] Type of resource. Always compute#targetPoolInstanceHealth when checking the health of an instance.", +"type": "string" +} +}, +"type": "object" +}, +"TargetPoolList": { +"description": "Contains a list of TargetPool resources.", +"id": "TargetPoolList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of TargetPool resources.", +"items": { +"$ref": "TargetPool" +}, +"type": "array" +}, +"kind": { +"default": "compute#targetPoolList", +"description": "[Output Only] Type of resource. Always compute#targetPoolList for lists of target pools.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"TargetPoolsAddHealthCheckRequest": { +"id": "TargetPoolsAddHealthCheckRequest", +"properties": { +"healthChecks": { +"description": "The HttpHealthCheck to add to the target pool.", +"items": { +"$ref": "HealthCheckReference" +}, +"type": "array" +} +}, +"type": "object" +}, +"TargetPoolsAddInstanceRequest": { +"id": "TargetPoolsAddInstanceRequest", +"properties": { +"instances": { +"description": "A full or partial URL to an instance to add to this target pool. This can be a full or partial URL. For example, the following are valid URLs: - https://www.googleapis.com/compute/v1/projects/project-id/zones/zone /instances/instance-name - projects/project-id/zones/zone/instances/instance-name - zones/zone/instances/instance-name ", +"items": { +"$ref": "InstanceReference" +}, +"type": "array" +} +}, +"type": "object" +}, +"TargetPoolsRemoveHealthCheckRequest": { +"id": "TargetPoolsRemoveHealthCheckRequest", +"properties": { +"healthChecks": { +"description": "Health check URL to be removed. This can be a full or valid partial URL. For example, the following are valid URLs: - https://www.googleapis.com/compute/beta/projects/project /global/httpHealthChecks/health-check - projects/project/global/httpHealthChecks/health-check - global/httpHealthChecks/health-check ", +"items": { +"$ref": "HealthCheckReference" +}, +"type": "array" +} +}, +"type": "object" +}, +"TargetPoolsRemoveInstanceRequest": { +"id": "TargetPoolsRemoveInstanceRequest", +"properties": { +"instances": { +"description": "URLs of the instances to be removed from target pool.", +"items": { +"$ref": "InstanceReference" +}, +"type": "array" +} +}, +"type": "object" +}, +"TargetPoolsScopedList": { +"id": "TargetPoolsScopedList", +"properties": { +"targetPools": { +"description": "A list of target pools contained in this scope.", +"items": { +"$ref": "TargetPool" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of addresses when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"TargetReference": { +"id": "TargetReference", +"properties": { +"target": { +"type": "string" +} +}, +"type": "object" +}, +"TargetSslProxiesSetBackendServiceRequest": { +"id": "TargetSslProxiesSetBackendServiceRequest", +"properties": { +"service": { +"description": "The URL of the new BackendService resource for the targetSslProxy.", +"type": "string" +} +}, +"type": "object" +}, +"TargetSslProxiesSetCertificateMapRequest": { +"id": "TargetSslProxiesSetCertificateMapRequest", +"properties": { +"certificateMap": { +"description": "URL of the Certificate Map to associate with this TargetSslProxy. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}.", +"type": "string" +} +}, +"type": "object" +}, +"TargetSslProxiesSetProxyHeaderRequest": { +"id": "TargetSslProxiesSetProxyHeaderRequest", +"properties": { +"proxyHeader": { +"description": "The new type of proxy header to append before sending data to the backend. NONE or PROXY_V1 are allowed.", +"enum": [ +"NONE", +"PROXY_V1" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"TargetSslProxiesSetSslCertificatesRequest": { +"id": "TargetSslProxiesSetSslCertificatesRequest", +"properties": { +"sslCertificates": { +"description": "New set of URLs to SslCertificate resources to associate with this TargetSslProxy. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TargetSslProxy": { +"description": "Represents a Target SSL Proxy resource. A target SSL proxy is a component of a Proxy Network Load Balancer. The forwarding rule references the target SSL proxy, and the target proxy then references a backend service. For more information, read Proxy Network Load Balancer overview.", +"id": "TargetSslProxy", +"properties": { +"certificateMap": { +"description": "URL of a certificate map that identifies a certificate map associated with the given target proxy. This field can only be set for global target proxies. If set, sslCertificates will be ignored. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}.", +"type": "string" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#targetSslProxy", +"description": "[Output Only] Type of the resource. Always compute#targetSslProxy for target SSL proxies.", +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"proxyHeader": { +"description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.", +"enum": [ +"NONE", +"PROXY_V1" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"service": { +"description": "URL to the BackendService resource.", +"type": "string" +}, +"sslCertificates": { +"description": "URLs to SslCertificate resources that are used to authenticate connections to Backends. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sslPolicy": { +"description": "URL of SslPolicy resource that will be associated with the TargetSslProxy resource. If not set, the TargetSslProxy resource will not have any SSL policy configured.", +"type": "string" +} +}, +"type": "object" +}, +"TargetSslProxyList": { +"description": "Contains a list of TargetSslProxy resources.", +"id": "TargetSslProxyList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of TargetSslProxy resources.", +"items": { +"$ref": "TargetSslProxy" +}, +"type": "array" +}, +"kind": { +"default": "compute#targetSslProxyList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"TargetTcpProxiesScopedList": { +"id": "TargetTcpProxiesScopedList", +"properties": { +"targetTcpProxies": { +"description": "A list of TargetTcpProxies contained in this scope.", +"items": { +"$ref": "TargetTcpProxy" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of backend services when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"TargetTcpProxiesSetBackendServiceRequest": { +"id": "TargetTcpProxiesSetBackendServiceRequest", +"properties": { +"service": { +"description": "The URL of the new BackendService resource for the targetTcpProxy.", +"type": "string" +} +}, +"type": "object" +}, +"TargetTcpProxiesSetProxyHeaderRequest": { +"id": "TargetTcpProxiesSetProxyHeaderRequest", +"properties": { +"proxyHeader": { +"description": "The new type of proxy header to append before sending data to the backend. NONE or PROXY_V1 are allowed.", +"enum": [ +"NONE", +"PROXY_V1" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"TargetTcpProxy": { +"description": "Represents a Target TCP Proxy resource. A target TCP proxy is a component of a Proxy Network Load Balancer. The forwarding rule references the target TCP proxy, and the target proxy then references a backend service. For more information, read Proxy Network Load Balancer overview.", +"id": "TargetTcpProxy", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#targetTcpProxy", +"description": "[Output Only] Type of the resource. Always compute#targetTcpProxy for target TCP proxies.", +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"proxyBind": { +"description": "This field only applies when the forwarding rule that references this target proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED. When this field is set to true, Envoy proxies set up inbound traffic interception and bind to the IP address and port specified in the forwarding rule. This is generally useful when using Traffic Director to configure Envoy as a gateway or middle proxy (in other words, not a sidecar proxy). The Envoy proxy listens for inbound requests and handles requests when it receives them. The default is false.", +"type": "boolean" +}, +"proxyHeader": { +"description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.", +"enum": [ +"NONE", +"PROXY_V1" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the regional TCP proxy resides. This field is not applicable to global TCP proxy.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"service": { +"description": "URL to the BackendService resource.", +"type": "string" +} +}, +"type": "object" +}, +"TargetTcpProxyAggregatedList": { +"id": "TargetTcpProxyAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "TargetTcpProxiesScopedList", +"description": "Name of the scope containing this set of TargetTcpProxies." +}, +"description": "A list of TargetTcpProxiesScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#targetTcpProxyAggregatedList", +"description": "[Output Only] Type of resource. Always compute#targetTcpProxyAggregatedList for lists of Target TCP Proxies.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"TargetTcpProxyList": { +"description": "Contains a list of TargetTcpProxy resources.", +"id": "TargetTcpProxyList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of TargetTcpProxy resources.", +"items": { +"$ref": "TargetTcpProxy" +}, +"type": "array" +}, +"kind": { +"default": "compute#targetTcpProxyList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"TargetVpnGateway": { +"description": "Represents a Target VPN Gateway resource. The target VPN gateway resource represents a Classic Cloud VPN gateway. For more information, read the the Cloud VPN Overview.", +"id": "TargetVpnGateway", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"forwardingRules": { +"description": "[Output Only] A list of URLs to the ForwardingRule resources. ForwardingRules are created using compute.forwardingRules.insert and associated with a VPN gateway.", +"items": { +"type": "string" +}, +"type": "array" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#targetVpnGateway", +"description": "[Output Only] Type of resource. Always compute#targetVpnGateway for target VPN gateways.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this TargetVpnGateway, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a TargetVpnGateway.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", +"type": "object" +}, +"name": { +"annotations": { +"required": [ +"compute.targetVpnGateways.insert" +] +}, +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"network": { +"annotations": { +"required": [ +"compute.targetVpnGateways.insert" +] +}, +"description": "URL of the network to which this VPN gateway is attached. Provided by the client when the VPN gateway is created.", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the target VPN gateway resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"status": { +"description": "[Output Only] The status of the VPN gateway, which can be one of the following: CREATING, READY, FAILED, or DELETING.", +"enum": [ +"CREATING", +"DELETING", +"FAILED", +"READY" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"tunnels": { +"description": "[Output Only] A list of URLs to VpnTunnel resources. VpnTunnels are created using the compute.vpntunnels.insert method and associated with a VPN gateway.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TargetVpnGatewayAggregatedList": { +"id": "TargetVpnGatewayAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "TargetVpnGatewaysScopedList", +"description": "[Output Only] Name of the scope containing this set of target VPN gateways." +}, +"description": "A list of TargetVpnGateway resources.", +"type": "object" +}, +"kind": { +"default": "compute#targetVpnGatewayAggregatedList", +"description": "[Output Only] Type of resource. Always compute#targetVpnGateway for target VPN gateways.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"TargetVpnGatewayList": { +"description": "Contains a list of TargetVpnGateway resources.", +"id": "TargetVpnGatewayList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of TargetVpnGateway resources.", +"items": { +"$ref": "TargetVpnGateway" +}, +"type": "array" +}, +"kind": { +"default": "compute#targetVpnGatewayList", +"description": "[Output Only] Type of resource. Always compute#targetVpnGateway for target VPN gateways.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"TargetVpnGatewaysScopedList": { +"id": "TargetVpnGatewaysScopedList", +"properties": { +"targetVpnGateways": { +"description": "[Output Only] A list of target VPN gateways contained in this scope.", +"items": { +"$ref": "TargetVpnGateway" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of addresses when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"TestFailure": { +"id": "TestFailure", +"properties": { +"actualOutputUrl": { +"description": "The actual output URL evaluated by a load balancer containing the scheme, host, path and query parameters.", +"type": "string" +}, +"actualRedirectResponseCode": { +"description": "Actual HTTP status code for rule with `urlRedirect` calculated by load balancer", +"format": "int32", +"type": "integer" +}, +"actualService": { +"description": "BackendService or BackendBucket returned by load balancer.", +"type": "string" +}, +"expectedOutputUrl": { +"description": "The expected output URL evaluated by a load balancer containing the scheme, host, path and query parameters.", +"type": "string" +}, +"expectedRedirectResponseCode": { +"description": "Expected HTTP status code for rule with `urlRedirect` calculated by load balancer", +"format": "int32", +"type": "integer" +}, +"expectedService": { +"description": "Expected BackendService or BackendBucket resource the given URL should be mapped to.", +"type": "string" +}, +"headers": { +"description": "HTTP headers of the request.", +"items": { +"$ref": "UrlMapTestHeader" +}, +"type": "array" +}, +"host": { +"description": "Host portion of the URL.", +"type": "string" +}, +"path": { +"description": "Path portion including query parameters in the URL.", +"type": "string" +} +}, +"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" +}, +"TlsCertificateContext": { +"description": "[Deprecated] Defines the mechanism to obtain the client or server certificate. Defines the mechanism to obtain the client or server certificate.", +"id": "TlsCertificateContext", +"properties": { +"certificatePaths": { +"$ref": "TlsCertificatePaths", +"description": "Specifies the certificate and private key paths. This field is applicable only if tlsCertificateSource is set to USE_PATH." +}, +"certificateSource": { +"description": "Defines how TLS certificates are obtained.", +"enum": [ +"INVALID", +"USE_PATH", +"USE_SDS" +], +"enumDescriptions": [ +"", +"USE_PATH specifies that the certificates and private key are obtained from a locally mounted filesystem path.", +"USE_SDS specifies that the certificates and private key are obtained from a SDS server." +], +"type": "string" +}, +"sdsConfig": { +"$ref": "SdsConfig", +"description": "Specifies the config to retrieve certificates through SDS. This field is applicable only if tlsCertificateSource is set to USE_SDS." +} +}, +"type": "object" +}, +"TlsCertificatePaths": { +"description": "[Deprecated] The paths to the mounted TLS Certificates and private key. The paths to the mounted TLS Certificates and private key.", +"id": "TlsCertificatePaths", +"properties": { +"certificatePath": { +"description": "The path to the file holding the client or server TLS certificate to use.", +"type": "string" +}, +"privateKeyPath": { +"description": "The path to the file holding the client or server private key.", +"type": "string" +} +}, +"type": "object" +}, +"TlsContext": { +"description": "[Deprecated] The TLS settings for the client or server. The TLS settings for the client or server.", +"id": "TlsContext", +"properties": { +"certificateContext": { +"$ref": "TlsCertificateContext", +"description": "Defines the mechanism to obtain the client or server certificate." +}, +"validationContext": { +"$ref": "TlsValidationContext", +"description": "Defines the mechanism to obtain the Certificate Authority certificate to validate the client/server certificate. If omitted, the proxy will not validate the server or client certificate." +} +}, +"type": "object" +}, +"TlsValidationContext": { +"description": "[Deprecated] Defines the mechanism to obtain the Certificate Authority certificate to validate the client/server certificate. validate the client/server certificate.", +"id": "TlsValidationContext", +"properties": { +"certificatePath": { +"description": "The path to the file holding the CA certificate to validate the client or server certificate.", +"type": "string" +}, +"sdsConfig": { +"$ref": "SdsConfig", +"description": "Specifies the config to retrieve certificates through SDS. This field is applicable only if tlsCertificateSource is set to USE_SDS." +}, +"validationSource": { +"description": "Defines how TLS certificates are obtained.", +"enum": [ +"INVALID", +"USE_PATH", +"USE_SDS" +], +"enumDescriptions": [ +"", +"USE_PATH specifies that the certificates and private key are obtained from a locally mounted filesystem path.", +"USE_SDS specifies that the certificates and private key are obtained from a SDS server." +], +"type": "string" +} +}, +"type": "object" +}, +"UDPHealthCheck": { +"id": "UDPHealthCheck", +"properties": { +"port": { +"description": "The UDP port number to which the health check prober sends packets. Valid values are 1 through 65535.", +"format": "int32", +"type": "integer" +}, +"portName": { +"description": "Not supported.", +"type": "string" +}, +"request": { +"description": "Raw data of request to send in payload of UDP packet. It is an error if this is empty. The request data can only be ASCII.", +"type": "string" +}, +"response": { +"description": "The bytes to match against the beginning of the response data. It is an error if this is empty. The response data can only be ASCII.", +"type": "string" +} +}, +"type": "object" +}, +"Uint128": { +"id": "Uint128", +"properties": { +"high": { +"format": "uint64", +"type": "string" +}, +"low": { +"format": "uint64", +"type": "string" +} +}, +"type": "object" +}, +"UpcomingMaintenance": { +"description": "Upcoming Maintenance notification information.", +"id": "UpcomingMaintenance", +"properties": { +"canReschedule": { +"description": "Indicates if the maintenance can be customer triggered.", +"type": "boolean" +}, +"date": { +"description": "[Output Only] The date when the maintenance will take place. This value is in RFC3339 text format. DEPRECATED: Use window_start_time instead.", +"type": "string" +}, +"latestWindowStartTime": { +"description": "The latest time for the planned maintenance window to start. This timestamp value is in RFC3339 text format.", +"type": "string" +}, +"maintenanceStatus": { +"enum": [ +"ONGOING", +"PENDING", +"UNKNOWN" +], +"enumDescriptions": [ +"There is ongoing maintenance on this VM.", +"There is pending maintenance.", +"Unknown maintenance status. Do not use this value." +], +"type": "string" +}, +"startTimeWindow": { +"$ref": "UpcomingMaintenanceTimeWindow", +"description": "[Output Only] The start time window of the maintenance disruption. DEPRECATED: Use window_start_time instead. TimeWindow is a container for two strings that represent timestamps in \"yyyy-MM-dd'T'HH:mm:ssZ\" text format." +}, +"time": { +"description": "[Output Only] The time when the maintenance will take place. This value is in RFC3339 text format. DEPRECATED: Use window_start_time instead.", +"type": "string" +}, +"type": { +"description": "Defines the type of maintenance.", +"enum": [ +"SCHEDULED", +"UNKNOWN_TYPE", +"UNSCHEDULED" +], +"enumDescriptions": [ +"Scheduled maintenance (e.g. maintenance after uptime guarantee is complete).", +"No type specified. Do not use this value.", +"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" +}, +"UpcomingMaintenanceTimeWindow": { +"description": "Represents a window of time using two timestamps: `earliest` and `latest`.", +"id": "UpcomingMaintenanceTimeWindow", +"properties": { +"earliest": { +"type": "string" +}, +"latest": { +"type": "string" +} +}, +"type": "object" +}, +"UrlMap": { +"description": "Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/alpha/urlMaps) * [Regional](/compute/docs/reference/rest/alpha/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by global external Application Load Balancers, classic Application Load Balancers, and cross-region internal Application Load Balancers. * regionUrlMaps are used by internal Application Load Balancers, regional external Application Load Balancers and regional internal Application Load Balancers. For a list of supported URL map features by the load balancer type, see the Load balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL, EXTERNAL_MANAGED, or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read URL Map Concepts.", +"id": "UrlMap", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"defaultCustomErrorResponsePolicy": { +"$ref": "CustomErrorResponsePolicy", +"description": "defaultCustomErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. This policy takes effect at the load balancer level and applies only when no policy has been defined for the error code at lower levels like PathMatcher, RouteRule and PathRule within this UrlMap. For example, consider a UrlMap with the following configuration: - defaultCustomErrorResponsePolicy containing policies for responding to 5xx and 4xx errors - A PathMatcher configured for *.example.com has defaultCustomErrorResponsePolicy for 4xx. If a request for http://www.example.com/ encounters a 404, the policy in pathMatcher.defaultCustomErrorResponsePolicy will be enforced. When the request for http://www.example.com/ encounters a 502, the policy in UrlMap.defaultCustomErrorResponsePolicy will be enforced. When a request that does not match any host in *.example.com such as http://www.myotherexample.com/, encounters a 404, UrlMap.defaultCustomErrorResponsePolicy takes effect. When used in conjunction with defaultRouteAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the defaultCustomErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the defaultCustomErrorResponsePolicy is ignored and the response from the service is returned to the client. defaultCustomErrorResponsePolicy is supported only for global external Application Load Balancers." +}, +"defaultRouteAction": { +"$ref": "HttpRouteAction", +"description": "defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." +}, +"defaultService": { +"description": "The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. defaultService has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.", +"type": "string" +}, +"defaultUrlRedirect": { +"$ref": "HttpRedirectAction", +"description": "When none of the specified hostRules match, the request is redirected to a URL specified by defaultUrlRedirect. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy." +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"fingerprint": { +"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field is ignored when inserting a UrlMap. An up-to-date fingerprint must be provided in order to update the UrlMap, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a UrlMap.", +"format": "byte", +"type": "string" +}, +"headerAction": { +"$ref": "HttpHeaderAction", +"description": "Specifies changes to request and response headers that need to take effect for the selected backendService. The headerAction specified here take effect after headerAction specified under pathMatcher. headerAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true." +}, +"hostRules": { +"description": "The list of host rules to use against the URL.", +"items": { +"$ref": "HostRule" +}, +"type": "array" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#urlMap", +"description": "[Output Only] Type of the resource. Always compute#urlMaps for url maps.", +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"pathMatchers": { +"description": "The list of named PathMatchers to use against the URL.", +"items": { +"$ref": "PathMatcher" +}, +"type": "array" +}, +"region": { +"description": "[Output Only] URL of the region where the regional URL map resides. This field is not applicable to global URL maps. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"tests": { +"description": "The list of expected URL mapping tests. Request to update the UrlMap succeeds only if all test cases pass. You can specify a maximum of 100 tests per UrlMap. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.", +"items": { +"$ref": "UrlMapTest" +}, +"type": "array" +} +}, +"type": "object" +}, +"UrlMapList": { +"description": "Contains a list of UrlMap resources.", +"id": "UrlMapList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of UrlMap resources.", +"items": { +"$ref": "UrlMap" +}, +"type": "array" +}, +"kind": { +"default": "compute#urlMapList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"UrlMapReference": { +"id": "UrlMapReference", +"properties": { +"urlMap": { +"type": "string" +} +}, +"type": "object" +}, +"UrlMapTest": { +"description": "Message for the expected URL mappings.", +"id": "UrlMapTest", +"properties": { +"backendServiceWeight": { +"description": "The weight to use for the supplied host and path when using advanced routing rules that involve traffic splitting.", +"format": "uint32", +"type": "integer" +}, +"description": { +"description": "Description of this test case.", +"type": "string" +}, +"expectedOutputUrl": { +"description": "The expected output URL evaluated by the load balancer containing the scheme, host, path and query parameters. For rules that forward requests to backends, the test passes only when expectedOutputUrl matches the request forwarded by the load balancer to backends. For rules with urlRewrite, the test verifies that the forwarded request matches hostRewrite and pathPrefixRewrite in the urlRewrite action. When service is specified, expectedOutputUrl`s scheme is ignored. For rules with urlRedirect, the test passes only if expectedOutputUrl matches the URL in the load balancer's redirect response. If urlRedirect specifies https_redirect, the test passes only if the scheme in expectedOutputUrl is also set to HTTPS. If urlRedirect specifies strip_query, the test passes only if expectedOutputUrl does not contain any query parameters. expectedOutputUrl is optional when service is specified.", +"type": "string" +}, +"expectedRedirectResponseCode": { +"description": "For rules with urlRedirect, the test passes only if expectedRedirectResponseCode matches the HTTP status code in load balancer's redirect response. expectedRedirectResponseCode cannot be set when service is set.", +"format": "int32", +"type": "integer" +}, +"expectedUrlRedirect": { +"description": "The expected URL that should be redirected to for the host and path being tested. [Deprecated] This field is deprecated. Use expected_output_url instead.", +"type": "string" +}, +"headers": { +"description": "HTTP headers for this request. If headers contains a host header, then host must also match the header value.", +"items": { +"$ref": "UrlMapTestHeader" +}, +"type": "array" +}, +"host": { +"description": "Host portion of the URL. If headers contains a host header, then host must also match the header value.", +"type": "string" +}, +"path": { +"description": "Path portion of the URL.", +"type": "string" +}, +"service": { +"description": "Expected BackendService or BackendBucket resource the given URL should be mapped to. The service field cannot be set if expectedRedirectResponseCode is set.", +"type": "string" +} +}, +"type": "object" +}, +"UrlMapTestHeader": { +"description": "HTTP headers used in UrlMapTests.", +"id": "UrlMapTestHeader", +"properties": { +"name": { +"description": "Header name.", +"type": "string" +}, +"value": { +"description": "Header value.", +"type": "string" +} +}, +"type": "object" +}, +"UrlMapValidationResult": { +"description": "Message representing the validation result for a UrlMap.", +"id": "UrlMapValidationResult", +"properties": { +"loadErrors": { +"items": { +"type": "string" +}, +"type": "array" +}, +"loadSucceeded": { +"description": "Whether the given UrlMap can be successfully loaded. If false, 'loadErrors' indicates the reasons.", +"type": "boolean" +}, +"testFailures": { +"items": { +"$ref": "TestFailure" +}, +"type": "array" +}, +"testPassed": { +"description": "If successfully loaded, this field indicates whether the test passed. If false, 'testFailures's indicate the reason of failure.", +"type": "boolean" +} +}, +"type": "object" +}, +"UrlMapsAggregatedList": { +"id": "UrlMapsAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "UrlMapsScopedList", +"description": "Name of the scope containing this set of UrlMaps." +}, +"description": "A list of UrlMapsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#urlMapsAggregatedList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"UrlMapsScopedList": { +"id": "UrlMapsScopedList", +"properties": { +"urlMaps": { +"description": "A list of UrlMaps contained in this scope.", +"items": { +"$ref": "UrlMap" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of backend services when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"UrlMapsValidateRequest": { +"id": "UrlMapsValidateRequest", +"properties": { +"loadBalancingSchemes": { +"description": "Specifies the load balancer type(s) this validation request is for. Use EXTERNAL_MANAGED for global external Application Load Balancers and regional external Application Load Balancers. Use EXTERNAL for classic Application Load Balancers. Use INTERNAL_MANAGED for internal Application Load Balancers. For more information, refer to Choosing a load balancer. If unspecified, the load balancing scheme will be inferred from the backend service resources this URL map references. If that can not be inferred (for example, this URL map only references backend buckets, or this Url map is for rewrites and redirects only and doesn't reference any backends), EXTERNAL will be used as the default type. If specified, the scheme(s) must not conflict with the load balancing scheme of the backend service resources this Url map references.", +"items": { +"enum": [ +"EXTERNAL", +"EXTERNAL_MANAGED", +"LOAD_BALANCING_SCHEME_UNSPECIFIED" +], +"enumDescriptions": [ +"Signifies that this will be used for classic Application Load Balancers.", +"Signifies that this will be used for Envoy-based global external Application Load Balancers.", +"If unspecified, the validation will try to infer the scheme from the backend service resources this Url map references. If the inference is not possible, EXTERNAL will be used as the default type." +], +"type": "string" +}, +"type": "array" +}, +"resource": { +"$ref": "UrlMap", +"description": "Content of the UrlMap to be validated." +} +}, +"type": "object" +}, +"UrlMapsValidateResponse": { +"id": "UrlMapsValidateResponse", +"properties": { +"result": { +"$ref": "UrlMapValidationResult" +} +}, +"type": "object" +}, +"UrlRewrite": { +"description": "The spec for modifying the path before sending the request to the matched backend service.", +"id": "UrlRewrite", +"properties": { +"hostRewrite": { +"description": "Before forwarding the request to the selected service, the request's host header is replaced with contents of hostRewrite. The value must be from 1 to 255 characters.", +"type": "string" +}, +"pathPrefixRewrite": { +"description": "Before forwarding the request to the selected backend service, the matching portion of the request's path is replaced by pathPrefixRewrite. The value must be from 1 to 1024 characters.", +"type": "string" +}, +"pathTemplateRewrite": { +"description": " If specified, the pattern rewrites the URL path (based on the :path header) using the HTTP template syntax. A corresponding path_template_match must be specified. Any template variables must exist in the path_template_match field. - -At least one variable must be specified in the path_template_match field - You can omit variables from the rewritten URL - The * and ** operators cannot be matched unless they have a corresponding variable name - e.g. {format=*} or {var=**}. For example, a path_template_match of /static/{format=**} could be rewritten as /static/content/{format} to prefix /content to the URL. Variables can also be re-ordered in a rewrite, so that /{country}/{format}/{suffix=**} can be rewritten as /content/{format}/{country}/{suffix}. At least one non-empty routeRules[].matchRules[].path_template_match is required. Only one of path_prefix_rewrite or path_template_rewrite may be specified.", +"type": "string" +} +}, +"type": "object" +}, +"UsableSubnetwork": { +"description": "Subnetwork which the current user has compute.subnetworks.use permission on.", +"id": "UsableSubnetwork", +"properties": { +"externalIpv6Prefix": { +"description": "[Output Only] The external IPv6 address range that is assigned to this subnetwork.", +"type": "string" +}, +"internalIpv6Prefix": { +"description": "[Output Only] The internal IPv6 address range that is assigned to this subnetwork.", +"type": "string" +}, +"ipCidrRange": { +"description": "The range of internal addresses that are owned by this subnetwork.", +"type": "string" +}, +"ipv6AccessType": { +"description": "The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack.", +"enum": [ +"EXTERNAL", +"INTERNAL" +], +"enumDescriptions": [ +"VMs on this subnet will be assigned IPv6 addresses that are accessible via the Internet, as well as the VPC network.", +"VMs on this subnet will be assigned IPv6 addresses that are only accessible over the VPC network." +], +"type": "string" +}, +"network": { +"description": "Network URL.", +"type": "string" +}, +"purpose": { +"description": "The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.", +"enum": [ +"AGGREGATE", +"CLOUD_EXTENSION", +"CUSTOM_HARDWARE_LINK", +"GLOBAL_MANAGED_PROXY", +"INTERNAL_HTTPS_LOAD_BALANCER", +"PEER_MIGRATION", +"PRIVATE", +"PRIVATE_NAT", +"PRIVATE_RFC_1918", +"PRIVATE_SERVICE_CONNECT", +"REGIONAL_MANAGED_PROXY" +], +"enumDescriptions": [ +"Subnetwork used to aggregate multiple private subnetworks.", +"Subnetworks created for Cloud Extension Machines.", +"Subnetwork used for Custom Hardware Link.", +"Subnet reserved for Global Envoy-based Load Balancing.", +"Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy purpose, please use REGIONAL_MANAGED_PROXY instead.", +"Subnetwork will be used for Migration from one peered VPC to another. (a transient state of subnetwork while migrating resources from one project to another).", +"Regular user created or automatically created subnet.", +"Subnetwork used as source range for Private NAT Gateways.", +"Regular user created or automatically created subnet.", +"Subnetworks created for Private Service Connect in the producer network.", +"Subnetwork used for Regional Envoy-based Load Balancing." +], +"type": "string" +}, +"role": { +"description": "The role of subnetwork. Currently, this field is only used when purpose is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.", +"enum": [ +"ACTIVE", +"BACKUP" +], +"enumDescriptions": [ +"The ACTIVE subnet that is currently used.", +"The BACKUP subnet that could be promoted to ACTIVE." +], +"type": "string" +}, +"secondaryIpRanges": { +"description": "Secondary IP ranges.", +"items": { +"$ref": "UsableSubnetworkSecondaryRange" +}, +"type": "array" +}, +"stackType": { +"description": "The stack type for the subnet. If set to IPV4_ONLY, new VMs in the subnet are assigned IPv4 addresses only. If set to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch.", +"enum": [ +"IPV4_IPV6", +"IPV4_ONLY", +"IPV6_ONLY" +], +"enumDescriptions": [ +"New VMs in this subnet can have both IPv4 and IPv6 addresses.", +"New VMs in this subnet will only be assigned IPv4 addresses.", +"New VMs in this subnet will only be assigned IPv6 addresses." +], +"type": "string" +}, +"subnetwork": { +"description": "Subnetwork URL.", +"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. The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the subnetwork.", +"type": "string" +} +}, +"type": "object" +}, +"UsableSubnetworksAggregatedList": { +"id": "UsableSubnetworksAggregatedList", +"properties": { +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"type": "string" +}, +"items": { +"description": "[Output] A list of usable subnetwork URLs.", +"items": { +"$ref": "UsableSubnetwork" +}, +"type": "array" +}, +"kind": { +"default": "compute#usableSubnetworksAggregatedList", +"description": "[Output Only] Type of resource. Always compute#usableSubnetworksAggregatedList for aggregated lists of usable subnetworks.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. In special cases listUsable may return 0 subnetworks and nextPageToken which still should be used to get the next page of results.", +"type": "string" +}, +"scopedWarnings": { +"description": "[Output Only] Informational warning messages for failures encountered from scopes.", +"items": { +"$ref": "SubnetworksScopedWarning" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"UsageExportLocation": { +"description": "The location in Cloud Storage and naming method of the daily usage report. Contains bucket_name and report_name prefix.", +"id": "UsageExportLocation", +"properties": { +"bucketName": { +"description": "The name of an existing bucket in Cloud Storage where the usage report object is stored. The Google Service Account is granted write access to this bucket. This can either be the bucket name by itself, such as example-bucket, or the bucket name with gs:// or https://storage.googleapis.com/ in front of it, such as gs://example-bucket.", +"type": "string" +}, +"reportNamePrefix": { +"description": "An optional prefix for the name of the usage report object stored in bucketName. If not supplied, defaults to usage_gce. The report is stored as a CSV file named report_name_prefix_gce_YYYYMMDD.csv where YYYYMMDD is the day of the usage according to Pacific Time. If you supply a prefix, it should conform to Cloud Storage object naming conventions.", +"type": "string" +} +}, +"type": "object" +}, +"VmEndpointNatMappings": { +"description": "Contain information of Nat mapping for a VM endpoint (i.e., NIC).", +"id": "VmEndpointNatMappings", +"properties": { +"instanceName": { +"description": "Name of the VM instance which the endpoint belongs to", +"type": "string" +}, +"interfaceNatMappings": { +"items": { +"$ref": "VmEndpointNatMappingsInterfaceNatMappings" +}, +"type": "array" +} +}, +"type": "object" +}, +"VmEndpointNatMappingsInterfaceNatMappings": { +"description": "Contain information of Nat mapping for an interface of this endpoint.", +"id": "VmEndpointNatMappingsInterfaceNatMappings", +"properties": { +"drainNatIpPortRanges": { +"description": "List of all drain IP:port-range mappings assigned to this interface. These ranges are inclusive, that is, both the first and the last ports can be used for NAT. Example: [\"2.2.2.2:12345-12355\", \"1.1.1.1:2234-2234\"].", +"items": { +"type": "string" +}, +"type": "array" +}, +"natIpPortRanges": { +"description": "A list of all IP:port-range mappings assigned to this interface. These ranges are inclusive, that is, both the first and the last ports can be used for NAT. Example: [\"2.2.2.2:12345-12355\", \"1.1.1.1:2234-2234\"].", +"items": { +"type": "string" +}, +"type": "array" +}, +"numTotalDrainNatPorts": { +"description": "Total number of drain ports across all NAT IPs allocated to this interface. It equals to the aggregated port number in the field drain_nat_ip_port_ranges.", +"format": "int32", +"type": "integer" +}, +"numTotalNatPorts": { +"description": "Total number of ports across all NAT IPs allocated to this interface. It equals to the aggregated port number in the field nat_ip_port_ranges.", +"format": "int32", +"type": "integer" +}, +"ruleMappings": { +"description": "Information about mappings provided by rules in this NAT.", +"items": { +"$ref": "VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings" +}, +"type": "array" +}, +"sourceAliasIpRange": { +"description": "Alias IP range for this interface endpoint. It will be a private (RFC 1918) IP range. Examples: \"10.33.4.55/32\", or \"192.168.5.0/24\".", +"type": "string" +}, +"sourceVirtualIp": { +"description": "Primary IP of the VM for this NIC.", +"type": "string" +} +}, +"type": "object" +}, +"VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings": { +"description": "Contains information of NAT Mappings provided by a NAT Rule.", +"id": "VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings", +"properties": { +"drainNatIpPortRanges": { +"description": "List of all drain IP:port-range mappings assigned to this interface by this rule. These ranges are inclusive, that is, both the first and the last ports can be used for NAT. Example: [\"2.2.2.2:12345-12355\", \"1.1.1.1:2234-2234\"].", +"items": { +"type": "string" +}, +"type": "array" +}, +"natIpPortRanges": { +"description": "A list of all IP:port-range mappings assigned to this interface by this rule. These ranges are inclusive, that is, both the first and the last ports can be used for NAT. Example: [\"2.2.2.2:12345-12355\", \"1.1.1.1:2234-2234\"].", +"items": { +"type": "string" +}, +"type": "array" +}, +"numTotalDrainNatPorts": { +"description": "Total number of drain ports across all NAT IPs allocated to this interface by this rule. It equals the aggregated port number in the field drain_nat_ip_port_ranges.", +"format": "int32", +"type": "integer" +}, +"numTotalNatPorts": { +"description": "Total number of ports across all NAT IPs allocated to this interface by this rule. It equals the aggregated port number in the field nat_ip_port_ranges.", +"format": "int32", +"type": "integer" +}, +"ruleNumber": { +"description": "Rule number of the NAT Rule.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"VmEndpointNatMappingsList": { +"description": "Contains a list of VmEndpointNatMappings.", +"id": "VmEndpointNatMappingsList", +"properties": { +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"type": "string" +}, +"kind": { +"default": "compute#vmEndpointNatMappingsList", +"description": "[Output Only] Type of resource. Always compute#vmEndpointNatMappingsList for lists of Nat mappings of VM endpoints.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"result": { +"description": "[Output Only] A list of Nat mapping information of VM endpoints.", +"items": { +"$ref": "VmEndpointNatMappings" +}, +"type": "array" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"VpnGateway": { +"description": "Represents a HA VPN gateway. HA VPN is a high-availability (HA) Cloud VPN solution that lets you securely connect your on-premises network to your Google Cloud Virtual Private Cloud network through an IPsec VPN connection in a single region. For more information about Cloud HA VPN solutions, see Cloud VPN topologies .", +"id": "VpnGateway", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"gatewayIpVersion": { +"description": "The IP family of the gateway IPs for the HA-VPN gateway interfaces. If not specified, IPV4 will be used.", +"enum": [ +"IPV4", +"IPV6" +], +"enumDescriptions": [ +"Every HA-VPN gateway interface is configured with an IPv4 address.", +"Every HA-VPN gateway interface is configured with an IPv6 address." +], +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#vpnGateway", +"description": "[Output Only] Type of resource. Always compute#vpnGateway for VPN gateways.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this VpnGateway, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a VpnGateway.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", +"type": "object" +}, +"name": { +"annotations": { +"required": [ +"compute.vpnGateways.insert" +] +}, +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"network": { +"annotations": { +"required": [ +"compute.vpnGateways.insert" +] +}, +"description": "URL of the network to which this VPN gateway is attached. Provided by the client when the VPN gateway is created.", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the VPN gateway resides.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"stackType": { +"description": "The stack type for this VPN gateway to identify the IP protocols that are enabled. Possible values are: IPV4_ONLY, IPV4_IPV6, IPV6_ONLY. If not specified, IPV4_ONLY is used if the gateway IP version is IPV4, or IPV4_IPV6 if the gateway IP version is IPV6.", +"enum": [ +"IPV4_IPV6", +"IPV4_ONLY", +"IPV6_ONLY" +], +"enumDescriptions": [ +"Enable VPN gateway with both IPv4 and IPv6 protocols.", +"Enable VPN gateway with only IPv4 protocol.", +"Enable VPN gateway with only IPv6 protocol." +], +"type": "string" +}, +"vpnInterfaces": { +"description": "The list of VPN interfaces associated with this VPN gateway.", +"items": { +"$ref": "VpnGatewayVpnGatewayInterface" +}, +"type": "array" +} +}, +"type": "object" +}, +"VpnGatewayAggregatedList": { +"id": "VpnGatewayAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "VpnGatewaysScopedList", +"description": "[Output Only] Name of the scope containing this set of VPN gateways." +}, +"description": "A list of VpnGateway resources.", +"type": "object" +}, +"kind": { +"default": "compute#vpnGatewayAggregatedList", +"description": "[Output Only] Type of resource. Always compute#vpnGateway for VPN gateways.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"VpnGatewayList": { +"description": "Contains a list of VpnGateway resources.", +"id": "VpnGatewayList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of VpnGateway resources.", +"items": { +"$ref": "VpnGateway" +}, +"type": "array" +}, +"kind": { +"default": "compute#vpnGatewayList", +"description": "[Output Only] Type of resource. Always compute#vpnGateway for VPN gateways.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"VpnGatewayStatus": { +"id": "VpnGatewayStatus", +"properties": { +"vpnConnections": { +"description": "List of VPN connection for this VpnGateway.", +"items": { +"$ref": "VpnGatewayStatusVpnConnection" +}, +"type": "array" +} +}, +"type": "object" +}, +"VpnGatewayStatusHighAvailabilityRequirementState": { +"description": "Describes the high availability requirement state for the VPN connection between this Cloud VPN gateway and a peer gateway.", +"id": "VpnGatewayStatusHighAvailabilityRequirementState", +"properties": { +"state": { +"description": "Indicates the high availability requirement state for the VPN connection. Valid values are CONNECTION_REDUNDANCY_MET, CONNECTION_REDUNDANCY_NOT_MET.", +"enum": [ +"CONNECTION_REDUNDANCY_MET", +"CONNECTION_REDUNDANCY_NOT_MET" +], +"enumDescriptions": [ +"VPN tunnels are configured with adequate redundancy from Cloud VPN gateway to the peer VPN gateway. For both GCP-to-non-GCP and GCP-to-GCP connections, the adequate redundancy is a pre-requirement for users to get 99.99% availability on GCP side; please note that for any connection, end-to-end 99.99% availability is subject to proper configuration on the peer VPN gateway.", +"VPN tunnels are not configured with adequate redundancy from the Cloud VPN gateway to the peer gateway" +], +"type": "string" +}, +"unsatisfiedReason": { +"description": "Indicates the reason why the VPN connection does not meet the high availability redundancy criteria/requirement. Valid values is INCOMPLETE_TUNNELS_COVERAGE.", +"enum": [ +"INCOMPLETE_TUNNELS_COVERAGE" +], +"enumDescriptions": [ +"" +], +"type": "string" +} +}, +"type": "object" +}, +"VpnGatewayStatusTunnel": { +"description": "Contains some information about a VPN tunnel.", +"id": "VpnGatewayStatusTunnel", +"properties": { +"localGatewayInterface": { +"description": "The VPN gateway interface this VPN tunnel is associated with.", +"format": "uint32", +"type": "integer" +}, +"peerGatewayInterface": { +"description": "The peer gateway interface this VPN tunnel is connected to, the peer gateway could either be an external VPN gateway or a Google Cloud VPN gateway.", +"format": "uint32", +"type": "integer" +}, +"tunnelUrl": { +"description": "URL reference to the VPN tunnel.", +"type": "string" +} +}, +"type": "object" +}, +"VpnGatewayStatusVpnConnection": { +"description": "A VPN connection contains all VPN tunnels connected from this VpnGateway to the same peer gateway. The peer gateway could either be an external VPN gateway or a Google Cloud VPN gateway.", +"id": "VpnGatewayStatusVpnConnection", +"properties": { +"peerExternalGateway": { +"description": "URL reference to the peer external VPN gateways to which the VPN tunnels in this VPN connection are connected. This field is mutually exclusive with peer_gcp_gateway.", +"type": "string" +}, +"peerGcpGateway": { +"description": "URL reference to the peer side VPN gateways to which the VPN tunnels in this VPN connection are connected. This field is mutually exclusive with peer_gcp_gateway.", +"type": "string" +}, +"state": { +"$ref": "VpnGatewayStatusHighAvailabilityRequirementState", +"description": "HighAvailabilityRequirementState for the VPN connection." +}, +"tunnels": { +"description": "List of VPN tunnels that are in this VPN connection.", +"items": { +"$ref": "VpnGatewayStatusTunnel" +}, +"type": "array" +} +}, +"type": "object" +}, +"VpnGatewayVpnGatewayInterface": { +"description": "A VPN gateway interface.", +"id": "VpnGatewayVpnGatewayInterface", +"properties": { +"id": { +"description": "[Output Only] Numeric identifier for this VPN interface associated with the VPN gateway.", +"format": "uint32", +"type": "integer" +}, +"interconnectAttachment": { +"description": "URL of the VLAN attachment (interconnectAttachment) resource for this VPN gateway interface. When the value of this field is present, the VPN gateway is used for HA VPN over Cloud Interconnect; all egress or ingress traffic for this VPN gateway interface goes through the specified VLAN attachment resource.", +"type": "string" +}, +"ipAddress": { +"description": "[Output Only] IP address for this VPN interface associated with the VPN gateway. The IP address could be either a regional external IP address or a regional internal IP address. The two IP addresses for a VPN gateway must be all regional external or regional internal IP addresses. There cannot be a mix of regional external IP addresses and regional internal IP addresses. For HA VPN over Cloud Interconnect, the IP addresses for both interfaces could either be regional internal IP addresses or regional external IP addresses. For regular (non HA VPN over Cloud Interconnect) HA VPN tunnels, the IP address must be a regional external IP address.", +"type": "string" +}, +"ipv6Address": { +"description": "[Output Only] IPv6 address for this VPN interface associated with the VPN gateway. The IPv6 address must be a regional external IPv6 address. The format is RFC 5952 format (e.g. 2001:db8::2d9:51:0:0).", +"type": "string" +} +}, +"type": "object" +}, +"VpnGatewaysGetStatusResponse": { +"id": "VpnGatewaysGetStatusResponse", +"properties": { +"result": { +"$ref": "VpnGatewayStatus" +} +}, +"type": "object" +}, +"VpnGatewaysScopedList": { +"id": "VpnGatewaysScopedList", +"properties": { +"vpnGateways": { +"description": "[Output Only] A list of VPN gateways contained in this scope.", +"items": { +"$ref": "VpnGateway" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning which replaces the list of addresses when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"VpnTunnel": { +"description": "Represents a Cloud VPN Tunnel resource. For more information about VPN, read the the Cloud VPN Overview.", +"id": "VpnTunnel", +"properties": { +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of this resource. Provide this property when you create the resource.", +"type": "string" +}, +"detailedStatus": { +"description": "[Output Only] Detailed status message for the VPN tunnel.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"ikeVersion": { +"description": "IKE protocol version to use when establishing the VPN tunnel with the peer VPN gateway. Acceptable IKE versions are 1 or 2. The default version is 2.", +"format": "int32", +"type": "integer" +}, +"kind": { +"default": "compute#vpnTunnel", +"description": "[Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels.", +"type": "string" +}, +"labelFingerprint": { +"description": "A fingerprint for the labels being applied to this VpnTunnel, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a VpnTunnel.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", +"type": "object" +}, +"localTrafficSelector": { +"description": "Local traffic selector to use when establishing the VPN tunnel with the peer VPN gateway. The value should be a CIDR formatted string, for example: 192.168.0.0/16. The ranges must be disjoint. Only IPv4 is supported for Classic VPN tunnels. This field is output only for HA VPN tunnels.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"annotations": { +"required": [ +"compute.vpnTunnels.insert" +] +}, +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"peerExternalGateway": { +"description": "URL of the peer side external VPN gateway to which this VPN tunnel is connected. Provided by the client when the VPN tunnel is created. This field is exclusive with the field peerGcpGateway.", +"type": "string" +}, +"peerExternalGatewayInterface": { +"description": "The interface ID of the external VPN gateway to which this VPN tunnel is connected. Provided by the client when the VPN tunnel is created. Possible values are: `0`, `1`, `2`, `3`. The number of IDs in use depends on the external VPN gateway redundancy type.", +"format": "int32", +"type": "integer" +}, +"peerGcpGateway": { +"description": "URL of the peer side HA VPN gateway to which this VPN tunnel is connected. Provided by the client when the VPN tunnel is created. This field can be used when creating highly available VPN from VPC network to VPC network, the field is exclusive with the field peerExternalGateway. If provided, the VPN tunnel will automatically use the same vpnGatewayInterface ID in the peer Google Cloud VPN gateway.", +"type": "string" +}, +"peerIp": { +"description": "IP address of the peer VPN gateway. Only IPv4 is supported. This field can be set only for Classic VPN tunnels.", +"type": "string" +}, +"region": { +"description": "[Output Only] URL of the region where the VPN tunnel resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", +"type": "string" +}, +"remoteTrafficSelector": { +"description": "Remote traffic selectors to use when establishing the VPN tunnel with the peer VPN gateway. The value should be a CIDR formatted string, for example: 192.168.0.0/16. The ranges should be disjoint. Only IPv4 is supported for Classic VPN tunnels. This field is output only for HA VPN tunnels.", +"items": { +"type": "string" +}, +"type": "array" +}, +"router": { +"description": "URL of the router resource to be used for dynamic routing.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"sharedSecret": { +"description": "Shared secret used to set the secure session between the Cloud VPN gateway and the peer VPN gateway.", +"type": "string" +}, +"sharedSecretHash": { +"description": "Hash of the shared secret.", +"type": "string" +}, +"status": { +"description": "[Output Only] The status of the VPN tunnel, which can be one of the following: - PROVISIONING: Resource is being allocated for the VPN tunnel. - WAITING_FOR_FULL_CONFIG: Waiting to receive all VPN-related configs from the user. Network, TargetVpnGateway, VpnTunnel, ForwardingRule, and Route resources are needed to setup the VPN tunnel. - FIRST_HANDSHAKE: Successful first handshake with the peer VPN. - ESTABLISHED: Secure session is successfully established with the peer VPN. - NETWORK_ERROR: Deprecated, replaced by NO_INCOMING_PACKETS - AUTHORIZATION_ERROR: Auth error (for example, bad shared secret). - NEGOTIATION_FAILURE: Handshake failed. - DEPROVISIONING: Resources are being deallocated for the VPN tunnel. - FAILED: Tunnel creation has failed and the tunnel is not ready to be used. - NO_INCOMING_PACKETS: No incoming packets from peer. - REJECTED: Tunnel configuration was rejected, can be result of being denied access. - ALLOCATING_RESOURCES: Cloud VPN is in the process of allocating all required resources. - STOPPED: Tunnel is stopped due to its Forwarding Rules being deleted for Classic VPN tunnels or the project is in frozen state. - PEER_IDENTITY_MISMATCH: Peer identity does not match peer IP, probably behind NAT. - TS_NARROWING_NOT_ALLOWED: Traffic selector narrowing not allowed for an HA-VPN tunnel. ", +"enum": [ +"ALLOCATING_RESOURCES", +"AUTHORIZATION_ERROR", +"DEPROVISIONING", +"ESTABLISHED", +"FAILED", +"FIRST_HANDSHAKE", +"NEGOTIATION_FAILURE", +"NETWORK_ERROR", +"NO_INCOMING_PACKETS", +"PROVISIONING", +"REJECTED", +"STOPPED", +"WAITING_FOR_FULL_CONFIG" +], +"enumDescriptions": [ +"Cloud VPN is in the process of allocating all required resources (specifically, a borg task).", +"Auth error (e.g. bad shared secret).", +"Resources is being deallocated for the VPN tunnel.", +"Secure session is successfully established with peer VPN.", +"Tunnel creation has failed and the tunnel is not ready to be used.", +"Successful first handshake with peer VPN.", +"Handshake failed.", +"Deprecated, replaced by NO_INCOMING_PACKETS", +"No incoming packets from peer", +"Resource is being allocated for the VPN tunnel.", +"Tunnel configuration was rejected, can be result of being denylisted.", +"Tunnel is stopped due to its Forwarding Rules being deleted.", +"Waiting to receive all VPN-related configs from user. Network, TargetVpnGateway, VpnTunnel, ForwardingRule and Route resources are needed to setup VPN tunnel." +], +"type": "string" +}, +"targetVpnGateway": { +"description": "URL of the Target VPN gateway with which this VPN tunnel is associated. Provided by the client when the VPN tunnel is created. This field can be set only for Classic VPN tunnels.", +"type": "string" +}, +"vpnGateway": { +"description": "URL of the VPN gateway with which this VPN tunnel is associated. Provided by the client when the VPN tunnel is created. This must be used (instead of target_vpn_gateway) if a High Availability VPN gateway resource is created.", +"type": "string" +}, +"vpnGatewayInterface": { +"description": "The interface ID of the VPN gateway with which this VPN tunnel is associated. Possible values are: `0`, `1`.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"VpnTunnelAggregatedList": { +"id": "VpnTunnelAggregatedList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"additionalProperties": { +"$ref": "VpnTunnelsScopedList", +"description": "Name of the scope containing this set of VPN tunnels." +}, +"description": "A list of VpnTunnelsScopedList resources.", +"type": "object" +}, +"kind": { +"default": "compute#vpnTunnelAggregatedList", +"description": "[Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"VpnTunnelList": { +"description": "Contains a list of VpnTunnel resources.", +"id": "VpnTunnelList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of VpnTunnel resources.", +"items": { +"$ref": "VpnTunnel" +}, +"type": "array" +}, +"kind": { +"default": "compute#vpnTunnelList", +"description": "[Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"VpnTunnelsScopedList": { +"id": "VpnTunnelsScopedList", +"properties": { +"vpnTunnels": { +"description": "A list of VPN tunnels contained in this scope.", +"items": { +"$ref": "VpnTunnel" +}, +"type": "array" +}, +"warning": { +"description": "Informational warning which replaces the list of addresses when the list is empty.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"WafExpressionSet": { +"id": "WafExpressionSet", +"properties": { +"aliases": { +"description": "A list of alternate IDs. The format should be: - E.g. XSS-stable Generic suffix like \"stable\" is particularly useful if a policy likes to avail newer set of expressions without having to change the policy. A given alias name can't be used for more than one entity set.", +"items": { +"type": "string" +}, +"type": "array" +}, +"expressions": { +"description": "List of available expressions.", +"items": { +"$ref": "WafExpressionSetExpression" +}, +"type": "array" +}, +"id": { +"description": "Google specified expression set ID. The format should be: - E.g. XSS-20170329 required", +"type": "string" +} +}, +"type": "object" +}, +"WafExpressionSetExpression": { +"id": "WafExpressionSetExpression", +"properties": { +"id": { +"description": "Expression ID should uniquely identify the origin of the expression. E.g. owasp-crs-v020901-id973337 identifies Owasp core rule set version 2.9.1 rule id 973337. The ID could be used to determine the individual attack definition that has been detected. It could also be used to exclude it from the policy in case of false positive. required", +"type": "string" +}, +"sensitivity": { +"description": "The sensitivity value associated with the WAF rule ID. This corresponds to the ModSecurity paranoia level, ranging from 1 to 4. 0 is reserved for opt-in only rules.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"WaitForReplicationCatchUpRequest": { +"id": "WaitForReplicationCatchUpRequest", +"properties": { +"maxWaitDuration": { +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"WeightedBackendService": { +"description": "In contrast to a single BackendService in HttpRouteAction to which all matching traffic is directed to, WeightedBackendService allows traffic to be split across multiple backend services. The volume of traffic for each backend service is proportional to the weight specified in each WeightedBackendService", +"id": "WeightedBackendService", +"properties": { +"backendService": { +"description": "The full or partial URL to the default BackendService resource. Before forwarding the request to backendService, the load balancer applies any relevant headerActions specified as part of this backendServiceWeight.", +"type": "string" +}, +"headerAction": { +"$ref": "HttpHeaderAction", +"description": "Specifies changes to request and response headers that need to take effect for the selected backendService. headerAction specified here take effect before headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap. headerAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true." +}, +"weight": { +"description": "Specifies the fraction of traffic sent to a backend service, computed as weight / (sum of all weightedBackendService weights in routeAction) . The selection of a backend service is determined only for new traffic. Once a user's request has been directed to a backend service, subsequent requests are sent to the same backend service as determined by the backend service's session affinity policy. Don't configure session affinity if you're using weighted traffic splitting. If you do, the weighted traffic splitting configuration takes precedence. The value must be from 0 to 1000.", +"format": "uint32", +"type": "integer" +} +}, +"type": "object" +}, +"Wire": { +"description": "A pseudowire that connects two Interconnect connections.", +"id": "Wire", +"properties": { +"adminEnabled": { +"description": "[Output Only] Indicates whether the wire is enabled. When false, the wire is disabled. When true and when the wire group of the wire is also enabled, the wire is enabled. Defaults to true.", +"type": "boolean" +}, +"endpoints": { +"description": "Wire endpoints are specific Interconnect connections.", +"items": { +"$ref": "WireEndpoint" +}, +"type": "array" +}, +"label": { +"description": "[Output Only] A label that identifies the wire. The format of this label combines the existing labels of the wire group endpoints and Interconnect connections used by this wire in alphabetical order as follows: `ENDPOINT_A+CONNECTION_A1,ENDPOINT_B+CONNECTION_B1`, where: - ENDPOINT_A and ENDPOINT_B: are the labels that you entered as map keys when you specified the wire group endpoint objects. - CONNECTION_A1 and CONNECTION_B1: are the labels that you entered as map keys when you specified the wire group Interconnect objects. ", +"type": "string" +}, +"wireProperties": { +"$ref": "WireProperties", +"description": "[Output Only] Properties of the wire." +} +}, +"type": "object" +}, +"WireEndpoint": { +"description": "Wire endpoints are specific Interconnect connections.", +"id": "WireEndpoint", +"properties": { +"interconnect": { +"type": "string" +}, +"vlanTag": { +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"WireGroup": { +"description": "A resource that represents a group of redundant wires.", +"id": "WireGroup", +"properties": { +"adminEnabled": { +"description": "Indicates whether the wires in the wire group are enabled. When false, the wires in the wire group are disabled. When true and when there is simultaneously no wire-specific override of `adminEnabled` to false, a given wire is enabled. Defaults to true.", +"type": "boolean" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"description": { +"description": "An optional description of the wire group.", +"type": "string" +}, +"endpoints": { +"additionalProperties": { +"$ref": "WireGroupEndpoint" +}, +"description": "A map that contains the logical endpoints of the wire group. Specify key-value pairs for the map as follows: - Key: an RFC1035 user-specified label. - Value: an Endpoint object. ", +"type": "object" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#wireGroup", +"description": "[Output Only] Type of the resource. Always compute#wireGroups for wire groups.", +"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.", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"selfLinkWithId": { +"type": "string" +}, +"serviceLevel": { +"$ref": "WireGroupServiceLevel", +"description": "Service level details determined for the wire group configuration." +}, +"topology": { +"$ref": "WireGroupTopology", +"description": "Topology details for the wire group configuration." +}, +"wireGroupProperties": { +"$ref": "WireGroupProperties", +"description": "Properties of the wire group." +}, +"wireInputs": { +"additionalProperties": { +"$ref": "WireGroupWireInputs" +}, +"description": "A map that contains optional settings for individual wires. Specify key-value pairs for the map as follows: - Key: the label of an existing wire. To view a wire label and its format, see the wires[].label field. - Value: a WireInputs object. ", +"type": "object" +}, +"wireProperties": { +"$ref": "WireProperties", +"description": "Properties for all wires in the wire group." +}, +"wires": { +"description": "The single/redundant wire(s) managed by the wire group.", +"items": { +"$ref": "Wire" +}, +"type": "array" +} +}, +"type": "object" +}, +"WireGroupEndpoint": { +"description": "A logical endpoint for the wire group. An endpoint represents a metro that contains redundant Interconnect connections. A wire group is created between two endpoints.", +"id": "WireGroupEndpoint", +"properties": { +"interconnects": { +"additionalProperties": { +"$ref": "WireGroupEndpointInterconnect" +}, +"description": "A map that contains the redundant Interconnect connections. Specify key-value pairs for the map as follows: - Key: an RFC1035 user-specified label. - Value: an Interconnect object. ", +"type": "object" +} +}, +"type": "object" +}, +"WireGroupEndpointInterconnect": { +"description": "The redundant Interconnect connections for this endpoint.", +"id": "WireGroupEndpointInterconnect", +"properties": { +"interconnect": { +"description": "An Interconnect connection. You can specify the connection as a partial or full URL. If the connection is in a different project from the cross-site network, use a format that specifies the project. See the following examples of partial and full URLs: global/interconnects/NAME projects/PROJECT_ID/global/interconnects/NAME - https://compute.googleapis.com/compute/projects/PROJECT_ID /global/interconnects/NAME ", +"type": "string" +}, +"vlanTags": { +"description": "To configure the wire group for VLAN mode, enter a VLAN tag, which is a number from `2` to `4093`. You can autoallocate a tag by entering `0`. To configure the wire group for port mode, enter `-1`. Review the following guidelines: - A VLAN tag must be unique for an Interconnect connection across all attachments and wire groups. - Both endpoints of a wire must use the same VLAN tag value. - Single wire and redundant type wire groups must have only one VLAN tag. - Box and cross type wire groups must have two VLAN tags. The first is for the same-zone pseudowire, and the second is for the cross-zone pseudowire. - Port mode pseudowires must configure a value of `-1` for both endpoints. ", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +} +}, +"type": "object" +}, +"WireGroupList": { +"description": "Response for the list request.", +"id": "WireGroupList", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of wire group resources.", +"items": { +"$ref": "WireGroup" +}, +"type": "array" +}, +"kind": { +"default": "compute#wireGroup", +"description": "[Output Only] Type of the resource. Always compute#wireGroups for wire groups.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"unreachables": { +"description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", +"items": { +"type": "string" +}, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"WireGroupProperties": { +"description": "The properties of a wire group. These properties determine how a group of redundant wires are created and managed.", +"id": "WireGroupProperties", +"properties": { +"type": { +"description": "The type of the wire group, one of the following: - WIRE: a single pseudowire over two Interconnect connections with no redundancy. - REDUNDANT: two pseudowires over four Interconnect connections, with two connections in one metro and two connections in another metro. Each redundant pair of Interconnect connections spans both edge availability domains of the metro. Each pseudowire connects Interconnect connections in matching edge availability domains of the two metros. - BOX_AND_CROSS: four pseudowires over four Interconnect connections, with two connections in one metro and two connections in another metro. Each redundant pair of Interconnect connections spans both edge availability domains of the metro. Two pseudowires connect Interconnect connections in matching edge availability domains of the two metros. Two additional pseudowires connect the non-matching edge availability domains of the two metros. ", +"enum": [ +"BOX_AND_CROSS", +"REDUNDANT", +"WIRE" +], +"enumDescriptions": [ +"Four pseudowires over four Interconnect connections, with two connections in one metro and two connections in another metro. Each redundant pair of Interconnect connections spans both edge availability domains of the metro. Two pseudowires connect Interconnect connections in matching edge availability domains of the two metros. Two additional pseudowires connect the non-matching edge availability domains of the two metros.", +"Two pseudowires over four Interconnect connections, with two connections in one metro and two connections in another metro. Each redundant pair of Interconnect connections spans both edge availability domains of the metro. Each pseudowire connects Interconnect connections in matching edge availability domains of the two metros.", +"A single pseudowire over two Interconnect connections with no redundancy." +], +"type": "string" +} +}, +"type": "object" +}, +"WireGroupServiceLevel": { +"description": "Service level details determined for the wire group configuration.", +"id": "WireGroupServiceLevel", +"properties": { +"availabilityClass": { +"description": "[Output Only] The availability SLA that the wire group qualifies for. One of the following: `NO_AVAILABILITY_SLA`, `AVAILABILITY_99`, `AVAILABILITY_999`, or `AVAILABILITY_9995`.", +"enum": [ +"AVAILABILITY_99", +"AVAILABILITY_999", +"AVAILABILITY_9995", +"NO_AVAILABILITY_SLA" +], +"enumDescriptions": [ +"99% availability", +"99.9% availability", +"99.95% availability", +"No SLA" +], +"type": "string" +} +}, +"type": "object" +}, +"WireGroupTopology": { +"description": "Topology details for the wire group.", +"id": "WireGroupTopology", +"properties": { +"endpoints": { +"description": "Topology details for all endpoints in the wire group.", +"items": { +"$ref": "WireGroupTopologyEndpoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"WireGroupTopologyEndpoint": { +"description": "Topology details for a single wire group endpoint.", +"id": "WireGroupTopologyEndpoint", +"properties": { +"city": { +"description": "The InterconnectLocation.city (metropolitan area designator) that all interconnects are located in.", +"type": "string" +}, +"label": { +"description": "Endpoint label from the wire group.", +"type": "string" +} +}, +"type": "object" +}, +"WireGroupWireInputs": { +"description": "Optional settings for individual wires. Allows wire-level control that can be useful for migration purposes. If you use this field, you opt-out of the SLA for the wire group.", +"id": "WireGroupWireInputs", +"properties": { +"adminEnabled": { +"description": "Indicates whether the wire is enabled. When false, the wire is disabled. When true and when the wire group of the wire is also enabled, the wire is enabled. Defaults to true.", +"type": "boolean" +}, +"wirePropertyOverrides": { +"$ref": "WireProperties", +"description": "The overridden properties for the wire. Any properties that are not overridden are omitted from the object. Review the following guidelines: - If you apply wire overrides to a wire and its wire group bandwidth configuration is set to `SHARED_WITH_WIRE_GROUP`, the `meteredBandwidth` and `unmeteredBandwidth` properties must not differ from the wire group. - Overrides generate a `configurationNotice`. Ensure that differences in wire configuration are temporary. An example use case for wire overrides is slowly rolling out configuration changes to individual wires in a wire group. " +} +}, +"type": "object" +}, +"WireProperties": { +"description": "The properties of a wire.", +"id": "WireProperties", +"properties": { +"bandwidthAllocation": { +"description": "The configuration of the bandwidth allocation, one of the following: - ALLOCATE_PER_WIRE: configures a separate unmetered bandwidth allocation (and associated charges) for each wire in the group. - SHARED_WITH_WIRE_GROUP: configures one unmetered bandwidth allocation for the wire group. The unmetered bandwidth is divided equally across each wire in the group, but dynamic throttling reallocates unused unmetered bandwidth from unused or underused wires to other wires in the group. For example, with a four-wire box-and-cross group, when one Interconnect connection is down, the unmetered bandwidth of the two down wires is reallocated to the remaining up wires. ", +"enum": [ +"ALLOCATE_PER_WIRE", +"SHARED_WITH_WIRE_GROUP" +], +"enumDescriptions": [ +"Configures a separate unmetered bandwidth allocation (and associated charges) for each wire in the group.", +"Configures one unmetered bandwidth allocation for the wire group. The unmetered bandwidth is divided equally across each wire in the group, but dynamic throttling reallocates unused unmetered bandwidth from unused or underused wires to other wires in the group. For example, with a four-wire box-and-cross group, when one Interconnect connection is down, the unmetered bandwidth of the two down wires is reallocated to the remaining up wires." +], +"type": "string" +}, +"bandwidthMetered": { +"description": "The metered bandwidth in Gigabits per second, using decimal units. `10` is 10 Gbps, `100` is 100 Gbps. The default value is `0`. You can specify unlimited bandwidth by entering `-1`. However, actual data transfer is limited by the port speed.", +"format": "int64", +"type": "string" +}, +"bandwidthUnmetered": { +"description": "The unmetered bandwidth in Gigabits per second, using decimal units. `10` is 10 Gbps, `100` is 100 Gbps. Must be a multiple of 10.", +"format": "int64", +"type": "string" +}, +"faultResponse": { +"description": "Response when a fault is detected in a pseudowire: - NONE: default. - DISABLE_PORT: set the port line protocol down when inline probes detect a fault. This setting is only permitted on port mode pseudowires. ", +"enum": [ +"DISABLE_PORT", +"NONE" +], +"enumDescriptions": [ +"Set the port line protocol down when inline probes detect a fault. This setting is only permitted on port mode pseudowires.", +"Default." +], +"type": "string" +}, +"networkServiceClass": { +"description": "The network service class.", +"enum": [ +"BRONZE", +"GOLD" +], +"enumDescriptions": [ +"The default service class.", +"A higher service class." +], +"type": "string" +} +}, +"type": "object" +}, +"XpnHostList": { +"id": "XpnHostList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "[Output Only] A list of shared VPC host project URLs.", +"items": { +"$ref": "Project" +}, +"type": "array" +}, +"kind": { +"default": "compute#xpnHostList", +"description": "[Output Only] Type of resource. Always compute#xpnHostList for lists of shared VPC hosts.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"XpnResourceId": { +"description": "Service resource (a.k.a service project) ID.", +"id": "XpnResourceId", +"properties": { +"id": { +"description": "The ID of the service resource. In the case of projects, this field supports project id (e.g., my-project-123) and project number (e.g. 12345678).", +"type": "string" +}, +"type": { +"description": "The type of the service resource.", +"enum": [ +"PROJECT", +"XPN_RESOURCE_TYPE_UNSPECIFIED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"Zone": { +"description": "Represents a Zone resource. A zone is a deployment area. These deployment areas are subsets of a region. For example the zone us-east1-b is located in the us-east1 region. For more information, read Regions and Zones.", +"id": "Zone", +"properties": { +"availableCpuPlatforms": { +"description": "[Output Only] Available cpu/platform selections for the zone.", +"items": { +"type": "string" +}, +"type": "array" +}, +"creationTimestamp": { +"description": "[Output Only] Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"deprecated": { +"$ref": "DeprecationStatus", +"description": "[Output Only] The deprecation status associated with this zone." +}, +"description": { +"description": "[Output Only] Textual description of the resource.", +"type": "string" +}, +"id": { +"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "compute#zone", +"description": "[Output Only] Type of the resource. Always compute#zone for zones.", +"type": "string" +}, +"name": { +"description": "[Output Only] Name of the resource.", +"type": "string" +}, +"region": { +"description": "[Output Only] Full URL reference to the region which hosts the zone.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"status": { +"description": "[Output Only] Status of the zone, either UP or DOWN.", +"enum": [ +"DOWN", +"UP" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"supportsPzs": { +"description": "[Output Only] Reserved for future use.", +"type": "boolean" +} +}, +"type": "object" +}, +"ZoneList": { +"description": "Contains a list of zone resources.", +"id": "ZoneList", +"properties": { +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Zone resources.", +"items": { +"$ref": "Zone" +}, +"type": "array" +}, +"kind": { +"default": "compute#zoneList", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for this resource.", +"type": "string" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"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": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed operation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as deprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as experimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden. Deprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g: regions.list).", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"When a resource schema validation is ignored.", +"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.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: 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": "object" +}, +"ZoneSetLabelsRequest": { +"id": "ZoneSetLabelsRequest", +"properties": { +"labelFingerprint": { +"description": "The fingerprint of the previous set of labels for this resource, used to detect conflicts. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels. Make a get() request to the resource to get the latest fingerprint.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels to set for this resource.", +"type": "object" +} +}, +"type": "object" +}, +"ZoneSetPolicyRequest": { +"id": "ZoneSetPolicyRequest", +"properties": { +"bindings": { +"description": "Flatten Policy to create a backwacd 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." +} +}, +"type": "object" +} +}, +"servicePath": "compute/alpha/", +"title": "Compute Engine API", +"version": "alpha" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/datacatalog.v1beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/datacatalog.v1beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..f788c2375a5da582dc6743e43bf3ba8777b09d5e --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/datacatalog.v1beta1.json @@ -0,0 +1,4593 @@ +{ +"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://datacatalog.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Data Catalog", +"description": "A fully managed and highly scalable data discovery and metadata management service. ", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/data-catalog/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": "datacatalog:v1beta1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://datacatalog.mtls.googleapis.com/", +"name": "datacatalog", +"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": { +"catalog": { +"methods": { +"search": { +"description": "Searches Data Catalog for multiple resources like entries, tags that match a query. This is a custom method (https://cloud.google.com/apis/design/custom_methods) and does not return the complete resource, only the resource identifier and high level fields. Clients can subsequently call `Get` methods. Note that Data Catalog search queries do not guarantee full recall. Query results that match your query may not be returned, even in subsequent result pages. Also note that results returned (and not returned) can vary across repeated search queries. See [Data Catalog Search Syntax](https://cloud.google.com/data-catalog/docs/how-to/search-reference) for more information.", +"flatPath": "v1beta1/catalog:search", +"httpMethod": "POST", +"id": "datacatalog.catalog.search", +"parameterOrder": [], +"parameters": {}, +"path": "v1beta1/catalog:search", +"request": { +"$ref": "GoogleCloudDatacatalogV1beta1SearchCatalogRequest" +}, +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1SearchCatalogResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"entries": { +"methods": { +"lookup": { +"description": "Get an entry by target resource name. This method allows clients to use the resource name from the source Google Cloud Platform service to get the Data Catalog Entry.", +"flatPath": "v1beta1/entries:lookup", +"httpMethod": "GET", +"id": "datacatalog.entries.lookup", +"parameterOrder": [], +"parameters": { +"linkedResource": { +"description": "The full name of the Google Cloud Platform resource the Data Catalog entry represents. See: https://cloud.google.com/apis/design/resource_names#full_resource_name. Full names are case-sensitive. Examples: * //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId * //pubsub.googleapis.com/projects/projectId/topics/topicId", +"location": "query", +"type": "string" +}, +"sqlResource": { +"description": "The SQL name of the entry. SQL names are case-sensitive. Examples: * `pubsub.project_id.topic_id` * ``pubsub.project_id.`topic.id.with.dots` `` * `bigquery.table.project_id.dataset_id.table_id` * `bigquery.dataset.project_id.dataset_id` * `datacatalog.entry.project_id.location_id.entry_group_id.entry_id` `*_id`s should satisfy the standard SQL rules for identifiers. https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/entries:lookup", +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1Entry" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"projects": { +"resources": { +"locations": { +"resources": { +"entryGroups": { +"methods": { +"create": { +"description": "A maximum of 10,000 entry groups may be created per organization across all locations. Users should enable the Data Catalog API in the project identified by the `parent` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups", +"httpMethod": "POST", +"id": "datacatalog.projects.locations.entryGroups.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"entryGroupId": { +"description": "Required. The id of the entry group to create. The id must begin with a letter or underscore, contain only English letters, numbers and underscores, and be at most 64 characters.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the project this entry group is in. Example: * projects/{project_id}/locations/{location} Note that this EntryGroup and its child resources may not actually be stored in the location in this name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/entryGroups", +"request": { +"$ref": "GoogleCloudDatacatalogV1beta1EntryGroup" +}, +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1EntryGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an EntryGroup. Only entry groups that do not contain entries can be deleted. Users should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}", +"httpMethod": "DELETE", +"id": "datacatalog.projects.locations.entryGroups.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "Optional. If true, deletes all entries in the entry group.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the entry group. For example, `projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets an EntryGroup.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}", +"httpMethod": "GET", +"id": "datacatalog.projects.locations.entryGroups.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the entry group. For example, `projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "The fields to return. If not set or empty, all fields are returned.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1EntryGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it. Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. Callers must have following Google IAM permission - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entries.getIamPolicy` to get policies on entries. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:getIamPolicy", +"httpMethod": "POST", +"id": "datacatalog.projects.locations.entryGroups.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:getIamPolicy", +"request": { +"$ref": "GetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists entry groups.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups", +"httpMethod": "GET", +"id": "datacatalog.projects.locations.entryGroups.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of items to return. Default is 10. Max limit is 1000. Throws an invalid argument for `page_size > 1000`.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Token that specifies which page is requested. If empty, the first page is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the location that contains the entry groups, which can be provided in URL format. Example: * projects/{project_id}/locations/{location}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/entryGroups", +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an EntryGroup. The user should enable the Data Catalog API in the project identified by the `entry_group.name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}", +"httpMethod": "PATCH", +"id": "datacatalog.projects.locations.entryGroups.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name of the entry group in URL format. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} Note that this EntryGroup and its child resources may not actually be stored in the location in this name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Names of fields whose values to overwrite on an entry group. If this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudDatacatalogV1beta1EntryGroup" +}, +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1EntryGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy for a resource. Replaces any existing policy. Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. Callers must have following Google IAM permission - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag templates. - `datacatalog.entries.setIamPolicy` to set policies on entries. - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:setIamPolicy", +"httpMethod": "POST", +"id": "datacatalog.projects.locations.entryGroups.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns the caller's permissions on a resource. If the resource does not exist, an empty set of permissions is returned (We don't return a `NOT_FOUND` error). Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. A caller is not required to have Google IAM permission to make this request.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:testIamPermissions", +"httpMethod": "POST", +"id": "datacatalog.projects.locations.entryGroups.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"entries": { +"methods": { +"create": { +"description": "Creates an entry. Only entries of 'FILESET' type or user-specified type can be created. Users should enable the Data Catalog API in the project identified by the `parent` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information). A maximum of 100,000 entries may be created per entry group.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries", +"httpMethod": "POST", +"id": "datacatalog.projects.locations.entryGroups.entries.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"entryId": { +"description": "Required. The id of the entry to create.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the entry group this entry is in. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} Note that this Entry and its child resources may not actually be stored in the location in this name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/entries", +"request": { +"$ref": "GoogleCloudDatacatalogV1beta1Entry" +}, +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1Entry" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an existing entry. Only entries created through CreateEntry method can be deleted. Users should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}", +"httpMethod": "DELETE", +"id": "datacatalog.projects.locations.entryGroups.entries.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the entry. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets an entry.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}", +"httpMethod": "GET", +"id": "datacatalog.projects.locations.entryGroups.entries.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the entry. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1Entry" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it. Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. Callers must have following Google IAM permission - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entries.getIamPolicy` to get policies on entries. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:getIamPolicy", +"httpMethod": "POST", +"id": "datacatalog.projects.locations.entryGroups.entries.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:getIamPolicy", +"request": { +"$ref": "GetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists entries.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries", +"httpMethod": "GET", +"id": "datacatalog.projects.locations.entryGroups.entries.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of items to return. Default is 10. Max limit is 1000. Throws an invalid argument for `page_size > 1000`.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token that specifies which page is requested. If empty, the first page is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the entry group that contains the entries, which can be provided in URL format. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "The fields to return for each Entry. If not set or empty, all fields are returned. For example, setting read_mask to contain only one path \"name\" will cause ListEntries to return a list of Entries with only \"name\" field.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/entries", +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1ListEntriesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an existing entry. Users should enable the Data Catalog API in the project identified by the `entry.name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}", +"httpMethod": "PATCH", +"id": "datacatalog.projects.locations.entryGroups.entries.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Identifier. The Data Catalog resource name of the entry in URL format. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} Note that this Entry and its child resources may not actually be stored in the location in this name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Names of fields whose values to overwrite on an entry. If this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied. The following fields are modifiable: * For entries with type `DATA_STREAM`: * `schema` * For entries with type `FILESET`: * `schema` * `display_name` * `description` * `gcs_fileset_spec` * `gcs_fileset_spec.file_patterns` * For entries with `user_specified_type`: * `schema` * `display_name` * `description` * `user_specified_type` * `user_specified_system` * `linked_resource` * `source_system_timestamps`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudDatacatalogV1beta1Entry" +}, +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1Entry" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns the caller's permissions on a resource. If the resource does not exist, an empty set of permissions is returned (We don't return a `NOT_FOUND` error). Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. A caller is not required to have Google IAM permission to make this request.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:testIamPermissions", +"httpMethod": "POST", +"id": "datacatalog.projects.locations.entryGroups.entries.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"tags": { +"methods": { +"create": { +"description": "Creates a tag on an Entry. Note: The project identified by the `parent` parameter for the [tag](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.entryGroups.entries.tags/create#path-parameters) and the [tag template](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters) used to create the tag must be from the same organization.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags", +"httpMethod": "POST", +"id": "datacatalog.projects.locations.entryGroups.entries.tags.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the resource to attach this tag to. Tags can be attached to Entries. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} Note that this Tag and its child resources may not actually be stored in the location in this name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/tags", +"request": { +"$ref": "GoogleCloudDatacatalogV1beta1Tag" +}, +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1Tag" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a tag.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags/{tagsId}", +"httpMethod": "DELETE", +"id": "datacatalog.projects.locations.entryGroups.entries.tags.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the tag to delete. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+/tags/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists tags assigned to an Entry. The columns in the response are lowercased.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags", +"httpMethod": "GET", +"id": "datacatalog.projects.locations.entryGroups.entries.tags.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of tags to return. Default is 10. Max limit is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token that specifies which page is requested. If empty, the first page is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the Data Catalog resource to list the tags of. The resource could be an Entry or an EntryGroup. Examples: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/tags", +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1ListTagsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an existing tag.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags/{tagsId}", +"httpMethod": "PATCH", +"id": "datacatalog.projects.locations.entryGroups.entries.tags.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name of the tag in URL format. Example: * projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id} where `tag_id` is a system-generated identifier. Note that this Tag may not actually be stored in the location in this name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+/tags/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Note: Currently, this parameter can only take `\"fields\"` as value. Names of fields whose values to overwrite on a tag. Currently, a tag has the only modifiable field with the name `fields`. In general, if this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudDatacatalogV1beta1Tag" +}, +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1Tag" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"tags": { +"methods": { +"create": { +"description": "Creates a tag on an Entry. Note: The project identified by the `parent` parameter for the [tag](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.entryGroups.entries.tags/create#path-parameters) and the [tag template](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters) used to create the tag must be from the same organization.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags", +"httpMethod": "POST", +"id": "datacatalog.projects.locations.entryGroups.tags.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the resource to attach this tag to. Tags can be attached to Entries. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} Note that this Tag and its child resources may not actually be stored in the location in this name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/tags", +"request": { +"$ref": "GoogleCloudDatacatalogV1beta1Tag" +}, +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1Tag" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a tag.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags/{tagsId}", +"httpMethod": "DELETE", +"id": "datacatalog.projects.locations.entryGroups.tags.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the tag to delete. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/tags/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists tags assigned to an Entry. The columns in the response are lowercased.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags", +"httpMethod": "GET", +"id": "datacatalog.projects.locations.entryGroups.tags.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of tags to return. Default is 10. Max limit is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token that specifies which page is requested. If empty, the first page is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the Data Catalog resource to list the tags of. The resource could be an Entry or an EntryGroup. Examples: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/tags", +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1ListTagsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an existing tag.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags/{tagsId}", +"httpMethod": "PATCH", +"id": "datacatalog.projects.locations.entryGroups.tags.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name of the tag in URL format. Example: * projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id} where `tag_id` is a system-generated identifier. Note that this Tag may not actually be stored in the location in this name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/tags/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Note: Currently, this parameter can only take `\"fields\"` as value. Names of fields whose values to overwrite on a tag. Currently, a tag has the only modifiable field with the name `fields`. In general, if this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudDatacatalogV1beta1Tag" +}, +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1Tag" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"tagTemplates": { +"methods": { +"create": { +"description": "Creates a tag template. The user should enable the Data Catalog API in the project identified by the `parent` parameter (see [Data Catalog Resource Project](https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates", +"httpMethod": "POST", +"id": "datacatalog.projects.locations.tagTemplates.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the project and the template location [region](https://cloud.google.com/data-catalog/docs/concepts/regions. Example: * projects/{project_id}/locations/us-central1", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"tagTemplateId": { +"description": "Required. The id of the tag template to create.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/tagTemplates", +"request": { +"$ref": "GoogleCloudDatacatalogV1beta1TagTemplate" +}, +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1TagTemplate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a tag template and all tags using the template. Users should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}", +"httpMethod": "DELETE", +"id": "datacatalog.projects.locations.tagTemplates.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "Required. Currently, this field must always be set to `true`. This confirms the deletion of any possible tags using this template. `force = false` will be supported in the future.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the tag template to delete. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a tag template.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}", +"httpMethod": "GET", +"id": "datacatalog.projects.locations.tagTemplates.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the tag template. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1TagTemplate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it. Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. Callers must have following Google IAM permission - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entries.getIamPolicy` to get policies on entries. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:getIamPolicy", +"httpMethod": "POST", +"id": "datacatalog.projects.locations.tagTemplates.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:getIamPolicy", +"request": { +"$ref": "GetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a tag template. This method cannot be used to update the fields of a template. The tag template fields are represented as separate resources and should be updated using their own create/update/delete methods. Users should enable the Data Catalog API in the project identified by the `tag_template.name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}", +"httpMethod": "PATCH", +"id": "datacatalog.projects.locations.tagTemplates.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name of the tag template in URL format. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} Note that this TagTemplate and its child resources may not actually be stored in the location in this name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Names of fields whose values to overwrite on a tag template. Currently, only `display_name` can be overwritten. In general, if this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudDatacatalogV1beta1TagTemplate" +}, +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1TagTemplate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy for a resource. Replaces any existing policy. Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. Callers must have following Google IAM permission - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag templates. - `datacatalog.entries.setIamPolicy` to set policies on entries. - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:setIamPolicy", +"httpMethod": "POST", +"id": "datacatalog.projects.locations.tagTemplates.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns the caller's permissions on a resource. If the resource does not exist, an empty set of permissions is returned (We don't return a `NOT_FOUND` error). Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. A caller is not required to have Google IAM permission to make this request.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:testIamPermissions", +"httpMethod": "POST", +"id": "datacatalog.projects.locations.tagTemplates.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"fields": { +"methods": { +"create": { +"description": "Creates a field in a tag template. The user should enable the Data Catalog API in the project identified by the `parent` parameter (see [Data Catalog Resource Project](https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields", +"httpMethod": "POST", +"id": "datacatalog.projects.locations.tagTemplates.fields.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the project and the template location [region](https://cloud.google.com/data-catalog/docs/concepts/regions). Example: * projects/{project_id}/locations/us-central1/tagTemplates/{tag_template_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$", +"required": true, +"type": "string" +}, +"tagTemplateFieldId": { +"description": "Required. The ID of the tag template field to create. Field ids can contain letters (both uppercase and lowercase), numbers (0-9), underscores (_) and dashes (-). Field IDs must be at least 1 character long and at most 128 characters long. Field IDs must also be unique within their template.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/fields", +"request": { +"$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField" +}, +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a field in a tag template and all uses of that field. Users should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}", +"httpMethod": "DELETE", +"id": "datacatalog.projects.locations.tagTemplates.fields.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "Required. Currently, this field must always be set to `true`. This confirms the deletion of this field from any tags using this field. `force = false` will be supported in the future.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the tag template field to delete. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a field in a tag template. This method cannot be used to update the field type. Users should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}", +"httpMethod": "PATCH", +"id": "datacatalog.projects.locations.tagTemplates.fields.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the tag template field. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Names of fields whose values to overwrite on an individual field of a tag template. The following fields are modifiable: * `display_name` * `type.enum_type` * `is_required` If this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied with one exception: when updating an enum type, the provided values are merged with the existing values. Therefore, enum values can only be added, existing enum values cannot be deleted or renamed. Additionally, updating a template field from optional to required is *not* allowed.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField" +}, +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"rename": { +"description": "Renames a field in a tag template. The user should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project](https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}:rename", +"httpMethod": "POST", +"id": "datacatalog.projects.locations.tagTemplates.fields.rename", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the tag template. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:rename", +"request": { +"$ref": "GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest" +}, +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"enumValues": { +"methods": { +"rename": { +"description": "Renames an enum value in a tag template. The enum values have to be unique within one enum field. Thus, an enum value cannot be renamed with a name used in any other enum value within the same enum field.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}/enumValues/{enumValuesId}:rename", +"httpMethod": "POST", +"id": "datacatalog.projects.locations.tagTemplates.fields.enumValues.rename", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the enum field value. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}/enumValues/{enum_value_display_name}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+/enumValues/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:rename", +"request": { +"$ref": "GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest" +}, +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"taxonomies": { +"methods": { +"create": { +"description": "Creates a taxonomy in the specified project.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies", +"httpMethod": "POST", +"id": "datacatalog.projects.locations.taxonomies.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Resource name of the project that the taxonomy will belong to.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/taxonomies", +"request": { +"$ref": "GoogleCloudDatacatalogV1beta1Taxonomy" +}, +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1Taxonomy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a taxonomy. This operation will also delete all policy tags in this taxonomy along with their associated policies.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}", +"httpMethod": "DELETE", +"id": "datacatalog.projects.locations.taxonomies.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the taxonomy to be deleted. All policy tags in this taxonomy will also be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"export": { +"description": "Exports all taxonomies and their policy tags in a project. This method generates SerializedTaxonomy protos with nested policy tags that can be used as an input for future ImportTaxonomies calls.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies:export", +"httpMethod": "GET", +"id": "datacatalog.projects.locations.taxonomies.export", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Resource name of the project that taxonomies to be exported will share.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"serializedTaxonomies": { +"description": "Export taxonomies as serialized taxonomies.", +"location": "query", +"type": "boolean" +}, +"taxonomies": { +"description": "Required. Resource names of the taxonomies to be exported.", +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/taxonomies:export", +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a taxonomy.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}", +"httpMethod": "GET", +"id": "datacatalog.projects.locations.taxonomies.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the requested taxonomy.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1Taxonomy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the IAM policy for a taxonomy or a policy tag.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}:getIamPolicy", +"httpMethod": "POST", +"id": "datacatalog.projects.locations.taxonomies.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/[^/]+/taxonomies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:getIamPolicy", +"request": { +"$ref": "GetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Imports all taxonomies and their policy tags to a project as new taxonomies. This method provides a bulk taxonomy / policy tag creation using nested proto structure.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies:import", +"httpMethod": "POST", +"id": "datacatalog.projects.locations.taxonomies.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Resource name of project that the imported taxonomies will belong to.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/taxonomies:import", +"request": { +"$ref": "GoogleCloudDatacatalogV1beta1ImportTaxonomiesRequest" +}, +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all taxonomies in a project in a particular location that the caller has permission to view.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies", +"httpMethod": "GET", +"id": "datacatalog.projects.locations.taxonomies.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Supported field for filter is 'service' and value is 'dataplex'. Eg: service=dataplex.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of items to return. Must be a value between 1 and 1000. If not set, defaults to 50.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous list request, if any. If not set, defaults to an empty string.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Resource name of the project to list the taxonomies of.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/taxonomies", +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a taxonomy.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}", +"httpMethod": "PATCH", +"id": "datacatalog.projects.locations.taxonomies.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Resource name of this taxonomy, whose format is: \"projects/{project_number}/locations/{location_id}/taxonomies/{id}\".", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The update mask applies to the resource. 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": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudDatacatalogV1beta1Taxonomy" +}, +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1Taxonomy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the IAM policy for a taxonomy or a policy tag.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}:setIamPolicy", +"httpMethod": "POST", +"id": "datacatalog.projects.locations.taxonomies.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/[^/]+/taxonomies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns the permissions that a caller has on the specified taxonomy or policy tag.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}:testIamPermissions", +"httpMethod": "POST", +"id": "datacatalog.projects.locations.taxonomies.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/[^/]+/taxonomies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"policyTags": { +"methods": { +"create": { +"description": "Creates a policy tag in the specified taxonomy.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags", +"httpMethod": "POST", +"id": "datacatalog.projects.locations.taxonomies.policyTags.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Resource name of the taxonomy that the policy tag will belong to.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/policyTags", +"request": { +"$ref": "GoogleCloudDatacatalogV1beta1PolicyTag" +}, +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1PolicyTag" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a policy tag. Also deletes all of its descendant policy tags.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}", +"httpMethod": "DELETE", +"id": "datacatalog.projects.locations.taxonomies.policyTags.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the policy tag to be deleted. All of its descendant policy tags will also be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a policy tag.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}", +"httpMethod": "GET", +"id": "datacatalog.projects.locations.taxonomies.policyTags.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the requested policy tag.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1PolicyTag" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the IAM policy for a taxonomy or a policy tag.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}:getIamPolicy", +"httpMethod": "POST", +"id": "datacatalog.projects.locations.taxonomies.policyTags.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/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:getIamPolicy", +"request": { +"$ref": "GetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all policy tags in a taxonomy.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags", +"httpMethod": "GET", +"id": "datacatalog.projects.locations.taxonomies.policyTags.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of items to return. Must be a value between 1 and 1000. If not set, defaults to 50.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous List request, if any. If not set, defaults to an empty string.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Resource name of the taxonomy to list the policy tags of.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/policyTags", +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a policy tag.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}", +"httpMethod": "PATCH", +"id": "datacatalog.projects.locations.taxonomies.policyTags.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Resource name of this policy tag, whose format is: \"projects/{project_number}/locations/{location_id}/taxonomies/{taxonomy_id}/policyTags/{id}\".", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The update mask applies to the resource. Only display_name, description and parent_policy_tag can be updated and thus can be listed in the mask. If update_mask is not provided, all allowed fields (i.e. display_name, description and parent) will be updated. For more information including 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": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudDatacatalogV1beta1PolicyTag" +}, +"response": { +"$ref": "GoogleCloudDatacatalogV1beta1PolicyTag" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the IAM policy for a taxonomy or a policy tag.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}:setIamPolicy", +"httpMethod": "POST", +"id": "datacatalog.projects.locations.taxonomies.policyTags.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/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns the permissions that a caller has on the specified taxonomy or policy tag.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}:testIamPermissions", +"httpMethod": "POST", +"id": "datacatalog.projects.locations.taxonomies.policyTags.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/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +} +}, +"revision": "20241021", +"rootUrl": "https://datacatalog.googleapis.com/", +"schemas": { +"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" +}, +"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" +}, +"GoogleCloudDatacatalogV1BigQueryConnectionSpec": { +"description": "Specification for the BigQuery connection.", +"id": "GoogleCloudDatacatalogV1BigQueryConnectionSpec", +"properties": { +"cloudSql": { +"$ref": "GoogleCloudDatacatalogV1CloudSqlBigQueryConnectionSpec", +"description": "Specification for the BigQuery connection to a Cloud SQL instance." +}, +"connectionType": { +"description": "The type of the BigQuery connection.", +"enum": [ +"CONNECTION_TYPE_UNSPECIFIED", +"CLOUD_SQL" +], +"enumDescriptions": [ +"Unspecified type.", +"Cloud SQL connection." +], +"type": "string" +}, +"hasCredential": { +"description": "True if there are credentials attached to the BigQuery connection; false otherwise.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1BigQueryDateShardedSpec": { +"description": "Specification for a group of BigQuery tables with the `[prefix]YYYYMMDD` name pattern. For more information, see [Introduction to partitioned tables] (https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding).", +"id": "GoogleCloudDatacatalogV1BigQueryDateShardedSpec", +"properties": { +"dataset": { +"description": "Output only. The Data Catalog resource name of the dataset entry the current table belongs to. For example: `projects/{PROJECT_ID}/locations/{LOCATION}/entrygroups/{ENTRY_GROUP_ID}/entries/{ENTRY_ID}`.", +"readOnly": true, +"type": "string" +}, +"latestShardResource": { +"description": "Output only. BigQuery resource name of the latest shard.", +"readOnly": true, +"type": "string" +}, +"shardCount": { +"description": "Output only. Total number of shards.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"tablePrefix": { +"description": "Output only. The table name prefix of the shards. The name of any given shard is `[table_prefix]YYYYMMDD`. For example, for the `MyTable20180101` shard, the `table_prefix` is `MyTable`.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1BigQueryRoutineSpec": { +"description": "Fields specific for BigQuery routines.", +"id": "GoogleCloudDatacatalogV1BigQueryRoutineSpec", +"properties": { +"importedLibraries": { +"description": "Paths of the imported libraries.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1BigQueryTableSpec": { +"description": "Describes a BigQuery table.", +"id": "GoogleCloudDatacatalogV1BigQueryTableSpec", +"properties": { +"tableSourceType": { +"description": "Output only. The table source type.", +"enum": [ +"TABLE_SOURCE_TYPE_UNSPECIFIED", +"BIGQUERY_VIEW", +"BIGQUERY_TABLE", +"BIGQUERY_MATERIALIZED_VIEW" +], +"enumDescriptions": [ +"Default unknown type.", +"Table view.", +"BigQuery native table.", +"BigQuery materialized view." +], +"readOnly": true, +"type": "string" +}, +"tableSpec": { +"$ref": "GoogleCloudDatacatalogV1TableSpec", +"description": "Specification of a BigQuery table. Populated only if the `table_source_type` is `BIGQUERY_TABLE`." +}, +"viewSpec": { +"$ref": "GoogleCloudDatacatalogV1ViewSpec", +"description": "Table view specification. Populated only if the `table_source_type` is `BIGQUERY_VIEW`." +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1BusinessContext": { +"description": "Business Context of the entry.", +"id": "GoogleCloudDatacatalogV1BusinessContext", +"properties": { +"contacts": { +"$ref": "GoogleCloudDatacatalogV1Contacts", +"description": "Contact people for the entry." +}, +"entryOverview": { +"$ref": "GoogleCloudDatacatalogV1EntryOverview", +"description": "Entry overview fields for rich text descriptions of entries." +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1CloudBigtableInstanceSpec": { +"description": "Specification that applies to Instance entries that are part of `CLOUD_BIGTABLE` system. (user_specified_type)", +"id": "GoogleCloudDatacatalogV1CloudBigtableInstanceSpec", +"properties": { +"cloudBigtableClusterSpecs": { +"description": "The list of clusters for the Instance.", +"items": { +"$ref": "GoogleCloudDatacatalogV1CloudBigtableInstanceSpecCloudBigtableClusterSpec" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1CloudBigtableInstanceSpecCloudBigtableClusterSpec": { +"description": "Spec that applies to clusters of an Instance of Cloud Bigtable.", +"id": "GoogleCloudDatacatalogV1CloudBigtableInstanceSpecCloudBigtableClusterSpec", +"properties": { +"displayName": { +"description": "Name of the cluster.", +"type": "string" +}, +"linkedResource": { +"description": "A link back to the parent resource, in this case Instance.", +"type": "string" +}, +"location": { +"description": "Location of the cluster, typically a Cloud zone.", +"type": "string" +}, +"type": { +"description": "Type of the resource. For a cluster this would be \"CLUSTER\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1CloudBigtableSystemSpec": { +"description": "Specification that applies to all entries that are part of `CLOUD_BIGTABLE` system (user_specified_type)", +"id": "GoogleCloudDatacatalogV1CloudBigtableSystemSpec", +"properties": { +"instanceDisplayName": { +"description": "Display name of the Instance. This is user specified and different from the resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1CloudSqlBigQueryConnectionSpec": { +"description": "Specification for the BigQuery connection to a Cloud SQL instance.", +"id": "GoogleCloudDatacatalogV1CloudSqlBigQueryConnectionSpec", +"properties": { +"database": { +"description": "Database name.", +"type": "string" +}, +"instanceId": { +"description": "Cloud SQL instance ID in the format of `project:location:instance`.", +"type": "string" +}, +"type": { +"description": "Type of the Cloud SQL database.", +"enum": [ +"DATABASE_TYPE_UNSPECIFIED", +"POSTGRES", +"MYSQL" +], +"enumDescriptions": [ +"Unspecified database type.", +"Cloud SQL for PostgreSQL.", +"Cloud SQL for MySQL." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1ColumnSchema": { +"description": "A column within a schema. Columns can be nested inside other columns.", +"id": "GoogleCloudDatacatalogV1ColumnSchema", +"properties": { +"column": { +"description": "Required. Name of the column. Must be a UTF-8 string without dots (.). The maximum size is 64 bytes.", +"type": "string" +}, +"defaultValue": { +"description": "Optional. Default value for the column.", +"type": "string" +}, +"description": { +"description": "Optional. Description of the column. Default value is an empty string. The description must be a UTF-8 string with the maximum size of 2000 bytes.", +"type": "string" +}, +"gcRule": { +"description": "Optional. Garbage collection policy for the column or column family. Applies to systems like Cloud Bigtable.", +"type": "string" +}, +"highestIndexingType": { +"description": "Optional. Most important inclusion of this column.", +"enum": [ +"INDEXING_TYPE_UNSPECIFIED", +"INDEXING_TYPE_NONE", +"INDEXING_TYPE_NON_UNIQUE", +"INDEXING_TYPE_UNIQUE", +"INDEXING_TYPE_PRIMARY_KEY" +], +"enumDescriptions": [ +"Unspecified.", +"Column not a part of an index.", +"Column Part of non unique index.", +"Column part of unique index.", +"Column part of the primary key." +], +"type": "string" +}, +"lookerColumnSpec": { +"$ref": "GoogleCloudDatacatalogV1ColumnSchemaLookerColumnSpec", +"description": "Looker specific column info of this column." +}, +"mode": { +"description": "Optional. A column's mode indicates whether values in this column are required, nullable, or repeated. Only `NULLABLE`, `REQUIRED`, and `REPEATED` values are supported. Default mode is `NULLABLE`.", +"type": "string" +}, +"ordinalPosition": { +"description": "Optional. Ordinal position", +"format": "int32", +"type": "integer" +}, +"rangeElementType": { +"$ref": "GoogleCloudDatacatalogV1ColumnSchemaFieldElementType", +"description": "Optional. The subtype of the RANGE, if the type of this field is RANGE. If the type is RANGE, this field is required. Possible values for the field element type of a RANGE include: * DATE * DATETIME * TIMESTAMP" +}, +"subcolumns": { +"description": "Optional. Schema of sub-columns. A column can have zero or more sub-columns.", +"items": { +"$ref": "GoogleCloudDatacatalogV1ColumnSchema" +}, +"type": "array" +}, +"type": { +"description": "Required. Type of the column. Must be a UTF-8 string with the maximum size of 128 bytes.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1ColumnSchemaFieldElementType": { +"description": "Represents the type of a field element.", +"id": "GoogleCloudDatacatalogV1ColumnSchemaFieldElementType", +"properties": { +"type": { +"description": "Required. The type of a field element. See ColumnSchema.type.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1ColumnSchemaLookerColumnSpec": { +"description": "Column info specific to Looker System.", +"id": "GoogleCloudDatacatalogV1ColumnSchemaLookerColumnSpec", +"properties": { +"type": { +"description": "Looker specific column type of this column.", +"enum": [ +"LOOKER_COLUMN_TYPE_UNSPECIFIED", +"DIMENSION", +"DIMENSION_GROUP", +"FILTER", +"MEASURE", +"PARAMETER" +], +"enumDescriptions": [ +"Unspecified.", +"Dimension.", +"Dimension group - parent for Dimension.", +"Filter.", +"Measure.", +"Parameter." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1CommonUsageStats": { +"description": "Common statistics on the entry's usage. They can be set on any system.", +"id": "GoogleCloudDatacatalogV1CommonUsageStats", +"properties": { +"viewCount": { +"description": "View count in source system.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1Contacts": { +"description": "Contact people for the entry.", +"id": "GoogleCloudDatacatalogV1Contacts", +"properties": { +"people": { +"description": "The list of contact people for the entry.", +"items": { +"$ref": "GoogleCloudDatacatalogV1ContactsPerson" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1ContactsPerson": { +"description": "A contact person for the entry.", +"id": "GoogleCloudDatacatalogV1ContactsPerson", +"properties": { +"designation": { +"description": "Designation of the person, for example, Data Steward.", +"type": "string" +}, +"email": { +"description": "Email of the person in the format of `john.doe@xyz`, ``, or `John Doe`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1DataSource": { +"description": "Physical location of an entry.", +"id": "GoogleCloudDatacatalogV1DataSource", +"properties": { +"resource": { +"description": "Full name of a resource as defined by the service. For example: `//bigquery.googleapis.com/projects/{PROJECT_ID}/locations/{LOCATION}/datasets/{DATASET_ID}/tables/{TABLE_ID}`", +"type": "string" +}, +"service": { +"description": "Service that physically stores the data.", +"enum": [ +"SERVICE_UNSPECIFIED", +"CLOUD_STORAGE", +"BIGQUERY" +], +"enumDescriptions": [ +"Default unknown service.", +"Google Cloud Storage service.", +"BigQuery service." +], +"type": "string" +}, +"sourceEntry": { +"description": "Output only. Data Catalog entry name, if applicable.", +"readOnly": true, +"type": "string" +}, +"storageProperties": { +"$ref": "GoogleCloudDatacatalogV1StorageProperties", +"description": "Detailed properties of the underlying storage." +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1DataSourceConnectionSpec": { +"description": "Specification that applies to a data source connection. Valid only for entries with the `DATA_SOURCE_CONNECTION` type. Only one of internal specs can be set at the time, and cannot be changed later.", +"id": "GoogleCloudDatacatalogV1DataSourceConnectionSpec", +"properties": { +"bigqueryConnectionSpec": { +"$ref": "GoogleCloudDatacatalogV1BigQueryConnectionSpec", +"description": "Output only. Fields specific to BigQuery connections." +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1DatabaseTableSpec": { +"description": "Specification that applies to a table resource. Valid only for entries with the `TABLE` type.", +"id": "GoogleCloudDatacatalogV1DatabaseTableSpec", +"properties": { +"databaseViewSpec": { +"$ref": "GoogleCloudDatacatalogV1DatabaseTableSpecDatabaseViewSpec", +"description": "Spec what aplies to tables that are actually views. Not set for \"real\" tables." +}, +"dataplexTable": { +"$ref": "GoogleCloudDatacatalogV1DataplexTableSpec", +"description": "Output only. Fields specific to a Dataplex table and present only in the Dataplex table entries.", +"readOnly": true +}, +"type": { +"description": "Type of this table.", +"enum": [ +"TABLE_TYPE_UNSPECIFIED", +"NATIVE", +"EXTERNAL" +], +"enumDescriptions": [ +"Default unknown table type.", +"Native table.", +"External table." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1DatabaseTableSpecDatabaseViewSpec": { +"description": "Specification that applies to database view.", +"id": "GoogleCloudDatacatalogV1DatabaseTableSpecDatabaseViewSpec", +"properties": { +"baseTable": { +"description": "Name of a singular table this view reflects one to one.", +"type": "string" +}, +"sqlQuery": { +"description": "SQL query used to generate this view.", +"type": "string" +}, +"viewType": { +"description": "Type of this view.", +"enum": [ +"VIEW_TYPE_UNSPECIFIED", +"STANDARD_VIEW", +"MATERIALIZED_VIEW" +], +"enumDescriptions": [ +"Default unknown view type.", +"Standard view.", +"Materialized view." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1DataplexExternalTable": { +"description": "External table registered by Dataplex. Dataplex publishes data discovered from an asset into multiple other systems (BigQuery, DPMS) in form of tables. We call them \"external tables\". External tables are also synced into the Data Catalog. This message contains pointers to those external tables (fully qualified name, resource name et cetera) within the Data Catalog.", +"id": "GoogleCloudDatacatalogV1DataplexExternalTable", +"properties": { +"dataCatalogEntry": { +"description": "Name of the Data Catalog entry representing the external table.", +"type": "string" +}, +"fullyQualifiedName": { +"description": "Fully qualified name (FQN) of the external table.", +"type": "string" +}, +"googleCloudResource": { +"description": "Google Cloud resource name of the external table.", +"type": "string" +}, +"system": { +"description": "Service in which the external table is registered.", +"enum": [ +"INTEGRATED_SYSTEM_UNSPECIFIED", +"BIGQUERY", +"CLOUD_PUBSUB", +"DATAPROC_METASTORE", +"DATAPLEX", +"CLOUD_SPANNER", +"CLOUD_BIGTABLE", +"CLOUD_SQL", +"LOOKER", +"VERTEX_AI" +], +"enumDescriptions": [ +"Default unknown system.", +"BigQuery.", +"Cloud Pub/Sub.", +"Dataproc Metastore.", +"Dataplex.", +"Cloud Spanner", +"Cloud Bigtable", +"Cloud Sql", +"Looker", +"Vertex AI" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1DataplexFilesetSpec": { +"description": "Entry specyfication for a Dataplex fileset.", +"id": "GoogleCloudDatacatalogV1DataplexFilesetSpec", +"properties": { +"dataplexSpec": { +"$ref": "GoogleCloudDatacatalogV1DataplexSpec", +"description": "Common Dataplex fields." +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1DataplexSpec": { +"description": "Common Dataplex fields.", +"id": "GoogleCloudDatacatalogV1DataplexSpec", +"properties": { +"asset": { +"description": "Fully qualified resource name of an asset in Dataplex, to which the underlying data source (Cloud Storage bucket or BigQuery dataset) of the entity is attached.", +"type": "string" +}, +"compressionFormat": { +"description": "Compression format of the data, e.g., zip, gzip etc.", +"type": "string" +}, +"dataFormat": { +"$ref": "GoogleCloudDatacatalogV1PhysicalSchema", +"description": "Format of the data." +}, +"projectId": { +"description": "Project ID of the underlying Cloud Storage or BigQuery data. Note that this may not be the same project as the correspondingly Dataplex lake / zone / asset.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1DataplexTableSpec": { +"description": "Entry specification for a Dataplex table.", +"id": "GoogleCloudDatacatalogV1DataplexTableSpec", +"properties": { +"dataplexSpec": { +"$ref": "GoogleCloudDatacatalogV1DataplexSpec", +"description": "Common Dataplex fields." +}, +"externalTables": { +"description": "List of external tables registered by Dataplex in other systems based on the same underlying data. External tables allow to query this data in those systems.", +"items": { +"$ref": "GoogleCloudDatacatalogV1DataplexExternalTable" +}, +"type": "array" +}, +"userManaged": { +"description": "Indicates if the table schema is managed by the user or not.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1DatasetSpec": { +"description": "Specification that applies to a dataset. Valid only for entries with the `DATASET` type.", +"id": "GoogleCloudDatacatalogV1DatasetSpec", +"properties": { +"vertexDatasetSpec": { +"$ref": "GoogleCloudDatacatalogV1VertexDatasetSpec", +"description": "Vertex AI Dataset specific fields" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1DumpItem": { +"description": "Wrapper for any item that can be contained in the dump.", +"id": "GoogleCloudDatacatalogV1DumpItem", +"properties": { +"taggedEntry": { +"$ref": "GoogleCloudDatacatalogV1TaggedEntry", +"description": "Entry and its tags." +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1Entry": { +"description": "Entry metadata. A Data Catalog entry represents another resource in Google Cloud Platform (such as a BigQuery dataset or a Pub/Sub topic) or outside of it. You can use the `linked_resource` field in the entry resource to refer to the original resource ID of the source system. An entry resource contains resource details, for example, its schema. Additionally, you can attach flexible metadata to an entry in the form of a Tag.", +"id": "GoogleCloudDatacatalogV1Entry", +"properties": { +"bigqueryDateShardedSpec": { +"$ref": "GoogleCloudDatacatalogV1BigQueryDateShardedSpec", +"description": "Output only. Specification for a group of BigQuery tables with the `[prefix]YYYYMMDD` name pattern. For more information, see [Introduction to partitioned tables] (https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding).", +"readOnly": true +}, +"bigqueryTableSpec": { +"$ref": "GoogleCloudDatacatalogV1BigQueryTableSpec", +"description": "Output only. Specification that applies to a BigQuery table. Valid only for entries with the `TABLE` type.", +"readOnly": true +}, +"businessContext": { +"$ref": "GoogleCloudDatacatalogV1BusinessContext", +"description": "Business Context of the entry. Not supported for BigQuery datasets" +}, +"cloudBigtableSystemSpec": { +"$ref": "GoogleCloudDatacatalogV1CloudBigtableSystemSpec", +"description": "Specification that applies to Cloud Bigtable system. Only settable when `integrated_system` is equal to `CLOUD_BIGTABLE`" +}, +"dataSource": { +"$ref": "GoogleCloudDatacatalogV1DataSource", +"description": "Output only. Physical location of the entry.", +"readOnly": true +}, +"dataSourceConnectionSpec": { +"$ref": "GoogleCloudDatacatalogV1DataSourceConnectionSpec", +"description": "Specification that applies to a data source connection. Valid only for entries with the `DATA_SOURCE_CONNECTION` type." +}, +"databaseTableSpec": { +"$ref": "GoogleCloudDatacatalogV1DatabaseTableSpec", +"description": "Specification that applies to a table resource. Valid only for entries with the `TABLE` or `EXPLORE` type." +}, +"datasetSpec": { +"$ref": "GoogleCloudDatacatalogV1DatasetSpec", +"description": "Specification that applies to a dataset." +}, +"description": { +"description": "Entry description that can consist of several sentences or paragraphs that describe entry contents. The description must not contain Unicode non-characters as well as C0 and C1 control codes except tabs (HT), new lines (LF), carriage returns (CR), and page breaks (FF). The maximum size is 2000 bytes when encoded in UTF-8. Default value is an empty string.", +"type": "string" +}, +"displayName": { +"description": "Display name of an entry. The maximum size is 500 bytes when encoded in UTF-8. Default value is an empty string.", +"type": "string" +}, +"featureOnlineStoreSpec": { +"$ref": "GoogleCloudDatacatalogV1FeatureOnlineStoreSpec", +"description": "FeatureonlineStore spec for Vertex AI Feature Store." +}, +"filesetSpec": { +"$ref": "GoogleCloudDatacatalogV1FilesetSpec", +"description": "Specification that applies to a fileset resource. Valid only for entries with the `FILESET` type." +}, +"fullyQualifiedName": { +"description": "[Fully Qualified Name (FQN)](https://cloud.google.com//data-catalog/docs/fully-qualified-names) of the resource. Set automatically for entries representing resources from synced systems. Settable only during creation, and read-only later. Can be used for search and lookup of the entries. ", +"type": "string" +}, +"gcsFilesetSpec": { +"$ref": "GoogleCloudDatacatalogV1GcsFilesetSpec", +"description": "Specification that applies to a Cloud Storage fileset. Valid only for entries with the `FILESET` type." +}, +"integratedSystem": { +"description": "Output only. Indicates the entry's source system that Data Catalog integrates with, such as BigQuery, Pub/Sub, or Dataproc Metastore.", +"enum": [ +"INTEGRATED_SYSTEM_UNSPECIFIED", +"BIGQUERY", +"CLOUD_PUBSUB", +"DATAPROC_METASTORE", +"DATAPLEX", +"CLOUD_SPANNER", +"CLOUD_BIGTABLE", +"CLOUD_SQL", +"LOOKER", +"VERTEX_AI" +], +"enumDescriptions": [ +"Default unknown system.", +"BigQuery.", +"Cloud Pub/Sub.", +"Dataproc Metastore.", +"Dataplex.", +"Cloud Spanner", +"Cloud Bigtable", +"Cloud Sql", +"Looker", +"Vertex AI" +], +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cloud labels attached to the entry. In Data Catalog, you can create and modify labels attached only to custom entries. Synced entries have unmodifiable labels that come from the source system.", +"type": "object" +}, +"linkedResource": { +"description": "The resource this metadata entry refers to. For Google Cloud Platform resources, `linked_resource` is the [Full Resource Name] (https://cloud.google.com/apis/design/resource_names#full_resource_name). For example, the `linked_resource` for a table resource from BigQuery is: `//bigquery.googleapis.com/projects/{PROJECT_ID}/datasets/{DATASET_ID}/tables/{TABLE_ID}` Output only when the entry is one of the types in the `EntryType` enum. For entries with a `user_specified_type`, this field is optional and defaults to an empty string. The resource string must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), periods (.), colons (:), slashes (/), dashes (-), and hashes (#). The maximum size is 200 bytes when encoded in UTF-8.", +"type": "string" +}, +"lookerSystemSpec": { +"$ref": "GoogleCloudDatacatalogV1LookerSystemSpec", +"description": "Specification that applies to Looker sysstem. Only settable when `user_specified_system` is equal to `LOOKER`" +}, +"modelSpec": { +"$ref": "GoogleCloudDatacatalogV1ModelSpec", +"description": "Model specification." +}, +"name": { +"description": "Output only. Identifier. The resource name of an entry in URL format. Note: The entry itself and its child resources might not be stored in the location specified in its name.", +"readOnly": true, +"type": "string" +}, +"personalDetails": { +"$ref": "GoogleCloudDatacatalogV1PersonalDetails", +"description": "Output only. Additional information related to the entry. Private to the current user.", +"readOnly": true +}, +"routineSpec": { +"$ref": "GoogleCloudDatacatalogV1RoutineSpec", +"description": "Specification that applies to a user-defined function or procedure. Valid only for entries with the `ROUTINE` type." +}, +"schema": { +"$ref": "GoogleCloudDatacatalogV1Schema", +"description": "Schema of the entry. An entry might not have any schema attached to it." +}, +"serviceSpec": { +"$ref": "GoogleCloudDatacatalogV1ServiceSpec", +"description": "Specification that applies to a Service resource." +}, +"sourceSystemTimestamps": { +"$ref": "GoogleCloudDatacatalogV1SystemTimestamps", +"description": "Timestamps from the underlying resource, not from the Data Catalog entry. Output only when the entry has a system listed in the `IntegratedSystem` enum. For entries with `user_specified_system`, this field is optional and defaults to an empty timestamp." +}, +"sqlDatabaseSystemSpec": { +"$ref": "GoogleCloudDatacatalogV1SqlDatabaseSystemSpec", +"description": "Specification that applies to a relational database system. Only settable when `user_specified_system` is equal to `SQL_DATABASE`" +}, +"type": { +"description": "The type of the entry. For details, see [`EntryType`](#entrytype).", +"enum": [ +"ENTRY_TYPE_UNSPECIFIED", +"TABLE", +"MODEL", +"DATA_STREAM", +"FILESET", +"CLUSTER", +"DATABASE", +"DATA_SOURCE_CONNECTION", +"ROUTINE", +"LAKE", +"ZONE", +"SERVICE", +"DATABASE_SCHEMA", +"DASHBOARD", +"EXPLORE", +"LOOK", +"FEATURE_ONLINE_STORE", +"FEATURE_VIEW", +"FEATURE_GROUP" +], +"enumDescriptions": [ +"Default unknown type.", +"The entry type that has a GoogleSQL schema, including logical views.", +"The type of models. For more information, see [Supported models in BigQuery ML](/bigquery/docs/bqml-introduction#supported_models).", +"An entry type for streaming entries. For example, a Pub/Sub topic.", +"An entry type for a set of files or objects. For example, a Cloud Storage fileset.", +"A group of servers that work together. For example, a Kafka cluster.", +"A database.", +"Connection to a data source. For example, a BigQuery connection.", +"Routine, for example, a BigQuery routine.", +"A Dataplex lake.", +"A Dataplex zone.", +"A service, for example, a Dataproc Metastore service.", +"Schema within a relational database.", +"A Dashboard, for example from Looker.", +"A Looker Explore. For more information, see [Looker Explore API] (https://developers.looker.com/api/explorer/4.0/methods/LookmlModel/lookml_model_explore).", +"A Looker Look. For more information, see [Looker Look API] (https://developers.looker.com/api/explorer/4.0/methods/Look).", +"Feature Online Store resource in Vertex AI Feature Store.", +"Feature View resource in Vertex AI Feature Store.", +"Feature Group resource in Vertex AI Feature Store." +], +"type": "string" +}, +"usageSignal": { +"$ref": "GoogleCloudDatacatalogV1UsageSignal", +"description": "Resource usage statistics." +}, +"userSpecifiedSystem": { +"description": "Indicates the entry's source system that Data Catalog doesn't automatically integrate with. The `user_specified_system` string has the following limitations: * Is case insensitive. * Must begin with a letter or underscore. * Can only contain letters, numbers, and underscores. * Must be at least 1 character and at most 64 characters long.", +"type": "string" +}, +"userSpecifiedType": { +"description": "Custom entry type that doesn't match any of the values allowed for input and listed in the `EntryType` enum. When creating an entry, first check the type values in the enum. If there are no appropriate types for the new entry, provide a custom value, for example, `my_special_type`. The `user_specified_type` string has the following limitations: * Is case insensitive. * Must begin with a letter or underscore. * Can only contain letters, numbers, and underscores. * Must be at least 1 character and at most 64 characters long.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1EntryOverview": { +"description": "Entry overview fields for rich text descriptions of entries.", +"id": "GoogleCloudDatacatalogV1EntryOverview", +"properties": { +"overview": { +"description": "Entry overview with support for rich text. The overview must only contain Unicode characters, and should be formatted using HTML. The maximum length is 10 MiB as this value holds HTML descriptions including encoded images. The maximum length of the text without images is 100 KiB.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1FeatureOnlineStoreSpec": { +"description": "Detail description of the source information of a Vertex Feature Online Store.", +"id": "GoogleCloudDatacatalogV1FeatureOnlineStoreSpec", +"properties": { +"storageType": { +"description": "Output only. Type of underelaying storage for the FeatureOnlineStore.", +"enum": [ +"STORAGE_TYPE_UNSPECIFIED", +"BIGTABLE", +"OPTIMIZED" +], +"enumDescriptions": [ +"Should not be used.", +"Underlsying storgae is Bigtable.", +"Underlaying is optimized online server (Lightning)." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1FilesetSpec": { +"description": "Specification that applies to a fileset. Valid only for entries with the 'FILESET' type.", +"id": "GoogleCloudDatacatalogV1FilesetSpec", +"properties": { +"dataplexFileset": { +"$ref": "GoogleCloudDatacatalogV1DataplexFilesetSpec", +"description": "Fields specific to a Dataplex fileset and present only in the Dataplex fileset entries." +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1GcsFileSpec": { +"description": "Specification of a single file in Cloud Storage.", +"id": "GoogleCloudDatacatalogV1GcsFileSpec", +"properties": { +"filePath": { +"description": "Required. Full file path. Example: `gs://bucket_name/a/b.txt`.", +"type": "string" +}, +"gcsTimestamps": { +"$ref": "GoogleCloudDatacatalogV1SystemTimestamps", +"description": "Output only. Creation, modification, and expiration timestamps of a Cloud Storage file.", +"readOnly": true +}, +"sizeBytes": { +"description": "Output only. File size in bytes.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1GcsFilesetSpec": { +"description": "Describes a Cloud Storage fileset entry.", +"id": "GoogleCloudDatacatalogV1GcsFilesetSpec", +"properties": { +"filePatterns": { +"description": "Required. Patterns to identify a set of files in Google Cloud Storage. For more information, see [Wildcard Names] (https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames). Note: Currently, bucket wildcards are not supported. Examples of valid `file_patterns`: * `gs://bucket_name/dir/*`: matches all files in `bucket_name/dir` directory * `gs://bucket_name/dir/**`: matches all files in `bucket_name/dir` and all subdirectories * `gs://bucket_name/file*`: matches files prefixed by `file` in `bucket_name` * `gs://bucket_name/??.txt`: matches files with two characters followed by `.txt` in `bucket_name` * `gs://bucket_name/[aeiou].txt`: matches files that contain a single vowel character followed by `.txt` in `bucket_name` * `gs://bucket_name/[a-m].txt`: matches files that contain `a`, `b`, ... or `m` followed by `.txt` in `bucket_name` * `gs://bucket_name/a/*/b`: matches all files in `bucket_name` that match the `a/*/b` pattern, such as `a/c/b`, `a/d/b` * `gs://another_bucket/a.txt`: matches `gs://another_bucket/a.txt` You can combine wildcards to match complex sets of files, for example: `gs://bucket_name/[a-m]??.j*g`", +"items": { +"type": "string" +}, +"type": "array" +}, +"sampleGcsFileSpecs": { +"description": "Output only. Sample files contained in this fileset, not all files contained in this fileset are represented here.", +"items": { +"$ref": "GoogleCloudDatacatalogV1GcsFileSpec" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1ImportEntriesMetadata": { +"description": "Metadata message for long-running operation returned by the ImportEntries.", +"id": "GoogleCloudDatacatalogV1ImportEntriesMetadata", +"properties": { +"errors": { +"description": "Partial errors that are encountered during the ImportEntries operation. There is no guarantee that all the encountered errors are reported. However, if no errors are reported, it means that no errors were encountered.", +"items": { +"$ref": "Status" +}, +"type": "array" +}, +"state": { +"description": "State of the import operation.", +"enum": [ +"IMPORT_STATE_UNSPECIFIED", +"IMPORT_QUEUED", +"IMPORT_IN_PROGRESS", +"IMPORT_DONE", +"IMPORT_OBSOLETE" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"The dump with entries has been queued for import.", +"The import of entries is in progress.", +"The import of entries has been finished.", +"The import of entries has been abandoned in favor of a newer request." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1ImportEntriesResponse": { +"description": "Response message for long-running operation returned by the ImportEntries.", +"id": "GoogleCloudDatacatalogV1ImportEntriesResponse", +"properties": { +"deletedEntriesCount": { +"description": "Number of entries deleted as a result of import operation.", +"format": "int64", +"type": "string" +}, +"upsertedEntriesCount": { +"description": "Cumulative number of entries created and entries updated as a result of import operation.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1LookerSystemSpec": { +"description": "Specification that applies to entries that are part `LOOKER` system (user_specified_type)", +"id": "GoogleCloudDatacatalogV1LookerSystemSpec", +"properties": { +"parentInstanceDisplayName": { +"description": "Name of the parent Looker Instance. Empty if it does not exist.", +"type": "string" +}, +"parentInstanceId": { +"description": "ID of the parent Looker Instance. Empty if it does not exist. Example value: `someinstance.looker.com`", +"type": "string" +}, +"parentModelDisplayName": { +"description": "Name of the parent Model. Empty if it does not exist.", +"type": "string" +}, +"parentModelId": { +"description": "ID of the parent Model. Empty if it does not exist.", +"type": "string" +}, +"parentViewDisplayName": { +"description": "Name of the parent View. Empty if it does not exist.", +"type": "string" +}, +"parentViewId": { +"description": "ID of the parent View. Empty if it does not exist.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1ModelSpec": { +"description": "Specification that applies to a model. Valid only for entries with the `MODEL` type.", +"id": "GoogleCloudDatacatalogV1ModelSpec", +"properties": { +"vertexModelSpec": { +"$ref": "GoogleCloudDatacatalogV1VertexModelSpec", +"description": "Specification for vertex model resources." +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1PersonalDetails": { +"description": "Entry metadata relevant only to the user and private to them.", +"id": "GoogleCloudDatacatalogV1PersonalDetails", +"properties": { +"starTime": { +"description": "Set if the entry is starred; unset otherwise.", +"format": "google-datetime", +"type": "string" +}, +"starred": { +"description": "True if the entry is starred by the user; false otherwise.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1PhysicalSchema": { +"description": "Native schema used by a resource represented as an entry. Used by query engines for deserializing and parsing source data.", +"id": "GoogleCloudDatacatalogV1PhysicalSchema", +"properties": { +"avro": { +"$ref": "GoogleCloudDatacatalogV1PhysicalSchemaAvroSchema", +"description": "Schema in Avro JSON format." +}, +"csv": { +"$ref": "GoogleCloudDatacatalogV1PhysicalSchemaCsvSchema", +"description": "Marks a CSV-encoded data source." +}, +"orc": { +"$ref": "GoogleCloudDatacatalogV1PhysicalSchemaOrcSchema", +"description": "Marks an ORC-encoded data source." +}, +"parquet": { +"$ref": "GoogleCloudDatacatalogV1PhysicalSchemaParquetSchema", +"description": "Marks a Parquet-encoded data source." +}, +"protobuf": { +"$ref": "GoogleCloudDatacatalogV1PhysicalSchemaProtobufSchema", +"description": "Schema in protocol buffer format." +}, +"thrift": { +"$ref": "GoogleCloudDatacatalogV1PhysicalSchemaThriftSchema", +"description": "Schema in Thrift format." +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1PhysicalSchemaAvroSchema": { +"description": "Schema in Avro JSON format.", +"id": "GoogleCloudDatacatalogV1PhysicalSchemaAvroSchema", +"properties": { +"text": { +"description": "JSON source of the Avro schema.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1PhysicalSchemaCsvSchema": { +"description": "Marks a CSV-encoded data source.", +"id": "GoogleCloudDatacatalogV1PhysicalSchemaCsvSchema", +"properties": {}, +"type": "object" +}, +"GoogleCloudDatacatalogV1PhysicalSchemaOrcSchema": { +"description": "Marks an ORC-encoded data source.", +"id": "GoogleCloudDatacatalogV1PhysicalSchemaOrcSchema", +"properties": {}, +"type": "object" +}, +"GoogleCloudDatacatalogV1PhysicalSchemaParquetSchema": { +"description": "Marks a Parquet-encoded data source.", +"id": "GoogleCloudDatacatalogV1PhysicalSchemaParquetSchema", +"properties": {}, +"type": "object" +}, +"GoogleCloudDatacatalogV1PhysicalSchemaProtobufSchema": { +"description": "Schema in protocol buffer format.", +"id": "GoogleCloudDatacatalogV1PhysicalSchemaProtobufSchema", +"properties": { +"text": { +"description": "Protocol buffer source of the schema.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1PhysicalSchemaThriftSchema": { +"description": "Schema in Thrift format.", +"id": "GoogleCloudDatacatalogV1PhysicalSchemaThriftSchema", +"properties": { +"text": { +"description": "Thrift IDL source of the schema.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1ReconcileTagsMetadata": { +"description": "Long-running operation metadata message returned by the ReconcileTags.", +"id": "GoogleCloudDatacatalogV1ReconcileTagsMetadata", +"properties": { +"errors": { +"additionalProperties": { +"$ref": "Status" +}, +"description": "Maps the name of each tagged column (or empty string for a sole entry) to tagging operation status.", +"type": "object" +}, +"state": { +"description": "State of the reconciliation operation.", +"enum": [ +"RECONCILIATION_STATE_UNSPECIFIED", +"RECONCILIATION_QUEUED", +"RECONCILIATION_IN_PROGRESS", +"RECONCILIATION_DONE" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"The reconciliation has been queued and awaits for execution.", +"The reconciliation is in progress.", +"The reconciliation has been finished." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1ReconcileTagsResponse": { +"description": "Long-running operation response message returned by ReconcileTags.", +"id": "GoogleCloudDatacatalogV1ReconcileTagsResponse", +"properties": { +"createdTagsCount": { +"description": "Number of tags created in the request.", +"format": "int64", +"type": "string" +}, +"deletedTagsCount": { +"description": "Number of tags deleted in the request.", +"format": "int64", +"type": "string" +}, +"updatedTagsCount": { +"description": "Number of tags updated in the request.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1RoutineSpec": { +"description": "Specification that applies to a routine. Valid only for entries with the `ROUTINE` type.", +"id": "GoogleCloudDatacatalogV1RoutineSpec", +"properties": { +"bigqueryRoutineSpec": { +"$ref": "GoogleCloudDatacatalogV1BigQueryRoutineSpec", +"description": "Fields specific for BigQuery routines." +}, +"definitionBody": { +"description": "The body of the routine.", +"type": "string" +}, +"language": { +"description": "The language the routine is written in. The exact value depends on the source system. For BigQuery routines, possible values are: * `SQL` * `JAVASCRIPT`", +"type": "string" +}, +"returnType": { +"description": "Return type of the argument. The exact value depends on the source system and the language.", +"type": "string" +}, +"routineArguments": { +"description": "Arguments of the routine.", +"items": { +"$ref": "GoogleCloudDatacatalogV1RoutineSpecArgument" +}, +"type": "array" +}, +"routineType": { +"description": "The type of the routine.", +"enum": [ +"ROUTINE_TYPE_UNSPECIFIED", +"SCALAR_FUNCTION", +"PROCEDURE" +], +"enumDescriptions": [ +"Unspecified type.", +"Non-builtin permanent scalar function.", +"Stored procedure." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1RoutineSpecArgument": { +"description": "Input or output argument of a function or stored procedure.", +"id": "GoogleCloudDatacatalogV1RoutineSpecArgument", +"properties": { +"mode": { +"description": "Specifies whether the argument is input or output.", +"enum": [ +"MODE_UNSPECIFIED", +"IN", +"OUT", +"INOUT" +], +"enumDescriptions": [ +"Unspecified mode.", +"The argument is input-only.", +"The argument is output-only.", +"The argument is both an input and an output." +], +"type": "string" +}, +"name": { +"description": "The name of the argument. A return argument of a function might not have a name.", +"type": "string" +}, +"type": { +"description": "Type of the argument. The exact value depends on the source system and the language.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1Schema": { +"description": "Represents a schema, for example, a BigQuery, GoogleSQL, or Avro schema.", +"id": "GoogleCloudDatacatalogV1Schema", +"properties": { +"columns": { +"description": "The unified GoogleSQL-like schema of columns. The overall maximum number of columns and nested columns is 10,000. The maximum nested depth is 15 levels.", +"items": { +"$ref": "GoogleCloudDatacatalogV1ColumnSchema" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1ServiceSpec": { +"description": "Specification that applies to a Service resource. Valid only for entries with the `SERVICE` type.", +"id": "GoogleCloudDatacatalogV1ServiceSpec", +"properties": { +"cloudBigtableInstanceSpec": { +"$ref": "GoogleCloudDatacatalogV1CloudBigtableInstanceSpec", +"description": "Specification that applies to Instance entries of `CLOUD_BIGTABLE` system." +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1SqlDatabaseSystemSpec": { +"description": "Specification that applies to entries that are part `SQL_DATABASE` system (user_specified_type)", +"id": "GoogleCloudDatacatalogV1SqlDatabaseSystemSpec", +"properties": { +"databaseVersion": { +"description": "Version of the database engine.", +"type": "string" +}, +"instanceHost": { +"description": "Host of the SQL database enum InstanceHost { UNDEFINED = 0; SELF_HOSTED = 1; CLOUD_SQL = 2; AMAZON_RDS = 3; AZURE_SQL = 4; } Host of the enclousing database instance.", +"type": "string" +}, +"sqlEngine": { +"description": "SQL Database Engine. enum SqlEngine { UNDEFINED = 0; MY_SQL = 1; POSTGRE_SQL = 2; SQL_SERVER = 3; } Engine of the enclosing database instance.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1StorageProperties": { +"description": "Details the properties of the underlying storage.", +"id": "GoogleCloudDatacatalogV1StorageProperties", +"properties": { +"filePattern": { +"description": "Patterns to identify a set of files for this fileset. Examples of a valid `file_pattern`: * `gs://bucket_name/dir/*`: matches all files in the `bucket_name/dir` directory * `gs://bucket_name/dir/**`: matches all files in the `bucket_name/dir` and all subdirectories recursively * `gs://bucket_name/file*`: matches files prefixed by `file` in `bucket_name` * `gs://bucket_name/??.txt`: matches files with two characters followed by `.txt` in `bucket_name` * `gs://bucket_name/[aeiou].txt`: matches files that contain a single vowel character followed by `.txt` in `bucket_name` * `gs://bucket_name/[a-m].txt`: matches files that contain `a`, `b`, ... or `m` followed by `.txt` in `bucket_name` * `gs://bucket_name/a/*/b`: matches all files in `bucket_name` that match the `a/*/b` pattern, such as `a/c/b`, `a/d/b` * `gs://another_bucket/a.txt`: matches `gs://another_bucket/a.txt`", +"items": { +"type": "string" +}, +"type": "array" +}, +"fileType": { +"description": "File type in MIME format, for example, `text/plain`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1SystemTimestamps": { +"description": "Timestamps associated with this resource in a particular system.", +"id": "GoogleCloudDatacatalogV1SystemTimestamps", +"properties": { +"createTime": { +"description": "Creation timestamp of the resource within the given system.", +"format": "google-datetime", +"type": "string" +}, +"expireTime": { +"description": "Output only. Expiration timestamp of the resource within the given system. Currently only applicable to BigQuery resources.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Timestamp of the last modification of the resource or its metadata within a given system. Note: Depending on the source system, not every modification updates this timestamp. For example, BigQuery timestamps every metadata modification but not data or permission changes.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1TableSpec": { +"description": "Normal BigQuery table specification.", +"id": "GoogleCloudDatacatalogV1TableSpec", +"properties": { +"groupedEntry": { +"description": "Output only. If the table is date-sharded, that is, it matches the `[prefix]YYYYMMDD` name pattern, this field is the Data Catalog resource name of the date-sharded grouped entry. For example: `projects/{PROJECT_ID}/locations/{LOCATION}/entrygroups/{ENTRY_GROUP_ID}/entries/{ENTRY_ID}`. Otherwise, `grouped_entry` is empty.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1Tag": { +"description": "Tags contain custom metadata and are attached to Data Catalog resources. Tags conform with the specification of their tag template. See [Data Catalog IAM](https://cloud.google.com/data-catalog/docs/concepts/iam) for information on the permissions needed to create or view tags.", +"id": "GoogleCloudDatacatalogV1Tag", +"properties": { +"column": { +"description": "Resources like entry can have schemas associated with them. This scope allows you to attach tags to an individual column based on that schema. To attach a tag to a nested column, separate column names with a dot (`.`). Example: `column.nested_column`.", +"type": "string" +}, +"dataplexTransferStatus": { +"description": "Output only. Denotes the transfer status of the Tag Template.", +"enum": [ +"DATAPLEX_TRANSFER_STATUS_UNSPECIFIED", +"MIGRATED", +"TRANSFERRED" +], +"enumDeprecated": [ +false, +true, +false +], +"enumDescriptions": [ +"Default value. TagTemplate and its tags are only visible and editable in DataCatalog.", +"TagTemplate and its tags are auto-copied to Dataplex service. Visible in both services. Editable in DataCatalog, read-only in Dataplex. Deprecated: Individual TagTemplate migration is deprecated in favor of organization or project wide TagTemplate migration opt-in.", +"TagTemplate and its tags are auto-copied to Dataplex service. Visible in both services. Editable in Dataplex, read-only in DataCatalog." +], +"readOnly": true, +"type": "string" +}, +"fields": { +"additionalProperties": { +"$ref": "GoogleCloudDatacatalogV1TagField" +}, +"description": "Required. Maps the ID of a tag field to its value and additional information about that field. Tag template defines valid field IDs. A tag must have at least 1 field and at most 500 fields.", +"type": "object" +}, +"name": { +"description": "Identifier. The resource name of the tag in URL format where tag ID is a system-generated identifier. Note: The tag itself might not be stored in the location specified in its name.", +"type": "string" +}, +"template": { +"description": "Required. The resource name of the tag template this tag uses. Example: `projects/{PROJECT_ID}/locations/{LOCATION}/tagTemplates/{TAG_TEMPLATE_ID}` This field cannot be modified after creation.", +"type": "string" +}, +"templateDisplayName": { +"description": "Output only. The display name of the tag template.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1TagField": { +"description": "Contains the value and additional information on a field within a Tag.", +"id": "GoogleCloudDatacatalogV1TagField", +"properties": { +"boolValue": { +"description": "The value of a tag field with a boolean type.", +"type": "boolean" +}, +"displayName": { +"description": "Output only. The display name of this field.", +"readOnly": true, +"type": "string" +}, +"doubleValue": { +"description": "The value of a tag field with a double type.", +"format": "double", +"type": "number" +}, +"enumValue": { +"$ref": "GoogleCloudDatacatalogV1TagFieldEnumValue", +"description": "The value of a tag field with an enum type. This value must be one of the allowed values listed in this enum." +}, +"order": { +"description": "Output only. The order of this field with respect to other fields in this tag. Can be set by Tag. For example, a higher value can indicate a more important field. The value can be negative. Multiple fields can have the same order, and field orders within a tag don't have to be sequential.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"richtextValue": { +"description": "The value of a tag field with a rich text type. The maximum length is 10 MiB as this value holds HTML descriptions including encoded images. The maximum length of the text without images is 100 KiB.", +"type": "string" +}, +"stringValue": { +"description": "The value of a tag field with a string type. The maximum length is 2000 UTF-8 characters.", +"type": "string" +}, +"timestampValue": { +"description": "The value of a tag field with a timestamp type.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1TagFieldEnumValue": { +"description": "An enum value.", +"id": "GoogleCloudDatacatalogV1TagFieldEnumValue", +"properties": { +"displayName": { +"description": "The display name of the enum value.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1TaggedEntry": { +"description": "Wrapper containing Entry and information about Tags that should and should not be attached to it.", +"id": "GoogleCloudDatacatalogV1TaggedEntry", +"properties": { +"absentTags": { +"description": "Optional. Tags that should be deleted from the Data Catalog. Caller should populate template name and column only.", +"items": { +"$ref": "GoogleCloudDatacatalogV1Tag" +}, +"type": "array" +}, +"presentTags": { +"description": "Optional. Tags that should be ingested into the Data Catalog. Caller should populate template name, column and fields.", +"items": { +"$ref": "GoogleCloudDatacatalogV1Tag" +}, +"type": "array" +}, +"v1Entry": { +"$ref": "GoogleCloudDatacatalogV1Entry", +"description": "Non-encrypted Data Catalog v1 Entry." +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1UsageSignal": { +"description": "The set of all usage signals that Data Catalog stores. Note: Usually, these signals are updated daily. In rare cases, an update may fail but will be performed again on the next day.", +"id": "GoogleCloudDatacatalogV1UsageSignal", +"properties": { +"commonUsageWithinTimeRange": { +"additionalProperties": { +"$ref": "GoogleCloudDatacatalogV1CommonUsageStats" +}, +"description": "Common usage statistics over each of the predefined time ranges. Supported time ranges are `{\"24H\", \"7D\", \"30D\", \"Lifetime\"}`.", +"type": "object" +}, +"favoriteCount": { +"description": "Favorite count in the source system.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "The end timestamp of the duration of usage statistics.", +"format": "google-datetime", +"type": "string" +}, +"usageWithinTimeRange": { +"additionalProperties": { +"$ref": "GoogleCloudDatacatalogV1UsageStats" +}, +"description": "Output only. BigQuery usage statistics over each of the predefined time ranges. Supported time ranges are `{\"24H\", \"7D\", \"30D\"}`.", +"readOnly": true, +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1UsageStats": { +"description": "Detailed statistics on the entry's usage. Usage statistics have the following limitations: - Only BigQuery tables have them. - They only include BigQuery query jobs. - They might be underestimated because wildcard table references are not yet counted. For more information, see [Querying multiple tables using a wildcard table] (https://cloud.google.com/bigquery/docs/querying-wildcard-tables)", +"id": "GoogleCloudDatacatalogV1UsageStats", +"properties": { +"totalCancellations": { +"description": "The number of cancelled attempts to use the underlying entry.", +"format": "float", +"type": "number" +}, +"totalCompletions": { +"description": "The number of successful uses of the underlying entry.", +"format": "float", +"type": "number" +}, +"totalExecutionTimeForCompletionsMillis": { +"description": "Total time spent only on successful uses, in milliseconds.", +"format": "float", +"type": "number" +}, +"totalFailures": { +"description": "The number of failed attempts to use the underlying entry.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1VertexDatasetSpec": { +"description": "Specification for vertex dataset resources.", +"id": "GoogleCloudDatacatalogV1VertexDatasetSpec", +"properties": { +"dataItemCount": { +"description": "The number of DataItems in this Dataset. Only apply for non-structured Dataset.", +"format": "int64", +"type": "string" +}, +"dataType": { +"description": "Type of the dataset.", +"enum": [ +"DATA_TYPE_UNSPECIFIED", +"TABLE", +"IMAGE", +"TEXT", +"VIDEO", +"CONVERSATION", +"TIME_SERIES", +"DOCUMENT", +"TEXT_TO_SPEECH", +"TRANSLATION", +"STORE_VISION", +"ENTERPRISE_KNOWLEDGE_GRAPH", +"TEXT_PROMPT" +], +"enumDescriptions": [ +"Should not be used.", +"Structured data dataset.", +"Image dataset which supports ImageClassification, ImageObjectDetection and ImageSegmentation problems.", +"Document dataset which supports TextClassification, TextExtraction and TextSentiment problems.", +"Video dataset which supports VideoClassification, VideoObjectTracking and VideoActionRecognition problems.", +"Conversation dataset which supports conversation problems.", +"TimeSeries dataset.", +"Document dataset which supports DocumentAnnotation problems.", +"TextToSpeech dataset which supports TextToSpeech problems.", +"Translation dataset which supports Translation problems.", +"Store Vision dataset which is used for HITL integration.", +"Enterprise Knowledge Graph dataset which is used for HITL labeling integration.", +"Text prompt dataset which supports Large Language Models." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1VertexModelSourceInfo": { +"description": "Detail description of the source information of a Vertex model.", +"id": "GoogleCloudDatacatalogV1VertexModelSourceInfo", +"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" +}, +"GoogleCloudDatacatalogV1VertexModelSpec": { +"description": "Specification for vertex model resources.", +"id": "GoogleCloudDatacatalogV1VertexModelSpec", +"properties": { +"containerImageUri": { +"description": "URI of the Docker image to be used as the custom container for serving predictions.", +"type": "string" +}, +"versionAliases": { +"description": "User provided version aliases so that a model version can be referenced via alias", +"items": { +"type": "string" +}, +"type": "array" +}, +"versionDescription": { +"description": "The description of this version.", +"type": "string" +}, +"versionId": { +"description": "The version ID of the model.", +"type": "string" +}, +"vertexModelSourceInfo": { +"$ref": "GoogleCloudDatacatalogV1VertexModelSourceInfo", +"description": "Source of a Vertex model." +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1ViewSpec": { +"description": "Table view specification.", +"id": "GoogleCloudDatacatalogV1ViewSpec", +"properties": { +"viewQuery": { +"description": "Output only. The query that defines the table view.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpec": { +"description": "Spec for a group of BigQuery tables with name pattern `[prefix]YYYYMMDD`. Context: https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding", +"id": "GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpec", +"properties": { +"dataset": { +"description": "Output only. The Data Catalog resource name of the dataset entry the current table belongs to, for example, `projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}`.", +"readOnly": true, +"type": "string" +}, +"shardCount": { +"description": "Output only. Total number of shards.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"tablePrefix": { +"description": "Output only. The table name prefix of the shards. The name of any given shard is `[table_prefix]YYYYMMDD`, for example, for shard `MyTable20180101`, the `table_prefix` is `MyTable`.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1BigQueryTableSpec": { +"description": "Describes a BigQuery table.", +"id": "GoogleCloudDatacatalogV1beta1BigQueryTableSpec", +"properties": { +"tableSourceType": { +"description": "Output only. The table source type.", +"enum": [ +"TABLE_SOURCE_TYPE_UNSPECIFIED", +"BIGQUERY_VIEW", +"BIGQUERY_TABLE", +"BIGQUERY_MATERIALIZED_VIEW" +], +"enumDescriptions": [ +"Default unknown type.", +"Table view.", +"BigQuery native table.", +"BigQuery materialized view." +], +"readOnly": true, +"type": "string" +}, +"tableSpec": { +"$ref": "GoogleCloudDatacatalogV1beta1TableSpec", +"description": "Spec of a BigQuery table. This field should only be populated if `table_source_type` is `BIGQUERY_TABLE`." +}, +"viewSpec": { +"$ref": "GoogleCloudDatacatalogV1beta1ViewSpec", +"description": "Table view specification. This field should only be populated if `table_source_type` is `BIGQUERY_VIEW`." +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1ColumnSchema": { +"description": "Representation of a column within a schema. Columns could be nested inside other columns.", +"id": "GoogleCloudDatacatalogV1beta1ColumnSchema", +"properties": { +"column": { +"description": "Required. Name of the column.", +"type": "string" +}, +"description": { +"description": "Optional. Description of the column. Default value is an empty string.", +"type": "string" +}, +"mode": { +"description": "Optional. A column's mode indicates whether the values in this column are required, nullable, etc. Only `NULLABLE`, `REQUIRED` and `REPEATED` are supported. Default mode is `NULLABLE`.", +"type": "string" +}, +"subcolumns": { +"description": "Optional. Schema of sub-columns. A column can have zero or more sub-columns.", +"items": { +"$ref": "GoogleCloudDatacatalogV1beta1ColumnSchema" +}, +"type": "array" +}, +"type": { +"description": "Required. Type of the column.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1Entry": { +"description": "Entry Metadata. A Data Catalog Entry resource represents another resource in Google Cloud Platform (such as a BigQuery dataset or a Pub/Sub topic), or outside of Google Cloud Platform. Clients can use the `linked_resource` field in the Entry resource to refer to the original resource ID of the source system. An Entry resource contains resource details, such as its schema. An Entry can also be used to attach flexible metadata, such as a Tag.", +"id": "GoogleCloudDatacatalogV1beta1Entry", +"properties": { +"bigqueryDateShardedSpec": { +"$ref": "GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpec", +"description": "Specification for a group of BigQuery tables with name pattern `[prefix]YYYYMMDD`. Context: https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding." +}, +"bigqueryTableSpec": { +"$ref": "GoogleCloudDatacatalogV1beta1BigQueryTableSpec", +"description": "Specification that applies to a BigQuery table. This is only valid on entries of type `TABLE`." +}, +"description": { +"description": "Entry description, which can consist of several sentences or paragraphs that describe entry contents. Default value is an empty string.", +"type": "string" +}, +"displayName": { +"description": "Display information such as title and description. A short name to identify the entry, for example, \"Analytics Data - Jan 2011\". Default value is an empty string.", +"type": "string" +}, +"gcsFilesetSpec": { +"$ref": "GoogleCloudDatacatalogV1beta1GcsFilesetSpec", +"description": "Specification that applies to a Cloud Storage fileset. This is only valid on entries of type FILESET." +}, +"integratedSystem": { +"description": "Output only. This field indicates the entry's source system that Data Catalog integrates with, such as BigQuery or Pub/Sub.", +"enum": [ +"INTEGRATED_SYSTEM_UNSPECIFIED", +"BIGQUERY", +"CLOUD_PUBSUB" +], +"enumDescriptions": [ +"Default unknown system.", +"BigQuery.", +"Cloud Pub/Sub." +], +"readOnly": true, +"type": "string" +}, +"linkedResource": { +"description": "The resource this metadata entry refers to. For Google Cloud Platform resources, `linked_resource` is the [full name of the resource](https://cloud.google.com/apis/design/resource_names#full_resource_name). For example, the `linked_resource` for a table resource from BigQuery is: * //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId Output only when Entry is of type in the EntryType enum. For entries with user_specified_type, this field is optional and defaults to an empty string.", +"type": "string" +}, +"name": { +"description": "Output only. Identifier. The Data Catalog resource name of the entry in URL format. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} Note that this Entry and its child resources may not actually be stored in the location in this name.", +"readOnly": true, +"type": "string" +}, +"schema": { +"$ref": "GoogleCloudDatacatalogV1beta1Schema", +"description": "Schema of the entry. An entry might not have any schema attached to it." +}, +"sourceSystemTimestamps": { +"$ref": "GoogleCloudDatacatalogV1beta1SystemTimestamps", +"description": "Output only. Timestamps about the underlying resource, not about this Data Catalog entry. Output only when Entry is of type in the EntryType enum. For entries with user_specified_type, this field is optional and defaults to an empty timestamp.", +"readOnly": true +}, +"type": { +"description": "The type of the entry. Only used for Entries with types in the EntryType enum.", +"enum": [ +"ENTRY_TYPE_UNSPECIFIED", +"TABLE", +"MODEL", +"DATA_STREAM", +"FILESET" +], +"enumDescriptions": [ +"Default unknown type.", +"Output only. The type of entry that has a GoogleSQL schema, including logical views.", +"Output only. The type of models. https://cloud.google.com/bigquery-ml/docs/bigqueryml-intro", +"Output only. An entry type which is used for streaming entries. Example: Pub/Sub topic.", +"An entry type which is a set of files or objects. Example: Cloud Storage fileset." +], +"type": "string" +}, +"usageSignal": { +"$ref": "GoogleCloudDatacatalogV1beta1UsageSignal", +"description": "Output only. Statistics on the usage level of the resource.", +"readOnly": true +}, +"userSpecifiedSystem": { +"description": "This field indicates the entry's source system that Data Catalog does not integrate with. `user_specified_system` strings must begin with a letter or underscore and can only contain letters, numbers, and underscores; are case insensitive; must be at least 1 character and at most 64 characters long.", +"type": "string" +}, +"userSpecifiedType": { +"description": "Entry type if it does not fit any of the input-allowed values listed in `EntryType` enum above. When creating an entry, users should check the enum values first, if nothing matches the entry to be created, then provide a custom value, for example \"my_special_type\". `user_specified_type` strings must begin with a letter or underscore and can only contain letters, numbers, and underscores; are case insensitive; must be at least 1 character and at most 64 characters long. Currently, only FILESET enum value is allowed. All other entries created through Data Catalog must use `user_specified_type`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1EntryGroup": { +"description": "EntryGroup Metadata. An EntryGroup resource represents a logical grouping of zero or more Data Catalog Entry resources.", +"id": "GoogleCloudDatacatalogV1beta1EntryGroup", +"properties": { +"dataCatalogTimestamps": { +"$ref": "GoogleCloudDatacatalogV1beta1SystemTimestamps", +"description": "Output only. Timestamps about this EntryGroup. Default value is empty timestamps.", +"readOnly": true +}, +"description": { +"description": "Entry group description, which can consist of several sentences or paragraphs that describe entry group contents. Default value is an empty string.", +"type": "string" +}, +"displayName": { +"description": "A short name to identify the entry group, for example, \"analytics data - jan 2011\". Default value is an empty string.", +"type": "string" +}, +"name": { +"description": "Identifier. The resource name of the entry group in URL format. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} Note that this EntryGroup and its child resources may not actually be stored in the location in this name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse": { +"description": "Response message for ExportTaxonomies.", +"id": "GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse", +"properties": { +"taxonomies": { +"description": "List of taxonomies and policy tags in a tree structure.", +"items": { +"$ref": "GoogleCloudDatacatalogV1beta1SerializedTaxonomy" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1FieldType": { +"id": "GoogleCloudDatacatalogV1beta1FieldType", +"properties": { +"enumType": { +"$ref": "GoogleCloudDatacatalogV1beta1FieldTypeEnumType", +"description": "Represents an enum type." +}, +"primitiveType": { +"description": "Represents primitive types - string, bool etc.", +"enum": [ +"PRIMITIVE_TYPE_UNSPECIFIED", +"DOUBLE", +"STRING", +"BOOL", +"TIMESTAMP" +], +"enumDescriptions": [ +"This is the default invalid value for a type.", +"A double precision number.", +"An UTF-8 string.", +"A boolean value.", +"A timestamp." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1FieldTypeEnumType": { +"id": "GoogleCloudDatacatalogV1beta1FieldTypeEnumType", +"properties": { +"allowedValues": { +"items": { +"$ref": "GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue": { +"id": "GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue", +"properties": { +"displayName": { +"description": "Required. The display name of the enum value. Must not be an empty string.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1GcsFileSpec": { +"description": "Specifications of a single file in Cloud Storage.", +"id": "GoogleCloudDatacatalogV1beta1GcsFileSpec", +"properties": { +"filePath": { +"description": "Required. The full file path. Example: `gs://bucket_name/a/b.txt`.", +"type": "string" +}, +"gcsTimestamps": { +"$ref": "GoogleCloudDatacatalogV1beta1SystemTimestamps", +"description": "Output only. Timestamps about the Cloud Storage file.", +"readOnly": true +}, +"sizeBytes": { +"description": "Output only. The size of the file, in bytes.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1GcsFilesetSpec": { +"description": "Describes a Cloud Storage fileset entry.", +"id": "GoogleCloudDatacatalogV1beta1GcsFilesetSpec", +"properties": { +"filePatterns": { +"description": "Required. Patterns to identify a set of files in Google Cloud Storage. See [Cloud Storage documentation](https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames) for more information. Note that bucket wildcards are currently not supported. Examples of valid file_patterns: * `gs://bucket_name/dir/*`: matches all files within `bucket_name/dir` directory. * `gs://bucket_name/dir/**`: matches all files in `bucket_name/dir` spanning all subdirectories. * `gs://bucket_name/file*`: matches files prefixed by `file` in `bucket_name` * `gs://bucket_name/??.txt`: matches files with two characters followed by `.txt` in `bucket_name` * `gs://bucket_name/[aeiou].txt`: matches files that contain a single vowel character followed by `.txt` in `bucket_name` * `gs://bucket_name/[a-m].txt`: matches files that contain `a`, `b`, ... or `m` followed by `.txt` in `bucket_name` * `gs://bucket_name/a/*/b`: matches all files in `bucket_name` that match `a/*/b` pattern, such as `a/c/b`, `a/d/b` * `gs://another_bucket/a.txt`: matches `gs://another_bucket/a.txt` You can combine wildcards to provide more powerful matches, for example: * `gs://bucket_name/[a-m]??.j*g`", +"items": { +"type": "string" +}, +"type": "array" +}, +"sampleGcsFileSpecs": { +"description": "Output only. Sample files contained in this fileset, not all files contained in this fileset are represented here.", +"items": { +"$ref": "GoogleCloudDatacatalogV1beta1GcsFileSpec" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1ImportTaxonomiesRequest": { +"description": "Request message for ImportTaxonomies.", +"id": "GoogleCloudDatacatalogV1beta1ImportTaxonomiesRequest", +"properties": { +"inlineSource": { +"$ref": "GoogleCloudDatacatalogV1beta1InlineSource", +"description": "Inline source used for taxonomies to be imported." +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse": { +"description": "Response message for ImportTaxonomies.", +"id": "GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse", +"properties": { +"taxonomies": { +"description": "Taxonomies that were imported.", +"items": { +"$ref": "GoogleCloudDatacatalogV1beta1Taxonomy" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1InlineSource": { +"description": "Inline source used for taxonomies import.", +"id": "GoogleCloudDatacatalogV1beta1InlineSource", +"properties": { +"taxonomies": { +"description": "Required. Taxonomies to be imported.", +"items": { +"$ref": "GoogleCloudDatacatalogV1beta1SerializedTaxonomy" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1ListEntriesResponse": { +"description": "Response message for ListEntries.", +"id": "GoogleCloudDatacatalogV1beta1ListEntriesResponse", +"properties": { +"entries": { +"description": "Entry details.", +"items": { +"$ref": "GoogleCloudDatacatalogV1beta1Entry" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results. It is set to empty if no items remain in results.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse": { +"description": "Response message for ListEntryGroups.", +"id": "GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse", +"properties": { +"entryGroups": { +"description": "EntryGroup details.", +"items": { +"$ref": "GoogleCloudDatacatalogV1beta1EntryGroup" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results. It is set to empty if no items remain in results.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse": { +"description": "Response message for ListPolicyTags.", +"id": "GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse", +"properties": { +"nextPageToken": { +"description": "Token used to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"policyTags": { +"description": "The policy tags that are in the requested taxonomy.", +"items": { +"$ref": "GoogleCloudDatacatalogV1beta1PolicyTag" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1ListTagsResponse": { +"description": "Response message for ListTags.", +"id": "GoogleCloudDatacatalogV1beta1ListTagsResponse", +"properties": { +"nextPageToken": { +"description": "Token to retrieve the next page of results. It is set to empty if no items remain in results.", +"type": "string" +}, +"tags": { +"description": "Tag details.", +"items": { +"$ref": "GoogleCloudDatacatalogV1beta1Tag" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse": { +"description": "Response message for ListTaxonomies.", +"id": "GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse", +"properties": { +"nextPageToken": { +"description": "Token used to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"taxonomies": { +"description": "Taxonomies that the project contains.", +"items": { +"$ref": "GoogleCloudDatacatalogV1beta1Taxonomy" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1PolicyTag": { +"description": "Denotes one policy tag in a taxonomy (e.g. ssn). Policy Tags can be defined in a hierarchy. For example, consider the following hierarchy: Geolocation -> (LatLong, City, ZipCode). PolicyTag \"Geolocation\" contains three child policy tags: \"LatLong\", \"City\", and \"ZipCode\".", +"id": "GoogleCloudDatacatalogV1beta1PolicyTag", +"properties": { +"childPolicyTags": { +"description": "Output only. Resource names of child policy tags of this policy tag.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"description": { +"description": "Description of this policy tag. It must: contain only unicode characters, tabs, newlines, carriage returns and page breaks; and be at most 2000 bytes long when encoded in UTF-8. If not set, defaults to an empty description. If not set, defaults to an empty description.", +"type": "string" +}, +"displayName": { +"description": "Required. User defined name of this policy tag. It must: be unique within the parent taxonomy; contain only unicode letters, numbers, underscores, dashes and spaces; not start or end with spaces; and be at most 200 bytes long when encoded in UTF-8.", +"type": "string" +}, +"name": { +"description": "Identifier. Resource name of this policy tag, whose format is: \"projects/{project_number}/locations/{location_id}/taxonomies/{taxonomy_id}/policyTags/{id}\".", +"type": "string" +}, +"parentPolicyTag": { +"description": "Resource name of this policy tag's parent policy tag (e.g. for the \"LatLong\" policy tag in the example above, this field contains the resource name of the \"Geolocation\" policy tag). If empty, it means this policy tag is a top level policy tag (e.g. this field is empty for the \"Geolocation\" policy tag in the example above). If not set, defaults to an empty string.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest": { +"description": "Request message for RenameTagTemplateFieldEnumValue.", +"id": "GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest", +"properties": { +"newEnumValueDisplayName": { +"description": "Required. The new display name of the enum value. For example, `my_new_enum_value`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest": { +"description": "Request message for RenameTagTemplateField.", +"id": "GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest", +"properties": { +"newTagTemplateFieldId": { +"description": "Required. The new ID of this tag template field. For example, `my_new_field`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1Schema": { +"description": "Represents a schema (e.g. BigQuery, GoogleSQL, Avro schema).", +"id": "GoogleCloudDatacatalogV1beta1Schema", +"properties": { +"columns": { +"description": "Required. Schema of columns. A maximum of 10,000 columns and sub-columns can be specified.", +"items": { +"$ref": "GoogleCloudDatacatalogV1beta1ColumnSchema" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1SearchCatalogRequest": { +"description": "Request message for SearchCatalog.", +"id": "GoogleCloudDatacatalogV1beta1SearchCatalogRequest", +"properties": { +"orderBy": { +"description": "Specifies the ordering of results, currently supported case-sensitive choices are: * `relevance`, only supports descending * `last_modified_timestamp [asc|desc]`, defaults to descending if not specified * `default` that can only be descending If not specified, defaults to `relevance` descending.", +"type": "string" +}, +"pageSize": { +"description": "Number of results in the search page. If <=0 then defaults to 10. Max limit for page_size is 1000. Throws an invalid argument for page_size > 1000.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Pagination token returned in an earlier SearchCatalogResponse.next_page_token, which indicates that this is a continuation of a prior SearchCatalogRequest call, and that the system should return the next page of data. If empty, the first page is returned.", +"type": "string" +}, +"query": { +"description": "Optional. The query string in search query syntax. An empty query string will result in all data assets (in the specified scope) that the user has access to. Query strings can be simple as \"x\" or more qualified as: * name:x * column:x * description:y Note: Query tokens need to have a minimum of 3 characters for substring matching to work correctly. See [Data Catalog Search Syntax](https://cloud.google.com/data-catalog/docs/how-to/search-reference) for more information.", +"type": "string" +}, +"scope": { +"$ref": "GoogleCloudDatacatalogV1beta1SearchCatalogRequestScope", +"description": "Required. The scope of this search request. A `scope` that has empty `include_org_ids`, `include_project_ids` AND false `include_gcp_public_datasets` is considered invalid. Data Catalog will return an error in such a case." +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1SearchCatalogRequestScope": { +"description": "The criteria that select the subspace used for query matching.", +"id": "GoogleCloudDatacatalogV1beta1SearchCatalogRequestScope", +"properties": { +"includeGcpPublicDatasets": { +"description": "If `true`, include Google Cloud public datasets in the search results. Info on Google Cloud public datasets is available at https://cloud.google.com/public-datasets/. By default, Google Cloud public datasets are excluded.", +"type": "boolean" +}, +"includeOrgIds": { +"description": "The list of organization IDs to search within. To find your organization ID, follow instructions in https://cloud.google.com/resource-manager/docs/creating-managing-organization.", +"items": { +"type": "string" +}, +"type": "array" +}, +"includeProjectIds": { +"description": "The list of project IDs to search within. To learn more about the distinction between project names/IDs/numbers, go to https://cloud.google.com/docs/overview/#projects.", +"items": { +"type": "string" +}, +"type": "array" +}, +"restrictedLocations": { +"description": "Optional. The list of locations to search within. 1. If empty, search will be performed in all locations; 2. If any of the locations are NOT in the valid locations list, error will be returned; 3. Otherwise, search only the given locations for matching results. Typical usage is to leave this field empty. When a location is unreachable as returned in the `SearchCatalogResponse.unreachable` field, users can repeat the search request with this parameter set to get additional information on the error. Valid locations: * asia-east1 * asia-east2 * asia-northeast1 * asia-northeast2 * asia-northeast3 * asia-south1 * asia-southeast1 * australia-southeast1 * eu * europe-north1 * europe-west1 * europe-west2 * europe-west3 * europe-west4 * europe-west6 * global * northamerica-northeast1 * southamerica-east1 * us * us-central1 * us-east1 * us-east4 * us-west1 * us-west2", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1SearchCatalogResponse": { +"description": "Response message for SearchCatalog.", +"id": "GoogleCloudDatacatalogV1beta1SearchCatalogResponse", +"properties": { +"nextPageToken": { +"description": "The token that can be used to retrieve the next page of results.", +"type": "string" +}, +"results": { +"description": "Search results.", +"items": { +"$ref": "GoogleCloudDatacatalogV1beta1SearchCatalogResult" +}, +"type": "array" +}, +"totalSize": { +"description": "The approximate total number of entries matched by the query.", +"format": "int32", +"type": "integer" +}, +"unreachable": { +"description": "Unreachable locations. Search result does not include data from those locations. Users can get additional information on the error by repeating the search request with a more restrictive parameter -- setting the value for `SearchDataCatalogRequest.scope.restricted_locations`.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1SearchCatalogResult": { +"description": "A result that appears in the response of a search request. Each result captures details of one entry that matches the search.", +"id": "GoogleCloudDatacatalogV1beta1SearchCatalogResult", +"properties": { +"linkedResource": { +"description": "The full name of the cloud resource the entry belongs to. See: https://cloud.google.com/apis/design/resource_names#full_resource_name. Example: * `//bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId`", +"type": "string" +}, +"modifyTime": { +"description": "Last-modified timestamp of the entry from the managing system.", +"format": "google-datetime", +"type": "string" +}, +"relativeResourceName": { +"description": "The relative resource name of the resource in URL format. Examples: * `projects/{project_id}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}` * `projects/{project_id}/tagTemplates/{tag_template_id}`", +"type": "string" +}, +"searchResultSubtype": { +"description": "Sub-type of the search result. This is a dot-delimited description of the resource's full type, and is the same as the value callers would provide in the \"type\" search facet. Examples: `entry.table`, `entry.dataStream`, `tagTemplate`.", +"type": "string" +}, +"searchResultType": { +"description": "Type of the search result. This field can be used to determine which Get method to call to fetch the full resource.", +"enum": [ +"SEARCH_RESULT_TYPE_UNSPECIFIED", +"ENTRY", +"TAG_TEMPLATE", +"ENTRY_GROUP" +], +"enumDescriptions": [ +"Default unknown type.", +"An Entry.", +"A TagTemplate.", +"An EntryGroup." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1SerializedPolicyTag": { +"description": "Message representing one policy tag when exported as a nested proto.", +"id": "GoogleCloudDatacatalogV1beta1SerializedPolicyTag", +"properties": { +"childPolicyTags": { +"description": "Children of the policy tag if any.", +"items": { +"$ref": "GoogleCloudDatacatalogV1beta1SerializedPolicyTag" +}, +"type": "array" +}, +"description": { +"description": "Description of the serialized policy tag. The length of the description is limited to 2000 bytes when encoded in UTF-8. If not set, defaults to an empty description.", +"type": "string" +}, +"displayName": { +"description": "Required. Display name of the policy tag. Max 200 bytes when encoded in UTF-8.", +"type": "string" +}, +"policyTag": { +"description": "Resource name of the policy tag. This field will be ignored when calling ImportTaxonomies.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1SerializedTaxonomy": { +"description": "Message capturing a taxonomy and its policy tag hierarchy as a nested proto. Used for taxonomy import/export and mutation.", +"id": "GoogleCloudDatacatalogV1beta1SerializedTaxonomy", +"properties": { +"activatedPolicyTypes": { +"description": "A list of policy types that are activated for a taxonomy.", +"items": { +"enum": [ +"POLICY_TYPE_UNSPECIFIED", +"FINE_GRAINED_ACCESS_CONTROL" +], +"enumDescriptions": [ +"Unspecified policy type.", +"Fine grained access control policy, which enables access control on tagged resources." +], +"type": "string" +}, +"type": "array" +}, +"description": { +"description": "Description of the serialized taxonomy. The length of the description is limited to 2000 bytes when encoded in UTF-8. If not set, defaults to an empty description.", +"type": "string" +}, +"displayName": { +"description": "Required. Display name of the taxonomy. Max 200 bytes when encoded in UTF-8.", +"type": "string" +}, +"policyTags": { +"description": "Top level policy tags associated with the taxonomy if any.", +"items": { +"$ref": "GoogleCloudDatacatalogV1beta1SerializedPolicyTag" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1SystemTimestamps": { +"description": "Timestamps about this resource according to a particular system.", +"id": "GoogleCloudDatacatalogV1beta1SystemTimestamps", +"properties": { +"createTime": { +"description": "The creation time of the resource within the given system.", +"format": "google-datetime", +"type": "string" +}, +"expireTime": { +"description": "Output only. The expiration time of the resource within the given system. Currently only apllicable to BigQuery resources.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "The last-modified time of the resource within the given system.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1TableSpec": { +"description": "Normal BigQuery table spec.", +"id": "GoogleCloudDatacatalogV1beta1TableSpec", +"properties": { +"groupedEntry": { +"description": "Output only. If the table is a dated shard, i.e., with name pattern `[prefix]YYYYMMDD`, `grouped_entry` is the Data Catalog resource name of the date sharded grouped entry, for example, `projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}`. Otherwise, `grouped_entry` is empty.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1Tag": { +"description": "Tags are used to attach custom metadata to Data Catalog resources. Tags conform to the specifications within their tag template. See [Data Catalog IAM](https://cloud.google.com/data-catalog/docs/concepts/iam) for information on the permissions needed to create or view tags.", +"id": "GoogleCloudDatacatalogV1beta1Tag", +"properties": { +"column": { +"description": "Resources like Entry can have schemas associated with them. This scope allows users to attach tags to an individual column based on that schema. For attaching a tag to a nested column, use `.` to separate the column names. Example: * `outer_column.inner_column`", +"type": "string" +}, +"fields": { +"additionalProperties": { +"$ref": "GoogleCloudDatacatalogV1beta1TagField" +}, +"description": "Required. This maps the ID of a tag field to the value of and additional information about that field. Valid field IDs are defined by the tag's template. A tag must have at least 1 field and at most 500 fields.", +"type": "object" +}, +"name": { +"description": "Identifier. The resource name of the tag in URL format. Example: * projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id} where `tag_id` is a system-generated identifier. Note that this Tag may not actually be stored in the location in this name.", +"type": "string" +}, +"template": { +"description": "Required. The resource name of the tag template that this tag uses. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} This field cannot be modified after creation.", +"type": "string" +}, +"templateDisplayName": { +"description": "Output only. The display name of the tag template.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1TagField": { +"description": "Contains the value and supporting information for a field within a Tag.", +"id": "GoogleCloudDatacatalogV1beta1TagField", +"properties": { +"boolValue": { +"description": "Holds the value for a tag field with boolean type.", +"type": "boolean" +}, +"displayName": { +"description": "Output only. The display name of this field.", +"readOnly": true, +"type": "string" +}, +"doubleValue": { +"description": "Holds the value for a tag field with double type.", +"format": "double", +"type": "number" +}, +"enumValue": { +"$ref": "GoogleCloudDatacatalogV1beta1TagFieldEnumValue", +"description": "Holds the value for a tag field with enum type. This value must be one of the allowed values in the definition of this enum." +}, +"order": { +"description": "Output only. The order of this field with respect to other fields in this tag. It can be set in Tag. For example, a higher value can indicate a more important field. The value can be negative. Multiple fields can have the same order, and field orders within a tag do not have to be sequential.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"stringValue": { +"description": "Holds the value for a tag field with string type.", +"type": "string" +}, +"timestampValue": { +"description": "Holds the value for a tag field with timestamp type.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1TagFieldEnumValue": { +"description": "Holds an enum value.", +"id": "GoogleCloudDatacatalogV1beta1TagFieldEnumValue", +"properties": { +"displayName": { +"description": "The display name of the enum value.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1TagTemplate": { +"description": "A tag template defines a tag, which can have one or more typed fields. The template is used to create and attach the tag to Google Cloud resources. [Tag template roles](https://cloud.google.com/iam/docs/understanding-roles#data-catalog-roles) provide permissions to create, edit, and use the template. See, for example, the [TagTemplate User](https://cloud.google.com/data-catalog/docs/how-to/template-user) role, which includes permission to use the tag template to tag resources.", +"id": "GoogleCloudDatacatalogV1beta1TagTemplate", +"properties": { +"dataplexTransferStatus": { +"description": "Output only. Transfer status of the TagTemplate", +"enum": [ +"DATAPLEX_TRANSFER_STATUS_UNSPECIFIED", +"MIGRATED" +], +"enumDeprecated": [ +false, +true +], +"enumDescriptions": [ +"Default value. TagTemplate and its tags are only visible and editable in DataCatalog.", +"TagTemplate and its tags are auto-copied to Dataplex service. Visible in both services. Editable in DataCatalog, read-only in Dataplex. Deprecated: Individual TagTemplate migration is deprecated in favor of organization or project wide TagTemplate migration opt-in." +], +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "The display name for this template. Defaults to an empty string.", +"type": "string" +}, +"fields": { +"additionalProperties": { +"$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField" +}, +"description": "Required. Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. This map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. Field IDs can contain letters (both uppercase and lowercase), numbers (0-9) and underscores (_). Field IDs must be at least 1 character long and at most 64 characters long. Field IDs must start with a letter or underscore.", +"type": "object" +}, +"name": { +"description": "Identifier. The resource name of the tag template in URL format. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} Note that this TagTemplate and its child resources may not actually be stored in the location in this name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1TagTemplateField": { +"description": "The template for an individual field within a tag template.", +"id": "GoogleCloudDatacatalogV1beta1TagTemplateField", +"properties": { +"description": { +"description": "The description for this field. Defaults to an empty string.", +"type": "string" +}, +"displayName": { +"description": "The display name for this field. Defaults to an empty string.", +"type": "string" +}, +"isRequired": { +"description": "Whether this is a required field. Defaults to false.", +"type": "boolean" +}, +"name": { +"description": "Output only. Identifier. The resource name of the tag template field in URL format. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template}/fields/{field} Note that this TagTemplateField may not actually be stored in the location in this name.", +"readOnly": true, +"type": "string" +}, +"order": { +"description": "The order of this field with respect to other fields in this tag template. A higher value indicates a more important field. The value can be negative. Multiple fields can have the same order, and field orders within a tag do not have to be sequential.", +"format": "int32", +"type": "integer" +}, +"type": { +"$ref": "GoogleCloudDatacatalogV1beta1FieldType", +"description": "Required. The type of value this tag field can contain." +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1Taxonomy": { +"description": "A taxonomy is a collection of policy tags that classify data along a common axis. For instance a data *sensitivity* taxonomy could contain policy tags denoting PII such as age, zipcode, and SSN. A data *origin* taxonomy could contain policy tags to distinguish user data, employee data, partner data, public data.", +"id": "GoogleCloudDatacatalogV1beta1Taxonomy", +"properties": { +"activatedPolicyTypes": { +"description": "Optional. A list of policy types that are activated for this taxonomy. If not set, defaults to an empty list.", +"items": { +"enum": [ +"POLICY_TYPE_UNSPECIFIED", +"FINE_GRAINED_ACCESS_CONTROL" +], +"enumDescriptions": [ +"Unspecified policy type.", +"Fine grained access control policy, which enables access control on tagged resources." +], +"type": "string" +}, +"type": "array" +}, +"description": { +"description": "Optional. Description of this taxonomy. It must: contain only unicode characters, tabs, newlines, carriage returns and page breaks; and be at most 2000 bytes long when encoded in UTF-8. If not set, defaults to an empty description.", +"type": "string" +}, +"displayName": { +"description": "Required. User defined name of this taxonomy. It must: contain only unicode letters, numbers, underscores, dashes and spaces; not start or end with spaces; and be at most 200 bytes long when encoded in UTF-8. The taxonomy display name must be unique within an organization.", +"type": "string" +}, +"name": { +"description": "Identifier. Resource name of this taxonomy, whose format is: \"projects/{project_number}/locations/{location_id}/taxonomies/{id}\".", +"type": "string" +}, +"policyTagCount": { +"description": "Output only. Number of policy tags contained in this taxonomy.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"service": { +"$ref": "GoogleCloudDatacatalogV1beta1TaxonomyService", +"description": "Output only. Identity of the service which owns the Taxonomy. This field is only populated when the taxonomy is created by a Google Cloud service. Currently only 'DATAPLEX' is supported.", +"readOnly": true +}, +"taxonomyTimestamps": { +"$ref": "GoogleCloudDatacatalogV1beta1SystemTimestamps", +"description": "Output only. Timestamps about this taxonomy. Only create_time and update_time are used.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1TaxonomyService": { +"description": "The source system of the Taxonomy.", +"id": "GoogleCloudDatacatalogV1beta1TaxonomyService", +"properties": { +"identity": { +"description": "The service agent for the service.", +"type": "string" +}, +"name": { +"description": "The Google Cloud service name.", +"enum": [ +"MANAGING_SYSTEM_UNSPECIFIED", +"MANAGING_SYSTEM_DATAPLEX", +"MANAGING_SYSTEM_OTHER" +], +"enumDescriptions": [ +"Default value", +"Dataplex.", +"Other" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1UsageSignal": { +"description": "The set of all usage signals that we store in Data Catalog.", +"id": "GoogleCloudDatacatalogV1beta1UsageSignal", +"properties": { +"updateTime": { +"description": "The timestamp of the end of the usage statistics duration.", +"format": "google-datetime", +"type": "string" +}, +"usageWithinTimeRange": { +"additionalProperties": { +"$ref": "GoogleCloudDatacatalogV1beta1UsageStats" +}, +"description": "Usage statistics over each of the pre-defined time ranges, supported strings for time ranges are {\"24H\", \"7D\", \"30D\"}.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1UsageStats": { +"description": "Detailed counts on the entry's usage. Caveats: - Only BigQuery tables have usage stats - The usage stats only include BigQuery query jobs - The usage stats might be underestimated, e.g. wildcard table references are not yet counted in usage computation https://cloud.google.com/bigquery/docs/querying-wildcard-tables", +"id": "GoogleCloudDatacatalogV1beta1UsageStats", +"properties": { +"totalCancellations": { +"description": "The number of times that the underlying entry was attempted to be used but was cancelled by the user.", +"format": "float", +"type": "number" +}, +"totalCompletions": { +"description": "The number of times that the underlying entry was successfully used.", +"format": "float", +"type": "number" +}, +"totalExecutionTimeForCompletionsMillis": { +"description": "Total time spent (in milliseconds) during uses the resulted in completions.", +"format": "float", +"type": "number" +}, +"totalFailures": { +"description": "The number of times that the underlying entry was attempted to be used but failed.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogV1beta1ViewSpec": { +"description": "Table view specification.", +"id": "GoogleCloudDatacatalogV1beta1ViewSpec", +"properties": { +"viewQuery": { +"description": "Output only. The query that defines the table view.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Policy": { +"description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", +"id": "Policy", +"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" +}, +"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" +}, +"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": "Google Cloud Data Catalog 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/dataproc.v1beta2.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/dataproc.v1beta2.json new file mode 100644 index 0000000000000000000000000000000000000000..250de365467e0bc093f617663bed5c271d6dadbb --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/dataproc.v1beta2.json @@ -0,0 +1,4797 @@ +{ + "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/", + "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:v1beta2", + "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": "v1beta2/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 has the following format: projects/{project_id}/regions/{region} For projects.locations.autoscalingPolicies.create, the resource name has the following format: projects/{project_id}/locations/{location}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+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": "v1beta2/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": "v1beta2/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Retrieves autoscaling policy.", + "flatPath": "v1beta2/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": "v1beta2/{+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": "v1beta2/projects/{projectsId}/locations/{locationsId}/autoscalingPolicies/{autoscalingPoliciesId}:getIamPolicy", + "httpMethod": "GET", + "id": "dataproc.projects.locations.autoscalingPolicies.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The policy format version to be returned.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value 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", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/autoscalingPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists autoscaling policies in the project.", + "flatPath": "v1beta2/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": "v1beta2/{+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": "v1beta2/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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/autoscalingPolicies/[^/]+$", + "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 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": "v1beta2/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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/autoscalingPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+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": "v1beta2/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": "v1beta2/{+name}", + "request": { + "$ref": "AutoscalingPolicy" + }, + "response": { + "$ref": "AutoscalingPolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "workflowTemplates": { + "methods": { + "create": { + "description": "Creates new workflow template.", + "flatPath": "v1beta2/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": "v1beta2/{+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": "v1beta2/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": "v1beta2/{+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": "v1beta2/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": "v1beta2/{+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": "v1beta2/projects/{projectsId}/locations/{locationsId}/workflowTemplates/{workflowTemplatesId}:getIamPolicy", + "httpMethod": "GET", + "id": "dataproc.projects.locations.workflowTemplates.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The policy format version to be returned.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value 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", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/workflowTemplates/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+resource}:getIamPolicy", + "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.v1beta2#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": "v1beta2/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": "v1beta2/{+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": "v1beta2/projects/{projectsId}/locations/{locationsId}/workflowTemplates:instantiateInline", + "httpMethod": "POST", + "id": "dataproc.projects.locations.workflowTemplates.instantiateInline", + "parameterOrder": [ + "parent" + ], + "parameters": { + "instanceId": { + "description": "Deprecated. Please use request_id field instead.", + "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,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": "v1beta2/{+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": "v1beta2/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": "v1beta2/{+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": "v1beta2/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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/workflowTemplates/[^/]+$", + "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 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": "v1beta2/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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/workflowTemplates/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+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": "v1beta2/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": "v1beta2/{+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": "v1beta2/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 has the following format: projects/{project_id}/regions/{region} For projects.locations.autoscalingPolicies.create, the resource name has the following format: projects/{project_id}/locations/{location}", + "location": "path", + "pattern": "^projects/[^/]+/regions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+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": "v1beta2/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": "v1beta2/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Retrieves autoscaling policy.", + "flatPath": "v1beta2/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": "v1beta2/{+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": "v1beta2/projects/{projectsId}/regions/{regionsId}/autoscalingPolicies/{autoscalingPoliciesId}:getIamPolicy", + "httpMethod": "GET", + "id": "dataproc.projects.regions.autoscalingPolicies.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The policy format version to be returned.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value 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", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/regions/[^/]+/autoscalingPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists autoscaling policies in the project.", + "flatPath": "v1beta2/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": "v1beta2/{+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": "v1beta2/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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/regions/[^/]+/autoscalingPolicies/[^/]+$", + "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 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": "v1beta2/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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/regions/[^/]+/autoscalingPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+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": "v1beta2/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": "v1beta2/{+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.v1beta2#clusteroperationmetadata).", + "flatPath": "v1beta2/projects/{projectId}/regions/{region}/clusters", + "httpMethod": "POST", + "id": "dataproc.projects.regions.clusters.create", + "parameterOrder": [ + "projectId", + "region" + ], + "parameters": { + "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.v1beta2#google.cloud.dataproc.v1beta2.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": "v1beta2/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.v1beta2#clusteroperationmetadata).", + "flatPath": "v1beta2/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" + }, + "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.v1beta2#google.cloud.dataproc.v1beta2.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": "v1beta2/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.v1beta2#clusteroperationmetadata). After the operation completes, Operation.response contains Empty.", + "flatPath": "v1beta2/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": "v1beta2/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": "v1beta2/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": "v1beta2/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": "v1beta2/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}:getIamPolicy", + "httpMethod": "GET", + "id": "dataproc.projects.regions.clusters.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The policy format version to be returned.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value 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", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/regions/[^/]+/clusters/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+resource}:getIamPolicy", + "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": "v1beta2/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": "v1beta2/{+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": "v1beta2/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, or UPDATING. ACTIVE contains the CREATING, UPDATING, and RUNNING states. INACTIVE contains the DELETING and ERROR 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": "v1beta2/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.v1beta2#clusteroperationmetadata). The cluster must be in a RUNNING state or an error is returned.", + "flatPath": "v1beta2/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 decomissioning. 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.v1beta2#google.cloud.dataproc.v1beta2.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 Updates labels config.worker_config.num_instances Resize primary worker group config.secondary_worker_config.num_instances Resize secondary worker group config.lifecycle_config.auto_delete_ttl Reset MAX TTL duration config.lifecycle_config.auto_delete_time Update MAX TTL deletion timestamp config.lifecycle_config.idle_delete_ttl Update Idle TTL duration config.autoscaling_config.policy_uri Use, stop using, or change autoscaling policies ", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta2/projects/{projectId}/regions/{region}/clusters/{clusterName}", + "request": { + "$ref": "Cluster" + }, + "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": "v1beta2/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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/regions/[^/]+/clusters/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+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": "v1beta2/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": "v1beta2/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": "v1beta2/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": "v1beta2/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": "v1beta2/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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/regions/[^/]+/clusters/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "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/v1beta2/projects.regions.jobs/list) or regions/{region}/jobs.get (https://cloud.google.com/dataproc/docs/reference/rest/v1beta2/projects.regions.jobs/get).", + "flatPath": "v1beta2/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": "v1beta2/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": "v1beta2/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": "v1beta2/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": "v1beta2/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": "v1beta2/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": "v1beta2/projects/{projectsId}/regions/{regionsId}/jobs/{jobsId}:getIamPolicy", + "httpMethod": "GET", + "id": "dataproc.projects.regions.jobs.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The policy format version to be returned.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value 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", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/regions/[^/]+/jobs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists regions/{region}/jobs in a project.", + "flatPath": "v1beta2/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": "v1beta2/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": "v1beta2/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": "v1beta2/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": "v1beta2/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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/regions/[^/]+/jobs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+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": "v1beta2/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": "v1beta2/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": "v1beta2/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": "v1beta2/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": "v1beta2/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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/regions/[^/]+/jobs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+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": "v1beta2/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": "v1beta2/{+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": "v1beta2/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": "v1beta2/{+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": "v1beta2/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": "v1beta2/{+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": "v1beta2/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}:getIamPolicy", + "httpMethod": "GET", + "id": "dataproc.projects.regions.operations.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The policy format version to be returned.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value 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", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/regions/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+resource}:getIamPolicy", + "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.NOTE: the name binding allows API services to override the binding to use different resource name schemes, such as users/*/operations. To override the binding, API services can add a binding such as \"/v1/{name=users/*}/operations\" to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.", + "flatPath": "v1beta2/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": "v1beta2/{+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": "v1beta2/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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/regions/[^/]+/operations/[^/]+$", + "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 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": "v1beta2/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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/regions/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+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": "v1beta2/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": "v1beta2/{+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": "v1beta2/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": "v1beta2/{+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": "v1beta2/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": "v1beta2/{+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": "v1beta2/projects/{projectsId}/regions/{regionsId}/workflowTemplates/{workflowTemplatesId}:getIamPolicy", + "httpMethod": "GET", + "id": "dataproc.projects.regions.workflowTemplates.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The policy format version to be returned.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value 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", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/regions/[^/]+/workflowTemplates/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+resource}:getIamPolicy", + "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.v1beta2#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": "v1beta2/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": "v1beta2/{+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": "v1beta2/projects/{projectsId}/regions/{regionsId}/workflowTemplates:instantiateInline", + "httpMethod": "POST", + "id": "dataproc.projects.regions.workflowTemplates.instantiateInline", + "parameterOrder": [ + "parent" + ], + "parameters": { + "instanceId": { + "description": "Deprecated. Please use request_id field instead.", + "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,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": "v1beta2/{+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": "v1beta2/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": "v1beta2/{+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": "v1beta2/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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/regions/[^/]+/workflowTemplates/[^/]+$", + "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 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": "v1beta2/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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/regions/[^/]+/workflowTemplates/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+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": "v1beta2/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": "v1beta2/{+name}", + "request": { + "$ref": "WorkflowTemplate" + }, + "response": { + "$ref": "WorkflowTemplate" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20210825", + "rootUrl": "https://dataproc.googleapis.com/", + "schemas": { + "AcceleratorConfig": { + "description": "Specifies the type and number of accelerator cards attached to the instances of an instance group (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/beta/acceleratorTypes)Examples * https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80 * projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80 * nvidia-tesla-k80Auto 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-k80.", + "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" + }, + "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" + }, + "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" + }, + "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 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 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" + }, + "Binding": { + "description": "Associates members 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 members 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 identities requesting access for a Cloud Platform 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. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. group:{emailid}: An email address that represents a Google group. For example, admins@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. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com.", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to members. For example, roles/viewer, roles/editor, or roles/owner.", + "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 cluster of Compute Engine instances.", + "id": "Cluster", + "properties": { + "clusterName": { + "description": "Required. The cluster name. Cluster names within a project must be unique. Names of deleted clusters 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": "Required. The cluster config. Note that Dataproc may set default values, and values may change when clusters are updated." + }, + "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" + } + }, + "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." + }, + "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 bucket (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.", + "type": "string" + }, + "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", + "description": "Optional. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered 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/v1beta2/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. The config setting for auto delete cluster schedule." + }, + "masterConfig": { + "$ref": "InstanceGroupConfig", + "description": "Optional. The Compute Engine config settings for the master instance in a cluster." + }, + "metastoreConfig": { + "$ref": "MetastoreConfig", + "description": "Optional. Metastore configuration." + }, + "secondaryWorkerConfig": { + "$ref": "InstanceGroupConfig", + "description": "Optional. The Compute Engine config settings for additional worker instances in a cluster." + }, + "securityConfig": { + "$ref": "SecurityConfig", + "description": "Optional. Security related configuration." + }, + "softwareConfig": { + "$ref": "SoftwareConfig", + "description": "Optional. The config settings for software inside the cluster." + }, + "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. This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.", + "type": "string" + }, + "workerConfig": { + "$ref": "InstanceGroupConfig", + "description": "Optional. The Compute Engine config settings for worker instances in a cluster." + } + }, + "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": "The 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": { + "clusterName": { + "description": "Output only. Name of the cluster for the operation.", + "type": "string" + }, + "clusterUuid": { + "description": "Output only. Cluster UUID for the operation.", + "type": "string" + }, + "description": { + "description": "Output only. Short description of operation.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Output only. Labels associated with the operation", + "type": "object" + }, + "operationType": { + "description": "Output only. The operation type.", + "type": "string" + }, + "status": { + "$ref": "ClusterOperationStatus", + "description": "Output only. Current operation status." + }, + "statusHistory": { + "description": "Output only. The previous operation status.", + "items": { + "$ref": "ClusterOperationStatus" + }, + "type": "array" + }, + "warnings": { + "description": "Output only. Errors encountered during operation execution.", + "items": { + "type": "string" + }, + "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.", + "type": "string" + }, + "innerState": { + "description": "Output only. A message containing the detailed operation state.", + "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." + ], + "type": "string" + }, + "stateStartTime": { + "description": "Output only. The time this state was entered.", + "format": "google-datetime", + "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": "Output only. Optional 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" + ], + "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.", + "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." + ], + "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" + }, + "DiagnoseClusterRequest": { + "description": "A request to collect cluster diagnostic information.", + "id": "DiagnoseClusterRequest", + "properties": {}, + "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": { + "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" + }, + "numLocalSsds": { + "description": "Number of attached SSDs, from 0 to 4 (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.", + "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); } The JSON representation for Empty is empty JSON object {}.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "EncryptionConfig": { + "description": "Encryption settings for the cluster.", + "id": "EncryptionConfig", + "properties": { + "gcePdKmsKeyName": { + "description": "Optional. The Cloud KMS key name to use for PD disk encryption for all instances in the cluster.", + "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" + }, + "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" + }, + "GceClusterConfig": { + "description": "Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster.", + "id": "GceClusterConfig", + "properties": { + "internalIpOnly": { + "description": "Optional. If true, all instances in the cluster will only have internal IP addresses. By default, clusters are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each instance. This internal_ip_only restriction can only be enabled for subnetwork enabled networks, and all off-cluster dependencies must be configured to be accessible without external IP addresses.", + "type": "boolean" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "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]/regions/global/default projects/[project_id]/regions/global/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/us-east1/subnetworks/sub0 projects/[project_id]/regions/us-east1/subnetworks/sub0 sub0", + "type": "string" + }, + "tags": { + "description": "The Compute Engine tags to add to all instances (see Tagging instances (https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).", + "items": { + "type": "string" + }, + "type": "array" + }, + "zoneUri": { + "description": "Optional. The zone where the Compute Engine cluster will be located. On a create request, it is required in the \"global\" region. If omitted in a non-global Dataproc region, the service will pick a zone in the corresponding 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] us-central1-f", + "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 policy format version to be returned.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value 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" + }, + "GkeClusterConfig": { + "description": "The GKE config for this cluster.", + "id": "GkeClusterConfig", + "properties": { + "namespacedGkeDeploymentTarget": { + "$ref": "NamespacedGkeDeploymentTarget", + "description": "Optional. A target for the deployment." + } + }, + "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 may 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 may 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 may 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" + }, + "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" + }, + "InstanceGroupAutoscalingPolicyConfig": { + "description": "Configuration for the size bounds of an instance group, including its proportional size to other groups.", + "id": "InstanceGroupAutoscalingPolicyConfig", + "properties": { + "maxInstances": { + "description": "Optional. 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, ). Required. 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/beta/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/beta/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" + }, + "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/us-east1-a/machineTypes/n1-standard-2 projects/[project_id]/zones/us-east1-a/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": "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" + }, + "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" + ], + "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.This option is allowed only for secondary worker groups." + ], + "type": "string" + } + }, + "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" + }, + "publicKey": { + "description": "The public key used for sharing data with this instance.", + "type": "string" + } + }, + "type": "object" + }, + "InstantiateWorkflowTemplateRequest": { + "description": "A request to instantiate a workflow template.", + "id": "InstantiateWorkflowTemplateRequest", + "properties": { + "instanceId": { + "description": "Deprecated. Please use request_id field instead.", + "type": "string" + }, + "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" + }, + "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 may be used as part of job setup and handling. If not present, control files may 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" + }, + "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 may 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 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 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 may 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" + }, + "submittedBy": { + "description": "Output only. The email address of the user submitting the job. For jobs submitted on the cluster, the address is username@hostname.", + "readOnly": true, + "type": "string" + }, + "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 may be changed before final release.", + "items": { + "$ref": "YarnApplication" + }, + "readOnly": true, + "type": "array" + } + }, + "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 may be restarted as a result of driver terminating with non-zero code before job is reported failed.A job may be reported as thrashing if driver exits with non-zero code 4 times within 10 minute window.Maximum value is 10.", + "format": "int32", + "type": "integer" + }, + "maxFailuresTotal": { + "description": "Optional. Maximum number of times in total a driver may be restarted as a result of driver exiting with non-zero code before job is reported failed. Maximum value is 240.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "JobStatus": { + "description": "Dataproc job status.", + "id": "JobStatus", + "properties": { + "details": { + "description": "Output only. Optional 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 may 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 may 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" + }, + "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 various 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" + }, + "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" + }, + "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" + } + }, + "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" + }, + "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" + } + }, + "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 may 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" + }, + "instanceTemplateName": { + "description": "Output only. The name of the Instance Template used for the Managed Instance Group.", + "readOnly": true, + "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" + }, + "NamespacedGkeDeploymentTarget": { + "description": "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" + }, + "NodeGroupAffinity": { + "description": "Node Group Affinity for clusters using sole-tenant node groups.", + "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/us-central1-a/nodeGroups/node-group-1 projects/[project_id]/zones/us-central1-a/nodeGroups/node-group-1 node-group-1", + "type": "string" + } + }, + "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" + }, + "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" + }, + "OrderedJob": { + "description": "A job executed by the workflow.", + "id": "OrderedJob", + "properties": { + "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" + } + }, + "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" + }, + "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 may 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 to a single role. Members 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 to 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 member.", + "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" + }, + "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" + }, + "PySparkJob": { + "description": "A Dataproc job for running Apache PySpark (https://spark.apache.org/docs/0.9.0/python-programming-guide.html) 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 may 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" + }, + "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" + }, + "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" + }, + "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" + }, + "SecurityConfig": { + "description": "Security related configuration, including encryption, Kerberos, etc.", + "id": "SecurityConfig", + "properties": { + "kerberosConfig": { + "$ref": "KerberosConfig", + "description": "Optional. Kerberos related configuration." + } + }, + "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 Cloud Platform 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" + }, + "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_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": "The set of optional components to activate on the cluster.", + "items": { + "enum": [ + "COMPONENT_UNSPECIFIED", + "ANACONDA", + "DOCKER", + "DRUID", + "FLINK", + "HBASE", + "HIVE_WEBHCAT", + "JUPYTER", + "KERBEROS", + "PRESTO", + "RANGER", + "SOLR", + "ZEPPELIN", + "ZOOKEEPER" + ], + "enumDescriptions": [ + "Unspecified component. Specifying this will cause Cluster creation to fail.", + "The Anaconda python distribution. The Anaconda component is not supported in the Dataproc 2.0 image. The 2.0 image is pre-installed with Miniconda.", + "Docker", + "The Druid query engine.", + "Flink", + "HBase.", + "The Hive Web HCatalog (the REST service for accessing HCatalog).", + "The Jupyter Notebook.", + "The Kerberos security feature.", + "The Presto 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" + }, + "SparkJob": { + "description": "A Dataproc job for running Apache Spark (http://spark.apache.org/) applications on YARN. The specification of the main method to call to drive the job. Specify either the jar file that contains the main class or the main class name. To pass both a main jar and a main class in that jar, add the jar to CommonJob.jar_file_uris, and then specify the main class name in main_class.", + "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 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 may be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code.", + "type": "object" + } + }, + "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 may be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code.", + "type": "object" + } + }, + "type": "object" + }, + "SparkSqlJob": { + "description": "A Dataproc job for running Apache Spark SQL (http://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 may 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" + }, + "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.v1beta2#google.cloud.dataproc.v1beta2.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" + }, + "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.v1beta2#google.cloud.dataproc.v1beta2.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" + }, + "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.v1beta2#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" + }, + "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" + }, + "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" + }, + "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" + }, + "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, which is only set for workflows with dag_timeout when the DAG ends.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dagStartTime": { + "description": "Output only. DAG start time, which is only set for workflows with dag_timeout when the 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_STATUS_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" + }, + "id": { + "description": "Required. The template 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" + }, + "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": "Optional. A cluster that is managed by the workflow." + } + }, + "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": "Output only. The application name.", + "readOnly": true, + "type": "string" + }, + "progress": { + "description": "Output only. The numerical progress of the application, from 1 to 100.", + "format": "float", + "readOnly": true, + "type": "number" + }, + "state": { + "description": "Output only. 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." + ], + "readOnly": true, + "type": "string" + }, + "trackingUrl": { + "description": "Output only. 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.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Cloud Dataproc 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/datastream.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/datastream.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..4db984f640bbba6c6303e73aee54601daeb44bcb --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/datastream.v1.json @@ -0,0 +1,3561 @@ +{ +"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://datastream.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Datastream", +"description": "", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/datastream/", +"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": "datastream:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://datastream.mtls.googleapis.com/", +"name": "datastream", +"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": { +"fetchStaticIps": { +"description": "The FetchStaticIps API call exposes the static IP addresses used by Datastream.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}:fetchStaticIps", +"httpMethod": "GET", +"id": "datastream.projects.locations.fetchStaticIps", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name for the location for which static IPs should be returned. Must be in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Maximum number of Ips to return, will likely not be specified.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListStaticIps` call. will likely not be specified.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:fetchStaticIps", +"response": { +"$ref": "FetchStaticIpsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets information about a location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "datastream.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": "datastream.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": { +"connectionProfiles": { +"methods": { +"create": { +"description": "Use this method to create a connection profile in a project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connectionProfiles", +"httpMethod": "POST", +"id": "datastream.projects.locations.connectionProfiles.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"connectionProfileId": { +"description": "Required. The connection profile identifier.", +"location": "query", +"type": "string" +}, +"force": { +"description": "Optional. Create the connection profile without validating it.", +"location": "query", +"type": "boolean" +}, +"parent": { +"description": "Required. The parent that owns the collection of ConnectionProfiles.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A 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. Only validate the connection profile, but don't create any resources. The default is false.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/connectionProfiles", +"request": { +"$ref": "ConnectionProfile" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Use this method to delete a connection profile.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connectionProfiles/{connectionProfilesId}", +"httpMethod": "DELETE", +"id": "datastream.projects.locations.connectionProfiles.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the connection profile resource to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/connectionProfiles/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A 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" +] +}, +"discover": { +"description": "Use this method to discover a connection profile. The discover API call exposes the data objects and metadata belonging to the profile. Typically, a request returns children data objects of a parent data object that's optionally supplied in the request.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connectionProfiles:discover", +"httpMethod": "POST", +"id": "datastream.projects.locations.connectionProfiles.discover", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource of the connection profile type. Must be in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/connectionProfiles:discover", +"request": { +"$ref": "DiscoverConnectionProfileRequest" +}, +"response": { +"$ref": "DiscoverConnectionProfileResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Use this method to get details about a connection profile.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connectionProfiles/{connectionProfilesId}", +"httpMethod": "GET", +"id": "datastream.projects.locations.connectionProfiles.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the connection profile resource to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/connectionProfiles/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ConnectionProfile" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Use this method to list connection profiles created in a project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connectionProfiles", +"httpMethod": "GET", +"id": "datastream.projects.locations.connectionProfiles.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter request.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Order by fields for the result.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of connection profiles to return. If unspecified, at most 50 connection profiles will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Page token received from a previous `ListConnectionProfiles` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListConnectionProfiles` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent that owns the collection of connection profiles.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/connectionProfiles", +"response": { +"$ref": "ListConnectionProfilesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Use this method to update the parameters of a connection profile.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connectionProfiles/{connectionProfilesId}", +"httpMethod": "PATCH", +"id": "datastream.projects.locations.connectionProfiles.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "Optional. Update the connection profile without validating it.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Output only. Identifier. The resource's name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/connectionProfiles/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A 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": "Optional. Field mask is used to specify the fields to be overwritten in the ConnectionProfile 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. Only validate the connection profile, but don't update any resources. The default is false.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "ConnectionProfile" +}, +"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": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "datastream.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": "datastream.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": "datastream.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": "datastream.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" +] +} +} +}, +"privateConnections": { +"methods": { +"create": { +"description": "Use this method to create a private connectivity configuration.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/privateConnections", +"httpMethod": "POST", +"id": "datastream.projects.locations.privateConnections.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"force": { +"description": "Optional. If set to true, will skip validations.", +"location": "query", +"type": "boolean" +}, +"parent": { +"description": "Required. The parent that owns the collection of PrivateConnections.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"privateConnectionId": { +"description": "Required. The private connectivity identifier.", +"location": "query", +"type": "string" +}, +"requestId": { +"description": "Optional. A 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}/privateConnections", +"request": { +"$ref": "PrivateConnection" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Use this method to delete a private connectivity configuration.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/privateConnections/{privateConnectionsId}", +"httpMethod": "DELETE", +"id": "datastream.projects.locations.privateConnections.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "Optional. If set to true, any child routes that belong to this PrivateConnection will also be deleted.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the private connectivity configuration to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/privateConnections/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A 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": "Use this method to get details about a private connectivity configuration.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/privateConnections/{privateConnectionsId}", +"httpMethod": "GET", +"id": "datastream.projects.locations.privateConnections.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the private connectivity configuration to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/privateConnections/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "PrivateConnection" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Use this method to list private connectivity configurations in a project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/privateConnections", +"httpMethod": "GET", +"id": "datastream.projects.locations.privateConnections.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter request.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Order by fields for the result.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of private connectivity configurations to return. If unspecified, at most 50 private connectivity configurations that will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Page token received from a previous `ListPrivateConnections` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPrivateConnections` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent that owns the collection of private connectivity configurations.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/privateConnections", +"response": { +"$ref": "ListPrivateConnectionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"routes": { +"methods": { +"create": { +"description": "Use this method to create a route for a private connectivity configuration in a project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/privateConnections/{privateConnectionsId}/routes", +"httpMethod": "POST", +"id": "datastream.projects.locations.privateConnections.routes.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent that owns the collection of Routes.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/privateConnections/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A 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" +}, +"routeId": { +"description": "Required. The Route identifier.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/routes", +"request": { +"$ref": "Route" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Use this method to delete a route.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/privateConnections/{privateConnectionsId}/routes/{routesId}", +"httpMethod": "DELETE", +"id": "datastream.projects.locations.privateConnections.routes.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Route resource to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/privateConnections/[^/]+/routes/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A 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": "Use this method to get details about a route.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/privateConnections/{privateConnectionsId}/routes/{routesId}", +"httpMethod": "GET", +"id": "datastream.projects.locations.privateConnections.routes.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Route resource to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/privateConnections/[^/]+/routes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Route" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Use this method to list routes created for a private connectivity configuration in a project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/privateConnections/{privateConnectionsId}/routes", +"httpMethod": "GET", +"id": "datastream.projects.locations.privateConnections.routes.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter request.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Order by fields for the result.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of Routes to return. The service may return fewer than this value. If unspecified, at most 50 Routes will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Page token received from a previous `ListRoutes` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListRoutes` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent that owns the collection of Routess.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/privateConnections/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/routes", +"response": { +"$ref": "ListRoutesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"streams": { +"methods": { +"create": { +"description": "Use this method to create a stream.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/streams", +"httpMethod": "POST", +"id": "datastream.projects.locations.streams.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"force": { +"description": "Optional. Create the stream without validating it.", +"location": "query", +"type": "boolean" +}, +"parent": { +"description": "Required. The parent that owns the collection of streams.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A 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" +}, +"streamId": { +"description": "Required. The stream identifier.", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. Only validate the stream, but don't create any resources. The default is false.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/streams", +"request": { +"$ref": "Stream" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Use this method to delete a stream.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/streams/{streamsId}", +"httpMethod": "DELETE", +"id": "datastream.projects.locations.streams.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the stream resource to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/streams/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A 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": "Use this method to get details about a stream.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/streams/{streamsId}", +"httpMethod": "GET", +"id": "datastream.projects.locations.streams.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the stream resource to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/streams/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Stream" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Use this method to list streams in a project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/streams", +"httpMethod": "GET", +"id": "datastream.projects.locations.streams.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter request.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Order by fields for the result.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of streams to return. If unspecified, at most 50 streams will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Page token received from a previous `ListStreams` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListStreams` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent that owns the collection of streams.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/streams", +"response": { +"$ref": "ListStreamsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Use this method to update the configuration of a stream.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/streams/{streamsId}", +"httpMethod": "PATCH", +"id": "datastream.projects.locations.streams.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "Optional. Update the stream without validating it.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Output only. Identifier. The stream's name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/streams/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A 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": "Optional. Field mask is used to specify the fields to be overwritten in the stream 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. Only validate the stream with the changes, without actually updating it. The default is false.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Stream" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"run": { +"description": "Use this method to start, resume or recover a stream with a non default CDC strategy.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/streams/{streamsId}:run", +"httpMethod": "POST", +"id": "datastream.projects.locations.streams.run", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the stream resource to start, in the format: projects/{project_id}/locations/{location}/streams/{stream_name}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/streams/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:run", +"request": { +"$ref": "RunStreamRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"objects": { +"methods": { +"get": { +"description": "Use this method to get details about a stream object.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/streams/{streamsId}/objects/{objectsId}", +"httpMethod": "GET", +"id": "datastream.projects.locations.streams.objects.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the stream object resource to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/streams/[^/]+/objects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "StreamObject" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Use this method to list the objects of a specific stream.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/streams/{streamsId}/objects", +"httpMethod": "GET", +"id": "datastream.projects.locations.streams.objects.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of objects to return. Default is 50. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Page token received from a previous `ListStreamObjectsRequest` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListStreamObjectsRequest` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent stream that owns the collection of objects.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/streams/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/objects", +"response": { +"$ref": "ListStreamObjectsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"lookup": { +"description": "Use this method to look up a stream object by its source object identifier.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/streams/{streamsId}/objects:lookup", +"httpMethod": "POST", +"id": "datastream.projects.locations.streams.objects.lookup", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent stream that owns the collection of objects.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/streams/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/objects:lookup", +"request": { +"$ref": "LookupStreamObjectRequest" +}, +"response": { +"$ref": "StreamObject" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"startBackfillJob": { +"description": "Use this method to start a backfill job for the specified stream object.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/streams/{streamsId}/objects/{objectsId}:startBackfillJob", +"httpMethod": "POST", +"id": "datastream.projects.locations.streams.objects.startBackfillJob", +"parameterOrder": [ +"object" +], +"parameters": { +"object": { +"description": "Required. The name of the stream object resource to start a backfill job for.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/streams/[^/]+/objects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+object}:startBackfillJob", +"request": { +"$ref": "StartBackfillJobRequest" +}, +"response": { +"$ref": "StartBackfillJobResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"stopBackfillJob": { +"description": "Use this method to stop a backfill job for the specified stream object.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/streams/{streamsId}/objects/{objectsId}:stopBackfillJob", +"httpMethod": "POST", +"id": "datastream.projects.locations.streams.objects.stopBackfillJob", +"parameterOrder": [ +"object" +], +"parameters": { +"object": { +"description": "Required. The name of the stream object resource to stop the backfill job for.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/streams/[^/]+/objects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+object}:stopBackfillJob", +"request": { +"$ref": "StopBackfillJobRequest" +}, +"response": { +"$ref": "StopBackfillJobResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +} +}, +"revision": "20250101", +"rootUrl": "https://datastream.googleapis.com/", +"schemas": { +"AppendOnly": { +"description": "AppendOnly mode defines that all changes to a table will be written to the destination table.", +"id": "AppendOnly", +"properties": {}, +"type": "object" +}, +"AvroFileFormat": { +"description": "AVRO file format configuration.", +"id": "AvroFileFormat", +"properties": {}, +"type": "object" +}, +"BackfillAllStrategy": { +"description": "Backfill strategy to automatically backfill the Stream's objects. Specific objects can be excluded.", +"id": "BackfillAllStrategy", +"properties": { +"mysqlExcludedObjects": { +"$ref": "MysqlRdbms", +"description": "MySQL data source objects to avoid backfilling." +}, +"oracleExcludedObjects": { +"$ref": "OracleRdbms", +"description": "Oracle data source objects to avoid backfilling." +}, +"postgresqlExcludedObjects": { +"$ref": "PostgresqlRdbms", +"description": "PostgreSQL data source objects to avoid backfilling." +}, +"sqlServerExcludedObjects": { +"$ref": "SqlServerRdbms", +"description": "SQLServer data source objects to avoid backfilling" +} +}, +"type": "object" +}, +"BackfillJob": { +"description": "Represents a backfill job on a specific stream object.", +"id": "BackfillJob", +"properties": { +"errors": { +"description": "Output only. Errors which caused the backfill job to fail.", +"items": { +"$ref": "Error" +}, +"readOnly": true, +"type": "array" +}, +"lastEndTime": { +"description": "Output only. Backfill job's end time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"lastStartTime": { +"description": "Output only. Backfill job's start time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. Backfill job state.", +"enum": [ +"STATE_UNSPECIFIED", +"NOT_STARTED", +"PENDING", +"ACTIVE", +"STOPPED", +"FAILED", +"COMPLETED", +"UNSUPPORTED" +], +"enumDescriptions": [ +"Default value.", +"Backfill job was never started for the stream object (stream has backfill strategy defined as manual or object was explicitly excluded from automatic backfill).", +"Backfill job will start pending available resources.", +"Backfill job is running.", +"Backfill job stopped (next job run will start from beginning).", +"Backfill job failed (due to an error).", +"Backfill completed successfully.", +"Backfill job failed since the table structure is currently unsupported for backfill." +], +"readOnly": true, +"type": "string" +}, +"trigger": { +"description": "Backfill job's triggering reason.", +"enum": [ +"TRIGGER_UNSPECIFIED", +"AUTOMATIC", +"MANUAL" +], +"enumDescriptions": [ +"Default value.", +"Object backfill job was triggered automatically according to the stream's backfill strategy.", +"Object backfill job was triggered manually using the dedicated API." +], +"type": "string" +} +}, +"type": "object" +}, +"BackfillNoneStrategy": { +"description": "Backfill strategy to disable automatic backfill for the Stream's objects.", +"id": "BackfillNoneStrategy", +"properties": {}, +"type": "object" +}, +"BigQueryDestinationConfig": { +"description": "BigQuery destination configuration", +"id": "BigQueryDestinationConfig", +"properties": { +"appendOnly": { +"$ref": "AppendOnly", +"description": "Append only mode" +}, +"dataFreshness": { +"description": "The guaranteed data freshness (in seconds) when querying tables created by the stream. Editing this field will only affect new tables created in the future, but existing tables will not be impacted. Lower values mean that queries will return fresher data, but may result in higher cost.", +"format": "google-duration", +"type": "string" +}, +"merge": { +"$ref": "Merge", +"description": "The standard mode" +}, +"singleTargetDataset": { +"$ref": "SingleTargetDataset", +"description": "Single destination dataset." +}, +"sourceHierarchyDatasets": { +"$ref": "SourceHierarchyDatasets", +"description": "Source hierarchy datasets." +} +}, +"type": "object" +}, +"BigQueryProfile": { +"description": "BigQuery warehouse profile.", +"id": "BigQueryProfile", +"properties": {}, +"type": "object" +}, +"BinaryLogParser": { +"description": "Configuration to use Binary Log Parser CDC technique.", +"id": "BinaryLogParser", +"properties": { +"logFileDirectories": { +"$ref": "LogFileDirectories", +"description": "Use Oracle directories." +}, +"oracleAsmLogFileAccess": { +"$ref": "OracleAsmLogFileAccess", +"description": "Use Oracle ASM." +} +}, +"type": "object" +}, +"BinaryLogPosition": { +"description": "Use Binary log position based replication.", +"id": "BinaryLogPosition", +"properties": {}, +"type": "object" +}, +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"CdcStrategy": { +"description": "The strategy that the stream uses for CDC replication.", +"id": "CdcStrategy", +"properties": { +"mostRecentStartPosition": { +"$ref": "MostRecentStartPosition", +"description": "Optional. Start replicating from the most recent position in the source." +}, +"nextAvailableStartPosition": { +"$ref": "NextAvailableStartPosition", +"description": "Optional. Resume replication from the next available position in the source." +}, +"specificStartPosition": { +"$ref": "SpecificStartPosition", +"description": "Optional. Start replicating from a specific position in the source." +} +}, +"type": "object" +}, +"ConnectionProfile": { +"description": "A set of reusable connection configurations to be used as a source or destination for a stream.", +"id": "ConnectionProfile", +"properties": { +"bigqueryProfile": { +"$ref": "BigQueryProfile", +"description": "BigQuery Connection Profile configuration." +}, +"createTime": { +"description": "Output only. The create time of the resource.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. Display name.", +"type": "string" +}, +"forwardSshConnectivity": { +"$ref": "ForwardSshTunnelConnectivity", +"description": "Forward SSH tunnel connectivity." +}, +"gcsProfile": { +"$ref": "GcsProfile", +"description": "Cloud Storage ConnectionProfile configuration." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels.", +"type": "object" +}, +"mysqlProfile": { +"$ref": "MysqlProfile", +"description": "MySQL ConnectionProfile configuration." +}, +"name": { +"description": "Output only. Identifier. The resource's name.", +"readOnly": true, +"type": "string" +}, +"oracleProfile": { +"$ref": "OracleProfile", +"description": "Oracle ConnectionProfile configuration." +}, +"postgresqlProfile": { +"$ref": "PostgresqlProfile", +"description": "PostgreSQL Connection Profile configuration." +}, +"privateConnectivity": { +"$ref": "PrivateConnectivity", +"description": "Private connectivity." +}, +"sqlServerProfile": { +"$ref": "SqlServerProfile", +"description": "SQLServer Connection Profile configuration." +}, +"staticServiceIpConnectivity": { +"$ref": "StaticServiceIpConnectivity", +"description": "Static Service IP connectivity." +}, +"updateTime": { +"description": "Output only. The update time of the resource.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"DatasetTemplate": { +"description": "Dataset template used for dynamic dataset creation.", +"id": "DatasetTemplate", +"properties": { +"datasetIdPrefix": { +"description": "If supplied, every created dataset will have its name prefixed by the provided value. The prefix and name will be separated by an underscore. i.e. _.", +"type": "string" +}, +"kmsKeyName": { +"description": "Describes the Cloud KMS encryption key that will be used to protect destination BigQuery table. The BigQuery Service Account associated with your project requires access to this encryption key. i.e. projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{cryptoKey}. See https://cloud.google.com/bigquery/docs/customer-managed-encryption for more information.", +"type": "string" +}, +"location": { +"description": "Required. The geographic location where the dataset should reside. See https://cloud.google.com/bigquery/docs/locations for supported locations.", +"type": "string" +} +}, +"type": "object" +}, +"DestinationConfig": { +"description": "The configuration of the stream destination.", +"id": "DestinationConfig", +"properties": { +"bigqueryDestinationConfig": { +"$ref": "BigQueryDestinationConfig", +"description": "BigQuery destination configuration." +}, +"destinationConnectionProfile": { +"description": "Required. Destination connection profile resource. Format: `projects/{project}/locations/{location}/connectionProfiles/{name}`", +"type": "string" +}, +"gcsDestinationConfig": { +"$ref": "GcsDestinationConfig", +"description": "A configuration for how data should be loaded to Cloud Storage." +} +}, +"type": "object" +}, +"DiscoverConnectionProfileRequest": { +"description": "Request message for 'discover' ConnectionProfile request.", +"id": "DiscoverConnectionProfileRequest", +"properties": { +"connectionProfile": { +"$ref": "ConnectionProfile", +"description": "An ad-hoc connection profile configuration." +}, +"connectionProfileName": { +"description": "A reference to an existing connection profile.", +"type": "string" +}, +"fullHierarchy": { +"description": "Whether to retrieve the full hierarchy of data objects (TRUE) or only the current level (FALSE).", +"type": "boolean" +}, +"hierarchyDepth": { +"description": "The number of hierarchy levels below the current level to be retrieved.", +"format": "int32", +"type": "integer" +}, +"mysqlRdbms": { +"$ref": "MysqlRdbms", +"description": "MySQL RDBMS to enrich with child data objects and metadata." +}, +"oracleRdbms": { +"$ref": "OracleRdbms", +"description": "Oracle RDBMS to enrich with child data objects and metadata." +}, +"postgresqlRdbms": { +"$ref": "PostgresqlRdbms", +"description": "PostgreSQL RDBMS to enrich with child data objects and metadata." +}, +"sqlServerRdbms": { +"$ref": "SqlServerRdbms", +"description": "SQLServer RDBMS to enrich with child data objects and metadata." +} +}, +"type": "object" +}, +"DiscoverConnectionProfileResponse": { +"description": "Response from a discover request.", +"id": "DiscoverConnectionProfileResponse", +"properties": { +"mysqlRdbms": { +"$ref": "MysqlRdbms", +"description": "Enriched MySQL RDBMS object." +}, +"oracleRdbms": { +"$ref": "OracleRdbms", +"description": "Enriched Oracle RDBMS object." +}, +"postgresqlRdbms": { +"$ref": "PostgresqlRdbms", +"description": "Enriched PostgreSQL RDBMS object." +}, +"sqlServerRdbms": { +"$ref": "SqlServerRdbms", +"description": "Enriched SQLServer RDBMS object." +} +}, +"type": "object" +}, +"DropLargeObjects": { +"description": "Configuration to drop large object values.", +"id": "DropLargeObjects", +"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" +}, +"Error": { +"description": "Represent a user-facing Error.", +"id": "Error", +"properties": { +"details": { +"additionalProperties": { +"type": "string" +}, +"description": "Additional information about the error.", +"type": "object" +}, +"errorTime": { +"description": "The time when the error occurred.", +"format": "google-datetime", +"type": "string" +}, +"errorUuid": { +"description": "A unique identifier for this specific error, allowing it to be traced throughout the system in logs and API responses.", +"type": "string" +}, +"message": { +"description": "A message containing more information about the error that occurred.", +"type": "string" +}, +"reason": { +"description": "A title that explains the reason for the error.", +"type": "string" +} +}, +"type": "object" +}, +"FetchStaticIpsResponse": { +"description": "Response message for a 'FetchStaticIps' response.", +"id": "FetchStaticIpsResponse", +"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" +}, +"staticIps": { +"description": "list of static ips by account", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ForwardSshTunnelConnectivity": { +"description": "Forward SSH Tunnel connectivity.", +"id": "ForwardSshTunnelConnectivity", +"properties": { +"hostname": { +"description": "Required. Hostname for the SSH tunnel.", +"type": "string" +}, +"password": { +"description": "Input only. SSH password.", +"type": "string" +}, +"port": { +"description": "Port for the SSH tunnel, default value is 22.", +"format": "int32", +"type": "integer" +}, +"privateKey": { +"description": "Input only. SSH private key.", +"type": "string" +}, +"username": { +"description": "Required. Username for the SSH tunnel.", +"type": "string" +} +}, +"type": "object" +}, +"GcsDestinationConfig": { +"description": "Google Cloud Storage destination configuration", +"id": "GcsDestinationConfig", +"properties": { +"avroFileFormat": { +"$ref": "AvroFileFormat", +"description": "AVRO file format configuration." +}, +"fileRotationInterval": { +"description": "The maximum duration for which new events are added before a file is closed and a new file is created. Values within the range of 15-60 seconds are allowed.", +"format": "google-duration", +"type": "string" +}, +"fileRotationMb": { +"description": "The maximum file size to be saved in the bucket.", +"format": "int32", +"type": "integer" +}, +"jsonFileFormat": { +"$ref": "JsonFileFormat", +"description": "JSON file format configuration." +}, +"path": { +"description": "Path inside the Cloud Storage bucket to write data to.", +"type": "string" +} +}, +"type": "object" +}, +"GcsProfile": { +"description": "Cloud Storage bucket profile.", +"id": "GcsProfile", +"properties": { +"bucket": { +"description": "Required. The Cloud Storage bucket name.", +"type": "string" +}, +"rootPath": { +"description": "The root path inside the Cloud Storage bucket.", +"type": "string" +} +}, +"type": "object" +}, +"Gtid": { +"description": "Use GTID based replication.", +"id": "Gtid", +"properties": {}, +"type": "object" +}, +"JsonFileFormat": { +"description": "JSON file format configuration.", +"id": "JsonFileFormat", +"properties": { +"compression": { +"description": "Compression of the loaded JSON file.", +"enum": [ +"JSON_COMPRESSION_UNSPECIFIED", +"NO_COMPRESSION", +"GZIP" +], +"enumDescriptions": [ +"Unspecified json file compression.", +"Do not compress JSON file.", +"Gzip compression." +], +"type": "string" +}, +"schemaFileFormat": { +"description": "The schema file format along JSON data files.", +"enum": [ +"SCHEMA_FILE_FORMAT_UNSPECIFIED", +"NO_SCHEMA_FILE", +"AVRO_SCHEMA_FILE" +], +"enumDescriptions": [ +"Unspecified schema file format.", +"Do not attach schema file.", +"Avro schema format." +], +"type": "string" +} +}, +"type": "object" +}, +"ListConnectionProfilesResponse": { +"description": "Response message for listing connection profiles.", +"id": "ListConnectionProfilesResponse", +"properties": { +"connectionProfiles": { +"description": "List of connection profiles.", +"items": { +"$ref": "ConnectionProfile" +}, +"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": "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" +}, +"ListPrivateConnectionsResponse": { +"description": "Response containing a list of private connection configurations.", +"id": "ListPrivateConnectionsResponse", +"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" +}, +"privateConnections": { +"description": "List of private connectivity configurations.", +"items": { +"$ref": "PrivateConnection" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListRoutesResponse": { +"description": "Route list response.", +"id": "ListRoutesResponse", +"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" +}, +"routes": { +"description": "List of Routes.", +"items": { +"$ref": "Route" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListStreamObjectsResponse": { +"description": "Response containing the objects for a stream.", +"id": "ListStreamObjectsResponse", +"properties": { +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page.", +"type": "string" +}, +"streamObjects": { +"description": "List of stream objects.", +"items": { +"$ref": "StreamObject" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListStreamsResponse": { +"description": "Response message for listing streams.", +"id": "ListStreamsResponse", +"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" +}, +"streams": { +"description": "List of streams", +"items": { +"$ref": "Stream" +}, +"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" +}, +"LogFileDirectories": { +"description": "Configuration to specify the Oracle directories to access the log files.", +"id": "LogFileDirectories", +"properties": { +"archivedLogDirectory": { +"description": "Required. Oracle directory for archived logs.", +"type": "string" +}, +"onlineLogDirectory": { +"description": "Required. Oracle directory for online logs.", +"type": "string" +} +}, +"type": "object" +}, +"LogMiner": { +"description": "Configuration to use LogMiner CDC method.", +"id": "LogMiner", +"properties": {}, +"type": "object" +}, +"LookupStreamObjectRequest": { +"description": "Request for looking up a specific stream object by its source object identifier.", +"id": "LookupStreamObjectRequest", +"properties": { +"sourceObjectIdentifier": { +"$ref": "SourceObjectIdentifier", +"description": "Required. The source object identifier which maps to the stream object." +} +}, +"type": "object" +}, +"Merge": { +"description": "Merge mode defines that all changes to a table will be merged at the destination table.", +"id": "Merge", +"properties": {}, +"type": "object" +}, +"MostRecentStartPosition": { +"description": "CDC strategy to start replicating from the most recent position in the source.", +"id": "MostRecentStartPosition", +"properties": {}, +"type": "object" +}, +"MysqlColumn": { +"description": "MySQL Column.", +"id": "MysqlColumn", +"properties": { +"collation": { +"description": "Column collation.", +"type": "string" +}, +"column": { +"description": "Column name.", +"type": "string" +}, +"dataType": { +"description": "The MySQL data type. Full data types list can be found here: https://dev.mysql.com/doc/refman/8.0/en/data-types.html", +"type": "string" +}, +"length": { +"description": "Column length.", +"format": "int32", +"type": "integer" +}, +"nullable": { +"description": "Whether or not the column can accept a null value.", +"type": "boolean" +}, +"ordinalPosition": { +"description": "The ordinal position of the column in the table.", +"format": "int32", +"type": "integer" +}, +"precision": { +"description": "Column precision.", +"format": "int32", +"type": "integer" +}, +"primaryKey": { +"description": "Whether or not the column represents a primary key.", +"type": "boolean" +}, +"scale": { +"description": "Column scale.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"MysqlDatabase": { +"description": "MySQL database.", +"id": "MysqlDatabase", +"properties": { +"database": { +"description": "Database name.", +"type": "string" +}, +"mysqlTables": { +"description": "Tables in the database.", +"items": { +"$ref": "MysqlTable" +}, +"type": "array" +} +}, +"type": "object" +}, +"MysqlLogPosition": { +"description": "MySQL log position", +"id": "MysqlLogPosition", +"properties": { +"logFile": { +"description": "Required. The binary log file name.", +"type": "string" +}, +"logPosition": { +"description": "Optional. The position within the binary log file. Default is head of file.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"MysqlObjectIdentifier": { +"description": "Mysql data source object identifier.", +"id": "MysqlObjectIdentifier", +"properties": { +"database": { +"description": "Required. The database name.", +"type": "string" +}, +"table": { +"description": "Required. The table name.", +"type": "string" +} +}, +"type": "object" +}, +"MysqlProfile": { +"description": "MySQL database profile. Next ID: 7.", +"id": "MysqlProfile", +"properties": { +"hostname": { +"description": "Required. Hostname for the MySQL connection.", +"type": "string" +}, +"password": { +"description": "Optional. Input only. Password for the MySQL connection. Mutually exclusive with the `secret_manager_stored_password` field.", +"type": "string" +}, +"port": { +"description": "Port for the MySQL connection, default value is 3306.", +"format": "int32", +"type": "integer" +}, +"sslConfig": { +"$ref": "MysqlSslConfig", +"description": "SSL configuration for the MySQL connection." +}, +"username": { +"description": "Required. Username for the MySQL connection.", +"type": "string" +} +}, +"type": "object" +}, +"MysqlRdbms": { +"description": "MySQL database structure", +"id": "MysqlRdbms", +"properties": { +"mysqlDatabases": { +"description": "Mysql databases on the server", +"items": { +"$ref": "MysqlDatabase" +}, +"type": "array" +} +}, +"type": "object" +}, +"MysqlSourceConfig": { +"description": "MySQL source configuration", +"id": "MysqlSourceConfig", +"properties": { +"binaryLogPosition": { +"$ref": "BinaryLogPosition", +"description": "Use Binary log position based replication." +}, +"excludeObjects": { +"$ref": "MysqlRdbms", +"description": "MySQL objects to exclude from the stream." +}, +"gtid": { +"$ref": "Gtid", +"description": "Use GTID based replication." +}, +"includeObjects": { +"$ref": "MysqlRdbms", +"description": "MySQL objects to retrieve from the source." +}, +"maxConcurrentBackfillTasks": { +"description": "Maximum number of concurrent backfill tasks. The number should be non negative. If not set (or set to 0), the system's default value will be used.", +"format": "int32", +"type": "integer" +}, +"maxConcurrentCdcTasks": { +"description": "Maximum number of concurrent CDC tasks. The number should be non negative. If not set (or set to 0), the system's default value will be used.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"MysqlSslConfig": { +"description": "MySQL SSL configuration information.", +"id": "MysqlSslConfig", +"properties": { +"caCertificate": { +"description": "Input only. PEM-encoded certificate of the CA that signed the source database server's certificate.", +"type": "string" +}, +"caCertificateSet": { +"description": "Output only. Indicates whether the ca_certificate field is set.", +"readOnly": true, +"type": "boolean" +}, +"clientCertificate": { +"description": "Input only. PEM-encoded certificate that will be used by the replica to authenticate against the source database server. If this field is used then the 'client_key' and the 'ca_certificate' fields are mandatory.", +"type": "string" +}, +"clientCertificateSet": { +"description": "Output only. Indicates whether the client_certificate field is set.", +"readOnly": true, +"type": "boolean" +}, +"clientKey": { +"description": "Input only. PEM-encoded private key associated with the Client Certificate. If this field is used then the 'client_certificate' and the 'ca_certificate' fields are mandatory.", +"type": "string" +}, +"clientKeySet": { +"description": "Output only. Indicates whether the client_key field is set.", +"readOnly": true, +"type": "boolean" +} +}, +"type": "object" +}, +"MysqlTable": { +"description": "MySQL table.", +"id": "MysqlTable", +"properties": { +"mysqlColumns": { +"description": "MySQL columns in the database. When unspecified as part of include/exclude objects, includes/excludes everything.", +"items": { +"$ref": "MysqlColumn" +}, +"type": "array" +}, +"table": { +"description": "Table name.", +"type": "string" +} +}, +"type": "object" +}, +"NextAvailableStartPosition": { +"description": "CDC strategy to resume replication from the next available position in the source.", +"id": "NextAvailableStartPosition", +"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" +}, +"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 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" +}, +"validationResult": { +"$ref": "ValidationResult", +"description": "Output only. Results of executed validations if there are any.", +"readOnly": true +}, +"verb": { +"description": "Output only. Name of the verb executed by the operation.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"OracleAsmConfig": { +"description": "Configuration for Oracle Automatic Storage Management (ASM) connection. .", +"id": "OracleAsmConfig", +"properties": { +"asmService": { +"description": "Required. ASM service name for the Oracle ASM connection.", +"type": "string" +}, +"connectionAttributes": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Connection string attributes", +"type": "object" +}, +"hostname": { +"description": "Required. Hostname for the Oracle ASM connection.", +"type": "string" +}, +"oracleSslConfig": { +"$ref": "OracleSslConfig", +"description": "Optional. SSL configuration for the Oracle connection." +}, +"password": { +"description": "Optional. Password for the Oracle ASM connection.", +"type": "string" +}, +"port": { +"description": "Required. Port for the Oracle ASM connection.", +"format": "int32", +"type": "integer" +}, +"username": { +"description": "Required. Username for the Oracle ASM connection.", +"type": "string" +} +}, +"type": "object" +}, +"OracleAsmLogFileAccess": { +"description": "Configuration to use Oracle ASM to access the log files.", +"id": "OracleAsmLogFileAccess", +"properties": {}, +"type": "object" +}, +"OracleColumn": { +"description": "Oracle Column.", +"id": "OracleColumn", +"properties": { +"column": { +"description": "Column name.", +"type": "string" +}, +"dataType": { +"description": "The Oracle data type.", +"type": "string" +}, +"encoding": { +"description": "Column encoding.", +"type": "string" +}, +"length": { +"description": "Column length.", +"format": "int32", +"type": "integer" +}, +"nullable": { +"description": "Whether or not the column can accept a null value.", +"type": "boolean" +}, +"ordinalPosition": { +"description": "The ordinal position of the column in the table.", +"format": "int32", +"type": "integer" +}, +"precision": { +"description": "Column precision.", +"format": "int32", +"type": "integer" +}, +"primaryKey": { +"description": "Whether or not the column represents a primary key.", +"type": "boolean" +}, +"scale": { +"description": "Column scale.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"OracleObjectIdentifier": { +"description": "Oracle data source object identifier.", +"id": "OracleObjectIdentifier", +"properties": { +"schema": { +"description": "Required. The schema name.", +"type": "string" +}, +"table": { +"description": "Required. The table name.", +"type": "string" +} +}, +"type": "object" +}, +"OracleProfile": { +"description": "Oracle database profile. Next ID: 10.", +"id": "OracleProfile", +"properties": { +"connectionAttributes": { +"additionalProperties": { +"type": "string" +}, +"description": "Connection string attributes", +"type": "object" +}, +"databaseService": { +"description": "Required. Database for the Oracle connection.", +"type": "string" +}, +"hostname": { +"description": "Required. Hostname for the Oracle connection.", +"type": "string" +}, +"oracleAsmConfig": { +"$ref": "OracleAsmConfig", +"description": "Optional. Configuration for Oracle ASM connection." +}, +"oracleSslConfig": { +"$ref": "OracleSslConfig", +"description": "Optional. SSL configuration for the Oracle connection." +}, +"password": { +"description": "Optional. Password for the Oracle connection. Mutually exclusive with the `secret_manager_stored_password` field.", +"type": "string" +}, +"port": { +"description": "Port for the Oracle connection, default value is 1521.", +"format": "int32", +"type": "integer" +}, +"secretManagerStoredPassword": { +"description": "Optional. A reference to a Secret Manager resource name storing the Oracle connection password. Mutually exclusive with the `password` field.", +"type": "string" +}, +"username": { +"description": "Required. Username for the Oracle connection.", +"type": "string" +} +}, +"type": "object" +}, +"OracleRdbms": { +"description": "Oracle database structure.", +"id": "OracleRdbms", +"properties": { +"oracleSchemas": { +"description": "Oracle schemas/databases in the database server.", +"items": { +"$ref": "OracleSchema" +}, +"type": "array" +} +}, +"type": "object" +}, +"OracleSchema": { +"description": "Oracle schema.", +"id": "OracleSchema", +"properties": { +"oracleTables": { +"description": "Tables in the schema.", +"items": { +"$ref": "OracleTable" +}, +"type": "array" +}, +"schema": { +"description": "Schema name.", +"type": "string" +} +}, +"type": "object" +}, +"OracleScnPosition": { +"description": "Oracle SCN position", +"id": "OracleScnPosition", +"properties": { +"scn": { +"description": "Required. SCN number from where Logs will be read", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"OracleSourceConfig": { +"description": "Oracle data source configuration", +"id": "OracleSourceConfig", +"properties": { +"binaryLogParser": { +"$ref": "BinaryLogParser", +"description": "Use Binary Log Parser." +}, +"dropLargeObjects": { +"$ref": "DropLargeObjects", +"description": "Drop large object values." +}, +"excludeObjects": { +"$ref": "OracleRdbms", +"description": "Oracle objects to exclude from the stream." +}, +"includeObjects": { +"$ref": "OracleRdbms", +"description": "Oracle objects to include in the stream." +}, +"logMiner": { +"$ref": "LogMiner", +"description": "Use LogMiner." +}, +"maxConcurrentBackfillTasks": { +"description": "Maximum number of concurrent backfill tasks. The number should be non-negative. If not set (or set to 0), the system's default value is used.", +"format": "int32", +"type": "integer" +}, +"maxConcurrentCdcTasks": { +"description": "Maximum number of concurrent CDC tasks. The number should be non-negative. If not set (or set to 0), the system's default value is used.", +"format": "int32", +"type": "integer" +}, +"streamLargeObjects": { +"$ref": "StreamLargeObjects", +"description": "Stream large object values." +} +}, +"type": "object" +}, +"OracleSslConfig": { +"description": "Oracle SSL configuration information.", +"id": "OracleSslConfig", +"properties": { +"caCertificate": { +"description": "Input only. PEM-encoded certificate of the CA that signed the source database server's certificate.", +"type": "string" +}, +"caCertificateSet": { +"description": "Output only. Indicates whether the ca_certificate field has been set for this Connection-Profile.", +"readOnly": true, +"type": "boolean" +} +}, +"type": "object" +}, +"OracleTable": { +"description": "Oracle table.", +"id": "OracleTable", +"properties": { +"oracleColumns": { +"description": "Oracle columns in the schema. When unspecified as part of include/exclude objects, includes/excludes everything.", +"items": { +"$ref": "OracleColumn" +}, +"type": "array" +}, +"table": { +"description": "Table name.", +"type": "string" +} +}, +"type": "object" +}, +"PostgresqlColumn": { +"description": "PostgreSQL Column.", +"id": "PostgresqlColumn", +"properties": { +"column": { +"description": "Column name.", +"type": "string" +}, +"dataType": { +"description": "The PostgreSQL data type.", +"type": "string" +}, +"length": { +"description": "Column length.", +"format": "int32", +"type": "integer" +}, +"nullable": { +"description": "Whether or not the column can accept a null value.", +"type": "boolean" +}, +"ordinalPosition": { +"description": "The ordinal position of the column in the table.", +"format": "int32", +"type": "integer" +}, +"precision": { +"description": "Column precision.", +"format": "int32", +"type": "integer" +}, +"primaryKey": { +"description": "Whether or not the column represents a primary key.", +"type": "boolean" +}, +"scale": { +"description": "Column scale.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"PostgresqlObjectIdentifier": { +"description": "PostgreSQL data source object identifier.", +"id": "PostgresqlObjectIdentifier", +"properties": { +"schema": { +"description": "Required. The schema name.", +"type": "string" +}, +"table": { +"description": "Required. The table name.", +"type": "string" +} +}, +"type": "object" +}, +"PostgresqlProfile": { +"description": "PostgreSQL database profile.", +"id": "PostgresqlProfile", +"properties": { +"database": { +"description": "Required. Database for the PostgreSQL connection.", +"type": "string" +}, +"hostname": { +"description": "Required. Hostname for the PostgreSQL connection.", +"type": "string" +}, +"password": { +"description": "Optional. Password for the PostgreSQL connection. Mutually exclusive with the `secret_manager_stored_password` field.", +"type": "string" +}, +"port": { +"description": "Port for the PostgreSQL connection, default value is 5432.", +"format": "int32", +"type": "integer" +}, +"sslConfig": { +"$ref": "PostgresqlSslConfig", +"description": "Optional. SSL configuration for the PostgreSQL connection. In case PostgresqlSslConfig is not set, the connection will use the default SSL mode, which is `prefer` (i.e. this mode will only use encryption if enabled from database side, otherwise will use unencrypted communication)" +}, +"username": { +"description": "Required. Username for the PostgreSQL connection.", +"type": "string" +} +}, +"type": "object" +}, +"PostgresqlRdbms": { +"description": "PostgreSQL database structure.", +"id": "PostgresqlRdbms", +"properties": { +"postgresqlSchemas": { +"description": "PostgreSQL schemas in the database server.", +"items": { +"$ref": "PostgresqlSchema" +}, +"type": "array" +} +}, +"type": "object" +}, +"PostgresqlSchema": { +"description": "PostgreSQL schema.", +"id": "PostgresqlSchema", +"properties": { +"postgresqlTables": { +"description": "Tables in the schema.", +"items": { +"$ref": "PostgresqlTable" +}, +"type": "array" +}, +"schema": { +"description": "Schema name.", +"type": "string" +} +}, +"type": "object" +}, +"PostgresqlSourceConfig": { +"description": "PostgreSQL data source configuration", +"id": "PostgresqlSourceConfig", +"properties": { +"excludeObjects": { +"$ref": "PostgresqlRdbms", +"description": "PostgreSQL objects to exclude from the stream." +}, +"includeObjects": { +"$ref": "PostgresqlRdbms", +"description": "PostgreSQL objects to include in the stream." +}, +"maxConcurrentBackfillTasks": { +"description": "Maximum number of concurrent backfill tasks. The number should be non negative. If not set (or set to 0), the system's default value will be used.", +"format": "int32", +"type": "integer" +}, +"publication": { +"description": "Required. The name of the publication that includes the set of all tables that are defined in the stream's include_objects.", +"type": "string" +}, +"replicationSlot": { +"description": "Required. Immutable. The name of the logical replication slot that's configured with the pgoutput plugin.", +"type": "string" +} +}, +"type": "object" +}, +"PostgresqlSslConfig": { +"description": "PostgreSQL SSL configuration information.", +"id": "PostgresqlSslConfig", +"properties": { +"serverAndClientVerification": { +"$ref": "ServerAndClientVerification", +"description": "If this field is set, the communication will be encrypted with TLS encryption and both the server identity and the client identity will be authenticated." +}, +"serverVerification": { +"$ref": "ServerVerification", +"description": " If this field is set, the communication will be encrypted with TLS encryption and the server identity will be authenticated." +} +}, +"type": "object" +}, +"PostgresqlTable": { +"description": "PostgreSQL table.", +"id": "PostgresqlTable", +"properties": { +"postgresqlColumns": { +"description": "PostgreSQL columns in the schema. When unspecified as part of include/exclude objects, includes/excludes everything.", +"items": { +"$ref": "PostgresqlColumn" +}, +"type": "array" +}, +"table": { +"description": "Table name.", +"type": "string" +} +}, +"type": "object" +}, +"PrivateConnection": { +"description": "The PrivateConnection resource is used to establish private connectivity between Datastream and a customer's network.", +"id": "PrivateConnection", +"properties": { +"createTime": { +"description": "Output only. The create time of the resource.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. Display name.", +"type": "string" +}, +"error": { +"$ref": "Error", +"description": "Output only. In case of error, the details of the error in a user-friendly format.", +"readOnly": true +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels.", +"type": "object" +}, +"name": { +"description": "Output only. Identifier. The resource's name.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The state of the Private Connection.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"CREATED", +"FAILED", +"DELETING", +"FAILED_TO_DELETE" +], +"enumDescriptions": [ +"Unspecified state.", +"The private connection is in creation state - creating resources.", +"The private connection has been created with all of its resources.", +"The private connection creation has failed.", +"The private connection is being deleted.", +"Delete request has failed, resource is in invalid state." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The update time of the resource.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"vpcPeeringConfig": { +"$ref": "VpcPeeringConfig", +"description": "VPC Peering Config." +} +}, +"type": "object" +}, +"PrivateConnectivity": { +"description": "Private Connectivity", +"id": "PrivateConnectivity", +"properties": { +"privateConnection": { +"description": "Required. A reference to a private connection resource. Format: `projects/{project}/locations/{location}/privateConnections/{name}`", +"type": "string" +} +}, +"type": "object" +}, +"Route": { +"description": "The route resource is the child of the private connection resource, used for defining a route for a private connection.", +"id": "Route", +"properties": { +"createTime": { +"description": "Output only. The create time of the resource.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"destinationAddress": { +"description": "Required. Destination address for connection", +"type": "string" +}, +"destinationPort": { +"description": "Destination port for connection", +"format": "int32", +"type": "integer" +}, +"displayName": { +"description": "Required. Display name.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels.", +"type": "object" +}, +"name": { +"description": "Output only. Identifier. The resource's name.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The update time of the resource.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"RunStreamRequest": { +"description": "Request message for running a stream.", +"id": "RunStreamRequest", +"properties": { +"cdcStrategy": { +"$ref": "CdcStrategy", +"description": "Optional. The CDC strategy of the stream. If not set, the system's default value will be used." +}, +"force": { +"description": "Optional. Update the stream without validating it.", +"type": "boolean" +} +}, +"type": "object" +}, +"ServerAndClientVerification": { +"description": "Message represents the option where Datastream will enforce the encryption and authenticate the server identity as well as the client identity. ca_certificate, client_certificate and client_key must be set if user selects this option.", +"id": "ServerAndClientVerification", +"properties": { +"caCertificate": { +"description": "Required. Input only. PEM-encoded server root CA certificate.", +"type": "string" +}, +"clientCertificate": { +"description": "Required. Input only. PEM-encoded certificate used by the source database to authenticate the client identity (i.e., the Datastream's identity). This certificate is signed by either a root certificate trusted by the server or one or more intermediate certificates (which is stored with the leaf certificate) to link the this certificate to the trusted root certificate.", +"type": "string" +}, +"clientKey": { +"description": "Required. Input only. PEM-encoded private key associated with the client certificate. This value will be used during the SSL/TLS handshake, allowing the PostgreSQL server to authenticate the client's identity, i.e. identity of the Datastream.", +"type": "string" +} +}, +"type": "object" +}, +"ServerVerification": { +"description": "Message represents the option where Datastream will enforce the encryption and authenticate the server identity. ca_certificate must be set if user selects this option.", +"id": "ServerVerification", +"properties": { +"caCertificate": { +"description": "Required. Input only. PEM-encoded server root CA certificate.", +"type": "string" +} +}, +"type": "object" +}, +"SingleTargetDataset": { +"description": "A single target dataset to which all data will be streamed.", +"id": "SingleTargetDataset", +"properties": { +"datasetId": { +"description": "The dataset ID of the target dataset. DatasetIds allowed characters: https://cloud.google.com/bigquery/docs/reference/rest/v2/datasets#datasetreference.", +"type": "string" +} +}, +"type": "object" +}, +"SourceConfig": { +"description": "The configuration of the stream source.", +"id": "SourceConfig", +"properties": { +"mysqlSourceConfig": { +"$ref": "MysqlSourceConfig", +"description": "MySQL data source configuration." +}, +"oracleSourceConfig": { +"$ref": "OracleSourceConfig", +"description": "Oracle data source configuration." +}, +"postgresqlSourceConfig": { +"$ref": "PostgresqlSourceConfig", +"description": "PostgreSQL data source configuration." +}, +"sourceConnectionProfile": { +"description": "Required. Source connection profile resoource. Format: `projects/{project}/locations/{location}/connectionProfiles/{name}`", +"type": "string" +}, +"sqlServerSourceConfig": { +"$ref": "SqlServerSourceConfig", +"description": "SQLServer data source configuration." +} +}, +"type": "object" +}, +"SourceHierarchyDatasets": { +"description": "Destination datasets are created so that hierarchy of the destination data objects matches the source hierarchy.", +"id": "SourceHierarchyDatasets", +"properties": { +"datasetTemplate": { +"$ref": "DatasetTemplate", +"description": "The dataset template to use for dynamic dataset creation." +} +}, +"type": "object" +}, +"SourceObjectIdentifier": { +"description": "Represents an identifier of an object in the data source.", +"id": "SourceObjectIdentifier", +"properties": { +"mysqlIdentifier": { +"$ref": "MysqlObjectIdentifier", +"description": "Mysql data source object identifier." +}, +"oracleIdentifier": { +"$ref": "OracleObjectIdentifier", +"description": "Oracle data source object identifier." +}, +"postgresqlIdentifier": { +"$ref": "PostgresqlObjectIdentifier", +"description": "PostgreSQL data source object identifier." +}, +"sqlServerIdentifier": { +"$ref": "SqlServerObjectIdentifier", +"description": "SQLServer data source object identifier." +} +}, +"type": "object" +}, +"SpecificStartPosition": { +"description": "CDC strategy to start replicating from a specific position in the source.", +"id": "SpecificStartPosition", +"properties": { +"mysqlLogPosition": { +"$ref": "MysqlLogPosition", +"description": "MySQL specific log position to start replicating from." +}, +"oracleScnPosition": { +"$ref": "OracleScnPosition", +"description": "Oracle SCN to start replicating from." +}, +"sqlServerLsnPosition": { +"$ref": "SqlServerLsnPosition", +"description": "SqlServer LSN to start replicating from." +} +}, +"type": "object" +}, +"SqlServerChangeTables": { +"description": "Configuration to use Change Tables CDC read method.", +"id": "SqlServerChangeTables", +"properties": {}, +"type": "object" +}, +"SqlServerColumn": { +"description": "SQLServer Column.", +"id": "SqlServerColumn", +"properties": { +"column": { +"description": "Column name.", +"type": "string" +}, +"dataType": { +"description": "The SQLServer data type.", +"type": "string" +}, +"length": { +"description": "Column length.", +"format": "int32", +"type": "integer" +}, +"nullable": { +"description": "Whether or not the column can accept a null value.", +"type": "boolean" +}, +"ordinalPosition": { +"description": "The ordinal position of the column in the table.", +"format": "int32", +"type": "integer" +}, +"precision": { +"description": "Column precision.", +"format": "int32", +"type": "integer" +}, +"primaryKey": { +"description": "Whether or not the column represents a primary key.", +"type": "boolean" +}, +"scale": { +"description": "Column scale.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"SqlServerLsnPosition": { +"description": "SQL Server LSN position", +"id": "SqlServerLsnPosition", +"properties": { +"lsn": { +"description": "Required. Log sequence number (LSN) from where Logs will be read", +"type": "string" +} +}, +"type": "object" +}, +"SqlServerObjectIdentifier": { +"description": "SQLServer data source object identifier.", +"id": "SqlServerObjectIdentifier", +"properties": { +"schema": { +"description": "Required. The schema name.", +"type": "string" +}, +"table": { +"description": "Required. The table name.", +"type": "string" +} +}, +"type": "object" +}, +"SqlServerProfile": { +"description": "SQLServer database profile. Next ID: 8.", +"id": "SqlServerProfile", +"properties": { +"database": { +"description": "Required. Database for the SQLServer connection.", +"type": "string" +}, +"hostname": { +"description": "Required. Hostname for the SQLServer connection.", +"type": "string" +}, +"password": { +"description": "Optional. Password for the SQLServer connection. Mutually exclusive with the `secret_manager_stored_password` field.", +"type": "string" +}, +"port": { +"description": "Port for the SQLServer connection, default value is 1433.", +"format": "int32", +"type": "integer" +}, +"username": { +"description": "Required. Username for the SQLServer connection.", +"type": "string" +} +}, +"type": "object" +}, +"SqlServerRdbms": { +"description": "SQLServer database structure.", +"id": "SqlServerRdbms", +"properties": { +"schemas": { +"description": "SQLServer schemas in the database server.", +"items": { +"$ref": "SqlServerSchema" +}, +"type": "array" +} +}, +"type": "object" +}, +"SqlServerSchema": { +"description": "SQLServer schema.", +"id": "SqlServerSchema", +"properties": { +"schema": { +"description": "Schema name.", +"type": "string" +}, +"tables": { +"description": "Tables in the schema.", +"items": { +"$ref": "SqlServerTable" +}, +"type": "array" +} +}, +"type": "object" +}, +"SqlServerSourceConfig": { +"description": "SQLServer data source configuration", +"id": "SqlServerSourceConfig", +"properties": { +"changeTables": { +"$ref": "SqlServerChangeTables", +"description": "CDC reader reads from change tables." +}, +"excludeObjects": { +"$ref": "SqlServerRdbms", +"description": "SQLServer objects to exclude from the stream." +}, +"includeObjects": { +"$ref": "SqlServerRdbms", +"description": "SQLServer objects to include in the stream." +}, +"maxConcurrentBackfillTasks": { +"description": "Max concurrent backfill tasks.", +"format": "int32", +"type": "integer" +}, +"maxConcurrentCdcTasks": { +"description": "Max concurrent CDC tasks.", +"format": "int32", +"type": "integer" +}, +"transactionLogs": { +"$ref": "SqlServerTransactionLogs", +"description": "CDC reader reads from transaction logs." +} +}, +"type": "object" +}, +"SqlServerTable": { +"description": "SQLServer table.", +"id": "SqlServerTable", +"properties": { +"columns": { +"description": "SQLServer columns in the schema. When unspecified as part of include/exclude objects, includes/excludes everything.", +"items": { +"$ref": "SqlServerColumn" +}, +"type": "array" +}, +"table": { +"description": "Table name.", +"type": "string" +} +}, +"type": "object" +}, +"SqlServerTransactionLogs": { +"description": "Configuration to use Transaction Logs CDC read method.", +"id": "SqlServerTransactionLogs", +"properties": {}, +"type": "object" +}, +"StartBackfillJobRequest": { +"description": "Request for manually initiating a backfill job for a specific stream object.", +"id": "StartBackfillJobRequest", +"properties": {}, +"type": "object" +}, +"StartBackfillJobResponse": { +"description": "Response for manually initiating a backfill job for a specific stream object.", +"id": "StartBackfillJobResponse", +"properties": { +"object": { +"$ref": "StreamObject", +"description": "The stream object resource a backfill job was started for." +} +}, +"type": "object" +}, +"StaticServiceIpConnectivity": { +"description": "Static IP address connectivity. Used when the source database is configured to allow incoming connections from the Datastream public IP addresses for the region specified in the connection profile.", +"id": "StaticServiceIpConnectivity", +"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" +}, +"StopBackfillJobRequest": { +"description": "Request for manually stopping a running backfill job for a specific stream object.", +"id": "StopBackfillJobRequest", +"properties": {}, +"type": "object" +}, +"StopBackfillJobResponse": { +"description": "Response for manually stop a backfill job for a specific stream object.", +"id": "StopBackfillJobResponse", +"properties": { +"object": { +"$ref": "StreamObject", +"description": "The stream object resource the backfill job was stopped for." +} +}, +"type": "object" +}, +"Stream": { +"description": "A resource representing streaming data from a source to a destination.", +"id": "Stream", +"properties": { +"backfillAll": { +"$ref": "BackfillAllStrategy", +"description": "Automatically backfill objects included in the stream source configuration. Specific objects can be excluded." +}, +"backfillNone": { +"$ref": "BackfillNoneStrategy", +"description": "Do not automatically backfill any objects." +}, +"createTime": { +"description": "Output only. The creation time of the stream.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"customerManagedEncryptionKey": { +"description": "Immutable. A reference to a KMS encryption key. If provided, it will be used to encrypt the data. If left blank, data will be encrypted using an internal Stream-specific encryption key provisioned through KMS.", +"type": "string" +}, +"destinationConfig": { +"$ref": "DestinationConfig", +"description": "Required. Destination connection profile configuration." +}, +"displayName": { +"description": "Required. Display name.", +"type": "string" +}, +"errors": { +"description": "Output only. Errors on the Stream.", +"items": { +"$ref": "Error" +}, +"readOnly": true, +"type": "array" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels.", +"type": "object" +}, +"lastRecoveryTime": { +"description": "Output only. If the stream was recovered, the time of the last recovery. Note: This field is currently experimental.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Identifier. The stream's name.", +"readOnly": true, +"type": "string" +}, +"sourceConfig": { +"$ref": "SourceConfig", +"description": "Required. Source connection profile configuration." +}, +"state": { +"description": "The state of the stream.", +"enum": [ +"STATE_UNSPECIFIED", +"NOT_STARTED", +"RUNNING", +"PAUSED", +"MAINTENANCE", +"FAILED", +"FAILED_PERMANENTLY", +"STARTING", +"DRAINING" +], +"enumDescriptions": [ +"Unspecified stream state.", +"The stream has been created but has not yet started streaming data.", +"The stream is running.", +"The stream is paused.", +"The stream is in maintenance mode. Updates are rejected on the resource in this state.", +"The stream is experiencing an error that is preventing data from being streamed.", +"The stream has experienced a terminal failure.", +"The stream is starting, but not yet running.", +"The Stream is no longer reading new events, but still writing events in the buffer." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. The last update time of the stream.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"StreamLargeObjects": { +"description": "Configuration to stream large object values.", +"id": "StreamLargeObjects", +"properties": {}, +"type": "object" +}, +"StreamObject": { +"description": "A specific stream object (e.g a specific DB table).", +"id": "StreamObject", +"properties": { +"backfillJob": { +"$ref": "BackfillJob", +"description": "The latest backfill job that was initiated for the stream object." +}, +"createTime": { +"description": "Output only. The creation time of the object.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. Display name.", +"type": "string" +}, +"errors": { +"description": "Output only. Active errors on the object.", +"items": { +"$ref": "Error" +}, +"readOnly": true, +"type": "array" +}, +"name": { +"description": "Output only. Identifier. The object resource's name.", +"readOnly": true, +"type": "string" +}, +"sourceObject": { +"$ref": "SourceObjectIdentifier", +"description": "The object identifier in the data source." +}, +"updateTime": { +"description": "Output only. The last update time of the object.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Validation": { +"description": "A validation to perform on a stream.", +"id": "Validation", +"properties": { +"code": { +"description": "A custom code identifying this validation.", +"type": "string" +}, +"description": { +"description": "A short description of the validation.", +"type": "string" +}, +"message": { +"description": "Messages reflecting the validation results.", +"items": { +"$ref": "ValidationMessage" +}, +"type": "array" +}, +"state": { +"description": "Output only. Validation execution status.", +"enum": [ +"STATE_UNSPECIFIED", +"NOT_EXECUTED", +"FAILED", +"PASSED", +"WARNING" +], +"enumDescriptions": [ +"Unspecified state.", +"Validation did not execute.", +"Validation failed.", +"Validation passed.", +"Validation executed with warnings." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ValidationMessage": { +"description": "Represent user-facing validation result message.", +"id": "ValidationMessage", +"properties": { +"code": { +"description": "A custom code identifying this specific message.", +"type": "string" +}, +"level": { +"description": "Message severity level (warning or error).", +"enum": [ +"LEVEL_UNSPECIFIED", +"WARNING", +"ERROR" +], +"enumDescriptions": [ +"Unspecified level.", +"Potentially cause issues with the Stream.", +"Definitely cause issues with the Stream." +], +"type": "string" +}, +"message": { +"description": "The result of the validation.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "Additional metadata related to the result.", +"type": "object" +} +}, +"type": "object" +}, +"ValidationResult": { +"description": "Contains the current validation results.", +"id": "ValidationResult", +"properties": { +"validations": { +"description": "A list of validations (includes both executed as well as not executed validations).", +"items": { +"$ref": "Validation" +}, +"type": "array" +} +}, +"type": "object" +}, +"VpcPeeringConfig": { +"description": "The VPC Peering configuration is used to create VPC peering between Datastream and the consumer's VPC.", +"id": "VpcPeeringConfig", +"properties": { +"subnet": { +"description": "Required. A free subnet for peering. (CIDR of /29)", +"type": "string" +}, +"vpc": { +"description": "Required. Fully qualified name of the VPC that Datastream will peer to. Format: `projects/{project}/global/{networks}/{name}`", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Datastream 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/deploymentmanager.v2beta.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/deploymentmanager.v2beta.json new file mode 100644 index 0000000000000000000000000000000000000000..85ea7ba51b5d94d8cc8dbf5177ec9cb56ee38d2c --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/deploymentmanager.v2beta.json @@ -0,0 +1,3844 @@ +{ +"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:v2beta", +"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": { +"compositeTypes": { +"methods": { +"delete": { +"description": "Deletes a composite type.", +"flatPath": "deploymentmanager/v2beta/projects/{project}/global/compositeTypes/{compositeType}", +"httpMethod": "DELETE", +"id": "deploymentmanager.compositeTypes.delete", +"parameterOrder": [ +"project", +"compositeType" +], +"parameters": { +"compositeType": { +"description": "The name of the type 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/v2beta/projects/{project}/global/compositeTypes/{compositeType}", +"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 composite type.", +"flatPath": "deploymentmanager/v2beta/projects/{project}/global/compositeTypes/{compositeType}", +"httpMethod": "GET", +"id": "deploymentmanager.compositeTypes.get", +"parameterOrder": [ +"project", +"compositeType" +], +"parameters": { +"compositeType": { +"description": "The name of the composite type 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/v2beta/projects/{project}/global/compositeTypes/{compositeType}", +"response": { +"$ref": "CompositeType" +}, +"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" +] +}, +"insert": { +"description": "Creates a composite type.", +"flatPath": "deploymentmanager/v2beta/projects/{project}/global/compositeTypes", +"httpMethod": "POST", +"id": "deploymentmanager.compositeTypes.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"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/v2beta/projects/{project}/global/compositeTypes", +"request": { +"$ref": "CompositeType" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.cloudman" +] +}, +"list": { +"description": "Lists all composite types for Deployment Manager.", +"flatPath": "deploymentmanager/v2beta/projects/{project}/global/compositeTypes", +"httpMethod": "GET", +"id": "deploymentmanager.compositeTypes.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/v2beta/projects/{project}/global/compositeTypes", +"response": { +"$ref": "CompositeTypesListResponse" +}, +"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 composite type.", +"flatPath": "deploymentmanager/v2beta/projects/{project}/global/compositeTypes/{compositeType}", +"httpMethod": "PATCH", +"id": "deploymentmanager.compositeTypes.patch", +"parameterOrder": [ +"project", +"compositeType" +], +"parameters": { +"compositeType": { +"description": "The name of the composite type 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/v2beta/projects/{project}/global/compositeTypes/{compositeType}", +"request": { +"$ref": "CompositeType" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.cloudman" +] +}, +"update": { +"description": "Updates a composite type.", +"flatPath": "deploymentmanager/v2beta/projects/{project}/global/compositeTypes/{compositeType}", +"httpMethod": "PUT", +"id": "deploymentmanager.compositeTypes.update", +"parameterOrder": [ +"project", +"compositeType" +], +"parameters": { +"compositeType": { +"description": "The name of the composite type 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/v2beta/projects/{project}/global/compositeTypes/{compositeType}", +"request": { +"$ref": "CompositeType" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.cloudman" +] +} +} +}, +"deployments": { +"methods": { +"cancelPreview": { +"description": "Cancels and removes the preview currently associated with the deployment.", +"flatPath": "deploymentmanager/v2beta/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/v2beta/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/v2beta/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/v2beta/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/v2beta/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/v2beta/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/v2beta/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/v2beta/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/v2beta/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", +"CREATE" +], +"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/v2beta/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/v2beta/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/v2beta/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/v2beta/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", +"CREATE" +], +"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/v2beta/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/v2beta/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/v2beta/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/v2beta/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/v2beta/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/v2beta/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/v2beta/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/v2beta/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", +"CREATE" +], +"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/v2beta/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/v2beta/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/v2beta/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/v2beta/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/v2beta/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/v2beta/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/v2beta/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/v2beta/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/v2beta/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/v2beta/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/v2beta/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/v2beta/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/v2beta/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" +] +} +} +}, +"typeProviders": { +"methods": { +"delete": { +"description": "Deletes a type provider.", +"flatPath": "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}", +"httpMethod": "DELETE", +"id": "deploymentmanager.typeProviders.delete", +"parameterOrder": [ +"project", +"typeProvider" +], +"parameters": { +"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" +}, +"typeProvider": { +"description": "The name of the type provider for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}", +"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 type provider.", +"flatPath": "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}", +"httpMethod": "GET", +"id": "deploymentmanager.typeProviders.get", +"parameterOrder": [ +"project", +"typeProvider" +], +"parameters": { +"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" +}, +"typeProvider": { +"description": "The name of the type provider for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}", +"response": { +"$ref": "TypeProvider" +}, +"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" +] +}, +"getType": { +"description": "Gets a type info for a type provided by a TypeProvider.", +"flatPath": "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}/types/{type}", +"httpMethod": "GET", +"id": "deploymentmanager.typeProviders.getType", +"parameterOrder": [ +"project", +"typeProvider", +"type" +], +"parameters": { +"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" +}, +"type": { +"description": "The name of the type provider type for this request.", +"location": "path", +"required": true, +"type": "string" +}, +"typeProvider": { +"description": "The name of the type provider for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}/types/{type}", +"response": { +"$ref": "TypeInfo" +}, +"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" +] +}, +"insert": { +"description": "Creates a type provider.", +"flatPath": "deploymentmanager/v2beta/projects/{project}/global/typeProviders", +"httpMethod": "POST", +"id": "deploymentmanager.typeProviders.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"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/v2beta/projects/{project}/global/typeProviders", +"request": { +"$ref": "TypeProvider" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.cloudman" +] +}, +"list": { +"description": "Lists all resource type providers for Deployment Manager.", +"flatPath": "deploymentmanager/v2beta/projects/{project}/global/typeProviders", +"httpMethod": "GET", +"id": "deploymentmanager.typeProviders.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/v2beta/projects/{project}/global/typeProviders", +"response": { +"$ref": "TypeProvidersListResponse" +}, +"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" +] +}, +"listTypes": { +"description": "Lists all the type info for a TypeProvider.", +"flatPath": "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}/types", +"httpMethod": "GET", +"id": "deploymentmanager.typeProviders.listTypes", +"parameterOrder": [ +"project", +"typeProvider" +], +"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" +}, +"typeProvider": { +"description": "The name of the type provider for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}/types", +"response": { +"$ref": "TypeProvidersListTypesResponse" +}, +"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 type provider.", +"flatPath": "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}", +"httpMethod": "PATCH", +"id": "deploymentmanager.typeProviders.patch", +"parameterOrder": [ +"project", +"typeProvider" +], +"parameters": { +"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" +}, +"typeProvider": { +"description": "The name of the type provider for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}", +"request": { +"$ref": "TypeProvider" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.cloudman" +] +}, +"update": { +"description": "Updates a type provider.", +"flatPath": "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}", +"httpMethod": "PUT", +"id": "deploymentmanager.typeProviders.update", +"parameterOrder": [ +"project", +"typeProvider" +], +"parameters": { +"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" +}, +"typeProvider": { +"description": "The name of the type provider for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}", +"request": { +"$ref": "TypeProvider" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.cloudman" +] +} +} +}, +"types": { +"methods": { +"list": { +"description": "Lists all resource types for Deployment Manager.", +"flatPath": "deploymentmanager/v2beta/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/v2beta/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": { +"AsyncOptions": { +"description": "Async options that determine when a resource should finish.", +"id": "AsyncOptions", +"properties": { +"methodMatch": { +"description": "Method regex where this policy will apply.", +"type": "string" +}, +"pollingOptions": { +"$ref": "PollingOptions", +"description": "Deployment manager will poll instances for this API resource setting a RUNNING state, and blocking until polling conditions tell whether the resource is completed or failed." +} +}, +"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" +}, +"BaseType": { +"description": "BaseType that describes a service-backed Type.", +"id": "BaseType", +"properties": { +"collectionOverrides": { +"description": "Allows resource handling overrides for specific collections", +"items": { +"$ref": "CollectionOverride" +}, +"type": "array" +}, +"credential": { +"$ref": "Credential", +"description": "Credential used when interacting with this type." +}, +"descriptorUrl": { +"description": "Descriptor Url for the this type.", +"type": "string" +}, +"options": { +"$ref": "Options", +"description": "Options to apply when handling any resources in this service." +} +}, +"type": "object" +}, +"BasicAuth": { +"description": "Basic Auth used as a credential.", +"id": "BasicAuth", +"properties": { +"password": { +"type": "string" +}, +"user": { +"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" +}, +"CollectionOverride": { +"description": "CollectionOverride allows resource handling overrides for specific resources within a BaseType", +"id": "CollectionOverride", +"properties": { +"collection": { +"description": "The collection that identifies this resource within its service.", +"type": "string" +}, +"options": { +"$ref": "Options", +"description": "The options to apply to this resource-level override" +} +}, +"type": "object" +}, +"CompositeType": { +"description": "Holds the composite type.", +"id": "CompositeType", +"properties": { +"description": { +"description": "An optional textual description of the resource; provided by the client when the resource is created.", +"type": "string" +}, +"id": { +"format": "uint64", +"type": "string" +}, +"insertTime": { +"description": "Output only. Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"labels": { +"description": "Map of 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": "CompositeTypeLabelEntry" +}, +"type": "array" +}, +"name": { +"description": "Name of the composite type, must follow the expression: `[a-z]([-a-z0-9_.]{0,61}[a-z0-9])?`.", +"type": "string" +}, +"operation": { +"$ref": "Operation", +"description": "Output only. The Operation that most recently ran, or is currently running, on this composite type." +}, +"selfLink": { +"description": "Output only. Server defined URL for the resource.", +"type": "string" +}, +"status": { +"enum": [ +"UNKNOWN_STATUS", +"DEPRECATED", +"EXPERIMENTAL", +"SUPPORTED" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"templateContents": { +"$ref": "TemplateContents", +"description": "Files for the template type." +} +}, +"type": "object" +}, +"CompositeTypeLabelEntry": { +"description": "Label object for CompositeTypes", +"id": "CompositeTypeLabelEntry", +"properties": { +"key": { +"description": "Key of the label", +"type": "string" +}, +"value": { +"description": "Value of the label", +"type": "string" +} +}, +"type": "object" +}, +"CompositeTypesListResponse": { +"description": "A response that returns all Composite Types supported by Deployment Manager", +"id": "CompositeTypesListResponse", +"properties": { +"compositeTypes": { +"description": "Output only. A list of resource composite types supported by Deployment Manager.", +"items": { +"$ref": "CompositeType" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token used to continue a truncated list request.", +"type": "string" +} +}, +"type": "object" +}, +"ConfigFile": { +"id": "ConfigFile", +"properties": { +"content": { +"description": "The contents of the file.", +"type": "string" +} +}, +"type": "object" +}, +"Credential": { +"description": "The credential used by Deployment Manager and TypeProvider. Only one of the options is permitted.", +"id": "Credential", +"properties": { +"basicAuth": { +"$ref": "BasicAuth", +"description": "Basic Auth Credential, only used by TypeProvider." +}, +"serviceAccount": { +"$ref": "ServiceAccount", +"description": "Service Account Credential, only used by Deployment." +}, +"useProjectDefault": { +"description": "Specify to use the project default credential, only supported by Deployment.", +"type": "boolean" +} +}, +"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" +}, +"Diagnostic": { +"id": "Diagnostic", +"properties": { +"field": { +"description": "JsonPath expression on the resource that if non empty, indicates that this field needs to be extracted as a diagnostic.", +"type": "string" +}, +"level": { +"description": "Level to record this diagnostic.", +"enum": [ +"UNKNOWN", +"INFORMATION", +"WARNING", +"ERROR" +], +"enumDescriptions": [ +"", +"If level is informational, it only gets displayed as part of the resource.", +"If level is warning, will end up in the resource as a warning.", +"If level is error, it will indicate an error occurred after finishCondition is set, and this field will populate resource errors and operation errors." +], +"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" +}, +"InputMapping": { +"description": "InputMapping creates a 'virtual' property that will be injected into the properties before sending the request to the underlying API.", +"id": "InputMapping", +"properties": { +"fieldName": { +"description": "The name of the field that is going to be injected.", +"type": "string" +}, +"location": { +"description": "The location where this mapping applies.", +"enum": [ +"UNKNOWN", +"PATH", +"QUERY", +"BODY", +"HEADER" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"methodMatch": { +"description": "Regex to evaluate on method to decide if input applies.", +"type": "string" +}, +"value": { +"description": "A jsonPath expression to select an element.", +"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" +}, +"Options": { +"description": "Options allows customized resource handling by Deployment Manager.", +"id": "Options", +"properties": { +"asyncOptions": { +"description": "Options regarding how to thread async requests.", +"items": { +"$ref": "AsyncOptions" +}, +"type": "array" +}, +"inputMappings": { +"description": "The mappings that apply for requests.", +"items": { +"$ref": "InputMapping" +}, +"type": "array" +}, +"validationOptions": { +"$ref": "ValidationOptions", +"description": "Options for how to validate and process properties on a resource." +}, +"virtualProperties": { +"description": "Additional properties block described as a jsonSchema, these properties will never be part of the json payload, but they can be consumed by InputMappings, this must be a valid json schema draft-04. The properties specified here will be decouple in a different section. This schema will be merged to the schema validation, and properties here will be extracted From the payload and consumed explicitly by InputMappings. ex: field1: type: string field2: type: number", +"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" +}, +"PollingOptions": { +"id": "PollingOptions", +"properties": { +"diagnostics": { +"description": "An array of diagnostics to be collected by Deployment Manager, these diagnostics will be displayed to the user.", +"items": { +"$ref": "Diagnostic" +}, +"type": "array" +}, +"failCondition": { +"description": "JsonPath expression that determines if the request failed.", +"type": "string" +}, +"finishCondition": { +"description": "JsonPath expression that determines if the request is completed.", +"type": "string" +}, +"pollingLink": { +"description": "JsonPath expression that evaluates to string, it indicates where to poll.", +"type": "string" +}, +"targetLink": { +"description": "JsonPath expression, after polling is completed, indicates where to fetch the resource.", +"type": "string" +} +}, +"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" +}, +"ServiceAccount": { +"description": "Service Account used as a credential.", +"id": "ServiceAccount", +"properties": { +"email": { +"description": "The IAM service account email address like test@myproject.iam.gserviceaccount.com", +"type": "string" +} +}, +"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" +}, +"TemplateContents": { +"description": "Files that make up the template contents of a template type.", +"id": "TemplateContents", +"properties": { +"imports": { +"description": "Import files referenced by the main template.", +"items": { +"$ref": "ImportFile" +}, +"type": "array" +}, +"interpreter": { +"description": "Which interpreter (python or jinja) should be used during expansion.", +"enum": [ +"UNKNOWN_INTERPRETER", +"PYTHON", +"JINJA" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"mainTemplate": { +"description": "The filename of the mainTemplate", +"type": "string" +}, +"schema": { +"description": "The contents of the template schema.", +"type": "string" +}, +"template": { +"description": "The contents of the main template file.", +"type": "string" +} +}, +"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": { +"base": { +"$ref": "BaseType", +"description": "Base Type (configurable service) that backs this Type." +}, +"description": { +"description": "An optional textual description of the resource; provided by the client when the resource is created.", +"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": "TypeLabelEntry" +}, +"type": "array" +}, +"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" +}, +"TypeInfo": { +"description": "Type Information. Contains detailed information about a composite type, base type, or base type with specific collection.", +"id": "TypeInfo", +"properties": { +"description": { +"description": "The description of the type.", +"type": "string" +}, +"documentationLink": { +"description": "For swagger 2.0 externalDocs field will be used. For swagger 1.2 this field will be empty.", +"type": "string" +}, +"kind": { +"description": "Output only. Type of the output. Always `deploymentManager#TypeInfo` for TypeInfo.", +"type": "string" +}, +"name": { +"description": "The base type or composite type name.", +"type": "string" +}, +"schema": { +"$ref": "TypeInfoSchemaInfo", +"description": "For base types with a collection, we return a schema and documentation link For template types, we return only a schema" +}, +"selfLink": { +"description": "Output only. Self link for the type provider.", +"type": "string" +}, +"title": { +"description": "The title on the API descriptor URL provided.", +"type": "string" +} +}, +"type": "object" +}, +"TypeInfoSchemaInfo": { +"id": "TypeInfoSchemaInfo", +"properties": { +"input": { +"description": "The properties that this composite type or base type collection accept as input, represented as a json blob, format is: JSON Schema Draft V4", +"type": "string" +}, +"output": { +"description": "The properties that this composite type or base type collection exposes as output, these properties can be used for references, represented as json blob, format is: JSON Schema Draft V4", +"type": "string" +} +}, +"type": "object" +}, +"TypeLabelEntry": { +"description": "Label object for Types", +"id": "TypeLabelEntry", +"properties": { +"key": { +"description": "Key of the label", +"type": "string" +}, +"value": { +"description": "Value of the label", +"type": "string" +} +}, +"type": "object" +}, +"TypeProvider": { +"description": "A type provider that describes a service-backed Type.", +"id": "TypeProvider", +"properties": { +"collectionOverrides": { +"description": "Allows resource handling overrides for specific collections", +"items": { +"$ref": "CollectionOverride" +}, +"type": "array" +}, +"credential": { +"$ref": "Credential", +"description": "Credential used when interacting with this type." +}, +"customCertificateAuthorityRoots": { +"description": "List of up to 2 custom certificate authority roots to use for TLS authentication when making calls on behalf of this type provider. If set, TLS authentication will exclusively use these roots instead of relying on publicly trusted certificate authorities when validating TLS certificate authenticity. The certificates must be in base64-encoded PEM format. The maximum size of each certificate must not exceed 10KB.", +"items": { +"type": "string" +}, +"type": "array" +}, +"description": { +"description": "An optional textual description of the resource; provided by the client when the resource is created.", +"type": "string" +}, +"descriptorUrl": { +"description": "Descriptor Url for the this type provider.", +"type": "string" +}, +"id": { +"description": "Output only. Unique identifier for the resource defined by the server.", +"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": "TypeProviderLabelEntry" +}, +"type": "array" +}, +"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 type provider." +}, +"options": { +"$ref": "Options", +"description": "Options to apply when handling any resources in this service." +}, +"selfLink": { +"description": "Output only. Self link for the type provider.", +"type": "string" +} +}, +"type": "object" +}, +"TypeProviderLabelEntry": { +"description": "Label object for TypeProviders", +"id": "TypeProviderLabelEntry", +"properties": { +"key": { +"description": "Key of the label", +"type": "string" +}, +"value": { +"description": "Value of the label", +"type": "string" +} +}, +"type": "object" +}, +"TypeProvidersListResponse": { +"description": "A response that returns all Type Providers supported by Deployment Manager", +"id": "TypeProvidersListResponse", +"properties": { +"nextPageToken": { +"description": "A token used to continue a truncated list request.", +"type": "string" +}, +"typeProviders": { +"description": "Output only. A list of resource type providers supported by Deployment Manager.", +"items": { +"$ref": "TypeProvider" +}, +"type": "array" +} +}, +"type": "object" +}, +"TypeProvidersListTypesResponse": { +"id": "TypeProvidersListTypesResponse", +"properties": { +"nextPageToken": { +"description": "A token used to continue a truncated list request.", +"type": "string" +}, +"types": { +"description": "Output only. A list of resource type info.", +"items": { +"$ref": "TypeInfo" +}, +"type": "array" +} +}, +"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" +}, +"ValidationOptions": { +"description": "Options for how to validate and process properties on a resource.", +"id": "ValidationOptions", +"properties": { +"schemaValidation": { +"description": "Customize how deployment manager will validate the resource against schema errors.", +"enum": [ +"UNKNOWN", +"IGNORE", +"IGNORE_WITH_WARNINGS", +"FAIL" +], +"enumDescriptions": [ +"", +"Ignore schema failures.", +"Ignore schema failures but display them as warnings.", +"Fail the resource if the schema is not valid, this is the default behavior." +], +"type": "string" +}, +"undeclaredProperties": { +"description": "Specify what to do with extra properties when executing a request.", +"enum": [ +"UNKNOWN", +"INCLUDE", +"IGNORE", +"INCLUDE_WITH_WARNINGS", +"IGNORE_WITH_WARNINGS", +"FAIL" +], +"enumDescriptions": [ +"", +"Always include even if not present on discovery doc.", +"Always ignore if not present on discovery doc.", +"Include on request, but emit a warning.", +"Ignore properties, but emit a warning.", +"Always fail if undeclared properties are present." +], +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Deployment Manager V2 API", +"version": "v2beta" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/dfareporting.v3.4.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/dfareporting.v3.4.json new file mode 100644 index 0000000000000000000000000000000000000000..cff2eacccf61bf026609b03595c0ee3a80fdc981 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/dfareporting.v3.4.json @@ -0,0 +1,20725 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/ddmconversions": { + "description": "Manage DoubleClick Digital Marketing conversions" + }, + "https://www.googleapis.com/auth/dfareporting": { + "description": "View and manage DoubleClick for Advertisers reports" + }, + "https://www.googleapis.com/auth/dfatrafficking": { + "description": "View and manage your DoubleClick Campaign Manager's (DCM) display ad campaigns" + } + } + } + }, + "basePath": "/dfareporting/v3.4/", + "baseUrl": "https://dfareporting.googleapis.com/dfareporting/v3.4/", + "batchPath": "batch", + "canonicalName": "Dfareporting", + "description": "Build applications to efficiently manage large or complex trafficking, reporting, and attribution workflows for Campaign Manager 360.", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/doubleclick-advertisers/", + "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": "dfareporting:v3.4", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://dfareporting.mtls.googleapis.com/", + "name": "dfareporting", + "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": { + "accountActiveAdSummaries": { + "methods": { + "get": { + "description": "Gets the account's active ad summary by account ID.", + "flatPath": "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}", + "httpMethod": "GET", + "id": "dfareporting.accountActiveAdSummaries.get", + "parameterOrder": [ + "profileId", + "summaryAccountId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "summaryAccountId": { + "description": "Account ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}", + "response": { + "$ref": "AccountActiveAdSummary" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "accountPermissionGroups": { + "methods": { + "get": { + "description": "Gets one account permission group by ID.", + "flatPath": "userprofiles/{profileId}/accountPermissionGroups/{id}", + "httpMethod": "GET", + "id": "dfareporting.accountPermissionGroups.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Account permission group ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/accountPermissionGroups/{id}", + "response": { + "$ref": "AccountPermissionGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves the list of account permission groups.", + "flatPath": "userprofiles/{profileId}/accountPermissionGroups", + "httpMethod": "GET", + "id": "dfareporting.accountPermissionGroups.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/accountPermissionGroups", + "response": { + "$ref": "AccountPermissionGroupsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "accountPermissions": { + "methods": { + "get": { + "description": "Gets one account permission by ID.", + "flatPath": "userprofiles/{profileId}/accountPermissions/{id}", + "httpMethod": "GET", + "id": "dfareporting.accountPermissions.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Account permission ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/accountPermissions/{id}", + "response": { + "$ref": "AccountPermission" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves the list of account permissions.", + "flatPath": "userprofiles/{profileId}/accountPermissions", + "httpMethod": "GET", + "id": "dfareporting.accountPermissions.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/accountPermissions", + "response": { + "$ref": "AccountPermissionsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "accountUserProfiles": { + "methods": { + "get": { + "description": "Gets one account user profile by ID.", + "flatPath": "userprofiles/{profileId}/accountUserProfiles/{id}", + "httpMethod": "GET", + "id": "dfareporting.accountUserProfiles.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "User profile ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/accountUserProfiles/{id}", + "response": { + "$ref": "AccountUserProfile" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new account user profile.", + "flatPath": "userprofiles/{profileId}/accountUserProfiles", + "httpMethod": "POST", + "id": "dfareporting.accountUserProfiles.insert", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/accountUserProfiles", + "request": { + "$ref": "AccountUserProfile" + }, + "response": { + "$ref": "AccountUserProfile" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of account user profiles, possibly filtered. This method supports paging.", + "flatPath": "userprofiles/{profileId}/accountUserProfiles", + "httpMethod": "GET", + "id": "dfareporting.accountUserProfiles.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "active": { + "description": "Select only active user profiles.", + "location": "query", + "type": "boolean" + }, + "ids": { + "description": "Select only user profiles with these IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "maxResults": { + "default": "1000", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "1000", + "minimum": "0", + "type": "integer" + }, + "pageToken": { + "description": "Value of the nextPageToken from the previous result page.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "searchString": { + "description": "Allows searching for objects by name, ID or email. Wildcards (*) are allowed. For example, \"user profile*2015\" will return objects with names like \"user profile June 2015\", \"user profile April 2015\", or simply \"user profile 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"user profile\" will match objects with name \"my user profile\", \"user profile 2015\", or simply \"user profile\".", + "location": "query", + "type": "string" + }, + "sortField": { + "default": "ID", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "default": "ASCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "subaccountId": { + "description": "Select only user profiles with the specified subaccount ID.", + "format": "int64", + "location": "query", + "type": "string" + }, + "userRoleId": { + "description": "Select only user profiles with the specified user role ID.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "userprofiles/{profileId}/accountUserProfiles", + "response": { + "$ref": "AccountUserProfilesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "description": "Updates an existing account user profile. This method supports patch semantics.", + "flatPath": "userprofiles/{profileId}/accountUserProfiles", + "httpMethod": "PATCH", + "id": "dfareporting.accountUserProfiles.patch", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "AccountUserProfile ID.", + "format": "int64", + "location": "query", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/accountUserProfiles", + "request": { + "$ref": "AccountUserProfile" + }, + "response": { + "$ref": "AccountUserProfile" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing account user profile.", + "flatPath": "userprofiles/{profileId}/accountUserProfiles", + "httpMethod": "PUT", + "id": "dfareporting.accountUserProfiles.update", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/accountUserProfiles", + "request": { + "$ref": "AccountUserProfile" + }, + "response": { + "$ref": "AccountUserProfile" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "accounts": { + "methods": { + "get": { + "description": "Gets one account by ID.", + "flatPath": "userprofiles/{profileId}/accounts/{id}", + "httpMethod": "GET", + "id": "dfareporting.accounts.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Account ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/accounts/{id}", + "response": { + "$ref": "Account" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves the list of accounts, possibly filtered. This method supports paging.", + "flatPath": "userprofiles/{profileId}/accounts", + "httpMethod": "GET", + "id": "dfareporting.accounts.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "active": { + "description": "Select only active accounts. Don't set this field to select both active and non-active accounts.", + "location": "query", + "type": "boolean" + }, + "ids": { + "description": "Select only accounts with these IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "maxResults": { + "default": "1000", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "1000", + "minimum": "0", + "type": "integer" + }, + "pageToken": { + "description": "Value of the nextPageToken from the previous result page.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "searchString": { + "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"account*2015\" will return objects with names like \"account June 2015\", \"account April 2015\", or simply \"account 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"account\" will match objects with name \"my account\", \"account 2015\", or simply \"account\".", + "location": "query", + "type": "string" + }, + "sortField": { + "default": "ID", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "default": "ASCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + } + }, + "path": "userprofiles/{profileId}/accounts", + "response": { + "$ref": "AccountsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "description": "Updates an existing account. This method supports patch semantics.", + "flatPath": "userprofiles/{profileId}/accounts", + "httpMethod": "PATCH", + "id": "dfareporting.accounts.patch", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Account ID.", + "format": "int64", + "location": "query", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/accounts", + "request": { + "$ref": "Account" + }, + "response": { + "$ref": "Account" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing account.", + "flatPath": "userprofiles/{profileId}/accounts", + "httpMethod": "PUT", + "id": "dfareporting.accounts.update", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/accounts", + "request": { + "$ref": "Account" + }, + "response": { + "$ref": "Account" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "ads": { + "methods": { + "get": { + "description": "Gets one ad by ID.", + "flatPath": "userprofiles/{profileId}/ads/{id}", + "httpMethod": "GET", + "id": "dfareporting.ads.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Ad ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/ads/{id}", + "response": { + "$ref": "Ad" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new ad.", + "flatPath": "userprofiles/{profileId}/ads", + "httpMethod": "POST", + "id": "dfareporting.ads.insert", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/ads", + "request": { + "$ref": "Ad" + }, + "response": { + "$ref": "Ad" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of ads, possibly filtered. This method supports paging.", + "flatPath": "userprofiles/{profileId}/ads", + "httpMethod": "GET", + "id": "dfareporting.ads.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "active": { + "description": "Select only active ads.", + "location": "query", + "type": "boolean" + }, + "advertiserId": { + "description": "Select only ads with this advertiser ID.", + "format": "int64", + "location": "query", + "type": "string" + }, + "archived": { + "description": "Select only archived ads.", + "location": "query", + "type": "boolean" + }, + "audienceSegmentIds": { + "description": "Select only ads with these audience segment IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "campaignIds": { + "description": "Select only ads with these campaign IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "compatibility": { + "description": "Select default ads with the specified compatibility. Applicable when type is AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an in-stream video ads developed with the VAST standard.", + "enum": [ + "DISPLAY", + "DISPLAY_INTERSTITIAL", + "APP", + "APP_INTERSTITIAL", + "IN_STREAM_VIDEO", + "IN_STREAM_AUDIO" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ], + "location": "query", + "type": "string" + }, + "creativeIds": { + "description": "Select only ads with these creative IDs assigned.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "creativeOptimizationConfigurationIds": { + "description": "Select only ads with these creative optimization configuration IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "dynamicClickTracker": { + "description": "Select only dynamic click trackers. Applicable when type is AD_SERVING_CLICK_TRACKER. If true, select dynamic click trackers. If false, select static click trackers. Leave unset to select both.", + "location": "query", + "type": "boolean" + }, + "ids": { + "description": "Select only ads with these IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "landingPageIds": { + "description": "Select only ads with these landing page IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "maxResults": { + "default": "1000", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "1000", + "minimum": "0", + "type": "integer" + }, + "overriddenEventTagId": { + "description": "Select only ads with this event tag override ID.", + "format": "int64", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Value of the nextPageToken from the previous result page.", + "location": "query", + "type": "string" + }, + "placementIds": { + "description": "Select only ads with these placement IDs assigned.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "remarketingListIds": { + "description": "Select only ads whose list targeting expression use these remarketing list IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "searchString": { + "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"ad*2015\" will return objects with names like \"ad June 2015\", \"ad April 2015\", or simply \"ad 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"ad\" will match objects with name \"my ad\", \"ad 2015\", or simply \"ad\".", + "location": "query", + "type": "string" + }, + "sizeIds": { + "description": "Select only ads with these size IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "sortField": { + "default": "ID", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "default": "ASCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "sslCompliant": { + "description": "Select only ads that are SSL-compliant.", + "location": "query", + "type": "boolean" + }, + "sslRequired": { + "description": "Select only ads that require SSL.", + "location": "query", + "type": "boolean" + }, + "type": { + "description": "Select only ads with these types.", + "enum": [ + "AD_SERVING_STANDARD_AD", + "AD_SERVING_DEFAULT_AD", + "AD_SERVING_CLICK_TRACKER", + "AD_SERVING_TRACKING", + "AD_SERVING_BRAND_SAFE_AD" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ], + "location": "query", + "repeated": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/ads", + "response": { + "$ref": "AdsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "description": "Updates an existing ad. This method supports patch semantics.", + "flatPath": "userprofiles/{profileId}/ads", + "httpMethod": "PATCH", + "id": "dfareporting.ads.patch", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Ad ID.", + "format": "int64", + "location": "query", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/ads", + "request": { + "$ref": "Ad" + }, + "response": { + "$ref": "Ad" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing ad.", + "flatPath": "userprofiles/{profileId}/ads", + "httpMethod": "PUT", + "id": "dfareporting.ads.update", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/ads", + "request": { + "$ref": "Ad" + }, + "response": { + "$ref": "Ad" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "advertiserGroups": { + "methods": { + "delete": { + "description": "Deletes an existing advertiser group.", + "flatPath": "userprofiles/{profileId}/advertiserGroups/{id}", + "httpMethod": "DELETE", + "id": "dfareporting.advertiserGroups.delete", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Advertiser group ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/advertiserGroups/{id}", + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "get": { + "description": "Gets one advertiser group by ID.", + "flatPath": "userprofiles/{profileId}/advertiserGroups/{id}", + "httpMethod": "GET", + "id": "dfareporting.advertiserGroups.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Advertiser group ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/advertiserGroups/{id}", + "response": { + "$ref": "AdvertiserGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new advertiser group.", + "flatPath": "userprofiles/{profileId}/advertiserGroups", + "httpMethod": "POST", + "id": "dfareporting.advertiserGroups.insert", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/advertiserGroups", + "request": { + "$ref": "AdvertiserGroup" + }, + "response": { + "$ref": "AdvertiserGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of advertiser groups, possibly filtered. This method supports paging.", + "flatPath": "userprofiles/{profileId}/advertiserGroups", + "httpMethod": "GET", + "id": "dfareporting.advertiserGroups.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "ids": { + "description": "Select only advertiser groups with these IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "maxResults": { + "default": "1000", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "1000", + "minimum": "0", + "type": "integer" + }, + "pageToken": { + "description": "Value of the nextPageToken from the previous result page.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "searchString": { + "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"advertiser*2015\" will return objects with names like \"advertiser group June 2015\", \"advertiser group April 2015\", or simply \"advertiser group 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"advertisergroup\" will match objects with name \"my advertisergroup\", \"advertisergroup 2015\", or simply \"advertisergroup\".", + "location": "query", + "type": "string" + }, + "sortField": { + "default": "ID", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "default": "ASCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + } + }, + "path": "userprofiles/{profileId}/advertiserGroups", + "response": { + "$ref": "AdvertiserGroupsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "description": "Updates an existing advertiser group. This method supports patch semantics.", + "flatPath": "userprofiles/{profileId}/advertiserGroups", + "httpMethod": "PATCH", + "id": "dfareporting.advertiserGroups.patch", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "AdvertiserGroup ID.", + "format": "int64", + "location": "query", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/advertiserGroups", + "request": { + "$ref": "AdvertiserGroup" + }, + "response": { + "$ref": "AdvertiserGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing advertiser group.", + "flatPath": "userprofiles/{profileId}/advertiserGroups", + "httpMethod": "PUT", + "id": "dfareporting.advertiserGroups.update", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/advertiserGroups", + "request": { + "$ref": "AdvertiserGroup" + }, + "response": { + "$ref": "AdvertiserGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "advertiserLandingPages": { + "methods": { + "get": { + "description": "Gets one landing page by ID.", + "flatPath": "userprofiles/{profileId}/advertiserLandingPages/{id}", + "httpMethod": "GET", + "id": "dfareporting.advertiserLandingPages.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Landing page ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/advertiserLandingPages/{id}", + "response": { + "$ref": "LandingPage" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new landing page.", + "flatPath": "userprofiles/{profileId}/advertiserLandingPages", + "httpMethod": "POST", + "id": "dfareporting.advertiserLandingPages.insert", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/advertiserLandingPages", + "request": { + "$ref": "LandingPage" + }, + "response": { + "$ref": "LandingPage" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of landing pages.", + "flatPath": "userprofiles/{profileId}/advertiserLandingPages", + "httpMethod": "GET", + "id": "dfareporting.advertiserLandingPages.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "advertiserIds": { + "description": "Select only landing pages that belong to these advertisers.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "archived": { + "description": "Select only archived landing pages. Don't set this field to select both archived and non-archived landing pages.", + "location": "query", + "type": "boolean" + }, + "campaignIds": { + "description": "Select only landing pages that are associated with these campaigns.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "ids": { + "description": "Select only landing pages with these IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "maxResults": { + "default": "1000", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "1000", + "minimum": "0", + "type": "integer" + }, + "pageToken": { + "description": "Value of the nextPageToken from the previous result page.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "searchString": { + "description": "Allows searching for landing pages by name or ID. Wildcards (*) are allowed. For example, \"landingpage*2017\" will return landing pages with names like \"landingpage July 2017\", \"landingpage March 2017\", or simply \"landingpage 2017\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"landingpage\" will match campaigns with name \"my landingpage\", \"landingpage 2015\", or simply \"landingpage\".", + "location": "query", + "type": "string" + }, + "sortField": { + "default": "ID", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "default": "ASCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "subaccountId": { + "description": "Select only landing pages that belong to this subaccount.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "userprofiles/{profileId}/advertiserLandingPages", + "response": { + "$ref": "AdvertiserLandingPagesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "description": "Updates an existing advertiser landing page. This method supports patch semantics.", + "flatPath": "userprofiles/{profileId}/advertiserLandingPages", + "httpMethod": "PATCH", + "id": "dfareporting.advertiserLandingPages.patch", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "LandingPage ID.", + "format": "int64", + "location": "query", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/advertiserLandingPages", + "request": { + "$ref": "LandingPage" + }, + "response": { + "$ref": "LandingPage" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing landing page.", + "flatPath": "userprofiles/{profileId}/advertiserLandingPages", + "httpMethod": "PUT", + "id": "dfareporting.advertiserLandingPages.update", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/advertiserLandingPages", + "request": { + "$ref": "LandingPage" + }, + "response": { + "$ref": "LandingPage" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "advertisers": { + "methods": { + "get": { + "description": "Gets one advertiser by ID.", + "flatPath": "userprofiles/{profileId}/advertisers/{id}", + "httpMethod": "GET", + "id": "dfareporting.advertisers.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Advertiser ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/advertisers/{id}", + "response": { + "$ref": "Advertiser" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new advertiser.", + "flatPath": "userprofiles/{profileId}/advertisers", + "httpMethod": "POST", + "id": "dfareporting.advertisers.insert", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/advertisers", + "request": { + "$ref": "Advertiser" + }, + "response": { + "$ref": "Advertiser" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of advertisers, possibly filtered. This method supports paging.", + "flatPath": "userprofiles/{profileId}/advertisers", + "httpMethod": "GET", + "id": "dfareporting.advertisers.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "advertiserGroupIds": { + "description": "Select only advertisers with these advertiser group IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "floodlightConfigurationIds": { + "description": "Select only advertisers with these floodlight configuration IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "ids": { + "description": "Select only advertisers with these IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "includeAdvertisersWithoutGroupsOnly": { + "description": "Select only advertisers which do not belong to any advertiser group.", + "location": "query", + "type": "boolean" + }, + "maxResults": { + "default": "1000", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "1000", + "minimum": "0", + "type": "integer" + }, + "onlyParent": { + "description": "Select only advertisers which use another advertiser's floodlight configuration.", + "location": "query", + "type": "boolean" + }, + "pageToken": { + "description": "Value of the nextPageToken from the previous result page.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "searchString": { + "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"advertiser*2015\" will return objects with names like \"advertiser June 2015\", \"advertiser April 2015\", or simply \"advertiser 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"advertiser\" will match objects with name \"my advertiser\", \"advertiser 2015\", or simply \"advertiser\" .", + "location": "query", + "type": "string" + }, + "sortField": { + "default": "ID", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "default": "ASCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "status": { + "description": "Select only advertisers with the specified status.", + "enum": [ + "APPROVED", + "ON_HOLD" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "subaccountId": { + "description": "Select only advertisers with these subaccount IDs.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "userprofiles/{profileId}/advertisers", + "response": { + "$ref": "AdvertisersListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "description": "Updates an existing advertiser. This method supports patch semantics.", + "flatPath": "userprofiles/{profileId}/advertisers", + "httpMethod": "PATCH", + "id": "dfareporting.advertisers.patch", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Advertiser ID.", + "format": "int64", + "location": "query", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/advertisers", + "request": { + "$ref": "Advertiser" + }, + "response": { + "$ref": "Advertiser" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing advertiser.", + "flatPath": "userprofiles/{profileId}/advertisers", + "httpMethod": "PUT", + "id": "dfareporting.advertisers.update", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/advertisers", + "request": { + "$ref": "Advertiser" + }, + "response": { + "$ref": "Advertiser" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "browsers": { + "methods": { + "list": { + "description": "Retrieves a list of browsers.", + "flatPath": "userprofiles/{profileId}/browsers", + "httpMethod": "GET", + "id": "dfareporting.browsers.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/browsers", + "response": { + "$ref": "BrowsersListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "campaignCreativeAssociations": { + "methods": { + "insert": { + "description": "Associates a creative with the specified campaign. This method creates a default ad with dimensions matching the creative in the campaign if such a default ad does not exist already.", + "flatPath": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations", + "httpMethod": "POST", + "id": "dfareporting.campaignCreativeAssociations.insert", + "parameterOrder": [ + "profileId", + "campaignId" + ], + "parameters": { + "campaignId": { + "description": "Campaign ID in this association.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations", + "request": { + "$ref": "CampaignCreativeAssociation" + }, + "response": { + "$ref": "CampaignCreativeAssociation" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves the list of creative IDs associated with the specified campaign. This method supports paging.", + "flatPath": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations", + "httpMethod": "GET", + "id": "dfareporting.campaignCreativeAssociations.list", + "parameterOrder": [ + "profileId", + "campaignId" + ], + "parameters": { + "campaignId": { + "description": "Campaign ID in this association.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "maxResults": { + "default": "1000", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "1000", + "minimum": "0", + "type": "integer" + }, + "pageToken": { + "description": "Value of the nextPageToken from the previous result page.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "sortOrder": { + "default": "ASCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + } + }, + "path": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations", + "response": { + "$ref": "CampaignCreativeAssociationsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "campaigns": { + "methods": { + "get": { + "description": "Gets one campaign by ID.", + "flatPath": "userprofiles/{profileId}/campaigns/{id}", + "httpMethod": "GET", + "id": "dfareporting.campaigns.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Campaign ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/campaigns/{id}", + "response": { + "$ref": "Campaign" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new campaign.", + "flatPath": "userprofiles/{profileId}/campaigns", + "httpMethod": "POST", + "id": "dfareporting.campaigns.insert", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/campaigns", + "request": { + "$ref": "Campaign" + }, + "response": { + "$ref": "Campaign" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of campaigns, possibly filtered. This method supports paging.", + "flatPath": "userprofiles/{profileId}/campaigns", + "httpMethod": "GET", + "id": "dfareporting.campaigns.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "advertiserGroupIds": { + "description": "Select only campaigns whose advertisers belong to these advertiser groups.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "advertiserIds": { + "description": "Select only campaigns that belong to these advertisers.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "archived": { + "description": "Select only archived campaigns. Don't set this field to select both archived and non-archived campaigns.", + "location": "query", + "type": "boolean" + }, + "atLeastOneOptimizationActivity": { + "description": "Select only campaigns that have at least one optimization activity.", + "location": "query", + "type": "boolean" + }, + "excludedIds": { + "description": "Exclude campaigns with these IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "ids": { + "description": "Select only campaigns with these IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "maxResults": { + "default": "1000", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "1000", + "minimum": "0", + "type": "integer" + }, + "overriddenEventTagId": { + "description": "Select only campaigns that have overridden this event tag ID.", + "format": "int64", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Value of the nextPageToken from the previous result page.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "searchString": { + "description": "Allows searching for campaigns by name or ID. Wildcards (*) are allowed. For example, \"campaign*2015\" will return campaigns with names like \"campaign June 2015\", \"campaign April 2015\", or simply \"campaign 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"campaign\" will match campaigns with name \"my campaign\", \"campaign 2015\", or simply \"campaign\".", + "location": "query", + "type": "string" + }, + "sortField": { + "default": "ID", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "default": "ASCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "subaccountId": { + "description": "Select only campaigns that belong to this subaccount.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "userprofiles/{profileId}/campaigns", + "response": { + "$ref": "CampaignsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "description": "Updates an existing campaign. This method supports patch semantics.", + "flatPath": "userprofiles/{profileId}/campaigns", + "httpMethod": "PATCH", + "id": "dfareporting.campaigns.patch", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Campaign ID.", + "format": "int64", + "location": "query", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/campaigns", + "request": { + "$ref": "Campaign" + }, + "response": { + "$ref": "Campaign" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing campaign.", + "flatPath": "userprofiles/{profileId}/campaigns", + "httpMethod": "PUT", + "id": "dfareporting.campaigns.update", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/campaigns", + "request": { + "$ref": "Campaign" + }, + "response": { + "$ref": "Campaign" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "changeLogs": { + "methods": { + "get": { + "description": "Gets one change log by ID.", + "flatPath": "userprofiles/{profileId}/changeLogs/{id}", + "httpMethod": "GET", + "id": "dfareporting.changeLogs.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Change log ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/changeLogs/{id}", + "response": { + "$ref": "ChangeLog" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of change logs. This method supports paging.", + "flatPath": "userprofiles/{profileId}/changeLogs", + "httpMethod": "GET", + "id": "dfareporting.changeLogs.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "action": { + "description": "Select only change logs with the specified action.", + "enum": [ + "ACTION_CREATE", + "ACTION_UPDATE", + "ACTION_DELETE", + "ACTION_ENABLE", + "ACTION_DISABLE", + "ACTION_ADD", + "ACTION_REMOVE", + "ACTION_MARK_AS_DEFAULT", + "ACTION_ASSOCIATE", + "ACTION_ASSIGN", + "ACTION_UNASSIGN", + "ACTION_SEND", + "ACTION_LINK", + "ACTION_UNLINK", + "ACTION_PUSH", + "ACTION_EMAIL_TAGS", + "ACTION_SHARE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "location": "query", + "type": "string" + }, + "ids": { + "description": "Select only change logs with these IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "maxChangeTime": { + "description": "Select only change logs whose change time is before the specified maxChangeTime.The time should be formatted as an RFC3339 date/time string. For example, for 10:54 PM on July 18th, 2015, in the America/New York time zone, the format is \"2015-07-18T22:54:00-04:00\". In other words, the year, month, day, the letter T, the hour (24-hour clock system), minute, second, and then the time zone offset.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "1000", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "1000", + "minimum": "0", + "type": "integer" + }, + "minChangeTime": { + "description": "Select only change logs whose change time is after the specified minChangeTime.The time should be formatted as an RFC3339 date/time string. For example, for 10:54 PM on July 18th, 2015, in the America/New York time zone, the format is \"2015-07-18T22:54:00-04:00\". In other words, the year, month, day, the letter T, the hour (24-hour clock system), minute, second, and then the time zone offset.", + "location": "query", + "type": "string" + }, + "objectIds": { + "description": "Select only change logs with these object IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "objectType": { + "description": "Select only change logs with the specified object type.", + "enum": [ + "OBJECT_ADVERTISER", + "OBJECT_FLOODLIGHT_CONFIGURATION", + "OBJECT_AD", + "OBJECT_FLOODLIGHT_ACTVITY", + "OBJECT_CAMPAIGN", + "OBJECT_FLOODLIGHT_ACTIVITY_GROUP", + "OBJECT_CREATIVE", + "OBJECT_PLACEMENT", + "OBJECT_DFA_SITE", + "OBJECT_USER_ROLE", + "OBJECT_USER_PROFILE", + "OBJECT_ADVERTISER_GROUP", + "OBJECT_ACCOUNT", + "OBJECT_SUBACCOUNT", + "OBJECT_RICHMEDIA_CREATIVE", + "OBJECT_INSTREAM_CREATIVE", + "OBJECT_MEDIA_ORDER", + "OBJECT_CONTENT_CATEGORY", + "OBJECT_PLACEMENT_STRATEGY", + "OBJECT_SD_SITE", + "OBJECT_SIZE", + "OBJECT_CREATIVE_GROUP", + "OBJECT_CREATIVE_ASSET", + "OBJECT_USER_PROFILE_FILTER", + "OBJECT_LANDING_PAGE", + "OBJECT_CREATIVE_FIELD", + "OBJECT_REMARKETING_LIST", + "OBJECT_PROVIDED_LIST_CLIENT", + "OBJECT_EVENT_TAG", + "OBJECT_CREATIVE_BUNDLE", + "OBJECT_BILLING_ACCOUNT_GROUP", + "OBJECT_BILLING_FEATURE", + "OBJECT_RATE_CARD", + "OBJECT_ACCOUNT_BILLING_FEATURE", + "OBJECT_BILLING_MINIMUM_FEE", + "OBJECT_BILLING_PROFILE", + "OBJECT_PLAYSTORE_LINK", + "OBJECT_TARGETING_TEMPLATE", + "OBJECT_SEARCH_LIFT_STUDY", + "OBJECT_FLOODLIGHT_DV360_LINK" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Value of the nextPageToken from the previous result page.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "searchString": { + "description": "Select only change logs whose object ID, user name, old or new values match the search string.", + "location": "query", + "type": "string" + }, + "userProfileIds": { + "description": "Select only change logs with these user profile IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/changeLogs", + "response": { + "$ref": "ChangeLogsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "cities": { + "methods": { + "list": { + "description": "Retrieves a list of cities, possibly filtered.", + "flatPath": "userprofiles/{profileId}/cities", + "httpMethod": "GET", + "id": "dfareporting.cities.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "countryDartIds": { + "description": "Select only cities from these countries.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "dartIds": { + "description": "Select only cities with these DART IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "namePrefix": { + "description": "Select only cities with names starting with this prefix.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "regionDartIds": { + "description": "Select only cities from these regions.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/cities", + "response": { + "$ref": "CitiesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "connectionTypes": { + "methods": { + "get": { + "description": "Gets one connection type by ID.", + "flatPath": "userprofiles/{profileId}/connectionTypes/{id}", + "httpMethod": "GET", + "id": "dfareporting.connectionTypes.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Connection type ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/connectionTypes/{id}", + "response": { + "$ref": "ConnectionType" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of connection types.", + "flatPath": "userprofiles/{profileId}/connectionTypes", + "httpMethod": "GET", + "id": "dfareporting.connectionTypes.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/connectionTypes", + "response": { + "$ref": "ConnectionTypesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "contentCategories": { + "methods": { + "delete": { + "description": "Deletes an existing content category.", + "flatPath": "userprofiles/{profileId}/contentCategories/{id}", + "httpMethod": "DELETE", + "id": "dfareporting.contentCategories.delete", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Content category ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/contentCategories/{id}", + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "get": { + "description": "Gets one content category by ID.", + "flatPath": "userprofiles/{profileId}/contentCategories/{id}", + "httpMethod": "GET", + "id": "dfareporting.contentCategories.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Content category ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/contentCategories/{id}", + "response": { + "$ref": "ContentCategory" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new content category.", + "flatPath": "userprofiles/{profileId}/contentCategories", + "httpMethod": "POST", + "id": "dfareporting.contentCategories.insert", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/contentCategories", + "request": { + "$ref": "ContentCategory" + }, + "response": { + "$ref": "ContentCategory" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of content categories, possibly filtered. This method supports paging.", + "flatPath": "userprofiles/{profileId}/contentCategories", + "httpMethod": "GET", + "id": "dfareporting.contentCategories.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "ids": { + "description": "Select only content categories with these IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "maxResults": { + "default": "1000", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "1000", + "minimum": "0", + "type": "integer" + }, + "pageToken": { + "description": "Value of the nextPageToken from the previous result page.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "searchString": { + "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"contentcategory*2015\" will return objects with names like \"contentcategory June 2015\", \"contentcategory April 2015\", or simply \"contentcategory 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"contentcategory\" will match objects with name \"my contentcategory\", \"contentcategory 2015\", or simply \"contentcategory\".", + "location": "query", + "type": "string" + }, + "sortField": { + "default": "ID", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "default": "ASCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + } + }, + "path": "userprofiles/{profileId}/contentCategories", + "response": { + "$ref": "ContentCategoriesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "description": "Updates an existing content category. This method supports patch semantics.", + "flatPath": "userprofiles/{profileId}/contentCategories", + "httpMethod": "PATCH", + "id": "dfareporting.contentCategories.patch", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "ContentCategory ID.", + "format": "int64", + "location": "query", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/contentCategories", + "request": { + "$ref": "ContentCategory" + }, + "response": { + "$ref": "ContentCategory" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing content category.", + "flatPath": "userprofiles/{profileId}/contentCategories", + "httpMethod": "PUT", + "id": "dfareporting.contentCategories.update", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/contentCategories", + "request": { + "$ref": "ContentCategory" + }, + "response": { + "$ref": "ContentCategory" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "conversions": { + "methods": { + "batchinsert": { + "description": "Inserts conversions.", + "flatPath": "userprofiles/{profileId}/conversions/batchinsert", + "httpMethod": "POST", + "id": "dfareporting.conversions.batchinsert", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/conversions/batchinsert", + "request": { + "$ref": "ConversionsBatchInsertRequest" + }, + "response": { + "$ref": "ConversionsBatchInsertResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ddmconversions" + ] + }, + "batchupdate": { + "description": "Updates existing conversions.", + "flatPath": "userprofiles/{profileId}/conversions/batchupdate", + "httpMethod": "POST", + "id": "dfareporting.conversions.batchupdate", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/conversions/batchupdate", + "request": { + "$ref": "ConversionsBatchUpdateRequest" + }, + "response": { + "$ref": "ConversionsBatchUpdateResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ddmconversions" + ] + } + } + }, + "countries": { + "methods": { + "get": { + "description": "Gets one country by ID.", + "flatPath": "userprofiles/{profileId}/countries/{dartId}", + "httpMethod": "GET", + "id": "dfareporting.countries.get", + "parameterOrder": [ + "profileId", + "dartId" + ], + "parameters": { + "dartId": { + "description": "Country DART ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/countries/{dartId}", + "response": { + "$ref": "Country" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of countries.", + "flatPath": "userprofiles/{profileId}/countries", + "httpMethod": "GET", + "id": "dfareporting.countries.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/countries", + "response": { + "$ref": "CountriesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "creativeAssets": { + "methods": { + "insert": { + "description": "Inserts a new creative asset.", + "flatPath": "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets", + "httpMethod": "POST", + "id": "dfareporting.creativeAssets.insert", + "mediaUpload": { + "accept": [ + "*/*" + ], + "maxSize": "1073741824", + "protocols": { + "simple": { + "multipart": true, + "path": "/upload/dfareporting/v3.4/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets" + } + } + }, + "parameterOrder": [ + "profileId", + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Advertiser ID of this creative. This is a required field.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets", + "request": { + "$ref": "CreativeAssetMetadata" + }, + "response": { + "$ref": "CreativeAssetMetadata" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ], + "supportsMediaUpload": true + } + } + }, + "creativeFieldValues": { + "methods": { + "delete": { + "description": "Deletes an existing creative field value.", + "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}", + "httpMethod": "DELETE", + "id": "dfareporting.creativeFieldValues.delete", + "parameterOrder": [ + "profileId", + "creativeFieldId", + "id" + ], + "parameters": { + "creativeFieldId": { + "description": "Creative field ID for this creative field value.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "id": { + "description": "Creative Field Value ID", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}", + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "get": { + "description": "Gets one creative field value by ID.", + "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}", + "httpMethod": "GET", + "id": "dfareporting.creativeFieldValues.get", + "parameterOrder": [ + "profileId", + "creativeFieldId", + "id" + ], + "parameters": { + "creativeFieldId": { + "description": "Creative field ID for this creative field value.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "id": { + "description": "Creative Field Value ID", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}", + "response": { + "$ref": "CreativeFieldValue" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new creative field value.", + "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues", + "httpMethod": "POST", + "id": "dfareporting.creativeFieldValues.insert", + "parameterOrder": [ + "profileId", + "creativeFieldId" + ], + "parameters": { + "creativeFieldId": { + "description": "Creative field ID for this creative field value.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues", + "request": { + "$ref": "CreativeFieldValue" + }, + "response": { + "$ref": "CreativeFieldValue" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of creative field values, possibly filtered. This method supports paging.", + "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues", + "httpMethod": "GET", + "id": "dfareporting.creativeFieldValues.list", + "parameterOrder": [ + "profileId", + "creativeFieldId" + ], + "parameters": { + "creativeFieldId": { + "description": "Creative field ID for this creative field value.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "ids": { + "description": "Select only creative field values with these IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "maxResults": { + "default": "1000", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "1000", + "minimum": "0", + "type": "integer" + }, + "pageToken": { + "description": "Value of the nextPageToken from the previous result page.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "searchString": { + "description": "Allows searching for creative field values by their values. Wildcards (e.g. *) are not allowed.", + "location": "query", + "type": "string" + }, + "sortField": { + "default": "ID", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "VALUE" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "default": "ASCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + } + }, + "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues", + "response": { + "$ref": "CreativeFieldValuesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "description": "Updates an existing creative field value. This method supports patch semantics.", + "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues", + "httpMethod": "PATCH", + "id": "dfareporting.creativeFieldValues.patch", + "parameterOrder": [ + "profileId", + "creativeFieldId", + "id" + ], + "parameters": { + "creativeFieldId": { + "description": "CreativeField ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "id": { + "description": "CreativeFieldValue ID.", + "format": "int64", + "location": "query", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues", + "request": { + "$ref": "CreativeFieldValue" + }, + "response": { + "$ref": "CreativeFieldValue" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing creative field value.", + "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues", + "httpMethod": "PUT", + "id": "dfareporting.creativeFieldValues.update", + "parameterOrder": [ + "profileId", + "creativeFieldId" + ], + "parameters": { + "creativeFieldId": { + "description": "Creative field ID for this creative field value.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues", + "request": { + "$ref": "CreativeFieldValue" + }, + "response": { + "$ref": "CreativeFieldValue" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "creativeFields": { + "methods": { + "delete": { + "description": "Deletes an existing creative field.", + "flatPath": "userprofiles/{profileId}/creativeFields/{id}", + "httpMethod": "DELETE", + "id": "dfareporting.creativeFields.delete", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Creative Field ID", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/creativeFields/{id}", + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "get": { + "description": "Gets one creative field by ID.", + "flatPath": "userprofiles/{profileId}/creativeFields/{id}", + "httpMethod": "GET", + "id": "dfareporting.creativeFields.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Creative Field ID", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/creativeFields/{id}", + "response": { + "$ref": "CreativeField" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new creative field.", + "flatPath": "userprofiles/{profileId}/creativeFields", + "httpMethod": "POST", + "id": "dfareporting.creativeFields.insert", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/creativeFields", + "request": { + "$ref": "CreativeField" + }, + "response": { + "$ref": "CreativeField" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of creative fields, possibly filtered. This method supports paging.", + "flatPath": "userprofiles/{profileId}/creativeFields", + "httpMethod": "GET", + "id": "dfareporting.creativeFields.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "advertiserIds": { + "description": "Select only creative fields that belong to these advertisers.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "ids": { + "description": "Select only creative fields with these IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "maxResults": { + "default": "1000", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "1000", + "minimum": "0", + "type": "integer" + }, + "pageToken": { + "description": "Value of the nextPageToken from the previous result page.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "searchString": { + "description": "Allows searching for creative fields by name or ID. Wildcards (*) are allowed. For example, \"creativefield*2015\" will return creative fields with names like \"creativefield June 2015\", \"creativefield April 2015\", or simply \"creativefield 2015\". Most of the searches also add wild-cards implicitly at the start and the end of the search string. For example, a search string of \"creativefield\" will match creative fields with the name \"my creativefield\", \"creativefield 2015\", or simply \"creativefield\".", + "location": "query", + "type": "string" + }, + "sortField": { + "default": "ID", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "default": "ASCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + } + }, + "path": "userprofiles/{profileId}/creativeFields", + "response": { + "$ref": "CreativeFieldsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "description": "Updates an existing creative field. This method supports patch semantics.", + "flatPath": "userprofiles/{profileId}/creativeFields", + "httpMethod": "PATCH", + "id": "dfareporting.creativeFields.patch", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "CreativeField ID.", + "format": "int64", + "location": "query", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/creativeFields", + "request": { + "$ref": "CreativeField" + }, + "response": { + "$ref": "CreativeField" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing creative field.", + "flatPath": "userprofiles/{profileId}/creativeFields", + "httpMethod": "PUT", + "id": "dfareporting.creativeFields.update", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/creativeFields", + "request": { + "$ref": "CreativeField" + }, + "response": { + "$ref": "CreativeField" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "creativeGroups": { + "methods": { + "get": { + "description": "Gets one creative group by ID.", + "flatPath": "userprofiles/{profileId}/creativeGroups/{id}", + "httpMethod": "GET", + "id": "dfareporting.creativeGroups.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Creative group ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/creativeGroups/{id}", + "response": { + "$ref": "CreativeGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new creative group.", + "flatPath": "userprofiles/{profileId}/creativeGroups", + "httpMethod": "POST", + "id": "dfareporting.creativeGroups.insert", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/creativeGroups", + "request": { + "$ref": "CreativeGroup" + }, + "response": { + "$ref": "CreativeGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of creative groups, possibly filtered. This method supports paging.", + "flatPath": "userprofiles/{profileId}/creativeGroups", + "httpMethod": "GET", + "id": "dfareporting.creativeGroups.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "advertiserIds": { + "description": "Select only creative groups that belong to these advertisers.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "groupNumber": { + "description": "Select only creative groups that belong to this subgroup.", + "format": "int32", + "location": "query", + "maximum": "2", + "minimum": "1", + "type": "integer" + }, + "ids": { + "description": "Select only creative groups with these IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "maxResults": { + "default": "1000", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "1000", + "minimum": "0", + "type": "integer" + }, + "pageToken": { + "description": "Value of the nextPageToken from the previous result page.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "searchString": { + "description": "Allows searching for creative groups by name or ID. Wildcards (*) are allowed. For example, \"creativegroup*2015\" will return creative groups with names like \"creativegroup June 2015\", \"creativegroup April 2015\", or simply \"creativegroup 2015\". Most of the searches also add wild-cards implicitly at the start and the end of the search string. For example, a search string of \"creativegroup\" will match creative groups with the name \"my creativegroup\", \"creativegroup 2015\", or simply \"creativegroup\".", + "location": "query", + "type": "string" + }, + "sortField": { + "default": "ID", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "default": "ASCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + } + }, + "path": "userprofiles/{profileId}/creativeGroups", + "response": { + "$ref": "CreativeGroupsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "description": "Updates an existing creative group. This method supports patch semantics.", + "flatPath": "userprofiles/{profileId}/creativeGroups", + "httpMethod": "PATCH", + "id": "dfareporting.creativeGroups.patch", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "CreativeGroup ID.", + "format": "int64", + "location": "query", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/creativeGroups", + "request": { + "$ref": "CreativeGroup" + }, + "response": { + "$ref": "CreativeGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing creative group.", + "flatPath": "userprofiles/{profileId}/creativeGroups", + "httpMethod": "PUT", + "id": "dfareporting.creativeGroups.update", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/creativeGroups", + "request": { + "$ref": "CreativeGroup" + }, + "response": { + "$ref": "CreativeGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "creatives": { + "methods": { + "get": { + "description": "Gets one creative by ID.", + "flatPath": "userprofiles/{profileId}/creatives/{id}", + "httpMethod": "GET", + "id": "dfareporting.creatives.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Creative ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/creatives/{id}", + "response": { + "$ref": "Creative" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new creative.", + "flatPath": "userprofiles/{profileId}/creatives", + "httpMethod": "POST", + "id": "dfareporting.creatives.insert", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/creatives", + "request": { + "$ref": "Creative" + }, + "response": { + "$ref": "Creative" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of creatives, possibly filtered. This method supports paging.", + "flatPath": "userprofiles/{profileId}/creatives", + "httpMethod": "GET", + "id": "dfareporting.creatives.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "active": { + "description": "Select only active creatives. Leave blank to select active and inactive creatives.", + "location": "query", + "type": "boolean" + }, + "advertiserId": { + "description": "Select only creatives with this advertiser ID.", + "format": "int64", + "location": "query", + "type": "string" + }, + "archived": { + "description": "Select only archived creatives. Leave blank to select archived and unarchived creatives.", + "location": "query", + "type": "boolean" + }, + "campaignId": { + "description": "Select only creatives with this campaign ID.", + "format": "int64", + "location": "query", + "type": "string" + }, + "companionCreativeIds": { + "description": "Select only in-stream video creatives with these companion IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "creativeFieldIds": { + "description": "Select only creatives with these creative field IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "ids": { + "description": "Select only creatives with these IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "maxResults": { + "default": "1000", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "1000", + "minimum": "0", + "type": "integer" + }, + "pageToken": { + "description": "Value of the nextPageToken from the previous result page.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "renderingIds": { + "description": "Select only creatives with these rendering IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "searchString": { + "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"creative*2015\" will return objects with names like \"creative June 2015\", \"creative April 2015\", or simply \"creative 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"creative\" will match objects with name \"my creative\", \"creative 2015\", or simply \"creative\".", + "location": "query", + "type": "string" + }, + "sizeIds": { + "description": "Select only creatives with these size IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "sortField": { + "default": "ID", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "default": "ASCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "studioCreativeId": { + "description": "Select only creatives corresponding to this Studio creative ID.", + "format": "int64", + "location": "query", + "type": "string" + }, + "types": { + "description": "Select only creatives with these creative types.", + "enum": [ + "IMAGE", + "DISPLAY_REDIRECT", + "CUSTOM_DISPLAY", + "INTERNAL_REDIRECT", + "CUSTOM_DISPLAY_INTERSTITIAL", + "INTERSTITIAL_INTERNAL_REDIRECT", + "TRACKING_TEXT", + "RICH_MEDIA_DISPLAY_BANNER", + "RICH_MEDIA_INPAGE_FLOATING", + "RICH_MEDIA_IM_EXPAND", + "RICH_MEDIA_DISPLAY_EXPANDING", + "RICH_MEDIA_DISPLAY_INTERSTITIAL", + "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL", + "RICH_MEDIA_MOBILE_IN_APP", + "FLASH_INPAGE", + "INSTREAM_VIDEO", + "VPAID_LINEAR_VIDEO", + "VPAID_NON_LINEAR_VIDEO", + "INSTREAM_VIDEO_REDIRECT", + "RICH_MEDIA_PEEL_DOWN", + "HTML5_BANNER", + "DISPLAY", + "DISPLAY_IMAGE_GALLERY", + "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO", + "INSTREAM_AUDIO" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "location": "query", + "repeated": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/creatives", + "response": { + "$ref": "CreativesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "description": "Updates an existing creative. This method supports patch semantics.", + "flatPath": "userprofiles/{profileId}/creatives", + "httpMethod": "PATCH", + "id": "dfareporting.creatives.patch", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Creative ID.", + "format": "int64", + "location": "query", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/creatives", + "request": { + "$ref": "Creative" + }, + "response": { + "$ref": "Creative" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing creative.", + "flatPath": "userprofiles/{profileId}/creatives", + "httpMethod": "PUT", + "id": "dfareporting.creatives.update", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/creatives", + "request": { + "$ref": "Creative" + }, + "response": { + "$ref": "Creative" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "customEvents": { + "methods": { + "batchinsert": { + "description": "Inserts custom events.", + "flatPath": "userprofiles/{profileId}/customEvents/batchinsert", + "httpMethod": "POST", + "id": "dfareporting.customEvents.batchinsert", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/customEvents/batchinsert", + "request": { + "$ref": "CustomEventsBatchInsertRequest" + }, + "response": { + "$ref": "CustomEventsBatchInsertResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ddmconversions" + ] + } + } + }, + "dimensionValues": { + "methods": { + "query": { + "description": "Retrieves list of report dimension values for a list of filters.", + "flatPath": "userprofiles/{profileId}/dimensionvalues/query", + "httpMethod": "POST", + "id": "dfareporting.dimensionValues.query", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "maxResults": { + "default": "100", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "100", + "minimum": "0", + "type": "integer" + }, + "pageToken": { + "description": "The value of the nextToken from the previous result page.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "The Campaign Manager 360 user profile ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/dimensionvalues/query", + "request": { + "$ref": "DimensionValueRequest" + }, + "response": { + "$ref": "DimensionValueList" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfareporting" + ] + } + } + }, + "directorySites": { + "methods": { + "get": { + "description": "Gets one directory site by ID.", + "flatPath": "userprofiles/{profileId}/directorySites/{id}", + "httpMethod": "GET", + "id": "dfareporting.directorySites.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Directory site ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/directorySites/{id}", + "response": { + "$ref": "DirectorySite" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new directory site.", + "flatPath": "userprofiles/{profileId}/directorySites", + "httpMethod": "POST", + "id": "dfareporting.directorySites.insert", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/directorySites", + "request": { + "$ref": "DirectorySite" + }, + "response": { + "$ref": "DirectorySite" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of directory sites, possibly filtered. This method supports paging.", + "flatPath": "userprofiles/{profileId}/directorySites", + "httpMethod": "GET", + "id": "dfareporting.directorySites.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "acceptsInStreamVideoPlacements": { + "description": "This search filter is no longer supported and will have no effect on the results returned.", + "location": "query", + "type": "boolean" + }, + "acceptsInterstitialPlacements": { + "description": "This search filter is no longer supported and will have no effect on the results returned.", + "location": "query", + "type": "boolean" + }, + "acceptsPublisherPaidPlacements": { + "description": "Select only directory sites that accept publisher paid placements. This field can be left blank.", + "location": "query", + "type": "boolean" + }, + "active": { + "description": "Select only active directory sites. Leave blank to retrieve both active and inactive directory sites.", + "location": "query", + "type": "boolean" + }, + "dfpNetworkCode": { + "description": "Select only directory sites with this Ad Manager network code.", + "location": "query", + "type": "string" + }, + "ids": { + "description": "Select only directory sites with these IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "maxResults": { + "default": "1000", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "1000", + "minimum": "0", + "type": "integer" + }, + "pageToken": { + "description": "Value of the nextPageToken from the previous result page.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "searchString": { + "description": "Allows searching for objects by name, ID or URL. Wildcards (*) are allowed. For example, \"directory site*2015\" will return objects with names like \"directory site June 2015\", \"directory site April 2015\", or simply \"directory site 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"directory site\" will match objects with name \"my directory site\", \"directory site 2015\" or simply, \"directory site\".", + "location": "query", + "type": "string" + }, + "sortField": { + "default": "ID", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "default": "ASCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + } + }, + "path": "userprofiles/{profileId}/directorySites", + "response": { + "$ref": "DirectorySitesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "dynamicTargetingKeys": { + "methods": { + "delete": { + "description": "Deletes an existing dynamic targeting key.", + "flatPath": "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}", + "httpMethod": "DELETE", + "id": "dfareporting.dynamicTargetingKeys.delete", + "parameterOrder": [ + "profileId", + "objectId", + "name", + "objectType" + ], + "parameters": { + "name": { + "description": "Name of this dynamic targeting key. This is a required field. Must be less than 256 characters long and cannot contain commas. All characters are converted to lowercase.", + "location": "query", + "required": true, + "type": "string" + }, + "objectId": { + "description": "ID of the object of this dynamic targeting key. This is a required field.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "objectType": { + "description": "Type of the object of this dynamic targeting key. This is a required field.", + "enum": [ + "OBJECT_ADVERTISER", + "OBJECT_AD", + "OBJECT_CREATIVE", + "OBJECT_PLACEMENT" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "location": "query", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}", + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new dynamic targeting key. Keys must be created at the advertiser level before being assigned to the advertiser's ads, creatives, or placements. There is a maximum of 1000 keys per advertiser, out of which a maximum of 20 keys can be assigned per ad, creative, or placement.", + "flatPath": "userprofiles/{profileId}/dynamicTargetingKeys", + "httpMethod": "POST", + "id": "dfareporting.dynamicTargetingKeys.insert", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/dynamicTargetingKeys", + "request": { + "$ref": "DynamicTargetingKey" + }, + "response": { + "$ref": "DynamicTargetingKey" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of dynamic targeting keys.", + "flatPath": "userprofiles/{profileId}/dynamicTargetingKeys", + "httpMethod": "GET", + "id": "dfareporting.dynamicTargetingKeys.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "advertiserId": { + "description": "Select only dynamic targeting keys whose object has this advertiser ID.", + "format": "int64", + "location": "query", + "type": "string" + }, + "names": { + "description": "Select only dynamic targeting keys exactly matching these names.", + "location": "query", + "repeated": true, + "type": "string" + }, + "objectId": { + "description": "Select only dynamic targeting keys with this object ID.", + "format": "int64", + "location": "query", + "type": "string" + }, + "objectType": { + "description": "Select only dynamic targeting keys with this object type.", + "enum": [ + "OBJECT_ADVERTISER", + "OBJECT_AD", + "OBJECT_CREATIVE", + "OBJECT_PLACEMENT" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "location": "query", + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/dynamicTargetingKeys", + "response": { + "$ref": "DynamicTargetingKeysListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "eventTags": { + "methods": { + "delete": { + "description": "Deletes an existing event tag.", + "flatPath": "userprofiles/{profileId}/eventTags/{id}", + "httpMethod": "DELETE", + "id": "dfareporting.eventTags.delete", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Event tag ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/eventTags/{id}", + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "get": { + "description": "Gets one event tag by ID.", + "flatPath": "userprofiles/{profileId}/eventTags/{id}", + "httpMethod": "GET", + "id": "dfareporting.eventTags.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Event tag ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/eventTags/{id}", + "response": { + "$ref": "EventTag" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new event tag.", + "flatPath": "userprofiles/{profileId}/eventTags", + "httpMethod": "POST", + "id": "dfareporting.eventTags.insert", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/eventTags", + "request": { + "$ref": "EventTag" + }, + "response": { + "$ref": "EventTag" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of event tags, possibly filtered.", + "flatPath": "userprofiles/{profileId}/eventTags", + "httpMethod": "GET", + "id": "dfareporting.eventTags.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "adId": { + "description": "Select only event tags that belong to this ad.", + "format": "int64", + "location": "query", + "type": "string" + }, + "advertiserId": { + "description": "Select only event tags that belong to this advertiser.", + "format": "int64", + "location": "query", + "type": "string" + }, + "campaignId": { + "description": "Select only event tags that belong to this campaign.", + "format": "int64", + "location": "query", + "type": "string" + }, + "definitionsOnly": { + "description": "Examine only the specified campaign or advertiser's event tags for matching selector criteria. When set to false, the parent advertiser and parent campaign of the specified ad or campaign is examined as well. In addition, when set to false, the status field is examined as well, along with the enabledByDefault field. This parameter can not be set to true when adId is specified as ads do not define their own even tags.", + "location": "query", + "type": "boolean" + }, + "enabled": { + "description": "Select only enabled event tags. What is considered enabled or disabled depends on the definitionsOnly parameter. When definitionsOnly is set to true, only the specified advertiser or campaign's event tags' enabledByDefault field is examined. When definitionsOnly is set to false, the specified ad or specified campaign's parent advertiser's or parent campaign's event tags' enabledByDefault and status fields are examined as well.", + "location": "query", + "type": "boolean" + }, + "eventTagTypes": { + "description": "Select only event tags with the specified event tag types. Event tag types can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking.", + "enum": [ + "IMPRESSION_IMAGE_EVENT_TAG", + "IMPRESSION_JAVASCRIPT_EVENT_TAG", + "CLICK_THROUGH_EVENT_TAG" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "location": "query", + "repeated": true, + "type": "string" + }, + "ids": { + "description": "Select only event tags with these IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "searchString": { + "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"eventtag*2015\" will return objects with names like \"eventtag June 2015\", \"eventtag April 2015\", or simply \"eventtag 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"eventtag\" will match objects with name \"my eventtag\", \"eventtag 2015\", or simply \"eventtag\".", + "location": "query", + "type": "string" + }, + "sortField": { + "default": "ID", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "default": "ASCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + } + }, + "path": "userprofiles/{profileId}/eventTags", + "response": { + "$ref": "EventTagsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "description": "Updates an existing event tag. This method supports patch semantics.", + "flatPath": "userprofiles/{profileId}/eventTags", + "httpMethod": "PATCH", + "id": "dfareporting.eventTags.patch", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "EventTag ID.", + "format": "int64", + "location": "query", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/eventTags", + "request": { + "$ref": "EventTag" + }, + "response": { + "$ref": "EventTag" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing event tag.", + "flatPath": "userprofiles/{profileId}/eventTags", + "httpMethod": "PUT", + "id": "dfareporting.eventTags.update", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/eventTags", + "request": { + "$ref": "EventTag" + }, + "response": { + "$ref": "EventTag" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "files": { + "methods": { + "get": { + "description": "Retrieves a report file by its report ID and file ID. This method supports media download.", + "flatPath": "reports/{reportId}/files/{fileId}", + "httpMethod": "GET", + "id": "dfareporting.files.get", + "parameterOrder": [ + "reportId", + "fileId" + ], + "parameters": { + "fileId": { + "description": "The ID of the report file.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "reportId": { + "description": "The ID of the report.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "reports/{reportId}/files/{fileId}", + "response": { + "$ref": "File" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfareporting" + ], + "supportsMediaDownload": true + }, + "list": { + "description": "Lists files for a user profile.", + "flatPath": "userprofiles/{profileId}/files", + "httpMethod": "GET", + "id": "dfareporting.files.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "maxResults": { + "default": "10", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "10", + "minimum": "0", + "type": "integer" + }, + "pageToken": { + "description": "The value of the nextToken from the previous result page.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "The Campaign Manager 360 user profile ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "scope": { + "default": "MINE", + "description": "The scope that defines which results are returned.", + "enum": [ + "ALL", + "MINE", + "SHARED_WITH_ME" + ], + "enumDescriptions": [ + "All files in account.", + "My files.", + "Files shared with me." + ], + "location": "query", + "type": "string" + }, + "sortField": { + "default": "LAST_MODIFIED_TIME", + "description": "The field by which to sort the list.", + "enum": [ + "ID", + "LAST_MODIFIED_TIME" + ], + "enumDescriptions": [ + "Sort by file ID.", + "Sort by 'lastmodifiedAt' field." + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "default": "DESCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "Ascending order.", + "Descending order." + ], + "location": "query", + "type": "string" + } + }, + "path": "userprofiles/{profileId}/files", + "response": { + "$ref": "FileList" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfareporting" + ] + } + } + }, + "floodlightActivities": { + "methods": { + "delete": { + "description": "Deletes an existing floodlight activity.", + "flatPath": "userprofiles/{profileId}/floodlightActivities/{id}", + "httpMethod": "DELETE", + "id": "dfareporting.floodlightActivities.delete", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Floodlight activity ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/floodlightActivities/{id}", + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "generatetag": { + "description": "Generates a tag for a floodlight activity.", + "flatPath": "userprofiles/{profileId}/floodlightActivities/generatetag", + "httpMethod": "POST", + "id": "dfareporting.floodlightActivities.generatetag", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "floodlightActivityId": { + "description": "Floodlight activity ID for which we want to generate a tag.", + "format": "int64", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/floodlightActivities/generatetag", + "response": { + "$ref": "FloodlightActivitiesGenerateTagResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "get": { + "description": "Gets one floodlight activity by ID.", + "flatPath": "userprofiles/{profileId}/floodlightActivities/{id}", + "httpMethod": "GET", + "id": "dfareporting.floodlightActivities.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Floodlight activity ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/floodlightActivities/{id}", + "response": { + "$ref": "FloodlightActivity" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new floodlight activity.", + "flatPath": "userprofiles/{profileId}/floodlightActivities", + "httpMethod": "POST", + "id": "dfareporting.floodlightActivities.insert", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/floodlightActivities", + "request": { + "$ref": "FloodlightActivity" + }, + "response": { + "$ref": "FloodlightActivity" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of floodlight activities, possibly filtered. This method supports paging.", + "flatPath": "userprofiles/{profileId}/floodlightActivities", + "httpMethod": "GET", + "id": "dfareporting.floodlightActivities.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "advertiserId": { + "description": "Select only floodlight activities for the specified advertiser ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.", + "format": "int64", + "location": "query", + "type": "string" + }, + "floodlightActivityGroupIds": { + "description": "Select only floodlight activities with the specified floodlight activity group IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "floodlightActivityGroupName": { + "description": "Select only floodlight activities with the specified floodlight activity group name.", + "location": "query", + "type": "string" + }, + "floodlightActivityGroupTagString": { + "description": "Select only floodlight activities with the specified floodlight activity group tag string.", + "location": "query", + "type": "string" + }, + "floodlightActivityGroupType": { + "description": "Select only floodlight activities with the specified floodlight activity group type.", + "enum": [ + "COUNTER", + "SALE" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "floodlightConfigurationId": { + "description": "Select only floodlight activities for the specified floodlight configuration ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.", + "format": "int64", + "location": "query", + "type": "string" + }, + "ids": { + "description": "Select only floodlight activities with the specified IDs. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "maxResults": { + "default": "1000", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "1000", + "minimum": "0", + "type": "integer" + }, + "pageToken": { + "description": "Value of the nextPageToken from the previous result page.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "searchString": { + "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"floodlightactivity*2015\" will return objects with names like \"floodlightactivity June 2015\", \"floodlightactivity April 2015\", or simply \"floodlightactivity 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"floodlightactivity\" will match objects with name \"my floodlightactivity activity\", \"floodlightactivity 2015\", or simply \"floodlightactivity\".", + "location": "query", + "type": "string" + }, + "sortField": { + "default": "ID", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "default": "ASCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "tagString": { + "description": "Select only floodlight activities with the specified tag string.", + "location": "query", + "type": "string" + } + }, + "path": "userprofiles/{profileId}/floodlightActivities", + "response": { + "$ref": "FloodlightActivitiesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "description": "Updates an existing floodlight activity. This method supports patch semantics.", + "flatPath": "userprofiles/{profileId}/floodlightActivities", + "httpMethod": "PATCH", + "id": "dfareporting.floodlightActivities.patch", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "FloodlightActivity ID.", + "format": "int64", + "location": "query", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/floodlightActivities", + "request": { + "$ref": "FloodlightActivity" + }, + "response": { + "$ref": "FloodlightActivity" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing floodlight activity.", + "flatPath": "userprofiles/{profileId}/floodlightActivities", + "httpMethod": "PUT", + "id": "dfareporting.floodlightActivities.update", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/floodlightActivities", + "request": { + "$ref": "FloodlightActivity" + }, + "response": { + "$ref": "FloodlightActivity" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "floodlightActivityGroups": { + "methods": { + "get": { + "description": "Gets one floodlight activity group by ID.", + "flatPath": "userprofiles/{profileId}/floodlightActivityGroups/{id}", + "httpMethod": "GET", + "id": "dfareporting.floodlightActivityGroups.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Floodlight activity Group ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/floodlightActivityGroups/{id}", + "response": { + "$ref": "FloodlightActivityGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new floodlight activity group.", + "flatPath": "userprofiles/{profileId}/floodlightActivityGroups", + "httpMethod": "POST", + "id": "dfareporting.floodlightActivityGroups.insert", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/floodlightActivityGroups", + "request": { + "$ref": "FloodlightActivityGroup" + }, + "response": { + "$ref": "FloodlightActivityGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of floodlight activity groups, possibly filtered. This method supports paging.", + "flatPath": "userprofiles/{profileId}/floodlightActivityGroups", + "httpMethod": "GET", + "id": "dfareporting.floodlightActivityGroups.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "advertiserId": { + "description": "Select only floodlight activity groups with the specified advertiser ID. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.", + "format": "int64", + "location": "query", + "type": "string" + }, + "floodlightConfigurationId": { + "description": "Select only floodlight activity groups with the specified floodlight configuration ID. Must specify either advertiserId, or floodlightConfigurationId for a non-empty result.", + "format": "int64", + "location": "query", + "type": "string" + }, + "ids": { + "description": "Select only floodlight activity groups with the specified IDs. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "maxResults": { + "default": "1000", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "1000", + "minimum": "0", + "type": "integer" + }, + "pageToken": { + "description": "Value of the nextPageToken from the previous result page.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "searchString": { + "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"floodlightactivitygroup*2015\" will return objects with names like \"floodlightactivitygroup June 2015\", \"floodlightactivitygroup April 2015\", or simply \"floodlightactivitygroup 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"floodlightactivitygroup\" will match objects with name \"my floodlightactivitygroup activity\", \"floodlightactivitygroup 2015\", or simply \"floodlightactivitygroup\".", + "location": "query", + "type": "string" + }, + "sortField": { + "default": "ID", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "default": "ASCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "type": { + "description": "Select only floodlight activity groups with the specified floodlight activity group type.", + "enum": [ + "COUNTER", + "SALE" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + } + }, + "path": "userprofiles/{profileId}/floodlightActivityGroups", + "response": { + "$ref": "FloodlightActivityGroupsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "description": "Updates an existing floodlight activity group. This method supports patch semantics.", + "flatPath": "userprofiles/{profileId}/floodlightActivityGroups", + "httpMethod": "PATCH", + "id": "dfareporting.floodlightActivityGroups.patch", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "FloodlightActivityGroup ID.", + "format": "int64", + "location": "query", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/floodlightActivityGroups", + "request": { + "$ref": "FloodlightActivityGroup" + }, + "response": { + "$ref": "FloodlightActivityGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing floodlight activity group.", + "flatPath": "userprofiles/{profileId}/floodlightActivityGroups", + "httpMethod": "PUT", + "id": "dfareporting.floodlightActivityGroups.update", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/floodlightActivityGroups", + "request": { + "$ref": "FloodlightActivityGroup" + }, + "response": { + "$ref": "FloodlightActivityGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "floodlightConfigurations": { + "methods": { + "get": { + "description": "Gets one floodlight configuration by ID.", + "flatPath": "userprofiles/{profileId}/floodlightConfigurations/{id}", + "httpMethod": "GET", + "id": "dfareporting.floodlightConfigurations.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Floodlight configuration ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/floodlightConfigurations/{id}", + "response": { + "$ref": "FloodlightConfiguration" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of floodlight configurations, possibly filtered.", + "flatPath": "userprofiles/{profileId}/floodlightConfigurations", + "httpMethod": "GET", + "id": "dfareporting.floodlightConfigurations.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "ids": { + "description": "Set of IDs of floodlight configurations to retrieve. Required field; otherwise an empty list will be returned.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/floodlightConfigurations", + "response": { + "$ref": "FloodlightConfigurationsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "description": "Updates an existing floodlight configuration. This method supports patch semantics.", + "flatPath": "userprofiles/{profileId}/floodlightConfigurations", + "httpMethod": "PATCH", + "id": "dfareporting.floodlightConfigurations.patch", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "FloodlightConfiguration ID.", + "format": "int64", + "location": "query", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/floodlightConfigurations", + "request": { + "$ref": "FloodlightConfiguration" + }, + "response": { + "$ref": "FloodlightConfiguration" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing floodlight configuration.", + "flatPath": "userprofiles/{profileId}/floodlightConfigurations", + "httpMethod": "PUT", + "id": "dfareporting.floodlightConfigurations.update", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/floodlightConfigurations", + "request": { + "$ref": "FloodlightConfiguration" + }, + "response": { + "$ref": "FloodlightConfiguration" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "inventoryItems": { + "methods": { + "get": { + "description": "Gets one inventory item by ID.", + "flatPath": "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}", + "httpMethod": "GET", + "id": "dfareporting.inventoryItems.get", + "parameterOrder": [ + "profileId", + "projectId", + "id" + ], + "parameters": { + "id": { + "description": "Inventory item ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "projectId": { + "description": "Project ID for order documents.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}", + "response": { + "$ref": "InventoryItem" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of inventory items, possibly filtered. This method supports paging.", + "flatPath": "userprofiles/{profileId}/projects/{projectId}/inventoryItems", + "httpMethod": "GET", + "id": "dfareporting.inventoryItems.list", + "parameterOrder": [ + "profileId", + "projectId" + ], + "parameters": { + "ids": { + "description": "Select only inventory items with these IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "inPlan": { + "description": "Select only inventory items that are in plan.", + "location": "query", + "type": "boolean" + }, + "maxResults": { + "default": "1000", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "1000", + "minimum": "0", + "type": "integer" + }, + "orderId": { + "description": "Select only inventory items that belong to specified orders.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "pageToken": { + "description": "Value of the nextPageToken from the previous result page.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "projectId": { + "description": "Project ID for order documents.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "siteId": { + "description": "Select only inventory items that are associated with these sites.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "sortField": { + "default": "ID", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "default": "ASCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "type": { + "description": "Select only inventory items with this type.", + "enum": [ + "PLANNING_PLACEMENT_TYPE_REGULAR", + "PLANNING_PLACEMENT_TYPE_CREDIT" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + } + }, + "path": "userprofiles/{profileId}/projects/{projectId}/inventoryItems", + "response": { + "$ref": "InventoryItemsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "languages": { + "methods": { + "list": { + "description": "Retrieves a list of languages.", + "flatPath": "userprofiles/{profileId}/languages", + "httpMethod": "GET", + "id": "dfareporting.languages.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/languages", + "response": { + "$ref": "LanguagesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "metros": { + "methods": { + "list": { + "description": "Retrieves a list of metros.", + "flatPath": "userprofiles/{profileId}/metros", + "httpMethod": "GET", + "id": "dfareporting.metros.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/metros", + "response": { + "$ref": "MetrosListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "mobileApps": { + "methods": { + "get": { + "description": "Gets one mobile app by ID.", + "flatPath": "userprofiles/{profileId}/mobileApps/{id}", + "httpMethod": "GET", + "id": "dfareporting.mobileApps.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Mobile app ID.", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/mobileApps/{id}", + "response": { + "$ref": "MobileApp" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves list of available mobile apps.", + "flatPath": "userprofiles/{profileId}/mobileApps", + "httpMethod": "GET", + "id": "dfareporting.mobileApps.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "directories": { + "description": "Select only apps from these directories.", + "enum": [ + "UNKNOWN", + "APPLE_APP_STORE", + "GOOGLE_PLAY_STORE" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "location": "query", + "repeated": true, + "type": "string" + }, + "ids": { + "description": "Select only apps with these IDs.", + "location": "query", + "repeated": true, + "type": "string" + }, + "maxResults": { + "default": "1000", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "1000", + "minimum": "0", + "type": "integer" + }, + "pageToken": { + "description": "Value of the nextPageToken from the previous result page.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "searchString": { + "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"app*2015\" will return objects with names like \"app Jan 2018\", \"app Jan 2018\", or simply \"app 2018\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"app\" will match objects with name \"my app\", \"app 2018\", or simply \"app\".", + "location": "query", + "type": "string" + } + }, + "path": "userprofiles/{profileId}/mobileApps", + "response": { + "$ref": "MobileAppsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "mobileCarriers": { + "methods": { + "get": { + "description": "Gets one mobile carrier by ID.", + "flatPath": "userprofiles/{profileId}/mobileCarriers/{id}", + "httpMethod": "GET", + "id": "dfareporting.mobileCarriers.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Mobile carrier ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/mobileCarriers/{id}", + "response": { + "$ref": "MobileCarrier" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of mobile carriers.", + "flatPath": "userprofiles/{profileId}/mobileCarriers", + "httpMethod": "GET", + "id": "dfareporting.mobileCarriers.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/mobileCarriers", + "response": { + "$ref": "MobileCarriersListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "operatingSystemVersions": { + "methods": { + "get": { + "description": "Gets one operating system version by ID.", + "flatPath": "userprofiles/{profileId}/operatingSystemVersions/{id}", + "httpMethod": "GET", + "id": "dfareporting.operatingSystemVersions.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Operating system version ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/operatingSystemVersions/{id}", + "response": { + "$ref": "OperatingSystemVersion" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of operating system versions.", + "flatPath": "userprofiles/{profileId}/operatingSystemVersions", + "httpMethod": "GET", + "id": "dfareporting.operatingSystemVersions.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/operatingSystemVersions", + "response": { + "$ref": "OperatingSystemVersionsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "operatingSystems": { + "methods": { + "get": { + "description": "Gets one operating system by DART ID.", + "flatPath": "userprofiles/{profileId}/operatingSystems/{dartId}", + "httpMethod": "GET", + "id": "dfareporting.operatingSystems.get", + "parameterOrder": [ + "profileId", + "dartId" + ], + "parameters": { + "dartId": { + "description": "Operating system DART ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/operatingSystems/{dartId}", + "response": { + "$ref": "OperatingSystem" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of operating systems.", + "flatPath": "userprofiles/{profileId}/operatingSystems", + "httpMethod": "GET", + "id": "dfareporting.operatingSystems.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/operatingSystems", + "response": { + "$ref": "OperatingSystemsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "orderDocuments": { + "methods": { + "get": { + "description": "Gets one order document by ID.", + "flatPath": "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}", + "httpMethod": "GET", + "id": "dfareporting.orderDocuments.get", + "parameterOrder": [ + "profileId", + "projectId", + "id" + ], + "parameters": { + "id": { + "description": "Order document ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "projectId": { + "description": "Project ID for order documents.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}", + "response": { + "$ref": "OrderDocument" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of order documents, possibly filtered. This method supports paging.", + "flatPath": "userprofiles/{profileId}/projects/{projectId}/orderDocuments", + "httpMethod": "GET", + "id": "dfareporting.orderDocuments.list", + "parameterOrder": [ + "profileId", + "projectId" + ], + "parameters": { + "approved": { + "description": "Select only order documents that have been approved by at least one user.", + "location": "query", + "type": "boolean" + }, + "ids": { + "description": "Select only order documents with these IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "maxResults": { + "default": "1000", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "1000", + "minimum": "0", + "type": "integer" + }, + "orderId": { + "description": "Select only order documents for specified orders.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "pageToken": { + "description": "Value of the nextPageToken from the previous result page.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "projectId": { + "description": "Project ID for order documents.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "searchString": { + "description": "Allows searching for order documents by name or ID. Wildcards (*) are allowed. For example, \"orderdocument*2015\" will return order documents with names like \"orderdocument June 2015\", \"orderdocument April 2015\", or simply \"orderdocument 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"orderdocument\" will match order documents with name \"my orderdocument\", \"orderdocument 2015\", or simply \"orderdocument\".", + "location": "query", + "type": "string" + }, + "siteId": { + "description": "Select only order documents that are associated with these sites.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "sortField": { + "default": "ID", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "default": "ASCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + } + }, + "path": "userprofiles/{profileId}/projects/{projectId}/orderDocuments", + "response": { + "$ref": "OrderDocumentsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "orders": { + "methods": { + "get": { + "description": "Gets one order by ID.", + "flatPath": "userprofiles/{profileId}/projects/{projectId}/orders/{id}", + "httpMethod": "GET", + "id": "dfareporting.orders.get", + "parameterOrder": [ + "profileId", + "projectId", + "id" + ], + "parameters": { + "id": { + "description": "Order ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "projectId": { + "description": "Project ID for orders.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/projects/{projectId}/orders/{id}", + "response": { + "$ref": "Order" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of orders, possibly filtered. This method supports paging.", + "flatPath": "userprofiles/{profileId}/projects/{projectId}/orders", + "httpMethod": "GET", + "id": "dfareporting.orders.list", + "parameterOrder": [ + "profileId", + "projectId" + ], + "parameters": { + "ids": { + "description": "Select only orders with these IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "maxResults": { + "default": "1000", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "1000", + "minimum": "0", + "type": "integer" + }, + "pageToken": { + "description": "Value of the nextPageToken from the previous result page.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "projectId": { + "description": "Project ID for orders.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "searchString": { + "description": "Allows searching for orders by name or ID. Wildcards (*) are allowed. For example, \"order*2015\" will return orders with names like \"order June 2015\", \"order April 2015\", or simply \"order 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"order\" will match orders with name \"my order\", \"order 2015\", or simply \"order\".", + "location": "query", + "type": "string" + }, + "siteId": { + "description": "Select only orders that are associated with these site IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "sortField": { + "default": "ID", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "default": "ASCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + } + }, + "path": "userprofiles/{profileId}/projects/{projectId}/orders", + "response": { + "$ref": "OrdersListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "placementGroups": { + "methods": { + "get": { + "description": "Gets one placement group by ID.", + "flatPath": "userprofiles/{profileId}/placementGroups/{id}", + "httpMethod": "GET", + "id": "dfareporting.placementGroups.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Placement group ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/placementGroups/{id}", + "response": { + "$ref": "PlacementGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new placement group.", + "flatPath": "userprofiles/{profileId}/placementGroups", + "httpMethod": "POST", + "id": "dfareporting.placementGroups.insert", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/placementGroups", + "request": { + "$ref": "PlacementGroup" + }, + "response": { + "$ref": "PlacementGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of placement groups, possibly filtered. This method supports paging.", + "flatPath": "userprofiles/{profileId}/placementGroups", + "httpMethod": "GET", + "id": "dfareporting.placementGroups.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "advertiserIds": { + "description": "Select only placement groups that belong to these advertisers.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "archived": { + "description": "Select only archived placements. Don't set this field to select both archived and non-archived placements.", + "location": "query", + "type": "boolean" + }, + "campaignIds": { + "description": "Select only placement groups that belong to these campaigns.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "contentCategoryIds": { + "description": "Select only placement groups that are associated with these content categories.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "directorySiteIds": { + "description": "Select only placement groups that are associated with these directory sites.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "ids": { + "description": "Select only placement groups with these IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "maxEndDate": { + "description": "Select only placements or placement groups whose end date is on or before the specified maxEndDate. The date should be formatted as \"yyyy-MM-dd\".", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "800", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "800", + "minimum": "0", + "type": "integer" + }, + "maxStartDate": { + "description": "Select only placements or placement groups whose start date is on or before the specified maxStartDate. The date should be formatted as \"yyyy-MM-dd\".", + "location": "query", + "type": "string" + }, + "minEndDate": { + "description": "Select only placements or placement groups whose end date is on or after the specified minEndDate. The date should be formatted as \"yyyy-MM-dd\".", + "location": "query", + "type": "string" + }, + "minStartDate": { + "description": "Select only placements or placement groups whose start date is on or after the specified minStartDate. The date should be formatted as \"yyyy-MM-dd\".", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Value of the nextPageToken from the previous result page.", + "location": "query", + "type": "string" + }, + "placementGroupType": { + "description": "Select only placement groups belonging with this group type. A package is a simple group of placements that acts as a single pricing point for a group of tags. A roadblock is a group of placements that not only acts as a single pricing point but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned placements to be marked as primary for reporting.", + "enum": [ + "PLACEMENT_PACKAGE", + "PLACEMENT_ROADBLOCK" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "placementStrategyIds": { + "description": "Select only placement groups that are associated with these placement strategies.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "pricingTypes": { + "description": "Select only placement groups with these pricing types.", + "enum": [ + "PRICING_TYPE_CPM", + "PRICING_TYPE_CPC", + "PRICING_TYPE_CPA", + "PRICING_TYPE_FLAT_RATE_IMPRESSIONS", + "PRICING_TYPE_FLAT_RATE_CLICKS", + "PRICING_TYPE_CPM_ACTIVEVIEW" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ], + "location": "query", + "repeated": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "searchString": { + "description": "Allows searching for placement groups by name or ID. Wildcards (*) are allowed. For example, \"placement*2015\" will return placement groups with names like \"placement group June 2015\", \"placement group May 2015\", or simply \"placements 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"placementgroup\" will match placement groups with name \"my placementgroup\", \"placementgroup 2015\", or simply \"placementgroup\".", + "location": "query", + "type": "string" + }, + "siteIds": { + "description": "Select only placement groups that are associated with these sites.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "sortField": { + "default": "ID", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "default": "ASCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + } + }, + "path": "userprofiles/{profileId}/placementGroups", + "response": { + "$ref": "PlacementGroupsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "description": "Updates an existing placement group. This method supports patch semantics.", + "flatPath": "userprofiles/{profileId}/placementGroups", + "httpMethod": "PATCH", + "id": "dfareporting.placementGroups.patch", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "PlacementGroup ID.", + "format": "int64", + "location": "query", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/placementGroups", + "request": { + "$ref": "PlacementGroup" + }, + "response": { + "$ref": "PlacementGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing placement group.", + "flatPath": "userprofiles/{profileId}/placementGroups", + "httpMethod": "PUT", + "id": "dfareporting.placementGroups.update", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/placementGroups", + "request": { + "$ref": "PlacementGroup" + }, + "response": { + "$ref": "PlacementGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "placementStrategies": { + "methods": { + "delete": { + "description": "Deletes an existing placement strategy.", + "flatPath": "userprofiles/{profileId}/placementStrategies/{id}", + "httpMethod": "DELETE", + "id": "dfareporting.placementStrategies.delete", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Placement strategy ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/placementStrategies/{id}", + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "get": { + "description": "Gets one placement strategy by ID.", + "flatPath": "userprofiles/{profileId}/placementStrategies/{id}", + "httpMethod": "GET", + "id": "dfareporting.placementStrategies.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Placement strategy ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/placementStrategies/{id}", + "response": { + "$ref": "PlacementStrategy" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new placement strategy.", + "flatPath": "userprofiles/{profileId}/placementStrategies", + "httpMethod": "POST", + "id": "dfareporting.placementStrategies.insert", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/placementStrategies", + "request": { + "$ref": "PlacementStrategy" + }, + "response": { + "$ref": "PlacementStrategy" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of placement strategies, possibly filtered. This method supports paging.", + "flatPath": "userprofiles/{profileId}/placementStrategies", + "httpMethod": "GET", + "id": "dfareporting.placementStrategies.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "ids": { + "description": "Select only placement strategies with these IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "maxResults": { + "default": "1000", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "1000", + "minimum": "0", + "type": "integer" + }, + "pageToken": { + "description": "Value of the nextPageToken from the previous result page.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "searchString": { + "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"placementstrategy*2015\" will return objects with names like \"placementstrategy June 2015\", \"placementstrategy April 2015\", or simply \"placementstrategy 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"placementstrategy\" will match objects with name \"my placementstrategy\", \"placementstrategy 2015\", or simply \"placementstrategy\".", + "location": "query", + "type": "string" + }, + "sortField": { + "default": "ID", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "default": "ASCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + } + }, + "path": "userprofiles/{profileId}/placementStrategies", + "response": { + "$ref": "PlacementStrategiesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "description": "Updates an existing placement strategy. This method supports patch semantics.", + "flatPath": "userprofiles/{profileId}/placementStrategies", + "httpMethod": "PATCH", + "id": "dfareporting.placementStrategies.patch", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "PlacementStrategy ID.", + "format": "int64", + "location": "query", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/placementStrategies", + "request": { + "$ref": "PlacementStrategy" + }, + "response": { + "$ref": "PlacementStrategy" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing placement strategy.", + "flatPath": "userprofiles/{profileId}/placementStrategies", + "httpMethod": "PUT", + "id": "dfareporting.placementStrategies.update", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/placementStrategies", + "request": { + "$ref": "PlacementStrategy" + }, + "response": { + "$ref": "PlacementStrategy" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "placements": { + "methods": { + "generatetags": { + "description": "Generates tags for a placement.", + "flatPath": "userprofiles/{profileId}/placements/generatetags", + "httpMethod": "POST", + "id": "dfareporting.placements.generatetags", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "campaignId": { + "description": "Generate placements belonging to this campaign. This is a required field.", + "format": "int64", + "location": "query", + "type": "string" + }, + "placementIds": { + "description": "Generate tags for these placements.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "tagFormats": { + "description": "Tag formats to generate for these placements. *Note:* PLACEMENT_TAG_STANDARD can only be generated for 1x1 placements.", + "enum": [ + "PLACEMENT_TAG_STANDARD", + "PLACEMENT_TAG_IFRAME_JAVASCRIPT", + "PLACEMENT_TAG_IFRAME_ILAYER", + "PLACEMENT_TAG_INTERNAL_REDIRECT", + "PLACEMENT_TAG_JAVASCRIPT", + "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT", + "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT", + "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT", + "PLACEMENT_TAG_CLICK_COMMANDS", + "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH", + "PLACEMENT_TAG_TRACKING", + "PLACEMENT_TAG_TRACKING_IFRAME", + "PLACEMENT_TAG_TRACKING_JAVASCRIPT", + "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3", + "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY", + "PLACEMENT_TAG_JAVASCRIPT_LEGACY", + "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY", + "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY", + "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4", + "PLACEMENT_TAG_TRACKING_THIRD_PARTY_MEASUREMENT" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "location": "query", + "repeated": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/placements/generatetags", + "response": { + "$ref": "PlacementsGenerateTagsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "get": { + "description": "Gets one placement by ID.", + "flatPath": "userprofiles/{profileId}/placements/{id}", + "httpMethod": "GET", + "id": "dfareporting.placements.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Placement ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/placements/{id}", + "response": { + "$ref": "Placement" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new placement.", + "flatPath": "userprofiles/{profileId}/placements", + "httpMethod": "POST", + "id": "dfareporting.placements.insert", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/placements", + "request": { + "$ref": "Placement" + }, + "response": { + "$ref": "Placement" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of placements, possibly filtered. This method supports paging.", + "flatPath": "userprofiles/{profileId}/placements", + "httpMethod": "GET", + "id": "dfareporting.placements.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "advertiserIds": { + "description": "Select only placements that belong to these advertisers.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "archived": { + "description": "Select only archived placements. Don't set this field to select both archived and non-archived placements.", + "location": "query", + "type": "boolean" + }, + "campaignIds": { + "description": "Select only placements that belong to these campaigns.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "compatibilities": { + "description": "Select only placements that are associated with these compatibilities. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard.", + "enum": [ + "DISPLAY", + "DISPLAY_INTERSTITIAL", + "APP", + "APP_INTERSTITIAL", + "IN_STREAM_VIDEO", + "IN_STREAM_AUDIO" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ], + "location": "query", + "repeated": true, + "type": "string" + }, + "contentCategoryIds": { + "description": "Select only placements that are associated with these content categories.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "directorySiteIds": { + "description": "Select only placements that are associated with these directory sites.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "groupIds": { + "description": "Select only placements that belong to these placement groups.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "ids": { + "description": "Select only placements with these IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "maxEndDate": { + "description": "Select only placements or placement groups whose end date is on or before the specified maxEndDate. The date should be formatted as \"yyyy-MM-dd\".", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "1000", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "1000", + "minimum": "0", + "type": "integer" + }, + "maxStartDate": { + "description": "Select only placements or placement groups whose start date is on or before the specified maxStartDate. The date should be formatted as \"yyyy-MM-dd\".", + "location": "query", + "type": "string" + }, + "minEndDate": { + "description": "Select only placements or placement groups whose end date is on or after the specified minEndDate. The date should be formatted as \"yyyy-MM-dd\".", + "location": "query", + "type": "string" + }, + "minStartDate": { + "description": "Select only placements or placement groups whose start date is on or after the specified minStartDate. The date should be formatted as \"yyyy-MM-dd\".", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Value of the nextPageToken from the previous result page.", + "location": "query", + "type": "string" + }, + "paymentSource": { + "description": "Select only placements with this payment source.", + "enum": [ + "PLACEMENT_AGENCY_PAID", + "PLACEMENT_PUBLISHER_PAID" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "placementStrategyIds": { + "description": "Select only placements that are associated with these placement strategies.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "pricingTypes": { + "description": "Select only placements with these pricing types.", + "enum": [ + "PRICING_TYPE_CPM", + "PRICING_TYPE_CPC", + "PRICING_TYPE_CPA", + "PRICING_TYPE_FLAT_RATE_IMPRESSIONS", + "PRICING_TYPE_FLAT_RATE_CLICKS", + "PRICING_TYPE_CPM_ACTIVEVIEW" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ], + "location": "query", + "repeated": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "searchString": { + "description": "Allows searching for placements by name or ID. Wildcards (*) are allowed. For example, \"placement*2015\" will return placements with names like \"placement June 2015\", \"placement May 2015\", or simply \"placements 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"placement\" will match placements with name \"my placement\", \"placement 2015\", or simply \"placement\" .", + "location": "query", + "type": "string" + }, + "siteIds": { + "description": "Select only placements that are associated with these sites.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "sizeIds": { + "description": "Select only placements that are associated with these sizes.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "sortField": { + "default": "ID", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "default": "ASCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + } + }, + "path": "userprofiles/{profileId}/placements", + "response": { + "$ref": "PlacementsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "description": "Updates an existing placement. This method supports patch semantics.", + "flatPath": "userprofiles/{profileId}/placements", + "httpMethod": "PATCH", + "id": "dfareporting.placements.patch", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Placement ID.", + "format": "int64", + "location": "query", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/placements", + "request": { + "$ref": "Placement" + }, + "response": { + "$ref": "Placement" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing placement.", + "flatPath": "userprofiles/{profileId}/placements", + "httpMethod": "PUT", + "id": "dfareporting.placements.update", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/placements", + "request": { + "$ref": "Placement" + }, + "response": { + "$ref": "Placement" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "platformTypes": { + "methods": { + "get": { + "description": "Gets one platform type by ID.", + "flatPath": "userprofiles/{profileId}/platformTypes/{id}", + "httpMethod": "GET", + "id": "dfareporting.platformTypes.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Platform type ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/platformTypes/{id}", + "response": { + "$ref": "PlatformType" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of platform types.", + "flatPath": "userprofiles/{profileId}/platformTypes", + "httpMethod": "GET", + "id": "dfareporting.platformTypes.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/platformTypes", + "response": { + "$ref": "PlatformTypesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "postalCodes": { + "methods": { + "get": { + "description": "Gets one postal code by ID.", + "flatPath": "userprofiles/{profileId}/postalCodes/{code}", + "httpMethod": "GET", + "id": "dfareporting.postalCodes.get", + "parameterOrder": [ + "profileId", + "code" + ], + "parameters": { + "code": { + "description": "Postal code ID.", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/postalCodes/{code}", + "response": { + "$ref": "PostalCode" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of postal codes.", + "flatPath": "userprofiles/{profileId}/postalCodes", + "httpMethod": "GET", + "id": "dfareporting.postalCodes.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/postalCodes", + "response": { + "$ref": "PostalCodesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "projects": { + "methods": { + "get": { + "description": "Gets one project by ID.", + "flatPath": "userprofiles/{profileId}/projects/{id}", + "httpMethod": "GET", + "id": "dfareporting.projects.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Project ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/projects/{id}", + "response": { + "$ref": "Project" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of projects, possibly filtered. This method supports paging .", + "flatPath": "userprofiles/{profileId}/projects", + "httpMethod": "GET", + "id": "dfareporting.projects.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "advertiserIds": { + "description": "Select only projects with these advertiser IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "ids": { + "description": "Select only projects with these IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "maxResults": { + "default": "1000", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "1000", + "minimum": "0", + "type": "integer" + }, + "pageToken": { + "description": "Value of the nextPageToken from the previous result page.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "searchString": { + "description": "Allows searching for projects by name or ID. Wildcards (*) are allowed. For example, \"project*2015\" will return projects with names like \"project June 2015\", \"project April 2015\", or simply \"project 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"project\" will match projects with name \"my project\", \"project 2015\", or simply \"project\".", + "location": "query", + "type": "string" + }, + "sortField": { + "default": "ID", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "default": "ASCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + } + }, + "path": "userprofiles/{profileId}/projects", + "response": { + "$ref": "ProjectsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "regions": { + "methods": { + "list": { + "description": "Retrieves a list of regions.", + "flatPath": "userprofiles/{profileId}/regions", + "httpMethod": "GET", + "id": "dfareporting.regions.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/regions", + "response": { + "$ref": "RegionsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "remarketingListShares": { + "methods": { + "get": { + "description": "Gets one remarketing list share by remarketing list ID.", + "flatPath": "userprofiles/{profileId}/remarketingListShares/{remarketingListId}", + "httpMethod": "GET", + "id": "dfareporting.remarketingListShares.get", + "parameterOrder": [ + "profileId", + "remarketingListId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "remarketingListId": { + "description": "Remarketing list ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/remarketingListShares/{remarketingListId}", + "response": { + "$ref": "RemarketingListShare" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "description": "Updates an existing remarketing list share. This method supports patch semantics.", + "flatPath": "userprofiles/{profileId}/remarketingListShares", + "httpMethod": "PATCH", + "id": "dfareporting.remarketingListShares.patch", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "RemarketingList ID.", + "format": "int64", + "location": "query", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/remarketingListShares", + "request": { + "$ref": "RemarketingListShare" + }, + "response": { + "$ref": "RemarketingListShare" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing remarketing list share.", + "flatPath": "userprofiles/{profileId}/remarketingListShares", + "httpMethod": "PUT", + "id": "dfareporting.remarketingListShares.update", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/remarketingListShares", + "request": { + "$ref": "RemarketingListShare" + }, + "response": { + "$ref": "RemarketingListShare" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "remarketingLists": { + "methods": { + "get": { + "description": "Gets one remarketing list by ID.", + "flatPath": "userprofiles/{profileId}/remarketingLists/{id}", + "httpMethod": "GET", + "id": "dfareporting.remarketingLists.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Remarketing list ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/remarketingLists/{id}", + "response": { + "$ref": "RemarketingList" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new remarketing list.", + "flatPath": "userprofiles/{profileId}/remarketingLists", + "httpMethod": "POST", + "id": "dfareporting.remarketingLists.insert", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/remarketingLists", + "request": { + "$ref": "RemarketingList" + }, + "response": { + "$ref": "RemarketingList" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of remarketing lists, possibly filtered. This method supports paging.", + "flatPath": "userprofiles/{profileId}/remarketingLists", + "httpMethod": "GET", + "id": "dfareporting.remarketingLists.list", + "parameterOrder": [ + "profileId", + "advertiserId" + ], + "parameters": { + "active": { + "description": "Select only active or only inactive remarketing lists.", + "location": "query", + "type": "boolean" + }, + "advertiserId": { + "description": "Select only remarketing lists owned by this advertiser.", + "format": "int64", + "location": "query", + "required": true, + "type": "string" + }, + "floodlightActivityId": { + "description": "Select only remarketing lists that have this floodlight activity ID.", + "format": "int64", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "1000", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "1000", + "minimum": "0", + "type": "integer" + }, + "name": { + "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"remarketing list*2015\" will return objects with names like \"remarketing list June 2015\", \"remarketing list April 2015\", or simply \"remarketing list 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"remarketing list\" will match objects with name \"my remarketing list\", \"remarketing list 2015\", or simply \"remarketing list\".", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Value of the nextPageToken from the previous result page.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "sortField": { + "default": "ID", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "default": "ASCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + } + }, + "path": "userprofiles/{profileId}/remarketingLists", + "response": { + "$ref": "RemarketingListsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "description": "Updates an existing remarketing list. This method supports patch semantics.", + "flatPath": "userprofiles/{profileId}/remarketingLists", + "httpMethod": "PATCH", + "id": "dfareporting.remarketingLists.patch", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "RemarketingList ID.", + "format": "int64", + "location": "query", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/remarketingLists", + "request": { + "$ref": "RemarketingList" + }, + "response": { + "$ref": "RemarketingList" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing remarketing list.", + "flatPath": "userprofiles/{profileId}/remarketingLists", + "httpMethod": "PUT", + "id": "dfareporting.remarketingLists.update", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/remarketingLists", + "request": { + "$ref": "RemarketingList" + }, + "response": { + "$ref": "RemarketingList" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "reports": { + "methods": { + "delete": { + "description": "Deletes a report by its ID.", + "flatPath": "userprofiles/{profileId}/reports/{reportId}", + "httpMethod": "DELETE", + "id": "dfareporting.reports.delete", + "parameterOrder": [ + "profileId", + "reportId" + ], + "parameters": { + "profileId": { + "description": "The Campaign Manager 360 user profile ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "reportId": { + "description": "The ID of the report.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/reports/{reportId}", + "scopes": [ + "https://www.googleapis.com/auth/dfareporting" + ] + }, + "get": { + "description": "Retrieves a report by its ID.", + "flatPath": "userprofiles/{profileId}/reports/{reportId}", + "httpMethod": "GET", + "id": "dfareporting.reports.get", + "parameterOrder": [ + "profileId", + "reportId" + ], + "parameters": { + "profileId": { + "description": "The Campaign Manager 360 user profile ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "reportId": { + "description": "The ID of the report.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/reports/{reportId}", + "response": { + "$ref": "Report" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfareporting" + ] + }, + "insert": { + "description": "Creates a report.", + "flatPath": "userprofiles/{profileId}/reports", + "httpMethod": "POST", + "id": "dfareporting.reports.insert", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "The Campaign Manager 360 user profile ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/reports", + "request": { + "$ref": "Report" + }, + "response": { + "$ref": "Report" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfareporting" + ] + }, + "list": { + "description": "Retrieves list of reports.", + "flatPath": "userprofiles/{profileId}/reports", + "httpMethod": "GET", + "id": "dfareporting.reports.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "maxResults": { + "default": "10", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "10", + "minimum": "0", + "type": "integer" + }, + "pageToken": { + "description": "The value of the nextToken from the previous result page.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "The Campaign Manager 360 user profile ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "scope": { + "default": "MINE", + "description": "The scope that defines which results are returned.", + "enum": [ + "ALL", + "MINE" + ], + "enumDescriptions": [ + "All reports in account.", + "My reports." + ], + "location": "query", + "type": "string" + }, + "sortField": { + "default": "LAST_MODIFIED_TIME", + "description": "The field by which to sort the list.", + "enum": [ + "ID", + "LAST_MODIFIED_TIME", + "NAME" + ], + "enumDescriptions": [ + "Sort by report ID.", + "Sort by 'lastModifiedTime' field.", + "Sort by name of reports." + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "default": "DESCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "Ascending order.", + "Descending order." + ], + "location": "query", + "type": "string" + } + }, + "path": "userprofiles/{profileId}/reports", + "response": { + "$ref": "ReportList" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfareporting" + ] + }, + "patch": { + "description": "Updates an existing report. This method supports patch semantics.", + "flatPath": "userprofiles/{profileId}/reports/{reportId}", + "httpMethod": "PATCH", + "id": "dfareporting.reports.patch", + "parameterOrder": [ + "profileId", + "reportId" + ], + "parameters": { + "profileId": { + "description": "The DFA user profile ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "reportId": { + "description": "The ID of the report.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/reports/{reportId}", + "request": { + "$ref": "Report" + }, + "response": { + "$ref": "Report" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfareporting" + ] + }, + "run": { + "description": "Runs a report.", + "flatPath": "userprofiles/{profileId}/reports/{reportId}/run", + "httpMethod": "POST", + "id": "dfareporting.reports.run", + "parameterOrder": [ + "profileId", + "reportId" + ], + "parameters": { + "profileId": { + "description": "The Campaign Manager 360 user profile ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "reportId": { + "description": "The ID of the report.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "synchronous": { + "default": "false", + "description": "If set and true, tries to run the report synchronously.", + "location": "query", + "type": "boolean" + } + }, + "path": "userprofiles/{profileId}/reports/{reportId}/run", + "response": { + "$ref": "File" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfareporting" + ] + }, + "update": { + "description": "Updates a report.", + "flatPath": "userprofiles/{profileId}/reports/{reportId}", + "httpMethod": "PUT", + "id": "dfareporting.reports.update", + "parameterOrder": [ + "profileId", + "reportId" + ], + "parameters": { + "profileId": { + "description": "The Campaign Manager 360 user profile ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "reportId": { + "description": "The ID of the report.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/reports/{reportId}", + "request": { + "$ref": "Report" + }, + "response": { + "$ref": "Report" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfareporting" + ] + } + }, + "resources": { + "compatibleFields": { + "methods": { + "query": { + "description": "Returns the fields that are compatible to be selected in the respective sections of a report criteria, given the fields already selected in the input report and user permissions.", + "flatPath": "userprofiles/{profileId}/reports/compatiblefields/query", + "httpMethod": "POST", + "id": "dfareporting.reports.compatibleFields.query", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "The Campaign Manager 360 user profile ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/reports/compatiblefields/query", + "request": { + "$ref": "Report" + }, + "response": { + "$ref": "CompatibleFields" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfareporting" + ] + } + } + }, + "files": { + "methods": { + "get": { + "description": "Retrieves a report file by its report ID and file ID. This method supports media download.", + "flatPath": "userprofiles/{profileId}/reports/{reportId}/files/{fileId}", + "httpMethod": "GET", + "id": "dfareporting.reports.files.get", + "parameterOrder": [ + "profileId", + "reportId", + "fileId" + ], + "parameters": { + "fileId": { + "description": "The ID of the report file.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "The Campaign Manager 360 user profile ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "reportId": { + "description": "The ID of the report.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/reports/{reportId}/files/{fileId}", + "response": { + "$ref": "File" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfareporting" + ], + "supportsMediaDownload": true + }, + "list": { + "description": "Lists files for a report.", + "flatPath": "userprofiles/{profileId}/reports/{reportId}/files", + "httpMethod": "GET", + "id": "dfareporting.reports.files.list", + "parameterOrder": [ + "profileId", + "reportId" + ], + "parameters": { + "maxResults": { + "default": "10", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "10", + "minimum": "0", + "type": "integer" + }, + "pageToken": { + "description": "The value of the nextToken from the previous result page.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "The Campaign Manager 360 user profile ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "reportId": { + "description": "The ID of the parent report.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "sortField": { + "default": "LAST_MODIFIED_TIME", + "description": "The field by which to sort the list.", + "enum": [ + "ID", + "LAST_MODIFIED_TIME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "default": "DESCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + } + }, + "path": "userprofiles/{profileId}/reports/{reportId}/files", + "response": { + "$ref": "FileList" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfareporting" + ] + } + } + } + } + }, + "sites": { + "methods": { + "get": { + "description": "Gets one site by ID.", + "flatPath": "userprofiles/{profileId}/sites/{id}", + "httpMethod": "GET", + "id": "dfareporting.sites.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Site ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/sites/{id}", + "response": { + "$ref": "Site" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new site.", + "flatPath": "userprofiles/{profileId}/sites", + "httpMethod": "POST", + "id": "dfareporting.sites.insert", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/sites", + "request": { + "$ref": "Site" + }, + "response": { + "$ref": "Site" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of sites, possibly filtered. This method supports paging.", + "flatPath": "userprofiles/{profileId}/sites", + "httpMethod": "GET", + "id": "dfareporting.sites.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "acceptsInStreamVideoPlacements": { + "description": "This search filter is no longer supported and will have no effect on the results returned.", + "location": "query", + "type": "boolean" + }, + "acceptsInterstitialPlacements": { + "description": "This search filter is no longer supported and will have no effect on the results returned.", + "location": "query", + "type": "boolean" + }, + "acceptsPublisherPaidPlacements": { + "description": "Select only sites that accept publisher paid placements.", + "location": "query", + "type": "boolean" + }, + "adWordsSite": { + "description": "Select only AdWords sites.", + "location": "query", + "type": "boolean" + }, + "approved": { + "description": "Select only approved sites.", + "location": "query", + "type": "boolean" + }, + "campaignIds": { + "description": "Select only sites with these campaign IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "directorySiteIds": { + "description": "Select only sites with these directory site IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "ids": { + "description": "Select only sites with these IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "maxResults": { + "default": "1000", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "1000", + "minimum": "0", + "type": "integer" + }, + "pageToken": { + "description": "Value of the nextPageToken from the previous result page.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "searchString": { + "description": "Allows searching for objects by name, ID or keyName. Wildcards (*) are allowed. For example, \"site*2015\" will return objects with names like \"site June 2015\", \"site April 2015\", or simply \"site 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"site\" will match objects with name \"my site\", \"site 2015\", or simply \"site\".", + "location": "query", + "type": "string" + }, + "sortField": { + "default": "ID", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "default": "ASCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "subaccountId": { + "description": "Select only sites with this subaccount ID.", + "format": "int64", + "location": "query", + "type": "string" + }, + "unmappedSite": { + "description": "Select only sites that have not been mapped to a directory site.", + "location": "query", + "type": "boolean" + } + }, + "path": "userprofiles/{profileId}/sites", + "response": { + "$ref": "SitesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "description": "Updates an existing site. This method supports patch semantics.", + "flatPath": "userprofiles/{profileId}/sites", + "httpMethod": "PATCH", + "id": "dfareporting.sites.patch", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Site ID.", + "format": "int64", + "location": "query", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/sites", + "request": { + "$ref": "Site" + }, + "response": { + "$ref": "Site" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing site.", + "flatPath": "userprofiles/{profileId}/sites", + "httpMethod": "PUT", + "id": "dfareporting.sites.update", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/sites", + "request": { + "$ref": "Site" + }, + "response": { + "$ref": "Site" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "sizes": { + "methods": { + "get": { + "description": "Gets one size by ID.", + "flatPath": "userprofiles/{profileId}/sizes/{id}", + "httpMethod": "GET", + "id": "dfareporting.sizes.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Size ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/sizes/{id}", + "response": { + "$ref": "Size" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new size.", + "flatPath": "userprofiles/{profileId}/sizes", + "httpMethod": "POST", + "id": "dfareporting.sizes.insert", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/sizes", + "request": { + "$ref": "Size" + }, + "response": { + "$ref": "Size" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of sizes, possibly filtered. Retrieved sizes are globally unique and may include values not currently in use by your account. Due to this, the list of sizes returned by this method may differ from the list seen in the Trafficking UI.", + "flatPath": "userprofiles/{profileId}/sizes", + "httpMethod": "GET", + "id": "dfareporting.sizes.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "height": { + "description": "Select only sizes with this height.", + "format": "int32", + "location": "query", + "maximum": "32767", + "minimum": "0", + "type": "integer" + }, + "iabStandard": { + "description": "Select only IAB standard sizes.", + "location": "query", + "type": "boolean" + }, + "ids": { + "description": "Select only sizes with these IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "width": { + "description": "Select only sizes with this width.", + "format": "int32", + "location": "query", + "maximum": "32767", + "minimum": "0", + "type": "integer" + } + }, + "path": "userprofiles/{profileId}/sizes", + "response": { + "$ref": "SizesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "subaccounts": { + "methods": { + "get": { + "description": "Gets one subaccount by ID.", + "flatPath": "userprofiles/{profileId}/subaccounts/{id}", + "httpMethod": "GET", + "id": "dfareporting.subaccounts.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Subaccount ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/subaccounts/{id}", + "response": { + "$ref": "Subaccount" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new subaccount.", + "flatPath": "userprofiles/{profileId}/subaccounts", + "httpMethod": "POST", + "id": "dfareporting.subaccounts.insert", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/subaccounts", + "request": { + "$ref": "Subaccount" + }, + "response": { + "$ref": "Subaccount" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Gets a list of subaccounts, possibly filtered. This method supports paging.", + "flatPath": "userprofiles/{profileId}/subaccounts", + "httpMethod": "GET", + "id": "dfareporting.subaccounts.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "ids": { + "description": "Select only subaccounts with these IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "maxResults": { + "default": "1000", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "1000", + "minimum": "0", + "type": "integer" + }, + "pageToken": { + "description": "Value of the nextPageToken from the previous result page.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "searchString": { + "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"subaccount*2015\" will return objects with names like \"subaccount June 2015\", \"subaccount April 2015\", or simply \"subaccount 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"subaccount\" will match objects with name \"my subaccount\", \"subaccount 2015\", or simply \"subaccount\" .", + "location": "query", + "type": "string" + }, + "sortField": { + "default": "ID", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "default": "ASCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + } + }, + "path": "userprofiles/{profileId}/subaccounts", + "response": { + "$ref": "SubaccountsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "description": "Updates an existing subaccount. This method supports patch semantics.", + "flatPath": "userprofiles/{profileId}/subaccounts", + "httpMethod": "PATCH", + "id": "dfareporting.subaccounts.patch", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Subaccount ID.", + "format": "int64", + "location": "query", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/subaccounts", + "request": { + "$ref": "Subaccount" + }, + "response": { + "$ref": "Subaccount" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing subaccount.", + "flatPath": "userprofiles/{profileId}/subaccounts", + "httpMethod": "PUT", + "id": "dfareporting.subaccounts.update", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/subaccounts", + "request": { + "$ref": "Subaccount" + }, + "response": { + "$ref": "Subaccount" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "targetableRemarketingLists": { + "methods": { + "get": { + "description": "Gets one remarketing list by ID.", + "flatPath": "userprofiles/{profileId}/targetableRemarketingLists/{id}", + "httpMethod": "GET", + "id": "dfareporting.targetableRemarketingLists.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Remarketing list ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/targetableRemarketingLists/{id}", + "response": { + "$ref": "TargetableRemarketingList" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of targetable remarketing lists, possibly filtered. This method supports paging.", + "flatPath": "userprofiles/{profileId}/targetableRemarketingLists", + "httpMethod": "GET", + "id": "dfareporting.targetableRemarketingLists.list", + "parameterOrder": [ + "profileId", + "advertiserId" + ], + "parameters": { + "active": { + "description": "Select only active or only inactive targetable remarketing lists.", + "location": "query", + "type": "boolean" + }, + "advertiserId": { + "description": "Select only targetable remarketing lists targetable by these advertisers.", + "format": "int64", + "location": "query", + "required": true, + "type": "string" + }, + "maxResults": { + "default": "1000", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "1000", + "minimum": "0", + "type": "integer" + }, + "name": { + "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"remarketing list*2015\" will return objects with names like \"remarketing list June 2015\", \"remarketing list April 2015\", or simply \"remarketing list 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"remarketing list\" will match objects with name \"my remarketing list\", \"remarketing list 2015\", or simply \"remarketing list\".", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Value of the nextPageToken from the previous result page.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "sortField": { + "default": "ID", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "default": "ASCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + } + }, + "path": "userprofiles/{profileId}/targetableRemarketingLists", + "response": { + "$ref": "TargetableRemarketingListsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "targetingTemplates": { + "methods": { + "get": { + "description": "Gets one targeting template by ID.", + "flatPath": "userprofiles/{profileId}/targetingTemplates/{id}", + "httpMethod": "GET", + "id": "dfareporting.targetingTemplates.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Targeting template ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/targetingTemplates/{id}", + "response": { + "$ref": "TargetingTemplate" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new targeting template.", + "flatPath": "userprofiles/{profileId}/targetingTemplates", + "httpMethod": "POST", + "id": "dfareporting.targetingTemplates.insert", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/targetingTemplates", + "request": { + "$ref": "TargetingTemplate" + }, + "response": { + "$ref": "TargetingTemplate" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of targeting templates, optionally filtered. This method supports paging.", + "flatPath": "userprofiles/{profileId}/targetingTemplates", + "httpMethod": "GET", + "id": "dfareporting.targetingTemplates.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "advertiserId": { + "description": "Select only targeting templates with this advertiser ID.", + "format": "int64", + "location": "query", + "type": "string" + }, + "ids": { + "description": "Select only targeting templates with these IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "maxResults": { + "default": "1000", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "1000", + "minimum": "0", + "type": "integer" + }, + "pageToken": { + "description": "Value of the nextPageToken from the previous result page.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "searchString": { + "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"template*2015\" will return objects with names like \"template June 2015\", \"template April 2015\", or simply \"template 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"template\" will match objects with name \"my template\", \"template 2015\", or simply \"template\".", + "location": "query", + "type": "string" + }, + "sortField": { + "default": "ID", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "default": "ASCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + } + }, + "path": "userprofiles/{profileId}/targetingTemplates", + "response": { + "$ref": "TargetingTemplatesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "description": "Updates an existing targeting template. This method supports patch semantics.", + "flatPath": "userprofiles/{profileId}/targetingTemplates", + "httpMethod": "PATCH", + "id": "dfareporting.targetingTemplates.patch", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "TargetingTemplate ID.", + "format": "int64", + "location": "query", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/targetingTemplates", + "request": { + "$ref": "TargetingTemplate" + }, + "response": { + "$ref": "TargetingTemplate" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing targeting template.", + "flatPath": "userprofiles/{profileId}/targetingTemplates", + "httpMethod": "PUT", + "id": "dfareporting.targetingTemplates.update", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/targetingTemplates", + "request": { + "$ref": "TargetingTemplate" + }, + "response": { + "$ref": "TargetingTemplate" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "userProfiles": { + "methods": { + "get": { + "description": "Gets one user profile by ID.", + "flatPath": "userprofiles/{profileId}", + "httpMethod": "GET", + "id": "dfareporting.userProfiles.get", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "The user profile ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}", + "response": { + "$ref": "UserProfile" + }, + "scopes": [ + "https://www.googleapis.com/auth/ddmconversions", + "https://www.googleapis.com/auth/dfareporting", + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves list of user profiles for a user.", + "flatPath": "userprofiles", + "httpMethod": "GET", + "id": "dfareporting.userProfiles.list", + "parameterOrder": [], + "parameters": {}, + "path": "userprofiles", + "response": { + "$ref": "UserProfileList" + }, + "scopes": [ + "https://www.googleapis.com/auth/ddmconversions", + "https://www.googleapis.com/auth/dfareporting", + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "userRolePermissionGroups": { + "methods": { + "get": { + "description": "Gets one user role permission group by ID.", + "flatPath": "userprofiles/{profileId}/userRolePermissionGroups/{id}", + "httpMethod": "GET", + "id": "dfareporting.userRolePermissionGroups.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "User role permission group ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/userRolePermissionGroups/{id}", + "response": { + "$ref": "UserRolePermissionGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Gets a list of all supported user role permission groups.", + "flatPath": "userprofiles/{profileId}/userRolePermissionGroups", + "httpMethod": "GET", + "id": "dfareporting.userRolePermissionGroups.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/userRolePermissionGroups", + "response": { + "$ref": "UserRolePermissionGroupsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "userRolePermissions": { + "methods": { + "get": { + "description": "Gets one user role permission by ID.", + "flatPath": "userprofiles/{profileId}/userRolePermissions/{id}", + "httpMethod": "GET", + "id": "dfareporting.userRolePermissions.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "User role permission ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/userRolePermissions/{id}", + "response": { + "$ref": "UserRolePermission" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Gets a list of user role permissions, possibly filtered.", + "flatPath": "userprofiles/{profileId}/userRolePermissions", + "httpMethod": "GET", + "id": "dfareporting.userRolePermissions.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "ids": { + "description": "Select only user role permissions with these IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/userRolePermissions", + "response": { + "$ref": "UserRolePermissionsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "userRoles": { + "methods": { + "delete": { + "description": "Deletes an existing user role.", + "flatPath": "userprofiles/{profileId}/userRoles/{id}", + "httpMethod": "DELETE", + "id": "dfareporting.userRoles.delete", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "User role ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/userRoles/{id}", + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "get": { + "description": "Gets one user role by ID.", + "flatPath": "userprofiles/{profileId}/userRoles/{id}", + "httpMethod": "GET", + "id": "dfareporting.userRoles.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "User role ID.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/userRoles/{id}", + "response": { + "$ref": "UserRole" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new user role.", + "flatPath": "userprofiles/{profileId}/userRoles", + "httpMethod": "POST", + "id": "dfareporting.userRoles.insert", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/userRoles", + "request": { + "$ref": "UserRole" + }, + "response": { + "$ref": "UserRole" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of user roles, possibly filtered. This method supports paging.", + "flatPath": "userprofiles/{profileId}/userRoles", + "httpMethod": "GET", + "id": "dfareporting.userRoles.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "accountUserRoleOnly": { + "description": "Select only account level user roles not associated with any specific subaccount.", + "location": "query", + "type": "boolean" + }, + "ids": { + "description": "Select only user roles with the specified IDs.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "maxResults": { + "default": "1000", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "maximum": "1000", + "minimum": "0", + "type": "integer" + }, + "pageToken": { + "description": "Value of the nextPageToken from the previous result page.", + "location": "query", + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "searchString": { + "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"userrole*2015\" will return objects with names like \"userrole June 2015\", \"userrole April 2015\", or simply \"userrole 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"userrole\" will match objects with name \"my userrole\", \"userrole 2015\", or simply \"userrole\".", + "location": "query", + "type": "string" + }, + "sortField": { + "default": "ID", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "default": "ASCENDING", + "description": "Order of sorted results.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + }, + "subaccountId": { + "description": "Select only user roles that belong to this subaccount.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "userprofiles/{profileId}/userRoles", + "response": { + "$ref": "UserRolesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "description": "Updates an existing user role. This method supports patch semantics.", + "flatPath": "userprofiles/{profileId}/userRoles", + "httpMethod": "PATCH", + "id": "dfareporting.userRoles.patch", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "UserRole ID.", + "format": "int64", + "location": "query", + "required": true, + "type": "string" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/userRoles", + "request": { + "$ref": "UserRole" + }, + "response": { + "$ref": "UserRole" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing user role.", + "flatPath": "userprofiles/{profileId}/userRoles", + "httpMethod": "PUT", + "id": "dfareporting.userRoles.update", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/userRoles", + "request": { + "$ref": "UserRole" + }, + "response": { + "$ref": "UserRole" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "videoFormats": { + "methods": { + "get": { + "description": "Gets one video format by ID.", + "flatPath": "userprofiles/{profileId}/videoFormats/{id}", + "httpMethod": "GET", + "id": "dfareporting.videoFormats.get", + "parameterOrder": [ + "profileId", + "id" + ], + "parameters": { + "id": { + "description": "Video format ID.", + "format": "int32", + "location": "path", + "required": true, + "type": "integer" + }, + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/videoFormats/{id}", + "response": { + "$ref": "VideoFormat" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Lists available video formats.", + "flatPath": "userprofiles/{profileId}/videoFormats", + "httpMethod": "GET", + "id": "dfareporting.videoFormats.list", + "parameterOrder": [ + "profileId" + ], + "parameters": { + "profileId": { + "description": "User profile ID associated with this request.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "userprofiles/{profileId}/videoFormats", + "response": { + "$ref": "VideoFormatsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + } + }, + "revision": "20220314", + "rootUrl": "https://dfareporting.googleapis.com/", + "schemas": { + "Account": { + "description": "Contains properties of a Campaign Manager account.", + "id": "Account", + "properties": { + "accountPermissionIds": { + "description": "Account permissions assigned to this account.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "accountProfile": { + "description": "Profile for this account. This is a read-only field that can be left blank.", + "enum": [ + "ACCOUNT_PROFILE_BASIC", + "ACCOUNT_PROFILE_STANDARD" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "active": { + "description": "Whether this account is active.", + "type": "boolean" + }, + "activeAdsLimitTier": { + "description": "Maximum number of active ads allowed for this account.", + "enum": [ + "ACTIVE_ADS_TIER_40K", + "ACTIVE_ADS_TIER_75K", + "ACTIVE_ADS_TIER_100K", + "ACTIVE_ADS_TIER_200K", + "ACTIVE_ADS_TIER_300K", + "ACTIVE_ADS_TIER_500K", + "ACTIVE_ADS_TIER_750K", + "ACTIVE_ADS_TIER_1M" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "activeViewOptOut": { + "description": "Whether to serve creatives with Active View tags. If disabled, viewability data will not be available for any impressions.", + "type": "boolean" + }, + "availablePermissionIds": { + "description": "User role permissions available to the user roles of this account.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "countryId": { + "description": "ID of the country associated with this account.", + "format": "int64", + "type": "string" + }, + "currencyId": { + "description": "ID of currency associated with this account. This is a required field. Acceptable values are: - \"1\" for USD - \"2\" for GBP - \"3\" for ESP - \"4\" for SEK - \"5\" for CAD - \"6\" for JPY - \"7\" for DEM - \"8\" for AUD - \"9\" for FRF - \"10\" for ITL - \"11\" for DKK - \"12\" for NOK - \"13\" for FIM - \"14\" for ZAR - \"15\" for IEP - \"16\" for NLG - \"17\" for EUR - \"18\" for KRW - \"19\" for TWD - \"20\" for SGD - \"21\" for CNY - \"22\" for HKD - \"23\" for NZD - \"24\" for MYR - \"25\" for BRL - \"26\" for PTE - \"28\" for CLP - \"29\" for TRY - \"30\" for ARS - \"31\" for PEN - \"32\" for ILS - \"33\" for CHF - \"34\" for VEF - \"35\" for COP - \"36\" for GTQ - \"37\" for PLN - \"39\" for INR - \"40\" for THB - \"41\" for IDR - \"42\" for CZK - \"43\" for RON - \"44\" for HUF - \"45\" for RUB - \"46\" for AED - \"47\" for BGN - \"48\" for HRK - \"49\" for MXN - \"50\" for NGN - \"51\" for EGP ", + "format": "int64", + "type": "string" + }, + "defaultCreativeSizeId": { + "description": "Default placement dimensions for this account.", + "format": "int64", + "type": "string" + }, + "description": { + "description": "Description of this account.", + "type": "string" + }, + "id": { + "description": "ID of this account. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#account\".", + "type": "string" + }, + "locale": { + "description": "Locale of this account. Acceptable values are: - \"cs\" (Czech) - \"de\" (German) - \"en\" (English) - \"en-GB\" (English United Kingdom) - \"es\" (Spanish) - \"fr\" (French) - \"it\" (Italian) - \"ja\" (Japanese) - \"ko\" (Korean) - \"pl\" (Polish) - \"pt-BR\" (Portuguese Brazil) - \"ru\" (Russian) - \"sv\" (Swedish) - \"tr\" (Turkish) - \"zh-CN\" (Chinese Simplified) - \"zh-TW\" (Chinese Traditional) ", + "type": "string" + }, + "maximumImageSize": { + "description": "Maximum image size allowed for this account, in kilobytes. Value must be greater than or equal to 1.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "Name of this account. This is a required field, and must be less than 128 characters long and be globally unique.", + "type": "string" + }, + "nielsenOcrEnabled": { + "description": "Whether campaigns created in this account will be enabled for Nielsen OCR reach ratings by default.", + "type": "boolean" + }, + "reportsConfiguration": { + "$ref": "ReportsConfiguration", + "description": "Reporting configuration of this account." + }, + "shareReportsWithTwitter": { + "description": "Share Path to Conversion reports with Twitter.", + "type": "boolean" + }, + "teaserSizeLimit": { + "description": "File size limit in kilobytes of Rich Media teaser creatives. Acceptable values are 1 to 10240, inclusive.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "AccountActiveAdSummary": { + "description": "Gets a summary of active ads in an account.", + "id": "AccountActiveAdSummary", + "properties": { + "accountId": { + "description": "ID of the account.", + "format": "int64", + "type": "string" + }, + "activeAds": { + "description": "Ads that have been activated for the account", + "format": "int64", + "type": "string" + }, + "activeAdsLimitTier": { + "description": "Maximum number of active ads allowed for the account.", + "enum": [ + "ACTIVE_ADS_TIER_40K", + "ACTIVE_ADS_TIER_75K", + "ACTIVE_ADS_TIER_100K", + "ACTIVE_ADS_TIER_200K", + "ACTIVE_ADS_TIER_300K", + "ACTIVE_ADS_TIER_500K", + "ACTIVE_ADS_TIER_750K", + "ACTIVE_ADS_TIER_1M" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "availableAds": { + "description": "Ads that can be activated for the account.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#accountActiveAdSummary\".", + "type": "string" + } + }, + "type": "object" + }, + "AccountPermission": { + "description": "AccountPermissions contains information about a particular account permission. Some features of Campaign Manager require an account permission to be present in the account.", + "id": "AccountPermission", + "properties": { + "accountProfiles": { + "description": "Account profiles associated with this account permission. Possible values are: - \"ACCOUNT_PROFILE_BASIC\" - \"ACCOUNT_PROFILE_STANDARD\" ", + "items": { + "enum": [ + "ACCOUNT_PROFILE_BASIC", + "ACCOUNT_PROFILE_STANDARD" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "ID of this account permission.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#accountPermission\".", + "type": "string" + }, + "level": { + "description": "Administrative level required to enable this account permission.", + "enum": [ + "USER", + "ADMINISTRATOR" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "name": { + "description": "Name of this account permission.", + "type": "string" + }, + "permissionGroupId": { + "description": "Permission group of this account permission.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "AccountPermissionGroup": { + "description": "AccountPermissionGroups contains a mapping of permission group IDs to names. A permission group is a grouping of account permissions.", + "id": "AccountPermissionGroup", + "properties": { + "id": { + "description": "ID of this account permission group.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#accountPermissionGroup\".", + "type": "string" + }, + "name": { + "description": "Name of this account permission group.", + "type": "string" + } + }, + "type": "object" + }, + "AccountPermissionGroupsListResponse": { + "description": "Account Permission Group List Response", + "id": "AccountPermissionGroupsListResponse", + "properties": { + "accountPermissionGroups": { + "description": "Account permission group collection.", + "items": { + "$ref": "AccountPermissionGroup" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#accountPermissionGroupsListResponse\".", + "type": "string" + } + }, + "type": "object" + }, + "AccountPermissionsListResponse": { + "description": "Account Permission List Response", + "id": "AccountPermissionsListResponse", + "properties": { + "accountPermissions": { + "description": "Account permission collection.", + "items": { + "$ref": "AccountPermission" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#accountPermissionsListResponse\".", + "type": "string" + } + }, + "type": "object" + }, + "AccountUserProfile": { + "description": "AccountUserProfiles contains properties of a Campaign Manager user profile. This resource is specifically for managing user profiles, whereas UserProfiles is for accessing the API.", + "id": "AccountUserProfile", + "properties": { + "accountId": { + "description": "Account ID of the user profile. This is a read-only field that can be left blank.", + "format": "int64", + "type": "string" + }, + "active": { + "description": "Whether this user profile is active. This defaults to false, and must be set true on insert for the user profile to be usable.", + "type": "boolean" + }, + "advertiserFilter": { + "$ref": "ObjectFilter", + "description": "Filter that describes which advertisers are visible to the user profile." + }, + "campaignFilter": { + "$ref": "ObjectFilter", + "description": "Filter that describes which campaigns are visible to the user profile." + }, + "comments": { + "description": "Comments for this user profile.", + "type": "string" + }, + "email": { + "description": "Email of the user profile. The email addresss must be linked to a Google Account. This field is required on insertion and is read-only after insertion.", + "type": "string" + }, + "id": { + "description": "ID of the user profile. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#accountUserProfile\".", + "type": "string" + }, + "locale": { + "description": "Locale of the user profile. This is a required field. Acceptable values are: - \"cs\" (Czech) - \"de\" (German) - \"en\" (English) - \"en-GB\" (English United Kingdom) - \"es\" (Spanish) - \"fr\" (French) - \"it\" (Italian) - \"ja\" (Japanese) - \"ko\" (Korean) - \"pl\" (Polish) - \"pt-BR\" (Portuguese Brazil) - \"ru\" (Russian) - \"sv\" (Swedish) - \"tr\" (Turkish) - \"zh-CN\" (Chinese Simplified) - \"zh-TW\" (Chinese Traditional) ", + "type": "string" + }, + "name": { + "description": "Name of the user profile. This is a required field. Must be less than 64 characters long, must be globally unique, and cannot contain whitespace or any of the following characters: \"&;<>\"#%,\".", + "type": "string" + }, + "siteFilter": { + "$ref": "ObjectFilter", + "description": "Filter that describes which sites are visible to the user profile." + }, + "subaccountId": { + "description": "Subaccount ID of the user profile. This is a read-only field that can be left blank.", + "format": "int64", + "type": "string" + }, + "traffickerType": { + "description": "Trafficker type of this user profile. This is a read-only field.", + "enum": [ + "INTERNAL_NON_TRAFFICKER", + "INTERNAL_TRAFFICKER", + "EXTERNAL_TRAFFICKER" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "userAccessType": { + "description": "User type of the user profile. This is a read-only field that can be left blank.", + "enum": [ + "NORMAL_USER", + "SUPER_USER", + "INTERNAL_ADMINISTRATOR", + "READ_ONLY_SUPER_USER" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "userRoleFilter": { + "$ref": "ObjectFilter", + "description": "Filter that describes which user roles are visible to the user profile." + }, + "userRoleId": { + "description": "User role ID of the user profile. This is a required field.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "AccountUserProfilesListResponse": { + "description": "Account User Profile List Response", + "id": "AccountUserProfilesListResponse", + "properties": { + "accountUserProfiles": { + "description": "Account user profile collection.", + "items": { + "$ref": "AccountUserProfile" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#accountUserProfilesListResponse\".", + "type": "string" + }, + "nextPageToken": { + "description": "Pagination token to be used for the next list operation.", + "type": "string" + } + }, + "type": "object" + }, + "AccountsListResponse": { + "description": "Account List Response", + "id": "AccountsListResponse", + "properties": { + "accounts": { + "description": "Account collection.", + "items": { + "$ref": "Account" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#accountsListResponse\".", + "type": "string" + }, + "nextPageToken": { + "description": "Pagination token to be used for the next list operation.", + "type": "string" + } + }, + "type": "object" + }, + "Activities": { + "description": "Represents an activity group.", + "id": "Activities", + "properties": { + "filters": { + "description": "List of activity filters. The dimension values need to be all either of type \"dfa:activity\" or \"dfa:activityGroup\".", + "items": { + "$ref": "DimensionValue" + }, + "type": "array" + }, + "kind": { + "description": "The kind of resource this is, in this case dfareporting#activities.", + "type": "string" + }, + "metricNames": { + "description": "List of names of floodlight activity metrics.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Ad": { + "description": "Contains properties of a Campaign Manager ad.", + "id": "Ad", + "properties": { + "accountId": { + "description": "Account ID of this ad. This is a read-only field that can be left blank.", + "format": "int64", + "type": "string" + }, + "active": { + "description": "Whether this ad is active. When true, archived must be false.", + "type": "boolean" + }, + "advertiserId": { + "description": "Advertiser ID of this ad. This is a required field on insertion.", + "format": "int64", + "type": "string" + }, + "advertiserIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the advertiser. This is a read-only, auto-generated field." + }, + "archived": { + "description": "Whether this ad is archived. When true, active must be false.", + "type": "boolean" + }, + "audienceSegmentId": { + "description": "Audience segment ID that is being targeted for this ad. Applicable when type is AD_SERVING_STANDARD_AD.", + "format": "int64", + "type": "string" + }, + "campaignId": { + "description": "Campaign ID of this ad. This is a required field on insertion.", + "format": "int64", + "type": "string" + }, + "campaignIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the campaign. This is a read-only, auto-generated field." + }, + "clickThroughUrl": { + "$ref": "ClickThroughUrl", + "description": "Click-through URL for this ad. This is a required field on insertion. Applicable when type is AD_SERVING_CLICK_TRACKER." + }, + "clickThroughUrlSuffixProperties": { + "$ref": "ClickThroughUrlSuffixProperties", + "description": "Click-through URL suffix properties for this ad. Applies to the URL in the ad or (if overriding ad properties) the URL in the creative." + }, + "comments": { + "description": "Comments for this ad.", + "type": "string" + }, + "compatibility": { + "description": "Compatibility of this ad. Applicable when type is AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to either rendering on desktop or on mobile devices or in mobile apps for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are only used for existing default ads. New mobile placements must be assigned DISPLAY or DISPLAY_INTERSTITIAL and default ads created for those placements will be limited to those compatibility types. IN_STREAM_VIDEO refers to rendering in-stream video ads developed with the VAST standard.", + "enum": [ + "DISPLAY", + "DISPLAY_INTERSTITIAL", + "APP", + "APP_INTERSTITIAL", + "IN_STREAM_VIDEO", + "IN_STREAM_AUDIO" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "createInfo": { + "$ref": "LastModifiedInfo", + "description": "Information about the creation of this ad. This is a read-only field." + }, + "creativeGroupAssignments": { + "description": "Creative group assignments for this ad. Applicable when type is AD_SERVING_CLICK_TRACKER. Only one assignment per creative group number is allowed for a maximum of two assignments.", + "items": { + "$ref": "CreativeGroupAssignment" + }, + "type": "array" + }, + "creativeRotation": { + "$ref": "CreativeRotation", + "description": "Creative rotation for this ad. Applicable when type is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field should have exactly one creativeAssignment ." + }, + "dayPartTargeting": { + "$ref": "DayPartTargeting", + "description": "Time and day targeting information for this ad. This field must be left blank if the ad is using a targeting template. Applicable when type is AD_SERVING_STANDARD_AD." + }, + "defaultClickThroughEventTagProperties": { + "$ref": "DefaultClickThroughEventTagProperties", + "description": "Default click-through event tag properties for this ad." + }, + "deliverySchedule": { + "$ref": "DeliverySchedule", + "description": "Delivery schedule information for this ad. Applicable when type is AD_SERVING_STANDARD_AD or AD_SERVING_TRACKING. This field along with subfields priority and impressionRatio are required on insertion when type is AD_SERVING_STANDARD_AD." + }, + "dynamicClickTracker": { + "description": "Whether this ad is a dynamic click tracker. Applicable when type is AD_SERVING_CLICK_TRACKER. This is a required field on insert, and is read-only after insert.", + "type": "boolean" + }, + "endTime": { + "format": "date-time", + "type": "string" + }, + "eventTagOverrides": { + "description": "Event tag overrides for this ad.", + "items": { + "$ref": "EventTagOverride" + }, + "type": "array" + }, + "geoTargeting": { + "$ref": "GeoTargeting", + "description": "Geographical targeting information for this ad. This field must be left blank if the ad is using a targeting template. Applicable when type is AD_SERVING_STANDARD_AD." + }, + "id": { + "description": "ID of this ad. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + }, + "idDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of this ad. This is a read-only, auto-generated field." + }, + "keyValueTargetingExpression": { + "$ref": "KeyValueTargetingExpression", + "description": "Key-value targeting information for this ad. This field must be left blank if the ad is using a targeting template. Applicable when type is AD_SERVING_STANDARD_AD." + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#ad\".", + "type": "string" + }, + "languageTargeting": { + "$ref": "LanguageTargeting", + "description": "Language targeting information for this ad. This field must be left blank if the ad is using a targeting template. Applicable when type is AD_SERVING_STANDARD_AD." + }, + "lastModifiedInfo": { + "$ref": "LastModifiedInfo", + "description": "Information about the most recent modification of this ad. This is a read-only field." + }, + "name": { + "description": "Name of this ad. This is a required field and must be less than 256 characters long.", + "type": "string" + }, + "placementAssignments": { + "description": "Placement assignments for this ad.", + "items": { + "$ref": "PlacementAssignment" + }, + "type": "array" + }, + "remarketingListExpression": { + "$ref": "ListTargetingExpression", + "description": "Remarketing list targeting expression for this ad. This field must be left blank if the ad is using a targeting template. Applicable when type is AD_SERVING_STANDARD_AD." + }, + "size": { + "$ref": "Size", + "description": "Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD." + }, + "sslCompliant": { + "description": "Whether this ad is ssl compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.", + "type": "boolean" + }, + "sslRequired": { + "description": "Whether this ad requires ssl. This is a read-only field that is auto-generated when the ad is inserted or updated.", + "type": "boolean" + }, + "startTime": { + "format": "date-time", + "type": "string" + }, + "subaccountId": { + "description": "Subaccount ID of this ad. This is a read-only field that can be left blank.", + "format": "int64", + "type": "string" + }, + "targetingTemplateId": { + "description": "Targeting template ID, used to apply preconfigured targeting information to this ad. This cannot be set while any of dayPartTargeting, geoTargeting, keyValueTargetingExpression, languageTargeting, remarketingListExpression, or technologyTargeting are set. Applicable when type is AD_SERVING_STANDARD_AD.", + "format": "int64", + "type": "string" + }, + "technologyTargeting": { + "$ref": "TechnologyTargeting", + "description": "Technology platform targeting information for this ad. This field must be left blank if the ad is using a targeting template. Applicable when type is AD_SERVING_STANDARD_AD." + }, + "type": { + "description": "Type of ad. This is a required field on insertion. Note that default ads ( AD_SERVING_DEFAULT_AD) cannot be created directly (see Creative resource).", + "enum": [ + "AD_SERVING_STANDARD_AD", + "AD_SERVING_DEFAULT_AD", + "AD_SERVING_CLICK_TRACKER", + "AD_SERVING_TRACKING", + "AD_SERVING_BRAND_SAFE_AD" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "AdBlockingConfiguration": { + "description": "Campaign ad blocking settings.", + "id": "AdBlockingConfiguration", + "properties": { + "clickThroughUrl": { + "description": "Click-through URL used by brand-neutral ads. This is a required field when overrideClickThroughUrl is set to true.", + "type": "string" + }, + "creativeBundleId": { + "description": "ID of a creative bundle to use for this campaign. If set, brand-neutral ads will select creatives from this bundle. Otherwise, a default transparent pixel will be used.", + "format": "int64", + "type": "string" + }, + "enabled": { + "description": "Whether this campaign has enabled ad blocking. When true, ad blocking is enabled for placements in the campaign, but this may be overridden by site and placement settings. When false, ad blocking is disabled for all placements under the campaign, regardless of site and placement settings.", + "type": "boolean" + }, + "overrideClickThroughUrl": { + "description": "Whether the brand-neutral ad's click-through URL comes from the campaign's creative bundle or the override URL. Must be set to true if ad blocking is enabled and no creative bundle is configured.", + "type": "boolean" + } + }, + "type": "object" + }, + "AdSlot": { + "description": "Ad Slot", + "id": "AdSlot", + "properties": { + "comment": { + "description": "Comment for this ad slot.", + "type": "string" + }, + "compatibility": { + "description": "Ad slot compatibility. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop, mobile devices or in mobile apps for regular or interstitial ads respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard.", + "enum": [ + "DISPLAY", + "DISPLAY_INTERSTITIAL", + "APP", + "APP_INTERSTITIAL", + "IN_STREAM_VIDEO", + "IN_STREAM_AUDIO" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "height": { + "description": "Height of this ad slot.", + "format": "int64", + "type": "string" + }, + "linkedPlacementId": { + "description": "ID of the placement from an external platform that is linked to this ad slot.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "Name of this ad slot.", + "type": "string" + }, + "paymentSourceType": { + "description": "Payment source type of this ad slot.", + "enum": [ + "PLANNING_PAYMENT_SOURCE_TYPE_AGENCY_PAID", + "PLANNING_PAYMENT_SOURCE_TYPE_PUBLISHER_PAID" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "primary": { + "description": "Primary ad slot of a roadblock inventory item.", + "type": "boolean" + }, + "width": { + "description": "Width of this ad slot.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "AdsListResponse": { + "description": "Ad List Response", + "id": "AdsListResponse", + "properties": { + "ads": { + "description": "Ad collection.", + "items": { + "$ref": "Ad" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#adsListResponse\".", + "type": "string" + }, + "nextPageToken": { + "description": "Pagination token to be used for the next list operation.", + "type": "string" + } + }, + "type": "object" + }, + "Advertiser": { + "description": "Contains properties of a Campaign Manager advertiser.", + "id": "Advertiser", + "properties": { + "accountId": { + "description": "Account ID of this advertiser.This is a read-only field that can be left blank.", + "format": "int64", + "type": "string" + }, + "advertiserGroupId": { + "description": "ID of the advertiser group this advertiser belongs to. You can group advertisers for reporting purposes, allowing you to see aggregated information for all advertisers in each group.", + "format": "int64", + "type": "string" + }, + "clickThroughUrlSuffix": { + "description": "Suffix added to click-through URL of ad creative associations under this advertiser. Must be less than 129 characters long.", + "type": "string" + }, + "defaultClickThroughEventTagId": { + "description": "ID of the click-through event tag to apply by default to the landing pages of this advertiser's campaigns.", + "format": "int64", + "type": "string" + }, + "defaultEmail": { + "description": "Default email address used in sender field for tag emails.", + "type": "string" + }, + "floodlightConfigurationId": { + "description": "Floodlight configuration ID of this advertiser. The floodlight configuration ID will be created automatically, so on insert this field should be left blank. This field can be set to another advertiser's floodlight configuration ID in order to share that advertiser's floodlight configuration with this advertiser, so long as: - This advertiser's original floodlight configuration is not already associated with floodlight activities or floodlight activity groups. - This advertiser's original floodlight configuration is not already shared with another advertiser. ", + "format": "int64", + "type": "string" + }, + "floodlightConfigurationIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field." + }, + "id": { + "description": "ID of this advertiser. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + }, + "idDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of this advertiser. This is a read-only, auto-generated field." + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#advertiser\".", + "type": "string" + }, + "name": { + "description": "Name of this advertiser. This is a required field and must be less than 256 characters long and unique among advertisers of the same account.", + "type": "string" + }, + "originalFloodlightConfigurationId": { + "description": "Original floodlight configuration before any sharing occurred. Set the floodlightConfigurationId of this advertiser to originalFloodlightConfigurationId to unshare the advertiser's current floodlight configuration. You cannot unshare an advertiser's floodlight configuration if the shared configuration has activities associated with any campaign or placement.", + "format": "int64", + "type": "string" + }, + "status": { + "description": "Status of this advertiser.", + "enum": [ + "APPROVED", + "ON_HOLD" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "subaccountId": { + "description": "Subaccount ID of this advertiser.This is a read-only field that can be left blank.", + "format": "int64", + "type": "string" + }, + "suspended": { + "description": "Suspension status of this advertiser.", + "type": "boolean" + } + }, + "type": "object" + }, + "AdvertiserGroup": { + "description": "Groups advertisers together so that reports can be generated for the entire group at once.", + "id": "AdvertiserGroup", + "properties": { + "accountId": { + "description": "Account ID of this advertiser group. This is a read-only field that can be left blank.", + "format": "int64", + "type": "string" + }, + "id": { + "description": "ID of this advertiser group. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#advertiserGroup\".", + "type": "string" + }, + "name": { + "description": "Name of this advertiser group. This is a required field and must be less than 256 characters long and unique among advertiser groups of the same account.", + "type": "string" + } + }, + "type": "object" + }, + "AdvertiserGroupsListResponse": { + "description": "Advertiser Group List Response", + "id": "AdvertiserGroupsListResponse", + "properties": { + "advertiserGroups": { + "description": "Advertiser group collection.", + "items": { + "$ref": "AdvertiserGroup" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#advertiserGroupsListResponse\".", + "type": "string" + }, + "nextPageToken": { + "description": "Pagination token to be used for the next list operation.", + "type": "string" + } + }, + "type": "object" + }, + "AdvertiserLandingPagesListResponse": { + "description": "Landing Page List Response", + "id": "AdvertiserLandingPagesListResponse", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#advertiserLandingPagesListResponse\".", + "type": "string" + }, + "landingPages": { + "description": "Landing page collection", + "items": { + "$ref": "LandingPage" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Pagination token to be used for the next list operation.", + "type": "string" + } + }, + "type": "object" + }, + "AdvertisersListResponse": { + "description": "Advertiser List Response", + "id": "AdvertisersListResponse", + "properties": { + "advertisers": { + "description": "Advertiser collection.", + "items": { + "$ref": "Advertiser" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#advertisersListResponse\".", + "type": "string" + }, + "nextPageToken": { + "description": "Pagination token to be used for the next list operation.", + "type": "string" + } + }, + "type": "object" + }, + "AudienceSegment": { + "description": "Audience Segment.", + "id": "AudienceSegment", + "properties": { + "allocation": { + "description": "Weight allocated to this segment. The weight assigned will be understood in proportion to the weights assigned to other segments in the same segment group. Acceptable values are 1 to 1000, inclusive.", + "format": "int32", + "type": "integer" + }, + "id": { + "description": "ID of this audience segment. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "Name of this audience segment. This is a required field and must be less than 65 characters long.", + "type": "string" + } + }, + "type": "object" + }, + "AudienceSegmentGroup": { + "description": "Audience Segment Group.", + "id": "AudienceSegmentGroup", + "properties": { + "audienceSegments": { + "description": "Audience segments assigned to this group. The number of segments must be between 2 and 100.", + "items": { + "$ref": "AudienceSegment" + }, + "type": "array" + }, + "id": { + "description": "ID of this audience segment group. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "Name of this audience segment group. This is a required field and must be less than 65 characters long.", + "type": "string" + } + }, + "type": "object" + }, + "Browser": { + "description": "Contains information about a browser that can be targeted by ads.", + "id": "Browser", + "properties": { + "browserVersionId": { + "description": "ID referring to this grouping of browser and version numbers. This is the ID used for targeting.", + "format": "int64", + "type": "string" + }, + "dartId": { + "description": "DART ID of this browser. This is the ID used when generating reports.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#browser\".", + "type": "string" + }, + "majorVersion": { + "description": "Major version number (leftmost number) of this browser. For example, for Chrome 5.0.376.86 beta, this field should be set to 5. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.", + "type": "string" + }, + "minorVersion": { + "description": "Minor version number (number after first dot on left) of this browser. For example, for Chrome 5.0.375.86 beta, this field should be set to 0. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.", + "type": "string" + }, + "name": { + "description": "Name of this browser.", + "type": "string" + } + }, + "type": "object" + }, + "BrowsersListResponse": { + "description": "Browser List Response", + "id": "BrowsersListResponse", + "properties": { + "browsers": { + "description": "Browser collection.", + "items": { + "$ref": "Browser" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#browsersListResponse\".", + "type": "string" + } + }, + "type": "object" + }, + "Campaign": { + "description": "Contains properties of a Campaign Manager campaign.", + "id": "Campaign", + "properties": { + "accountId": { + "description": "Account ID of this campaign. This is a read-only field that can be left blank.", + "format": "int64", + "type": "string" + }, + "adBlockingConfiguration": { + "$ref": "AdBlockingConfiguration", + "description": "Ad blocking settings for this campaign." + }, + "additionalCreativeOptimizationConfigurations": { + "description": "Additional creative optimization configurations for the campaign.", + "items": { + "$ref": "CreativeOptimizationConfiguration" + }, + "type": "array" + }, + "advertiserGroupId": { + "description": "Advertiser group ID of the associated advertiser.", + "format": "int64", + "type": "string" + }, + "advertiserId": { + "description": "Advertiser ID of this campaign. This is a required field.", + "format": "int64", + "type": "string" + }, + "advertiserIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the advertiser ID of this campaign. This is a read-only, auto-generated field." + }, + "archived": { + "description": "Whether this campaign has been archived.", + "type": "boolean" + }, + "audienceSegmentGroups": { + "description": "Audience segment groups assigned to this campaign. Cannot have more than 300 segment groups.", + "items": { + "$ref": "AudienceSegmentGroup" + }, + "type": "array" + }, + "billingInvoiceCode": { + "description": "Billing invoice code included in the Campaign Manager client billing invoices associated with the campaign.", + "type": "string" + }, + "clickThroughUrlSuffixProperties": { + "$ref": "ClickThroughUrlSuffixProperties", + "description": "Click-through URL suffix override properties for this campaign." + }, + "comment": { + "description": "Arbitrary comments about this campaign. Must be less than 256 characters long.", + "type": "string" + }, + "createInfo": { + "$ref": "LastModifiedInfo", + "description": "Information about the creation of this campaign. This is a read-only field." + }, + "creativeGroupIds": { + "description": "List of creative group IDs that are assigned to the campaign.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "creativeOptimizationConfiguration": { + "$ref": "CreativeOptimizationConfiguration", + "description": "Creative optimization configuration for the campaign." + }, + "defaultClickThroughEventTagProperties": { + "$ref": "DefaultClickThroughEventTagProperties", + "description": "Click-through event tag ID override properties for this campaign." + }, + "defaultLandingPageId": { + "description": "The default landing page ID for this campaign.", + "format": "int64", + "type": "string" + }, + "endDate": { + "format": "date", + "type": "string" + }, + "eventTagOverrides": { + "description": "Overrides that can be used to activate or deactivate advertiser event tags.", + "items": { + "$ref": "EventTagOverride" + }, + "type": "array" + }, + "externalId": { + "description": "External ID for this campaign.", + "type": "string" + }, + "id": { + "description": "ID of this campaign. This is a read-only auto-generated field.", + "format": "int64", + "type": "string" + }, + "idDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of this campaign. This is a read-only, auto-generated field." + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#campaign\".", + "type": "string" + }, + "lastModifiedInfo": { + "$ref": "LastModifiedInfo", + "description": "Information about the most recent modification of this campaign. This is a read-only field." + }, + "name": { + "description": "Name of this campaign. This is a required field and must be less than 256 characters long and unique among campaigns of the same advertiser.", + "type": "string" + }, + "nielsenOcrEnabled": { + "description": "Whether Nielsen reports are enabled for this campaign.", + "type": "boolean" + }, + "startDate": { + "format": "date", + "type": "string" + }, + "subaccountId": { + "description": "Subaccount ID of this campaign. This is a read-only field that can be left blank.", + "format": "int64", + "type": "string" + }, + "traffickerEmails": { + "description": "Campaign trafficker contact emails.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "CampaignCreativeAssociation": { + "description": "Identifies a creative which has been associated with a given campaign.", + "id": "CampaignCreativeAssociation", + "properties": { + "creativeId": { + "description": "ID of the creative associated with the campaign. This is a required field.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#campaignCreativeAssociation\".", + "type": "string" + } + }, + "type": "object" + }, + "CampaignCreativeAssociationsListResponse": { + "description": "Campaign Creative Association List Response", + "id": "CampaignCreativeAssociationsListResponse", + "properties": { + "campaignCreativeAssociations": { + "description": "Campaign creative association collection", + "items": { + "$ref": "CampaignCreativeAssociation" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#campaignCreativeAssociationsListResponse\".", + "type": "string" + }, + "nextPageToken": { + "description": "Pagination token to be used for the next list operation.", + "type": "string" + } + }, + "type": "object" + }, + "CampaignManagerIds": { + "description": "Campaign Manager IDs related to the custom event.", + "id": "CampaignManagerIds", + "properties": { + "adId": { + "description": "Ad ID for Campaign Manager.", + "format": "int64", + "type": "string" + }, + "campaignId": { + "description": "Campaign ID for Campaign Manager.", + "format": "int64", + "type": "string" + }, + "creativeId": { + "description": "Creative ID for Campaign Manager.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#campaignManagerIds\".", + "type": "string" + }, + "placementId": { + "description": "Placement ID for Campaign Manager.", + "format": "int64", + "type": "string" + }, + "siteId": { + "description": "Site ID for Campaign Manager.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "CampaignsListResponse": { + "description": "Campaign List Response", + "id": "CampaignsListResponse", + "properties": { + "campaigns": { + "description": "Campaign collection.", + "items": { + "$ref": "Campaign" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#campaignsListResponse\".", + "type": "string" + }, + "nextPageToken": { + "description": "Pagination token to be used for the next list operation.", + "type": "string" + } + }, + "type": "object" + }, + "ChangeLog": { + "description": "Describes a change that a user has made to a resource.", + "id": "ChangeLog", + "properties": { + "accountId": { + "description": "Account ID of the modified object.", + "format": "int64", + "type": "string" + }, + "action": { + "description": "Action which caused the change.", + "type": "string" + }, + "changeTime": { + "format": "date-time", + "type": "string" + }, + "fieldName": { + "description": "Field name of the object which changed.", + "type": "string" + }, + "id": { + "description": "ID of this change log.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#changeLog\".", + "type": "string" + }, + "newValue": { + "description": "New value of the object field.", + "type": "string" + }, + "objectId": { + "description": "ID of the object of this change log. The object could be a campaign, placement, ad, or other type.", + "format": "int64", + "type": "string" + }, + "objectType": { + "description": "Object type of the change log.", + "type": "string" + }, + "oldValue": { + "description": "Old value of the object field.", + "type": "string" + }, + "subaccountId": { + "description": "Subaccount ID of the modified object.", + "format": "int64", + "type": "string" + }, + "transactionId": { + "description": "Transaction ID of this change log. When a single API call results in many changes, each change will have a separate ID in the change log but will share the same transactionId.", + "format": "int64", + "type": "string" + }, + "userProfileId": { + "description": "ID of the user who modified the object.", + "format": "int64", + "type": "string" + }, + "userProfileName": { + "description": "User profile name of the user who modified the object.", + "type": "string" + } + }, + "type": "object" + }, + "ChangeLogsListResponse": { + "description": "Change Log List Response", + "id": "ChangeLogsListResponse", + "properties": { + "changeLogs": { + "description": "Change log collection.", + "items": { + "$ref": "ChangeLog" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#changeLogsListResponse\".", + "type": "string" + }, + "nextPageToken": { + "description": "Pagination token to be used for the next list operation.", + "type": "string" + } + }, + "type": "object" + }, + "ChannelGrouping": { + "description": "Represents a DfaReporting channel grouping.", + "id": "ChannelGrouping", + "properties": { + "fallbackName": { + "description": "ChannelGrouping fallback name.", + "type": "string" + }, + "kind": { + "description": "The kind of resource this is, in this case dfareporting#channelGrouping.", + "type": "string" + }, + "name": { + "description": "ChannelGrouping name.", + "type": "string" + }, + "rules": { + "description": "The rules contained within this channel grouping.", + "items": { + "$ref": "ChannelGroupingRule" + }, + "type": "array" + } + }, + "type": "object" + }, + "ChannelGroupingRule": { + "description": "Represents a DfaReporting channel grouping rule.", + "id": "ChannelGroupingRule", + "properties": { + "disjunctiveMatchStatements": { + "description": "The disjunctive match statements contained within this rule.", + "items": { + "$ref": "DisjunctiveMatchStatement" + }, + "type": "array" + }, + "kind": { + "description": "The kind of resource this is, in this case dfareporting#channelGroupingRule.", + "type": "string" + }, + "name": { + "description": "Rule name.", + "type": "string" + } + }, + "type": "object" + }, + "CitiesListResponse": { + "description": "City List Response", + "id": "CitiesListResponse", + "properties": { + "cities": { + "description": "City collection.", + "items": { + "$ref": "City" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#citiesListResponse\".", + "type": "string" + } + }, + "type": "object" + }, + "City": { + "description": "Contains information about a city that can be targeted by ads.", + "id": "City", + "properties": { + "countryCode": { + "description": "Country code of the country to which this city belongs.", + "type": "string" + }, + "countryDartId": { + "description": "DART ID of the country to which this city belongs.", + "format": "int64", + "type": "string" + }, + "dartId": { + "description": "DART ID of this city. This is the ID used for targeting and generating reports.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#city\".", + "type": "string" + }, + "metroCode": { + "description": "Metro region code of the metro region (DMA) to which this city belongs.", + "type": "string" + }, + "metroDmaId": { + "description": "ID of the metro region (DMA) to which this city belongs.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "Name of this city.", + "type": "string" + }, + "regionCode": { + "description": "Region code of the region to which this city belongs.", + "type": "string" + }, + "regionDartId": { + "description": "DART ID of the region to which this city belongs.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ClickTag": { + "description": "Creative Click Tag.", + "id": "ClickTag", + "properties": { + "clickThroughUrl": { + "$ref": "CreativeClickThroughUrl", + "description": "Parameter value for the specified click tag. This field contains a click-through url." + }, + "eventName": { + "description": "Advertiser event name associated with the click tag. This field is used by DISPLAY_IMAGE_GALLERY and HTML5_BANNER creatives. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.", + "type": "string" + }, + "name": { + "description": "Parameter name for the specified click tag. For DISPLAY_IMAGE_GALLERY creative assets, this field must match the value of the creative asset's creativeAssetId.name field.", + "type": "string" + } + }, + "type": "object" + }, + "ClickThroughUrl": { + "description": "Click-through URL", + "id": "ClickThroughUrl", + "properties": { + "computedClickThroughUrl": { + "description": "Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows: - If defaultLandingPage is enabled then the campaign's default landing page URL is assigned to this field. - If defaultLandingPage is not enabled and a landingPageId is specified then that landing page's URL is assigned to this field. - If neither of the above cases apply, then the customClickThroughUrl is assigned to this field. ", + "type": "string" + }, + "customClickThroughUrl": { + "description": "Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.", + "type": "string" + }, + "defaultLandingPage": { + "description": "Whether the campaign default landing page is used.", + "type": "boolean" + }, + "landingPageId": { + "description": "ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ClickThroughUrlSuffixProperties": { + "description": "Click Through URL Suffix settings.", + "id": "ClickThroughUrlSuffixProperties", + "properties": { + "clickThroughUrlSuffix": { + "description": "Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.", + "type": "string" + }, + "overrideInheritedSuffix": { + "description": "Whether this entity should override the inherited click-through URL suffix with its own defined value.", + "type": "boolean" + } + }, + "type": "object" + }, + "CompanionClickThroughOverride": { + "description": "Companion Click-through override.", + "id": "CompanionClickThroughOverride", + "properties": { + "clickThroughUrl": { + "$ref": "ClickThroughUrl", + "description": "Click-through URL of this companion click-through override." + }, + "creativeId": { + "description": "ID of the creative for this companion click-through override.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "CompanionSetting": { + "description": "Companion Settings", + "id": "CompanionSetting", + "properties": { + "companionsDisabled": { + "description": "Whether companions are disabled for this placement.", + "type": "boolean" + }, + "enabledSizes": { + "description": "Allowlist of companion sizes to be served to this placement. Set this list to null or empty to serve all companion sizes.", + "items": { + "$ref": "Size" + }, + "type": "array" + }, + "imageOnly": { + "description": "Whether to serve only static images as companions.", + "type": "boolean" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#companionSetting\".", + "type": "string" + } + }, + "type": "object" + }, + "CompatibleFields": { + "description": "Represents a response to the queryCompatibleFields method.", + "id": "CompatibleFields", + "properties": { + "crossDimensionReachReportCompatibleFields": { + "$ref": "CrossDimensionReachReportCompatibleFields", + "description": "Contains items that are compatible to be selected for a report of type \"CROSS_DIMENSION_REACH\"." + }, + "floodlightReportCompatibleFields": { + "$ref": "FloodlightReportCompatibleFields", + "description": "Contains items that are compatible to be selected for a report of type \"FLOODLIGHT\"." + }, + "kind": { + "description": "The kind of resource this is, in this case dfareporting#compatibleFields.", + "type": "string" + }, + "pathAttributionReportCompatibleFields": { + "$ref": "PathReportCompatibleFields", + "description": "Contains items that are compatible to be selected for a report of type \"PATH_ATTRIBUTION\"." + }, + "pathReportCompatibleFields": { + "$ref": "PathReportCompatibleFields", + "description": "Contains items that are compatible to be selected for a report of type \"PATH\"." + }, + "pathToConversionReportCompatibleFields": { + "$ref": "PathToConversionReportCompatibleFields", + "description": "Contains items that are compatible to be selected for a report of type \"PATH_TO_CONVERSION\"." + }, + "reachReportCompatibleFields": { + "$ref": "ReachReportCompatibleFields", + "description": "Contains items that are compatible to be selected for a report of type \"REACH\"." + }, + "reportCompatibleFields": { + "$ref": "ReportCompatibleFields", + "description": "Contains items that are compatible to be selected for a report of type \"STANDARD\"." + } + }, + "type": "object" + }, + "ConnectionType": { + "description": "Contains information about an internet connection type that can be targeted by ads. Clients can use the connection type to target mobile vs. broadband users.", + "id": "ConnectionType", + "properties": { + "id": { + "description": "ID of this connection type.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#connectionType\".", + "type": "string" + }, + "name": { + "description": "Name of this connection type.", + "type": "string" + } + }, + "type": "object" + }, + "ConnectionTypesListResponse": { + "description": "Connection Type List Response", + "id": "ConnectionTypesListResponse", + "properties": { + "connectionTypes": { + "description": "Collection of connection types such as broadband and mobile.", + "items": { + "$ref": "ConnectionType" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#connectionTypesListResponse\".", + "type": "string" + } + }, + "type": "object" + }, + "ContentCategoriesListResponse": { + "description": "Content Category List Response", + "id": "ContentCategoriesListResponse", + "properties": { + "contentCategories": { + "description": "Content category collection.", + "items": { + "$ref": "ContentCategory" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#contentCategoriesListResponse\".", + "type": "string" + }, + "nextPageToken": { + "description": "Pagination token to be used for the next list operation.", + "type": "string" + } + }, + "type": "object" + }, + "ContentCategory": { + "description": "Organizes placements according to the contents of their associated webpages.", + "id": "ContentCategory", + "properties": { + "accountId": { + "description": "Account ID of this content category. This is a read-only field that can be left blank.", + "format": "int64", + "type": "string" + }, + "id": { + "description": "ID of this content category. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#contentCategory\".", + "type": "string" + }, + "name": { + "description": "Name of this content category. This is a required field and must be less than 256 characters long and unique among content categories of the same account.", + "type": "string" + } + }, + "type": "object" + }, + "Conversion": { + "description": "A Conversion represents when a user successfully performs a desired action after seeing an ad.", + "id": "Conversion", + "properties": { + "childDirectedTreatment": { + "description": "Whether this particular request may come from a user under the age of 13, under COPPA compliance.", + "type": "boolean" + }, + "customVariables": { + "description": "Custom floodlight variables. This field may only be used when calling batchinsert; it is not supported by batchupdate.", + "items": { + "$ref": "CustomFloodlightVariable" + }, + "type": "array" + }, + "dclid": { + "description": "The display click ID. This field is mutually exclusive with encryptedUserId, encryptedUserIdCandidates[], matchId, mobileDeviceId and gclid. This or encryptedUserId or encryptedUserIdCandidates[] or matchId or mobileDeviceId or gclid is a required field.", + "type": "string" + }, + "encryptedUserId": { + "description": "The alphanumeric encrypted user ID. When set, encryptionInfo should also be specified. This field is mutually exclusive with encryptedUserIdCandidates[], matchId, mobileDeviceId, gclid and dclid. This or encryptedUserIdCandidates[] or matchId or mobileDeviceId or gclid or dclid is a required field.", + "type": "string" + }, + "encryptedUserIdCandidates": { + "description": "A list of the alphanumeric encrypted user IDs. Any user ID with exposure prior to the conversion timestamp will be used in the inserted conversion. If no such user ID is found then the conversion will be rejected with INVALID_ARGUMENT error. When set, encryptionInfo should also be specified. This field may only be used when calling batchinsert; it is not supported by batchupdate. This field is mutually exclusive with encryptedUserId, matchId, mobileDeviceId, gclid and dclid. This or encryptedUserId or matchId or mobileDeviceId or gclid or dclid is a required field.", + "items": { + "type": "string" + }, + "type": "array" + }, + "floodlightActivityId": { + "description": "Floodlight Activity ID of this conversion. This is a required field.", + "format": "int64", + "type": "string" + }, + "floodlightConfigurationId": { + "description": "Floodlight Configuration ID of this conversion. This is a required field.", + "format": "int64", + "type": "string" + }, + "gclid": { + "description": "The Google click ID. This field is mutually exclusive with encryptedUserId, encryptedUserIdCandidates[], matchId, mobileDeviceId and dclid. This or encryptedUserId or encryptedUserIdCandidates[] or matchId or mobileDeviceId or dclid is a required field.", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#conversion\".", + "type": "string" + }, + "limitAdTracking": { + "description": "Whether Limit Ad Tracking is enabled. When set to true, the conversion will be used for reporting but not targeting. This will prevent remarketing.", + "type": "boolean" + }, + "matchId": { + "description": "The match ID field. A match ID is your own first-party identifier that has been synced with Google using the match ID feature in Floodlight. This field is mutually exclusive with encryptedUserId, encryptedUserIdCandidates[],mobileDeviceId, gclid and dclid. This or encryptedUserId or encryptedUserIdCandidates[] or mobileDeviceId or gclid or dclid is a required field.", + "type": "string" + }, + "mobileDeviceId": { + "description": "The mobile device ID. This field is mutually exclusive with encryptedUserId, encryptedUserIdCandidates[], matchId, gclid and dclid. This or encryptedUserId or encryptedUserIdCandidates[] or matchId or gclid or dclid is a required field.", + "type": "string" + }, + "nonPersonalizedAd": { + "description": "Whether the conversion was for a non personalized ad.", + "type": "boolean" + }, + "ordinal": { + "description": "The ordinal of the conversion. Use this field to control how conversions of the same user and day are de-duplicated. This is a required field.", + "type": "string" + }, + "quantity": { + "description": "The quantity of the conversion.", + "format": "int64", + "type": "string" + }, + "timestampMicros": { + "description": "The timestamp of conversion, in Unix epoch micros. This is a required field.", + "format": "int64", + "type": "string" + }, + "treatmentForUnderage": { + "description": "Whether this particular request may come from a user under the age of 16 (may differ by country), under compliance with the European Union's General Data Protection Regulation (GDPR).", + "type": "boolean" + }, + "value": { + "description": "The value of the conversion.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "ConversionError": { + "description": "The error code and description for a conversion that failed to insert or update.", + "id": "ConversionError", + "properties": { + "code": { + "description": "The error code.", + "enum": [ + "INVALID_ARGUMENT", + "INTERNAL", + "PERMISSION_DENIED", + "NOT_FOUND" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#conversionError\".", + "type": "string" + }, + "message": { + "description": "A description of the error.", + "type": "string" + } + }, + "type": "object" + }, + "ConversionStatus": { + "description": "The original conversion that was inserted or updated and whether there were any errors.", + "id": "ConversionStatus", + "properties": { + "conversion": { + "$ref": "Conversion", + "description": "The original conversion that was inserted or updated." + }, + "errors": { + "description": "A list of errors related to this conversion.", + "items": { + "$ref": "ConversionError" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#conversionStatus\".", + "type": "string" + } + }, + "type": "object" + }, + "ConversionsBatchInsertRequest": { + "description": "Insert Conversions Request.", + "id": "ConversionsBatchInsertRequest", + "properties": { + "conversions": { + "description": "The set of conversions to insert.", + "items": { + "$ref": "Conversion" + }, + "type": "array" + }, + "encryptionInfo": { + "$ref": "EncryptionInfo", + "description": "Describes how encryptedUserId or encryptedUserIdCandidates[] is encrypted. This is a required field if encryptedUserId or encryptedUserIdCandidates[] is used." + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#conversionsBatchInsertRequest\".", + "type": "string" + } + }, + "type": "object" + }, + "ConversionsBatchInsertResponse": { + "description": "Insert Conversions Response.", + "id": "ConversionsBatchInsertResponse", + "properties": { + "hasFailures": { + "description": "Indicates that some or all conversions failed to insert.", + "type": "boolean" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#conversionsBatchInsertResponse\".", + "type": "string" + }, + "status": { + "description": "The insert status of each conversion. Statuses are returned in the same order that conversions are inserted.", + "items": { + "$ref": "ConversionStatus" + }, + "type": "array" + } + }, + "type": "object" + }, + "ConversionsBatchUpdateRequest": { + "description": "Update Conversions Request.", + "id": "ConversionsBatchUpdateRequest", + "properties": { + "conversions": { + "description": "The set of conversions to update.", + "items": { + "$ref": "Conversion" + }, + "type": "array" + }, + "encryptionInfo": { + "$ref": "EncryptionInfo", + "description": "Describes how encryptedUserId is encrypted. This is a required field if encryptedUserId is used." + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#conversionsBatchUpdateRequest\".", + "type": "string" + } + }, + "type": "object" + }, + "ConversionsBatchUpdateResponse": { + "description": "Update Conversions Response.", + "id": "ConversionsBatchUpdateResponse", + "properties": { + "hasFailures": { + "description": "Indicates that some or all conversions failed to update.", + "type": "boolean" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#conversionsBatchUpdateResponse\".", + "type": "string" + }, + "status": { + "description": "The update status of each conversion. Statuses are returned in the same order that conversions are updated.", + "items": { + "$ref": "ConversionStatus" + }, + "type": "array" + } + }, + "type": "object" + }, + "CountriesListResponse": { + "description": "Country List Response", + "id": "CountriesListResponse", + "properties": { + "countries": { + "description": "Country collection.", + "items": { + "$ref": "Country" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#countriesListResponse\".", + "type": "string" + } + }, + "type": "object" + }, + "Country": { + "description": "Contains information about a country that can be targeted by ads.", + "id": "Country", + "properties": { + "countryCode": { + "description": "Country code.", + "type": "string" + }, + "dartId": { + "description": "DART ID of this country. This is the ID used for targeting and generating reports.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#country\".", + "type": "string" + }, + "name": { + "description": "Name of this country.", + "type": "string" + }, + "sslEnabled": { + "description": "Whether ad serving supports secure servers in this country.", + "type": "boolean" + } + }, + "type": "object" + }, + "Creative": { + "description": "Contains properties of a Creative.", + "id": "Creative", + "properties": { + "accountId": { + "description": "Account ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.", + "format": "int64", + "type": "string" + }, + "active": { + "description": "Whether the creative is active. Applicable to all creative types.", + "type": "boolean" + }, + "adParameters": { + "description": "Ad parameters user for VPAID creative. This is a read-only field. Applicable to the following creative types: all VPAID.", + "type": "string" + }, + "adTagKeys": { + "description": "Keywords for a Rich Media creative. Keywords let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use keywords to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.", + "items": { + "type": "string" + }, + "type": "array" + }, + "additionalSizes": { + "description": "Additional sizes associated with a responsive creative. When inserting or updating a creative either the size ID field or size width and height fields can be used. Applicable to DISPLAY creatives when the primary asset type is HTML_IMAGE.", + "items": { + "$ref": "Size" + }, + "type": "array" + }, + "advertiserId": { + "description": "Advertiser ID of this creative. This is a required field. Applicable to all creative types.", + "format": "int64", + "type": "string" + }, + "allowScriptAccess": { + "description": "Whether script access is allowed for this creative. This is a read-only and deprecated field which will automatically be set to true on update. Applicable to the following creative types: FLASH_INPAGE.", + "type": "boolean" + }, + "archived": { + "description": "Whether the creative is archived. Applicable to all creative types.", + "type": "boolean" + }, + "artworkType": { + "description": "Type of artwork used for the creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.", + "enum": [ + "ARTWORK_TYPE_FLASH", + "ARTWORK_TYPE_HTML5", + "ARTWORK_TYPE_MIXED", + "ARTWORK_TYPE_IMAGE" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "authoringSource": { + "description": "Source application where creative was authored. Presently, only DBM authored creatives will have this field set. Applicable to all creative types.", + "enum": [ + "CREATIVE_AUTHORING_SOURCE_DCM", + "CREATIVE_AUTHORING_SOURCE_DBM", + "CREATIVE_AUTHORING_SOURCE_STUDIO", + "CREATIVE_AUTHORING_SOURCE_GWD" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "authoringTool": { + "description": "Authoring tool for HTML5 banner creatives. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.", + "enum": [ + "NINJA", + "SWIFFY" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "autoAdvanceImages": { + "description": "Whether images are automatically advanced for image gallery creatives. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY.", + "type": "boolean" + }, + "backgroundColor": { + "description": "The 6-character HTML color code, beginning with #, for the background of the window area where the Flash file is displayed. Default is white. Applicable to the following creative types: FLASH_INPAGE.", + "type": "string" + }, + "backupImageClickThroughUrl": { + "$ref": "CreativeClickThroughUrl", + "description": "Click-through URL for backup image. Applicable to ENHANCED_BANNER when the primary asset type is not HTML_IMAGE." + }, + "backupImageFeatures": { + "description": "List of feature dependencies that will cause a backup image to be served if the browser that serves the ad does not support them. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative asset correctly. This field is initially auto-generated to contain all features detected by Campaign Manager for all the assets of this creative and can then be modified by the client. To reset this field, copy over all the creativeAssets' detected features. Applicable to the following creative types: HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.", + "items": { + "enum": [ + "CSS_FONT_FACE", + "CSS_BACKGROUND_SIZE", + "CSS_BORDER_IMAGE", + "CSS_BORDER_RADIUS", + "CSS_BOX_SHADOW", + "CSS_FLEX_BOX", + "CSS_HSLA", + "CSS_MULTIPLE_BGS", + "CSS_OPACITY", + "CSS_RGBA", + "CSS_TEXT_SHADOW", + "CSS_ANIMATIONS", + "CSS_COLUMNS", + "CSS_GENERATED_CONTENT", + "CSS_GRADIENTS", + "CSS_REFLECTIONS", + "CSS_TRANSFORMS", + "CSS_TRANSFORMS3D", + "CSS_TRANSITIONS", + "APPLICATION_CACHE", + "CANVAS", + "CANVAS_TEXT", + "DRAG_AND_DROP", + "HASH_CHANGE", + "HISTORY", + "AUDIO", + "VIDEO", + "INDEXED_DB", + "INPUT_ATTR_AUTOCOMPLETE", + "INPUT_ATTR_AUTOFOCUS", + "INPUT_ATTR_LIST", + "INPUT_ATTR_PLACEHOLDER", + "INPUT_ATTR_MAX", + "INPUT_ATTR_MIN", + "INPUT_ATTR_MULTIPLE", + "INPUT_ATTR_PATTERN", + "INPUT_ATTR_REQUIRED", + "INPUT_ATTR_STEP", + "INPUT_TYPE_SEARCH", + "INPUT_TYPE_TEL", + "INPUT_TYPE_URL", + "INPUT_TYPE_EMAIL", + "INPUT_TYPE_DATETIME", + "INPUT_TYPE_DATE", + "INPUT_TYPE_MONTH", + "INPUT_TYPE_WEEK", + "INPUT_TYPE_TIME", + "INPUT_TYPE_DATETIME_LOCAL", + "INPUT_TYPE_NUMBER", + "INPUT_TYPE_RANGE", + "INPUT_TYPE_COLOR", + "LOCAL_STORAGE", + "POST_MESSAGE", + "SESSION_STORAGE", + "WEB_SOCKETS", + "WEB_SQL_DATABASE", + "WEB_WORKERS", + "GEO_LOCATION", + "INLINE_SVG", + "SMIL", + "SVG_HREF", + "SVG_CLIP_PATHS", + "TOUCH", + "WEBGL", + "SVG_FILTERS", + "SVG_FE_IMAGE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "type": "array" + }, + "backupImageReportingLabel": { + "description": "Reporting label used for HTML5 banner backup image. Applicable to the following creative types: DISPLAY when the primary asset type is not HTML_IMAGE.", + "type": "string" + }, + "backupImageTargetWindow": { + "$ref": "TargetWindow", + "description": "Target window for backup image. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE." + }, + "clickTags": { + "description": "Click tags of the creative. For DISPLAY, FLASH_INPAGE, and HTML5_BANNER creatives, this is a subset of detected click tags for the assets associated with this creative. After creating a flash asset, detected click tags will be returned in the creativeAssetMetadata. When inserting the creative, populate the creative clickTags field using the creativeAssetMetadata.clickTags field. For DISPLAY_IMAGE_GALLERY creatives, there should be exactly one entry in this list for each image creative asset. A click tag is matched with a corresponding creative asset by matching the clickTag.name field with the creativeAsset.assetIdentifier.name field. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.", + "items": { + "$ref": "ClickTag" + }, + "type": "array" + }, + "commercialId": { + "description": "Industry standard ID assigned to creative for reach and frequency. Applicable to INSTREAM_VIDEO_REDIRECT creatives.", + "type": "string" + }, + "companionCreatives": { + "description": "List of companion creatives assigned to an in-Stream video creative. Acceptable values include IDs of existing flash and image creatives. Applicable to the following creative types: all VPAID, all INSTREAM_AUDIO and all INSTREAM_VIDEO with dynamicAssetSelection set to false.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "compatibility": { + "description": "Compatibilities associated with this creative. This is a read-only field. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices or in mobile apps for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. Only pre-existing creatives may have these compatibilities since new creatives will either be assigned DISPLAY or DISPLAY_INTERSTITIAL instead. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. IN_STREAM_AUDIO refers to rendering in in-stream audio ads developed with the VAST standard. Applicable to all creative types. Acceptable values are: - \"APP\" - \"APP_INTERSTITIAL\" - \"IN_STREAM_VIDEO\" - \"IN_STREAM_AUDIO\" - \"DISPLAY\" - \"DISPLAY_INTERSTITIAL\" ", + "items": { + "enum": [ + "DISPLAY", + "DISPLAY_INTERSTITIAL", + "APP", + "APP_INTERSTITIAL", + "IN_STREAM_VIDEO", + "IN_STREAM_AUDIO" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "type": "array" + }, + "convertFlashToHtml5": { + "description": "Whether Flash assets associated with the creative need to be automatically converted to HTML5. This flag is enabled by default and users can choose to disable it if they don't want the system to generate and use HTML5 asset for this creative. Applicable to the following creative type: FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.", + "type": "boolean" + }, + "counterCustomEvents": { + "description": "List of counter events configured for the creative. For DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated from clickTags. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.", + "items": { + "$ref": "CreativeCustomEvent" + }, + "type": "array" + }, + "creativeAssetSelection": { + "$ref": "CreativeAssetSelection", + "description": "Required if dynamicAssetSelection is true." + }, + "creativeAssets": { + "description": "Assets associated with a creative. Applicable to all but the following creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT", + "items": { + "$ref": "CreativeAsset" + }, + "type": "array" + }, + "creativeFieldAssignments": { + "description": "Creative field assignments for this creative. Applicable to all creative types.", + "items": { + "$ref": "CreativeFieldAssignment" + }, + "type": "array" + }, + "customKeyValues": { + "description": "Custom key-values for a Rich Media creative. Key-values let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use key-values to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.", + "items": { + "type": "string" + }, + "type": "array" + }, + "dynamicAssetSelection": { + "description": "Set this to true to enable the use of rules to target individual assets in this creative. When set to true creativeAssetSelection must be set. This also controls asset-level companions. When this is true, companion creatives should be assigned to creative assets. Learn more. Applicable to INSTREAM_VIDEO creatives.", + "type": "boolean" + }, + "exitCustomEvents": { + "description": "List of exit events configured for the creative. For DISPLAY and DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated from clickTags, For DISPLAY, an event is also created from the backupImageReportingLabel. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.", + "items": { + "$ref": "CreativeCustomEvent" + }, + "type": "array" + }, + "fsCommand": { + "$ref": "FsCommand", + "description": "OpenWindow FSCommand of this creative. This lets the SWF file communicate with either Flash Player or the program hosting Flash Player, such as a web browser. This is only triggered if allowScriptAccess field is true. Applicable to the following creative types: FLASH_INPAGE." + }, + "htmlCode": { + "description": "HTML code for the creative. This is a required field when applicable. This field is ignored if htmlCodeLocked is true. Applicable to the following creative types: all CUSTOM, FLASH_INPAGE, and HTML5_BANNER, and all RICH_MEDIA.", + "type": "string" + }, + "htmlCodeLocked": { + "description": "Whether HTML code is generated by Campaign Manager or manually entered. Set to true to ignore changes to htmlCode. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER.", + "type": "boolean" + }, + "id": { + "description": "ID of this creative. This is a read-only, auto-generated field. Applicable to all creative types.", + "format": "int64", + "type": "string" + }, + "idDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of this creative. This is a read-only field. Applicable to all creative types." + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creative\".", + "type": "string" + }, + "lastModifiedInfo": { + "$ref": "LastModifiedInfo", + "description": "Creative last modification information. This is a read-only field. Applicable to all creative types." + }, + "latestTraffickedCreativeId": { + "description": "Latest Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.", + "format": "int64", + "type": "string" + }, + "mediaDescription": { + "description": "Description of the audio or video ad. Applicable to the following creative types: all INSTREAM_VIDEO, INSTREAM_AUDIO, and all VPAID.", + "type": "string" + }, + "mediaDuration": { + "description": "Creative audio or video duration in seconds. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO, INSTREAM_AUDIO, all RICH_MEDIA, and all VPAID.", + "format": "float", + "type": "number" + }, + "name": { + "description": "Name of the creative. This is a required field and must be less than 256 characters long. Applicable to all creative types.", + "type": "string" + }, + "obaIcon": { + "$ref": "ObaIcon", + "description": "Online behavioral advertising icon to be added to the creative. Applicable to the following creative types: all INSTREAM_VIDEO." + }, + "overrideCss": { + "description": "Override CSS value for rich media creatives. Applicable to the following creative types: all RICH_MEDIA.", + "type": "string" + }, + "progressOffset": { + "$ref": "VideoOffset", + "description": "Amount of time to play the video before counting a view. Applicable to the following creative types: all INSTREAM_VIDEO." + }, + "redirectUrl": { + "description": "URL of hosted image or hosted video or another ad tag. For INSTREAM_VIDEO_REDIRECT creatives this is the in-stream video redirect URL. The standard for a VAST (Video Ad Serving Template) ad response allows for a redirect link to another VAST 2.0 or 3.0 call. This is a required field when applicable. Applicable to the following creative types: DISPLAY_REDIRECT, INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO_REDIRECT", + "type": "string" + }, + "renderingId": { + "description": "ID of current rendering version. This is a read-only field. Applicable to all creative types.", + "format": "int64", + "type": "string" + }, + "renderingIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the rendering ID of this creative. This is a read-only field. Applicable to all creative types." + }, + "requiredFlashPluginVersion": { + "description": "The minimum required Flash plugin version for this creative. For example, 11.2.202.235. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.", + "type": "string" + }, + "requiredFlashVersion": { + "description": "The internal Flash version for this creative as calculated by Studio. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.", + "format": "int32", + "type": "integer" + }, + "size": { + "$ref": "Size", + "description": "Size associated with this creative. When inserting or updating a creative either the size ID field or size width and height fields can be used. This is a required field when applicable; however for IMAGE, FLASH_INPAGE creatives, and for DISPLAY creatives with a primary asset of type HTML_IMAGE, if left blank, this field will be automatically set using the actual size of the associated image assets. Applicable to the following creative types: DISPLAY, DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA." + }, + "skipOffset": { + "$ref": "VideoOffset", + "description": "Amount of time to play the video before the skip button appears. Applicable to the following creative types: all INSTREAM_VIDEO." + }, + "skippable": { + "description": "Whether the user can choose to skip the creative. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.", + "type": "boolean" + }, + "sslCompliant": { + "description": "Whether the creative is SSL-compliant. This is a read-only field. Applicable to all creative types.", + "type": "boolean" + }, + "sslOverride": { + "description": "Whether creative should be treated as SSL compliant even if the system scan shows it's not. Applicable to all creative types.", + "type": "boolean" + }, + "studioAdvertiserId": { + "description": "Studio advertiser ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.", + "format": "int64", + "type": "string" + }, + "studioCreativeId": { + "description": "Studio creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.", + "format": "int64", + "type": "string" + }, + "studioTraffickedCreativeId": { + "description": "Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.", + "format": "int64", + "type": "string" + }, + "subaccountId": { + "description": "Subaccount ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.", + "format": "int64", + "type": "string" + }, + "thirdPartyBackupImageImpressionsUrl": { + "description": "Third-party URL used to record backup image impressions. Applicable to the following creative types: all RICH_MEDIA.", + "type": "string" + }, + "thirdPartyRichMediaImpressionsUrl": { + "description": "Third-party URL used to record rich media impressions. Applicable to the following creative types: all RICH_MEDIA.", + "type": "string" + }, + "thirdPartyUrls": { + "description": "Third-party URLs for tracking in-stream creative events. Applicable to the following creative types: all INSTREAM_VIDEO, all INSTREAM_AUDIO, and all VPAID.", + "items": { + "$ref": "ThirdPartyTrackingUrl" + }, + "type": "array" + }, + "timerCustomEvents": { + "description": "List of timer events configured for the creative. For DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated from clickTags. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset is not HTML_IMAGE.", + "items": { + "$ref": "CreativeCustomEvent" + }, + "type": "array" + }, + "totalFileSize": { + "description": "Combined size of all creative assets. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.", + "format": "int64", + "type": "string" + }, + "type": { + "description": "Type of this creative. This is a required field. Applicable to all creative types. *Note:* FLASH_INPAGE, HTML5_BANNER, and IMAGE are only used for existing creatives. New creatives should use DISPLAY as a replacement for these types.", + "enum": [ + "IMAGE", + "DISPLAY_REDIRECT", + "CUSTOM_DISPLAY", + "INTERNAL_REDIRECT", + "CUSTOM_DISPLAY_INTERSTITIAL", + "INTERSTITIAL_INTERNAL_REDIRECT", + "TRACKING_TEXT", + "RICH_MEDIA_DISPLAY_BANNER", + "RICH_MEDIA_INPAGE_FLOATING", + "RICH_MEDIA_IM_EXPAND", + "RICH_MEDIA_DISPLAY_EXPANDING", + "RICH_MEDIA_DISPLAY_INTERSTITIAL", + "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL", + "RICH_MEDIA_MOBILE_IN_APP", + "FLASH_INPAGE", + "INSTREAM_VIDEO", + "VPAID_LINEAR_VIDEO", + "VPAID_NON_LINEAR_VIDEO", + "INSTREAM_VIDEO_REDIRECT", + "RICH_MEDIA_PEEL_DOWN", + "HTML5_BANNER", + "DISPLAY", + "DISPLAY_IMAGE_GALLERY", + "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO", + "INSTREAM_AUDIO" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "universalAdId": { + "$ref": "UniversalAdId", + "description": "A Universal Ad ID as per the VAST 4.0 spec. Applicable to the following creative types: INSTREAM_AUDIO and INSTREAM_VIDEO and VPAID." + }, + "version": { + "description": "The version number helps you keep track of multiple versions of your creative in your reports. The version number will always be auto-generated during insert operations to start at 1. For tracking creatives the version cannot be incremented and will always remain at 1. For all other creative types the version can be incremented only by 1 during update operations. In addition, the version will be automatically incremented by 1 when undergoing Rich Media creative merging. Applicable to all creative types.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "CreativeAsset": { + "description": "Creative Asset.", + "id": "CreativeAsset", + "properties": { + "actionScript3": { + "description": "Whether ActionScript3 is enabled for the flash asset. This is a read-only field. Applicable to the following creative type: FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.", + "type": "boolean" + }, + "active": { + "description": "Whether the video or audio asset is active. This is a read-only field for VPAID_NON_LINEAR_VIDEO assets. Applicable to the following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.", + "type": "boolean" + }, + "additionalSizes": { + "description": "Additional sizes associated with this creative asset. HTML5 asset generated by compatible software such as GWD will be able to support more sizes this creative asset can render.", + "items": { + "$ref": "Size" + }, + "type": "array" + }, + "alignment": { + "description": "Possible alignments for an asset. This is a read-only field. Applicable to the following creative types: RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL .", + "enum": [ + "ALIGNMENT_TOP", + "ALIGNMENT_RIGHT", + "ALIGNMENT_BOTTOM", + "ALIGNMENT_LEFT" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "artworkType": { + "description": "Artwork type of rich media creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.", + "enum": [ + "ARTWORK_TYPE_FLASH", + "ARTWORK_TYPE_HTML5", + "ARTWORK_TYPE_MIXED", + "ARTWORK_TYPE_IMAGE" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "assetIdentifier": { + "$ref": "CreativeAssetId", + "description": "Identifier of this asset. This is the same identifier returned during creative asset insert operation. This is a required field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT." + }, + "audioBitRate": { + "description": "Audio stream bit rate in kbps. This is a read-only field. Applicable to the following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.", + "format": "int32", + "type": "integer" + }, + "audioSampleRate": { + "description": "Audio sample bit rate in hertz. This is a read-only field. Applicable to the following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.", + "format": "int32", + "type": "integer" + }, + "backupImageExit": { + "$ref": "CreativeCustomEvent", + "description": "Exit event configured for the backup image. Applicable to the following creative types: all RICH_MEDIA." + }, + "bitRate": { + "description": "Detected bit-rate for audio or video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.", + "format": "int32", + "type": "integer" + }, + "childAssetType": { + "description": "Rich media child asset type. This is a read-only field. Applicable to the following creative types: all VPAID.", + "enum": [ + "CHILD_ASSET_TYPE_FLASH", + "CHILD_ASSET_TYPE_VIDEO", + "CHILD_ASSET_TYPE_IMAGE", + "CHILD_ASSET_TYPE_DATA" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "collapsedSize": { + "$ref": "Size", + "description": "Size of an asset when collapsed. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN." + }, + "companionCreativeIds": { + "description": "List of companion creatives assigned to an in-stream video creative asset. Acceptable values include IDs of existing flash and image creatives. Applicable to INSTREAM_VIDEO creative type with dynamicAssetSelection set to true.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "customStartTimeValue": { + "description": "Custom start time in seconds for making the asset visible. Applicable to the following creative types: all RICH_MEDIA. Value must be greater than or equal to 0.", + "format": "int32", + "type": "integer" + }, + "detectedFeatures": { + "description": "List of feature dependencies for the creative asset that are detected by Campaign Manager. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative correctly. This is a read-only, auto-generated field. Applicable to the following creative types: HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.", + "items": { + "enum": [ + "CSS_FONT_FACE", + "CSS_BACKGROUND_SIZE", + "CSS_BORDER_IMAGE", + "CSS_BORDER_RADIUS", + "CSS_BOX_SHADOW", + "CSS_FLEX_BOX", + "CSS_HSLA", + "CSS_MULTIPLE_BGS", + "CSS_OPACITY", + "CSS_RGBA", + "CSS_TEXT_SHADOW", + "CSS_ANIMATIONS", + "CSS_COLUMNS", + "CSS_GENERATED_CONTENT", + "CSS_GRADIENTS", + "CSS_REFLECTIONS", + "CSS_TRANSFORMS", + "CSS_TRANSFORMS3D", + "CSS_TRANSITIONS", + "APPLICATION_CACHE", + "CANVAS", + "CANVAS_TEXT", + "DRAG_AND_DROP", + "HASH_CHANGE", + "HISTORY", + "AUDIO", + "VIDEO", + "INDEXED_DB", + "INPUT_ATTR_AUTOCOMPLETE", + "INPUT_ATTR_AUTOFOCUS", + "INPUT_ATTR_LIST", + "INPUT_ATTR_PLACEHOLDER", + "INPUT_ATTR_MAX", + "INPUT_ATTR_MIN", + "INPUT_ATTR_MULTIPLE", + "INPUT_ATTR_PATTERN", + "INPUT_ATTR_REQUIRED", + "INPUT_ATTR_STEP", + "INPUT_TYPE_SEARCH", + "INPUT_TYPE_TEL", + "INPUT_TYPE_URL", + "INPUT_TYPE_EMAIL", + "INPUT_TYPE_DATETIME", + "INPUT_TYPE_DATE", + "INPUT_TYPE_MONTH", + "INPUT_TYPE_WEEK", + "INPUT_TYPE_TIME", + "INPUT_TYPE_DATETIME_LOCAL", + "INPUT_TYPE_NUMBER", + "INPUT_TYPE_RANGE", + "INPUT_TYPE_COLOR", + "LOCAL_STORAGE", + "POST_MESSAGE", + "SESSION_STORAGE", + "WEB_SOCKETS", + "WEB_SQL_DATABASE", + "WEB_WORKERS", + "GEO_LOCATION", + "INLINE_SVG", + "SMIL", + "SVG_HREF", + "SVG_CLIP_PATHS", + "TOUCH", + "WEBGL", + "SVG_FILTERS", + "SVG_FE_IMAGE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "type": "array" + }, + "displayType": { + "description": "Type of rich media asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.", + "enum": [ + "ASSET_DISPLAY_TYPE_INPAGE", + "ASSET_DISPLAY_TYPE_FLOATING", + "ASSET_DISPLAY_TYPE_OVERLAY", + "ASSET_DISPLAY_TYPE_EXPANDING", + "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH", + "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH_EXPANDING", + "ASSET_DISPLAY_TYPE_PEEL_DOWN", + "ASSET_DISPLAY_TYPE_VPAID_LINEAR", + "ASSET_DISPLAY_TYPE_VPAID_NON_LINEAR", + "ASSET_DISPLAY_TYPE_BACKDROP" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "duration": { + "description": "Duration in seconds for which an asset will be displayed. Applicable to the following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and VPAID_LINEAR_VIDEO. Value must be greater than or equal to 1.", + "format": "int32", + "type": "integer" + }, + "durationType": { + "description": "Duration type for which an asset will be displayed. Applicable to the following creative types: all RICH_MEDIA.", + "enum": [ + "ASSET_DURATION_TYPE_AUTO", + "ASSET_DURATION_TYPE_NONE", + "ASSET_DURATION_TYPE_CUSTOM" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "expandedDimension": { + "$ref": "Size", + "description": "Detected expanded dimension for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID." + }, + "fileSize": { + "description": "File size associated with this creative asset. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.", + "format": "int64", + "type": "string" + }, + "flashVersion": { + "description": "Flash version of the asset. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE, all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.", + "format": "int32", + "type": "integer" + }, + "frameRate": { + "description": "Video frame rate for video asset in frames per second. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.", + "format": "float", + "type": "number" + }, + "hideFlashObjects": { + "description": "Whether to hide Flash objects flag for an asset. Applicable to the following creative types: all RICH_MEDIA.", + "type": "boolean" + }, + "hideSelectionBoxes": { + "description": "Whether to hide selection boxes flag for an asset. Applicable to the following creative types: all RICH_MEDIA.", + "type": "boolean" + }, + "horizontallyLocked": { + "description": "Whether the asset is horizontally locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.", + "type": "boolean" + }, + "id": { + "description": "Numeric ID of this creative asset. This is a required field and should not be modified. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.", + "format": "int64", + "type": "string" + }, + "idDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the asset. This is a read-only, auto-generated field." + }, + "mediaDuration": { + "description": "Detected duration for audio or video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.", + "format": "float", + "type": "number" + }, + "mimeType": { + "description": "Detected MIME type for audio or video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.", + "type": "string" + }, + "offset": { + "$ref": "OffsetPosition", + "description": "Offset position for an asset in collapsed mode. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, only applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN." + }, + "orientation": { + "description": "Orientation of video asset. This is a read-only, auto-generated field.", + "enum": [ + "LANDSCAPE", + "PORTRAIT", + "SQUARE" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "originalBackup": { + "description": "Whether the backup asset is original or changed by the user in Campaign Manager. Applicable to the following creative types: all RICH_MEDIA.", + "type": "boolean" + }, + "politeLoad": { + "description": "Whether this asset is used as a polite load asset.", + "type": "boolean" + }, + "position": { + "$ref": "OffsetPosition", + "description": "Offset position for an asset. Applicable to the following creative types: all RICH_MEDIA." + }, + "positionLeftUnit": { + "description": "Offset left unit for an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.", + "enum": [ + "OFFSET_UNIT_PIXEL", + "OFFSET_UNIT_PERCENT", + "OFFSET_UNIT_PIXEL_FROM_CENTER" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "positionTopUnit": { + "description": "Offset top unit for an asset. This is a read-only field if the asset displayType is ASSET_DISPLAY_TYPE_OVERLAY. Applicable to the following creative types: all RICH_MEDIA.", + "enum": [ + "OFFSET_UNIT_PIXEL", + "OFFSET_UNIT_PERCENT", + "OFFSET_UNIT_PIXEL_FROM_CENTER" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "progressiveServingUrl": { + "description": "Progressive URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.", + "type": "string" + }, + "pushdown": { + "description": "Whether the asset pushes down other content. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable when the asset offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.", + "type": "boolean" + }, + "pushdownDuration": { + "description": "Pushdown duration in seconds for an asset. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable when the asset pushdown field is true, the offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height. Acceptable values are 0 to 9.99, inclusive.", + "format": "float", + "type": "number" + }, + "role": { + "description": "Role of the asset in relation to creative. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT. This is a required field. PRIMARY applies to DISPLAY, FLASH_INPAGE, HTML5_BANNER, IMAGE, DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple primary assets), and all VPAID creatives. BACKUP_IMAGE applies to FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA, and all VPAID creatives. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE. ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE creatives. OTHER refers to assets from sources other than Campaign Manager, such as Studio uploaded assets, applicable to all RICH_MEDIA and all VPAID creatives. PARENT_VIDEO refers to videos uploaded by the user in Campaign Manager and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO creatives. TRANSCODED_VIDEO refers to videos transcoded by Campaign Manager from PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO creatives. ALTERNATE_VIDEO refers to the Campaign Manager representation of child asset videos from Studio, and is applicable to VPAID_LINEAR_VIDEO creatives. These cannot be added or removed within Campaign Manager. For VPAID_LINEAR_VIDEO creatives, PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are marked active serve as backup in case the VPAID creative cannot be served. Only PARENT_VIDEO assets can be added or removed for an INSTREAM_VIDEO or VPAID_LINEAR_VIDEO creative. PARENT_AUDIO refers to audios uploaded by the user in Campaign Manager and is applicable to INSTREAM_AUDIO creatives. TRANSCODED_AUDIO refers to audios transcoded by Campaign Manager from PARENT_AUDIO assets and is applicable to INSTREAM_AUDIO creatives. ", + "enum": [ + "PRIMARY", + "BACKUP_IMAGE", + "ADDITIONAL_IMAGE", + "ADDITIONAL_FLASH", + "PARENT_VIDEO", + "TRANSCODED_VIDEO", + "OTHER", + "ALTERNATE_VIDEO", + "PARENT_AUDIO", + "TRANSCODED_AUDIO" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "size": { + "$ref": "Size", + "description": "Size associated with this creative asset. This is a required field when applicable; however for IMAGE and FLASH_INPAGE, creatives if left blank, this field will be automatically set using the actual size of the associated image asset. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE." + }, + "sslCompliant": { + "description": "Whether the asset is SSL-compliant. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.", + "type": "boolean" + }, + "startTimeType": { + "description": "Initial wait time type before making the asset visible. Applicable to the following creative types: all RICH_MEDIA.", + "enum": [ + "ASSET_START_TIME_TYPE_NONE", + "ASSET_START_TIME_TYPE_CUSTOM" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "streamingServingUrl": { + "description": "Streaming URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.", + "type": "string" + }, + "transparency": { + "description": "Whether the asset is transparent. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable to HTML5 assets.", + "type": "boolean" + }, + "verticallyLocked": { + "description": "Whether the asset is vertically locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.", + "type": "boolean" + }, + "windowMode": { + "description": "Window mode options for flash assets. Applicable to the following creative types: FLASH_INPAGE, RICH_MEDIA_DISPLAY_EXPANDING, RICH_MEDIA_IM_EXPAND, RICH_MEDIA_DISPLAY_BANNER, and RICH_MEDIA_INPAGE_FLOATING.", + "enum": [ + "OPAQUE", + "WINDOW", + "TRANSPARENT" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "zIndex": { + "description": "zIndex value of an asset. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable to assets whose displayType is NOT one of the following types: ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY. Acceptable values are -999999999 to 999999999, inclusive.", + "format": "int32", + "type": "integer" + }, + "zipFilename": { + "description": "File name of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.", + "type": "string" + }, + "zipFilesize": { + "description": "Size of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.", + "type": "string" + } + }, + "type": "object" + }, + "CreativeAssetId": { + "description": "Creative Asset ID.", + "id": "CreativeAssetId", + "properties": { + "name": { + "description": "Name of the creative asset. This is a required field while inserting an asset. After insertion, this assetIdentifier is used to identify the uploaded asset. Characters in the name must be alphanumeric or one of the following: \".-_ \". Spaces are allowed.", + "type": "string" + }, + "type": { + "description": "Type of asset to upload. This is a required field. FLASH and IMAGE are no longer supported for new uploads. All image assets should use HTML_IMAGE.", + "enum": [ + "IMAGE", + "FLASH", + "VIDEO", + "HTML", + "HTML_IMAGE", + "AUDIO" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "CreativeAssetMetadata": { + "description": "CreativeAssets contains properties of a creative asset file which will be uploaded or has already been uploaded. Refer to the creative sample code for how to upload assets and insert a creative.", + "id": "CreativeAssetMetadata", + "properties": { + "assetIdentifier": { + "$ref": "CreativeAssetId", + "description": "ID of the creative asset. This is a required field." + }, + "clickTags": { + "description": "List of detected click tags for assets. This is a read-only, auto-generated field. This field is empty for a rich media asset.", + "items": { + "$ref": "ClickTag" + }, + "type": "array" + }, + "counterCustomEvents": { + "description": "List of counter events configured for the asset. This is a read-only, auto-generated field and only applicable to a rich media asset.", + "items": { + "$ref": "CreativeCustomEvent" + }, + "type": "array" + }, + "detectedFeatures": { + "description": "List of feature dependencies for the creative asset that are detected by Campaign Manager. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative correctly. This is a read-only, auto-generated field.", + "items": { + "enum": [ + "CSS_FONT_FACE", + "CSS_BACKGROUND_SIZE", + "CSS_BORDER_IMAGE", + "CSS_BORDER_RADIUS", + "CSS_BOX_SHADOW", + "CSS_FLEX_BOX", + "CSS_HSLA", + "CSS_MULTIPLE_BGS", + "CSS_OPACITY", + "CSS_RGBA", + "CSS_TEXT_SHADOW", + "CSS_ANIMATIONS", + "CSS_COLUMNS", + "CSS_GENERATED_CONTENT", + "CSS_GRADIENTS", + "CSS_REFLECTIONS", + "CSS_TRANSFORMS", + "CSS_TRANSFORMS3D", + "CSS_TRANSITIONS", + "APPLICATION_CACHE", + "CANVAS", + "CANVAS_TEXT", + "DRAG_AND_DROP", + "HASH_CHANGE", + "HISTORY", + "AUDIO", + "VIDEO", + "INDEXED_DB", + "INPUT_ATTR_AUTOCOMPLETE", + "INPUT_ATTR_AUTOFOCUS", + "INPUT_ATTR_LIST", + "INPUT_ATTR_PLACEHOLDER", + "INPUT_ATTR_MAX", + "INPUT_ATTR_MIN", + "INPUT_ATTR_MULTIPLE", + "INPUT_ATTR_PATTERN", + "INPUT_ATTR_REQUIRED", + "INPUT_ATTR_STEP", + "INPUT_TYPE_SEARCH", + "INPUT_TYPE_TEL", + "INPUT_TYPE_URL", + "INPUT_TYPE_EMAIL", + "INPUT_TYPE_DATETIME", + "INPUT_TYPE_DATE", + "INPUT_TYPE_MONTH", + "INPUT_TYPE_WEEK", + "INPUT_TYPE_TIME", + "INPUT_TYPE_DATETIME_LOCAL", + "INPUT_TYPE_NUMBER", + "INPUT_TYPE_RANGE", + "INPUT_TYPE_COLOR", + "LOCAL_STORAGE", + "POST_MESSAGE", + "SESSION_STORAGE", + "WEB_SOCKETS", + "WEB_SQL_DATABASE", + "WEB_WORKERS", + "GEO_LOCATION", + "INLINE_SVG", + "SMIL", + "SVG_HREF", + "SVG_CLIP_PATHS", + "TOUCH", + "WEBGL", + "SVG_FILTERS", + "SVG_FE_IMAGE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "type": "array" + }, + "exitCustomEvents": { + "description": "List of exit events configured for the asset. This is a read-only, auto-generated field and only applicable to a rich media asset.", + "items": { + "$ref": "CreativeCustomEvent" + }, + "type": "array" + }, + "id": { + "description": "Numeric ID of the asset. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + }, + "idDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the numeric ID of the asset. This is a read-only, auto-generated field." + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creativeAssetMetadata\".", + "type": "string" + }, + "richMedia": { + "description": "True if the uploaded asset is a rich media asset. This is a read-only, auto-generated field.", + "type": "boolean" + }, + "timerCustomEvents": { + "description": "List of timer events configured for the asset. This is a read-only, auto-generated field and only applicable to a rich media asset.", + "items": { + "$ref": "CreativeCustomEvent" + }, + "type": "array" + }, + "warnedValidationRules": { + "description": "Rules validated during code generation that generated a warning. This is a read-only, auto-generated field. Possible values are: - \"ADMOB_REFERENCED\" - \"ASSET_FORMAT_UNSUPPORTED_DCM\" - \"ASSET_INVALID\" - \"CLICK_TAG_HARD_CODED\" - \"CLICK_TAG_INVALID\" - \"CLICK_TAG_IN_GWD\" - \"CLICK_TAG_MISSING\" - \"CLICK_TAG_MORE_THAN_ONE\" - \"CLICK_TAG_NON_TOP_LEVEL\" - \"COMPONENT_UNSUPPORTED_DCM\" - \"ENABLER_UNSUPPORTED_METHOD_DCM\" - \"EXTERNAL_FILE_REFERENCED\" - \"FILE_DETAIL_EMPTY\" - \"FILE_TYPE_INVALID\" - \"GWD_PROPERTIES_INVALID\" - \"HTML5_FEATURE_UNSUPPORTED\" - \"LINKED_FILE_NOT_FOUND\" - \"MAX_FLASH_VERSION_11\" - \"MRAID_REFERENCED\" - \"NOT_SSL_COMPLIANT\" - \"ORPHANED_ASSET\" - \"PRIMARY_HTML_MISSING\" - \"SVG_INVALID\" - \"ZIP_INVALID\" ", + "items": { + "enum": [ + "CLICK_TAG_NON_TOP_LEVEL", + "CLICK_TAG_MISSING", + "CLICK_TAG_MORE_THAN_ONE", + "CLICK_TAG_INVALID", + "ORPHANED_ASSET", + "PRIMARY_HTML_MISSING", + "EXTERNAL_FILE_REFERENCED", + "MRAID_REFERENCED", + "ADMOB_REFERENCED", + "FILE_TYPE_INVALID", + "ZIP_INVALID", + "LINKED_FILE_NOT_FOUND", + "MAX_FLASH_VERSION_11", + "NOT_SSL_COMPLIANT", + "FILE_DETAIL_EMPTY", + "ASSET_INVALID", + "GWD_PROPERTIES_INVALID", + "ENABLER_UNSUPPORTED_METHOD_DCM", + "ASSET_FORMAT_UNSUPPORTED_DCM", + "COMPONENT_UNSUPPORTED_DCM", + "HTML5_FEATURE_UNSUPPORTED", + "CLICK_TAG_IN_GWD", + "CLICK_TAG_HARD_CODED", + "SVG_INVALID", + "CLICK_TAG_IN_RICH_MEDIA" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "CreativeAssetSelection": { + "description": "Encapsulates the list of rules for asset selection and a default asset in case none of the rules match. Applicable to INSTREAM_VIDEO creatives.", + "id": "CreativeAssetSelection", + "properties": { + "defaultAssetId": { + "description": "A creativeAssets[].id. This should refer to one of the parent assets in this creative, and will be served if none of the rules match. This is a required field.", + "format": "int64", + "type": "string" + }, + "rules": { + "description": "Rules determine which asset will be served to a viewer. Rules will be evaluated in the order in which they are stored in this list. This list must contain at least one rule. Applicable to INSTREAM_VIDEO creatives.", + "items": { + "$ref": "Rule" + }, + "type": "array" + } + }, + "type": "object" + }, + "CreativeAssignment": { + "description": "Creative Assignment.", + "id": "CreativeAssignment", + "properties": { + "active": { + "description": "Whether this creative assignment is active. When true, the creative will be included in the ad's rotation.", + "type": "boolean" + }, + "applyEventTags": { + "description": "Whether applicable event tags should fire when this creative assignment is rendered. If this value is unset when the ad is inserted or updated, it will default to true for all creative types EXCEPT for INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO.", + "type": "boolean" + }, + "clickThroughUrl": { + "$ref": "ClickThroughUrl", + "description": "Click-through URL of the creative assignment." + }, + "companionCreativeOverrides": { + "description": "Companion creative overrides for this creative assignment. Applicable to video ads.", + "items": { + "$ref": "CompanionClickThroughOverride" + }, + "type": "array" + }, + "creativeGroupAssignments": { + "description": "Creative group assignments for this creative assignment. Only one assignment per creative group number is allowed for a maximum of two assignments.", + "items": { + "$ref": "CreativeGroupAssignment" + }, + "type": "array" + }, + "creativeId": { + "description": "ID of the creative to be assigned. This is a required field.", + "format": "int64", + "type": "string" + }, + "creativeIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the creative. This is a read-only, auto-generated field." + }, + "endTime": { + "format": "date-time", + "type": "string" + }, + "richMediaExitOverrides": { + "description": "Rich media exit overrides for this creative assignment. Applicable when the creative type is any of the following: - DISPLAY - RICH_MEDIA_INPAGE - RICH_MEDIA_INPAGE_FLOATING - RICH_MEDIA_IM_EXPAND - RICH_MEDIA_EXPANDING - RICH_MEDIA_INTERSTITIAL_FLOAT - RICH_MEDIA_MOBILE_IN_APP - RICH_MEDIA_MULTI_FLOATING - RICH_MEDIA_PEEL_DOWN - VPAID_LINEAR - VPAID_NON_LINEAR ", + "items": { + "$ref": "RichMediaExitOverride" + }, + "type": "array" + }, + "sequence": { + "description": "Sequence number of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL. Acceptable values are 1 to 65535, inclusive.", + "format": "int32", + "type": "integer" + }, + "sslCompliant": { + "description": "Whether the creative to be assigned is SSL-compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.", + "type": "boolean" + }, + "startTime": { + "format": "date-time", + "type": "string" + }, + "weight": { + "description": "Weight of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_RANDOM. Value must be greater than or equal to 1.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "CreativeClickThroughUrl": { + "description": "Click-through URL", + "id": "CreativeClickThroughUrl", + "properties": { + "computedClickThroughUrl": { + "description": "Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows: - If landingPageId is specified then that landing page's URL is assigned to this field. - Otherwise, the customClickThroughUrl is assigned to this field. ", + "type": "string" + }, + "customClickThroughUrl": { + "description": "Custom click-through URL. Applicable if the landingPageId field is left unset.", + "type": "string" + }, + "landingPageId": { + "description": "ID of the landing page for the click-through URL.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "CreativeCustomEvent": { + "description": "Creative Custom Event.", + "id": "CreativeCustomEvent", + "properties": { + "advertiserCustomEventId": { + "description": "Unique ID of this event used by Reporting and Data Transfer. This is a read-only field.", + "format": "int64", + "type": "string" + }, + "advertiserCustomEventName": { + "description": "User-entered name for the event.", + "type": "string" + }, + "advertiserCustomEventType": { + "description": "Type of the event. This is a read-only field.", + "enum": [ + "ADVERTISER_EVENT_TIMER", + "ADVERTISER_EVENT_EXIT", + "ADVERTISER_EVENT_COUNTER" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "artworkLabel": { + "description": "Artwork label column, used to link events in Campaign Manager back to events in Studio. This is a required field and should not be modified after insertion.", + "type": "string" + }, + "artworkType": { + "description": "Artwork type used by the creative.This is a read-only field.", + "enum": [ + "ARTWORK_TYPE_FLASH", + "ARTWORK_TYPE_HTML5", + "ARTWORK_TYPE_MIXED", + "ARTWORK_TYPE_IMAGE" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "exitClickThroughUrl": { + "$ref": "CreativeClickThroughUrl", + "description": "Exit click-through URL for the event. This field is used only for exit events." + }, + "id": { + "description": "ID of this event. This is a required field and should not be modified after insertion.", + "format": "int64", + "type": "string" + }, + "popupWindowProperties": { + "$ref": "PopupWindowProperties", + "description": "Properties for rich media popup windows. This field is used only for exit events." + }, + "targetType": { + "description": "Target type used by the event.", + "enum": [ + "TARGET_BLANK", + "TARGET_TOP", + "TARGET_SELF", + "TARGET_PARENT", + "TARGET_POPUP" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "videoReportingId": { + "description": "Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.", + "type": "string" + } + }, + "type": "object" + }, + "CreativeField": { + "description": "Contains properties of a creative field.", + "id": "CreativeField", + "properties": { + "accountId": { + "description": "Account ID of this creative field. This is a read-only field that can be left blank.", + "format": "int64", + "type": "string" + }, + "advertiserId": { + "description": "Advertiser ID of this creative field. This is a required field on insertion.", + "format": "int64", + "type": "string" + }, + "advertiserIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the advertiser. This is a read-only, auto-generated field." + }, + "id": { + "description": "ID of this creative field. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creativeField\".", + "type": "string" + }, + "name": { + "description": "Name of this creative field. This is a required field and must be less than 256 characters long and unique among creative fields of the same advertiser.", + "type": "string" + }, + "subaccountId": { + "description": "Subaccount ID of this creative field. This is a read-only field that can be left blank.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "CreativeFieldAssignment": { + "description": "Creative Field Assignment.", + "id": "CreativeFieldAssignment", + "properties": { + "creativeFieldId": { + "description": "ID of the creative field.", + "format": "int64", + "type": "string" + }, + "creativeFieldValueId": { + "description": "ID of the creative field value.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "CreativeFieldValue": { + "description": "Contains properties of a creative field value.", + "id": "CreativeFieldValue", + "properties": { + "id": { + "description": "ID of this creative field value. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creativeFieldValue\".", + "type": "string" + }, + "value": { + "description": "Value of this creative field value. It needs to be less than 256 characters in length and unique per creative field.", + "type": "string" + } + }, + "type": "object" + }, + "CreativeFieldValuesListResponse": { + "description": "Creative Field Value List Response", + "id": "CreativeFieldValuesListResponse", + "properties": { + "creativeFieldValues": { + "description": "Creative field value collection.", + "items": { + "$ref": "CreativeFieldValue" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creativeFieldValuesListResponse\".", + "type": "string" + }, + "nextPageToken": { + "description": "Pagination token to be used for the next list operation.", + "type": "string" + } + }, + "type": "object" + }, + "CreativeFieldsListResponse": { + "description": "Creative Field List Response", + "id": "CreativeFieldsListResponse", + "properties": { + "creativeFields": { + "description": "Creative field collection.", + "items": { + "$ref": "CreativeField" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creativeFieldsListResponse\".", + "type": "string" + }, + "nextPageToken": { + "description": "Pagination token to be used for the next list operation.", + "type": "string" + } + }, + "type": "object" + }, + "CreativeGroup": { + "description": "Contains properties of a creative group.", + "id": "CreativeGroup", + "properties": { + "accountId": { + "description": "Account ID of this creative group. This is a read-only field that can be left blank.", + "format": "int64", + "type": "string" + }, + "advertiserId": { + "description": "Advertiser ID of this creative group. This is a required field on insertion.", + "format": "int64", + "type": "string" + }, + "advertiserIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the advertiser. This is a read-only, auto-generated field." + }, + "groupNumber": { + "description": "Subgroup of the creative group. Assign your creative groups to a subgroup in order to filter or manage them more easily. This field is required on insertion and is read-only after insertion. Acceptable values are 1 to 2, inclusive.", + "format": "int32", + "type": "integer" + }, + "id": { + "description": "ID of this creative group. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creativeGroup\".", + "type": "string" + }, + "name": { + "description": "Name of this creative group. This is a required field and must be less than 256 characters long and unique among creative groups of the same advertiser.", + "type": "string" + }, + "subaccountId": { + "description": "Subaccount ID of this creative group. This is a read-only field that can be left blank.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "CreativeGroupAssignment": { + "description": "Creative Group Assignment.", + "id": "CreativeGroupAssignment", + "properties": { + "creativeGroupId": { + "description": "ID of the creative group to be assigned.", + "format": "int64", + "type": "string" + }, + "creativeGroupNumber": { + "description": "Creative group number of the creative group assignment.", + "enum": [ + "CREATIVE_GROUP_ONE", + "CREATIVE_GROUP_TWO" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "CreativeGroupsListResponse": { + "description": "Creative Group List Response", + "id": "CreativeGroupsListResponse", + "properties": { + "creativeGroups": { + "description": "Creative group collection.", + "items": { + "$ref": "CreativeGroup" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creativeGroupsListResponse\".", + "type": "string" + }, + "nextPageToken": { + "description": "Pagination token to be used for the next list operation.", + "type": "string" + } + }, + "type": "object" + }, + "CreativeOptimizationConfiguration": { + "description": "Creative optimization settings.", + "id": "CreativeOptimizationConfiguration", + "properties": { + "id": { + "description": "ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "Name of this creative optimization config. This is a required field and must be less than 129 characters long.", + "type": "string" + }, + "optimizationActivitys": { + "description": "List of optimization activities associated with this configuration.", + "items": { + "$ref": "OptimizationActivity" + }, + "type": "array" + }, + "optimizationModel": { + "description": "Optimization model for this configuration.", + "enum": [ + "CLICK", + "POST_CLICK", + "POST_IMPRESSION", + "POST_CLICK_AND_IMPRESSION", + "VIDEO_COMPLETION" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "CreativeRotation": { + "description": "Creative Rotation.", + "id": "CreativeRotation", + "properties": { + "creativeAssignments": { + "description": "Creative assignments in this creative rotation.", + "items": { + "$ref": "CreativeAssignment" + }, + "type": "array" + }, + "creativeOptimizationConfigurationId": { + "description": "Creative optimization configuration that is used by this ad. It should refer to one of the existing optimization configurations in the ad's campaign. If it is unset or set to 0, then the campaign's default optimization configuration will be used for this ad.", + "format": "int64", + "type": "string" + }, + "type": { + "description": "Type of creative rotation. Can be used to specify whether to use sequential or random rotation.", + "enum": [ + "CREATIVE_ROTATION_TYPE_SEQUENTIAL", + "CREATIVE_ROTATION_TYPE_RANDOM" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "weightCalculationStrategy": { + "description": "Strategy for calculating weights. Used with CREATIVE_ROTATION_TYPE_RANDOM.", + "enum": [ + "WEIGHT_STRATEGY_EQUAL", + "WEIGHT_STRATEGY_CUSTOM", + "WEIGHT_STRATEGY_HIGHEST_CTR", + "WEIGHT_STRATEGY_OPTIMIZED" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "CreativesListResponse": { + "description": "Creative List Response", + "id": "CreativesListResponse", + "properties": { + "creatives": { + "description": "Creative collection.", + "items": { + "$ref": "Creative" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creativesListResponse\".", + "type": "string" + }, + "nextPageToken": { + "description": "Pagination token to be used for the next list operation.", + "type": "string" + } + }, + "type": "object" + }, + "CrossDimensionReachReportCompatibleFields": { + "description": "Represents fields that are compatible to be selected for a report of type \"CROSS_DIMENSION_REACH\".", + "id": "CrossDimensionReachReportCompatibleFields", + "properties": { + "breakdown": { + "description": "Dimensions which are compatible to be selected in the \"breakdown\" section of the report.", + "items": { + "$ref": "Dimension" + }, + "type": "array" + }, + "dimensionFilters": { + "description": "Dimensions which are compatible to be selected in the \"dimensionFilters\" section of the report.", + "items": { + "$ref": "Dimension" + }, + "type": "array" + }, + "kind": { + "description": "The kind of resource this is, in this case dfareporting#crossDimensionReachReportCompatibleFields.", + "type": "string" + }, + "metrics": { + "description": "Metrics which are compatible to be selected in the \"metricNames\" section of the report.", + "items": { + "$ref": "Metric" + }, + "type": "array" + }, + "overlapMetrics": { + "description": "Metrics which are compatible to be selected in the \"overlapMetricNames\" section of the report.", + "items": { + "$ref": "Metric" + }, + "type": "array" + } + }, + "type": "object" + }, + "CustomEvent": { + "description": "Experimental feature (no support provided) A custom event represents a third party impression, a third party click, an annotation on a first party impression, or an annotation on a first party click.", + "id": "CustomEvent", + "properties": { + "annotateClickEvent": { + "$ref": "CustomEventClickAnnotation", + "description": "Annotate a click event. This field is mutually exclusive with insertEvent and annotateImpressionEvent. This or insertEvent and annotateImpressionEvent is a required field." + }, + "annotateImpressionEvent": { + "$ref": "CustomEventImpressionAnnotation", + "description": "Annotate an impression. This field is mutually exclusive with insertEvent and annotateClickEvent. This or insertEvent and annotateClickEvent is a required field." + }, + "customVariables": { + "description": "Custom variables associated with the event.", + "items": { + "$ref": "CustomVariable" + }, + "type": "array" + }, + "eventType": { + "description": "The type of event. If INSERT, the fields in insertEvent need to be populated. If ANNOTATE, the fields in either annotateClickEvent or annotateImpressionEvent need to be populated.", + "enum": [ + "UNKNOWN", + "INSERT", + "ANNOTATE" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "floodlightConfigurationId": { + "description": "Floodlight configuration ID of the advertiser the event is linked to. This is a required field.", + "format": "int64", + "type": "string" + }, + "insertEvent": { + "$ref": "CustomEventInsert", + "description": "Insert custom event. This field is mutually exclusive with annotateClickEvent and annotateImpressionEvent. This or annotateClickEvent and annotateImpressionEvent is a required field." + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#customEvent\".", + "type": "string" + }, + "ordinal": { + "description": "The ordinal of this custom event. This is a required field.", + "type": "string" + }, + "timestampMicros": { + "description": "The timestamp of this custom event, in Unix epoch micros. This is a required field.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "CustomEventClickAnnotation": { + "description": "Annotate a click event.", + "id": "CustomEventClickAnnotation", + "properties": { + "gclid": { + "description": "The Google click ID. Use this field to annotate the click associated with the gclid.", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#customEventClickAnnotation\".", + "type": "string" + } + }, + "type": "object" + }, + "CustomEventError": { + "description": "The error code and description for a custom event that failed to insert.", + "id": "CustomEventError", + "properties": { + "code": { + "description": "The error code.", + "enum": [ + "UNKNOWN", + "INVALID_ARGUMENT", + "INTERNAL", + "PERMISSION_DENIED", + "NOT_FOUND" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#customEventError\".", + "type": "string" + }, + "message": { + "description": "A description of the error.", + "type": "string" + } + }, + "type": "object" + }, + "CustomEventImpressionAnnotation": { + "description": "Annotate an impression.", + "id": "CustomEventImpressionAnnotation", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#customEventImpressionAnnotation\".", + "type": "string" + }, + "pathImpressionId": { + "description": "The path impression ID. Use this field to annotate the impression associated with the pathImpressionId.", + "type": "string" + } + }, + "type": "object" + }, + "CustomEventInsert": { + "description": "Custom event to be inserted.", + "id": "CustomEventInsert", + "properties": { + "cmDimensions": { + "$ref": "CampaignManagerIds", + "description": "Campaign Manager dimensions associated with the event." + }, + "dv3Dimensions": { + "$ref": "DV3Ids", + "description": "DV360 dimensions associated with the event." + }, + "insertEventType": { + "description": "The type of event to insert.", + "enum": [ + "UNKNOWN", + "IMPRESSION", + "CLICK" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#customEventInsert\".", + "type": "string" + }, + "matchId": { + "description": "The match ID field. A match ID is your own first-party identifier that has been synced with Google using the match ID feature in Floodlight. This field is mutually exclusive with mobileDeviceId, and at least one of the two fields is required.", + "type": "string" + }, + "mobileDeviceId": { + "description": "The mobile device ID. This field is mutually exclusive with matchId, and at least one of the two fields is required.", + "type": "string" + } + }, + "type": "object" + }, + "CustomEventStatus": { + "description": "The original custom event that was inserted and whether there were any errors.", + "id": "CustomEventStatus", + "properties": { + "customEvent": { + "$ref": "CustomEvent", + "description": "The original custom event that was inserted." + }, + "errors": { + "description": "A list of errors related to this custom event.", + "items": { + "$ref": "CustomEventError" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#customEventStatus\".", + "type": "string" + } + }, + "type": "object" + }, + "CustomEventsBatchInsertRequest": { + "description": "Insert Custom Events Request.", + "id": "CustomEventsBatchInsertRequest", + "properties": { + "customEvents": { + "description": "The set of custom events to insert.", + "items": { + "$ref": "CustomEvent" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#customEventsBatchInsertRequest\".", + "type": "string" + } + }, + "type": "object" + }, + "CustomEventsBatchInsertResponse": { + "description": "Insert Custom Events Response.", + "id": "CustomEventsBatchInsertResponse", + "properties": { + "hasFailures": { + "description": "Indicates that some or all custom events failed to insert.", + "type": "boolean" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#customEventsBatchInsertResponse\".", + "type": "string" + }, + "status": { + "description": "The insert status of each custom event. Statuses are returned in the same order that conversions are inserted.", + "items": { + "$ref": "CustomEventStatus" + }, + "type": "array" + } + }, + "type": "object" + }, + "CustomFloodlightVariable": { + "description": "A custom floodlight variable. This field may only be used when calling batchinsert; it is not supported by batchupdate.", + "id": "CustomFloodlightVariable", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#customFloodlightVariable\".", + "type": "string" + }, + "type": { + "description": "The type of custom floodlight variable to supply a value for. These map to the \"u[1-20]=\" in the tags.", + "enum": [ + "U1", + "U2", + "U3", + "U4", + "U5", + "U6", + "U7", + "U8", + "U9", + "U10", + "U11", + "U12", + "U13", + "U14", + "U15", + "U16", + "U17", + "U18", + "U19", + "U20", + "U21", + "U22", + "U23", + "U24", + "U25", + "U26", + "U27", + "U28", + "U29", + "U30", + "U31", + "U32", + "U33", + "U34", + "U35", + "U36", + "U37", + "U38", + "U39", + "U40", + "U41", + "U42", + "U43", + "U44", + "U45", + "U46", + "U47", + "U48", + "U49", + "U50", + "U51", + "U52", + "U53", + "U54", + "U55", + "U56", + "U57", + "U58", + "U59", + "U60", + "U61", + "U62", + "U63", + "U64", + "U65", + "U66", + "U67", + "U68", + "U69", + "U70", + "U71", + "U72", + "U73", + "U74", + "U75", + "U76", + "U77", + "U78", + "U79", + "U80", + "U81", + "U82", + "U83", + "U84", + "U85", + "U86", + "U87", + "U88", + "U89", + "U90", + "U91", + "U92", + "U93", + "U94", + "U95", + "U96", + "U97", + "U98", + "U99", + "U100" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "value": { + "description": "The value of the custom floodlight variable. The length of string must not exceed 100 characters.", + "type": "string" + } + }, + "type": "object" + }, + "CustomRichMediaEvents": { + "description": "Represents a Custom Rich Media Events group.", + "id": "CustomRichMediaEvents", + "properties": { + "filteredEventIds": { + "description": "List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.", + "items": { + "$ref": "DimensionValue" + }, + "type": "array" + }, + "kind": { + "description": "The kind of resource this is, in this case dfareporting#customRichMediaEvents.", + "type": "string" + } + }, + "type": "object" + }, + "CustomVariable": { + "description": "Custom variable.", + "id": "CustomVariable", + "properties": { + "index": { + "description": "The index of the custom variable.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#customVariable\".", + "type": "string" + }, + "value": { + "description": "The value of the custom variable. The length of string must not exceed 50 characters.", + "type": "string" + } + }, + "type": "object" + }, + "CustomViewabilityMetric": { + "description": "Custom Viewability Metric", + "id": "CustomViewabilityMetric", + "properties": { + "configuration": { + "$ref": "CustomViewabilityMetricConfiguration", + "description": "Configuration of the custom viewability metric." + }, + "id": { + "description": "ID of the custom viewability metric.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "Name of the custom viewability metric.", + "type": "string" + } + }, + "type": "object" + }, + "CustomViewabilityMetricConfiguration": { + "description": "The attributes, like playtime and percent onscreen, that define the Custom Viewability Metric.", + "id": "CustomViewabilityMetricConfiguration", + "properties": { + "audible": { + "description": "Whether the video must be audible to count an impression.", + "type": "boolean" + }, + "timeMillis": { + "description": "The time in milliseconds the video must play for the Custom Viewability Metric to count an impression. If both this and timePercent are specified, the earlier of the two will be used.", + "format": "int32", + "type": "integer" + }, + "timePercent": { + "description": "The percentage of video that must play for the Custom Viewability Metric to count an impression. If both this and timeMillis are specified, the earlier of the two will be used.", + "format": "int32", + "type": "integer" + }, + "viewabilityPercent": { + "description": "The percentage of video that must be on screen for the Custom Viewability Metric to count an impression.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "DV3Ids": { + "description": "DV360 IDs related to the custom event.", + "id": "DV3Ids", + "properties": { + "dvCampaignId": { + "description": "Campaign ID for DV360.", + "format": "int64", + "type": "string" + }, + "dvCreativeId": { + "description": "Creative ID for DV360.", + "format": "int64", + "type": "string" + }, + "dvInsertionOrderId": { + "description": "Insertion Order ID for DV360.", + "format": "int64", + "type": "string" + }, + "dvLineItemId": { + "description": "Line Item ID for DV360.", + "format": "int64", + "type": "string" + }, + "dvSiteId": { + "description": "Site ID for DV360.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#dV3Ids\".", + "type": "string" + } + }, + "type": "object" + }, + "DateRange": { + "description": "Represents a date range.", + "id": "DateRange", + "properties": { + "endDate": { + "format": "date", + "type": "string" + }, + "kind": { + "description": "The kind of resource this is, in this case dfareporting#dateRange.", + "type": "string" + }, + "relativeDateRange": { + "description": "The date range relative to the date of when the report is run.", + "enum": [ + "TODAY", + "YESTERDAY", + "WEEK_TO_DATE", + "MONTH_TO_DATE", + "QUARTER_TO_DATE", + "YEAR_TO_DATE", + "PREVIOUS_WEEK", + "PREVIOUS_MONTH", + "PREVIOUS_QUARTER", + "PREVIOUS_YEAR", + "LAST_7_DAYS", + "LAST_30_DAYS", + "LAST_90_DAYS", + "LAST_365_DAYS", + "LAST_24_MONTHS", + "LAST_14_DAYS", + "LAST_60_DAYS" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "startDate": { + "format": "date", + "type": "string" + } + }, + "type": "object" + }, + "DayPartTargeting": { + "description": "Day Part Targeting.", + "id": "DayPartTargeting", + "properties": { + "daysOfWeek": { + "description": "Days of the week when the ad will serve. Acceptable values are: - \"SUNDAY\" - \"MONDAY\" - \"TUESDAY\" - \"WEDNESDAY\" - \"THURSDAY\" - \"FRIDAY\" - \"SATURDAY\" ", + "items": { + "enum": [ + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "type": "array" + }, + "hoursOfDay": { + "description": "Hours of the day when the ad will serve, where 0 is midnight to 1 AM and 23 is 11 PM to midnight. Can be specified with days of week, in which case the ad would serve during these hours on the specified days. For example if Monday, Wednesday, Friday are the days of week specified and 9-10am, 3-5pm (hours 9, 15, and 16) is specified, the ad would serve Monday, Wednesdays, and Fridays at 9-10am and 3-5pm. Acceptable values are 0 to 23, inclusive.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "userLocalTime": { + "description": "Whether or not to use the user's local time. If false, the America/New York time zone applies.", + "type": "boolean" + } + }, + "type": "object" + }, + "DeepLink": { + "description": "Contains information about a landing page deep link.", + "id": "DeepLink", + "properties": { + "appUrl": { + "description": "The URL of the mobile app being linked to.", + "type": "string" + }, + "fallbackUrl": { + "description": "The fallback URL. This URL will be served to users who do not have the mobile app installed.", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#deepLink\".", + "type": "string" + }, + "mobileApp": { + "$ref": "MobileApp", + "description": "The mobile app targeted by this deep link." + }, + "remarketingListIds": { + "description": "Ads served to users on these remarketing lists will use this deep link. Applicable when mobileApp.directory is APPLE_APP_STORE.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "DefaultClickThroughEventTagProperties": { + "description": "Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further.", + "id": "DefaultClickThroughEventTagProperties", + "properties": { + "defaultClickThroughEventTagId": { + "description": "ID of the click-through event tag to apply to all ads in this entity's scope.", + "format": "int64", + "type": "string" + }, + "overrideInheritedEventTag": { + "description": "Whether this entity should override the inherited default click-through event tag with its own defined value.", + "type": "boolean" + } + }, + "type": "object" + }, + "DeliverySchedule": { + "description": "Delivery Schedule.", + "id": "DeliverySchedule", + "properties": { + "frequencyCap": { + "$ref": "FrequencyCap", + "description": "Limit on the number of times an individual user can be served the ad within a specified period of time." + }, + "hardCutoff": { + "description": "Whether or not hard cutoff is enabled. If true, the ad will not serve after the end date and time. Otherwise the ad will continue to be served until it has reached its delivery goals.", + "type": "boolean" + }, + "impressionRatio": { + "description": "Impression ratio for this ad. This ratio determines how often each ad is served relative to the others. For example, if ad A has an impression ratio of 1 and ad B has an impression ratio of 3, then Campaign Manager will serve ad B three times as often as ad A. Acceptable values are 1 to 10, inclusive.", + "format": "int64", + "type": "string" + }, + "priority": { + "description": "Serving priority of an ad, with respect to other ads. The lower the priority number, the greater the priority with which it is served.", + "enum": [ + "AD_PRIORITY_01", + "AD_PRIORITY_02", + "AD_PRIORITY_03", + "AD_PRIORITY_04", + "AD_PRIORITY_05", + "AD_PRIORITY_06", + "AD_PRIORITY_07", + "AD_PRIORITY_08", + "AD_PRIORITY_09", + "AD_PRIORITY_10", + "AD_PRIORITY_11", + "AD_PRIORITY_12", + "AD_PRIORITY_13", + "AD_PRIORITY_14", + "AD_PRIORITY_15", + "AD_PRIORITY_16" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "DfpSettings": { + "description": "Google Ad Manager Settings", + "id": "DfpSettings", + "properties": { + "dfpNetworkCode": { + "description": "Ad Manager network code for this directory site.", + "type": "string" + }, + "dfpNetworkName": { + "description": "Ad Manager network name for this directory site.", + "type": "string" + }, + "programmaticPlacementAccepted": { + "description": "Whether this directory site accepts programmatic placements.", + "type": "boolean" + }, + "pubPaidPlacementAccepted": { + "description": "Whether this directory site accepts publisher-paid tags.", + "type": "boolean" + }, + "publisherPortalOnly": { + "description": "Whether this directory site is available only via Publisher Portal.", + "type": "boolean" + } + }, + "type": "object" + }, + "Dimension": { + "description": "Represents a dimension.", + "id": "Dimension", + "properties": { + "kind": { + "description": "The kind of resource this is, in this case dfareporting#dimension.", + "type": "string" + }, + "name": { + "description": "The dimension name, e.g. dfa:advertiser", + "type": "string" + } + }, + "type": "object" + }, + "DimensionFilter": { + "description": "Represents a dimension filter.", + "id": "DimensionFilter", + "properties": { + "dimensionName": { + "description": "The name of the dimension to filter.", + "type": "string" + }, + "kind": { + "description": "The kind of resource this is, in this case dfareporting#dimensionFilter.", + "type": "string" + }, + "value": { + "description": "The value of the dimension to filter.", + "type": "string" + } + }, + "type": "object" + }, + "DimensionValue": { + "description": "Represents a DimensionValue resource.", + "id": "DimensionValue", + "properties": { + "dimensionName": { + "description": "The name of the dimension.", + "type": "string" + }, + "etag": { + "description": "The eTag of this response for caching purposes.", + "type": "string" + }, + "id": { + "description": "The ID associated with the value if available.", + "type": "string" + }, + "kind": { + "description": "The kind of resource this is, in this case dfareporting#dimensionValue.", + "type": "string" + }, + "matchType": { + "description": "Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.", + "enum": [ + "EXACT", + "BEGINS_WITH", + "CONTAINS", + "WILDCARD_EXPRESSION" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "value": { + "description": "The value of the dimension.", + "type": "string" + } + }, + "type": "object" + }, + "DimensionValueList": { + "description": "Represents the list of DimensionValue resources.", + "id": "DimensionValueList", + "properties": { + "etag": { + "description": "The eTag of this response for caching purposes.", + "type": "string" + }, + "items": { + "description": "The dimension values returned in this response.", + "items": { + "$ref": "DimensionValue" + }, + "type": "array" + }, + "kind": { + "description": "The kind of list this is, in this case dfareporting#dimensionValueList.", + "type": "string" + }, + "nextPageToken": { + "description": "Continuation token used to page through dimension values. To retrieve the next page of results, set the next request's \"pageToken\" to the value of this field. The page token is only valid for a limited amount of time and should not be persisted.", + "type": "string" + } + }, + "type": "object" + }, + "DimensionValueRequest": { + "description": "Represents a DimensionValuesRequest.", + "id": "DimensionValueRequest", + "properties": { + "dimensionName": { + "annotations": { + "required": [ + "dfareporting.dimensionValues.query" + ] + }, + "description": "The name of the dimension for which values should be requested.", + "type": "string" + }, + "endDate": { + "format": "date", + "type": "string" + }, + "filters": { + "description": "The list of filters by which to filter values. The filters are ANDed.", + "items": { + "$ref": "DimensionFilter" + }, + "type": "array" + }, + "kind": { + "description": "The kind of request this is, in this case dfareporting#dimensionValueRequest .", + "type": "string" + }, + "startDate": { + "format": "date", + "type": "string" + } + }, + "type": "object" + }, + "DirectorySite": { + "description": "DirectorySites contains properties of a website from the Site Directory. Sites need to be added to an account via the Sites resource before they can be assigned to a placement.", + "id": "DirectorySite", + "properties": { + "id": { + "description": "ID of this directory site. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + }, + "idDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of this directory site. This is a read-only, auto-generated field." + }, + "inpageTagFormats": { + "description": "Tag types for regular placements. Acceptable values are: - \"STANDARD\" - \"IFRAME_JAVASCRIPT_INPAGE\" - \"INTERNAL_REDIRECT_INPAGE\" - \"JAVASCRIPT_INPAGE\" ", + "items": { + "enum": [ + "STANDARD", + "IFRAME_JAVASCRIPT_INPAGE", + "INTERNAL_REDIRECT_INPAGE", + "JAVASCRIPT_INPAGE" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "type": "array" + }, + "interstitialTagFormats": { + "description": "Tag types for interstitial placements. Acceptable values are: - \"IFRAME_JAVASCRIPT_INTERSTITIAL\" - \"INTERNAL_REDIRECT_INTERSTITIAL\" - \"JAVASCRIPT_INTERSTITIAL\" ", + "items": { + "enum": [ + "IFRAME_JAVASCRIPT_INTERSTITIAL", + "INTERNAL_REDIRECT_INTERSTITIAL", + "JAVASCRIPT_INTERSTITIAL" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#directorySite\".", + "type": "string" + }, + "name": { + "description": "Name of this directory site.", + "type": "string" + }, + "settings": { + "$ref": "DirectorySiteSettings", + "description": "Directory site settings." + }, + "url": { + "description": "URL of this directory site.", + "type": "string" + } + }, + "type": "object" + }, + "DirectorySiteSettings": { + "description": "Directory Site Settings", + "id": "DirectorySiteSettings", + "properties": { + "activeViewOptOut": { + "description": "Whether this directory site has disabled active view creatives.", + "type": "boolean" + }, + "dfpSettings": { + "$ref": "DfpSettings", + "description": "Directory site Ad Manager settings." + }, + "instreamVideoPlacementAccepted": { + "description": "Whether this site accepts in-stream video ads.", + "type": "boolean" + }, + "interstitialPlacementAccepted": { + "description": "Whether this site accepts interstitial ads.", + "type": "boolean" + } + }, + "type": "object" + }, + "DirectorySitesListResponse": { + "description": "Directory Site List Response", + "id": "DirectorySitesListResponse", + "properties": { + "directorySites": { + "description": "Directory site collection.", + "items": { + "$ref": "DirectorySite" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#directorySitesListResponse\".", + "type": "string" + }, + "nextPageToken": { + "description": "Pagination token to be used for the next list operation.", + "type": "string" + } + }, + "type": "object" + }, + "DisjunctiveMatchStatement": { + "description": "Represents a Disjunctive Match Statement resource, which is a conjunction (and) of disjunctive (or) boolean statements.", + "id": "DisjunctiveMatchStatement", + "properties": { + "eventFilters": { + "description": "The event filters contained within this disjunctive match statement.", + "items": { + "$ref": "EventFilter" + }, + "type": "array" + }, + "kind": { + "description": "The kind of resource this is, in this case dfareporting#disjunctiveMatchStatement.", + "type": "string" + } + }, + "type": "object" + }, + "DynamicTargetingKey": { + "description": "Contains properties of a dynamic targeting key. Dynamic targeting keys are unique, user-friendly labels, created at the advertiser level in DCM, that can be assigned to ads, creatives, and placements and used for targeting with Studio dynamic creatives. Use these labels instead of numeric Campaign Manager IDs (such as placement IDs) to save time and avoid errors in your dynamic feeds.", + "id": "DynamicTargetingKey", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#dynamicTargetingKey\".", + "type": "string" + }, + "name": { + "description": "Name of this dynamic targeting key. This is a required field. Must be less than 256 characters long and cannot contain commas. All characters are converted to lowercase.", + "type": "string" + }, + "objectId": { + "description": "ID of the object of this dynamic targeting key. This is a required field.", + "format": "int64", + "type": "string" + }, + "objectType": { + "description": "Type of the object of this dynamic targeting key. This is a required field.", + "enum": [ + "OBJECT_ADVERTISER", + "OBJECT_AD", + "OBJECT_CREATIVE", + "OBJECT_PLACEMENT" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "DynamicTargetingKeysListResponse": { + "description": "Dynamic Targeting Key List Response", + "id": "DynamicTargetingKeysListResponse", + "properties": { + "dynamicTargetingKeys": { + "description": "Dynamic targeting key collection.", + "items": { + "$ref": "DynamicTargetingKey" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#dynamicTargetingKeysListResponse\".", + "type": "string" + } + }, + "type": "object" + }, + "EncryptionInfo": { + "description": "A description of how user IDs are encrypted.", + "id": "EncryptionInfo", + "properties": { + "encryptionEntityId": { + "description": "The encryption entity ID. This should match the encryption configuration for ad serving or Data Transfer.", + "format": "int64", + "type": "string" + }, + "encryptionEntityType": { + "description": "The encryption entity type. This should match the encryption configuration for ad serving or Data Transfer.", + "enum": [ + "ENCRYPTION_ENTITY_TYPE_UNKNOWN", + "DCM_ACCOUNT", + "DCM_ADVERTISER", + "DBM_PARTNER", + "DBM_ADVERTISER", + "ADWORDS_CUSTOMER", + "DFP_NETWORK_CODE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "encryptionSource": { + "description": "Describes whether the encrypted cookie was received from ad serving (the %m macro) or from Data Transfer.", + "enum": [ + "ENCRYPTION_SCOPE_UNKNOWN", + "AD_SERVING", + "DATA_TRANSFER" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#encryptionInfo\".", + "type": "string" + } + }, + "type": "object" + }, + "EventFilter": { + "description": "Represents a DfaReporting event filter.", + "id": "EventFilter", + "properties": { + "dimensionFilter": { + "$ref": "PathReportDimensionValue", + "description": "The dimension filter contained within this EventFilter." + }, + "kind": { + "description": "The kind of resource this is, in this case dfareporting#eventFilter.", + "type": "string" + } + }, + "type": "object" + }, + "EventTag": { + "description": "Contains properties of an event tag.", + "id": "EventTag", + "properties": { + "accountId": { + "description": "Account ID of this event tag. This is a read-only field that can be left blank.", + "format": "int64", + "type": "string" + }, + "advertiserId": { + "description": "Advertiser ID of this event tag. This field or the campaignId field is required on insertion.", + "format": "int64", + "type": "string" + }, + "advertiserIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the advertiser. This is a read-only, auto-generated field." + }, + "campaignId": { + "description": "Campaign ID of this event tag. This field or the advertiserId field is required on insertion.", + "format": "int64", + "type": "string" + }, + "campaignIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the campaign. This is a read-only, auto-generated field." + }, + "enabledByDefault": { + "description": "Whether this event tag should be automatically enabled for all of the advertiser's campaigns and ads.", + "type": "boolean" + }, + "excludeFromAdxRequests": { + "description": "Whether to remove this event tag from ads that are trafficked through Display & Video 360 to Ad Exchange. This may be useful if the event tag uses a pixel that is unapproved for Ad Exchange bids on one or more networks, such as the Google Display Network.", + "type": "boolean" + }, + "id": { + "description": "ID of this event tag. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#eventTag\".", + "type": "string" + }, + "name": { + "description": "Name of this event tag. This is a required field and must be less than 256 characters long.", + "type": "string" + }, + "siteFilterType": { + "description": "Site filter type for this event tag. If no type is specified then the event tag will be applied to all sites.", + "enum": [ + "WHITELIST", + "BLACKLIST" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "siteIds": { + "description": "Filter list of site IDs associated with this event tag. The siteFilterType determines whether this is a allowlist or blocklist filter.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "sslCompliant": { + "description": "Whether this tag is SSL-compliant or not. This is a read-only field.", + "type": "boolean" + }, + "status": { + "description": "Status of this event tag. Must be ENABLED for this event tag to fire. This is a required field.", + "enum": [ + "ENABLED", + "DISABLED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "subaccountId": { + "description": "Subaccount ID of this event tag. This is a read-only field that can be left blank.", + "format": "int64", + "type": "string" + }, + "type": { + "description": "Event tag type. Can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking. This is a required field.", + "enum": [ + "IMPRESSION_IMAGE_EVENT_TAG", + "IMPRESSION_JAVASCRIPT_EVENT_TAG", + "CLICK_THROUGH_EVENT_TAG" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "url": { + "description": "Payload URL for this event tag. The URL on a click-through event tag should have a landing page URL appended to the end of it. This field is required on insertion.", + "type": "string" + }, + "urlEscapeLevels": { + "description": "Number of times the landing page URL should be URL-escaped before being appended to the click-through event tag URL. Only applies to click-through event tags as specified by the event tag type.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "EventTagOverride": { + "description": "Event tag override information.", + "id": "EventTagOverride", + "properties": { + "enabled": { + "description": "Whether this override is enabled.", + "type": "boolean" + }, + "id": { + "description": "ID of this event tag override. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "EventTagsListResponse": { + "description": "Event Tag List Response", + "id": "EventTagsListResponse", + "properties": { + "eventTags": { + "description": "Event tag collection.", + "items": { + "$ref": "EventTag" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#eventTagsListResponse\".", + "type": "string" + } + }, + "type": "object" + }, + "File": { + "description": "Represents a File resource. A file contains the metadata for a report run. It shows the status of the run and holds the URLs to the generated report data if the run is finished and the status is \"REPORT_AVAILABLE\".", + "id": "File", + "properties": { + "dateRange": { + "$ref": "DateRange", + "description": "The date range for which the file has report data. The date range will always be the absolute date range for which the report is run." + }, + "etag": { + "description": "Etag of this resource.", + "type": "string" + }, + "fileName": { + "description": "The filename of the file.", + "type": "string" + }, + "format": { + "description": "The output format of the report. Only available once the file is available.", + "enum": [ + "CSV", + "EXCEL" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "id": { + "description": "The unique ID of this report file.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#file\".", + "type": "string" + }, + "lastModifiedTime": { + "description": "The timestamp in milliseconds since epoch when this file was last modified.", + "format": "int64", + "type": "string" + }, + "reportId": { + "description": "The ID of the report this file was generated from.", + "format": "int64", + "type": "string" + }, + "status": { + "description": "The status of the report file.", + "enum": [ + "PROCESSING", + "REPORT_AVAILABLE", + "FAILED", + "CANCELLED" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "urls": { + "description": "The URLs where the completed report file can be downloaded.", + "properties": { + "apiUrl": { + "description": "The URL for downloading the report data through the API.", + "type": "string" + }, + "browserUrl": { + "description": "The URL for downloading the report data through a browser.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "FileList": { + "description": "List of files for a report.", + "id": "FileList", + "properties": { + "etag": { + "description": "Etag of this resource.", + "type": "string" + }, + "items": { + "description": "The files returned in this response.", + "items": { + "$ref": "File" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#fileList\".", + "type": "string" + }, + "nextPageToken": { + "description": "Continuation token used to page through files. To retrieve the next page of results, set the next request's \"pageToken\" to the value of this field. The page token is only valid for a limited amount of time and should not be persisted.", + "type": "string" + } + }, + "type": "object" + }, + "Flight": { + "description": "Flight", + "id": "Flight", + "properties": { + "endDate": { + "format": "date", + "type": "string" + }, + "rateOrCost": { + "description": "Rate or cost of this flight.", + "format": "int64", + "type": "string" + }, + "startDate": { + "format": "date", + "type": "string" + }, + "units": { + "description": "Units of this flight.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "FloodlightActivitiesGenerateTagResponse": { + "description": "Floodlight Activity GenerateTag Response", + "id": "FloodlightActivitiesGenerateTagResponse", + "properties": { + "floodlightActivityTag": { + "description": "Generated tag for this Floodlight activity. For global site tags, this is the event snippet.", + "type": "string" + }, + "globalSiteTagGlobalSnippet": { + "description": "The global snippet section of a global site tag. The global site tag sets new cookies on your domain, which will store a unique identifier for a user or the ad click that brought the user to your site. Learn more.", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#floodlightActivitiesGenerateTagResponse\".", + "type": "string" + } + }, + "type": "object" + }, + "FloodlightActivitiesListResponse": { + "description": "Floodlight Activity List Response", + "id": "FloodlightActivitiesListResponse", + "properties": { + "floodlightActivities": { + "description": "Floodlight activity collection.", + "items": { + "$ref": "FloodlightActivity" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#floodlightActivitiesListResponse\".", + "type": "string" + }, + "nextPageToken": { + "description": "Pagination token to be used for the next list operation.", + "type": "string" + } + }, + "type": "object" + }, + "FloodlightActivity": { + "description": "Contains properties of a Floodlight activity.", + "id": "FloodlightActivity", + "properties": { + "accountId": { + "description": "Account ID of this floodlight activity. This is a read-only field that can be left blank.", + "format": "int64", + "type": "string" + }, + "advertiserId": { + "description": "Advertiser ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's advertiser or the existing activity's advertiser.", + "format": "int64", + "type": "string" + }, + "advertiserIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the advertiser. This is a read-only, auto-generated field." + }, + "attributionEnabled": { + "description": "Whether the activity is enabled for attribution.", + "type": "boolean" + }, + "cacheBustingType": { + "description": "Code type used for cache busting in the generated tag. Applicable only when floodlightActivityGroupType is COUNTER and countingMethod is STANDARD_COUNTING or UNIQUE_COUNTING.", + "enum": [ + "JAVASCRIPT", + "ACTIVE_SERVER_PAGE", + "JSP", + "PHP", + "COLD_FUSION" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "countingMethod": { + "description": "Counting method for conversions for this floodlight activity. This is a required field.", + "enum": [ + "STANDARD_COUNTING", + "UNIQUE_COUNTING", + "SESSION_COUNTING", + "TRANSACTIONS_COUNTING", + "ITEMS_SOLD_COUNTING" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "defaultTags": { + "description": "Dynamic floodlight tags.", + "items": { + "$ref": "FloodlightActivityDynamicTag" + }, + "type": "array" + }, + "expectedUrl": { + "description": "URL where this tag will be deployed. If specified, must be less than 256 characters long.", + "type": "string" + }, + "floodlightActivityGroupId": { + "description": "Floodlight activity group ID of this floodlight activity. This is a required field.", + "format": "int64", + "type": "string" + }, + "floodlightActivityGroupName": { + "description": "Name of the associated floodlight activity group. This is a read-only field.", + "type": "string" + }, + "floodlightActivityGroupTagString": { + "description": "Tag string of the associated floodlight activity group. This is a read-only field.", + "type": "string" + }, + "floodlightActivityGroupType": { + "description": "Type of the associated floodlight activity group. This is a read-only field.", + "enum": [ + "COUNTER", + "SALE" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "floodlightConfigurationId": { + "description": "Floodlight configuration ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's floodlight configuration or from the existing activity's floodlight configuration.", + "format": "int64", + "type": "string" + }, + "floodlightConfigurationIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field." + }, + "floodlightTagType": { + "description": "The type of Floodlight tag this activity will generate. This is a required field.", + "enum": [ + "IFRAME", + "IMAGE", + "GLOBAL_SITE_TAG" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "id": { + "description": "ID of this floodlight activity. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + }, + "idDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of this floodlight activity. This is a read-only, auto-generated field." + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#floodlightActivity\".", + "type": "string" + }, + "name": { + "description": "Name of this floodlight activity. This is a required field. Must be less than 129 characters long and cannot contain quotes.", + "type": "string" + }, + "notes": { + "description": "General notes or implementation instructions for the tag.", + "type": "string" + }, + "publisherTags": { + "description": "Publisher dynamic floodlight tags.", + "items": { + "$ref": "FloodlightActivityPublisherDynamicTag" + }, + "type": "array" + }, + "secure": { + "description": "Whether this tag should use SSL.", + "type": "boolean" + }, + "sslCompliant": { + "description": "Whether the floodlight activity is SSL-compliant. This is a read-only field, its value detected by the system from the floodlight tags.", + "type": "boolean" + }, + "sslRequired": { + "description": "Whether this floodlight activity must be SSL-compliant.", + "type": "boolean" + }, + "status": { + "description": "The status of the activity. This can only be set to ACTIVE or ARCHIVED_AND_DISABLED. The ARCHIVED status is no longer supported and cannot be set for Floodlight activities. The DISABLED_POLICY status indicates that a Floodlight activity is violating Google policy. Contact your account manager for more information.", + "enum": [ + "ACTIVE", + "ARCHIVED_AND_DISABLED", + "ARCHIVED", + "DISABLED_POLICY" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "subaccountId": { + "description": "Subaccount ID of this floodlight activity. This is a read-only field that can be left blank.", + "format": "int64", + "type": "string" + }, + "tagFormat": { + "description": "Tag format type for the floodlight activity. If left blank, the tag format will default to HTML.", + "enum": [ + "HTML", + "XHTML" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "tagString": { + "description": "Value of the cat= parameter in the floodlight tag, which the ad servers use to identify the activity. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being a-z0-9[ _ ]. This tag string must also be unique among activities of the same activity group. This field is read-only after insertion.", + "type": "string" + }, + "userDefinedVariableTypes": { + "description": "List of the user-defined variables used by this conversion tag. These map to the \"u[1-100]=\" in the tags. Each of these can have a user defined type. Acceptable values are U1 to U100, inclusive. ", + "items": { + "enum": [ + "U1", + "U2", + "U3", + "U4", + "U5", + "U6", + "U7", + "U8", + "U9", + "U10", + "U11", + "U12", + "U13", + "U14", + "U15", + "U16", + "U17", + "U18", + "U19", + "U20", + "U21", + "U22", + "U23", + "U24", + "U25", + "U26", + "U27", + "U28", + "U29", + "U30", + "U31", + "U32", + "U33", + "U34", + "U35", + "U36", + "U37", + "U38", + "U39", + "U40", + "U41", + "U42", + "U43", + "U44", + "U45", + "U46", + "U47", + "U48", + "U49", + "U50", + "U51", + "U52", + "U53", + "U54", + "U55", + "U56", + "U57", + "U58", + "U59", + "U60", + "U61", + "U62", + "U63", + "U64", + "U65", + "U66", + "U67", + "U68", + "U69", + "U70", + "U71", + "U72", + "U73", + "U74", + "U75", + "U76", + "U77", + "U78", + "U79", + "U80", + "U81", + "U82", + "U83", + "U84", + "U85", + "U86", + "U87", + "U88", + "U89", + "U90", + "U91", + "U92", + "U93", + "U94", + "U95", + "U96", + "U97", + "U98", + "U99", + "U100" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "FloodlightActivityDynamicTag": { + "description": "Dynamic Tag", + "id": "FloodlightActivityDynamicTag", + "properties": { + "id": { + "description": "ID of this dynamic tag. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "Name of this tag.", + "type": "string" + }, + "tag": { + "description": "Tag code.", + "type": "string" + } + }, + "type": "object" + }, + "FloodlightActivityGroup": { + "description": "Contains properties of a Floodlight activity group.", + "id": "FloodlightActivityGroup", + "properties": { + "accountId": { + "description": "Account ID of this floodlight activity group. This is a read-only field that can be left blank.", + "format": "int64", + "type": "string" + }, + "advertiserId": { + "description": "Advertiser ID of this floodlight activity group. If this field is left blank, the value will be copied over either from the floodlight configuration's advertiser or from the existing activity group's advertiser.", + "format": "int64", + "type": "string" + }, + "advertiserIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the advertiser. This is a read-only, auto-generated field." + }, + "floodlightConfigurationId": { + "description": "Floodlight configuration ID of this floodlight activity group. This is a required field.", + "format": "int64", + "type": "string" + }, + "floodlightConfigurationIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field." + }, + "id": { + "description": "ID of this floodlight activity group. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + }, + "idDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of this floodlight activity group. This is a read-only, auto-generated field." + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#floodlightActivityGroup\".", + "type": "string" + }, + "name": { + "description": "Name of this floodlight activity group. This is a required field. Must be less than 65 characters long and cannot contain quotes.", + "type": "string" + }, + "subaccountId": { + "description": "Subaccount ID of this floodlight activity group. This is a read-only field that can be left blank.", + "format": "int64", + "type": "string" + }, + "tagString": { + "description": "Value of the type= parameter in the floodlight tag, which the ad servers use to identify the activity group that the activity belongs to. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being a-z0-9[ _ ]. This tag string must also be unique among activity groups of the same floodlight configuration. This field is read-only after insertion.", + "type": "string" + }, + "type": { + "description": "Type of the floodlight activity group. This is a required field that is read-only after insertion.", + "enum": [ + "COUNTER", + "SALE" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "FloodlightActivityGroupsListResponse": { + "description": "Floodlight Activity Group List Response", + "id": "FloodlightActivityGroupsListResponse", + "properties": { + "floodlightActivityGroups": { + "description": "Floodlight activity group collection.", + "items": { + "$ref": "FloodlightActivityGroup" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#floodlightActivityGroupsListResponse\".", + "type": "string" + }, + "nextPageToken": { + "description": "Pagination token to be used for the next list operation.", + "type": "string" + } + }, + "type": "object" + }, + "FloodlightActivityPublisherDynamicTag": { + "description": "Publisher Dynamic Tag", + "id": "FloodlightActivityPublisherDynamicTag", + "properties": { + "clickThrough": { + "description": "Whether this tag is applicable only for click-throughs.", + "type": "boolean" + }, + "directorySiteId": { + "description": "Directory site ID of this dynamic tag. This is a write-only field that can be used as an alternative to the siteId field. When this resource is retrieved, only the siteId field will be populated.", + "format": "int64", + "type": "string" + }, + "dynamicTag": { + "$ref": "FloodlightActivityDynamicTag", + "description": "Dynamic floodlight tag." + }, + "siteId": { + "description": "Site ID of this dynamic tag.", + "format": "int64", + "type": "string" + }, + "siteIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the site. This is a read-only, auto-generated field." + }, + "viewThrough": { + "description": "Whether this tag is applicable only for view-throughs.", + "type": "boolean" + } + }, + "type": "object" + }, + "FloodlightConfiguration": { + "description": "Contains properties of a Floodlight configuration.", + "id": "FloodlightConfiguration", + "properties": { + "accountId": { + "description": "Account ID of this floodlight configuration. This is a read-only field that can be left blank.", + "format": "int64", + "type": "string" + }, + "advertiserId": { + "description": "Advertiser ID of the parent advertiser of this floodlight configuration.", + "format": "int64", + "type": "string" + }, + "advertiserIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the advertiser. This is a read-only, auto-generated field." + }, + "analyticsDataSharingEnabled": { + "description": "Whether advertiser data is shared with Google Analytics.", + "type": "boolean" + }, + "customViewabilityMetric": { + "$ref": "CustomViewabilityMetric", + "description": "Custom Viewability metric for the floodlight configuration." + }, + "exposureToConversionEnabled": { + "description": "Whether the exposure-to-conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.", + "type": "boolean" + }, + "firstDayOfWeek": { + "description": "Day that will be counted as the first day of the week in reports. This is a required field.", + "enum": [ + "MONDAY", + "SUNDAY" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "id": { + "description": "ID of this floodlight configuration. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + }, + "idDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of this floodlight configuration. This is a read-only, auto-generated field." + }, + "inAppAttributionTrackingEnabled": { + "description": "Whether in-app attribution tracking is enabled.", + "type": "boolean" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#floodlightConfiguration\".", + "type": "string" + }, + "lookbackConfiguration": { + "$ref": "LookbackConfiguration", + "description": "Lookback window settings for this floodlight configuration." + }, + "naturalSearchConversionAttributionOption": { + "description": "Types of attribution options for natural search conversions.", + "enum": [ + "EXCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION", + "INCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION", + "INCLUDE_NATURAL_SEARCH_TIERED_CONVERSION_ATTRIBUTION" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "omnitureSettings": { + "$ref": "OmnitureSettings", + "description": "Settings for Campaign Manager Omniture integration." + }, + "subaccountId": { + "description": "Subaccount ID of this floodlight configuration. This is a read-only field that can be left blank.", + "format": "int64", + "type": "string" + }, + "tagSettings": { + "$ref": "TagSettings", + "description": "Configuration settings for dynamic and image floodlight tags." + }, + "thirdPartyAuthenticationTokens": { + "description": "List of third-party authentication tokens enabled for this configuration.", + "items": { + "$ref": "ThirdPartyAuthenticationToken" + }, + "type": "array" + }, + "userDefinedVariableConfigurations": { + "description": "List of user defined variables enabled for this configuration.", + "items": { + "$ref": "UserDefinedVariableConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "FloodlightConfigurationsListResponse": { + "description": "Floodlight Configuration List Response", + "id": "FloodlightConfigurationsListResponse", + "properties": { + "floodlightConfigurations": { + "description": "Floodlight configuration collection.", + "items": { + "$ref": "FloodlightConfiguration" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#floodlightConfigurationsListResponse\".", + "type": "string" + } + }, + "type": "object" + }, + "FloodlightReportCompatibleFields": { + "description": "Represents fields that are compatible to be selected for a report of type \"FlOODLIGHT\".", + "id": "FloodlightReportCompatibleFields", + "properties": { + "dimensionFilters": { + "description": "Dimensions which are compatible to be selected in the \"dimensionFilters\" section of the report.", + "items": { + "$ref": "Dimension" + }, + "type": "array" + }, + "dimensions": { + "description": "Dimensions which are compatible to be selected in the \"dimensions\" section of the report.", + "items": { + "$ref": "Dimension" + }, + "type": "array" + }, + "kind": { + "description": "The kind of resource this is, in this case dfareporting#floodlightReportCompatibleFields.", + "type": "string" + }, + "metrics": { + "description": "Metrics which are compatible to be selected in the \"metricNames\" section of the report.", + "items": { + "$ref": "Metric" + }, + "type": "array" + } + }, + "type": "object" + }, + "FrequencyCap": { + "description": "Frequency Cap.", + "id": "FrequencyCap", + "properties": { + "duration": { + "description": "Duration of time, in seconds, for this frequency cap. The maximum duration is 90 days. Acceptable values are 1 to 7776000, inclusive.", + "format": "int64", + "type": "string" + }, + "impressions": { + "description": "Number of times an individual user can be served the ad within the specified duration. Acceptable values are 1 to 15, inclusive.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "FsCommand": { + "description": "FsCommand.", + "id": "FsCommand", + "properties": { + "left": { + "description": "Distance from the left of the browser.Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.", + "format": "int32", + "type": "integer" + }, + "positionOption": { + "description": "Position in the browser where the window will open.", + "enum": [ + "CENTERED", + "DISTANCE_FROM_TOP_LEFT_CORNER" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "top": { + "description": "Distance from the top of the browser. Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.", + "format": "int32", + "type": "integer" + }, + "windowHeight": { + "description": "Height of the window.", + "format": "int32", + "type": "integer" + }, + "windowWidth": { + "description": "Width of the window.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GeoTargeting": { + "description": "Geographical Targeting.", + "id": "GeoTargeting", + "properties": { + "cities": { + "description": "Cities to be targeted. For each city only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a city, do not target or exclude the country of the city, and do not target the metro or region of the city.", + "items": { + "$ref": "City" + }, + "type": "array" + }, + "countries": { + "description": "Countries to be targeted or excluded from targeting, depending on the setting of the excludeCountries field. For each country only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting or excluding a country, do not target regions, cities, metros, or postal codes in the same country.", + "items": { + "$ref": "Country" + }, + "type": "array" + }, + "excludeCountries": { + "description": "Whether or not to exclude the countries in the countries field from targeting. If false, the countries field refers to countries which will be targeted by the ad.", + "type": "boolean" + }, + "metros": { + "description": "Metros to be targeted. For each metro only dmaId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a metro, do not target or exclude the country of the metro.", + "items": { + "$ref": "Metro" + }, + "type": "array" + }, + "postalCodes": { + "description": "Postal codes to be targeted. For each postal code only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a postal code, do not target or exclude the country of the postal code.", + "items": { + "$ref": "PostalCode" + }, + "type": "array" + }, + "regions": { + "description": "Regions to be targeted. For each region only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a region, do not target or exclude the country of the region.", + "items": { + "$ref": "Region" + }, + "type": "array" + } + }, + "type": "object" + }, + "InventoryItem": { + "description": "Represents a buy from the Planning inventory store.", + "id": "InventoryItem", + "properties": { + "accountId": { + "description": "Account ID of this inventory item.", + "format": "int64", + "type": "string" + }, + "adSlots": { + "description": "Ad slots of this inventory item. If this inventory item represents a standalone placement, there will be exactly one ad slot. If this inventory item represents a placement group, there will be more than one ad slot, each representing one child placement in that placement group.", + "items": { + "$ref": "AdSlot" + }, + "type": "array" + }, + "advertiserId": { + "description": "Advertiser ID of this inventory item.", + "format": "int64", + "type": "string" + }, + "contentCategoryId": { + "description": "Content category ID of this inventory item.", + "format": "int64", + "type": "string" + }, + "estimatedClickThroughRate": { + "description": "Estimated click-through rate of this inventory item.", + "format": "int64", + "type": "string" + }, + "estimatedConversionRate": { + "description": "Estimated conversion rate of this inventory item.", + "format": "int64", + "type": "string" + }, + "id": { + "description": "ID of this inventory item.", + "format": "int64", + "type": "string" + }, + "inPlan": { + "description": "Whether this inventory item is in plan.", + "type": "boolean" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#inventoryItem\".", + "type": "string" + }, + "lastModifiedInfo": { + "$ref": "LastModifiedInfo", + "description": "Information about the most recent modification of this inventory item." + }, + "name": { + "description": "Name of this inventory item. For standalone inventory items, this is the same name as that of its only ad slot. For group inventory items, this can differ from the name of any of its ad slots.", + "type": "string" + }, + "negotiationChannelId": { + "description": "Negotiation channel ID of this inventory item.", + "format": "int64", + "type": "string" + }, + "orderId": { + "description": "Order ID of this inventory item.", + "format": "int64", + "type": "string" + }, + "placementStrategyId": { + "description": "Placement strategy ID of this inventory item.", + "format": "int64", + "type": "string" + }, + "pricing": { + "$ref": "Pricing", + "description": "Pricing of this inventory item." + }, + "projectId": { + "description": "Project ID of this inventory item.", + "format": "int64", + "type": "string" + }, + "rfpId": { + "description": "RFP ID of this inventory item.", + "format": "int64", + "type": "string" + }, + "siteId": { + "description": "ID of the site this inventory item is associated with.", + "format": "int64", + "type": "string" + }, + "subaccountId": { + "description": "Subaccount ID of this inventory item.", + "format": "int64", + "type": "string" + }, + "type": { + "description": "Type of inventory item.", + "enum": [ + "PLANNING_PLACEMENT_TYPE_REGULAR", + "PLANNING_PLACEMENT_TYPE_CREDIT" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "InventoryItemsListResponse": { + "description": "Inventory item List Response", + "id": "InventoryItemsListResponse", + "properties": { + "inventoryItems": { + "description": "Inventory item collection", + "items": { + "$ref": "InventoryItem" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#inventoryItemsListResponse\".", + "type": "string" + }, + "nextPageToken": { + "description": "Pagination token to be used for the next list operation.", + "type": "string" + } + }, + "type": "object" + }, + "KeyValueTargetingExpression": { + "description": "Key Value Targeting Expression.", + "id": "KeyValueTargetingExpression", + "properties": { + "expression": { + "description": "Keyword expression being targeted by the ad.", + "type": "string" + } + }, + "type": "object" + }, + "LandingPage": { + "description": "Contains information about where a user's browser is taken after the user clicks an ad.", + "id": "LandingPage", + "properties": { + "advertiserId": { + "description": "Advertiser ID of this landing page. This is a required field.", + "format": "int64", + "type": "string" + }, + "archived": { + "description": "Whether this landing page has been archived.", + "type": "boolean" + }, + "deepLinks": { + "description": "Links that will direct the user to a mobile app, if installed.", + "items": { + "$ref": "DeepLink" + }, + "type": "array" + }, + "id": { + "description": "ID of this landing page. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#landingPage\".", + "type": "string" + }, + "name": { + "description": "Name of this landing page. This is a required field. It must be less than 256 characters long.", + "type": "string" + }, + "url": { + "description": "URL of this landing page. This is a required field.", + "type": "string" + } + }, + "type": "object" + }, + "Language": { + "description": "Contains information about a language that can be targeted by ads.", + "id": "Language", + "properties": { + "id": { + "description": "Language ID of this language. This is the ID used for targeting and generating reports.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#language\".", + "type": "string" + }, + "languageCode": { + "description": "Format of language code is an ISO 639 two-letter language code optionally followed by an underscore followed by an ISO 3166 code. Examples are \"en\" for English or \"zh_CN\" for Simplified Chinese.", + "type": "string" + }, + "name": { + "description": "Name of this language.", + "type": "string" + } + }, + "type": "object" + }, + "LanguageTargeting": { + "description": "Language Targeting.", + "id": "LanguageTargeting", + "properties": { + "languages": { + "description": "Languages that this ad targets. For each language only languageId is required. The other fields are populated automatically when the ad is inserted or updated.", + "items": { + "$ref": "Language" + }, + "type": "array" + } + }, + "type": "object" + }, + "LanguagesListResponse": { + "description": "Language List Response", + "id": "LanguagesListResponse", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#languagesListResponse\".", + "type": "string" + }, + "languages": { + "description": "Language collection.", + "items": { + "$ref": "Language" + }, + "type": "array" + } + }, + "type": "object" + }, + "LastModifiedInfo": { + "description": "Modification timestamp.", + "id": "LastModifiedInfo", + "properties": { + "time": { + "description": "Timestamp of the last change in milliseconds since epoch.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ListPopulationClause": { + "description": "A group clause made up of list population terms representing constraints joined by ORs.", + "id": "ListPopulationClause", + "properties": { + "terms": { + "description": "Terms of this list population clause. Each clause is made up of list population terms representing constraints and are joined by ORs.", + "items": { + "$ref": "ListPopulationTerm" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListPopulationRule": { + "description": "Remarketing List Population Rule.", + "id": "ListPopulationRule", + "properties": { + "floodlightActivityId": { + "description": "Floodlight activity ID associated with this rule. This field can be left blank.", + "format": "int64", + "type": "string" + }, + "floodlightActivityName": { + "description": "Name of floodlight activity associated with this rule. This is a read-only, auto-generated field.", + "type": "string" + }, + "listPopulationClauses": { + "description": "Clauses that make up this list population rule. Clauses are joined by ANDs, and the clauses themselves are made up of list population terms which are joined by ORs.", + "items": { + "$ref": "ListPopulationClause" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListPopulationTerm": { + "description": "Remarketing List Population Rule Term.", + "id": "ListPopulationTerm", + "properties": { + "contains": { + "description": "Will be true if the term should check if the user is in the list and false if the term should check if the user is not in the list. This field is only relevant when type is set to LIST_MEMBERSHIP_TERM. False by default.", + "type": "boolean" + }, + "negation": { + "description": "Whether to negate the comparison result of this term during rule evaluation. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.", + "type": "boolean" + }, + "operator": { + "description": "Comparison operator of this term. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.", + "enum": [ + "NUM_EQUALS", + "NUM_LESS_THAN", + "NUM_LESS_THAN_EQUAL", + "NUM_GREATER_THAN", + "NUM_GREATER_THAN_EQUAL", + "STRING_EQUALS", + "STRING_CONTAINS" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "remarketingListId": { + "description": "ID of the list in question. This field is only relevant when type is set to LIST_MEMBERSHIP_TERM.", + "format": "int64", + "type": "string" + }, + "type": { + "description": "List population term type determines the applicable fields in this object. If left unset or set to CUSTOM_VARIABLE_TERM, then variableName, variableFriendlyName, operator, value, and negation are applicable. If set to LIST_MEMBERSHIP_TERM then remarketingListId and contains are applicable. If set to REFERRER_TERM then operator, value, and negation are applicable.", + "enum": [ + "CUSTOM_VARIABLE_TERM", + "LIST_MEMBERSHIP_TERM", + "REFERRER_TERM" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "value": { + "description": "Literal to compare the variable to. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.", + "type": "string" + }, + "variableFriendlyName": { + "description": "Friendly name of this term's variable. This is a read-only, auto-generated field. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM.", + "type": "string" + }, + "variableName": { + "description": "Name of the variable (U1, U2, etc.) being compared in this term. This field is only relevant when type is set to null, CUSTOM_VARIABLE_TERM or REFERRER_TERM.", + "type": "string" + } + }, + "type": "object" + }, + "ListTargetingExpression": { + "description": "Remarketing List Targeting Expression.", + "id": "ListTargetingExpression", + "properties": { + "expression": { + "description": "Expression describing which lists are being targeted by the ad.", + "type": "string" + } + }, + "type": "object" + }, + "LookbackConfiguration": { + "description": "Lookback configuration settings.", + "id": "LookbackConfiguration", + "properties": { + "clickDuration": { + "description": "Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used. Acceptable values are 0 to 90, inclusive.", + "format": "int32", + "type": "integer" + }, + "postImpressionActivitiesDuration": { + "description": "Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used. Acceptable values are 0 to 90, inclusive.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Metric": { + "description": "Represents a metric.", + "id": "Metric", + "properties": { + "kind": { + "description": "The kind of resource this is, in this case dfareporting#metric.", + "type": "string" + }, + "name": { + "description": "The metric name, e.g. dfa:impressions", + "type": "string" + } + }, + "type": "object" + }, + "Metro": { + "description": "Contains information about a metro region that can be targeted by ads.", + "id": "Metro", + "properties": { + "countryCode": { + "description": "Country code of the country to which this metro region belongs.", + "type": "string" + }, + "countryDartId": { + "description": "DART ID of the country to which this metro region belongs.", + "format": "int64", + "type": "string" + }, + "dartId": { + "description": "DART ID of this metro region.", + "format": "int64", + "type": "string" + }, + "dmaId": { + "description": "DMA ID of this metro region. This is the ID used for targeting and generating reports, and is equivalent to metro_code.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#metro\".", + "type": "string" + }, + "metroCode": { + "description": "Metro code of this metro region. This is equivalent to dma_id.", + "type": "string" + }, + "name": { + "description": "Name of this metro region.", + "type": "string" + } + }, + "type": "object" + }, + "MetrosListResponse": { + "description": "Metro List Response", + "id": "MetrosListResponse", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#metrosListResponse\".", + "type": "string" + }, + "metros": { + "description": "Metro collection.", + "items": { + "$ref": "Metro" + }, + "type": "array" + } + }, + "type": "object" + }, + "MobileApp": { + "description": "Contains information about a mobile app. Used as a landing page deep link.", + "id": "MobileApp", + "properties": { + "directory": { + "description": "Mobile app directory.", + "enum": [ + "UNKNOWN", + "APPLE_APP_STORE", + "GOOGLE_PLAY_STORE" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "id": { + "description": "ID of this mobile app.", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#mobileApp\".", + "type": "string" + }, + "publisherName": { + "description": "Publisher name.", + "type": "string" + }, + "title": { + "description": "Title of this mobile app.", + "type": "string" + } + }, + "type": "object" + }, + "MobileAppsListResponse": { + "description": "Mobile app List Response", + "id": "MobileAppsListResponse", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#mobileAppsListResponse\".", + "type": "string" + }, + "mobileApps": { + "description": "Mobile apps collection.", + "items": { + "$ref": "MobileApp" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Pagination token to be used for the next list operation.", + "type": "string" + } + }, + "type": "object" + }, + "MobileCarrier": { + "description": "Contains information about a mobile carrier that can be targeted by ads.", + "id": "MobileCarrier", + "properties": { + "countryCode": { + "description": "Country code of the country to which this mobile carrier belongs.", + "type": "string" + }, + "countryDartId": { + "description": "DART ID of the country to which this mobile carrier belongs.", + "format": "int64", + "type": "string" + }, + "id": { + "description": "ID of this mobile carrier.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#mobileCarrier\".", + "type": "string" + }, + "name": { + "description": "Name of this mobile carrier.", + "type": "string" + } + }, + "type": "object" + }, + "MobileCarriersListResponse": { + "description": "Mobile Carrier List Response", + "id": "MobileCarriersListResponse", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#mobileCarriersListResponse\".", + "type": "string" + }, + "mobileCarriers": { + "description": "Mobile carrier collection.", + "items": { + "$ref": "MobileCarrier" + }, + "type": "array" + } + }, + "type": "object" + }, + "ObaIcon": { + "description": "Online Behavioral Advertiser icon.", + "id": "ObaIcon", + "properties": { + "iconClickThroughUrl": { + "description": "URL to redirect to when an OBA icon is clicked.", + "type": "string" + }, + "iconClickTrackingUrl": { + "description": "URL to track click when an OBA icon is clicked.", + "type": "string" + }, + "iconViewTrackingUrl": { + "description": "URL to track view when an OBA icon is clicked.", + "type": "string" + }, + "program": { + "description": "Identifies the industry initiative that the icon supports. For example, AdChoices.", + "type": "string" + }, + "resourceUrl": { + "description": "OBA icon resource URL. Campaign Manager only supports image and JavaScript icons. Learn more", + "type": "string" + }, + "size": { + "$ref": "Size", + "description": "OBA icon size." + }, + "xPosition": { + "description": "OBA icon x coordinate position. Accepted values are left or right.", + "type": "string" + }, + "yPosition": { + "description": "OBA icon y coordinate position. Accepted values are top or bottom.", + "type": "string" + } + }, + "type": "object" + }, + "ObjectFilter": { + "description": "Object Filter.", + "id": "ObjectFilter", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#objectFilter\".", + "type": "string" + }, + "objectIds": { + "description": "Applicable when status is ASSIGNED. The user has access to objects with these object IDs.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "status": { + "description": "Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.", + "enum": [ + "NONE", + "ASSIGNED", + "ALL" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "OffsetPosition": { + "description": "Offset Position.", + "id": "OffsetPosition", + "properties": { + "left": { + "description": "Offset distance from left side of an asset or a window.", + "format": "int32", + "type": "integer" + }, + "top": { + "description": "Offset distance from top side of an asset or a window.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "OmnitureSettings": { + "description": "Omniture Integration Settings.", + "id": "OmnitureSettings", + "properties": { + "omnitureCostDataEnabled": { + "description": "Whether placement cost data will be sent to Omniture. This property can be enabled only if omnitureIntegrationEnabled is true.", + "type": "boolean" + }, + "omnitureIntegrationEnabled": { + "description": "Whether Omniture integration is enabled. This property can be enabled only when the \"Advanced Ad Serving\" account setting is enabled.", + "type": "boolean" + } + }, + "type": "object" + }, + "OperatingSystem": { + "description": "Contains information about an operating system that can be targeted by ads.", + "id": "OperatingSystem", + "properties": { + "dartId": { + "description": "DART ID of this operating system. This is the ID used for targeting.", + "format": "int64", + "type": "string" + }, + "desktop": { + "description": "Whether this operating system is for desktop.", + "type": "boolean" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#operatingSystem\".", + "type": "string" + }, + "mobile": { + "description": "Whether this operating system is for mobile.", + "type": "boolean" + }, + "name": { + "description": "Name of this operating system.", + "type": "string" + } + }, + "type": "object" + }, + "OperatingSystemVersion": { + "description": "Contains information about a particular version of an operating system that can be targeted by ads.", + "id": "OperatingSystemVersion", + "properties": { + "id": { + "description": "ID of this operating system version.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#operatingSystemVersion\".", + "type": "string" + }, + "majorVersion": { + "description": "Major version (leftmost number) of this operating system version.", + "type": "string" + }, + "minorVersion": { + "description": "Minor version (number after the first dot) of this operating system version.", + "type": "string" + }, + "name": { + "description": "Name of this operating system version.", + "type": "string" + }, + "operatingSystem": { + "$ref": "OperatingSystem", + "description": "Operating system of this operating system version." + } + }, + "type": "object" + }, + "OperatingSystemVersionsListResponse": { + "description": "Operating System Version List Response", + "id": "OperatingSystemVersionsListResponse", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#operatingSystemVersionsListResponse\".", + "type": "string" + }, + "operatingSystemVersions": { + "description": "Operating system version collection.", + "items": { + "$ref": "OperatingSystemVersion" + }, + "type": "array" + } + }, + "type": "object" + }, + "OperatingSystemsListResponse": { + "description": "Operating System List Response", + "id": "OperatingSystemsListResponse", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#operatingSystemsListResponse\".", + "type": "string" + }, + "operatingSystems": { + "description": "Operating system collection.", + "items": { + "$ref": "OperatingSystem" + }, + "type": "array" + } + }, + "type": "object" + }, + "OptimizationActivity": { + "description": "Creative optimization activity.", + "id": "OptimizationActivity", + "properties": { + "floodlightActivityId": { + "description": "Floodlight activity ID of this optimization activity. This is a required field.", + "format": "int64", + "type": "string" + }, + "floodlightActivityIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field." + }, + "weight": { + "description": "Weight associated with this optimization. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities. Value must be greater than or equal to 1.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Order": { + "description": "Describes properties of a Planning order.", + "id": "Order", + "properties": { + "accountId": { + "description": "Account ID of this order.", + "format": "int64", + "type": "string" + }, + "advertiserId": { + "description": "Advertiser ID of this order.", + "format": "int64", + "type": "string" + }, + "approverUserProfileIds": { + "description": "IDs for users that have to approve documents created for this order.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "buyerInvoiceId": { + "description": "Buyer invoice ID associated with this order.", + "type": "string" + }, + "buyerOrganizationName": { + "description": "Name of the buyer organization.", + "type": "string" + }, + "comments": { + "description": "Comments in this order.", + "type": "string" + }, + "contacts": { + "description": "Contacts for this order.", + "items": { + "$ref": "OrderContact" + }, + "type": "array" + }, + "id": { + "description": "ID of this order. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#order\".", + "type": "string" + }, + "lastModifiedInfo": { + "$ref": "LastModifiedInfo", + "description": "Information about the most recent modification of this order." + }, + "name": { + "description": "Name of this order.", + "type": "string" + }, + "notes": { + "description": "Notes of this order.", + "type": "string" + }, + "planningTermId": { + "description": "ID of the terms and conditions template used in this order.", + "format": "int64", + "type": "string" + }, + "projectId": { + "description": "Project ID of this order.", + "format": "int64", + "type": "string" + }, + "sellerOrderId": { + "description": "Seller order ID associated with this order.", + "type": "string" + }, + "sellerOrganizationName": { + "description": "Name of the seller organization.", + "type": "string" + }, + "siteId": { + "description": "Site IDs this order is associated with.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "siteNames": { + "description": "Free-form site names this order is associated with.", + "items": { + "type": "string" + }, + "type": "array" + }, + "subaccountId": { + "description": "Subaccount ID of this order.", + "format": "int64", + "type": "string" + }, + "termsAndConditions": { + "description": "Terms and conditions of this order.", + "type": "string" + } + }, + "type": "object" + }, + "OrderContact": { + "description": "Contact of an order.", + "id": "OrderContact", + "properties": { + "contactInfo": { + "description": "Free-form information about this contact. It could be any information related to this contact in addition to type, title, name, and signature user profile ID.", + "type": "string" + }, + "contactName": { + "description": "Name of this contact.", + "type": "string" + }, + "contactTitle": { + "description": "Title of this contact.", + "type": "string" + }, + "contactType": { + "description": "Type of this contact.", + "enum": [ + "PLANNING_ORDER_CONTACT_BUYER_CONTACT", + "PLANNING_ORDER_CONTACT_BUYER_BILLING_CONTACT", + "PLANNING_ORDER_CONTACT_SELLER_CONTACT" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "signatureUserProfileId": { + "description": "ID of the user profile containing the signature that will be embedded into order documents.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "OrderDocument": { + "description": "Contains properties of a Planning order document.", + "id": "OrderDocument", + "properties": { + "accountId": { + "description": "Account ID of this order document.", + "format": "int64", + "type": "string" + }, + "advertiserId": { + "description": "Advertiser ID of this order document.", + "format": "int64", + "type": "string" + }, + "amendedOrderDocumentId": { + "description": "The amended order document ID of this order document. An order document can be created by optionally amending another order document so that the change history can be preserved.", + "format": "int64", + "type": "string" + }, + "approvedByUserProfileIds": { + "description": "IDs of users who have approved this order document.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "cancelled": { + "description": "Whether this order document is cancelled.", + "type": "boolean" + }, + "createdInfo": { + "$ref": "LastModifiedInfo", + "description": "Information about the creation of this order document." + }, + "effectiveDate": { + "format": "date", + "type": "string" + }, + "id": { + "description": "ID of this order document.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#orderDocument\".", + "type": "string" + }, + "lastSentRecipients": { + "description": "List of email addresses that received the last sent document.", + "items": { + "type": "string" + }, + "type": "array" + }, + "lastSentTime": { + "format": "date-time", + "type": "string" + }, + "orderId": { + "description": "ID of the order from which this order document is created.", + "format": "int64", + "type": "string" + }, + "projectId": { + "description": "Project ID of this order document.", + "format": "int64", + "type": "string" + }, + "signed": { + "description": "Whether this order document has been signed.", + "type": "boolean" + }, + "subaccountId": { + "description": "Subaccount ID of this order document.", + "format": "int64", + "type": "string" + }, + "title": { + "description": "Title of this order document.", + "type": "string" + }, + "type": { + "description": "Type of this order document", + "enum": [ + "PLANNING_ORDER_TYPE_INSERTION_ORDER", + "PLANNING_ORDER_TYPE_CHANGE_ORDER" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "OrderDocumentsListResponse": { + "description": "Order document List Response", + "id": "OrderDocumentsListResponse", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#orderDocumentsListResponse\".", + "type": "string" + }, + "nextPageToken": { + "description": "Pagination token to be used for the next list operation.", + "type": "string" + }, + "orderDocuments": { + "description": "Order document collection", + "items": { + "$ref": "OrderDocument" + }, + "type": "array" + } + }, + "type": "object" + }, + "OrdersListResponse": { + "description": "Order List Response", + "id": "OrdersListResponse", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#ordersListResponse\".", + "type": "string" + }, + "nextPageToken": { + "description": "Pagination token to be used for the next list operation.", + "type": "string" + }, + "orders": { + "description": "Order collection.", + "items": { + "$ref": "Order" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathFilter": { + "description": "Represents a DfaReporting path filter.", + "id": "PathFilter", + "properties": { + "eventFilters": { + "description": "Event filters in path report.", + "items": { + "$ref": "EventFilter" + }, + "type": "array" + }, + "kind": { + "description": "The kind of resource this is, in this case dfareporting#pathFilter.", + "type": "string" + }, + "pathMatchPosition": { + "description": "Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.", + "enum": [ + "PATH_MATCH_POSITION_UNSPECIFIED", + "ANY", + "FIRST", + "LAST" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "PathReportCompatibleFields": { + "description": "Represents fields that are compatible to be selected for a report of type \"PATH\".", + "id": "PathReportCompatibleFields", + "properties": { + "channelGroupings": { + "description": "Dimensions which are compatible to be selected in the \"channelGroupings\" section of the report.", + "items": { + "$ref": "Dimension" + }, + "type": "array" + }, + "dimensions": { + "description": "Dimensions which are compatible to be selected in the \"dimensions\" section of the report.", + "items": { + "$ref": "Dimension" + }, + "type": "array" + }, + "kind": { + "description": "The kind of resource this is, in this case dfareporting#pathReportCompatibleFields.", + "type": "string" + }, + "metrics": { + "description": "Metrics which are compatible to be selected in the \"metricNames\" section of the report.", + "items": { + "$ref": "Metric" + }, + "type": "array" + }, + "pathFilters": { + "description": "Dimensions which are compatible to be selected in the \"pathFilters\" section of the report.", + "items": { + "$ref": "Dimension" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathReportDimensionValue": { + "description": "Represents a PathReportDimensionValue resource.", + "id": "PathReportDimensionValue", + "properties": { + "dimensionName": { + "description": "The name of the dimension.", + "type": "string" + }, + "ids": { + "description": "The possible ID's associated with the value if available.", + "items": { + "type": "string" + }, + "type": "array" + }, + "kind": { + "description": "The kind of resource this is, in this case dfareporting#pathReportDimensionValue.", + "type": "string" + }, + "matchType": { + "description": "Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.", + "enum": [ + "EXACT", + "BEGINS_WITH", + "CONTAINS", + "WILDCARD_EXPRESSION" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "values": { + "description": "The possible values of the dimension.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathToConversionReportCompatibleFields": { + "description": "Represents fields that are compatible to be selected for a report of type \"PATH_TO_CONVERSION\".", + "id": "PathToConversionReportCompatibleFields", + "properties": { + "conversionDimensions": { + "description": "Conversion dimensions which are compatible to be selected in the \"conversionDimensions\" section of the report.", + "items": { + "$ref": "Dimension" + }, + "type": "array" + }, + "customFloodlightVariables": { + "description": "Custom floodlight variables which are compatible to be selected in the \"customFloodlightVariables\" section of the report.", + "items": { + "$ref": "Dimension" + }, + "type": "array" + }, + "kind": { + "description": "The kind of resource this is, in this case dfareporting#pathToConversionReportCompatibleFields.", + "type": "string" + }, + "metrics": { + "description": "Metrics which are compatible to be selected in the \"metricNames\" section of the report.", + "items": { + "$ref": "Metric" + }, + "type": "array" + }, + "perInteractionDimensions": { + "description": "Per-interaction dimensions which are compatible to be selected in the \"perInteractionDimensions\" section of the report.", + "items": { + "$ref": "Dimension" + }, + "type": "array" + } + }, + "type": "object" + }, + "Placement": { + "description": "Contains properties of a placement.", + "id": "Placement", + "properties": { + "accountId": { + "description": "Account ID of this placement. This field can be left blank.", + "format": "int64", + "type": "string" + }, + "adBlockingOptOut": { + "description": "Whether this placement opts out of ad blocking. When true, ad blocking is disabled for this placement. When false, the campaign and site settings take effect.", + "type": "boolean" + }, + "additionalSizes": { + "description": "Additional sizes associated with this placement. When inserting or updating a placement, only the size ID field is used.", + "items": { + "$ref": "Size" + }, + "type": "array" + }, + "advertiserId": { + "description": "Advertiser ID of this placement. This field can be left blank.", + "format": "int64", + "type": "string" + }, + "advertiserIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the advertiser. This is a read-only, auto-generated field." + }, + "archived": { + "description": "Whether this placement is archived.", + "type": "boolean" + }, + "campaignId": { + "description": "Campaign ID of this placement. This field is a required field on insertion.", + "format": "int64", + "type": "string" + }, + "campaignIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the campaign. This is a read-only, auto-generated field." + }, + "comment": { + "description": "Comments for this placement.", + "type": "string" + }, + "compatibility": { + "description": "Placement compatibility. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering on desktop, on mobile devices or in mobile apps for regular or interstitial ads respectively. APP and APP_INTERSTITIAL are no longer allowed for new placement insertions. Instead, use DISPLAY or DISPLAY_INTERSTITIAL. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. This field is required on insertion.", + "enum": [ + "DISPLAY", + "DISPLAY_INTERSTITIAL", + "APP", + "APP_INTERSTITIAL", + "IN_STREAM_VIDEO", + "IN_STREAM_AUDIO" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "contentCategoryId": { + "description": "ID of the content category assigned to this placement.", + "format": "int64", + "type": "string" + }, + "createInfo": { + "$ref": "LastModifiedInfo", + "description": "Information about the creation of this placement. This is a read-only field." + }, + "directorySiteId": { + "description": "Directory site ID of this placement. On insert, you must set either this field or the siteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.", + "format": "int64", + "type": "string" + }, + "directorySiteIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the directory site. This is a read-only, auto-generated field." + }, + "externalId": { + "description": "External ID for this placement.", + "type": "string" + }, + "id": { + "description": "ID of this placement. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + }, + "idDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of this placement. This is a read-only, auto-generated field." + }, + "keyName": { + "description": "Key name of this placement. This is a read-only, auto-generated field.", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#placement\".", + "type": "string" + }, + "lastModifiedInfo": { + "$ref": "LastModifiedInfo", + "description": "Information about the most recent modification of this placement. This is a read-only field." + }, + "lookbackConfiguration": { + "$ref": "LookbackConfiguration", + "description": "Lookback window settings for this placement." + }, + "name": { + "description": "Name of this placement.This is a required field and must be less than or equal to 256 characters long.", + "type": "string" + }, + "paymentApproved": { + "description": "Whether payment was approved for this placement. This is a read-only field relevant only to publisher-paid placements.", + "type": "boolean" + }, + "paymentSource": { + "description": "Payment source for this placement. This is a required field that is read-only after insertion.", + "enum": [ + "PLACEMENT_AGENCY_PAID", + "PLACEMENT_PUBLISHER_PAID" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "placementGroupId": { + "description": "ID of this placement's group, if applicable.", + "format": "int64", + "type": "string" + }, + "placementGroupIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the placement group. This is a read-only, auto-generated field." + }, + "placementStrategyId": { + "description": "ID of the placement strategy assigned to this placement.", + "format": "int64", + "type": "string" + }, + "pricingSchedule": { + "$ref": "PricingSchedule", + "description": "Pricing schedule of this placement. This field is required on insertion, specifically subfields startDate, endDate and pricingType." + }, + "primary": { + "description": "Whether this placement is the primary placement of a roadblock (placement group). You cannot change this field from true to false. Setting this field to true will automatically set the primary field on the original primary placement of the roadblock to false, and it will automatically set the roadblock's primaryPlacementId field to the ID of this placement.", + "type": "boolean" + }, + "publisherUpdateInfo": { + "$ref": "LastModifiedInfo", + "description": "Information about the last publisher update. This is a read-only field." + }, + "siteId": { + "description": "Site ID associated with this placement. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.", + "format": "int64", + "type": "string" + }, + "siteIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the site. This is a read-only, auto-generated field." + }, + "size": { + "$ref": "Size", + "description": "Size associated with this placement. When inserting or updating a placement, only the size ID field is used. This field is required on insertion." + }, + "sslRequired": { + "description": "Whether creatives assigned to this placement must be SSL-compliant.", + "type": "boolean" + }, + "status": { + "description": "Third-party placement status.", + "enum": [ + "PENDING_REVIEW", + "PAYMENT_ACCEPTED", + "PAYMENT_REJECTED", + "ACKNOWLEDGE_REJECTION", + "ACKNOWLEDGE_ACCEPTANCE", + "DRAFT" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "subaccountId": { + "description": "Subaccount ID of this placement. This field can be left blank.", + "format": "int64", + "type": "string" + }, + "tagFormats": { + "description": "Tag formats to generate for this placement. This field is required on insertion. Acceptable values are: - \"PLACEMENT_TAG_STANDARD\" - \"PLACEMENT_TAG_IFRAME_JAVASCRIPT\" - \"PLACEMENT_TAG_IFRAME_ILAYER\" - \"PLACEMENT_TAG_INTERNAL_REDIRECT\" - \"PLACEMENT_TAG_JAVASCRIPT\" - \"PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT\" - \"PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT\" - \"PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT\" - \"PLACEMENT_TAG_CLICK_COMMANDS\" - \"PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH\" - \"PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3\" - \"PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4\" - \"PLACEMENT_TAG_TRACKING\" - \"PLACEMENT_TAG_TRACKING_IFRAME\" - \"PLACEMENT_TAG_TRACKING_JAVASCRIPT\" ", + "items": { + "enum": [ + "PLACEMENT_TAG_STANDARD", + "PLACEMENT_TAG_IFRAME_JAVASCRIPT", + "PLACEMENT_TAG_IFRAME_ILAYER", + "PLACEMENT_TAG_INTERNAL_REDIRECT", + "PLACEMENT_TAG_JAVASCRIPT", + "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT", + "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT", + "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT", + "PLACEMENT_TAG_CLICK_COMMANDS", + "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH", + "PLACEMENT_TAG_TRACKING", + "PLACEMENT_TAG_TRACKING_IFRAME", + "PLACEMENT_TAG_TRACKING_JAVASCRIPT", + "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3", + "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY", + "PLACEMENT_TAG_JAVASCRIPT_LEGACY", + "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY", + "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY", + "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4", + "PLACEMENT_TAG_TRACKING_THIRD_PARTY_MEASUREMENT" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "type": "array" + }, + "tagSetting": { + "$ref": "TagSetting", + "description": "Tag settings for this placement." + }, + "videoActiveViewOptOut": { + "description": "Whether Verification and ActiveView are disabled for in-stream video creatives for this placement. The same setting videoActiveViewOptOut exists on the site level -- the opt out occurs if either of these settings are true. These settings are distinct from DirectorySites.settings.activeViewOptOut or Sites.siteSettings.activeViewOptOut which only apply to display ads. However, Accounts.activeViewOptOut opts out both video traffic, as well as display ads, from Verification and ActiveView.", + "type": "boolean" + }, + "videoSettings": { + "$ref": "VideoSettings", + "description": "A collection of settings which affect video creatives served through this placement. Applicable to placements with IN_STREAM_VIDEO compatibility." + }, + "vpaidAdapterChoice": { + "description": "VPAID adapter setting for this placement. Controls which VPAID format the measurement adapter will use for in-stream video creatives assigned to this placement. *Note:* Flash is no longer supported. This field now defaults to HTML5 when the following values are provided: FLASH, BOTH.", + "enum": [ + "DEFAULT", + "FLASH", + "HTML5", + "BOTH" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "PlacementAssignment": { + "description": "Placement Assignment.", + "id": "PlacementAssignment", + "properties": { + "active": { + "description": "Whether this placement assignment is active. When true, the placement will be included in the ad's rotation.", + "type": "boolean" + }, + "placementId": { + "description": "ID of the placement to be assigned. This is a required field.", + "format": "int64", + "type": "string" + }, + "placementIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the placement. This is a read-only, auto-generated field." + }, + "sslRequired": { + "description": "Whether the placement to be assigned requires SSL. This is a read-only field that is auto-generated when the ad is inserted or updated.", + "type": "boolean" + } + }, + "type": "object" + }, + "PlacementGroup": { + "description": "Contains properties of a package or roadblock.", + "id": "PlacementGroup", + "properties": { + "accountId": { + "description": "Account ID of this placement group. This is a read-only field that can be left blank.", + "format": "int64", + "type": "string" + }, + "advertiserId": { + "description": "Advertiser ID of this placement group. This is a required field on insertion.", + "format": "int64", + "type": "string" + }, + "advertiserIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the advertiser. This is a read-only, auto-generated field." + }, + "archived": { + "description": "Whether this placement group is archived.", + "type": "boolean" + }, + "campaignId": { + "description": "Campaign ID of this placement group. This field is required on insertion.", + "format": "int64", + "type": "string" + }, + "campaignIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the campaign. This is a read-only, auto-generated field." + }, + "childPlacementIds": { + "description": "IDs of placements which are assigned to this placement group. This is a read-only, auto-generated field.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "comment": { + "description": "Comments for this placement group.", + "type": "string" + }, + "contentCategoryId": { + "description": "ID of the content category assigned to this placement group.", + "format": "int64", + "type": "string" + }, + "createInfo": { + "$ref": "LastModifiedInfo", + "description": "Information about the creation of this placement group. This is a read-only field." + }, + "directorySiteId": { + "description": "Directory site ID associated with this placement group. On insert, you must set either this field or the site_id field to specify the site associated with this placement group. This is a required field that is read-only after insertion.", + "format": "int64", + "type": "string" + }, + "directorySiteIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the directory site. This is a read-only, auto-generated field." + }, + "externalId": { + "description": "External ID for this placement.", + "type": "string" + }, + "id": { + "description": "ID of this placement group. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + }, + "idDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of this placement group. This is a read-only, auto-generated field." + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#placementGroup\".", + "type": "string" + }, + "lastModifiedInfo": { + "$ref": "LastModifiedInfo", + "description": "Information about the most recent modification of this placement group. This is a read-only field." + }, + "name": { + "description": "Name of this placement group. This is a required field and must be less than 256 characters long.", + "type": "string" + }, + "placementGroupType": { + "description": "Type of this placement group. A package is a simple group of placements that acts as a single pricing point for a group of tags. A roadblock is a group of placements that not only acts as a single pricing point, but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned placements to be marked as primary for reporting. This field is required on insertion.", + "enum": [ + "PLACEMENT_PACKAGE", + "PLACEMENT_ROADBLOCK" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "placementStrategyId": { + "description": "ID of the placement strategy assigned to this placement group.", + "format": "int64", + "type": "string" + }, + "pricingSchedule": { + "$ref": "PricingSchedule", + "description": "Pricing schedule of this placement group. This field is required on insertion." + }, + "primaryPlacementId": { + "description": "ID of the primary placement, used to calculate the media cost of a roadblock (placement group). Modifying this field will automatically modify the primary field on all affected roadblock child placements.", + "format": "int64", + "type": "string" + }, + "primaryPlacementIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the primary placement. This is a read-only, auto-generated field." + }, + "siteId": { + "description": "Site ID associated with this placement group. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement group. This is a required field that is read-only after insertion.", + "format": "int64", + "type": "string" + }, + "siteIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the site. This is a read-only, auto-generated field." + }, + "subaccountId": { + "description": "Subaccount ID of this placement group. This is a read-only field that can be left blank.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "PlacementGroupsListResponse": { + "description": "Placement Group List Response", + "id": "PlacementGroupsListResponse", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#placementGroupsListResponse\".", + "type": "string" + }, + "nextPageToken": { + "description": "Pagination token to be used for the next list operation.", + "type": "string" + }, + "placementGroups": { + "description": "Placement group collection.", + "items": { + "$ref": "PlacementGroup" + }, + "type": "array" + } + }, + "type": "object" + }, + "PlacementStrategiesListResponse": { + "description": "Placement Strategy List Response", + "id": "PlacementStrategiesListResponse", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#placementStrategiesListResponse\".", + "type": "string" + }, + "nextPageToken": { + "description": "Pagination token to be used for the next list operation.", + "type": "string" + }, + "placementStrategies": { + "description": "Placement strategy collection.", + "items": { + "$ref": "PlacementStrategy" + }, + "type": "array" + } + }, + "type": "object" + }, + "PlacementStrategy": { + "description": "Contains properties of a placement strategy.", + "id": "PlacementStrategy", + "properties": { + "accountId": { + "description": "Account ID of this placement strategy.This is a read-only field that can be left blank.", + "format": "int64", + "type": "string" + }, + "id": { + "description": "ID of this placement strategy. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#placementStrategy\".", + "type": "string" + }, + "name": { + "description": "Name of this placement strategy. This is a required field. It must be less than 256 characters long and unique among placement strategies of the same account.", + "type": "string" + } + }, + "type": "object" + }, + "PlacementTag": { + "description": "Placement Tag", + "id": "PlacementTag", + "properties": { + "placementId": { + "description": "Placement ID", + "format": "int64", + "type": "string" + }, + "tagDatas": { + "description": "Tags generated for this placement.", + "items": { + "$ref": "TagData" + }, + "type": "array" + } + }, + "type": "object" + }, + "PlacementsGenerateTagsResponse": { + "description": "Placement GenerateTags Response", + "id": "PlacementsGenerateTagsResponse", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#placementsGenerateTagsResponse\".", + "type": "string" + }, + "placementTags": { + "description": "Set of generated tags for the specified placements.", + "items": { + "$ref": "PlacementTag" + }, + "type": "array" + } + }, + "type": "object" + }, + "PlacementsListResponse": { + "description": "Placement List Response", + "id": "PlacementsListResponse", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#placementsListResponse\".", + "type": "string" + }, + "nextPageToken": { + "description": "Pagination token to be used for the next list operation.", + "type": "string" + }, + "placements": { + "description": "Placement collection.", + "items": { + "$ref": "Placement" + }, + "type": "array" + } + }, + "type": "object" + }, + "PlatformType": { + "description": "Contains information about a platform type that can be targeted by ads.", + "id": "PlatformType", + "properties": { + "id": { + "description": "ID of this platform type.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#platformType\".", + "type": "string" + }, + "name": { + "description": "Name of this platform type.", + "type": "string" + } + }, + "type": "object" + }, + "PlatformTypesListResponse": { + "description": "Platform Type List Response", + "id": "PlatformTypesListResponse", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#platformTypesListResponse\".", + "type": "string" + }, + "platformTypes": { + "description": "Platform type collection.", + "items": { + "$ref": "PlatformType" + }, + "type": "array" + } + }, + "type": "object" + }, + "PopupWindowProperties": { + "description": "Popup Window Properties.", + "id": "PopupWindowProperties", + "properties": { + "dimension": { + "$ref": "Size", + "description": "Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID" + }, + "offset": { + "$ref": "OffsetPosition", + "description": "Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES." + }, + "positionType": { + "description": "Popup window position either centered or at specific coordinate.", + "enum": [ + "CENTER", + "COORDINATES" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "showAddressBar": { + "description": "Whether to display the browser address bar.", + "type": "boolean" + }, + "showMenuBar": { + "description": "Whether to display the browser menu bar.", + "type": "boolean" + }, + "showScrollBar": { + "description": "Whether to display the browser scroll bar.", + "type": "boolean" + }, + "showStatusBar": { + "description": "Whether to display the browser status bar.", + "type": "boolean" + }, + "showToolBar": { + "description": "Whether to display the browser tool bar.", + "type": "boolean" + }, + "title": { + "description": "Title of popup window.", + "type": "string" + } + }, + "type": "object" + }, + "PostalCode": { + "description": "Contains information about a postal code that can be targeted by ads.", + "id": "PostalCode", + "properties": { + "code": { + "description": "Postal code. This is equivalent to the id field.", + "type": "string" + }, + "countryCode": { + "description": "Country code of the country to which this postal code belongs.", + "type": "string" + }, + "countryDartId": { + "description": "DART ID of the country to which this postal code belongs.", + "format": "int64", + "type": "string" + }, + "id": { + "description": "ID of this postal code.", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#postalCode\".", + "type": "string" + } + }, + "type": "object" + }, + "PostalCodesListResponse": { + "description": "Postal Code List Response", + "id": "PostalCodesListResponse", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#postalCodesListResponse\".", + "type": "string" + }, + "postalCodes": { + "description": "Postal code collection.", + "items": { + "$ref": "PostalCode" + }, + "type": "array" + } + }, + "type": "object" + }, + "Pricing": { + "description": "Pricing Information", + "id": "Pricing", + "properties": { + "capCostType": { + "description": "Cap cost type of this inventory item.", + "enum": [ + "PLANNING_PLACEMENT_CAP_COST_TYPE_NONE", + "PLANNING_PLACEMENT_CAP_COST_TYPE_MONTHLY", + "PLANNING_PLACEMENT_CAP_COST_TYPE_CUMULATIVE" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "endDate": { + "format": "date", + "type": "string" + }, + "flights": { + "description": "Flights of this inventory item. A flight (a.k.a. pricing period) represents the inventory item pricing information for a specific period of time.", + "items": { + "$ref": "Flight" + }, + "type": "array" + }, + "groupType": { + "description": "Group type of this inventory item if it represents a placement group. Is null otherwise. There are two type of placement groups: PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE is a simple group of inventory items that acts as a single pricing point for a group of tags. PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK is a group of inventory items that not only acts as a single pricing point, but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned inventory items to be marked as primary.", + "enum": [ + "PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE", + "PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "pricingType": { + "description": "Pricing type of this inventory item.", + "enum": [ + "PLANNING_PLACEMENT_PRICING_TYPE_IMPRESSIONS", + "PLANNING_PLACEMENT_PRICING_TYPE_CPM", + "PLANNING_PLACEMENT_PRICING_TYPE_CLICKS", + "PLANNING_PLACEMENT_PRICING_TYPE_CPC", + "PLANNING_PLACEMENT_PRICING_TYPE_CPA", + "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_IMPRESSIONS", + "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_CLICKS", + "PLANNING_PLACEMENT_PRICING_TYPE_CPM_ACTIVEVIEW" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "startDate": { + "format": "date", + "type": "string" + } + }, + "type": "object" + }, + "PricingSchedule": { + "description": "Pricing Schedule", + "id": "PricingSchedule", + "properties": { + "capCostOption": { + "description": "Placement cap cost option.", + "enum": [ + "CAP_COST_NONE", + "CAP_COST_MONTHLY", + "CAP_COST_CUMULATIVE" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "endDate": { + "format": "date", + "type": "string" + }, + "flighted": { + "description": "Whether this placement is flighted. If true, pricing periods will be computed automatically.", + "type": "boolean" + }, + "floodlightActivityId": { + "description": "Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.", + "format": "int64", + "type": "string" + }, + "pricingPeriods": { + "description": "Pricing periods for this placement.", + "items": { + "$ref": "PricingSchedulePricingPeriod" + }, + "type": "array" + }, + "pricingType": { + "description": "Placement pricing type. This field is required on insertion.", + "enum": [ + "PRICING_TYPE_CPM", + "PRICING_TYPE_CPC", + "PRICING_TYPE_CPA", + "PRICING_TYPE_FLAT_RATE_IMPRESSIONS", + "PRICING_TYPE_FLAT_RATE_CLICKS", + "PRICING_TYPE_CPM_ACTIVEVIEW" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "startDate": { + "format": "date", + "type": "string" + }, + "testingStartDate": { + "format": "date", + "type": "string" + } + }, + "type": "object" + }, + "PricingSchedulePricingPeriod": { + "description": "Pricing Period", + "id": "PricingSchedulePricingPeriod", + "properties": { + "endDate": { + "format": "date", + "type": "string" + }, + "pricingComment": { + "description": "Comments for this pricing period.", + "type": "string" + }, + "rateOrCostNanos": { + "description": "Rate or cost of this pricing period in nanos (i.e., multipled by 1000000000). Acceptable values are 0 to 1000000000000000000, inclusive.", + "format": "int64", + "type": "string" + }, + "startDate": { + "format": "date", + "type": "string" + }, + "units": { + "description": "Units of this pricing period. Acceptable values are 0 to 10000000000, inclusive.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "Project": { + "description": "Contains properties of a Planning project.", + "id": "Project", + "properties": { + "accountId": { + "description": "Account ID of this project.", + "format": "int64", + "type": "string" + }, + "advertiserId": { + "description": "Advertiser ID of this project.", + "format": "int64", + "type": "string" + }, + "audienceAgeGroup": { + "description": "Audience age group of this project.", + "enum": [ + "PLANNING_AUDIENCE_AGE_18_24", + "PLANNING_AUDIENCE_AGE_25_34", + "PLANNING_AUDIENCE_AGE_35_44", + "PLANNING_AUDIENCE_AGE_45_54", + "PLANNING_AUDIENCE_AGE_55_64", + "PLANNING_AUDIENCE_AGE_65_OR_MORE", + "PLANNING_AUDIENCE_AGE_UNKNOWN" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "audienceGender": { + "description": "Audience gender of this project.", + "enum": [ + "PLANNING_AUDIENCE_GENDER_MALE", + "PLANNING_AUDIENCE_GENDER_FEMALE" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "budget": { + "description": "Budget of this project in the currency specified by the current account. The value stored in this field represents only the non-fractional amount. For example, for USD, the smallest value that can be represented by this field is 1 US dollar.", + "format": "int64", + "type": "string" + }, + "clientBillingCode": { + "description": "Client billing code of this project.", + "type": "string" + }, + "clientName": { + "description": "Name of the project client.", + "type": "string" + }, + "endDate": { + "format": "date", + "type": "string" + }, + "id": { + "description": "ID of this project. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#project\".", + "type": "string" + }, + "lastModifiedInfo": { + "$ref": "LastModifiedInfo", + "description": "Information about the most recent modification of this project." + }, + "name": { + "description": "Name of this project.", + "type": "string" + }, + "overview": { + "description": "Overview of this project.", + "type": "string" + }, + "startDate": { + "format": "date", + "type": "string" + }, + "subaccountId": { + "description": "Subaccount ID of this project.", + "format": "int64", + "type": "string" + }, + "targetClicks": { + "description": "Number of clicks that the advertiser is targeting.", + "format": "int64", + "type": "string" + }, + "targetConversions": { + "description": "Number of conversions that the advertiser is targeting.", + "format": "int64", + "type": "string" + }, + "targetCpaNanos": { + "description": "CPA that the advertiser is targeting.", + "format": "int64", + "type": "string" + }, + "targetCpcNanos": { + "description": "CPC that the advertiser is targeting.", + "format": "int64", + "type": "string" + }, + "targetCpmActiveViewNanos": { + "description": "vCPM from Active View that the advertiser is targeting.", + "format": "int64", + "type": "string" + }, + "targetCpmNanos": { + "description": "CPM that the advertiser is targeting.", + "format": "int64", + "type": "string" + }, + "targetImpressions": { + "description": "Number of impressions that the advertiser is targeting.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ProjectsListResponse": { + "description": "Project List Response", + "id": "ProjectsListResponse", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#projectsListResponse\".", + "type": "string" + }, + "nextPageToken": { + "description": "Pagination token to be used for the next list operation.", + "type": "string" + }, + "projects": { + "description": "Project collection.", + "items": { + "$ref": "Project" + }, + "type": "array" + } + }, + "type": "object" + }, + "ReachReportCompatibleFields": { + "description": "Represents fields that are compatible to be selected for a report of type \"REACH\".", + "id": "ReachReportCompatibleFields", + "properties": { + "dimensionFilters": { + "description": "Dimensions which are compatible to be selected in the \"dimensionFilters\" section of the report.", + "items": { + "$ref": "Dimension" + }, + "type": "array" + }, + "dimensions": { + "description": "Dimensions which are compatible to be selected in the \"dimensions\" section of the report.", + "items": { + "$ref": "Dimension" + }, + "type": "array" + }, + "kind": { + "description": "The kind of resource this is, in this case dfareporting#reachReportCompatibleFields.", + "type": "string" + }, + "metrics": { + "description": "Metrics which are compatible to be selected in the \"metricNames\" section of the report.", + "items": { + "$ref": "Metric" + }, + "type": "array" + }, + "pivotedActivityMetrics": { + "description": "Metrics which are compatible to be selected as activity metrics to pivot on in the \"activities\" section of the report.", + "items": { + "$ref": "Metric" + }, + "type": "array" + }, + "reachByFrequencyMetrics": { + "description": "Metrics which are compatible to be selected in the \"reachByFrequencyMetricNames\" section of the report.", + "items": { + "$ref": "Metric" + }, + "type": "array" + } + }, + "type": "object" + }, + "Recipient": { + "description": "Represents a recipient.", + "id": "Recipient", + "properties": { + "deliveryType": { + "annotations": { + "required": [ + "dfareporting.reports.insert", + "dfareporting.reports.update" + ] + }, + "description": "The delivery type for the recipient.", + "enum": [ + "LINK", + "ATTACHMENT" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "email": { + "annotations": { + "required": [ + "dfareporting.reports.insert", + "dfareporting.reports.update" + ] + }, + "description": "The email address of the recipient.", + "type": "string" + }, + "kind": { + "description": "The kind of resource this is, in this case dfareporting#recipient.", + "type": "string" + } + }, + "type": "object" + }, + "Region": { + "description": "Contains information about a region that can be targeted by ads.", + "id": "Region", + "properties": { + "countryCode": { + "description": "Country code of the country to which this region belongs.", + "type": "string" + }, + "countryDartId": { + "description": "DART ID of the country to which this region belongs.", + "format": "int64", + "type": "string" + }, + "dartId": { + "description": "DART ID of this region.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#region\".", + "type": "string" + }, + "name": { + "description": "Name of this region.", + "type": "string" + }, + "regionCode": { + "description": "Region code.", + "type": "string" + } + }, + "type": "object" + }, + "RegionsListResponse": { + "description": "Region List Response", + "id": "RegionsListResponse", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#regionsListResponse\".", + "type": "string" + }, + "regions": { + "description": "Region collection.", + "items": { + "$ref": "Region" + }, + "type": "array" + } + }, + "type": "object" + }, + "RemarketingList": { + "description": "Contains properties of a remarketing list. Remarketing enables you to create lists of users who have performed specific actions on a site, then target ads to members of those lists. This resource can be used to manage remarketing lists that are owned by your advertisers. To see all remarketing lists that are visible to your advertisers, including those that are shared to your advertiser or account, use the TargetableRemarketingLists resource.", + "id": "RemarketingList", + "properties": { + "accountId": { + "description": "Account ID of this remarketing list. This is a read-only, auto-generated field that is only returned in GET requests.", + "format": "int64", + "type": "string" + }, + "active": { + "description": "Whether this remarketing list is active.", + "type": "boolean" + }, + "advertiserId": { + "description": "Dimension value for the advertiser ID that owns this remarketing list. This is a required field.", + "format": "int64", + "type": "string" + }, + "advertiserIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the advertiser. This is a read-only, auto-generated field." + }, + "description": { + "description": "Remarketing list description.", + "type": "string" + }, + "id": { + "description": "Remarketing list ID. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#remarketingList\".", + "type": "string" + }, + "lifeSpan": { + "description": "Number of days that a user should remain in the remarketing list without an impression. Acceptable values are 1 to 540, inclusive.", + "format": "int64", + "type": "string" + }, + "listPopulationRule": { + "$ref": "ListPopulationRule", + "description": "Rule used to populate the remarketing list with users." + }, + "listSize": { + "description": "Number of users currently in the list. This is a read-only field.", + "format": "int64", + "type": "string" + }, + "listSource": { + "description": "Product from which this remarketing list was originated.", + "enum": [ + "REMARKETING_LIST_SOURCE_OTHER", + "REMARKETING_LIST_SOURCE_ADX", + "REMARKETING_LIST_SOURCE_DFP", + "REMARKETING_LIST_SOURCE_XFP", + "REMARKETING_LIST_SOURCE_DFA", + "REMARKETING_LIST_SOURCE_GA", + "REMARKETING_LIST_SOURCE_YOUTUBE", + "REMARKETING_LIST_SOURCE_DBM", + "REMARKETING_LIST_SOURCE_GPLUS", + "REMARKETING_LIST_SOURCE_DMP", + "REMARKETING_LIST_SOURCE_PLAY_STORE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "name": { + "description": "Name of the remarketing list. This is a required field. Must be no greater than 128 characters long.", + "type": "string" + }, + "subaccountId": { + "description": "Subaccount ID of this remarketing list. This is a read-only, auto-generated field that is only returned in GET requests.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "RemarketingListShare": { + "description": "Contains properties of a remarketing list's sharing information. Sharing allows other accounts or advertisers to target to your remarketing lists. This resource can be used to manage remarketing list sharing to other accounts and advertisers.", + "id": "RemarketingListShare", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#remarketingListShare\".", + "type": "string" + }, + "remarketingListId": { + "description": "Remarketing list ID. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + }, + "sharedAccountIds": { + "description": "Accounts that the remarketing list is shared with.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "sharedAdvertiserIds": { + "description": "Advertisers that the remarketing list is shared with.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "RemarketingListsListResponse": { + "description": "Remarketing list response", + "id": "RemarketingListsListResponse", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#remarketingListsListResponse\".", + "type": "string" + }, + "nextPageToken": { + "description": "Pagination token to be used for the next list operation.", + "type": "string" + }, + "remarketingLists": { + "description": "Remarketing list collection.", + "items": { + "$ref": "RemarketingList" + }, + "type": "array" + } + }, + "type": "object" + }, + "Report": { + "description": "Represents a Report resource.", + "id": "Report", + "properties": { + "accountId": { + "annotations": { + "required": [ + "dfareporting.reports.update" + ] + }, + "description": "The account ID to which this report belongs.", + "format": "int64", + "type": "string" + }, + "criteria": { + "description": "The report criteria for a report of type \"STANDARD\".", + "properties": { + "activities": { + "$ref": "Activities", + "description": "Activity group." + }, + "customRichMediaEvents": { + "$ref": "CustomRichMediaEvents", + "description": "Custom Rich Media Events group." + }, + "dateRange": { + "$ref": "DateRange", + "description": "The date range for which this report should be run." + }, + "dimensionFilters": { + "description": "The list of filters on which dimensions are filtered. Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.", + "items": { + "$ref": "DimensionValue" + }, + "type": "array" + }, + "dimensions": { + "description": "The list of standard dimensions the report should include.", + "items": { + "$ref": "SortedDimension" + }, + "type": "array" + }, + "metricNames": { + "description": "The list of names of metrics the report should include.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "crossDimensionReachCriteria": { + "description": "The report criteria for a report of type \"CROSS_DIMENSION_REACH\".", + "properties": { + "breakdown": { + "description": "The list of dimensions the report should include.", + "items": { + "$ref": "SortedDimension" + }, + "type": "array" + }, + "dateRange": { + "$ref": "DateRange", + "description": "The date range this report should be run for." + }, + "dimension": { + "description": "The dimension option.", + "enum": [ + "ADVERTISER", + "CAMPAIGN", + "SITE_BY_ADVERTISER", + "SITE_BY_CAMPAIGN" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "dimensionFilters": { + "description": "The list of filters on which dimensions are filtered.", + "items": { + "$ref": "DimensionValue" + }, + "type": "array" + }, + "metricNames": { + "description": "The list of names of metrics the report should include.", + "items": { + "type": "string" + }, + "type": "array" + }, + "overlapMetricNames": { + "description": "The list of names of overlap metrics the report should include.", + "items": { + "type": "string" + }, + "type": "array" + }, + "pivoted": { + "description": "Whether the report is pivoted or not. Defaults to true.", + "type": "boolean" + } + }, + "type": "object" + }, + "delivery": { + "description": "The report's email delivery settings.", + "properties": { + "emailOwner": { + "description": "Whether the report should be emailed to the report owner.", + "type": "boolean" + }, + "emailOwnerDeliveryType": { + "description": "The type of delivery for the owner to receive, if enabled.", + "enum": [ + "LINK", + "ATTACHMENT" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "message": { + "description": "The message to be sent with each email.", + "type": "string" + }, + "recipients": { + "description": "The list of recipients to which to email the report.", + "items": { + "$ref": "Recipient" + }, + "type": "array" + } + }, + "type": "object" + }, + "etag": { + "description": "The eTag of this response for caching purposes.", + "type": "string" + }, + "fileName": { + "description": "The filename used when generating report files for this report.", + "type": "string" + }, + "floodlightCriteria": { + "description": "The report criteria for a report of type \"FLOODLIGHT\".", + "properties": { + "customRichMediaEvents": { + "description": "The list of custom rich media events to include.", + "items": { + "$ref": "DimensionValue" + }, + "type": "array" + }, + "dateRange": { + "$ref": "DateRange", + "description": "The date range this report should be run for." + }, + "dimensionFilters": { + "description": "The list of filters on which dimensions are filtered. Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.", + "items": { + "$ref": "DimensionValue" + }, + "type": "array" + }, + "dimensions": { + "description": "The list of dimensions the report should include.", + "items": { + "$ref": "SortedDimension" + }, + "type": "array" + }, + "floodlightConfigId": { + "$ref": "DimensionValue", + "description": "The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'." + }, + "metricNames": { + "description": "The list of names of metrics the report should include.", + "items": { + "type": "string" + }, + "type": "array" + }, + "reportProperties": { + "description": "The properties of the report.", + "properties": { + "includeAttributedIPConversions": { + "description": "Include conversions that have no cookie, but do have an exposure path.", + "type": "boolean" + }, + "includeUnattributedCookieConversions": { + "description": "Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.", + "type": "boolean" + }, + "includeUnattributedIPConversions": { + "description": "Include conversions that have no associated cookies and no exposures. It\u2019s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.", + "type": "boolean" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "format": { + "description": "The output format of the report. If not specified, default format is \"CSV\". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. \"CSV\" will then be the fallback format.", + "enum": [ + "CSV", + "EXCEL" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "id": { + "annotations": { + "required": [ + "dfareporting.reports.update" + ] + }, + "description": "The unique ID identifying this report resource.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "The kind of resource this is, in this case dfareporting#report.", + "type": "string" + }, + "lastModifiedTime": { + "annotations": { + "required": [ + "dfareporting.reports.update" + ] + }, + "description": "The timestamp (in milliseconds since epoch) of when this report was last modified.", + "format": "uint64", + "type": "string" + }, + "name": { + "annotations": { + "required": [ + "dfareporting.reports.insert", + "dfareporting.reports.update" + ] + }, + "description": "The name of the report.", + "type": "string" + }, + "ownerProfileId": { + "annotations": { + "required": [ + "dfareporting.reports.update" + ] + }, + "description": "The user profile id of the owner of this report.", + "format": "int64", + "type": "string" + }, + "pathAttributionCriteria": { + "description": "The report criteria for a report of type \"PATH_ATTRIBUTION\".", + "properties": { + "activityFilters": { + "description": "The list of 'dfa:activity' values to filter on.", + "items": { + "$ref": "DimensionValue" + }, + "type": "array" + }, + "customChannelGrouping": { + "$ref": "ChannelGrouping", + "description": "Channel Grouping." + }, + "dateRange": { + "$ref": "DateRange", + "description": "The date range this report should be run for." + }, + "dimensions": { + "description": "The list of dimensions the report should include.", + "items": { + "$ref": "SortedDimension" + }, + "type": "array" + }, + "floodlightConfigId": { + "$ref": "DimensionValue", + "description": "The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'." + }, + "metricNames": { + "description": "The list of names of metrics the report should include.", + "items": { + "type": "string" + }, + "type": "array" + }, + "pathFilters": { + "description": "Path Filters.", + "items": { + "$ref": "PathFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "pathCriteria": { + "description": "The report criteria for a report of type \"PATH\".", + "properties": { + "activityFilters": { + "description": "The list of 'dfa:activity' values to filter on.", + "items": { + "$ref": "DimensionValue" + }, + "type": "array" + }, + "customChannelGrouping": { + "$ref": "ChannelGrouping", + "description": "Channel Grouping." + }, + "dateRange": { + "$ref": "DateRange", + "description": "The date range this report should be run for." + }, + "dimensions": { + "description": "The list of dimensions the report should include.", + "items": { + "$ref": "SortedDimension" + }, + "type": "array" + }, + "floodlightConfigId": { + "$ref": "DimensionValue", + "description": "The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'." + }, + "metricNames": { + "description": "The list of names of metrics the report should include.", + "items": { + "type": "string" + }, + "type": "array" + }, + "pathFilters": { + "description": "Path Filters.", + "items": { + "$ref": "PathFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "pathToConversionCriteria": { + "description": "The report criteria for a report of type \"PATH_TO_CONVERSION\".", + "properties": { + "activityFilters": { + "description": "The list of 'dfa:activity' values to filter on.", + "items": { + "$ref": "DimensionValue" + }, + "type": "array" + }, + "conversionDimensions": { + "description": "The list of conversion dimensions the report should include.", + "items": { + "$ref": "SortedDimension" + }, + "type": "array" + }, + "customFloodlightVariables": { + "description": "The list of custom floodlight variables the report should include.", + "items": { + "$ref": "SortedDimension" + }, + "type": "array" + }, + "customRichMediaEvents": { + "description": "The list of custom rich media events to include.", + "items": { + "$ref": "DimensionValue" + }, + "type": "array" + }, + "dateRange": { + "$ref": "DateRange", + "description": "The date range this report should be run for." + }, + "floodlightConfigId": { + "$ref": "DimensionValue", + "description": "The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'." + }, + "metricNames": { + "description": "The list of names of metrics the report should include.", + "items": { + "type": "string" + }, + "type": "array" + }, + "perInteractionDimensions": { + "description": "The list of per interaction dimensions the report should include.", + "items": { + "$ref": "SortedDimension" + }, + "type": "array" + }, + "reportProperties": { + "description": "The properties of the report.", + "properties": { + "clicksLookbackWindow": { + "description": "CM360 checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.", + "format": "int32", + "type": "integer" + }, + "impressionsLookbackWindow": { + "description": "CM360 checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.", + "format": "int32", + "type": "integer" + }, + "includeAttributedIPConversions": { + "description": "Deprecated: has no effect.", + "type": "boolean" + }, + "includeUnattributedCookieConversions": { + "description": "Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.", + "type": "boolean" + }, + "includeUnattributedIPConversions": { + "description": "Include conversions that have no associated cookies and no exposures. It\u2019s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.", + "type": "boolean" + }, + "maximumClickInteractions": { + "description": "The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.", + "format": "int32", + "type": "integer" + }, + "maximumImpressionInteractions": { + "description": "The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.", + "format": "int32", + "type": "integer" + }, + "maximumInteractionGap": { + "description": "The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.", + "format": "int32", + "type": "integer" + }, + "pivotOnInteractionPath": { + "description": "Enable pivoting on interaction path.", + "type": "boolean" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "reachCriteria": { + "description": "The report criteria for a report of type \"REACH\".", + "properties": { + "activities": { + "$ref": "Activities", + "description": "Activity group." + }, + "customRichMediaEvents": { + "$ref": "CustomRichMediaEvents", + "description": "Custom Rich Media Events group." + }, + "dateRange": { + "$ref": "DateRange", + "description": "The date range this report should be run for." + }, + "dimensionFilters": { + "description": "The list of filters on which dimensions are filtered. Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.", + "items": { + "$ref": "DimensionValue" + }, + "type": "array" + }, + "dimensions": { + "description": "The list of dimensions the report should include.", + "items": { + "$ref": "SortedDimension" + }, + "type": "array" + }, + "enableAllDimensionCombinations": { + "description": "Whether to enable all reach dimension combinations in the report. Defaults to false. If enabled, the date range of the report should be within the last 42 days.", + "type": "boolean" + }, + "metricNames": { + "description": "The list of names of metrics the report should include.", + "items": { + "type": "string" + }, + "type": "array" + }, + "reachByFrequencyMetricNames": { + "description": "The list of names of Reach By Frequency metrics the report should include.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "schedule": { + "description": "The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not \"TODAY\".", + "properties": { + "active": { + "annotations": { + "required": [ + "dfareporting.reports.insert", + "dfareporting.reports.update" + ] + }, + "description": "Whether the schedule is active or not. Must be set to either true or false.", + "type": "boolean" + }, + "every": { + "description": "Defines every how many days, weeks or months the report should be run. Needs to be set when \"repeats\" is either \"DAILY\", \"WEEKLY\" or \"MONTHLY\".", + "format": "int32", + "type": "integer" + }, + "expirationDate": { + "format": "date", + "type": "string" + }, + "repeats": { + "annotations": { + "required": [ + "dfareporting.reports.insert", + "dfareporting.reports.update" + ] + }, + "description": "The interval for which the report is repeated. Note: - \"DAILY\" also requires field \"every\" to be set. - \"WEEKLY\" also requires fields \"every\" and \"repeatsOnWeekDays\" to be set. - \"MONTHLY\" also requires fields \"every\" and \"runsOnDayOfMonth\" to be set. ", + "type": "string" + }, + "repeatsOnWeekDays": { + "description": "List of week days \"WEEKLY\" on which scheduled reports should run.", + "items": { + "enum": [ + "SUNDAY", + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "type": "array" + }, + "runsOnDayOfMonth": { + "description": "Enum to define for \"MONTHLY\" scheduled reports whether reports should be repeated on the same day of the month as \"startDate\" or the same day of the week of the month. Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), \"DAY_OF_MONTH\" would run subsequent reports on the 2nd of every Month, and \"WEEK_OF_MONTH\" would run subsequent reports on the first Monday of the month.", + "enum": [ + "DAY_OF_MONTH", + "WEEK_OF_MONTH" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "startDate": { + "format": "date", + "type": "string" + } + }, + "type": "object" + }, + "subAccountId": { + "description": "The subaccount ID to which this report belongs if applicable.", + "format": "int64", + "type": "string" + }, + "type": { + "annotations": { + "required": [ + "dfareporting.reports.insert", + "dfareporting.reports.update" + ] + }, + "description": "The type of the report.", + "enum": [ + "STANDARD", + "REACH", + "PATH_TO_CONVERSION", + "CROSS_DIMENSION_REACH", + "FLOODLIGHT", + "PATH", + "PATH_ATTRIBUTION" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "ReportCompatibleFields": { + "description": "Represents fields that are compatible to be selected for a report of type \"STANDARD\".", + "id": "ReportCompatibleFields", + "properties": { + "dimensionFilters": { + "description": "Dimensions which are compatible to be selected in the \"dimensionFilters\" section of the report.", + "items": { + "$ref": "Dimension" + }, + "type": "array" + }, + "dimensions": { + "description": "Dimensions which are compatible to be selected in the \"dimensions\" section of the report.", + "items": { + "$ref": "Dimension" + }, + "type": "array" + }, + "kind": { + "description": "The kind of resource this is, in this case dfareporting#reportCompatibleFields.", + "type": "string" + }, + "metrics": { + "description": "Metrics which are compatible to be selected in the \"metricNames\" section of the report.", + "items": { + "$ref": "Metric" + }, + "type": "array" + }, + "pivotedActivityMetrics": { + "description": "Metrics which are compatible to be selected as activity metrics to pivot on in the \"activities\" section of the report.", + "items": { + "$ref": "Metric" + }, + "type": "array" + } + }, + "type": "object" + }, + "ReportList": { + "description": "Represents the list of reports.", + "id": "ReportList", + "properties": { + "etag": { + "description": "The eTag of this response for caching purposes.", + "type": "string" + }, + "items": { + "description": "The reports returned in this response.", + "items": { + "$ref": "Report" + }, + "type": "array" + }, + "kind": { + "description": "The kind of list this is, in this case dfareporting#reportList.", + "type": "string" + }, + "nextPageToken": { + "description": "Continuation token used to page through reports. To retrieve the next page of results, set the next request's \"pageToken\" to the value of this field. The page token is only valid for a limited amount of time and should not be persisted.", + "type": "string" + } + }, + "type": "object" + }, + "ReportsConfiguration": { + "description": "Reporting Configuration", + "id": "ReportsConfiguration", + "properties": { + "exposureToConversionEnabled": { + "description": "Whether the exposure to conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.", + "type": "boolean" + }, + "lookbackConfiguration": { + "$ref": "LookbackConfiguration", + "description": "Default lookback windows for new advertisers in this account." + }, + "reportGenerationTimeZoneId": { + "description": "Report generation time zone ID of this account. This is a required field that can only be changed by a superuser. Acceptable values are: - \"1\" for \"America/New_York\" - \"2\" for \"Europe/London\" - \"3\" for \"Europe/Paris\" - \"4\" for \"Africa/Johannesburg\" - \"5\" for \"Asia/Jerusalem\" - \"6\" for \"Asia/Shanghai\" - \"7\" for \"Asia/Hong_Kong\" - \"8\" for \"Asia/Tokyo\" - \"9\" for \"Australia/Sydney\" - \"10\" for \"Asia/Dubai\" - \"11\" for \"America/Los_Angeles\" - \"12\" for \"Pacific/Auckland\" - \"13\" for \"America/Sao_Paulo\" - \"16\" for \"America/Asuncion\" - \"17\" for \"America/Chicago\" - \"18\" for \"America/Denver\" - \"19\" for \"America/St_Johns\" - \"20\" for \"Asia/Dhaka\" - \"21\" for \"Asia/Jakarta\" - \"22\" for \"Asia/Kabul\" - \"23\" for \"Asia/Karachi\" - \"24\" for \"Asia/Calcutta\" - \"25\" for \"Asia/Pyongyang\" - \"26\" for \"Asia/Rangoon\" - \"27\" for \"Atlantic/Cape_Verde\" - \"28\" for \"Atlantic/South_Georgia\" - \"29\" for \"Australia/Adelaide\" - \"30\" for \"Australia/Lord_Howe\" - \"31\" for \"Europe/Moscow\" - \"32\" for \"Pacific/Kiritimati\" - \"35\" for \"Pacific/Norfolk\" - \"36\" for \"Pacific/Tongatapu\" ", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "RichMediaExitOverride": { + "description": "Rich Media Exit Override.", + "id": "RichMediaExitOverride", + "properties": { + "clickThroughUrl": { + "$ref": "ClickThroughUrl", + "description": "Click-through URL of this rich media exit override. Applicable if the enabled field is set to true." + }, + "enabled": { + "description": "Whether to use the clickThroughUrl. If false, the creative-level exit will be used.", + "type": "boolean" + }, + "exitId": { + "description": "ID for the override to refer to a specific exit in the creative.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "Rule": { + "description": "A rule associates an asset with a targeting template for asset-level targeting. Applicable to INSTREAM_VIDEO creatives.", + "id": "Rule", + "properties": { + "assetId": { + "description": "A creativeAssets[].id. This should refer to one of the parent assets in this creative. This is a required field.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "A user-friendly name for this rule. This is a required field.", + "type": "string" + }, + "targetingTemplateId": { + "description": "A targeting template ID. The targeting from the targeting template will be used to determine whether this asset should be served. This is a required field.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "Site": { + "description": "Contains properties of a site.", + "id": "Site", + "properties": { + "accountId": { + "description": "Account ID of this site. This is a read-only field that can be left blank.", + "format": "int64", + "type": "string" + }, + "approved": { + "description": "Whether this site is approved.", + "type": "boolean" + }, + "directorySiteId": { + "description": "Directory site associated with this site. This is a required field that is read-only after insertion.", + "format": "int64", + "type": "string" + }, + "directorySiteIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the directory site. This is a read-only, auto-generated field." + }, + "id": { + "description": "ID of this site. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + }, + "idDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of this site. This is a read-only, auto-generated field." + }, + "keyName": { + "description": "Key name of this site. This is a read-only, auto-generated field.", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#site\".", + "type": "string" + }, + "name": { + "description": "Name of this site.This is a required field. Must be less than 128 characters long. If this site is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this site is a top-level site, and the name must be unique among top-level sites of the same account.", + "type": "string" + }, + "siteContacts": { + "description": "Site contacts.", + "items": { + "$ref": "SiteContact" + }, + "type": "array" + }, + "siteSettings": { + "$ref": "SiteSettings", + "description": "Site-wide settings." + }, + "subaccountId": { + "description": "Subaccount ID of this site. This is a read-only field that can be left blank.", + "format": "int64", + "type": "string" + }, + "videoSettings": { + "$ref": "SiteVideoSettings", + "description": "Default video settings for new placements created under this site. This value will be used to populate the placements.videoSettings field, when no value is specified for the new placement." + } + }, + "type": "object" + }, + "SiteCompanionSetting": { + "description": "Companion Settings", + "id": "SiteCompanionSetting", + "properties": { + "companionsDisabled": { + "description": "Whether companions are disabled for this site template.", + "type": "boolean" + }, + "enabledSizes": { + "description": "Allowlist of companion sizes to be served via this site template. Set this list to null or empty to serve all companion sizes.", + "items": { + "$ref": "Size" + }, + "type": "array" + }, + "imageOnly": { + "description": "Whether to serve only static images as companions.", + "type": "boolean" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#siteCompanionSetting\".", + "type": "string" + } + }, + "type": "object" + }, + "SiteContact": { + "description": "Site Contact", + "id": "SiteContact", + "properties": { + "address": { + "description": "Address of this site contact.", + "type": "string" + }, + "contactType": { + "description": "Site contact type.", + "enum": [ + "SALES_PERSON", + "TRAFFICKER" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "email": { + "description": "Email address of this site contact. This is a required field.", + "type": "string" + }, + "firstName": { + "description": "First name of this site contact.", + "type": "string" + }, + "id": { + "description": "ID of this site contact. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + }, + "lastName": { + "description": "Last name of this site contact.", + "type": "string" + }, + "phone": { + "description": "Primary phone number of this site contact.", + "type": "string" + }, + "title": { + "description": "Title or designation of this site contact.", + "type": "string" + } + }, + "type": "object" + }, + "SiteSettings": { + "description": "Site Settings", + "id": "SiteSettings", + "properties": { + "activeViewOptOut": { + "description": "Whether active view creatives are disabled for this site.", + "type": "boolean" + }, + "adBlockingOptOut": { + "description": "Whether this site opts out of ad blocking. When true, ad blocking is disabled for all placements under the site, regardless of the individual placement settings. When false, the campaign and placement settings take effect.", + "type": "boolean" + }, + "disableNewCookie": { + "description": "Whether new cookies are disabled for this site.", + "type": "boolean" + }, + "tagSetting": { + "$ref": "TagSetting", + "description": "Configuration settings for dynamic and image floodlight tags." + }, + "videoActiveViewOptOutTemplate": { + "description": "Whether Verification and ActiveView for in-stream video creatives are disabled by default for new placements created under this site. This value will be used to populate the placement.videoActiveViewOptOut field, when no value is specified for the new placement.", + "type": "boolean" + }, + "vpaidAdapterChoiceTemplate": { + "description": "Default VPAID adapter setting for new placements created under this site. This value will be used to populate the placements.vpaidAdapterChoice field, when no value is specified for the new placement. Controls which VPAID format the measurement adapter will use for in-stream video creatives assigned to the placement. The publisher's specifications will typically determine this setting. For VPAID creatives, the adapter format will match the VPAID format (HTML5 VPAID creatives use the HTML5 adapter). *Note:* Flash is no longer supported. This field now defaults to HTML5 when the following values are provided: FLASH, BOTH.", + "enum": [ + "DEFAULT", + "FLASH", + "HTML5", + "BOTH" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "SiteSkippableSetting": { + "description": "Skippable Settings", + "id": "SiteSkippableSetting", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#siteSkippableSetting\".", + "type": "string" + }, + "progressOffset": { + "$ref": "VideoOffset", + "description": "Amount of time to play videos served to this site template before counting a view. Applicable when skippable is true." + }, + "skipOffset": { + "$ref": "VideoOffset", + "description": "Amount of time to play videos served to this site before the skip button should appear. Applicable when skippable is true." + }, + "skippable": { + "description": "Whether the user can skip creatives served to this site. This will act as default for new placements created under this site.", + "type": "boolean" + } + }, + "type": "object" + }, + "SiteTranscodeSetting": { + "description": "Transcode Settings", + "id": "SiteTranscodeSetting", + "properties": { + "enabledVideoFormats": { + "description": "Allowlist of video formats to be served to this site template. Set this list to null or empty to serve all video formats.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#siteTranscodeSetting\".", + "type": "string" + } + }, + "type": "object" + }, + "SiteVideoSettings": { + "description": "Video Settings", + "id": "SiteVideoSettings", + "properties": { + "companionSettings": { + "$ref": "SiteCompanionSetting", + "description": "Settings for the companion creatives of video creatives served to this site." + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#siteVideoSettings\".", + "type": "string" + }, + "obaEnabled": { + "description": "Whether OBA icons are enabled for this placement.", + "type": "boolean" + }, + "obaSettings": { + "$ref": "ObaIcon", + "description": "Settings for the OBA icon of video creatives served to this site. This will act as default for new placements created under this site." + }, + "orientation": { + "description": "Orientation of a site template used for video. This will act as default for new placements created under this site.", + "enum": [ + "ANY", + "LANDSCAPE", + "PORTRAIT" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "skippableSettings": { + "$ref": "SiteSkippableSetting", + "description": "Settings for the skippability of video creatives served to this site. This will act as default for new placements created under this site." + }, + "transcodeSettings": { + "$ref": "SiteTranscodeSetting", + "description": "Settings for the transcodes of video creatives served to this site. This will act as default for new placements created under this site." + } + }, + "type": "object" + }, + "SitesListResponse": { + "description": "Site List Response", + "id": "SitesListResponse", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#sitesListResponse\".", + "type": "string" + }, + "nextPageToken": { + "description": "Pagination token to be used for the next list operation.", + "type": "string" + }, + "sites": { + "description": "Site collection.", + "items": { + "$ref": "Site" + }, + "type": "array" + } + }, + "type": "object" + }, + "Size": { + "description": "Represents the dimensions of ads, placements, creatives, or creative assets.", + "id": "Size", + "properties": { + "height": { + "description": "Height of this size. Acceptable values are 0 to 32767, inclusive.", + "format": "int32", + "type": "integer" + }, + "iab": { + "description": "IAB standard size. This is a read-only, auto-generated field.", + "type": "boolean" + }, + "id": { + "description": "ID of this size. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#size\".", + "type": "string" + }, + "width": { + "description": "Width of this size. Acceptable values are 0 to 32767, inclusive.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "SizesListResponse": { + "description": "Size List Response", + "id": "SizesListResponse", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#sizesListResponse\".", + "type": "string" + }, + "sizes": { + "description": "Size collection.", + "items": { + "$ref": "Size" + }, + "type": "array" + } + }, + "type": "object" + }, + "SkippableSetting": { + "description": "Skippable Settings", + "id": "SkippableSetting", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#skippableSetting\".", + "type": "string" + }, + "progressOffset": { + "$ref": "VideoOffset", + "description": "Amount of time to play videos served to this placement before counting a view. Applicable when skippable is true." + }, + "skipOffset": { + "$ref": "VideoOffset", + "description": "Amount of time to play videos served to this placement before the skip button should appear. Applicable when skippable is true." + }, + "skippable": { + "description": "Whether the user can skip creatives served to this placement.", + "type": "boolean" + } + }, + "type": "object" + }, + "SortedDimension": { + "description": "Represents a sorted dimension.", + "id": "SortedDimension", + "properties": { + "kind": { + "description": "The kind of resource this is, in this case dfareporting#sortedDimension.", + "type": "string" + }, + "name": { + "description": "The name of the dimension.", + "type": "string" + }, + "sortOrder": { + "description": "An optional sort order for the dimension column.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "Subaccount": { + "description": "Contains properties of a Campaign Manager subaccount.", + "id": "Subaccount", + "properties": { + "accountId": { + "description": "ID of the account that contains this subaccount. This is a read-only field that can be left blank.", + "format": "int64", + "type": "string" + }, + "availablePermissionIds": { + "description": "IDs of the available user role permissions for this subaccount.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "ID of this subaccount. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#subaccount\".", + "type": "string" + }, + "name": { + "description": "Name of this subaccount. This is a required field. Must be less than 128 characters long and be unique among subaccounts of the same account.", + "type": "string" + } + }, + "type": "object" + }, + "SubaccountsListResponse": { + "description": "Subaccount List Response", + "id": "SubaccountsListResponse", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#subaccountsListResponse\".", + "type": "string" + }, + "nextPageToken": { + "description": "Pagination token to be used for the next list operation.", + "type": "string" + }, + "subaccounts": { + "description": "Subaccount collection.", + "items": { + "$ref": "Subaccount" + }, + "type": "array" + } + }, + "type": "object" + }, + "TagData": { + "description": "Placement Tag Data", + "id": "TagData", + "properties": { + "adId": { + "description": "Ad associated with this placement tag. Applicable only when format is PLACEMENT_TAG_TRACKING.", + "format": "int64", + "type": "string" + }, + "clickTag": { + "description": "Tag string to record a click.", + "type": "string" + }, + "creativeId": { + "description": "Creative associated with this placement tag. Applicable only when format is PLACEMENT_TAG_TRACKING.", + "format": "int64", + "type": "string" + }, + "format": { + "description": "TagData tag format of this tag.", + "enum": [ + "PLACEMENT_TAG_STANDARD", + "PLACEMENT_TAG_IFRAME_JAVASCRIPT", + "PLACEMENT_TAG_IFRAME_ILAYER", + "PLACEMENT_TAG_INTERNAL_REDIRECT", + "PLACEMENT_TAG_JAVASCRIPT", + "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT", + "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT", + "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT", + "PLACEMENT_TAG_CLICK_COMMANDS", + "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH", + "PLACEMENT_TAG_TRACKING", + "PLACEMENT_TAG_TRACKING_IFRAME", + "PLACEMENT_TAG_TRACKING_JAVASCRIPT", + "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3", + "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY", + "PLACEMENT_TAG_JAVASCRIPT_LEGACY", + "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY", + "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY", + "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4", + "PLACEMENT_TAG_TRACKING_THIRD_PARTY_MEASUREMENT" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "impressionTag": { + "description": "Tag string for serving an ad.", + "type": "string" + } + }, + "type": "object" + }, + "TagSetting": { + "description": "Tag Settings", + "id": "TagSetting", + "properties": { + "additionalKeyValues": { + "description": "Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.", + "type": "string" + }, + "includeClickThroughUrls": { + "description": "Whether static landing page URLs should be included in the tags. This setting applies only to placements.", + "type": "boolean" + }, + "includeClickTracking": { + "description": "Whether click-tracking string should be included in the tags.", + "type": "boolean" + }, + "keywordOption": { + "description": "Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.", + "enum": [ + "PLACEHOLDER_WITH_LIST_OF_KEYWORDS", + "IGNORE", + "GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "TagSettings": { + "description": "Dynamic and Image Tag Settings.", + "id": "TagSettings", + "properties": { + "dynamicTagEnabled": { + "description": "Whether dynamic floodlight tags are enabled.", + "type": "boolean" + }, + "imageTagEnabled": { + "description": "Whether image tags are enabled.", + "type": "boolean" + } + }, + "type": "object" + }, + "TargetWindow": { + "description": "Target Window.", + "id": "TargetWindow", + "properties": { + "customHtml": { + "description": "User-entered value.", + "type": "string" + }, + "targetWindowOption": { + "description": "Type of browser window for which the backup image of the flash creative can be displayed.", + "enum": [ + "NEW_WINDOW", + "CURRENT_WINDOW", + "CUSTOM" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "TargetableRemarketingList": { + "description": "Contains properties of a targetable remarketing list. Remarketing enables you to create lists of users who have performed specific actions on a site, then target ads to members of those lists. This resource is a read-only view of a remarketing list to be used to faciliate targeting ads to specific lists. Remarketing lists that are owned by your advertisers and those that are shared to your advertisers or account are accessible via this resource. To manage remarketing lists that are owned by your advertisers, use the RemarketingLists resource.", + "id": "TargetableRemarketingList", + "properties": { + "accountId": { + "description": "Account ID of this remarketing list. This is a read-only, auto-generated field that is only returned in GET requests.", + "format": "int64", + "type": "string" + }, + "active": { + "description": "Whether this targetable remarketing list is active.", + "type": "boolean" + }, + "advertiserId": { + "description": "Dimension value for the advertiser ID that owns this targetable remarketing list.", + "format": "int64", + "type": "string" + }, + "advertiserIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the advertiser." + }, + "description": { + "description": "Targetable remarketing list description.", + "type": "string" + }, + "id": { + "description": "Targetable remarketing list ID.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#targetableRemarketingList\".", + "type": "string" + }, + "lifeSpan": { + "description": "Number of days that a user should remain in the targetable remarketing list without an impression.", + "format": "int64", + "type": "string" + }, + "listSize": { + "description": "Number of users currently in the list. This is a read-only field.", + "format": "int64", + "type": "string" + }, + "listSource": { + "description": "Product from which this targetable remarketing list was originated.", + "enum": [ + "REMARKETING_LIST_SOURCE_OTHER", + "REMARKETING_LIST_SOURCE_ADX", + "REMARKETING_LIST_SOURCE_DFP", + "REMARKETING_LIST_SOURCE_XFP", + "REMARKETING_LIST_SOURCE_DFA", + "REMARKETING_LIST_SOURCE_GA", + "REMARKETING_LIST_SOURCE_YOUTUBE", + "REMARKETING_LIST_SOURCE_DBM", + "REMARKETING_LIST_SOURCE_GPLUS", + "REMARKETING_LIST_SOURCE_DMP", + "REMARKETING_LIST_SOURCE_PLAY_STORE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "name": { + "description": "Name of the targetable remarketing list. Is no greater than 128 characters long.", + "type": "string" + }, + "subaccountId": { + "description": "Subaccount ID of this remarketing list. This is a read-only, auto-generated field that is only returned in GET requests.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "TargetableRemarketingListsListResponse": { + "description": "Targetable remarketing list response", + "id": "TargetableRemarketingListsListResponse", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#targetableRemarketingListsListResponse\".", + "type": "string" + }, + "nextPageToken": { + "description": "Pagination token to be used for the next list operation.", + "type": "string" + }, + "targetableRemarketingLists": { + "description": "Targetable remarketing list collection.", + "items": { + "$ref": "TargetableRemarketingList" + }, + "type": "array" + } + }, + "type": "object" + }, + "TargetingTemplate": { + "description": "Contains properties of a targeting template. A targeting template encapsulates targeting information which can be reused across multiple ads.", + "id": "TargetingTemplate", + "properties": { + "accountId": { + "description": "Account ID of this targeting template. This field, if left unset, will be auto-generated on insert and is read-only after insert.", + "format": "int64", + "type": "string" + }, + "advertiserId": { + "description": "Advertiser ID of this targeting template. This is a required field on insert and is read-only after insert.", + "format": "int64", + "type": "string" + }, + "advertiserIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the advertiser. This is a read-only, auto-generated field." + }, + "dayPartTargeting": { + "$ref": "DayPartTargeting", + "description": "Time and day targeting criteria." + }, + "geoTargeting": { + "$ref": "GeoTargeting", + "description": "Geographical targeting criteria." + }, + "id": { + "description": "ID of this targeting template. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + }, + "keyValueTargetingExpression": { + "$ref": "KeyValueTargetingExpression", + "description": "Key-value targeting criteria." + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#targetingTemplate\".", + "type": "string" + }, + "languageTargeting": { + "$ref": "LanguageTargeting", + "description": "Language targeting criteria." + }, + "listTargetingExpression": { + "$ref": "ListTargetingExpression", + "description": "Remarketing list targeting criteria." + }, + "name": { + "description": "Name of this targeting template. This field is required. It must be less than 256 characters long and unique within an advertiser.", + "type": "string" + }, + "subaccountId": { + "description": "Subaccount ID of this targeting template. This field, if left unset, will be auto-generated on insert and is read-only after insert.", + "format": "int64", + "type": "string" + }, + "technologyTargeting": { + "$ref": "TechnologyTargeting", + "description": "Technology platform targeting criteria." + } + }, + "type": "object" + }, + "TargetingTemplatesListResponse": { + "description": "Targeting Template List Response", + "id": "TargetingTemplatesListResponse", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#targetingTemplatesListResponse\".", + "type": "string" + }, + "nextPageToken": { + "description": "Pagination token to be used for the next list operation.", + "type": "string" + }, + "targetingTemplates": { + "description": "Targeting template collection.", + "items": { + "$ref": "TargetingTemplate" + }, + "type": "array" + } + }, + "type": "object" + }, + "TechnologyTargeting": { + "description": "Technology Targeting.", + "id": "TechnologyTargeting", + "properties": { + "browsers": { + "description": "Browsers that this ad targets. For each browser either set browserVersionId or dartId along with the version numbers. If both are specified, only browserVersionId will be used. The other fields are populated automatically when the ad is inserted or updated.", + "items": { + "$ref": "Browser" + }, + "type": "array" + }, + "connectionTypes": { + "description": "Connection types that this ad targets. For each connection type only id is required. The other fields are populated automatically when the ad is inserted or updated.", + "items": { + "$ref": "ConnectionType" + }, + "type": "array" + }, + "mobileCarriers": { + "description": "Mobile carriers that this ad targets. For each mobile carrier only id is required, and the other fields are populated automatically when the ad is inserted or updated. If targeting a mobile carrier, do not set targeting for any zip codes.", + "items": { + "$ref": "MobileCarrier" + }, + "type": "array" + }, + "operatingSystemVersions": { + "description": "Operating system versions that this ad targets. To target all versions, use operatingSystems. For each operating system version, only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system version, do not set targeting for the corresponding operating system in operatingSystems.", + "items": { + "$ref": "OperatingSystemVersion" + }, + "type": "array" + }, + "operatingSystems": { + "description": "Operating systems that this ad targets. To target specific versions, use operatingSystemVersions. For each operating system only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system, do not set targeting for operating system versions for the same operating system.", + "items": { + "$ref": "OperatingSystem" + }, + "type": "array" + }, + "platformTypes": { + "description": "Platform types that this ad targets. For example, desktop, mobile, or tablet. For each platform type, only id is required, and the other fields are populated automatically when the ad is inserted or updated.", + "items": { + "$ref": "PlatformType" + }, + "type": "array" + } + }, + "type": "object" + }, + "ThirdPartyAuthenticationToken": { + "description": "Third Party Authentication Token", + "id": "ThirdPartyAuthenticationToken", + "properties": { + "name": { + "description": "Name of the third-party authentication token.", + "type": "string" + }, + "value": { + "description": "Value of the third-party authentication token. This is a read-only, auto-generated field.", + "type": "string" + } + }, + "type": "object" + }, + "ThirdPartyTrackingUrl": { + "description": "Third-party Tracking URL.", + "id": "ThirdPartyTrackingUrl", + "properties": { + "thirdPartyUrlType": { + "description": "Third-party URL type for in-stream video and in-stream audio creatives.", + "enum": [ + "IMPRESSION", + "CLICK_TRACKING", + "VIDEO_START", + "VIDEO_FIRST_QUARTILE", + "VIDEO_MIDPOINT", + "VIDEO_THIRD_QUARTILE", + "VIDEO_COMPLETE", + "VIDEO_MUTE", + "VIDEO_PAUSE", + "VIDEO_REWIND", + "VIDEO_FULLSCREEN", + "VIDEO_STOP", + "VIDEO_CUSTOM", + "SURVEY", + "RICH_MEDIA_IMPRESSION", + "RICH_MEDIA_RM_IMPRESSION", + "RICH_MEDIA_BACKUP_IMPRESSION", + "VIDEO_SKIP", + "VIDEO_PROGRESS" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "url": { + "description": "URL for the specified third-party URL type.", + "type": "string" + } + }, + "type": "object" + }, + "TranscodeSetting": { + "description": "Transcode Settings", + "id": "TranscodeSetting", + "properties": { + "enabledVideoFormats": { + "description": "Allowlist of video formats to be served to this placement. Set this list to null or empty to serve all video formats.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#transcodeSetting\".", + "type": "string" + } + }, + "type": "object" + }, + "UniversalAdId": { + "description": "A Universal Ad ID as per the VAST 4.0 spec. Applicable to the following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and VPAID.", + "id": "UniversalAdId", + "properties": { + "registry": { + "description": "Registry used for the Ad ID value.", + "enum": [ + "OTHER", + "AD_ID_OFFICIAL", + "CLEARCAST", + "DCM" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "value": { + "description": "ID value for this creative. Only alphanumeric characters and the following symbols are valid: \"_/\\-\". Maximum length is 64 characters. Read only when registry is DCM.", + "type": "string" + } + }, + "type": "object" + }, + "UserDefinedVariableConfiguration": { + "description": "User Defined Variable configuration.", + "id": "UserDefinedVariableConfiguration", + "properties": { + "dataType": { + "description": "Data type for the variable. This is a required field.", + "enum": [ + "STRING", + "NUMBER" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "reportName": { + "description": "User-friendly name for the variable which will appear in reports. This is a required field, must be less than 64 characters long, and cannot contain the following characters: \"\"<>\".", + "type": "string" + }, + "variableType": { + "description": "Variable name in the tag. This is a required field.", + "enum": [ + "U1", + "U2", + "U3", + "U4", + "U5", + "U6", + "U7", + "U8", + "U9", + "U10", + "U11", + "U12", + "U13", + "U14", + "U15", + "U16", + "U17", + "U18", + "U19", + "U20", + "U21", + "U22", + "U23", + "U24", + "U25", + "U26", + "U27", + "U28", + "U29", + "U30", + "U31", + "U32", + "U33", + "U34", + "U35", + "U36", + "U37", + "U38", + "U39", + "U40", + "U41", + "U42", + "U43", + "U44", + "U45", + "U46", + "U47", + "U48", + "U49", + "U50", + "U51", + "U52", + "U53", + "U54", + "U55", + "U56", + "U57", + "U58", + "U59", + "U60", + "U61", + "U62", + "U63", + "U64", + "U65", + "U66", + "U67", + "U68", + "U69", + "U70", + "U71", + "U72", + "U73", + "U74", + "U75", + "U76", + "U77", + "U78", + "U79", + "U80", + "U81", + "U82", + "U83", + "U84", + "U85", + "U86", + "U87", + "U88", + "U89", + "U90", + "U91", + "U92", + "U93", + "U94", + "U95", + "U96", + "U97", + "U98", + "U99", + "U100" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "UserProfile": { + "description": "A UserProfile resource lets you list all DFA user profiles that are associated with a Google user account. The profile_id needs to be specified in other API requests. ", + "id": "UserProfile", + "properties": { + "accountId": { + "description": "The account ID to which this profile belongs.", + "format": "int64", + "type": "string" + }, + "accountName": { + "description": "The account name this profile belongs to.", + "type": "string" + }, + "etag": { + "description": "Etag of this resource.", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#userProfile\".", + "type": "string" + }, + "profileId": { + "description": "The unique ID of the user profile.", + "format": "int64", + "type": "string" + }, + "subAccountId": { + "description": "The sub account ID this profile belongs to if applicable.", + "format": "int64", + "type": "string" + }, + "subAccountName": { + "description": "The sub account name this profile belongs to if applicable.", + "type": "string" + }, + "userName": { + "description": "The user name.", + "type": "string" + } + }, + "type": "object" + }, + "UserProfileList": { + "description": "Represents the list of user profiles.", + "id": "UserProfileList", + "properties": { + "etag": { + "description": "Etag of this resource.", + "type": "string" + }, + "items": { + "description": "The user profiles returned in this response.", + "items": { + "$ref": "UserProfile" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#userProfileList\".", + "type": "string" + } + }, + "type": "object" + }, + "UserRole": { + "description": "Contains properties of auser role, which is used to manage user access.", + "id": "UserRole", + "properties": { + "accountId": { + "description": "Account ID of this user role. This is a read-only field that can be left blank.", + "format": "int64", + "type": "string" + }, + "defaultUserRole": { + "description": "Whether this is a default user role. Default user roles are created by the system for the account/subaccount and cannot be modified or deleted. Each default user role comes with a basic set of preassigned permissions.", + "type": "boolean" + }, + "id": { + "description": "ID of this user role. This is a read-only, auto-generated field.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#userRole\".", + "type": "string" + }, + "name": { + "description": "Name of this user role. This is a required field. Must be less than 256 characters long. If this user role is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this user role is a top-level user role, and the name must be unique among top-level user roles of the same account.", + "type": "string" + }, + "parentUserRoleId": { + "description": "ID of the user role that this user role is based on or copied from. This is a required field.", + "format": "int64", + "type": "string" + }, + "permissions": { + "description": "List of permissions associated with this user role.", + "items": { + "$ref": "UserRolePermission" + }, + "type": "array" + }, + "subaccountId": { + "description": "Subaccount ID of this user role. This is a read-only field that can be left blank.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "UserRolePermission": { + "description": "Contains properties of a user role permission.", + "id": "UserRolePermission", + "properties": { + "availability": { + "description": "Levels of availability for a user role permission.", + "enum": [ + "NOT_AVAILABLE_BY_DEFAULT", + "ACCOUNT_BY_DEFAULT", + "SUBACCOUNT_AND_ACCOUNT_BY_DEFAULT", + "ACCOUNT_ALWAYS", + "SUBACCOUNT_AND_ACCOUNT_ALWAYS", + "USER_PROFILE_ONLY" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "id": { + "description": "ID of this user role permission.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#userRolePermission\".", + "type": "string" + }, + "name": { + "description": "Name of this user role permission.", + "type": "string" + }, + "permissionGroupId": { + "description": "ID of the permission group that this user role permission belongs to.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "UserRolePermissionGroup": { + "description": "Represents a grouping of related user role permissions.", + "id": "UserRolePermissionGroup", + "properties": { + "id": { + "description": "ID of this user role permission.", + "format": "int64", + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#userRolePermissionGroup\".", + "type": "string" + }, + "name": { + "description": "Name of this user role permission group.", + "type": "string" + } + }, + "type": "object" + }, + "UserRolePermissionGroupsListResponse": { + "description": "User Role Permission Group List Response", + "id": "UserRolePermissionGroupsListResponse", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#userRolePermissionGroupsListResponse\".", + "type": "string" + }, + "userRolePermissionGroups": { + "description": "User role permission group collection.", + "items": { + "$ref": "UserRolePermissionGroup" + }, + "type": "array" + } + }, + "type": "object" + }, + "UserRolePermissionsListResponse": { + "description": "User Role Permission List Response", + "id": "UserRolePermissionsListResponse", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#userRolePermissionsListResponse\".", + "type": "string" + }, + "userRolePermissions": { + "description": "User role permission collection.", + "items": { + "$ref": "UserRolePermission" + }, + "type": "array" + } + }, + "type": "object" + }, + "UserRolesListResponse": { + "description": "User Role List Response", + "id": "UserRolesListResponse", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#userRolesListResponse\".", + "type": "string" + }, + "nextPageToken": { + "description": "Pagination token to be used for the next list operation.", + "type": "string" + }, + "userRoles": { + "description": "User role collection.", + "items": { + "$ref": "UserRole" + }, + "type": "array" + } + }, + "type": "object" + }, + "VideoFormat": { + "description": "Contains information about supported video formats.", + "id": "VideoFormat", + "properties": { + "fileType": { + "description": "File type of the video format.", + "enum": [ + "FLV", + "THREEGPP", + "MP4", + "WEBM", + "M3U8" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "id": { + "description": "ID of the video format.", + "format": "int32", + "type": "integer" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#videoFormat\".", + "type": "string" + }, + "resolution": { + "$ref": "Size", + "description": "The resolution of this video format." + }, + "targetBitRate": { + "description": "The target bit rate of this video format.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "VideoFormatsListResponse": { + "description": "Video Format List Response", + "id": "VideoFormatsListResponse", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#videoFormatsListResponse\".", + "type": "string" + }, + "videoFormats": { + "description": "Video format collection.", + "items": { + "$ref": "VideoFormat" + }, + "type": "array" + } + }, + "type": "object" + }, + "VideoOffset": { + "description": "Video Offset", + "id": "VideoOffset", + "properties": { + "offsetPercentage": { + "description": "Duration, as a percentage of video duration. Do not set when offsetSeconds is set. Acceptable values are 0 to 100, inclusive.", + "format": "int32", + "type": "integer" + }, + "offsetSeconds": { + "description": "Duration, in seconds. Do not set when offsetPercentage is set. Acceptable values are 0 to 86399, inclusive.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "VideoSettings": { + "description": "Video Settings", + "id": "VideoSettings", + "properties": { + "companionSettings": { + "$ref": "CompanionSetting", + "description": "Settings for the companion creatives of video creatives served to this placement." + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#videoSettings\".", + "type": "string" + }, + "obaEnabled": { + "description": "Whether OBA icons are enabled for this placement.", + "type": "boolean" + }, + "obaSettings": { + "$ref": "ObaIcon", + "description": "Settings for the OBA icon of video creatives served to this placement. If this object is provided, the creative-level OBA settings will be overridden." + }, + "orientation": { + "description": "Orientation of a video placement. If this value is set, placement will return assets matching the specified orientation.", + "enum": [ + "ANY", + "LANDSCAPE", + "PORTRAIT" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "skippableSettings": { + "$ref": "SkippableSetting", + "description": "Settings for the skippability of video creatives served to this placement. If this object is provided, the creative-level skippable settings will be overridden." + }, + "transcodeSettings": { + "$ref": "TranscodeSetting", + "description": "Settings for the transcodes of video creatives served to this placement. If this object is provided, the creative-level transcode settings will be overridden." + } + }, + "type": "object" + } + }, + "servicePath": "dfareporting/v3.4/", + "title": "Campaign Manager 360 API", + "version": "v3.4" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..44d6c25845ee673da1de15154caf54e620041b2a --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json @@ -0,0 +1,20321 @@ +{ +"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/dialogflow": { +"description": "View, manage and query your Dialogflow agents" +} +} +} +}, +"basePath": "", +"baseUrl": "https://dialogflow.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Dialogflow", +"description": "Builds conversational interfaces (for example, chatbots, and voice-powered apps and devices).", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/dialogflow/", +"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": "dialogflow:v3beta1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://dialogflow.mtls.googleapis.com/", +"name": "dialogflow", +"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": "v3beta1/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleCloudLocationLocation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v3beta1/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "dialogflow.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": "v3beta1/{+name}/locations", +"response": { +"$ref": "GoogleCloudLocationListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +} +}, +"resources": { +"agents": { +"methods": { +"create": { +"description": "Creates an agent in the specified location. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The location to create a agent for. Format: `projects//locations/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/agents", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1Agent" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Agent" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"delete": { +"description": "Deletes the specified agent.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}", +"httpMethod": "DELETE", +"id": "dialogflow.projects.locations.agents.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the agent to delete. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"export": { +"description": "Exports the specified agent to a binary file. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: An empty [Struct message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - `response`: ExportAgentResponse", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}:export", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.export", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the agent to export. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}:export", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1ExportAgentRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"get": { +"description": "Retrieves the specified agent.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the agent. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Agent" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"getGenerativeSettings": { +"description": "Gets the generative settings for the agent.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/generativeSettings", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.getGenerativeSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"languageCode": { +"description": "Required. Language code of the generative settings.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. Format: `projects//locations//agents//generativeSettings`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/generativeSettings$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1GenerativeSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"getValidationResult": { +"description": "Gets the latest agent validation result. Agent validation is performed when ValidateAgent is called.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/validationResult", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.getValidationResult", +"parameterOrder": [ +"name" +], +"parameters": { +"languageCode": { +"description": "If not specified, the agent's default language is used.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The agent name. Format: `projects//locations//agents//validationResult`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/validationResult$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1AgentValidationResult" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"list": { +"description": "Returns the list of all agents in the specified location.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of items to return in a single page. By default 100 and at most 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous list request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The location to list all agents for. Format: `projects//locations/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/agents", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1ListAgentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"patch": { +"description": "Updates the specified agent. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}", +"httpMethod": "PATCH", +"id": "dialogflow.projects.locations.agents.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The unique identifier of the agent. Required for the Agents.UpdateAgent method. Agents.CreateAgent populates the name automatically. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The mask to control which fields get updated. If the mask is not present, all fields will be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1Agent" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Agent" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"restore": { +"description": "Restores the specified agent from a binary file. Replaces the current agent with a new one. Note that all existing resources in agent (e.g. intents, entity types, flows) will be removed. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: An empty [Struct message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - `response`: An [Empty message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}:restore", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.restore", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the agent to restore into. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}:restore", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1RestoreAgentRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"updateGenerativeSettings": { +"description": "Updates the generative settings for the agent.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/generativeSettings", +"httpMethod": "PATCH", +"id": "dialogflow.projects.locations.agents.updateGenerativeSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Format: `projects//locations//agents//generativeSettings`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/generativeSettings$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. The mask to control which fields get updated. If the mask is not present, all fields will be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1GenerativeSettings" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1GenerativeSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"validate": { +"description": "Validates the specified agent and creates or updates validation results. The agent in draft version is validated. Please call this API after the training is completed to get the complete validation results.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}:validate", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.validate", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The agent to validate. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}:validate", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1ValidateAgentRequest" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1AgentValidationResult" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +} +}, +"resources": { +"changelogs": { +"methods": { +"get": { +"description": "Retrieves the specified Changelog.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/changelogs/{changelogsId}", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.changelogs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the changelog to get. Format: `projects//locations//agents//changelogs/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/changelogs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Changelog" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"list": { +"description": "Returns the list of Changelogs.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/changelogs", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.changelogs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The filter string. Supports filter by user_email, resource, type and create_time. Some examples: 1. By user email: user_email = \"someone@google.com\" 2. By resource name: resource = \"projects/123/locations/global/agents/456/flows/789\" 3. By resource display name: display_name = \"my agent\" 4. By action: action = \"Create\" 5. By type: type = \"flows\" 6. By create time. Currently predicates on `create_time` and `create_time_epoch_seconds` are supported: create_time_epoch_seconds > 1551790877 AND create_time <= 2017-01-15T01:30:15.01Z 7. Combination of above filters: resource = \"projects/123/locations/global/agents/456/flows/789\" AND user_email = \"someone@google.com\" AND create_time <= 2017-01-15T01:30:15.01Z", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of items to return in a single page. By default 100 and at most 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous list request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The agent containing the changelogs. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/changelogs", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1ListChangelogsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +} +} +}, +"conversations": { +"methods": { +"delete": { +"description": "Deletes the specified conversation.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/conversations/{conversationsId}", +"httpMethod": "DELETE", +"id": "dialogflow.projects.locations.agents.conversations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the conversation. Format: `projects//locations//agents//conversations/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"get": { +"description": "Retrieves the specified conversation.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/conversations/{conversationsId}", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.conversations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the conversation. Format: `projects//locations//agents//conversations/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Conversation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"list": { +"description": "Returns the list of all conversations.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/conversations", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.conversations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The filter string. Supports filter by create_time, metrics.has_end_interaction, metrics.has_live_agent_handoff, intents.display_name, pages.display_name and flows.display_name. Timestamps expect an RFC-3339 formatted string (e.g. 2012-04-21T11:30:00-04:00). UTC offsets are supported. Some examples: 1. By create time: create_time > \"2022-04-21T11:30:00-04:00\" 2. By intent display name: intents.display_name : \"billing\" 3. By end interaction signal: metrics.has_end_interaction = true", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of items to return in a single page. By default 100 and at most 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The next_page_token value returned from a previous list request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The agent to list all conversations for. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/conversations", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1ListConversationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +} +} +}, +"entityTypes": { +"methods": { +"create": { +"description": "Creates an entity type in the specified agent.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/entityTypes", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.entityTypes.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"languageCode": { +"description": "The language of the following fields in `entity_type`: * `EntityType.entities.value` * `EntityType.entities.synonyms` * `EntityType.excluded_phrases.value` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The agent to create a entity type for. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/entityTypes", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1EntityType" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1EntityType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"delete": { +"description": "Deletes the specified entity type. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/entityTypes/{entityTypesId}", +"httpMethod": "DELETE", +"id": "dialogflow.projects.locations.agents.entityTypes.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "This field has no effect for entity type not being used. For entity types that are used by intents or pages: * If `force` is set to false, an error will be returned with message indicating the referencing resources. * If `force` is set to true, Dialogflow will remove the entity type, as well as any references to the entity type (i.e. Page parameter of the entity type will be changed to '@sys.any' and intent parameter of the entity type will be removed).", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the entity type to delete. Format: `projects//locations//agents//entityTypes/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"export": { +"description": "Exports the selected entity types.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/entityTypes:export", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.entityTypes.export", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the parent agent to export entity types. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/entityTypes:export", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1ExportEntityTypesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"get": { +"description": "Retrieves the specified entity type.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/entityTypes/{entityTypesId}", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.entityTypes.get", +"parameterOrder": [ +"name" +], +"parameters": { +"languageCode": { +"description": "The language to retrieve the entity type for. The following fields are language dependent: * `EntityType.entities.value` * `EntityType.entities.synonyms` * `EntityType.excluded_phrases.value` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The name of the entity type. Format: `projects//locations//agents//entityTypes/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1EntityType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"import": { +"description": "Imports the specified entitytypes into the agent.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/entityTypes:import", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.entityTypes.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The agent to import the entity types into. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/entityTypes:import", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1ImportEntityTypesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"list": { +"description": "Returns the list of all entity types in the specified agent.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/entityTypes", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.entityTypes.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"languageCode": { +"description": "The language to list entity types for. The following fields are language dependent: * `EntityType.entities.value` * `EntityType.entities.synonyms` * `EntityType.excluded_phrases.value` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of items to return in a single page. By default 100 and at most 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous list request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The agent to list all entity types for. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/entityTypes", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1ListEntityTypesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"patch": { +"description": "Updates the specified entity type. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/entityTypes/{entityTypesId}", +"httpMethod": "PATCH", +"id": "dialogflow.projects.locations.agents.entityTypes.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"languageCode": { +"description": "The language of the following fields in `entity_type`: * `EntityType.entities.value` * `EntityType.entities.synonyms` * `EntityType.excluded_phrases.value` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The unique identifier of the entity type. Required for EntityTypes.UpdateEntityType. Format: `projects//locations//agents//entityTypes/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The mask to control which fields get updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1EntityType" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1EntityType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +} +} +}, +"environments": { +"methods": { +"create": { +"description": "Creates an Environment in the specified Agent. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: An empty [Struct message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - `response`: Environment", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.environments.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The Agent to create an Environment for. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/environments", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1Environment" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"delete": { +"description": "Deletes the specified Environment.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}", +"httpMethod": "DELETE", +"id": "dialogflow.projects.locations.agents.environments.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Environment to delete. Format: `projects//locations//agents//environments/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"deployFlow": { +"description": "Deploys a flow to the specified Environment. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: DeployFlowMetadata - `response`: DeployFlowResponse", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}:deployFlow", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.environments.deployFlow", +"parameterOrder": [ +"environment" +], +"parameters": { +"environment": { +"description": "Required. The environment to deploy the flow to. Format: `projects//locations//agents//environments/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+environment}:deployFlow", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1DeployFlowRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"get": { +"description": "Retrieves the specified Environment.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.environments.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Environment. Format: `projects//locations//agents//environments/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Environment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"list": { +"description": "Returns the list of all environments in the specified Agent.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.environments.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of items to return in a single page. By default 20 and at most 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous list request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The Agent to list all environments for. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/environments", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1ListEnvironmentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"lookupEnvironmentHistory": { +"description": "Looks up the history of the specified Environment.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}:lookupEnvironmentHistory", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.environments.lookupEnvironmentHistory", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the environment to look up the history for. Format: `projects//locations//agents//environments/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of items to return in a single page. By default 100 and at most 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous list request.", +"location": "query", +"type": "string" +} +}, +"path": "v3beta1/{+name}:lookupEnvironmentHistory", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1LookupEnvironmentHistoryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"patch": { +"description": "Updates the specified Environment. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: An empty [Struct message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - `response`: Environment", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}", +"httpMethod": "PATCH", +"id": "dialogflow.projects.locations.agents.environments.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the environment. Format: `projects//locations//agents//environments/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The mask to control which fields get updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1Environment" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"runContinuousTest": { +"description": "Kicks off a continuous test under the specified Environment. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: RunContinuousTestMetadata - `response`: RunContinuousTestResponse", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}:runContinuousTest", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.environments.runContinuousTest", +"parameterOrder": [ +"environment" +], +"parameters": { +"environment": { +"description": "Required. Format: `projects//locations//agents//environments/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+environment}:runContinuousTest", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1RunContinuousTestRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +} +}, +"resources": { +"continuousTestResults": { +"methods": { +"list": { +"description": "Fetches a list of continuous test results for a given environment.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/continuousTestResults", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.environments.continuousTestResults.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of items to return in a single page. By default 100 and at most 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous list request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The environment to list results for. Format: `projects//locations//agents//environments/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/continuousTestResults", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1ListContinuousTestResultsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +} +} +}, +"deployments": { +"methods": { +"get": { +"description": "Retrieves the specified Deployment.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/deployments/{deploymentsId}", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.environments.deployments.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Deployment. Format: `projects//locations//agents//environments//deployments/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/deployments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Deployment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"list": { +"description": "Returns the list of all deployments in the specified Environment.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/deployments", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.environments.deployments.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of items to return in a single page. By default 20 and at most 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous list request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The Environment to list all environments for. Format: `projects//locations//agents//environments/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/deployments", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1ListDeploymentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +} +} +}, +"experiments": { +"methods": { +"create": { +"description": "Creates an Experiment in the specified Environment.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/experiments", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.environments.experiments.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The Agent to create an Environment for. Format: `projects//locations//agents//environments/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/experiments", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1Experiment" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Experiment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"delete": { +"description": "Deletes the specified Experiment.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/experiments/{experimentsId}", +"httpMethod": "DELETE", +"id": "dialogflow.projects.locations.agents.environments.experiments.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Environment to delete. Format: `projects//locations//agents//environments//experiments/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/experiments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"get": { +"description": "Retrieves the specified Experiment.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/experiments/{experimentsId}", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.environments.experiments.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Environment. Format: `projects//locations//agents//environments//experiments/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/experiments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Experiment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"list": { +"description": "Returns the list of all experiments in the specified Environment.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/experiments", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.environments.experiments.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of items to return in a single page. By default 20 and at most 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous list request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The Environment to list all environments for. Format: `projects//locations//agents//environments/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/experiments", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1ListExperimentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"patch": { +"description": "Updates the specified Experiment.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/experiments/{experimentsId}", +"httpMethod": "PATCH", +"id": "dialogflow.projects.locations.agents.environments.experiments.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the experiment. Format: projects//locations//agents//environments//experiments/.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/experiments/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The mask to control which fields get updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1Experiment" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Experiment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"start": { +"description": "Starts the specified Experiment. This rpc only changes the state of experiment from PENDING to RUNNING.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/experiments/{experimentsId}:start", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.environments.experiments.start", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the experiment to start. Format: `projects//locations//agents//environments//experiments/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/experiments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}:start", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1StartExperimentRequest" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Experiment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"stop": { +"description": "Stops the specified Experiment. This rpc only changes the state of experiment from RUNNING to DONE.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/experiments/{experimentsId}:stop", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.environments.experiments.stop", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the experiment to stop. Format: `projects//locations//agents//environments//experiments/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/experiments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}:stop", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1StopExperimentRequest" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Experiment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +} +} +}, +"sessions": { +"methods": { +"detectIntent": { +"description": "Processes a natural language query and returns structured, actionable data as a result. This method is not idempotent, because it may cause session entity types to be updated, which in turn might affect results of future queries. Note: Always use agent versions for production traffic. See [Versions and environments](https://cloud.google.com/dialogflow/cx/docs/concept/version).", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/sessions/{sessionsId}:detectIntent", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.environments.sessions.detectIntent", +"parameterOrder": [ +"session" +], +"parameters": { +"session": { +"description": "Required. The name of the session this query is sent to. Format: `projects//locations//agents//sessions/` or `projects//locations//agents//environments//sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment. It's up to the API caller to choose an appropriate `Session ID`. It can be a random number or some type of session identifiers (preferably hashed). The length of the `Session ID` must not exceed 36 characters. For more information, see the [sessions guide](https://cloud.google.com/dialogflow/cx/docs/concept/session). Note: Always use agent versions for production traffic. See [Versions and environments](https://cloud.google.com/dialogflow/cx/docs/concept/version).", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+session}:detectIntent", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1DetectIntentRequest" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1DetectIntentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"fulfillIntent": { +"description": "Fulfills a matched intent returned by MatchIntent. Must be called after MatchIntent, with input from MatchIntentResponse. Otherwise, the behavior is undefined.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/sessions/{sessionsId}:fulfillIntent", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.environments.sessions.fulfillIntent", +"parameterOrder": [ +"session" +], +"parameters": { +"session": { +"description": "Required. The name of the session this query is sent to. Format: `projects//locations//agents//sessions/` or `projects//locations//agents//environments//sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment. It's up to the API caller to choose an appropriate `Session ID`. It can be a random number or some type of session identifiers (preferably hashed). The length of the `Session ID` must not exceed 36 characters. For more information, see the [sessions guide](https://cloud.google.com/dialogflow/cx/docs/concept/session).", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+session}:fulfillIntent", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1FulfillIntentRequest" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1FulfillIntentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"matchIntent": { +"description": "Returns preliminary intent match results, doesn't change the session status.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/sessions/{sessionsId}:matchIntent", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.environments.sessions.matchIntent", +"parameterOrder": [ +"session" +], +"parameters": { +"session": { +"description": "Required. The name of the session this query is sent to. Format: `projects//locations//agents//sessions/` or `projects//locations//agents//environments//sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment. It's up to the API caller to choose an appropriate `Session ID`. It can be a random number or some type of session identifiers (preferably hashed). The length of the `Session ID` must not exceed 36 characters. For more information, see the [sessions guide](https://cloud.google.com/dialogflow/cx/docs/concept/session).", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+session}:matchIntent", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1MatchIntentRequest" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1MatchIntentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"serverStreamingDetectIntent": { +"description": "Processes a natural language query and returns structured, actionable data as a result through server-side streaming. Server-side streaming allows Dialogflow to send [partial responses](https://cloud.google.com/dialogflow/cx/docs/concept/fulfillment#partial-response) earlier in a single request.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/sessions/{sessionsId}:serverStreamingDetectIntent", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.environments.sessions.serverStreamingDetectIntent", +"parameterOrder": [ +"session" +], +"parameters": { +"session": { +"description": "Required. The name of the session this query is sent to. Format: `projects//locations//agents//sessions/` or `projects//locations//agents//environments//sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment. It's up to the API caller to choose an appropriate `Session ID`. It can be a random number or some type of session identifiers (preferably hashed). The length of the `Session ID` must not exceed 36 characters. For more information, see the [sessions guide](https://cloud.google.com/dialogflow/cx/docs/concept/session). Note: Always use agent versions for production traffic. See [Versions and environments](https://cloud.google.com/dialogflow/cx/docs/concept/version).", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+session}:serverStreamingDetectIntent", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1DetectIntentRequest" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1DetectIntentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +} +}, +"resources": { +"entityTypes": { +"methods": { +"create": { +"description": "Creates a session entity type.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/sessions/{sessionsId}/entityTypes", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.environments.sessions.entityTypes.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The session to create a session entity type for. Format: `projects//locations//agents//sessions/` or `projects//locations//agents//environments//sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/entityTypes", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1SessionEntityType" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1SessionEntityType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"delete": { +"description": "Deletes the specified session entity type.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/sessions/{sessionsId}/entityTypes/{entityTypesId}", +"httpMethod": "DELETE", +"id": "dialogflow.projects.locations.agents.environments.sessions.entityTypes.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the session entity type to delete. Format: `projects//locations//agents//sessions//entityTypes/` or `projects//locations//agents//environments//sessions//entityTypes/`. If `Environment ID` is not specified, we assume default 'draft' environment.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/sessions/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"get": { +"description": "Retrieves the specified session entity type.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/sessions/{sessionsId}/entityTypes/{entityTypesId}", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.environments.sessions.entityTypes.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the session entity type. Format: `projects//locations//agents//sessions//entityTypes/` or `projects//locations//agents//environments//sessions//entityTypes/`. If `Environment ID` is not specified, we assume default 'draft' environment.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/sessions/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1SessionEntityType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"list": { +"description": "Returns the list of all session entity types in the specified session.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/sessions/{sessionsId}/entityTypes", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.environments.sessions.entityTypes.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of items to return in a single page. By default 100 and at most 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous list request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The session to list all session entity types from. Format: `projects//locations//agents//sessions/` or `projects//locations//agents//environments//sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/entityTypes", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1ListSessionEntityTypesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"patch": { +"description": "Updates the specified session entity type.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/sessions/{sessionsId}/entityTypes/{entityTypesId}", +"httpMethod": "PATCH", +"id": "dialogflow.projects.locations.agents.environments.sessions.entityTypes.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The unique identifier of the session entity type. Format: `projects//locations//agents//sessions//entityTypes/` or `projects//locations//agents//environments//sessions//entityTypes/`. If `Environment ID` is not specified, we assume default 'draft' environment.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/sessions/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The mask to control which fields get updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1SessionEntityType" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1SessionEntityType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +} +} +} +} +} +} +}, +"flows": { +"methods": { +"create": { +"description": "Creates a flow in the specified agent. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.flows.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"languageCode": { +"description": "The language of the following fields in `flow`: * `Flow.event_handlers.trigger_fulfillment.messages` * `Flow.event_handlers.trigger_fulfillment.conditional_cases` * `Flow.transition_routes.trigger_fulfillment.messages` * `Flow.transition_routes.trigger_fulfillment.conditional_cases` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The agent to create a flow for. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/flows", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1Flow" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Flow" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"delete": { +"description": "Deletes a specified flow.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}", +"httpMethod": "DELETE", +"id": "dialogflow.projects.locations.agents.flows.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "This field has no effect for flows with no incoming transitions. For flows with incoming transitions: * If `force` is set to false, an error will be returned with message indicating the incoming transitions. * If `force` is set to true, Dialogflow will remove the flow, as well as any transitions to the flow (i.e. Target flow in event handlers or Target flow in transition routes that point to this flow will be cleared).", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the flow to delete. Format: `projects//locations//agents//flows/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"export": { +"description": "Exports the specified flow to a binary file. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: An empty [Struct message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - `response`: ExportFlowResponse Note that resources (e.g. intents, entities, webhooks) that the flow references will also be exported.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}:export", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.flows.export", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the flow to export. Format: `projects//locations//agents//flows/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}:export", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1ExportFlowRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"get": { +"description": "Retrieves the specified flow.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.flows.get", +"parameterOrder": [ +"name" +], +"parameters": { +"languageCode": { +"description": "The language to retrieve the flow for. The following fields are language dependent: * `Flow.event_handlers.trigger_fulfillment.messages` * `Flow.event_handlers.trigger_fulfillment.conditional_cases` * `Flow.transition_routes.trigger_fulfillment.messages` * `Flow.transition_routes.trigger_fulfillment.conditional_cases` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The name of the flow to get. Format: `projects//locations//agents//flows/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Flow" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"getValidationResult": { +"description": "Gets the latest flow validation result. Flow validation is performed when ValidateFlow is called.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/validationResult", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.flows.getValidationResult", +"parameterOrder": [ +"name" +], +"parameters": { +"languageCode": { +"description": "If not specified, the agent's default language is used.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The flow name. Format: `projects//locations//agents//flows//validationResult`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/validationResult$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1FlowValidationResult" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"import": { +"description": "Imports the specified flow to the specified agent from a binary file. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: An empty [Struct message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - `response`: ImportFlowResponse Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows:import", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.flows.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The agent to import the flow into. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/flows:import", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1ImportFlowRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"list": { +"description": "Returns the list of all flows in the specified agent.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.flows.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"languageCode": { +"description": "The language to list flows for. The following fields are language dependent: * `Flow.event_handlers.trigger_fulfillment.messages` * `Flow.event_handlers.trigger_fulfillment.conditional_cases` * `Flow.transition_routes.trigger_fulfillment.messages` * `Flow.transition_routes.trigger_fulfillment.conditional_cases` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of items to return in a single page. By default 100 and at most 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous list request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The agent containing the flows. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/flows", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1ListFlowsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"patch": { +"description": "Updates the specified flow. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}", +"httpMethod": "PATCH", +"id": "dialogflow.projects.locations.agents.flows.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"languageCode": { +"description": "The language of the following fields in `flow`: * `Flow.event_handlers.trigger_fulfillment.messages` * `Flow.event_handlers.trigger_fulfillment.conditional_cases` * `Flow.transition_routes.trigger_fulfillment.messages` * `Flow.transition_routes.trigger_fulfillment.conditional_cases` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The unique identifier of the flow. Format: `projects//locations//agents//flows/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The mask to control which fields get updated. If the mask is not present, all fields will be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1Flow" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Flow" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"train": { +"description": "Trains the specified flow. Note that only the flow in 'draft' environment is trained. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: An empty [Struct message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - `response`: An [Empty message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}:train", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.flows.train", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The flow to train. Format: `projects//locations//agents//flows/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}:train", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1TrainFlowRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"validate": { +"description": "Validates the specified flow and creates or updates validation results. Please call this API after the training is completed to get the complete validation results.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}:validate", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.flows.validate", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The flow to validate. Format: `projects//locations//agents//flows/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}:validate", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1ValidateFlowRequest" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1FlowValidationResult" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +} +}, +"resources": { +"pages": { +"methods": { +"create": { +"description": "Creates a page in the specified flow.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/pages", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.flows.pages.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"languageCode": { +"description": "The language of the following fields in `page`: * `Page.entry_fulfillment.messages` * `Page.entry_fulfillment.conditional_cases` * `Page.event_handlers.trigger_fulfillment.messages` * `Page.event_handlers.trigger_fulfillment.conditional_cases` * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages` * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases` * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages` * `Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases` * `Page.transition_routes.trigger_fulfillment.messages` * `Page.transition_routes.trigger_fulfillment.conditional_cases` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The flow to create a page for. Format: `projects//locations//agents//flows/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/pages", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1Page" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Page" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"delete": { +"description": "Deletes the specified page.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/pages/{pagesId}", +"httpMethod": "DELETE", +"id": "dialogflow.projects.locations.agents.flows.pages.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "This field has no effect for pages with no incoming transitions. For pages with incoming transitions: * If `force` is set to false, an error will be returned with message indicating the incoming transitions. * If `force` is set to true, Dialogflow will remove the page, as well as any transitions to the page (i.e. Target page in event handlers or Target page in transition routes that point to this page will be cleared).", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the page to delete. Format: `projects//locations//agents//Flows//pages/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/pages/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"get": { +"description": "Retrieves the specified page.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/pages/{pagesId}", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.flows.pages.get", +"parameterOrder": [ +"name" +], +"parameters": { +"languageCode": { +"description": "The language to retrieve the page for. The following fields are language dependent: * `Page.entry_fulfillment.messages` * `Page.entry_fulfillment.conditional_cases` * `Page.event_handlers.trigger_fulfillment.messages` * `Page.event_handlers.trigger_fulfillment.conditional_cases` * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages` * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases` * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages` * `Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases` * `Page.transition_routes.trigger_fulfillment.messages` * `Page.transition_routes.trigger_fulfillment.conditional_cases` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The name of the page. Format: `projects//locations//agents//flows//pages/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/pages/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Page" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"list": { +"description": "Returns the list of all pages in the specified flow.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/pages", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.flows.pages.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"languageCode": { +"description": "The language to list pages for. The following fields are language dependent: * `Page.entry_fulfillment.messages` * `Page.entry_fulfillment.conditional_cases` * `Page.event_handlers.trigger_fulfillment.messages` * `Page.event_handlers.trigger_fulfillment.conditional_cases` * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages` * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases` * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages` * `Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases` * `Page.transition_routes.trigger_fulfillment.messages` * `Page.transition_routes.trigger_fulfillment.conditional_cases` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of items to return in a single page. By default 100 and at most 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous list request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The flow to list all pages for. Format: `projects//locations//agents//flows/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/pages", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1ListPagesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"patch": { +"description": "Updates the specified page.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/pages/{pagesId}", +"httpMethod": "PATCH", +"id": "dialogflow.projects.locations.agents.flows.pages.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"languageCode": { +"description": "The language of the following fields in `page`: * `Page.entry_fulfillment.messages` * `Page.entry_fulfillment.conditional_cases` * `Page.event_handlers.trigger_fulfillment.messages` * `Page.event_handlers.trigger_fulfillment.conditional_cases` * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages` * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases` * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages` * `Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases` * `Page.transition_routes.trigger_fulfillment.messages` * `Page.transition_routes.trigger_fulfillment.conditional_cases` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The unique identifier of the page. Required for the Pages.UpdatePage method. Pages.CreatePage populates the name automatically. Format: `projects//locations//agents//flows//pages/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/pages/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The mask to control which fields get updated. If the mask is not present, all fields will be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1Page" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Page" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +} +} +}, +"transitionRouteGroups": { +"methods": { +"create": { +"description": "Creates an TransitionRouteGroup in the specified flow. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/transitionRouteGroups", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.flows.transitionRouteGroups.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"languageCode": { +"description": "The language of the following fields in `TransitionRouteGroup`: * `TransitionRouteGroup.transition_routes.trigger_fulfillment.messages` * `TransitionRouteGroup.transition_routes.trigger_fulfillment.conditional_cases` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The flow to create an TransitionRouteGroup for. Format: `projects//locations//agents//flows/` or `projects//locations//agents/` for agent-level groups.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/transitionRouteGroups", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1TransitionRouteGroup" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1TransitionRouteGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"delete": { +"description": "Deletes the specified TransitionRouteGroup. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/transitionRouteGroups/{transitionRouteGroupsId}", +"httpMethod": "DELETE", +"id": "dialogflow.projects.locations.agents.flows.transitionRouteGroups.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "This field has no effect for transition route group that no page is using. If the transition route group is referenced by any page: * If `force` is set to false, an error will be returned with message indicating pages that reference the transition route group. * If `force` is set to true, Dialogflow will remove the transition route group, as well as any reference to it.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the TransitionRouteGroup to delete. Format: `projects//locations//agents//flows//transitionRouteGroups/` or `projects//locations//agents//transitionRouteGroups/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/transitionRouteGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"get": { +"description": "Retrieves the specified TransitionRouteGroup.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/transitionRouteGroups/{transitionRouteGroupsId}", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.flows.transitionRouteGroups.get", +"parameterOrder": [ +"name" +], +"parameters": { +"languageCode": { +"description": "The language to retrieve the transition route group for. The following fields are language dependent: * `TransitionRouteGroup.transition_routes.trigger_fulfillment.messages` * `TransitionRouteGroup.transition_routes.trigger_fulfillment.conditional_cases` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The name of the TransitionRouteGroup. Format: `projects//locations//agents//flows//transitionRouteGroups/` or `projects//locations//agents//transitionRouteGroups/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/transitionRouteGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1TransitionRouteGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"list": { +"description": "Returns the list of all transition route groups in the specified flow.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/transitionRouteGroups", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.flows.transitionRouteGroups.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"languageCode": { +"description": "The language to list transition route groups for. The following fields are language dependent: * `TransitionRouteGroup.transition_routes.trigger_fulfillment.messages` * `TransitionRouteGroup.transition_routes.trigger_fulfillment.conditional_cases` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of items to return in a single page. By default 100 and at most 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous list request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The flow to list all transition route groups for. Format: `projects//locations//agents//flows/` or `projects//locations//agents/.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/transitionRouteGroups", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1ListTransitionRouteGroupsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"patch": { +"description": "Updates the specified TransitionRouteGroup. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/transitionRouteGroups/{transitionRouteGroupsId}", +"httpMethod": "PATCH", +"id": "dialogflow.projects.locations.agents.flows.transitionRouteGroups.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"languageCode": { +"description": "The language of the following fields in `TransitionRouteGroup`: * `TransitionRouteGroup.transition_routes.trigger_fulfillment.messages` * `TransitionRouteGroup.transition_routes.trigger_fulfillment.conditional_cases` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The unique identifier of the transition route group. TransitionRouteGroups.CreateTransitionRouteGroup populates the name automatically. Format: `projects//locations//agents//flows//transitionRouteGroups/` or `projects//locations//agents//transitionRouteGroups/` for agent-level groups.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/transitionRouteGroups/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The mask to control which fields get updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1TransitionRouteGroup" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1TransitionRouteGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +} +} +}, +"versions": { +"methods": { +"compareVersions": { +"description": "Compares the specified base version with target version.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/versions/{versionsId}:compareVersions", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.flows.versions.compareVersions", +"parameterOrder": [ +"baseVersion" +], +"parameters": { +"baseVersion": { +"description": "Required. Name of the base flow version to compare with the target version. Use version ID `0` to indicate the draft version of the specified flow. Format: `projects//locations//agents//flows//versions/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+baseVersion}:compareVersions", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1CompareVersionsRequest" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1CompareVersionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"create": { +"description": "Creates a Version in the specified Flow. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: CreateVersionOperationMetadata - `response`: Version", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/versions", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.flows.versions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The Flow to create an Version for. Format: `projects//locations//agents//flows/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/versions", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1Version" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"delete": { +"description": "Deletes the specified Version.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/versions/{versionsId}", +"httpMethod": "DELETE", +"id": "dialogflow.projects.locations.agents.flows.versions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Version to delete. Format: `projects//locations//agents//flows//versions/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"get": { +"description": "Retrieves the specified Version.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/versions/{versionsId}", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.flows.versions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Version. Format: `projects//locations//agents//flows//versions/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Version" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"list": { +"description": "Returns the list of all versions in the specified Flow.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/versions", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.flows.versions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of items to return in a single page. By default 20 and at most 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous list request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The Flow to list all versions for. Format: `projects//locations//agents//flows/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/versions", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1ListVersionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"load": { +"description": "Loads resources in the specified version to the draft flow. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: An empty [Struct message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - `response`: An [Empty message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/versions/{versionsId}:load", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.flows.versions.load", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Version to be loaded to draft flow. Format: `projects//locations//agents//flows//versions/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}:load", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1LoadVersionRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"patch": { +"description": "Updates the specified Version.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/versions/{versionsId}", +"httpMethod": "PATCH", +"id": "dialogflow.projects.locations.agents.flows.versions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Format: projects//locations//agents//flows//versions/. Version ID is a self-increasing number generated by Dialogflow upon version creation.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The mask to control which fields get updated. Currently only `description` and `display_name` can be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1Version" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Version" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +} +} +} +} +}, +"generators": { +"methods": { +"create": { +"description": "Creates a generator in the specified agent.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/generators", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.generators.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"languageCode": { +"description": "The language to create generators for the following fields: * `Generator.prompt_text.text` If not specified, the agent's default language is used.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The agent to create a generator for. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/generators", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1Generator" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Generator" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"delete": { +"description": "Deletes the specified generators.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/generators/{generatorsId}", +"httpMethod": "DELETE", +"id": "dialogflow.projects.locations.agents.generators.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "This field has no effect for generators not being used. For generators that are used by pages/flows/transition route groups: * If `force` is set to false, an error will be returned with message indicating the referenced resources. * If `force` is set to true, Dialogflow will remove the generator, as well as any references to the generator (i.e. Generator) in fulfillments.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the generator to delete. Format: `projects//locations//agents//generators/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/generators/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"get": { +"description": "Retrieves the specified generator.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/generators/{generatorsId}", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.generators.get", +"parameterOrder": [ +"name" +], +"parameters": { +"languageCode": { +"description": "The language to list generators for.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The name of the generator. Format: `projects//locations//agents//generators/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/generators/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Generator" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"list": { +"description": "Returns the list of all generators in the specified agent.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/generators", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.generators.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"languageCode": { +"description": "The language to list generators for.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of items to return in a single page. By default 100 and at most 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous list request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The agent to list all generators for. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/generators", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1ListGeneratorsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"patch": { +"description": "Update the specified generator.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/generators/{generatorsId}", +"httpMethod": "PATCH", +"id": "dialogflow.projects.locations.agents.generators.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"languageCode": { +"description": "The language to list generators for.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The unique identifier of the generator. Must be set for the Generators.UpdateGenerator method. Generators.CreateGenerate populates the name automatically. Format: `projects//locations//agents//generators/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/generators/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The mask to control which fields get updated. If the mask is not present, all fields will be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1Generator" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Generator" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +} +} +}, +"intents": { +"methods": { +"create": { +"description": "Creates an intent in the specified agent. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/intents", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.intents.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"languageCode": { +"description": "The language of the following fields in `intent`: * `Intent.training_phrases.parts.text` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The agent to create an intent for. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/intents", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1Intent" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Intent" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"delete": { +"description": "Deletes the specified intent. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/intents/{intentsId}", +"httpMethod": "DELETE", +"id": "dialogflow.projects.locations.agents.intents.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the intent to delete. Format: `projects//locations//agents//intents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/intents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"export": { +"description": "Exports the selected intents. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: ExportIntentsMetadata - `response`: ExportIntentsResponse", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/intents:export", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.intents.export", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the parent agent to export intents. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/intents:export", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1ExportIntentsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"get": { +"description": "Retrieves the specified intent.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/intents/{intentsId}", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.intents.get", +"parameterOrder": [ +"name" +], +"parameters": { +"languageCode": { +"description": "The language to retrieve the intent for. The following fields are language dependent: * `Intent.training_phrases.parts.text` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The name of the intent. Format: `projects//locations//agents//intents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/intents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Intent" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"import": { +"description": "Imports the specified intents into the agent. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: ImportIntentsMetadata - `response`: ImportIntentsResponse", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/intents:import", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.intents.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The agent to import the intents into. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/intents:import", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1ImportIntentsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"list": { +"description": "Returns the list of all intents in the specified agent.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/intents", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.intents.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"intentView": { +"description": "The resource view to apply to the returned intent.", +"enum": [ +"INTENT_VIEW_UNSPECIFIED", +"INTENT_VIEW_PARTIAL", +"INTENT_VIEW_FULL" +], +"enumDescriptions": [ +"Not specified. Treated as INTENT_VIEW_FULL.", +"Training phrases field is not populated in the response.", +"All fields are populated." +], +"location": "query", +"type": "string" +}, +"languageCode": { +"description": "The language to list intents for. The following fields are language dependent: * `Intent.training_phrases.parts.text` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of items to return in a single page. By default 100 and at most 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous list request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The agent to list all intents for. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/intents", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1ListIntentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"patch": { +"description": "Updates the specified intent. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/intents/{intentsId}", +"httpMethod": "PATCH", +"id": "dialogflow.projects.locations.agents.intents.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"languageCode": { +"description": "The language of the following fields in `intent`: * `Intent.training_phrases.parts.text` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The unique identifier of the intent. Required for the Intents.UpdateIntent method. Intents.CreateIntent populates the name automatically. Format: `projects//locations//agents//intents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/intents/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The mask to control which fields get updated. If the mask is not present, all fields will be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1Intent" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Intent" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +} +} +}, +"playbooks": { +"methods": { +"create": { +"description": "Creates a playbook in a specified agent.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/playbooks", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.playbooks.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The agent to create a playbook for. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/playbooks", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1Playbook" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Playbook" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"delete": { +"description": "Deletes a specified playbook.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/playbooks/{playbooksId}", +"httpMethod": "DELETE", +"id": "dialogflow.projects.locations.agents.playbooks.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the playbook to delete. Format: `projects//locations//agents//playbooks/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/playbooks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"export": { +"description": "Exports the specified playbook to a binary file. Note that resources (e.g. examples, tools) that the playbook references will also be exported.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/playbooks/{playbooksId}:export", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.playbooks.export", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the playbook to export. Format: `projects//locations//agents//playbooks/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/playbooks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}:export", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1ExportPlaybookRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"get": { +"description": "Retrieves the specified Playbook.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/playbooks/{playbooksId}", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.playbooks.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the playbook. Format: `projects//locations//agents//playbooks/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/playbooks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Playbook" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"import": { +"description": "Imports the specified playbook to the specified agent from a binary file.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/playbooks:import", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.playbooks.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The agent to import the playbook into. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/playbooks:import", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1ImportPlaybookRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"list": { +"description": "Returns a list of playbooks in the specified agent.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/playbooks", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.playbooks.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of items to return in a single page. By default 100 and at most 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous list request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The agent to list playbooks from. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/playbooks", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1ListPlaybooksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"patch": { +"description": "Updates the specified Playbook.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/playbooks/{playbooksId}", +"httpMethod": "PATCH", +"id": "dialogflow.projects.locations.agents.playbooks.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The unique identifier of the playbook. Format: `projects//locations//agents//playbooks/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/playbooks/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The mask to control which fields get updated. If the mask is not present, all fields will be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1Playbook" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Playbook" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +} +}, +"resources": { +"examples": { +"methods": { +"create": { +"description": "Creates an example in the specified playbook.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/playbooks/{playbooksId}/examples", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.playbooks.examples.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The playbook to create an example for. Format: `projects//locations//agents//playbooks/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/playbooks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/examples", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1Example" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Example" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"delete": { +"description": "Deletes the specified example.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/playbooks/{playbooksId}/examples/{examplesId}", +"httpMethod": "DELETE", +"id": "dialogflow.projects.locations.agents.playbooks.examples.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the example to delete. Format: `projects//locations//agents//playbooks//examples/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/playbooks/[^/]+/examples/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"get": { +"description": "Retrieves the specified example.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/playbooks/{playbooksId}/examples/{examplesId}", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.playbooks.examples.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the example. Format: `projects//locations//agents//playbooks//examples/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/playbooks/[^/]+/examples/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Example" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"list": { +"description": "Returns a list of examples in the specified playbook.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/playbooks/{playbooksId}/examples", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.playbooks.examples.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"languageCode": { +"description": "Optional. The language to list examples for. If not specified, list all examples under the playbook. Note: languages must be enabled in the agent before they can be used.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of items to return in a single page. By default 100 and at most 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The next_page_token value returned from a previous list request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The playbook to list the examples from. Format: `projects//locations//agents//playbooks/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/playbooks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/examples", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1ListExamplesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"patch": { +"description": "Update the specified example.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/playbooks/{playbooksId}/examples/{examplesId}", +"httpMethod": "PATCH", +"id": "dialogflow.projects.locations.agents.playbooks.examples.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The unique identifier of the playbook example. Format: `projects//locations//agents//playbooks//examples/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/playbooks/[^/]+/examples/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. The mask to control which fields get updated. If the mask is not present, all fields will be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1Example" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Example" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +} +} +}, +"versions": { +"methods": { +"create": { +"description": "Creates a version for the specified Playbook.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/playbooks/{playbooksId}/versions", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.playbooks.versions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The playbook to create a version for. Format: `projects//locations//agents//playbooks/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/playbooks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/versions", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1PlaybookVersion" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1PlaybookVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"delete": { +"description": "Deletes the specified version of the Playbook.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/playbooks/{playbooksId}/versions/{versionsId}", +"httpMethod": "DELETE", +"id": "dialogflow.projects.locations.agents.playbooks.versions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the playbook version to delete. Format: `projects//locations//agents//playbooks//versions/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/playbooks/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"get": { +"description": "Retrieves the specified version of the Playbook.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/playbooks/{playbooksId}/versions/{versionsId}", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.playbooks.versions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the playbook version. Format: `projects//locations//agents//playbooks//versions/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/playbooks/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1PlaybookVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"list": { +"description": "Lists versions for the specified Playbook.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/playbooks/{playbooksId}/versions", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.playbooks.versions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of items to return in a single page. By default 100 and at most 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The next_page_token value returned from a previous list request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The playbook to list versions for. Format: `projects//locations//agents//playbooks/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/playbooks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/versions", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1ListPlaybookVersionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"restore": { +"description": "Retrieves the specified version of the Playbook and stores it as the current playbook draft, returning the playbook with resources updated.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/playbooks/{playbooksId}/versions/{versionsId}:restore", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.playbooks.versions.restore", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the playbook version. Format: `projects//locations//agents//playbooks//versions/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/playbooks/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}:restore", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1RestorePlaybookVersionRequest" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1RestorePlaybookVersionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +} +} +} +} +}, +"sessions": { +"methods": { +"detectIntent": { +"description": "Processes a natural language query and returns structured, actionable data as a result. This method is not idempotent, because it may cause session entity types to be updated, which in turn might affect results of future queries. Note: Always use agent versions for production traffic. See [Versions and environments](https://cloud.google.com/dialogflow/cx/docs/concept/version).", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/sessions/{sessionsId}:detectIntent", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.sessions.detectIntent", +"parameterOrder": [ +"session" +], +"parameters": { +"session": { +"description": "Required. The name of the session this query is sent to. Format: `projects//locations//agents//sessions/` or `projects//locations//agents//environments//sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment. It's up to the API caller to choose an appropriate `Session ID`. It can be a random number or some type of session identifiers (preferably hashed). The length of the `Session ID` must not exceed 36 characters. For more information, see the [sessions guide](https://cloud.google.com/dialogflow/cx/docs/concept/session). Note: Always use agent versions for production traffic. See [Versions and environments](https://cloud.google.com/dialogflow/cx/docs/concept/version).", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+session}:detectIntent", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1DetectIntentRequest" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1DetectIntentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"fulfillIntent": { +"description": "Fulfills a matched intent returned by MatchIntent. Must be called after MatchIntent, with input from MatchIntentResponse. Otherwise, the behavior is undefined.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/sessions/{sessionsId}:fulfillIntent", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.sessions.fulfillIntent", +"parameterOrder": [ +"session" +], +"parameters": { +"session": { +"description": "Required. The name of the session this query is sent to. Format: `projects//locations//agents//sessions/` or `projects//locations//agents//environments//sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment. It's up to the API caller to choose an appropriate `Session ID`. It can be a random number or some type of session identifiers (preferably hashed). The length of the `Session ID` must not exceed 36 characters. For more information, see the [sessions guide](https://cloud.google.com/dialogflow/cx/docs/concept/session).", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+session}:fulfillIntent", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1FulfillIntentRequest" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1FulfillIntentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"matchIntent": { +"description": "Returns preliminary intent match results, doesn't change the session status.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/sessions/{sessionsId}:matchIntent", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.sessions.matchIntent", +"parameterOrder": [ +"session" +], +"parameters": { +"session": { +"description": "Required. The name of the session this query is sent to. Format: `projects//locations//agents//sessions/` or `projects//locations//agents//environments//sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment. It's up to the API caller to choose an appropriate `Session ID`. It can be a random number or some type of session identifiers (preferably hashed). The length of the `Session ID` must not exceed 36 characters. For more information, see the [sessions guide](https://cloud.google.com/dialogflow/cx/docs/concept/session).", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+session}:matchIntent", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1MatchIntentRequest" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1MatchIntentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"serverStreamingDetectIntent": { +"description": "Processes a natural language query and returns structured, actionable data as a result through server-side streaming. Server-side streaming allows Dialogflow to send [partial responses](https://cloud.google.com/dialogflow/cx/docs/concept/fulfillment#partial-response) earlier in a single request.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/sessions/{sessionsId}:serverStreamingDetectIntent", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.sessions.serverStreamingDetectIntent", +"parameterOrder": [ +"session" +], +"parameters": { +"session": { +"description": "Required. The name of the session this query is sent to. Format: `projects//locations//agents//sessions/` or `projects//locations//agents//environments//sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment. It's up to the API caller to choose an appropriate `Session ID`. It can be a random number or some type of session identifiers (preferably hashed). The length of the `Session ID` must not exceed 36 characters. For more information, see the [sessions guide](https://cloud.google.com/dialogflow/cx/docs/concept/session). Note: Always use agent versions for production traffic. See [Versions and environments](https://cloud.google.com/dialogflow/cx/docs/concept/version).", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+session}:serverStreamingDetectIntent", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1DetectIntentRequest" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1DetectIntentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"submitAnswerFeedback": { +"description": "Updates the feedback received from the user for a single turn of the bot response.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/sessions/{sessionsId}:submitAnswerFeedback", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.sessions.submitAnswerFeedback", +"parameterOrder": [ +"session" +], +"parameters": { +"session": { +"description": "Required. The name of the session the feedback was sent to.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+session}:submitAnswerFeedback", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1SubmitAnswerFeedbackRequest" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1AnswerFeedback" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +} +}, +"resources": { +"entityTypes": { +"methods": { +"create": { +"description": "Creates a session entity type.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/sessions/{sessionsId}/entityTypes", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.sessions.entityTypes.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The session to create a session entity type for. Format: `projects//locations//agents//sessions/` or `projects//locations//agents//environments//sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/entityTypes", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1SessionEntityType" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1SessionEntityType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"delete": { +"description": "Deletes the specified session entity type.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/sessions/{sessionsId}/entityTypes/{entityTypesId}", +"httpMethod": "DELETE", +"id": "dialogflow.projects.locations.agents.sessions.entityTypes.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the session entity type to delete. Format: `projects//locations//agents//sessions//entityTypes/` or `projects//locations//agents//environments//sessions//entityTypes/`. If `Environment ID` is not specified, we assume default 'draft' environment.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/sessions/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"get": { +"description": "Retrieves the specified session entity type.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/sessions/{sessionsId}/entityTypes/{entityTypesId}", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.sessions.entityTypes.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the session entity type. Format: `projects//locations//agents//sessions//entityTypes/` or `projects//locations//agents//environments//sessions//entityTypes/`. If `Environment ID` is not specified, we assume default 'draft' environment.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/sessions/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1SessionEntityType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"list": { +"description": "Returns the list of all session entity types in the specified session.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/sessions/{sessionsId}/entityTypes", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.sessions.entityTypes.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of items to return in a single page. By default 100 and at most 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous list request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The session to list all session entity types from. Format: `projects//locations//agents//sessions/` or `projects//locations//agents//environments//sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/entityTypes", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1ListSessionEntityTypesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"patch": { +"description": "Updates the specified session entity type.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/sessions/{sessionsId}/entityTypes/{entityTypesId}", +"httpMethod": "PATCH", +"id": "dialogflow.projects.locations.agents.sessions.entityTypes.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The unique identifier of the session entity type. Format: `projects//locations//agents//sessions//entityTypes/` or `projects//locations//agents//environments//sessions//entityTypes/`. If `Environment ID` is not specified, we assume default 'draft' environment.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/sessions/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The mask to control which fields get updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1SessionEntityType" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1SessionEntityType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +} +} +} +} +}, +"testCases": { +"methods": { +"batchDelete": { +"description": "Batch deletes test cases.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases:batchDelete", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.testCases.batchDelete", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The agent to delete test cases from. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/testCases:batchDelete", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1BatchDeleteTestCasesRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"batchRun": { +"description": "Kicks off a batch run of test cases. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: BatchRunTestCasesMetadata - `response`: BatchRunTestCasesResponse", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases:batchRun", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.testCases.batchRun", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Agent name. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/testCases:batchRun", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1BatchRunTestCasesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"calculateCoverage": { +"description": "Calculates the test coverage for an agent.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases:calculateCoverage", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.testCases.calculateCoverage", +"parameterOrder": [ +"agent" +], +"parameters": { +"agent": { +"description": "Required. The agent to calculate coverage for. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +}, +"type": { +"description": "Required. The type of coverage requested.", +"enum": [ +"COVERAGE_TYPE_UNSPECIFIED", +"INTENT", +"PAGE_TRANSITION", +"TRANSITION_ROUTE_GROUP" +], +"enumDescriptions": [ +"Should never be used.", +"Intent coverage.", +"Page transition coverage.", +"Transition route group coverage." +], +"location": "query", +"type": "string" +} +}, +"path": "v3beta1/{+agent}/testCases:calculateCoverage", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1CalculateCoverageResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"create": { +"description": "Creates a test case for the given agent.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.testCases.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The agent to create the test case for. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/testCases", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1TestCase" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1TestCase" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"export": { +"description": "Exports the test cases under the agent to a Cloud Storage bucket or a local file. Filter can be applied to export a subset of test cases. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: ExportTestCasesMetadata - `response`: ExportTestCasesResponse", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases:export", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.testCases.export", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The agent where to export test cases from. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/testCases:export", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1ExportTestCasesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"get": { +"description": "Gets a test case.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases/{testCasesId}", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.testCases.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the testcase. Format: `projects//locations//agents//testCases/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/testCases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1TestCase" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"import": { +"description": "Imports the test cases from a Cloud Storage bucket or a local file. It always creates new test cases and won't overwrite any existing ones. The provided ID in the imported test case is neglected. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: ImportTestCasesMetadata - `response`: ImportTestCasesResponse", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases:import", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.testCases.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The agent to import test cases to. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/testCases:import", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1ImportTestCasesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"list": { +"description": "Fetches a list of test cases for a given agent.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.testCases.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of items to return in a single page. By default 20. Note that when TestCaseView = FULL, the maximum page size allowed is 20. When TestCaseView = BASIC, the maximum page size allowed is 500.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous list request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The agent to list all pages for. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Specifies whether response should include all fields or just the metadata.", +"enum": [ +"TEST_CASE_VIEW_UNSPECIFIED", +"BASIC", +"FULL" +], +"enumDescriptions": [ +"The default / unset value. The API will default to the BASIC view.", +"Include basic metadata about the test case, but not the conversation turns. This is the default value.", +"Include everything." +], +"location": "query", +"type": "string" +} +}, +"path": "v3beta1/{+parent}/testCases", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1ListTestCasesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"patch": { +"description": "Updates the specified test case.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases/{testCasesId}", +"httpMethod": "PATCH", +"id": "dialogflow.projects.locations.agents.testCases.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The unique identifier of the test case. TestCases.CreateTestCase will populate the name automatically. Otherwise use format: `projects//locations//agents//testCases/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/testCases/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The mask to specify which fields should be updated. The `creationTime` and `lastTestResult` cannot be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1TestCase" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1TestCase" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"run": { +"description": "Kicks off a test case run. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: RunTestCaseMetadata - `response`: RunTestCaseResponse", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases/{testCasesId}:run", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.testCases.run", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format of test case name to run: `projects//locations//agents//testCases/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/testCases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}:run", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1RunTestCaseRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +} +}, +"resources": { +"results": { +"methods": { +"get": { +"description": "Gets a test case result.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases/{testCasesId}/results/{resultsId}", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.testCases.results.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the testcase. Format: `projects//locations//agents//testCases//results/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/testCases/[^/]+/results/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1TestCaseResult" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"list": { +"description": "Fetches the list of run results for the given test case. A maximum of 100 results are kept for each test case.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases/{testCasesId}/results", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.testCases.results.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The filter expression used to filter test case results. See [API Filtering](https://aip.dev/160). The expression is case insensitive. Only 'AND' is supported for logical operators. The supported syntax is listed below in detail: [AND ] ... [AND latest] The supported fields and operators are: field operator `environment` `=`, `IN` (Use value `draft` for draft environment) `test_time` `>`, `<` `latest` only returns the latest test result in all results for each test case. Examples: * \"environment=draft AND latest\" matches the latest test result for each test case in the draft environment. * \"environment IN (e1,e2)\" matches any test case results with an environment resource name of either \"e1\" or \"e2\". * \"test_time > 1602540713\" matches any test case results with test time later than a unix timestamp in seconds 1602540713.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of items to return in a single page. By default 100 and at most 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous list request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The test case to list results for. Format: `projects//locations//agents//testCases/`. Specify a `-` as a wildcard for TestCase ID to list results across multiple test cases.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/testCases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/results", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1ListTestCaseResultsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +} +} +} +} +}, +"tools": { +"methods": { +"create": { +"description": "Creates a Tool in the specified agent.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/tools", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.tools.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The agent to create a Tool for. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/tools", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1Tool" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Tool" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"delete": { +"description": "Deletes a specified Tool.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/tools/{toolsId}", +"httpMethod": "DELETE", +"id": "dialogflow.projects.locations.agents.tools.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "This field has no effect for Tools not being used. For Tools that are used: * If `force` is set to false, an error will be returned with message indicating the referenced resources. * If `force` is set to true, Dialogflow will remove the tool, as well as any references to the tool.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the Tool to be deleted. Format: `projects//locations//agents//tools/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/tools/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"export": { +"description": "Exports the selected tools.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/tools:export", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.tools.export", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The agent to export tools from. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/tools:export", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1ExportToolsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"get": { +"description": "Retrieves the specified Tool.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/tools/{toolsId}", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.tools.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Tool. Format: `projects//locations//agents//tools/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/tools/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Tool" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"list": { +"description": "Returns a list of Tools in the specified agent.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/tools", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.tools.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of items to return in a single page. By default 100 and at most 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous list request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The agent to list the Tools from. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/tools", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1ListToolsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"patch": { +"description": "Update the specified Tool.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/tools/{toolsId}", +"httpMethod": "PATCH", +"id": "dialogflow.projects.locations.agents.tools.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The unique identifier of the Tool. Format: `projects//locations//agents//tools/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/tools/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The mask to control which fields get updated. If the mask is not present, all fields will be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1Tool" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Tool" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +} +} +}, +"transitionRouteGroups": { +"methods": { +"create": { +"description": "Creates an TransitionRouteGroup in the specified flow. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/transitionRouteGroups", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.transitionRouteGroups.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"languageCode": { +"description": "The language of the following fields in `TransitionRouteGroup`: * `TransitionRouteGroup.transition_routes.trigger_fulfillment.messages` * `TransitionRouteGroup.transition_routes.trigger_fulfillment.conditional_cases` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The flow to create an TransitionRouteGroup for. Format: `projects//locations//agents//flows/` or `projects//locations//agents/` for agent-level groups.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/transitionRouteGroups", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1TransitionRouteGroup" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1TransitionRouteGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"delete": { +"description": "Deletes the specified TransitionRouteGroup. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/transitionRouteGroups/{transitionRouteGroupsId}", +"httpMethod": "DELETE", +"id": "dialogflow.projects.locations.agents.transitionRouteGroups.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "This field has no effect for transition route group that no page is using. If the transition route group is referenced by any page: * If `force` is set to false, an error will be returned with message indicating pages that reference the transition route group. * If `force` is set to true, Dialogflow will remove the transition route group, as well as any reference to it.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the TransitionRouteGroup to delete. Format: `projects//locations//agents//flows//transitionRouteGroups/` or `projects//locations//agents//transitionRouteGroups/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/transitionRouteGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"get": { +"description": "Retrieves the specified TransitionRouteGroup.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/transitionRouteGroups/{transitionRouteGroupsId}", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.transitionRouteGroups.get", +"parameterOrder": [ +"name" +], +"parameters": { +"languageCode": { +"description": "The language to retrieve the transition route group for. The following fields are language dependent: * `TransitionRouteGroup.transition_routes.trigger_fulfillment.messages` * `TransitionRouteGroup.transition_routes.trigger_fulfillment.conditional_cases` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The name of the TransitionRouteGroup. Format: `projects//locations//agents//flows//transitionRouteGroups/` or `projects//locations//agents//transitionRouteGroups/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/transitionRouteGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1TransitionRouteGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"list": { +"description": "Returns the list of all transition route groups in the specified flow.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/transitionRouteGroups", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.transitionRouteGroups.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"languageCode": { +"description": "The language to list transition route groups for. The following fields are language dependent: * `TransitionRouteGroup.transition_routes.trigger_fulfillment.messages` * `TransitionRouteGroup.transition_routes.trigger_fulfillment.conditional_cases` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of items to return in a single page. By default 100 and at most 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous list request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The flow to list all transition route groups for. Format: `projects//locations//agents//flows/` or `projects//locations//agents/.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/transitionRouteGroups", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1ListTransitionRouteGroupsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"patch": { +"description": "Updates the specified TransitionRouteGroup. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/transitionRouteGroups/{transitionRouteGroupsId}", +"httpMethod": "PATCH", +"id": "dialogflow.projects.locations.agents.transitionRouteGroups.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"languageCode": { +"description": "The language of the following fields in `TransitionRouteGroup`: * `TransitionRouteGroup.transition_routes.trigger_fulfillment.messages` * `TransitionRouteGroup.transition_routes.trigger_fulfillment.conditional_cases` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The unique identifier of the transition route group. TransitionRouteGroups.CreateTransitionRouteGroup populates the name automatically. Format: `projects//locations//agents//flows//transitionRouteGroups/` or `projects//locations//agents//transitionRouteGroups/` for agent-level groups.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/transitionRouteGroups/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The mask to control which fields get updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1TransitionRouteGroup" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1TransitionRouteGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +} +} +}, +"webhooks": { +"methods": { +"create": { +"description": "Creates a webhook in the specified agent.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/webhooks", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.agents.webhooks.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The agent to create a webhook for. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/webhooks", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1Webhook" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Webhook" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"delete": { +"description": "Deletes the specified webhook.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/webhooks/{webhooksId}", +"httpMethod": "DELETE", +"id": "dialogflow.projects.locations.agents.webhooks.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "This field has no effect for webhook not being used. For webhooks that are used by pages/flows/transition route groups: * If `force` is set to false, an error will be returned with message indicating the referenced resources. * If `force` is set to true, Dialogflow will remove the webhook, as well as any references to the webhook (i.e. Webhook and tagin fulfillments that point to this webhook will be removed).", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the webhook to delete. Format: `projects//locations//agents//webhooks/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/webhooks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"get": { +"description": "Retrieves the specified webhook.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/webhooks/{webhooksId}", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.webhooks.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the webhook. Format: `projects//locations//agents//webhooks/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/webhooks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Webhook" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"list": { +"description": "Returns the list of all webhooks in the specified agent.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/webhooks", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.agents.webhooks.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of items to return in a single page. By default 100 and at most 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous list request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The agent to list all webhooks for. Format: `projects//locations//agents/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/webhooks", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1ListWebhooksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"patch": { +"description": "Updates the specified webhook.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/webhooks/{webhooksId}", +"httpMethod": "PATCH", +"id": "dialogflow.projects.locations.agents.webhooks.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The unique identifier of the webhook. Required for the Webhooks.UpdateWebhook method. Webhooks.CreateWebhook populates the name automatically. Format: `projects//locations//agents//webhooks/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/webhooks/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The mask to control which fields get updated. If the mask is not present, all fields will be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1Webhook" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1Webhook" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +} +} +} +} +}, +"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": "v3beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "dialogflow.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": "v3beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"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": "v3beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "dialogflow.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": "v3beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "dialogflow.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": "v3beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +} +} +}, +"securitySettings": { +"methods": { +"create": { +"description": "Create security settings in the specified location.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/securitySettings", +"httpMethod": "POST", +"id": "dialogflow.projects.locations.securitySettings.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The location to create an SecuritySettings for. Format: `projects//locations/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/securitySettings", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1SecuritySettings" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1SecuritySettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"delete": { +"description": "Deletes the specified SecuritySettings.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/securitySettings/{securitySettingsId}", +"httpMethod": "DELETE", +"id": "dialogflow.projects.locations.securitySettings.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the SecuritySettings to delete. Format: `projects//locations//securitySettings/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/securitySettings/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"get": { +"description": "Retrieves the specified SecuritySettings. The returned settings may be stale by up to 1 minute.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/securitySettings/{securitySettingsId}", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.securitySettings.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the settings. Format: `projects//locations//securitySettings/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/securitySettings/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1SecuritySettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"list": { +"description": "Returns the list of all security settings in the specified location.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/securitySettings", +"httpMethod": "GET", +"id": "dialogflow.projects.locations.securitySettings.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of items to return in a single page. By default 20 and at most 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous list request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The location to list all security settings for. Format: `projects//locations/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/securitySettings", +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1ListSecuritySettingsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"patch": { +"description": "Updates the specified SecuritySettings.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/securitySettings/{securitySettingsId}", +"httpMethod": "PATCH", +"id": "dialogflow.projects.locations.securitySettings.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name of the settings. Required for the SecuritySettingsService.UpdateSecuritySettings method. SecuritySettingsService.CreateSecuritySettings populates the name automatically. Format: `projects//locations//securitySettings/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/securitySettings/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The mask to control which fields get updated. If the mask is not present, all fields will be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1SecuritySettings" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1SecuritySettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +} +} +} +} +}, +"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": "v3beta1/projects/{projectsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "dialogflow.projects.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"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": "v3beta1/projects/{projectsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "dialogflow.projects.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v3beta1/projects/{projectsId}/operations", +"httpMethod": "GET", +"id": "dialogflow.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": "v3beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dialogflow" +] +} +} +} +} +} +}, +"revision": "20250103", +"rootUrl": "https://dialogflow.googleapis.com/", +"schemas": { +"GoogleCloudDialogflowCxV3AdvancedSettings": { +"description": "Hierarchical advanced settings for agent/flow/page/fulfillment/parameter. Settings exposed at lower level overrides the settings exposed at higher level. Overriding occurs at the sub-setting level. For example, the playback_interruption_settings at fulfillment level only overrides the playback_interruption_settings at the agent level, leaving other settings at the agent level unchanged. DTMF settings does not override each other. DTMF settings set at different levels define DTMF detections running in parallel. Hierarchy: Agent->Flow->Page->Fulfillment/Parameter.", +"id": "GoogleCloudDialogflowCxV3AdvancedSettings", +"properties": { +"audioExportGcsDestination": { +"$ref": "GoogleCloudDialogflowCxV3GcsDestination", +"description": "If present, incoming audio is exported by Dialogflow to the configured Google Cloud Storage destination. Exposed at the following levels: - Agent level - Flow level" +}, +"dtmfSettings": { +"$ref": "GoogleCloudDialogflowCxV3AdvancedSettingsDtmfSettings", +"description": "Settings for DTMF. Exposed at the following levels: - Agent level - Flow level - Page level - Parameter level." +}, +"loggingSettings": { +"$ref": "GoogleCloudDialogflowCxV3AdvancedSettingsLoggingSettings", +"description": "Settings for logging. Settings for Dialogflow History, Contact Center messages, StackDriver logs, and speech logging. Exposed at the following levels: - Agent level." +}, +"speechSettings": { +"$ref": "GoogleCloudDialogflowCxV3AdvancedSettingsSpeechSettings", +"description": "Settings for speech to text detection. Exposed at the following levels: - Agent level - Flow level - Page level - Parameter level" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3AdvancedSettingsDtmfSettings": { +"description": "Define behaviors for DTMF (dual tone multi frequency).", +"id": "GoogleCloudDialogflowCxV3AdvancedSettingsDtmfSettings", +"properties": { +"enabled": { +"description": "If true, incoming audio is processed for DTMF (dual tone multi frequency) events. For example, if the caller presses a button on their telephone keypad and DTMF processing is enabled, Dialogflow will detect the event (e.g. a \"3\" was pressed) in the incoming audio and pass the event to the bot to drive business logic (e.g. when 3 is pressed, return the account balance).", +"type": "boolean" +}, +"endpointingTimeoutDuration": { +"description": "Endpoint timeout setting for matching dtmf input to regex.", +"format": "google-duration", +"type": "string" +}, +"finishDigit": { +"description": "The digit that terminates a DTMF digit sequence.", +"type": "string" +}, +"interdigitTimeoutDuration": { +"description": "Interdigit timeout setting for matching dtmf input to regex.", +"format": "google-duration", +"type": "string" +}, +"maxDigits": { +"description": "Max length of DTMF digits.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3AdvancedSettingsLoggingSettings": { +"description": "Define behaviors on logging.", +"id": "GoogleCloudDialogflowCxV3AdvancedSettingsLoggingSettings", +"properties": { +"enableConsentBasedRedaction": { +"description": "Enables consent-based end-user input redaction, if true, a pre-defined session parameter `$session.params.conversation-redaction` will be used to determine if the utterance should be redacted.", +"type": "boolean" +}, +"enableInteractionLogging": { +"description": "Enables DF Interaction logging.", +"type": "boolean" +}, +"enableStackdriverLogging": { +"description": "Enables Google Cloud Logging.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3AdvancedSettingsSpeechSettings": { +"description": "Define behaviors of speech to text detection.", +"id": "GoogleCloudDialogflowCxV3AdvancedSettingsSpeechSettings", +"properties": { +"endpointerSensitivity": { +"description": "Sensitivity of the speech model that detects the end of speech. Scale from 0 to 100.", +"format": "int32", +"type": "integer" +}, +"models": { +"additionalProperties": { +"type": "string" +}, +"description": "Mapping from language to Speech-to-Text model. The mapped Speech-to-Text model will be selected for requests from its corresponding language. For more information, see [Speech models](https://cloud.google.com/dialogflow/cx/docs/concept/speech-models).", +"type": "object" +}, +"noSpeechTimeout": { +"description": "Timeout before detecting no speech.", +"format": "google-duration", +"type": "string" +}, +"useTimeoutBasedEndpointing": { +"description": "Use timeout based endpointing, interpreting endpointer sensitivy as seconds of timeout value.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3AudioInput": { +"description": "Represents the natural speech audio to be processed.", +"id": "GoogleCloudDialogflowCxV3AudioInput", +"properties": { +"audio": { +"description": "The natural language speech audio to be processed. A single request can contain up to 2 minutes of speech audio data. The transcribed text cannot contain more than 256 bytes. For non-streaming audio detect intent, both `config` and `audio` must be provided. For streaming audio detect intent, `config` must be provided in the first request and `audio` must be provided in all following requests.", +"format": "byte", +"type": "string" +}, +"config": { +"$ref": "GoogleCloudDialogflowCxV3InputAudioConfig", +"description": "Required. Instructs the speech recognizer how to process the speech audio." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3BargeInConfig": { +"description": "Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up.", +"id": "GoogleCloudDialogflowCxV3BargeInConfig", +"properties": { +"noBargeInDuration": { +"description": "Duration that is not eligible for barge-in at the beginning of the input audio.", +"format": "google-duration", +"type": "string" +}, +"totalDuration": { +"description": "Total duration for the playback at the beginning of the input audio.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3BatchRunTestCasesMetadata": { +"description": "Metadata returned for the TestCases.BatchRunTestCases long running operation.", +"id": "GoogleCloudDialogflowCxV3BatchRunTestCasesMetadata", +"properties": { +"errors": { +"description": "The test errors.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3TestError" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3BatchRunTestCasesResponse": { +"description": "The response message for TestCases.BatchRunTestCases.", +"id": "GoogleCloudDialogflowCxV3BatchRunTestCasesResponse", +"properties": { +"results": { +"description": "The test case results. The detailed conversation turns are empty in this response.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3TestCaseResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ContinuousTestResult": { +"description": "Represents a result from running a test case in an agent environment.", +"id": "GoogleCloudDialogflowCxV3ContinuousTestResult", +"properties": { +"name": { +"description": "The resource name for the continuous test result. Format: `projects//locations//agents//environments//continuousTestResults/`.", +"type": "string" +}, +"result": { +"description": "The result of this continuous test run, i.e. whether all the tests in this continuous test run pass or not.", +"enum": [ +"AGGREGATED_TEST_RESULT_UNSPECIFIED", +"PASSED", +"FAILED" +], +"enumDescriptions": [ +"Not specified. Should never be used.", +"All the tests passed.", +"At least one test did not pass." +], +"type": "string" +}, +"runTime": { +"description": "Time when the continuous testing run starts.", +"format": "google-datetime", +"type": "string" +}, +"testCaseResults": { +"description": "A list of individual test case results names in this continuous test run.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ConversationSignals": { +"description": "This message is used to hold all the Conversation Signals data, which will be converted to JSON and exported to BigQuery.", +"id": "GoogleCloudDialogflowCxV3ConversationSignals", +"properties": { +"turnSignals": { +"$ref": "GoogleCloudDialogflowCxV3TurnSignals", +"description": "Required. Turn signals for the current turn." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ConversationTurn": { +"description": "One interaction between a human and virtual agent. The human provides some input and the virtual agent provides a response.", +"id": "GoogleCloudDialogflowCxV3ConversationTurn", +"properties": { +"userInput": { +"$ref": "GoogleCloudDialogflowCxV3ConversationTurnUserInput", +"description": "The user input." +}, +"virtualAgentOutput": { +"$ref": "GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutput", +"description": "The virtual agent output." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ConversationTurnUserInput": { +"description": "The input from the human user.", +"id": "GoogleCloudDialogflowCxV3ConversationTurnUserInput", +"properties": { +"enableSentimentAnalysis": { +"description": "Whether sentiment analysis is enabled.", +"type": "boolean" +}, +"injectedParameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Parameters that need to be injected into the conversation during intent detection.", +"type": "object" +}, +"input": { +"$ref": "GoogleCloudDialogflowCxV3QueryInput", +"description": "Supports text input, event input, dtmf input in the test case." +}, +"isWebhookEnabled": { +"description": "If webhooks should be allowed to trigger in response to the user utterance. Often if parameters are injected, webhooks should not be enabled.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutput": { +"description": "The output from the virtual agent.", +"id": "GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutput", +"properties": { +"currentPage": { +"$ref": "GoogleCloudDialogflowCxV3Page", +"description": "The Page on which the utterance was spoken. Only name and displayName will be set." +}, +"diagnosticInfo": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Required. Input only. The diagnostic info output for the turn. Required to calculate the testing coverage.", +"type": "object" +}, +"differences": { +"description": "Output only. If this is part of a result conversation turn, the list of differences between the original run and the replay for this output, if any.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3TestRunDifference" +}, +"readOnly": true, +"type": "array" +}, +"sessionParameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The session parameters available to the bot at this point.", +"type": "object" +}, +"status": { +"$ref": "GoogleRpcStatus", +"description": "Response error from the agent in the test result. If set, other output is empty." +}, +"textResponses": { +"description": "The text responses from the agent for the turn.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3ResponseMessageText" +}, +"type": "array" +}, +"triggeredIntent": { +"$ref": "GoogleCloudDialogflowCxV3Intent", +"description": "The Intent that triggered the response. Only name and displayName will be set." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3CreateVersionOperationMetadata": { +"description": "Metadata associated with the long running operation for Versions.CreateVersion.", +"id": "GoogleCloudDialogflowCxV3CreateVersionOperationMetadata", +"properties": { +"version": { +"description": "Name of the created version. Format: `projects//locations//agents//flows//versions/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3DataStoreConnection": { +"description": "A data store connection. It represents a data store in Discovery Engine and the type of the contents it contains.", +"id": "GoogleCloudDialogflowCxV3DataStoreConnection", +"properties": { +"dataStore": { +"description": "The full name of the referenced data store. Formats: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}` `projects/{project}/locations/{location}/dataStores/{data_store}`", +"type": "string" +}, +"dataStoreType": { +"description": "The type of the connected data store.", +"enum": [ +"DATA_STORE_TYPE_UNSPECIFIED", +"PUBLIC_WEB", +"UNSTRUCTURED", +"STRUCTURED" +], +"enumDescriptions": [ +"Not specified. This value indicates that the data store type is not specified, so it will not be used during search.", +"A data store that contains public web content.", +"A data store that contains unstructured private data.", +"A data store that contains structured data (for example FAQ)." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3DeployFlowMetadata": { +"description": "Metadata returned for the Environments.DeployFlow long running operation.", +"id": "GoogleCloudDialogflowCxV3DeployFlowMetadata", +"properties": { +"testErrors": { +"description": "Errors of running deployment tests.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3TestError" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3DeployFlowResponse": { +"description": "The response message for Environments.DeployFlow.", +"id": "GoogleCloudDialogflowCxV3DeployFlowResponse", +"properties": { +"deployment": { +"description": "The name of the flow version Deployment. Format: `projects//locations//agents//environments//deployments/`.", +"type": "string" +}, +"environment": { +"$ref": "GoogleCloudDialogflowCxV3Environment", +"description": "The updated environment where the flow is deployed." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3DtmfInput": { +"description": "Represents the input for dtmf event.", +"id": "GoogleCloudDialogflowCxV3DtmfInput", +"properties": { +"digits": { +"description": "The dtmf digits.", +"type": "string" +}, +"finishDigit": { +"description": "The finish digit (if any).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3Environment": { +"description": "Represents an environment for an agent. You can create multiple versions of your agent and publish them to separate environments. When you edit an agent, you are editing the draft agent. At any point, you can save the draft agent as an agent version, which is an immutable snapshot of your agent. When you save the draft agent, it is published to the default environment. When you create agent versions, you can publish them to custom environments. You can create a variety of custom environments for testing, development, production, etc.", +"id": "GoogleCloudDialogflowCxV3Environment", +"properties": { +"description": { +"description": "The human-readable description of the environment. The maximum length is 500 characters. If exceeded, the request is rejected.", +"type": "string" +}, +"displayName": { +"description": "Required. The human-readable name of the environment (unique in an agent). Limit of 64 characters.", +"type": "string" +}, +"name": { +"description": "The name of the environment. Format: `projects//locations//agents//environments/`.", +"type": "string" +}, +"testCasesConfig": { +"$ref": "GoogleCloudDialogflowCxV3EnvironmentTestCasesConfig", +"description": "The test cases config for continuous tests of this environment." +}, +"updateTime": { +"description": "Output only. Update time of this environment.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"versionConfigs": { +"description": "A list of configurations for flow versions. You should include version configs for all flows that are reachable from `Start Flow` in the agent. Otherwise, an error will be returned.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3EnvironmentVersionConfig" +}, +"type": "array" +}, +"webhookConfig": { +"$ref": "GoogleCloudDialogflowCxV3EnvironmentWebhookConfig", +"description": "The webhook configuration for this environment." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3EnvironmentTestCasesConfig": { +"description": "The configuration for continuous tests.", +"id": "GoogleCloudDialogflowCxV3EnvironmentTestCasesConfig", +"properties": { +"enableContinuousRun": { +"description": "Whether to run test cases in TestCasesConfig.test_cases periodically. Default false. If set to true, run once a day.", +"type": "boolean" +}, +"enablePredeploymentRun": { +"description": "Whether to run test cases in TestCasesConfig.test_cases before deploying a flow version to the environment. Default false.", +"type": "boolean" +}, +"testCases": { +"description": "A list of test case names to run. They should be under the same agent. Format of each test case name: `projects//locations//agents//testCases/`", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3EnvironmentVersionConfig": { +"description": "Configuration for the version.", +"id": "GoogleCloudDialogflowCxV3EnvironmentVersionConfig", +"properties": { +"version": { +"description": "Required. Both flow and playbook versions are supported. Format for flow version: projects//locations//agents//flows//versions/. Format for playbook version: projects//locations//agents//playbooks//versions/.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3EnvironmentWebhookConfig": { +"description": "Configuration for webhooks.", +"id": "GoogleCloudDialogflowCxV3EnvironmentWebhookConfig", +"properties": { +"webhookOverrides": { +"description": "The list of webhooks to override for the agent environment. The webhook must exist in the agent. You can override fields in `generic_web_service` and `service_directory`.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3Webhook" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3EventHandler": { +"description": "An event handler specifies an event that can be handled during a session. When the specified event happens, the following actions are taken in order: * If there is a `trigger_fulfillment` associated with the event, it will be called. * If there is a `target_page` associated with the event, the session will transition into the specified page. * If there is a `target_flow` associated with the event, the session will transition into the specified flow.", +"id": "GoogleCloudDialogflowCxV3EventHandler", +"properties": { +"event": { +"description": "Required. The name of the event to handle.", +"type": "string" +}, +"name": { +"description": "Output only. The unique identifier of this event handler.", +"readOnly": true, +"type": "string" +}, +"targetFlow": { +"description": "The target flow to transition to. Format: `projects//locations//agents//flows/`.", +"type": "string" +}, +"targetPage": { +"description": "The target page to transition to. Format: `projects//locations//agents//flows//pages/`.", +"type": "string" +}, +"targetPlaybook": { +"description": "The target playbook to transition to. Format: `projects//locations//agents//playbooks/`.", +"type": "string" +}, +"triggerFulfillment": { +"$ref": "GoogleCloudDialogflowCxV3Fulfillment", +"description": "The fulfillment to call when the event occurs. Handling webhook errors with a fulfillment enabled with webhook could cause infinite loop. It is invalid to specify such fulfillment for a handler handling webhooks." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3EventInput": { +"description": "Represents the event to trigger.", +"id": "GoogleCloudDialogflowCxV3EventInput", +"properties": { +"event": { +"description": "Name of the event.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ExportAgentResponse": { +"description": "The response message for Agents.ExportAgent.", +"id": "GoogleCloudDialogflowCxV3ExportAgentResponse", +"properties": { +"agentContent": { +"description": "Uncompressed raw byte content for agent. This field is populated if none of `agent_uri` and `git_destination` are specified in ExportAgentRequest.", +"format": "byte", +"type": "string" +}, +"agentUri": { +"description": "The URI to a file containing the exported agent. This field is populated if `agent_uri` is specified in ExportAgentRequest.", +"type": "string" +}, +"commitSha": { +"description": "Commit SHA of the git push. This field is populated if `git_destination` is specified in ExportAgentRequest.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ExportEntityTypesMetadata": { +"description": "Metadata returned for the EntityTypes.ExportEntityTypes long running operation.", +"id": "GoogleCloudDialogflowCxV3ExportEntityTypesMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ExportEntityTypesResponse": { +"description": "The response message for EntityTypes.ExportEntityTypes.", +"id": "GoogleCloudDialogflowCxV3ExportEntityTypesResponse", +"properties": { +"entityTypesContent": { +"$ref": "GoogleCloudDialogflowCxV3InlineDestination", +"description": "Uncompressed byte content for entity types. This field is populated only if `entity_types_content_inline` is set to true in ExportEntityTypesRequest." +}, +"entityTypesUri": { +"description": "The URI to a file containing the exported entity types. This field is populated only if `entity_types_uri` is specified in ExportEntityTypesRequest.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ExportFlowResponse": { +"description": "The response message for Flows.ExportFlow.", +"id": "GoogleCloudDialogflowCxV3ExportFlowResponse", +"properties": { +"flowContent": { +"description": "Uncompressed raw byte content for flow.", +"format": "byte", +"type": "string" +}, +"flowUri": { +"description": "The URI to a file containing the exported flow. This field is populated only if `flow_uri` is specified in ExportFlowRequest.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ExportIntentsMetadata": { +"description": "Metadata returned for the Intents.ExportIntents long running operation.", +"id": "GoogleCloudDialogflowCxV3ExportIntentsMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ExportIntentsResponse": { +"description": "The response message for Intents.ExportIntents.", +"id": "GoogleCloudDialogflowCxV3ExportIntentsResponse", +"properties": { +"intentsContent": { +"$ref": "GoogleCloudDialogflowCxV3InlineDestination", +"description": "Uncompressed byte content for intents. This field is populated only if `intents_content_inline` is set to true in ExportIntentsRequest." +}, +"intentsUri": { +"description": "The URI to a file containing the exported intents. This field is populated only if `intents_uri` is specified in ExportIntentsRequest.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ExportTestCasesMetadata": { +"description": "Metadata returned for the TestCases.ExportTestCases long running operation. This message currently has no fields.", +"id": "GoogleCloudDialogflowCxV3ExportTestCasesMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ExportTestCasesResponse": { +"description": "The response message for TestCases.ExportTestCases.", +"id": "GoogleCloudDialogflowCxV3ExportTestCasesResponse", +"properties": { +"content": { +"description": "Uncompressed raw byte content for test cases.", +"format": "byte", +"type": "string" +}, +"gcsUri": { +"description": "The URI to a file containing the exported test cases. This field is populated only if `gcs_uri` is specified in ExportTestCasesRequest.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3Form": { +"description": "A form is a data model that groups related parameters that can be collected from the user. The process in which the agent prompts the user and collects parameter values from the user is called form filling. A form can be added to a page. When form filling is done, the filled parameters will be written to the session.", +"id": "GoogleCloudDialogflowCxV3Form", +"properties": { +"parameters": { +"description": "Parameters to collect from the user.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3FormParameter" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3FormParameter": { +"description": "Represents a form parameter.", +"id": "GoogleCloudDialogflowCxV3FormParameter", +"properties": { +"advancedSettings": { +"$ref": "GoogleCloudDialogflowCxV3AdvancedSettings", +"description": "Hierarchical advanced settings for this parameter. The settings exposed at the lower level overrides the settings exposed at the higher level." +}, +"defaultValue": { +"description": "The default value of an optional parameter. If the parameter is required, the default value will be ignored.", +"type": "any" +}, +"displayName": { +"description": "Required. The human-readable name of the parameter, unique within the form.", +"type": "string" +}, +"entityType": { +"description": "Required. The entity type of the parameter. Format: `projects/-/locations/-/agents/-/entityTypes/` for system entity types (for example, `projects/-/locations/-/agents/-/entityTypes/sys.date`), or `projects//locations//agents//entityTypes/` for developer entity types.", +"type": "string" +}, +"fillBehavior": { +"$ref": "GoogleCloudDialogflowCxV3FormParameterFillBehavior", +"description": "Required. Defines fill behavior for the parameter." +}, +"isList": { +"description": "Indicates whether the parameter represents a list of values.", +"type": "boolean" +}, +"redact": { +"description": "Indicates whether the parameter content should be redacted in log. If redaction is enabled, the parameter content will be replaced by parameter name during logging. Note: the parameter content is subject to redaction if either parameter level redaction or entity type level redaction is enabled.", +"type": "boolean" +}, +"required": { +"description": "Indicates whether the parameter is required. Optional parameters will not trigger prompts; however, they are filled if the user specifies them. Required parameters must be filled before form filling concludes.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3FormParameterFillBehavior": { +"description": "Configuration for how the filling of a parameter should be handled.", +"id": "GoogleCloudDialogflowCxV3FormParameterFillBehavior", +"properties": { +"initialPromptFulfillment": { +"$ref": "GoogleCloudDialogflowCxV3Fulfillment", +"description": "Required. The fulfillment to provide the initial prompt that the agent can present to the user in order to fill the parameter." +}, +"repromptEventHandlers": { +"description": "The handlers for parameter-level events, used to provide reprompt for the parameter or transition to a different page/flow. The supported events are: * `sys.no-match-`, where N can be from 1 to 6 * `sys.no-match-default` * `sys.no-input-`, where N can be from 1 to 6 * `sys.no-input-default` * `sys.invalid-parameter` `initial_prompt_fulfillment` provides the first prompt for the parameter. If the user's response does not fill the parameter, a no-match/no-input event will be triggered, and the fulfillment associated with the `sys.no-match-1`/`sys.no-input-1` handler (if defined) will be called to provide a prompt. The `sys.no-match-2`/`sys.no-input-2` handler (if defined) will respond to the next no-match/no-input event, and so on. A `sys.no-match-default` or `sys.no-input-default` handler will be used to handle all following no-match/no-input events after all numbered no-match/no-input handlers for the parameter are consumed. A `sys.invalid-parameter` handler can be defined to handle the case where the parameter values have been `invalidated` by webhook. For example, if the user's response fill the parameter, however the parameter was invalidated by webhook, the fulfillment associated with the `sys.invalid-parameter` handler (if defined) will be called to provide a prompt. If the event handler for the corresponding event can't be found on the parameter, `initial_prompt_fulfillment` will be re-prompted.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3EventHandler" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3Fulfillment": { +"description": "A fulfillment can do one or more of the following actions at the same time: * Generate rich message responses. * Set parameter values. * Call the webhook. Fulfillments can be called at various stages in the Page or Form lifecycle. For example, when a DetectIntentRequest drives a session to enter a new page, the page's entry fulfillment can add a static response to the QueryResult in the returning DetectIntentResponse, call the webhook (for example, to load user data from a database), or both.", +"id": "GoogleCloudDialogflowCxV3Fulfillment", +"properties": { +"advancedSettings": { +"$ref": "GoogleCloudDialogflowCxV3AdvancedSettings", +"description": "Hierarchical advanced settings for this fulfillment. The settings exposed at the lower level overrides the settings exposed at the higher level." +}, +"conditionalCases": { +"description": "Conditional cases for this fulfillment.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3FulfillmentConditionalCases" +}, +"type": "array" +}, +"enableGenerativeFallback": { +"description": "If the flag is true, the agent will utilize LLM to generate a text response. If LLM generation fails, the defined responses in the fulfillment will be respected. This flag is only useful for fulfillments associated with no-match event handlers.", +"type": "boolean" +}, +"messages": { +"description": "The list of rich message responses to present to the user.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3ResponseMessage" +}, +"type": "array" +}, +"returnPartialResponses": { +"description": "Whether Dialogflow should return currently queued fulfillment response messages in streaming APIs. If a webhook is specified, it happens before Dialogflow invokes webhook. Warning: 1) This flag only affects streaming API. Responses are still queued and returned once in non-streaming API. 2) The flag can be enabled in any fulfillment but only the first 3 partial responses will be returned. You may only want to apply it to fulfillments that have slow webhooks.", +"type": "boolean" +}, +"setParameterActions": { +"description": "Set parameter values before executing the webhook.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3FulfillmentSetParameterAction" +}, +"type": "array" +}, +"tag": { +"description": "The value of this field will be populated in the WebhookRequest `fulfillmentInfo.tag` field by Dialogflow when the associated webhook is called. The tag is typically used by the webhook service to identify which fulfillment is being called, but it could be used for other purposes. This field is required if `webhook` is specified.", +"type": "string" +}, +"webhook": { +"description": "The webhook to call. Format: `projects//locations//agents//webhooks/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3FulfillmentConditionalCases": { +"description": "A list of cascading if-else conditions. Cases are mutually exclusive. The first one with a matching condition is selected, all the rest ignored.", +"id": "GoogleCloudDialogflowCxV3FulfillmentConditionalCases", +"properties": { +"cases": { +"description": "A list of cascading if-else conditions.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3FulfillmentConditionalCasesCase" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3FulfillmentConditionalCasesCase": { +"description": "Each case has a Boolean condition. When it is evaluated to be True, the corresponding messages will be selected and evaluated recursively.", +"id": "GoogleCloudDialogflowCxV3FulfillmentConditionalCasesCase", +"properties": { +"caseContent": { +"description": "A list of case content.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3FulfillmentConditionalCasesCaseCaseContent" +}, +"type": "array" +}, +"condition": { +"description": "The condition to activate and select this case. Empty means the condition is always true. The condition is evaluated against form parameters or session parameters. See the [conditions reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3FulfillmentConditionalCasesCaseCaseContent": { +"description": "The list of messages or conditional cases to activate for this case.", +"id": "GoogleCloudDialogflowCxV3FulfillmentConditionalCasesCaseCaseContent", +"properties": { +"additionalCases": { +"$ref": "GoogleCloudDialogflowCxV3FulfillmentConditionalCases", +"description": "Additional cases to be evaluated." +}, +"message": { +"$ref": "GoogleCloudDialogflowCxV3ResponseMessage", +"description": "Returned message." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3FulfillmentSetParameterAction": { +"description": "Setting a parameter value.", +"id": "GoogleCloudDialogflowCxV3FulfillmentSetParameterAction", +"properties": { +"parameter": { +"description": "Display name of the parameter.", +"type": "string" +}, +"value": { +"description": "The new value of the parameter. A null value clears the parameter.", +"type": "any" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3GcsDestination": { +"description": "Google Cloud Storage location for a Dialogflow operation that writes or exports objects (e.g. exported agent or transcripts) outside of Dialogflow.", +"id": "GoogleCloudDialogflowCxV3GcsDestination", +"properties": { +"uri": { +"description": "Required. The Google Cloud Storage URI for the exported objects. A URI is of the form: `gs://bucket/object-name-or-prefix` Whether a full object name, or just a prefix, its usage depends on the Dialogflow operation.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ImportEntityTypesMetadata": { +"description": "Metadata returned for the EntityTypes.ImportEntityTypes long running operation.", +"id": "GoogleCloudDialogflowCxV3ImportEntityTypesMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ImportEntityTypesResponse": { +"description": "The response message for EntityTypes.ImportEntityTypes.", +"id": "GoogleCloudDialogflowCxV3ImportEntityTypesResponse", +"properties": { +"conflictingResources": { +"$ref": "GoogleCloudDialogflowCxV3ImportEntityTypesResponseConflictingResources", +"description": "Info which resources have conflicts when REPORT_CONFLICT merge_option is set in ImportEntityTypesRequest." +}, +"entityTypes": { +"description": "The unique identifier of the imported entity types. Format: `projects//locations//agents//entity_types/`.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ImportEntityTypesResponseConflictingResources": { +"description": "Conflicting resources detected during the import process. Only filled when REPORT_CONFLICT is set in the request and there are conflicts in the display names.", +"id": "GoogleCloudDialogflowCxV3ImportEntityTypesResponseConflictingResources", +"properties": { +"entityDisplayNames": { +"description": "Display names of conflicting entities.", +"items": { +"type": "string" +}, +"type": "array" +}, +"entityTypeDisplayNames": { +"description": "Display names of conflicting entity types.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ImportFlowResponse": { +"description": "The response message for Flows.ImportFlow.", +"id": "GoogleCloudDialogflowCxV3ImportFlowResponse", +"properties": { +"flow": { +"description": "The unique identifier of the new flow. Format: `projects//locations//agents//flows/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ImportIntentsMetadata": { +"description": "Metadata returned for the Intents.ImportIntents long running operation.", +"id": "GoogleCloudDialogflowCxV3ImportIntentsMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ImportIntentsResponse": { +"description": "The response message for Intents.ImportIntents.", +"id": "GoogleCloudDialogflowCxV3ImportIntentsResponse", +"properties": { +"conflictingResources": { +"$ref": "GoogleCloudDialogflowCxV3ImportIntentsResponseConflictingResources", +"description": "Info which resources have conflicts when REPORT_CONFLICT merge_option is set in ImportIntentsRequest." +}, +"intents": { +"description": "The unique identifier of the imported intents. Format: `projects//locations//agents//intents/`.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ImportIntentsResponseConflictingResources": { +"description": "Conflicting resources detected during the import process. Only filled when REPORT_CONFLICT is set in the request and there are conflicts in the display names.", +"id": "GoogleCloudDialogflowCxV3ImportIntentsResponseConflictingResources", +"properties": { +"entityDisplayNames": { +"description": "Display names of conflicting entities.", +"items": { +"type": "string" +}, +"type": "array" +}, +"intentDisplayNames": { +"description": "Display names of conflicting intents.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ImportTestCasesMetadata": { +"description": "Metadata returned for the TestCases.ImportTestCases long running operation.", +"id": "GoogleCloudDialogflowCxV3ImportTestCasesMetadata", +"properties": { +"errors": { +"description": "Errors for failed test cases.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3TestCaseError" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ImportTestCasesResponse": { +"description": "The response message for TestCases.ImportTestCases.", +"id": "GoogleCloudDialogflowCxV3ImportTestCasesResponse", +"properties": { +"names": { +"description": "The unique identifiers of the new test cases. Format: `projects//locations//agents//testCases/`.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3InlineDestination": { +"description": "Inline destination for a Dialogflow operation that writes or exports objects (e.g. intents) outside of Dialogflow.", +"id": "GoogleCloudDialogflowCxV3InlineDestination", +"properties": { +"content": { +"description": "Output only. The uncompressed byte content for the objects. Only populated in responses.", +"format": "byte", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3InputAudioConfig": { +"description": "Instructs the speech recognizer on how to process the audio content.", +"id": "GoogleCloudDialogflowCxV3InputAudioConfig", +"properties": { +"audioEncoding": { +"description": "Required. Audio encoding of the audio content to process.", +"enum": [ +"AUDIO_ENCODING_UNSPECIFIED", +"AUDIO_ENCODING_LINEAR_16", +"AUDIO_ENCODING_FLAC", +"AUDIO_ENCODING_MULAW", +"AUDIO_ENCODING_AMR", +"AUDIO_ENCODING_AMR_WB", +"AUDIO_ENCODING_OGG_OPUS", +"AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE", +"AUDIO_ENCODING_ALAW" +], +"enumDescriptions": [ +"Not specified.", +"Uncompressed 16-bit signed little-endian samples (Linear PCM).", +"[`FLAC`](https://xiph.org/flac/documentation.html) (Free Lossless Audio Codec) is the recommended encoding because it is lossless (therefore recognition is not compromised) and requires only about half the bandwidth of `LINEAR16`. `FLAC` stream encoding supports 16-bit and 24-bit samples, however, not all fields in `STREAMINFO` are supported.", +"8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.", +"Adaptive Multi-Rate Narrowband codec. `sample_rate_hertz` must be 8000.", +"Adaptive Multi-Rate Wideband codec. `sample_rate_hertz` must be 16000.", +"Opus encoded audio frames in Ogg container ([OggOpus](https://wiki.xiph.org/OggOpus)). `sample_rate_hertz` must be 16000.", +"Although the use of lossy encodings is not recommended, if a very low bitrate encoding is required, `OGG_OPUS` is highly preferred over Speex encoding. The [Speex](https://speex.org/) encoding supported by Dialogflow API has a header byte in each block, as in MIME type `audio/x-speex-with-header-byte`. It is a variant of the RTP Speex encoding defined in [RFC 5574](https://tools.ietf.org/html/rfc5574). The stream is a sequence of blocks, one block per RTP packet. Each block starts with a byte containing the length of the block, in bytes, followed by one or more frames of Speex data, padded to an integral number of bytes (octets) as specified in RFC 5574. In other words, each RTP header is replaced with a single byte containing the block length. Only Speex wideband is supported. `sample_rate_hertz` must be 16000.", +"8-bit samples that compand 13-bit audio samples using G.711 PCMU/a-law." +], +"type": "string" +}, +"bargeInConfig": { +"$ref": "GoogleCloudDialogflowCxV3BargeInConfig", +"description": "Configuration of barge-in behavior during the streaming of input audio." +}, +"enableWordInfo": { +"description": "Optional. If `true`, Dialogflow returns SpeechWordInfo in StreamingRecognitionResult with information about the recognized speech words, e.g. start and end time offsets. If false or unspecified, Speech doesn't return any word-level information.", +"type": "boolean" +}, +"model": { +"description": "Optional. Which Speech model to select for the given request. For more information, see [Speech models](https://cloud.google.com/dialogflow/cx/docs/concept/speech-models).", +"type": "string" +}, +"modelVariant": { +"description": "Optional. Which variant of the Speech model to use.", +"enum": [ +"SPEECH_MODEL_VARIANT_UNSPECIFIED", +"USE_BEST_AVAILABLE", +"USE_STANDARD", +"USE_ENHANCED" +], +"enumDescriptions": [ +"No model variant specified. In this case Dialogflow defaults to USE_BEST_AVAILABLE.", +"Use the best available variant of the Speech model that the caller is eligible for.", +"Use standard model variant even if an enhanced model is available. See the [Cloud Speech documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models) for details about enhanced models.", +"Use an enhanced model variant: * If an enhanced variant does not exist for the given model and request language, Dialogflow falls back to the standard variant. The [Cloud Speech documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models) describes which models have enhanced variants." +], +"type": "string" +}, +"optOutConformerModelMigration": { +"description": "If `true`, the request will opt out for STT conformer model migration. This field will be deprecated once force migration takes place in June 2024. Please refer to [Dialogflow CX Speech model migration](https://cloud.google.com/dialogflow/cx/docs/concept/speech-model-migration).", +"type": "boolean" +}, +"phraseHints": { +"description": "Optional. A list of strings containing words and phrases that the speech recognizer should recognize with higher likelihood. See [the Cloud Speech documentation](https://cloud.google.com/speech-to-text/docs/basics#phrase-hints) for more details.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sampleRateHertz": { +"description": "Sample rate (in Hertz) of the audio content sent in the query. Refer to [Cloud Speech API documentation](https://cloud.google.com/speech-to-text/docs/basics) for more details.", +"format": "int32", +"type": "integer" +}, +"singleUtterance": { +"description": "Optional. If `false` (default), recognition does not cease until the client closes the stream. If `true`, the recognizer will detect a single spoken utterance in input audio. Recognition ceases when it detects the audio's voice has stopped or paused. In this case, once a detected intent is received, the client should close the stream and start a new request with a new stream as needed. Note: This setting is relevant only for streaming methods.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3Intent": { +"description": "An intent represents a user's intent to interact with a conversational agent. You can provide information for the Dialogflow API to use to match user input to an intent by adding training phrases (i.e., examples of user input) to your intent.", +"id": "GoogleCloudDialogflowCxV3Intent", +"properties": { +"description": { +"description": "Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters.", +"type": "string" +}, +"displayName": { +"description": "Required. The human-readable name of the intent, unique within the agent.", +"type": "string" +}, +"isFallback": { +"description": "Indicates whether this is a fallback intent. Currently only default fallback intent is allowed in the agent, which is added upon agent creation. Adding training phrases to fallback intent is useful in the case of requests that are mistakenly matched, since training phrases assigned to fallback intents act as negative examples that triggers no-match event.", +"type": "boolean" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The key/value metadata to label an intent. Labels can contain lowercase letters, digits and the symbols '-' and '_'. International characters are allowed, including letters from unicase alphabets. Keys must start with a letter. Keys and values can be no longer than 63 characters and no more than 128 bytes. Prefix \"sys-\" is reserved for Dialogflow defined labels. Currently allowed Dialogflow defined labels include: * sys-head * sys-contextual The above labels do not require value. \"sys-head\" means the intent is a head intent. \"sys.contextual\" means the intent is a contextual intent.", +"type": "object" +}, +"name": { +"description": "The unique identifier of the intent. Required for the Intents.UpdateIntent method. Intents.CreateIntent populates the name automatically. Format: `projects//locations//agents//intents/`.", +"type": "string" +}, +"parameters": { +"description": "The collection of parameters associated with the intent.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3IntentParameter" +}, +"type": "array" +}, +"priority": { +"description": "The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.", +"format": "int32", +"type": "integer" +}, +"trainingPhrases": { +"description": "The collection of training phrases the agent is trained on to identify the intent.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3IntentTrainingPhrase" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3IntentInput": { +"description": "Represents the intent to trigger programmatically rather than as a result of natural language processing.", +"id": "GoogleCloudDialogflowCxV3IntentInput", +"properties": { +"intent": { +"description": "Required. The unique identifier of the intent. Format: `projects//locations//agents//intents/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3IntentParameter": { +"description": "Represents an intent parameter.", +"id": "GoogleCloudDialogflowCxV3IntentParameter", +"properties": { +"entityType": { +"description": "Required. The entity type of the parameter. Format: `projects/-/locations/-/agents/-/entityTypes/` for system entity types (for example, `projects/-/locations/-/agents/-/entityTypes/sys.date`), or `projects//locations//agents//entityTypes/` for developer entity types.", +"type": "string" +}, +"id": { +"description": "Required. The unique identifier of the parameter. This field is used by training phrases to annotate their parts.", +"type": "string" +}, +"isList": { +"description": "Indicates whether the parameter represents a list of values.", +"type": "boolean" +}, +"redact": { +"description": "Indicates whether the parameter content should be redacted in log. If redaction is enabled, the parameter content will be replaced by parameter name during logging. Note: the parameter content is subject to redaction if either parameter level redaction or entity type level redaction is enabled.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3IntentTrainingPhrase": { +"description": "Represents an example that the agent is trained on to identify the intent.", +"id": "GoogleCloudDialogflowCxV3IntentTrainingPhrase", +"properties": { +"id": { +"description": "Output only. The unique identifier of the training phrase.", +"readOnly": true, +"type": "string" +}, +"parts": { +"description": "Required. The ordered list of training phrase parts. The parts are concatenated in order to form the training phrase. Note: The API does not automatically annotate training phrases like the Dialogflow Console does. Note: Do not forget to include whitespace at part boundaries, so the training phrase is well formatted when the parts are concatenated. If the training phrase does not need to be annotated with parameters, you just need a single part with only the Part.text field set. If you want to annotate the training phrase, you must create multiple parts, where the fields of each part are populated in one of two ways: - `Part.text` is set to a part of the phrase that has no parameters. - `Part.text` is set to a part of the phrase that you want to annotate, and the `parameter_id` field is set.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3IntentTrainingPhrasePart" +}, +"type": "array" +}, +"repeatCount": { +"description": "Indicates how many times this example was added to the intent.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3IntentTrainingPhrasePart": { +"description": "Represents a part of a training phrase.", +"id": "GoogleCloudDialogflowCxV3IntentTrainingPhrasePart", +"properties": { +"parameterId": { +"description": "The parameter used to annotate this part of the training phrase. This field is required for annotated parts of the training phrase.", +"type": "string" +}, +"text": { +"description": "Required. The text for this part.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3KnowledgeConnectorSettings": { +"description": "The Knowledge Connector settings for this page or flow. This includes information such as the attached Knowledge Bases, and the way to execute fulfillment.", +"id": "GoogleCloudDialogflowCxV3KnowledgeConnectorSettings", +"properties": { +"dataStoreConnections": { +"description": "Optional. List of related data store connections.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3DataStoreConnection" +}, +"type": "array" +}, +"enabled": { +"description": "Whether Knowledge Connector is enabled or not.", +"type": "boolean" +}, +"targetFlow": { +"description": "The target flow to transition to. Format: `projects//locations//agents//flows/`.", +"type": "string" +}, +"targetPage": { +"description": "The target page to transition to. Format: `projects//locations//agents//flows//pages/`.", +"type": "string" +}, +"triggerFulfillment": { +"$ref": "GoogleCloudDialogflowCxV3Fulfillment", +"description": "The fulfillment to be triggered. When the answers from the Knowledge Connector are selected by Dialogflow, you can utitlize the request scoped parameter `$request.knowledge.answers` (contains up to the 5 highest confidence answers) and `$request.knowledge.questions` (contains the corresponding questions) to construct the fulfillment." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3LanguageInfo": { +"description": "Represents the language information of the request.", +"id": "GoogleCloudDialogflowCxV3LanguageInfo", +"properties": { +"confidenceScore": { +"description": "The confidence score of the detected language between 0 and 1.", +"format": "float", +"type": "number" +}, +"inputLanguageCode": { +"description": "The language code specified in the original request.", +"type": "string" +}, +"resolvedLanguageCode": { +"description": "The language code detected for this request based on the user conversation.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3Page": { +"description": "A Dialogflow CX conversation (session) can be described and visualized as a state machine. The states of a CX session are represented by pages. For each flow, you define many pages, where your combined pages can handle a complete conversation on the topics the flow is designed for. At any given moment, exactly one page is the current page, the current page is considered active, and the flow associated with that page is considered active. Every flow has a special start page. When a flow initially becomes active, the start page page becomes the current page. For each conversational turn, the current page will either stay the same or transition to another page. You configure each page to collect information from the end-user that is relevant for the conversational state represented by the page. For more information, see the [Page guide](https://cloud.google.com/dialogflow/cx/docs/concept/page).", +"id": "GoogleCloudDialogflowCxV3Page", +"properties": { +"advancedSettings": { +"$ref": "GoogleCloudDialogflowCxV3AdvancedSettings", +"description": "Hierarchical advanced settings for this page. The settings exposed at the lower level overrides the settings exposed at the higher level." +}, +"description": { +"description": "The description of the page. The maximum length is 500 characters.", +"type": "string" +}, +"displayName": { +"description": "Required. The human-readable name of the page, unique within the flow.", +"type": "string" +}, +"entryFulfillment": { +"$ref": "GoogleCloudDialogflowCxV3Fulfillment", +"description": "The fulfillment to call when the session is entering the page." +}, +"eventHandlers": { +"description": "Handlers associated with the page to handle events such as webhook errors, no match or no input.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3EventHandler" +}, +"type": "array" +}, +"form": { +"$ref": "GoogleCloudDialogflowCxV3Form", +"description": "The form associated with the page, used for collecting parameters relevant to the page." +}, +"knowledgeConnectorSettings": { +"$ref": "GoogleCloudDialogflowCxV3KnowledgeConnectorSettings", +"description": "Optional. Knowledge connector configuration." +}, +"name": { +"description": "The unique identifier of the page. Required for the Pages.UpdatePage method. Pages.CreatePage populates the name automatically. Format: `projects//locations//agents//flows//pages/`.", +"type": "string" +}, +"transitionRouteGroups": { +"description": "Ordered list of `TransitionRouteGroups` added to the page. Transition route groups must be unique within a page. If the page links both flow-level transition route groups and agent-level transition route groups, the flow-level ones will have higher priority and will be put before the agent-level ones. * If multiple transition routes within a page scope refer to the same intent, then the precedence order is: page's transition route -> page's transition route group -> flow's transition routes. * If multiple transition route groups within a page contain the same intent, then the first group in the ordered list takes precedence. Format:`projects//locations//agents//flows//transitionRouteGroups/` or `projects//locations//agents//transitionRouteGroups/` for agent-level groups.", +"items": { +"type": "string" +}, +"type": "array" +}, +"transitionRoutes": { +"description": "A list of transitions for the transition rules of this page. They route the conversation to another page in the same flow, or another flow. When we are in a certain page, the TransitionRoutes are evalauted in the following order: * TransitionRoutes defined in the page with intent specified. * TransitionRoutes defined in the transition route groups with intent specified. * TransitionRoutes defined in flow with intent specified. * TransitionRoutes defined in the transition route groups with intent specified. * TransitionRoutes defined in the page with only condition specified. * TransitionRoutes defined in the transition route groups with only condition specified.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3TransitionRoute" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3PageInfo": { +"description": "Represents page information communicated to and from the webhook.", +"id": "GoogleCloudDialogflowCxV3PageInfo", +"properties": { +"currentPage": { +"description": "Always present for WebhookRequest. Ignored for WebhookResponse. The unique identifier of the current page. Format: `projects//locations//agents//flows//pages/`.", +"type": "string" +}, +"displayName": { +"description": "Always present for WebhookRequest. Ignored for WebhookResponse. The display name of the current page.", +"type": "string" +}, +"formInfo": { +"$ref": "GoogleCloudDialogflowCxV3PageInfoFormInfo", +"description": "Optional for both WebhookRequest and WebhookResponse. Information about the form." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3PageInfoFormInfo": { +"description": "Represents form information.", +"id": "GoogleCloudDialogflowCxV3PageInfoFormInfo", +"properties": { +"parameterInfo": { +"description": "Optional for both WebhookRequest and WebhookResponse. The parameters contained in the form. Note that the webhook cannot add or remove any form parameter.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3PageInfoFormInfoParameterInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3PageInfoFormInfoParameterInfo": { +"description": "Represents parameter information.", +"id": "GoogleCloudDialogflowCxV3PageInfoFormInfoParameterInfo", +"properties": { +"displayName": { +"description": "Always present for WebhookRequest. Required for WebhookResponse. The human-readable name of the parameter, unique within the form. This field cannot be modified by the webhook.", +"type": "string" +}, +"justCollected": { +"description": "Optional for WebhookRequest. Ignored for WebhookResponse. Indicates if the parameter value was just collected on the last conversation turn.", +"type": "boolean" +}, +"required": { +"description": "Optional for both WebhookRequest and WebhookResponse. Indicates whether the parameter is required. Optional parameters will not trigger prompts; however, they are filled if the user specifies them. Required parameters must be filled before form filling concludes.", +"type": "boolean" +}, +"state": { +"description": "Always present for WebhookRequest. Required for WebhookResponse. The state of the parameter. This field can be set to INVALID by the webhook to invalidate the parameter; other values set by the webhook will be ignored.", +"enum": [ +"PARAMETER_STATE_UNSPECIFIED", +"EMPTY", +"INVALID", +"FILLED" +], +"enumDescriptions": [ +"Not specified. This value should be never used.", +"Indicates that the parameter does not have a value.", +"Indicates that the parameter value is invalid. This field can be used by the webhook to invalidate the parameter and ask the server to collect it from the user again.", +"Indicates that the parameter has a value." +], +"type": "string" +}, +"value": { +"description": "Optional for both WebhookRequest and WebhookResponse. The value of the parameter. This field can be set by the webhook to change the parameter value.", +"type": "any" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3QueryInput": { +"description": "Represents the query input. It can contain one of: 1. A conversational query in the form of text. 2. An intent query that specifies which intent to trigger. 3. Natural language speech audio to be processed. 4. An event to be triggered. 5. DTMF digits to invoke an intent and fill in parameter value. 6. The results of a tool executed by the client.", +"id": "GoogleCloudDialogflowCxV3QueryInput", +"properties": { +"audio": { +"$ref": "GoogleCloudDialogflowCxV3AudioInput", +"description": "The natural language speech audio to be processed." +}, +"dtmf": { +"$ref": "GoogleCloudDialogflowCxV3DtmfInput", +"description": "The DTMF event to be handled." +}, +"event": { +"$ref": "GoogleCloudDialogflowCxV3EventInput", +"description": "The event to be triggered." +}, +"intent": { +"$ref": "GoogleCloudDialogflowCxV3IntentInput", +"description": "The intent to be triggered." +}, +"languageCode": { +"description": "Required. The language of the input. See [Language Support](https://cloud.google.com/dialogflow/cx/docs/reference/language) for a list of the currently supported language codes. Note that queries in the same session do not necessarily need to specify the same language.", +"type": "string" +}, +"text": { +"$ref": "GoogleCloudDialogflowCxV3TextInput", +"description": "The natural language text to be processed." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ResponseMessage": { +"description": "Represents a response message that can be returned by a conversational agent. Response messages are also used for output audio synthesis. The approach is as follows: * If at least one OutputAudioText response is present, then all OutputAudioText responses are linearly concatenated, and the result is used for output audio synthesis. * If the OutputAudioText responses are a mixture of text and SSML, then the concatenated result is treated as SSML; otherwise, the result is treated as either text or SSML as appropriate. The agent designer should ideally use either text or SSML consistently throughout the bot design. * Otherwise, all Text responses are linearly concatenated, and the result is used for output audio synthesis. This approach allows for more sophisticated user experience scenarios, where the text displayed to the user may differ from what is heard.", +"id": "GoogleCloudDialogflowCxV3ResponseMessage", +"properties": { +"channel": { +"description": "The channel which the response is associated with. Clients can specify the channel via QueryParameters.channel, and only associated channel response will be returned.", +"type": "string" +}, +"conversationSuccess": { +"$ref": "GoogleCloudDialogflowCxV3ResponseMessageConversationSuccess", +"description": "Indicates that the conversation succeeded." +}, +"endInteraction": { +"$ref": "GoogleCloudDialogflowCxV3ResponseMessageEndInteraction", +"description": "Output only. A signal that indicates the interaction with the Dialogflow agent has ended. This message is generated by Dialogflow only when the conversation reaches `END_SESSION` page. It is not supposed to be defined by the user. It's guaranteed that there is at most one such message in each response.", +"readOnly": true +}, +"knowledgeInfoCard": { +"$ref": "GoogleCloudDialogflowCxV3ResponseMessageKnowledgeInfoCard", +"description": "Represents info card for knowledge answers, to be better rendered in Dialogflow Messenger." +}, +"liveAgentHandoff": { +"$ref": "GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoff", +"description": "Hands off conversation to a human agent." +}, +"mixedAudio": { +"$ref": "GoogleCloudDialogflowCxV3ResponseMessageMixedAudio", +"description": "Output only. An audio response message composed of both the synthesized Dialogflow agent responses and responses defined via play_audio. This message is generated by Dialogflow only and not supposed to be defined by the user.", +"readOnly": true +}, +"outputAudioText": { +"$ref": "GoogleCloudDialogflowCxV3ResponseMessageOutputAudioText", +"description": "A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message." +}, +"payload": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Returns a response containing a custom, platform-specific payload.", +"type": "object" +}, +"playAudio": { +"$ref": "GoogleCloudDialogflowCxV3ResponseMessagePlayAudio", +"description": "Signal that the client should play an audio clip hosted at a client-specific URI. Dialogflow uses this to construct mixed_audio. However, Dialogflow itself does not try to read or process the URI in any way." +}, +"responseType": { +"description": "Response type.", +"enum": [ +"RESPONSE_TYPE_UNSPECIFIED", +"ENTRY_PROMPT", +"PARAMETER_PROMPT", +"HANDLER_PROMPT" +], +"enumDescriptions": [ +"Not specified.", +"The response is from an entry prompt in the page.", +"The response is from form-filling prompt in the page.", +"The response is from a transition route or an event handler in the page or flow or transition route group." +], +"type": "string" +}, +"telephonyTransferCall": { +"$ref": "GoogleCloudDialogflowCxV3ResponseMessageTelephonyTransferCall", +"description": "A signal that the client should transfer the phone call connected to this agent to a third-party endpoint." +}, +"text": { +"$ref": "GoogleCloudDialogflowCxV3ResponseMessageText", +"description": "Returns a text response." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ResponseMessageConversationSuccess": { +"description": "Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about. Dialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates that the conversation succeeded. * In a webhook response when you determine that you handled the customer issue.", +"id": "GoogleCloudDialogflowCxV3ResponseMessageConversationSuccess", +"properties": { +"metadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Custom metadata. Dialogflow doesn't impose any structure on this.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ResponseMessageEndInteraction": { +"description": "Indicates that interaction with the Dialogflow agent has ended. This message is generated by Dialogflow only and not supposed to be defined by the user.", +"id": "GoogleCloudDialogflowCxV3ResponseMessageEndInteraction", +"properties": {}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ResponseMessageKnowledgeInfoCard": { +"description": "Represents info card response. If the response contains generative knowledge prediction, Dialogflow will return a payload with Infobot Messenger compatible info card. Otherwise, the info card response is skipped.", +"id": "GoogleCloudDialogflowCxV3ResponseMessageKnowledgeInfoCard", +"properties": {}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoff": { +"description": "Indicates that the conversation should be handed off to a live agent. Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates something went extremely wrong in the conversation. * In a webhook response when you determine that the customer issue can only be handled by a human.", +"id": "GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoff", +"properties": { +"metadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ResponseMessageMixedAudio": { +"description": "Represents an audio message that is composed of both segments synthesized from the Dialogflow agent prompts and ones hosted externally at the specified URIs. The external URIs are specified via play_audio. This message is generated by Dialogflow only and not supposed to be defined by the user.", +"id": "GoogleCloudDialogflowCxV3ResponseMessageMixedAudio", +"properties": { +"segments": { +"description": "Segments this audio response is composed of.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3ResponseMessageMixedAudioSegment" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ResponseMessageMixedAudioSegment": { +"description": "Represents one segment of audio.", +"id": "GoogleCloudDialogflowCxV3ResponseMessageMixedAudioSegment", +"properties": { +"allowPlaybackInterruption": { +"description": "Output only. Whether the playback of this segment can be interrupted by the end user's speech and the client should then start the next Dialogflow request.", +"readOnly": true, +"type": "boolean" +}, +"audio": { +"description": "Raw audio synthesized from the Dialogflow agent's response using the output config specified in the request.", +"format": "byte", +"type": "string" +}, +"uri": { +"description": "Client-specific URI that points to an audio clip accessible to the client. Dialogflow does not impose any validation on it.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ResponseMessageOutputAudioText": { +"description": "A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message.", +"id": "GoogleCloudDialogflowCxV3ResponseMessageOutputAudioText", +"properties": { +"allowPlaybackInterruption": { +"description": "Output only. Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.", +"readOnly": true, +"type": "boolean" +}, +"ssml": { +"description": "The SSML text to be synthesized. For more information, see [SSML](/speech/text-to-speech/docs/ssml).", +"type": "string" +}, +"text": { +"description": "The raw text to be synthesized.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ResponseMessagePlayAudio": { +"description": "Specifies an audio clip to be played by the client as part of the response.", +"id": "GoogleCloudDialogflowCxV3ResponseMessagePlayAudio", +"properties": { +"allowPlaybackInterruption": { +"description": "Output only. Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.", +"readOnly": true, +"type": "boolean" +}, +"audioUri": { +"description": "Required. URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ResponseMessageTelephonyTransferCall": { +"description": "Represents the signal that telles the client to transfer the phone call connected to the agent to a third-party endpoint.", +"id": "GoogleCloudDialogflowCxV3ResponseMessageTelephonyTransferCall", +"properties": { +"phoneNumber": { +"description": "Transfer the call to a phone number in [E.164 format](https://en.wikipedia.org/wiki/E.164).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3ResponseMessageText": { +"description": "The text response message.", +"id": "GoogleCloudDialogflowCxV3ResponseMessageText", +"properties": { +"allowPlaybackInterruption": { +"description": "Output only. Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.", +"readOnly": true, +"type": "boolean" +}, +"text": { +"description": "Required. A collection of text response variants. If multiple variants are defined, only one text response variant is returned at runtime.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3RunContinuousTestMetadata": { +"description": "Metadata returned for the Environments.RunContinuousTest long running operation.", +"id": "GoogleCloudDialogflowCxV3RunContinuousTestMetadata", +"properties": { +"errors": { +"description": "The test errors.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3TestError" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3RunContinuousTestResponse": { +"description": "The response message for Environments.RunContinuousTest.", +"id": "GoogleCloudDialogflowCxV3RunContinuousTestResponse", +"properties": { +"continuousTestResult": { +"$ref": "GoogleCloudDialogflowCxV3ContinuousTestResult", +"description": "The result for a continuous test run." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3RunTestCaseMetadata": { +"description": "Metadata returned for the TestCases.RunTestCase long running operation. This message currently has no fields.", +"id": "GoogleCloudDialogflowCxV3RunTestCaseMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3RunTestCaseResponse": { +"description": "The response message for TestCases.RunTestCase.", +"id": "GoogleCloudDialogflowCxV3RunTestCaseResponse", +"properties": { +"result": { +"$ref": "GoogleCloudDialogflowCxV3TestCaseResult", +"description": "The result." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3SessionInfo": { +"description": "Represents session information communicated to and from the webhook.", +"id": "GoogleCloudDialogflowCxV3SessionInfo", +"properties": { +"parameters": { +"additionalProperties": { +"type": "any" +}, +"description": "Optional for WebhookRequest. Optional for WebhookResponse. All parameters collected from forms and intents during the session. Parameters can be created, updated, or removed by the webhook. To remove a parameter from the session, the webhook should explicitly set the parameter value to null in WebhookResponse. The map is keyed by parameters' display names.", +"type": "object" +}, +"session": { +"description": "Always present for WebhookRequest. Ignored for WebhookResponse. The unique identifier of the session. This field can be used by the webhook to identify a session. Format: `projects//locations//agents//sessions/` or `projects//locations//agents//environments//sessions/` if environment is specified.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3TestCase": { +"description": "Represents a test case.", +"id": "GoogleCloudDialogflowCxV3TestCase", +"properties": { +"creationTime": { +"description": "Output only. When the test was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. The human-readable name of the test case, unique within the agent. Limit of 200 characters.", +"type": "string" +}, +"lastTestResult": { +"$ref": "GoogleCloudDialogflowCxV3TestCaseResult", +"description": "The latest test result." +}, +"name": { +"description": "The unique identifier of the test case. TestCases.CreateTestCase will populate the name automatically. Otherwise use format: `projects//locations//agents//testCases/`.", +"type": "string" +}, +"notes": { +"description": "Additional freeform notes about the test case. Limit of 400 characters.", +"type": "string" +}, +"tags": { +"description": "Tags are short descriptions that users may apply to test cases for organizational and filtering purposes. Each tag should start with \"#\" and has a limit of 30 characters.", +"items": { +"type": "string" +}, +"type": "array" +}, +"testCaseConversationTurns": { +"description": "The conversation turns uttered when the test case was created, in chronological order. These include the canonical set of agent utterances that should occur when the agent is working properly.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3ConversationTurn" +}, +"type": "array" +}, +"testConfig": { +"$ref": "GoogleCloudDialogflowCxV3TestConfig", +"description": "Config for the test case." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3TestCaseError": { +"description": "Error info for importing a test.", +"id": "GoogleCloudDialogflowCxV3TestCaseError", +"properties": { +"status": { +"$ref": "GoogleRpcStatus", +"description": "The status associated with the test case." +}, +"testCase": { +"$ref": "GoogleCloudDialogflowCxV3TestCase", +"description": "The test case." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3TestCaseResult": { +"description": "Represents a result from running a test case in an agent environment.", +"id": "GoogleCloudDialogflowCxV3TestCaseResult", +"properties": { +"conversationTurns": { +"description": "The conversation turns uttered during the test case replay in chronological order.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3ConversationTurn" +}, +"type": "array" +}, +"environment": { +"description": "Environment where the test was run. If not set, it indicates the draft environment.", +"type": "string" +}, +"name": { +"description": "The resource name for the test case result. Format: `projects//locations//agents//testCases//results/`.", +"type": "string" +}, +"testResult": { +"description": "Whether the test case passed in the agent environment.", +"enum": [ +"TEST_RESULT_UNSPECIFIED", +"PASSED", +"FAILED" +], +"enumDescriptions": [ +"Not specified. Should never be used.", +"The test passed.", +"The test did not pass." +], +"type": "string" +}, +"testTime": { +"description": "The time that the test was run.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3TestConfig": { +"description": "Represents configurations for a test case.", +"id": "GoogleCloudDialogflowCxV3TestConfig", +"properties": { +"flow": { +"description": "Flow name to start the test case with. Format: `projects//locations//agents//flows/`. Only one of `flow` and `page` should be set to indicate the starting point of the test case. If neither is set, the test case will start with start page on the default start flow.", +"type": "string" +}, +"page": { +"description": "The page to start the test case with. Format: `projects//locations//agents//flows//pages/`. Only one of `flow` and `page` should be set to indicate the starting point of the test case. If neither is set, the test case will start with start page on the default start flow.", +"type": "string" +}, +"trackingParameters": { +"description": "Session parameters to be compared when calculating differences.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3TestError": { +"description": "Error info for running a test.", +"id": "GoogleCloudDialogflowCxV3TestError", +"properties": { +"status": { +"$ref": "GoogleRpcStatus", +"description": "The status associated with the test." +}, +"testCase": { +"description": "The test case resource name.", +"type": "string" +}, +"testTime": { +"description": "The timestamp when the test was completed.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3TestRunDifference": { +"description": "The description of differences between original and replayed agent output.", +"id": "GoogleCloudDialogflowCxV3TestRunDifference", +"properties": { +"description": { +"description": "A human readable description of the diff, showing the actual output vs expected output.", +"type": "string" +}, +"type": { +"description": "The type of diff.", +"enum": [ +"DIFF_TYPE_UNSPECIFIED", +"INTENT", +"PAGE", +"PARAMETERS", +"UTTERANCE", +"FLOW" +], +"enumDescriptions": [ +"Should never be used.", +"The intent.", +"The page.", +"The parameters.", +"The message utterance.", +"The flow." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3TextInput": { +"description": "Represents the natural language text to be processed.", +"id": "GoogleCloudDialogflowCxV3TextInput", +"properties": { +"text": { +"description": "Required. The UTF-8 encoded natural language text to be processed.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3TransitionRoute": { +"description": "A transition route specifies a intent that can be matched and/or a data condition that can be evaluated during a session. When a specified transition is matched, the following actions are taken in order: * If there is a `trigger_fulfillment` associated with the transition, it will be called. * If there is a `target_page` associated with the transition, the session will transition into the specified page. * If there is a `target_flow` associated with the transition, the session will transition into the specified flow.", +"id": "GoogleCloudDialogflowCxV3TransitionRoute", +"properties": { +"condition": { +"description": "The condition to evaluate against form parameters or session parameters. See the [conditions reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition). At least one of `intent` or `condition` must be specified. When both `intent` and `condition` are specified, the transition can only happen when both are fulfilled.", +"type": "string" +}, +"description": { +"description": "Optional. The description of the transition route. The maximum length is 500 characters.", +"type": "string" +}, +"intent": { +"description": "The unique identifier of an Intent. Format: `projects//locations//agents//intents/`. Indicates that the transition can only happen when the given intent is matched. At least one of `intent` or `condition` must be specified. When both `intent` and `condition` are specified, the transition can only happen when both are fulfilled.", +"type": "string" +}, +"name": { +"description": "Output only. The unique identifier of this transition route.", +"readOnly": true, +"type": "string" +}, +"targetFlow": { +"description": "The target flow to transition to. Format: `projects//locations//agents//flows/`.", +"type": "string" +}, +"targetPage": { +"description": "The target page to transition to. Format: `projects//locations//agents//flows//pages/`.", +"type": "string" +}, +"triggerFulfillment": { +"$ref": "GoogleCloudDialogflowCxV3Fulfillment", +"description": "The fulfillment to call when the condition is satisfied. At least one of `trigger_fulfillment` and `target` must be specified. When both are defined, `trigger_fulfillment` is executed first." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3TurnSignals": { +"description": "Collection of all signals that were extracted for a single turn of the conversation.", +"id": "GoogleCloudDialogflowCxV3TurnSignals", +"properties": { +"agentEscalated": { +"description": "Whether agent responded with LiveAgentHandoff fulfillment.", +"type": "boolean" +}, +"dtmfUsed": { +"description": "Whether user was using DTMF input.", +"type": "boolean" +}, +"failureReasons": { +"description": "Failure reasons of the turn.", +"items": { +"enum": [ +"FAILURE_REASON_UNSPECIFIED", +"FAILED_INTENT", +"FAILED_WEBHOOK" +], +"enumDescriptions": [ +"Failure reason is not assigned.", +"Whether NLU failed to recognize user intent.", +"Whether webhook failed during the turn." +], +"type": "string" +}, +"type": "array" +}, +"noMatch": { +"description": "Whether NLU predicted NO_MATCH.", +"type": "boolean" +}, +"noUserInput": { +"description": "Whether user provided no input.", +"type": "boolean" +}, +"reachedEndPage": { +"description": "Whether turn resulted in End Session page.", +"type": "boolean" +}, +"sentimentMagnitude": { +"description": "Sentiment magnitude of the user utterance if [sentiment](https://cloud.google.com/dialogflow/cx/docs/concept/sentiment) was enabled.", +"format": "float", +"type": "number" +}, +"sentimentScore": { +"description": "Sentiment score of the user utterance if [sentiment](https://cloud.google.com/dialogflow/cx/docs/concept/sentiment) was enabled.", +"format": "float", +"type": "number" +}, +"userEscalated": { +"description": "Whether user was specifically asking for a live agent.", +"type": "boolean" +}, +"webhookStatuses": { +"description": "Human-readable statuses of the webhooks triggered during this turn.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3Webhook": { +"description": "Webhooks host the developer's business logic. During a session, webhooks allow the developer to use the data extracted by Dialogflow's natural language processing to generate dynamic responses, validate collected data, or trigger actions on the backend.", +"id": "GoogleCloudDialogflowCxV3Webhook", +"properties": { +"disabled": { +"description": "Indicates whether the webhook is disabled.", +"type": "boolean" +}, +"displayName": { +"description": "Required. The human-readable name of the webhook, unique within the agent.", +"type": "string" +}, +"genericWebService": { +"$ref": "GoogleCloudDialogflowCxV3WebhookGenericWebService", +"description": "Configuration for a generic web service." +}, +"name": { +"description": "The unique identifier of the webhook. Required for the Webhooks.UpdateWebhook method. Webhooks.CreateWebhook populates the name automatically. Format: `projects//locations//agents//webhooks/`.", +"type": "string" +}, +"serviceDirectory": { +"$ref": "GoogleCloudDialogflowCxV3WebhookServiceDirectoryConfig", +"description": "Configuration for a [Service Directory](https://cloud.google.com/service-directory) service." +}, +"timeout": { +"description": "Webhook execution timeout. Execution is considered failed if Dialogflow doesn't receive a response from webhook at the end of the timeout period. Defaults to 5 seconds, maximum allowed timeout is 30 seconds.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3WebhookGenericWebService": { +"description": "Represents configuration for a generic web service.", +"id": "GoogleCloudDialogflowCxV3WebhookGenericWebService", +"properties": { +"allowedCaCerts": { +"description": "Optional. Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with \"subject alt name\". For instance a certificate can be self-signed using the following command, ``` openssl x509 -req -days 200 -in example.com.csr \\ -signkey example.com.key \\ -out example.com.crt \\ -extfile <(printf \"\\nsubjectAltName='DNS:www.example.com'\") ```", +"items": { +"format": "byte", +"type": "string" +}, +"type": "array" +}, +"httpMethod": { +"description": "Optional. HTTP method for the flexible webhook calls. Standard webhook always uses POST.", +"enum": [ +"HTTP_METHOD_UNSPECIFIED", +"POST", +"GET", +"HEAD", +"PUT", +"DELETE", +"PATCH", +"OPTIONS" +], +"enumDescriptions": [ +"HTTP method not specified.", +"HTTP POST Method.", +"HTTP GET Method.", +"HTTP HEAD Method.", +"HTTP PUT Method.", +"HTTP DELETE Method.", +"HTTP PATCH Method.", +"HTTP OPTIONS Method." +], +"type": "string" +}, +"oauthConfig": { +"$ref": "GoogleCloudDialogflowCxV3WebhookGenericWebServiceOAuthConfig", +"description": "Optional. The OAuth configuration of the webhook. If specified, Dialogflow will initiate the OAuth client credential flow to exchange an access token from the 3rd party platform and put it in the auth header." +}, +"parameterMapping": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Maps the values extracted from specific fields of the flexible webhook response into session parameters. - Key: session parameter name - Value: field path in the webhook response", +"type": "object" +}, +"password": { +"deprecated": true, +"description": "The password for HTTP Basic authentication.", +"type": "string" +}, +"requestBody": { +"description": "Optional. Defines a custom JSON object as request body to send to flexible webhook.", +"type": "string" +}, +"requestHeaders": { +"additionalProperties": { +"type": "string" +}, +"description": "The HTTP request headers to send together with webhook requests.", +"type": "object" +}, +"serviceAgentAuth": { +"description": "Optional. Indicate the auth token type generated from the [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent). The generated token is sent in the Authorization header.", +"enum": [ +"SERVICE_AGENT_AUTH_UNSPECIFIED", +"NONE", +"ID_TOKEN", +"ACCESS_TOKEN" +], +"enumDescriptions": [ +"Service agent auth type unspecified. Default to ID_TOKEN.", +"No token used.", +"Use [ID token](https://cloud.google.com/docs/authentication/token-types#id) generated from service agent. This can be used to access Cloud Function and Cloud Run after you grant Invoker role to `service-@gcp-sa-dialogflow.iam.gserviceaccount.com`.", +"Use [access token](https://cloud.google.com/docs/authentication/token-types#access) generated from service agent. This can be used to access other Google Cloud APIs after you grant required roles to `service-@gcp-sa-dialogflow.iam.gserviceaccount.com`." +], +"type": "string" +}, +"uri": { +"description": "Required. The webhook URI for receiving POST requests. It must use https protocol.", +"type": "string" +}, +"username": { +"deprecated": true, +"description": "The user name for HTTP Basic authentication.", +"type": "string" +}, +"webhookType": { +"description": "Optional. Type of the webhook.", +"enum": [ +"WEBHOOK_TYPE_UNSPECIFIED", +"STANDARD", +"FLEXIBLE" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Represents a standard webhook.", +"Represents a flexible webhook." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3WebhookGenericWebServiceOAuthConfig": { +"description": "Represents configuration of OAuth client credential flow for 3rd party API authentication.", +"id": "GoogleCloudDialogflowCxV3WebhookGenericWebServiceOAuthConfig", +"properties": { +"clientId": { +"description": "Required. The client ID provided by the 3rd party platform.", +"type": "string" +}, +"clientSecret": { +"description": "Required. The client secret provided by the 3rd party platform.", +"type": "string" +}, +"scopes": { +"description": "Optional. The OAuth scopes to grant.", +"items": { +"type": "string" +}, +"type": "array" +}, +"tokenEndpoint": { +"description": "Required. The token endpoint provided by the 3rd party platform to exchange an access token.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3WebhookRequest": { +"description": "The request message for a webhook call. The request is sent as a JSON object and the field names will be presented in camel cases. You may see undocumented fields in an actual request. These fields are used internally by Dialogflow and should be ignored.", +"id": "GoogleCloudDialogflowCxV3WebhookRequest", +"properties": { +"detectIntentResponseId": { +"description": "Always present. The unique identifier of the DetectIntentResponse that will be returned to the API caller.", +"type": "string" +}, +"dtmfDigits": { +"description": "If DTMF was provided as input, this field will contain the DTMF digits.", +"type": "string" +}, +"fulfillmentInfo": { +"$ref": "GoogleCloudDialogflowCxV3WebhookRequestFulfillmentInfo", +"description": "Always present. Information about the fulfillment that triggered this webhook call." +}, +"intentInfo": { +"$ref": "GoogleCloudDialogflowCxV3WebhookRequestIntentInfo", +"description": "Information about the last matched intent." +}, +"languageCode": { +"description": "The language code specified in the original request.", +"type": "string" +}, +"languageInfo": { +"$ref": "GoogleCloudDialogflowCxV3LanguageInfo", +"description": "Information about the language of the request." +}, +"messages": { +"description": "The list of rich message responses to present to the user. Webhook can choose to append or replace this list in WebhookResponse.fulfillment_response;", +"items": { +"$ref": "GoogleCloudDialogflowCxV3ResponseMessage" +}, +"type": "array" +}, +"pageInfo": { +"$ref": "GoogleCloudDialogflowCxV3PageInfo", +"description": "Information about page status." +}, +"payload": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Custom data set in QueryParameters.payload.", +"type": "object" +}, +"sentimentAnalysisResult": { +"$ref": "GoogleCloudDialogflowCxV3WebhookRequestSentimentAnalysisResult", +"description": "The sentiment analysis result of the current user request. The field is filled when sentiment analysis is configured to be enabled for the request." +}, +"sessionInfo": { +"$ref": "GoogleCloudDialogflowCxV3SessionInfo", +"description": "Information about session status." +}, +"text": { +"description": "If natural language text was provided as input, this field will contain a copy of the text.", +"type": "string" +}, +"transcript": { +"description": "If natural language speech audio was provided as input, this field will contain the transcript for the audio.", +"type": "string" +}, +"triggerEvent": { +"description": "If an event was provided as input, this field will contain the name of the event.", +"type": "string" +}, +"triggerIntent": { +"description": "If an intent was provided as input, this field will contain a copy of the intent identifier. Format: `projects//locations//agents//intents/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3WebhookRequestFulfillmentInfo": { +"description": "Represents fulfillment information communicated to the webhook.", +"id": "GoogleCloudDialogflowCxV3WebhookRequestFulfillmentInfo", +"properties": { +"tag": { +"description": "Always present. The value of the Fulfillment.tag field will be populated in this field by Dialogflow when the associated webhook is called. The tag is typically used by the webhook service to identify which fulfillment is being called, but it could be used for other purposes.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3WebhookRequestIntentInfo": { +"description": "Represents intent information communicated to the webhook.", +"id": "GoogleCloudDialogflowCxV3WebhookRequestIntentInfo", +"properties": { +"confidence": { +"description": "The confidence of the matched intent. Values range from 0.0 (completely uncertain) to 1.0 (completely certain).", +"format": "float", +"type": "number" +}, +"displayName": { +"description": "Always present. The display name of the last matched intent.", +"type": "string" +}, +"lastMatchedIntent": { +"description": "Always present. The unique identifier of the last matched intent. Format: `projects//locations//agents//intents/`.", +"type": "string" +}, +"parameters": { +"additionalProperties": { +"$ref": "GoogleCloudDialogflowCxV3WebhookRequestIntentInfoIntentParameterValue" +}, +"description": "Parameters identified as a result of intent matching. This is a map of the name of the identified parameter to the value of the parameter identified from the user's utterance. All parameters defined in the matched intent that are identified will be surfaced here.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3WebhookRequestIntentInfoIntentParameterValue": { +"description": "Represents a value for an intent parameter.", +"id": "GoogleCloudDialogflowCxV3WebhookRequestIntentInfoIntentParameterValue", +"properties": { +"originalValue": { +"description": "Always present. Original text value extracted from user utterance.", +"type": "string" +}, +"resolvedValue": { +"description": "Always present. Structured value for the parameter extracted from user utterance.", +"type": "any" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3WebhookRequestSentimentAnalysisResult": { +"description": "Represents the result of sentiment analysis.", +"id": "GoogleCloudDialogflowCxV3WebhookRequestSentimentAnalysisResult", +"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" +}, +"GoogleCloudDialogflowCxV3WebhookResponse": { +"description": "The response message for a webhook call.", +"id": "GoogleCloudDialogflowCxV3WebhookResponse", +"properties": { +"fulfillmentResponse": { +"$ref": "GoogleCloudDialogflowCxV3WebhookResponseFulfillmentResponse", +"description": "The fulfillment response to send to the user. This field can be omitted by the webhook if it does not intend to send any response to the user." +}, +"pageInfo": { +"$ref": "GoogleCloudDialogflowCxV3PageInfo", +"description": "Information about page status. This field can be omitted by the webhook if it does not intend to modify page status." +}, +"payload": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Value to append directly to QueryResult.webhook_payloads.", +"type": "object" +}, +"sessionInfo": { +"$ref": "GoogleCloudDialogflowCxV3SessionInfo", +"description": "Information about session status. This field can be omitted by the webhook if it does not intend to modify session status." +}, +"targetFlow": { +"description": "The target flow to transition to. Format: `projects//locations//agents//flows/`.", +"type": "string" +}, +"targetPage": { +"description": "The target page to transition to. Format: `projects//locations//agents//flows//pages/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3WebhookResponseFulfillmentResponse": { +"description": "Represents a fulfillment response to the user.", +"id": "GoogleCloudDialogflowCxV3WebhookResponseFulfillmentResponse", +"properties": { +"mergeBehavior": { +"description": "Merge behavior for `messages`.", +"enum": [ +"MERGE_BEHAVIOR_UNSPECIFIED", +"APPEND", +"REPLACE" +], +"enumDescriptions": [ +"Not specified. `APPEND` will be used.", +"`messages` will be appended to the list of messages waiting to be sent to the user.", +"`messages` will replace the list of messages waiting to be sent to the user." +], +"type": "string" +}, +"messages": { +"description": "The list of rich message responses to present to the user.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3ResponseMessage" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3WebhookServiceDirectoryConfig": { +"description": "Represents configuration for a [Service Directory](https://cloud.google.com/service-directory) service.", +"id": "GoogleCloudDialogflowCxV3WebhookServiceDirectoryConfig", +"properties": { +"genericWebService": { +"$ref": "GoogleCloudDialogflowCxV3WebhookGenericWebService", +"description": "Generic Service configuration of this webhook." +}, +"service": { +"description": "Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects//locations//namespaces//services/`. `Location ID` of the service directory must be the same as the location of the agent.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1Action": { +"description": "Action performed by end user or Dialogflow agent in the conversation.", +"id": "GoogleCloudDialogflowCxV3beta1Action", +"properties": { +"agentUtterance": { +"$ref": "GoogleCloudDialogflowCxV3beta1AgentUtterance", +"description": "Optional. Action performed by the agent as a message." +}, +"flowInvocation": { +"$ref": "GoogleCloudDialogflowCxV3beta1FlowInvocation", +"description": "Optional. Action performed on behalf of the agent by invoking a CX flow." +}, +"playbookInvocation": { +"$ref": "GoogleCloudDialogflowCxV3beta1PlaybookInvocation", +"description": "Optional. Action performed on behalf of the agent by invoking a child playbook." +}, +"toolUse": { +"$ref": "GoogleCloudDialogflowCxV3beta1ToolUse", +"description": "Optional. Action performed on behalf of the agent by calling a plugin tool." +}, +"userUtterance": { +"$ref": "GoogleCloudDialogflowCxV3beta1UserUtterance", +"description": "Optional. Agent obtained a message from the customer." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1AdvancedSettings": { +"description": "Hierarchical advanced settings for agent/flow/page/fulfillment/parameter. Settings exposed at lower level overrides the settings exposed at higher level. Overriding occurs at the sub-setting level. For example, the playback_interruption_settings at fulfillment level only overrides the playback_interruption_settings at the agent level, leaving other settings at the agent level unchanged. DTMF settings does not override each other. DTMF settings set at different levels define DTMF detections running in parallel. Hierarchy: Agent->Flow->Page->Fulfillment/Parameter.", +"id": "GoogleCloudDialogflowCxV3beta1AdvancedSettings", +"properties": { +"audioExportGcsDestination": { +"$ref": "GoogleCloudDialogflowCxV3beta1GcsDestination", +"description": "If present, incoming audio is exported by Dialogflow to the configured Google Cloud Storage destination. Exposed at the following levels: - Agent level - Flow level" +}, +"dtmfSettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1AdvancedSettingsDtmfSettings", +"description": "Settings for DTMF. Exposed at the following levels: - Agent level - Flow level - Page level - Parameter level." +}, +"loggingSettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1AdvancedSettingsLoggingSettings", +"description": "Settings for logging. Settings for Dialogflow History, Contact Center messages, StackDriver logs, and speech logging. Exposed at the following levels: - Agent level." +}, +"speechSettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1AdvancedSettingsSpeechSettings", +"description": "Settings for speech to text detection. Exposed at the following levels: - Agent level - Flow level - Page level - Parameter level" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1AdvancedSettingsDtmfSettings": { +"description": "Define behaviors for DTMF (dual tone multi frequency).", +"id": "GoogleCloudDialogflowCxV3beta1AdvancedSettingsDtmfSettings", +"properties": { +"enabled": { +"description": "If true, incoming audio is processed for DTMF (dual tone multi frequency) events. For example, if the caller presses a button on their telephone keypad and DTMF processing is enabled, Dialogflow will detect the event (e.g. a \"3\" was pressed) in the incoming audio and pass the event to the bot to drive business logic (e.g. when 3 is pressed, return the account balance).", +"type": "boolean" +}, +"endpointingTimeoutDuration": { +"description": "Endpoint timeout setting for matching dtmf input to regex.", +"format": "google-duration", +"type": "string" +}, +"finishDigit": { +"description": "The digit that terminates a DTMF digit sequence.", +"type": "string" +}, +"interdigitTimeoutDuration": { +"description": "Interdigit timeout setting for matching dtmf input to regex.", +"format": "google-duration", +"type": "string" +}, +"maxDigits": { +"description": "Max length of DTMF digits.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1AdvancedSettingsLoggingSettings": { +"description": "Define behaviors on logging.", +"id": "GoogleCloudDialogflowCxV3beta1AdvancedSettingsLoggingSettings", +"properties": { +"enableConsentBasedRedaction": { +"description": "Enables consent-based end-user input redaction, if true, a pre-defined session parameter `$session.params.conversation-redaction` will be used to determine if the utterance should be redacted.", +"type": "boolean" +}, +"enableInteractionLogging": { +"description": "Enables DF Interaction logging.", +"type": "boolean" +}, +"enableStackdriverLogging": { +"description": "Enables Google Cloud Logging.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1AdvancedSettingsSpeechSettings": { +"description": "Define behaviors of speech to text detection.", +"id": "GoogleCloudDialogflowCxV3beta1AdvancedSettingsSpeechSettings", +"properties": { +"endpointerSensitivity": { +"description": "Sensitivity of the speech model that detects the end of speech. Scale from 0 to 100.", +"format": "int32", +"type": "integer" +}, +"models": { +"additionalProperties": { +"type": "string" +}, +"description": "Mapping from language to Speech-to-Text model. The mapped Speech-to-Text model will be selected for requests from its corresponding language. For more information, see [Speech models](https://cloud.google.com/dialogflow/cx/docs/concept/speech-models).", +"type": "object" +}, +"noSpeechTimeout": { +"description": "Timeout before detecting no speech.", +"format": "google-duration", +"type": "string" +}, +"useTimeoutBasedEndpointing": { +"description": "Use timeout based endpointing, interpreting endpointer sensitivy as seconds of timeout value.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1Agent": { +"description": "Agents are best described as Natural Language Understanding (NLU) modules that transform user requests into actionable data. You can include agents in your app, product, or service to determine user intent and respond to the user in a natural way. After you create an agent, you can add Intents, Entity Types, Flows, Fulfillments, Webhooks, TransitionRouteGroups and so on to manage the conversation flows.", +"id": "GoogleCloudDialogflowCxV3beta1Agent", +"properties": { +"advancedSettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1AdvancedSettings", +"description": "Hierarchical advanced settings for this agent. The settings exposed at the lower level overrides the settings exposed at the higher level." +}, +"answerFeedbackSettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1AgentAnswerFeedbackSettings", +"description": "Optional. Answer feedback collection settings." +}, +"avatarUri": { +"description": "The URI of the agent's avatar. Avatars are used throughout the Dialogflow console and in the self-hosted [Web Demo](https://cloud.google.com/dialogflow/docs/integrations/web-demo) integration.", +"type": "string" +}, +"bigqueryExportSettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1BigQueryExportSettings", +"description": "Optional. The BigQuery export settings for this agent. The conversation data will be exported to BigQuery tables if it is enabled. By default, BigQuery export settings will not be exported with agent. You need to set include_bigquery_export_settings to include it in the exported agent." +}, +"clientCertificateSettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1AgentClientCertificateSettings", +"description": "Optional. Settings for custom client certificates." +}, +"defaultLanguageCode": { +"description": "Required. Immutable. The default language of the agent as a language tag. See [Language Support](https://cloud.google.com/dialogflow/cx/docs/reference/language) for a list of the currently supported language codes. This field cannot be set by the Agents.UpdateAgent method.", +"type": "string" +}, +"description": { +"description": "The description of the agent. The maximum length is 500 characters. If exceeded, the request is rejected.", +"type": "string" +}, +"displayName": { +"description": "Required. The human-readable name of the agent, unique within the location.", +"type": "string" +}, +"enableMultiLanguageTraining": { +"description": "Optional. Enable training multi-lingual models for this agent. These models will be trained on all the languages supported by the agent.", +"type": "boolean" +}, +"enableSpellCorrection": { +"description": "Indicates if automatic spell correction is enabled in detect intent requests.", +"type": "boolean" +}, +"enableStackdriverLogging": { +"deprecated": true, +"description": "Indicates if stackdriver logging is enabled for the agent. Please use agent.advanced_settings instead.", +"type": "boolean" +}, +"genAppBuilderSettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1AgentGenAppBuilderSettings", +"description": "Gen App Builder-related agent-level settings." +}, +"gitIntegrationSettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1AgentGitIntegrationSettings", +"description": "Git integration settings for this agent." +}, +"locked": { +"description": "Indicates whether the agent is locked for changes. If the agent is locked, modifications to the agent will be rejected except for RestoreAgent.", +"type": "boolean" +}, +"name": { +"description": "The unique identifier of the agent. Required for the Agents.UpdateAgent method. Agents.CreateAgent populates the name automatically. Format: `projects//locations//agents/`.", +"type": "string" +}, +"personalizationSettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1AgentPersonalizationSettings", +"description": "Optional. Settings for end user personalization." +}, +"satisfiesPzi": { +"description": "Optional. Output only. A read only boolean field reflecting Zone Isolation status of the agent.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Optional. Output only. A read only boolean field reflecting Zone Separation status of the agent.", +"readOnly": true, +"type": "boolean" +}, +"securitySettings": { +"description": "Name of the SecuritySettings reference for the agent. Format: `projects//locations//securitySettings/`.", +"type": "string" +}, +"speechToTextSettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1SpeechToTextSettings", +"description": "Speech recognition related settings." +}, +"startFlow": { +"description": "Name of the start flow in this agent. A start flow will be automatically created when the agent is created, and can only be deleted by deleting the agent. Format: `projects//locations//agents//flows/`. Currently only the default start flow with id \"00000000-0000-0000-0000-000000000000\" is allowed.", +"type": "string" +}, +"startPlaybook": { +"description": "Name of the start playbook in this agent. A start playbook will be automatically created when the agent is created, and can only be deleted by deleting the agent. Format: `projects//locations//agents//playbooks/`. Currently only the default playbook with id \"00000000-0000-0000-0000-000000000000\" is allowed.", +"type": "string" +}, +"supportedLanguageCodes": { +"description": "The list of all languages supported by the agent (except for the `default_language_code`).", +"items": { +"type": "string" +}, +"type": "array" +}, +"textToSpeechSettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1TextToSpeechSettings", +"description": "Settings on instructing the speech synthesizer on how to generate the output audio content." +}, +"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" +}, +"GoogleCloudDialogflowCxV3beta1AgentAnswerFeedbackSettings": { +"description": "Settings for answer feedback collection.", +"id": "GoogleCloudDialogflowCxV3beta1AgentAnswerFeedbackSettings", +"properties": { +"enableAnswerFeedback": { +"description": "Optional. If enabled, end users will be able to provide answer feedback to Dialogflow responses. Feature works only if interaction logging is enabled in the Dialogflow agent.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1AgentClientCertificateSettings": { +"description": "Settings for custom client certificates.", +"id": "GoogleCloudDialogflowCxV3beta1AgentClientCertificateSettings", +"properties": { +"passphrase": { +"description": "Optional. The name of the SecretManager secret version resource storing the passphrase. 'passphrase' should be left unset if the private key is not encrypted. Format: `projects/{project}/secrets/{secret}/versions/{version}`", +"type": "string" +}, +"privateKey": { +"description": "Required. The name of the SecretManager secret version resource storing the private key encoded in PEM format. Format: `projects/{project}/secrets/{secret}/versions/{version}`", +"type": "string" +}, +"sslCertificate": { +"description": "Required. The ssl certificate encoded in PEM format. This string must include the begin header and end footer lines.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1AgentGenAppBuilderSettings": { +"description": "Settings for Gen App Builder.", +"id": "GoogleCloudDialogflowCxV3beta1AgentGenAppBuilderSettings", +"properties": { +"engine": { +"description": "Required. The full name of the Gen App Builder engine related to this agent if there is one. Format: `projects/{Project ID}/locations/{Location ID}/collections/{Collection ID}/engines/{Engine ID}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1AgentGitIntegrationSettings": { +"description": "Settings for connecting to Git repository for an agent.", +"id": "GoogleCloudDialogflowCxV3beta1AgentGitIntegrationSettings", +"properties": { +"githubSettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1AgentGitIntegrationSettingsGithubSettings", +"description": "GitHub settings." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1AgentGitIntegrationSettingsGithubSettings": { +"description": "Settings of integration with GitHub.", +"id": "GoogleCloudDialogflowCxV3beta1AgentGitIntegrationSettingsGithubSettings", +"properties": { +"accessToken": { +"description": "The access token used to authenticate the access to the GitHub repository.", +"type": "string" +}, +"branches": { +"description": "A list of branches configured to be used from Dialogflow.", +"items": { +"type": "string" +}, +"type": "array" +}, +"displayName": { +"description": "The unique repository display name for the GitHub repository.", +"type": "string" +}, +"repositoryUri": { +"description": "The GitHub repository URI related to the agent.", +"type": "string" +}, +"trackingBranch": { +"description": "The branch of the GitHub repository tracked for this agent.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1AgentPersonalizationSettings": { +"description": "Settings for end user personalization.", +"id": "GoogleCloudDialogflowCxV3beta1AgentPersonalizationSettings", +"properties": { +"defaultEndUserMetadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. Default end user metadata, used when processing DetectIntent requests. Recommended to be filled as a template instead of hard-coded value, for example { \"age\": \"$session.params.age\" }. The data will be merged with the QueryParameters.end_user_metadata in DetectIntentRequest.query_params during query processing.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1AgentUtterance": { +"description": "AgentUtterance represents one message sent by the agent.", +"id": "GoogleCloudDialogflowCxV3beta1AgentUtterance", +"properties": { +"text": { +"description": "Required. Message content in text.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1AgentValidationResult": { +"description": "The response message for Agents.GetAgentValidationResult.", +"id": "GoogleCloudDialogflowCxV3beta1AgentValidationResult", +"properties": { +"flowValidationResults": { +"description": "Contains all flow validation results.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1FlowValidationResult" +}, +"type": "array" +}, +"name": { +"description": "The unique identifier of the agent validation result. Format: `projects//locations//agents//validationResult`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1AnswerFeedback": { +"description": "Stores information about feedback provided by users about a response.", +"id": "GoogleCloudDialogflowCxV3beta1AnswerFeedback", +"properties": { +"customRating": { +"description": "Optional. Custom rating from the user about the provided answer, with maximum length of 1024 characters. For example, client could use a customized JSON object to indicate the rating.", +"type": "string" +}, +"rating": { +"description": "Optional. Rating from user for the specific Dialogflow response.", +"enum": [ +"RATING_UNSPECIFIED", +"THUMBS_UP", +"THUMBS_DOWN" +], +"enumDescriptions": [ +"Rating not specified.", +"Thumbs up feedback from user.", +"Thumbs down feedback from user." +], +"type": "string" +}, +"ratingReason": { +"$ref": "GoogleCloudDialogflowCxV3beta1AnswerFeedbackRatingReason", +"description": "Optional. In case of thumbs down rating provided, users can optionally provide context about the rating." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1AnswerFeedbackRatingReason": { +"description": "Stores extra information about why users provided thumbs down rating.", +"id": "GoogleCloudDialogflowCxV3beta1AnswerFeedbackRatingReason", +"properties": { +"feedback": { +"description": "Optional. Additional feedback about the rating. This field can be populated without choosing a predefined `reason`.", +"type": "string" +}, +"reasonLabels": { +"description": "Optional. Custom reason labels for thumbs down rating provided by the user. The maximum number of labels allowed is 10 and the maximum length of a single label is 128 characters.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1AudioInput": { +"description": "Represents the natural speech audio to be processed.", +"id": "GoogleCloudDialogflowCxV3beta1AudioInput", +"properties": { +"audio": { +"description": "The natural language speech audio to be processed. A single request can contain up to 2 minutes of speech audio data. The transcribed text cannot contain more than 256 bytes. For non-streaming audio detect intent, both `config` and `audio` must be provided. For streaming audio detect intent, `config` must be provided in the first request and `audio` must be provided in all following requests.", +"format": "byte", +"type": "string" +}, +"config": { +"$ref": "GoogleCloudDialogflowCxV3beta1InputAudioConfig", +"description": "Required. Instructs the speech recognizer how to process the speech audio." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1BargeInConfig": { +"description": "Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up.", +"id": "GoogleCloudDialogflowCxV3beta1BargeInConfig", +"properties": { +"noBargeInDuration": { +"description": "Duration that is not eligible for barge-in at the beginning of the input audio.", +"format": "google-duration", +"type": "string" +}, +"totalDuration": { +"description": "Total duration for the playback at the beginning of the input audio.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1BatchDeleteTestCasesRequest": { +"description": "The request message for TestCases.BatchDeleteTestCases.", +"id": "GoogleCloudDialogflowCxV3beta1BatchDeleteTestCasesRequest", +"properties": { +"names": { +"description": "Required. Format of test case names: `projects//locations//agents//testCases/`.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1BatchRunTestCasesMetadata": { +"description": "Metadata returned for the TestCases.BatchRunTestCases long running operation.", +"id": "GoogleCloudDialogflowCxV3beta1BatchRunTestCasesMetadata", +"properties": { +"errors": { +"description": "The test errors.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1TestError" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1BatchRunTestCasesRequest": { +"description": "The request message for TestCases.BatchRunTestCases.", +"id": "GoogleCloudDialogflowCxV3beta1BatchRunTestCasesRequest", +"properties": { +"environment": { +"description": "Optional. If not set, draft environment is assumed. Format: `projects//locations//agents//environments/`.", +"type": "string" +}, +"testCases": { +"description": "Required. Format: `projects//locations//agents//testCases/`.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1BatchRunTestCasesResponse": { +"description": "The response message for TestCases.BatchRunTestCases.", +"id": "GoogleCloudDialogflowCxV3beta1BatchRunTestCasesResponse", +"properties": { +"results": { +"description": "The test case results. The detailed conversation turns are empty in this response.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1TestCaseResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1BigQueryExportSettings": { +"description": "The settings of BigQuery export.", +"id": "GoogleCloudDialogflowCxV3beta1BigQueryExportSettings", +"properties": { +"bigqueryTable": { +"description": "The BigQuery table to export. Format: `projects//datasets//tables/`.", +"type": "string" +}, +"enabled": { +"description": "The field to indicate whether the BigQuery export is enabled.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1BoostSpec": { +"description": "Boost specification to boost certain documents. A copy of google.cloud.discoveryengine.v1main.BoostSpec, field documentation is available at https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1alpha/BoostSpec", +"id": "GoogleCloudDialogflowCxV3beta1BoostSpec", +"properties": { +"conditionBoostSpecs": { +"description": "Optional. 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": "GoogleCloudDialogflowCxV3beta1BoostSpecConditionBoostSpec" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1BoostSpecConditionBoostSpec": { +"description": "Boost applies to documents which match a condition.", +"id": "GoogleCloudDialogflowCxV3beta1BoostSpecConditionBoostSpec", +"properties": { +"boost": { +"description": "Optional. 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.", +"format": "float", +"type": "number" +}, +"boostControlSpec": { +"$ref": "GoogleCloudDialogflowCxV3beta1BoostSpecConditionBoostSpecBoostControlSpec", +"description": "Optional. Complex specification for custom ranking based on customer defined attribute value." +}, +"condition": { +"description": "Optional. An expression which specifies a boost condition. The syntax and supported fields are the same as a filter expression. Examples: * To boost documents with document ID \"doc_1\" or \"doc_2\", and color \"Red\" or \"Blue\": * (id: ANY(\"doc_1\", \"doc_2\")) AND (color: ANY(\"Red\",\"Blue\"))", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1BoostSpecConditionBoostSpecBoostControlSpec": { +"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": "GoogleCloudDialogflowCxV3beta1BoostSpecConditionBoostSpecBoostControlSpec", +"properties": { +"attributeType": { +"description": "Optional. The attribute type to be used to determine the boost amount. The attribute value can be derived from the field value of the specified field_name. In the case of numerical it is straightforward i.e. attribute_value = numerical_field_value. In the case of freshness however, attribute_value = (time.now() - datetime_field_value).", +"enum": [ +"ATTRIBUTE_TYPE_UNSPECIFIED", +"NUMERICAL", +"FRESHNESS" +], +"enumDescriptions": [ +"Unspecified AttributeType.", +"The value of the numerical field will be used to dynamically update the boost amount. In this case, the attribute_value (the x value) of the control point will be the actual value of the numerical field for which the boost_amount is specified.", +"For the freshness use case the attribute value will be the duration between the current time and the date in the datetime field specified. The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`. E.g. `5D`, `3DT12H30M`, `T24H`." +], +"type": "string" +}, +"controlPoints": { +"description": "Optional. The control points used to define the curve. The monotonic function (defined through the interpolation_type above) passes through the control points listed here.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1BoostSpecConditionBoostSpecBoostControlSpecControlPoint" +}, +"type": "array" +}, +"fieldName": { +"description": "Optional. The name of the field whose value will be used to determine the boost amount.", +"type": "string" +}, +"interpolationType": { +"description": "Optional. The interpolation type to be applied to connect the control points listed below.", +"enum": [ +"INTERPOLATION_TYPE_UNSPECIFIED", +"LINEAR" +], +"enumDescriptions": [ +"Interpolation type is unspecified. In this case, it defaults to Linear.", +"Piecewise linear interpolation will be applied." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1BoostSpecConditionBoostSpecBoostControlSpecControlPoint": { +"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": "GoogleCloudDialogflowCxV3beta1BoostSpecConditionBoostSpecBoostControlSpecControlPoint", +"properties": { +"attributeValue": { +"description": "Optional. Can be one of: 1. The numerical field value. 2. The duration spec for freshness: The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`.", +"type": "string" +}, +"boostAmount": { +"description": "Optional. The value between -1 to 1 by which to boost the score if the attribute_value evaluates to the value specified above.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1BoostSpecs": { +"description": "Boost specifications for data stores.", +"id": "GoogleCloudDialogflowCxV3beta1BoostSpecs", +"properties": { +"dataStores": { +"description": "Optional. Data Stores where the boosting configuration is applied. The full names of the referenced data stores. Formats: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}` `projects/{project}/locations/{location}/dataStores/{data_store}", +"items": { +"type": "string" +}, +"type": "array" +}, +"spec": { +"description": "Optional. A list of boosting specifications.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1BoostSpec" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1CalculateCoverageResponse": { +"description": "The response message for TestCases.CalculateCoverage.", +"id": "GoogleCloudDialogflowCxV3beta1CalculateCoverageResponse", +"properties": { +"agent": { +"description": "The agent to calculate coverage for. Format: `projects//locations//agents/`.", +"type": "string" +}, +"intentCoverage": { +"$ref": "GoogleCloudDialogflowCxV3beta1IntentCoverage", +"description": "Intent coverage." +}, +"routeGroupCoverage": { +"$ref": "GoogleCloudDialogflowCxV3beta1TransitionRouteGroupCoverage", +"description": "Transition route group coverage." +}, +"transitionCoverage": { +"$ref": "GoogleCloudDialogflowCxV3beta1TransitionCoverage", +"description": "Transition (excluding transition route groups) coverage." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1Changelog": { +"description": "Changelogs represents a change made to a given agent.", +"id": "GoogleCloudDialogflowCxV3beta1Changelog", +"properties": { +"action": { +"description": "The action of the change.", +"type": "string" +}, +"createTime": { +"description": "The timestamp of the change.", +"format": "google-datetime", +"type": "string" +}, +"displayName": { +"description": "The affected resource display name of the change.", +"type": "string" +}, +"languageCode": { +"description": "The affected language code of the change.", +"type": "string" +}, +"name": { +"description": "The unique identifier of the changelog. Format: `projects//locations//agents//changelogs/`.", +"type": "string" +}, +"resource": { +"description": "The affected resource name of the change.", +"type": "string" +}, +"type": { +"description": "The affected resource type.", +"type": "string" +}, +"userEmail": { +"description": "Email address of the authenticated user.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1CompareVersionsRequest": { +"description": "The request message for Versions.CompareVersions.", +"id": "GoogleCloudDialogflowCxV3beta1CompareVersionsRequest", +"properties": { +"languageCode": { +"description": "The language to compare the flow versions for. If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.", +"type": "string" +}, +"targetVersion": { +"description": "Required. Name of the target flow version to compare with the base version. Use version ID `0` to indicate the draft version of the specified flow. Format: `projects//locations//agents//flows//versions/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1CompareVersionsResponse": { +"description": "The response message for Versions.CompareVersions.", +"id": "GoogleCloudDialogflowCxV3beta1CompareVersionsResponse", +"properties": { +"baseVersionContentJson": { +"description": "JSON representation of the base version content.", +"type": "string" +}, +"compareTime": { +"description": "The timestamp when the two version compares.", +"format": "google-datetime", +"type": "string" +}, +"targetVersionContentJson": { +"description": "JSON representation of the target version content.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ContinuousTestResult": { +"description": "Represents a result from running a test case in an agent environment.", +"id": "GoogleCloudDialogflowCxV3beta1ContinuousTestResult", +"properties": { +"name": { +"description": "The resource name for the continuous test result. Format: `projects//locations//agents//environments//continuousTestResults/`.", +"type": "string" +}, +"result": { +"description": "The result of this continuous test run, i.e. whether all the tests in this continuous test run pass or not.", +"enum": [ +"AGGREGATED_TEST_RESULT_UNSPECIFIED", +"PASSED", +"FAILED" +], +"enumDescriptions": [ +"Not specified. Should never be used.", +"All the tests passed.", +"At least one test did not pass." +], +"type": "string" +}, +"runTime": { +"description": "Time when the continuous testing run starts.", +"format": "google-datetime", +"type": "string" +}, +"testCaseResults": { +"description": "A list of individual test case results names in this continuous test run.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1Conversation": { +"description": "Represents a conversation.", +"id": "GoogleCloudDialogflowCxV3beta1Conversation", +"properties": { +"duration": { +"description": "Duration of the conversation.", +"format": "google-duration", +"type": "string" +}, +"environment": { +"$ref": "GoogleCloudDialogflowCxV3beta1Environment", +"description": "Environment of the conversation. Only `name` and `display_name` are filled in this message." +}, +"flowVersions": { +"additionalProperties": { +"format": "int64", +"type": "string" +}, +"description": "Flow versions used in the conversation.", +"type": "object" +}, +"flows": { +"description": "All the Flow the conversation has went through. Only `name` and `display_name` are filled in this message.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1Flow" +}, +"type": "array" +}, +"intents": { +"description": "All the matched Intent in the conversation. Only `name` and `display_name` are filled in this message.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1Intent" +}, +"type": "array" +}, +"interactions": { +"description": "Interactions of the conversation. Only populated for `GetConversation` and empty for `ListConversations`.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1ConversationInteraction" +}, +"type": "array" +}, +"languageCode": { +"description": "The language of the conversation, which is the language of the first request in the conversation.", +"type": "string" +}, +"metrics": { +"$ref": "GoogleCloudDialogflowCxV3beta1ConversationMetrics", +"description": "Conversation metrics." +}, +"name": { +"description": "Identifier. The identifier of the conversation. If conversation ID is reused, interactions happened later than 48 hours of the conversation's create time will be ignored. Format: `projects//locations//agents//conversations/`", +"type": "string" +}, +"pages": { +"description": "All the Page the conversation has went through. Only `name` and `display_name` are filled in this message.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1Page" +}, +"type": "array" +}, +"startTime": { +"description": "Start time of the conversation, which is the time of the first request of the conversation.", +"format": "google-datetime", +"type": "string" +}, +"type": { +"description": "The type of the conversation.", +"enum": [ +"TYPE_UNSPECIFIED", +"AUDIO", +"TEXT", +"UNDETERMINED" +], +"enumDescriptions": [ +"Not specified. This value should never be used.", +"Audio conversation. A conversation is classified as an audio conversation if any request has STT input audio or any response has TTS output audio.", +"Text conversation. A conversation is classified as a text conversation if any request has text input and no request has STT input audio and no response has TTS output audio.", +"Default conversation type for a conversation. A conversation is classified as undetermined if none of the requests contain text or audio input (eg. event or intent input)." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ConversationInteraction": { +"description": "Represents an interaction between an end user and a Dialogflow CX agent using V3 (Streaming)DetectIntent API, or an interaction between an end user and a Dialogflow CX agent using V2 (Streaming)AnalyzeContent API.", +"id": "GoogleCloudDialogflowCxV3beta1ConversationInteraction", +"properties": { +"answerFeedback": { +"$ref": "GoogleCloudDialogflowCxV3beta1AnswerFeedback", +"description": "Answer feedback for the final response." +}, +"createTime": { +"description": "The time that the interaction was created.", +"format": "google-datetime", +"type": "string" +}, +"missingTransition": { +"$ref": "GoogleCloudDialogflowCxV3beta1ConversationInteractionMissingTransition", +"description": "Missing transition predicted for the interaction. This field is set only if the interaction match type was no-match." +}, +"partialResponses": { +"description": "The partial responses of the interaction. Empty if there is no partial response in the interaction. See the partial response documentation.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1DetectIntentResponse" +}, +"type": "array" +}, +"request": { +"$ref": "GoogleCloudDialogflowCxV3beta1DetectIntentRequest", +"description": "The request of the interaction." +}, +"requestUtterances": { +"description": "The input text or the transcript of the input audio in the request.", +"type": "string" +}, +"response": { +"$ref": "GoogleCloudDialogflowCxV3beta1DetectIntentResponse", +"description": "The final response of the interaction." +}, +"responseUtterances": { +"description": "The output text or the transcript of the output audio in the responses. If multiple output messages are returned, they will be concatenated into one.", +"type": "string" +}, +"stepMetrics": { +"description": "Metrics associated with different processing steps. Names and number of steps depend on the request and can change without a notice.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1ConversationInteractionStepMetrics" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ConversationInteractionMissingTransition": { +"description": "Information collected for DF CX agents in case NLU predicted an intent that was filtered out as being inactive which may indicate a missing transition and/or absent functionality.", +"id": "GoogleCloudDialogflowCxV3beta1ConversationInteractionMissingTransition", +"properties": { +"intentDisplayName": { +"description": "Name of the intent that could have triggered.", +"type": "string" +}, +"score": { +"description": "Score of the above intent. The higher it is the more likely a transition was missed on a given page.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ConversationInteractionStepMetrics": { +"description": "Metrics of each processing step.", +"id": "GoogleCloudDialogflowCxV3beta1ConversationInteractionStepMetrics", +"properties": { +"latency": { +"description": "Processing latency of the step.", +"format": "google-duration", +"type": "string" +}, +"name": { +"description": "Name of the request processing step.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ConversationMetrics": { +"description": "Represents metrics for the conversation.", +"id": "GoogleCloudDialogflowCxV3beta1ConversationMetrics", +"properties": { +"averageMatchConfidence": { +"description": "The average confidence all of the Match in the conversation. Values range from 0.0 (completely uncertain) to 1.0 (completely certain).", +"format": "float", +"type": "number" +}, +"hasEndInteraction": { +"description": "A signal that indicates the interaction with the Dialogflow agent has ended. If any response has the ResponseMessage.end_interaction signal, this is set to true.", +"type": "boolean" +}, +"hasLiveAgentHandoff": { +"description": "Hands off conversation to a human agent. If any response has the ResponseMessage.live_agent_handoffsignal, this is set to true.", +"type": "boolean" +}, +"inputAudioDuration": { +"description": "Duration of all the input's audio in the conversation.", +"format": "google-duration", +"type": "string" +}, +"interactionCount": { +"description": "The number of interactions in the conversation.", +"format": "int32", +"type": "integer" +}, +"matchTypeCount": { +"$ref": "GoogleCloudDialogflowCxV3beta1ConversationMetricsMatchTypeCount", +"description": "Match type counts." +}, +"maxWebhookLatency": { +"description": "Maximum latency of the Webhook calls in the conversation.", +"format": "google-duration", +"type": "string" +}, +"outputAudioDuration": { +"description": "Duration of all the output's audio in the conversation.", +"format": "google-duration", +"type": "string" +}, +"queryInputCount": { +"$ref": "GoogleCloudDialogflowCxV3beta1ConversationMetricsQueryInputCount", +"description": "Query input counts." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ConversationMetricsMatchTypeCount": { +"description": "Count by Match.MatchType of the matches in the conversation.", +"id": "GoogleCloudDialogflowCxV3beta1ConversationMetricsMatchTypeCount", +"properties": { +"directIntentCount": { +"description": "The number of matches with type Match.MatchType.DIRECT_INTENT.", +"format": "int32", +"type": "integer" +}, +"eventCount": { +"description": "The number of matches with type Match.MatchType.EVENT.", +"format": "int32", +"type": "integer" +}, +"intentCount": { +"description": "The number of matches with type Match.MatchType.INTENT.", +"format": "int32", +"type": "integer" +}, +"noInputCount": { +"description": "The number of matches with type Match.MatchType.NO_INPUT.", +"format": "int32", +"type": "integer" +}, +"noMatchCount": { +"description": "The number of matches with type Match.MatchType.NO_MATCH.", +"format": "int32", +"type": "integer" +}, +"parameterFillingCount": { +"description": "The number of matches with type Match.MatchType.PARAMETER_FILLING.", +"format": "int32", +"type": "integer" +}, +"unspecifiedCount": { +"description": "The number of matches with type Match.MatchType.MATCH_TYPE_UNSPECIFIED.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ConversationMetricsQueryInputCount": { +"description": "Count by types of QueryInput of the requests in the conversation.", +"id": "GoogleCloudDialogflowCxV3beta1ConversationMetricsQueryInputCount", +"properties": { +"audioCount": { +"description": "The number of AudioInput in the conversation.", +"format": "int32", +"type": "integer" +}, +"dtmfCount": { +"description": "The number of DtmfInput in the conversation.", +"format": "int32", +"type": "integer" +}, +"eventCount": { +"description": "The number of EventInput in the conversation.", +"format": "int32", +"type": "integer" +}, +"intentCount": { +"description": "The number of IntentInput in the conversation.", +"format": "int32", +"type": "integer" +}, +"textCount": { +"description": "The number of TextInput in the conversation.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ConversationSignals": { +"description": "This message is used to hold all the Conversation Signals data, which will be converted to JSON and exported to BigQuery.", +"id": "GoogleCloudDialogflowCxV3beta1ConversationSignals", +"properties": { +"turnSignals": { +"$ref": "GoogleCloudDialogflowCxV3beta1TurnSignals", +"description": "Required. Turn signals for the current turn." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ConversationTurn": { +"description": "One interaction between a human and virtual agent. The human provides some input and the virtual agent provides a response.", +"id": "GoogleCloudDialogflowCxV3beta1ConversationTurn", +"properties": { +"userInput": { +"$ref": "GoogleCloudDialogflowCxV3beta1ConversationTurnUserInput", +"description": "The user input." +}, +"virtualAgentOutput": { +"$ref": "GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutput", +"description": "The virtual agent output." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ConversationTurnUserInput": { +"description": "The input from the human user.", +"id": "GoogleCloudDialogflowCxV3beta1ConversationTurnUserInput", +"properties": { +"enableSentimentAnalysis": { +"description": "Whether sentiment analysis is enabled.", +"type": "boolean" +}, +"injectedParameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Parameters that need to be injected into the conversation during intent detection.", +"type": "object" +}, +"input": { +"$ref": "GoogleCloudDialogflowCxV3beta1QueryInput", +"description": "Supports text input, event input, dtmf input in the test case." +}, +"isWebhookEnabled": { +"description": "If webhooks should be allowed to trigger in response to the user utterance. Often if parameters are injected, webhooks should not be enabled.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutput": { +"description": "The output from the virtual agent.", +"id": "GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutput", +"properties": { +"currentPage": { +"$ref": "GoogleCloudDialogflowCxV3beta1Page", +"description": "The Page on which the utterance was spoken. Only name and displayName will be set." +}, +"diagnosticInfo": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Required. Input only. The diagnostic info output for the turn. Required to calculate the testing coverage.", +"type": "object" +}, +"differences": { +"description": "Output only. If this is part of a result conversation turn, the list of differences between the original run and the replay for this output, if any.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1TestRunDifference" +}, +"readOnly": true, +"type": "array" +}, +"sessionParameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The session parameters available to the bot at this point.", +"type": "object" +}, +"status": { +"$ref": "GoogleRpcStatus", +"description": "Response error from the agent in the test result. If set, other output is empty." +}, +"textResponses": { +"description": "The text responses from the agent for the turn.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessageText" +}, +"type": "array" +}, +"triggeredIntent": { +"$ref": "GoogleCloudDialogflowCxV3beta1Intent", +"description": "The Intent that triggered the response. Only name and displayName will be set." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1CreateVersionOperationMetadata": { +"description": "Metadata associated with the long running operation for Versions.CreateVersion.", +"id": "GoogleCloudDialogflowCxV3beta1CreateVersionOperationMetadata", +"properties": { +"version": { +"description": "Name of the created version. Format: `projects//locations//agents//flows//versions/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1DataStoreConnection": { +"description": "A data store connection. It represents a data store in Discovery Engine and the type of the contents it contains.", +"id": "GoogleCloudDialogflowCxV3beta1DataStoreConnection", +"properties": { +"dataStore": { +"description": "The full name of the referenced data store. Formats: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}` `projects/{project}/locations/{location}/dataStores/{data_store}`", +"type": "string" +}, +"dataStoreType": { +"description": "The type of the connected data store.", +"enum": [ +"DATA_STORE_TYPE_UNSPECIFIED", +"PUBLIC_WEB", +"UNSTRUCTURED", +"STRUCTURED" +], +"enumDescriptions": [ +"Not specified. This value indicates that the data store type is not specified, so it will not be used during search.", +"A data store that contains public web content.", +"A data store that contains unstructured private data.", +"A data store that contains structured data (for example FAQ)." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1DataStoreConnectionSignals": { +"description": "Data store connection feature output signals. Might be only partially field if processing stop before the final answer. Reasons for this can be, but are not limited to: empty UCS search results, positive RAI check outcome, grounding failure, ...", +"id": "GoogleCloudDialogflowCxV3beta1DataStoreConnectionSignals", +"properties": { +"answer": { +"description": "Optional. The final compiled answer.", +"type": "string" +}, +"answerGenerationModelCallSignals": { +"$ref": "GoogleCloudDialogflowCxV3beta1DataStoreConnectionSignalsAnswerGenerationModelCallSignals", +"description": "Optional. Diagnostic info related to the answer generation model call." +}, +"answerParts": { +"description": "Optional. Answer parts with relevant citations. Concatenation of texts should add up the `answer` (not counting whitespaces).", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1DataStoreConnectionSignalsAnswerPart" +}, +"type": "array" +}, +"citedSnippets": { +"description": "Optional. Snippets cited by the answer generation model from the most to least relevant.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1DataStoreConnectionSignalsCitedSnippet" +}, +"type": "array" +}, +"groundingSignals": { +"$ref": "GoogleCloudDialogflowCxV3beta1DataStoreConnectionSignalsGroundingSignals", +"description": "Optional. Grounding signals." +}, +"rewriterModelCallSignals": { +"$ref": "GoogleCloudDialogflowCxV3beta1DataStoreConnectionSignalsRewriterModelCallSignals", +"description": "Optional. Diagnostic info related to the rewriter model call." +}, +"rewrittenQuery": { +"description": "Optional. Rewritten string query used for search.", +"type": "string" +}, +"safetySignals": { +"$ref": "GoogleCloudDialogflowCxV3beta1DataStoreConnectionSignalsSafetySignals", +"description": "Optional. Safety check result." +}, +"searchSnippets": { +"description": "Optional. Search snippets included in the answer generation prompt.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1DataStoreConnectionSignalsSearchSnippet" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1DataStoreConnectionSignalsAnswerGenerationModelCallSignals": { +"description": "Diagnostic info related to the answer generation model call.", +"id": "GoogleCloudDialogflowCxV3beta1DataStoreConnectionSignalsAnswerGenerationModelCallSignals", +"properties": { +"model": { +"description": "Name of the generative model. For example, \"gemini-ultra\", \"gemini-pro\", \"gemini-1.5-flash\" etc. Defaults to \"Other\" if the model is unknown.", +"type": "string" +}, +"modelOutput": { +"description": "Output of the generative model.", +"type": "string" +}, +"renderedPrompt": { +"description": "Prompt as sent to the model.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1DataStoreConnectionSignalsAnswerPart": { +"description": "Answer part with citation.", +"id": "GoogleCloudDialogflowCxV3beta1DataStoreConnectionSignalsAnswerPart", +"properties": { +"supportingIndices": { +"description": "Citations for this answer part. Indices of `search_snippets`.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"text": { +"description": "Substring of the answer.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1DataStoreConnectionSignalsCitedSnippet": { +"description": "Snippet cited by the answer generation model.", +"id": "GoogleCloudDialogflowCxV3beta1DataStoreConnectionSignalsCitedSnippet", +"properties": { +"searchSnippet": { +"$ref": "GoogleCloudDialogflowCxV3beta1DataStoreConnectionSignalsSearchSnippet", +"description": "Details of the snippet." +}, +"snippetIndex": { +"description": "Index of the snippet in `search_snippets` field.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1DataStoreConnectionSignalsGroundingSignals": { +"description": "Grounding signals.", +"id": "GoogleCloudDialogflowCxV3beta1DataStoreConnectionSignalsGroundingSignals", +"properties": { +"decision": { +"description": "Represents the decision of the grounding check.", +"enum": [ +"GROUNDING_DECISION_UNSPECIFIED", +"ACCEPTED_BY_GROUNDING", +"REJECTED_BY_GROUNDING" +], +"enumDescriptions": [ +"Decision not specified.", +"Grounding have accepted the answer.", +"Grounding have rejected the answer." +], +"type": "string" +}, +"score": { +"description": "Grounding score bucket setting.", +"enum": [ +"GROUNDING_SCORE_BUCKET_UNSPECIFIED", +"VERY_LOW", +"LOW", +"MEDIUM", +"HIGH", +"VERY_HIGH" +], +"enumDescriptions": [ +"Score not specified.", +"We have very low confidence that the answer is grounded.", +"We have low confidence that the answer is grounded.", +"We have medium confidence that the answer is grounded.", +"We have high confidence that the answer is grounded.", +"We have very high confidence that the answer is grounded." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1DataStoreConnectionSignalsRewriterModelCallSignals": { +"description": "Diagnostic info related to the rewriter model call.", +"id": "GoogleCloudDialogflowCxV3beta1DataStoreConnectionSignalsRewriterModelCallSignals", +"properties": { +"model": { +"description": "Name of the generative model. For example, \"gemini-ultra\", \"gemini-pro\", \"gemini-1.5-flash\" etc. Defaults to \"Other\" if the model is unknown.", +"type": "string" +}, +"modelOutput": { +"description": "Output of the generative model.", +"type": "string" +}, +"renderedPrompt": { +"description": "Prompt as sent to the model.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1DataStoreConnectionSignalsSafetySignals": { +"description": "Safety check results.", +"id": "GoogleCloudDialogflowCxV3beta1DataStoreConnectionSignalsSafetySignals", +"properties": { +"bannedPhraseMatch": { +"description": "Specifies banned phrase match subject.", +"enum": [ +"BANNED_PHRASE_MATCH_UNSPECIFIED", +"BANNED_PHRASE_MATCH_NONE", +"BANNED_PHRASE_MATCH_QUERY", +"BANNED_PHRASE_MATCH_RESPONSE" +], +"enumDescriptions": [ +"No banned phrase check was executed.", +"All banned phrase checks led to no match.", +"A banned phrase matched the query.", +"A banned phrase matched the response." +], +"type": "string" +}, +"decision": { +"description": "Safety decision.", +"enum": [ +"SAFETY_DECISION_UNSPECIFIED", +"ACCEPTED_BY_SAFETY_CHECK", +"REJECTED_BY_SAFETY_CHECK" +], +"enumDescriptions": [ +"Decision not specified.", +"No manual or automatic safety check fired.", +"One ore more safety checks fired." +], +"type": "string" +}, +"matchedBannedPhrase": { +"description": "The matched banned phrase if there was a match.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1DataStoreConnectionSignalsSearchSnippet": { +"description": "Search snippet details.", +"id": "GoogleCloudDialogflowCxV3beta1DataStoreConnectionSignalsSearchSnippet", +"properties": { +"documentTitle": { +"description": "Title of the enclosing document.", +"type": "string" +}, +"documentUri": { +"description": "Uri for the document. Present if specified for the document.", +"type": "string" +}, +"text": { +"description": "Text included in the prompt.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1DeployFlowMetadata": { +"description": "Metadata returned for the Environments.DeployFlow long running operation.", +"id": "GoogleCloudDialogflowCxV3beta1DeployFlowMetadata", +"properties": { +"testErrors": { +"description": "Errors of running deployment tests.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1TestError" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1DeployFlowRequest": { +"description": "The request message for Environments.DeployFlow.", +"id": "GoogleCloudDialogflowCxV3beta1DeployFlowRequest", +"properties": { +"flowVersion": { +"description": "Required. The flow version to deploy. Format: `projects//locations//agents//flows//versions/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1DeployFlowResponse": { +"description": "The response message for Environments.DeployFlow.", +"id": "GoogleCloudDialogflowCxV3beta1DeployFlowResponse", +"properties": { +"deployment": { +"description": "The name of the flow version deployment. Format: `projects//locations//agents//environments//deployments/`.", +"type": "string" +}, +"environment": { +"$ref": "GoogleCloudDialogflowCxV3beta1Environment", +"description": "The updated environment where the flow is deployed." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1Deployment": { +"description": "Represents a deployment in an environment. A deployment happens when a flow version configured to be active in the environment. You can configure running pre-deployment steps, e.g. running validation test cases, experiment auto-rollout, etc.", +"id": "GoogleCloudDialogflowCxV3beta1Deployment", +"properties": { +"endTime": { +"description": "End time of this deployment.", +"format": "google-datetime", +"type": "string" +}, +"flowVersion": { +"description": "The name of the flow version for this deployment. Format: projects//locations//agents//flows//versions/.", +"type": "string" +}, +"name": { +"description": "The name of the deployment. Format: projects//locations//agents//environments//deployments/.", +"type": "string" +}, +"result": { +"$ref": "GoogleCloudDialogflowCxV3beta1DeploymentResult", +"description": "Result of the deployment." +}, +"startTime": { +"description": "Start time of this deployment.", +"format": "google-datetime", +"type": "string" +}, +"state": { +"description": "The current state of the deployment.", +"enum": [ +"STATE_UNSPECIFIED", +"RUNNING", +"SUCCEEDED", +"FAILED" +], +"enumDescriptions": [ +"State unspecified.", +"The deployment is running.", +"The deployment succeeded.", +"The deployment failed." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1DeploymentResult": { +"description": "Result of the deployment.", +"id": "GoogleCloudDialogflowCxV3beta1DeploymentResult", +"properties": { +"deploymentTestResults": { +"description": "Results of test cases running before the deployment. Format: `projects//locations//agents//testCases//results/`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"experiment": { +"description": "The name of the experiment triggered by this deployment. Format: projects//locations//agents//environments//experiments/.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1DetectIntentRequest": { +"description": "The request to detect user's intent.", +"id": "GoogleCloudDialogflowCxV3beta1DetectIntentRequest", +"properties": { +"outputAudioConfig": { +"$ref": "GoogleCloudDialogflowCxV3beta1OutputAudioConfig", +"description": "Instructs the speech synthesizer how to generate the output audio." +}, +"queryInput": { +"$ref": "GoogleCloudDialogflowCxV3beta1QueryInput", +"description": "Required. The input specification." +}, +"queryParams": { +"$ref": "GoogleCloudDialogflowCxV3beta1QueryParameters", +"description": "The parameters of this query." +}, +"session": { +"description": "Required. The name of the session this query is sent to. Format: `projects//locations//agents//sessions/` or `projects//locations//agents//environments//sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment. It's up to the API caller to choose an appropriate `Session ID`. It can be a random number or some type of session identifiers (preferably hashed). The length of the `Session ID` must not exceed 36 characters. For more information, see the [sessions guide](https://cloud.google.com/dialogflow/cx/docs/concept/session). Note: Always use agent versions for production traffic. See [Versions and environments](https://cloud.google.com/dialogflow/cx/docs/concept/version).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1DetectIntentResponse": { +"description": "The message returned from the DetectIntent method.", +"id": "GoogleCloudDialogflowCxV3beta1DetectIntentResponse", +"properties": { +"allowCancellation": { +"description": "Indicates whether the partial response can be cancelled when a later response arrives. e.g. if the agent specified some music as partial response, it can be cancelled.", +"type": "boolean" +}, +"outputAudio": { +"description": "The audio data bytes encoded as specified in the request. Note: The output audio is generated based on the values of default platform text responses found in the `query_result.response_messages` field. If multiple default text responses exist, they will be concatenated when generating audio. If no default platform text responses exist, the generated audio content will be empty. In some scenarios, multiple output audio fields may be present in the response structure. In these cases, only the top-most-level audio output has content.", +"format": "byte", +"type": "string" +}, +"outputAudioConfig": { +"$ref": "GoogleCloudDialogflowCxV3beta1OutputAudioConfig", +"description": "The config used by the speech synthesizer to generate the output audio." +}, +"queryResult": { +"$ref": "GoogleCloudDialogflowCxV3beta1QueryResult", +"description": "The result of the conversational query." +}, +"responseId": { +"description": "Output only. The unique identifier of the response. It can be used to locate a response in the training example set or for reporting issues.", +"type": "string" +}, +"responseType": { +"description": "Response type.", +"enum": [ +"RESPONSE_TYPE_UNSPECIFIED", +"PARTIAL", +"FINAL" +], +"enumDescriptions": [ +"Not specified. This should never happen.", +"Partial response. e.g. Aggregated responses in a Fulfillment that enables `return_partial_response` can be returned as partial response. WARNING: partial response is not eligible for barge-in.", +"Final response." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1DtmfInput": { +"description": "Represents the input for dtmf event.", +"id": "GoogleCloudDialogflowCxV3beta1DtmfInput", +"properties": { +"digits": { +"description": "The dtmf digits.", +"type": "string" +}, +"finishDigit": { +"description": "The finish digit (if any).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1EntityType": { +"description": "Entities are extracted from user input and represent parameters that are meaningful to your application. For example, a date range, a proper name such as a geographic location or landmark, and so on. Entities represent actionable data for your application. When you define an entity, you can also include synonyms that all map to that entity. For example, \"soft drink\", \"soda\", \"pop\", and so on. There are three types of entities: * **System** - entities that are defined by the Dialogflow API for common data types such as date, time, currency, and so on. A system entity is represented by the `EntityType` type. * **Custom** - entities that are defined by you that represent actionable data that is meaningful to your application. For example, you could define a `pizza.sauce` entity for red or white pizza sauce, a `pizza.cheese` entity for the different types of cheese on a pizza, a `pizza.topping` entity for different toppings, and so on. A custom entity is represented by the `EntityType` type. * **User** - entities that are built for an individual user such as favorites, preferences, playlists, and so on. A user entity is represented by the SessionEntityType type. For more information about entity types, see the [Dialogflow documentation](https://cloud.google.com/dialogflow/docs/entities-overview).", +"id": "GoogleCloudDialogflowCxV3beta1EntityType", +"properties": { +"autoExpansionMode": { +"description": "Indicates whether the entity type can be automatically expanded.", +"enum": [ +"AUTO_EXPANSION_MODE_UNSPECIFIED", +"AUTO_EXPANSION_MODE_DEFAULT" +], +"enumDescriptions": [ +"Auto expansion disabled for the entity.", +"Allows an agent to recognize values that have not been explicitly listed in the entity." +], +"type": "string" +}, +"displayName": { +"description": "Required. The human-readable name of the entity type, unique within the agent.", +"type": "string" +}, +"enableFuzzyExtraction": { +"description": "Enables fuzzy entity extraction during classification.", +"type": "boolean" +}, +"entities": { +"description": "The collection of entity entries associated with the entity type.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1EntityTypeEntity" +}, +"type": "array" +}, +"excludedPhrases": { +"description": "Collection of exceptional words and phrases that shouldn't be matched. For example, if you have a size entity type with entry `giant`(an adjective), you might consider adding `giants`(a noun) as an exclusion. If the kind of entity type is `KIND_MAP`, then the phrases specified by entities and excluded phrases should be mutually exclusive.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1EntityTypeExcludedPhrase" +}, +"type": "array" +}, +"kind": { +"description": "Required. Indicates the kind of entity type.", +"enum": [ +"KIND_UNSPECIFIED", +"KIND_MAP", +"KIND_LIST", +"KIND_REGEXP" +], +"enumDescriptions": [ +"Not specified. This value should be never used.", +"Map entity types allow mapping of a group of synonyms to a canonical value.", +"List entity types contain a set of entries that do not map to canonical values. However, list entity types can contain references to other entity types (with or without aliases).", +"Regexp entity types allow to specify regular expressions in entries values." +], +"type": "string" +}, +"name": { +"description": "The unique identifier of the entity type. Required for EntityTypes.UpdateEntityType. Format: `projects//locations//agents//entityTypes/`.", +"type": "string" +}, +"redact": { +"description": "Indicates whether parameters of the entity type should be redacted in log. If redaction is enabled, page parameters and intent parameters referring to the entity type will be replaced by parameter name during logging.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1EntityTypeEntity": { +"description": "An **entity entry** for an associated entity type.", +"id": "GoogleCloudDialogflowCxV3beta1EntityTypeEntity", +"properties": { +"synonyms": { +"description": "Required. A collection of value synonyms. For example, if the entity type is *vegetable*, and `value` is *scallions*, a synonym could be *green onions*. For `KIND_LIST` entity types: * This collection must contain exactly one synonym equal to `value`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"value": { +"description": "Required. The primary value associated with this entity entry. For example, if the entity type is *vegetable*, the value could be *scallions*. For `KIND_MAP` entity types: * A canonical value to be used in place of synonyms. For `KIND_LIST` entity types: * A string that can contain references to other entity types (with or without aliases).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1EntityTypeExcludedPhrase": { +"description": "An excluded entity phrase that should not be matched.", +"id": "GoogleCloudDialogflowCxV3beta1EntityTypeExcludedPhrase", +"properties": { +"value": { +"description": "Required. The word or phrase to be excluded.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1Environment": { +"description": "Represents an environment for an agent. You can create multiple versions of your agent and publish them to separate environments. When you edit an agent, you are editing the draft agent. At any point, you can save the draft agent as an agent version, which is an immutable snapshot of your agent. When you save the draft agent, it is published to the default environment. When you create agent versions, you can publish them to custom environments. You can create a variety of custom environments for testing, development, production, etc.", +"id": "GoogleCloudDialogflowCxV3beta1Environment", +"properties": { +"description": { +"description": "The human-readable description of the environment. The maximum length is 500 characters. If exceeded, the request is rejected.", +"type": "string" +}, +"displayName": { +"description": "Required. The human-readable name of the environment (unique in an agent). Limit of 64 characters.", +"type": "string" +}, +"name": { +"description": "The name of the environment. Format: `projects//locations//agents//environments/`.", +"type": "string" +}, +"testCasesConfig": { +"$ref": "GoogleCloudDialogflowCxV3beta1EnvironmentTestCasesConfig", +"description": "The test cases config for continuous tests of this environment." +}, +"updateTime": { +"description": "Output only. Update time of this environment.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"versionConfigs": { +"description": "A list of configurations for flow versions. You should include version configs for all flows that are reachable from `Start Flow` in the agent. Otherwise, an error will be returned.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1EnvironmentVersionConfig" +}, +"type": "array" +}, +"webhookConfig": { +"$ref": "GoogleCloudDialogflowCxV3beta1EnvironmentWebhookConfig", +"description": "The webhook configuration for this environment." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1EnvironmentTestCasesConfig": { +"description": "The configuration for continuous tests.", +"id": "GoogleCloudDialogflowCxV3beta1EnvironmentTestCasesConfig", +"properties": { +"enableContinuousRun": { +"description": "Whether to run test cases in TestCasesConfig.test_cases periodically. Default false. If set to true, run once a day.", +"type": "boolean" +}, +"enablePredeploymentRun": { +"description": "Whether to run test cases in TestCasesConfig.test_cases before deploying a flow version to the environment. Default false.", +"type": "boolean" +}, +"testCases": { +"description": "A list of test case names to run. They should be under the same agent. Format of each test case name: `projects//locations//agents//testCases/`", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1EnvironmentVersionConfig": { +"description": "Configuration for the version.", +"id": "GoogleCloudDialogflowCxV3beta1EnvironmentVersionConfig", +"properties": { +"version": { +"description": "Required. Both flow and playbook versions are supported. Format for flow version: projects//locations//agents//flows//versions/. Format for playbook version: projects//locations//agents//playbooks//versions/.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1EnvironmentWebhookConfig": { +"description": "Configuration for webhooks.", +"id": "GoogleCloudDialogflowCxV3beta1EnvironmentWebhookConfig", +"properties": { +"webhookOverrides": { +"description": "The list of webhooks to override for the agent environment. The webhook must exist in the agent. You can override fields in `generic_web_service` and `service_directory`.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1Webhook" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1EventHandler": { +"description": "An event handler specifies an event that can be handled during a session. When the specified event happens, the following actions are taken in order: * If there is a `trigger_fulfillment` associated with the event, it will be called. * If there is a `target_page` associated with the event, the session will transition into the specified page. * If there is a `target_flow` associated with the event, the session will transition into the specified flow.", +"id": "GoogleCloudDialogflowCxV3beta1EventHandler", +"properties": { +"event": { +"description": "Required. The name of the event to handle.", +"type": "string" +}, +"name": { +"description": "Output only. The unique identifier of this event handler.", +"readOnly": true, +"type": "string" +}, +"targetFlow": { +"description": "The target flow to transition to. Format: `projects//locations//agents//flows/`.", +"type": "string" +}, +"targetPage": { +"description": "The target page to transition to. Format: `projects//locations//agents//flows//pages/`.", +"type": "string" +}, +"targetPlaybook": { +"description": "The target playbook to transition to. Format: `projects//locations//agents//playbooks/`.", +"type": "string" +}, +"triggerFulfillment": { +"$ref": "GoogleCloudDialogflowCxV3beta1Fulfillment", +"description": "The fulfillment to call when the event occurs. Handling webhook errors with a fulfillment enabled with webhook could cause infinite loop. It is invalid to specify such fulfillment for a handler handling webhooks." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1EventInput": { +"description": "Represents the event to trigger.", +"id": "GoogleCloudDialogflowCxV3beta1EventInput", +"properties": { +"event": { +"description": "Name of the event.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1Example": { +"description": "Example represents a sample execution of the playbook in the conversation. An example consists of a list of ordered actions performed by end user or Dialogflow agent according the playbook instructions to fulfill the task.", +"id": "GoogleCloudDialogflowCxV3beta1Example", +"properties": { +"actions": { +"description": "Required. The ordered list of actions performed by the end user and the Dialogflow agent.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1Action" +}, +"type": "array" +}, +"conversationState": { +"description": "Required. Example's output state.", +"enum": [ +"OUTPUT_STATE_UNSPECIFIED", +"OUTPUT_STATE_OK", +"OUTPUT_STATE_CANCELLED", +"OUTPUT_STATE_FAILED", +"OUTPUT_STATE_ESCALATED", +"OUTPUT_STATE_PENDING" +], +"enumDescriptions": [ +"Unspecified output.", +"Succeeded.", +"Cancelled.", +"Failed.", +"Escalated.", +"Pending." +], +"type": "string" +}, +"createTime": { +"description": "Output only. The timestamp of initial example creation.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. The high level concise description of the example. The max number of characters is 200.", +"type": "string" +}, +"displayName": { +"description": "Required. The display name of the example.", +"type": "string" +}, +"languageCode": { +"description": "Optional. The language code of the example. If not specified, the agent's default language is used. Note: languages must be enabled in the agent before they can be used. Note: example's language code is not currently used in dialogflow agents.", +"type": "string" +}, +"name": { +"description": "The unique identifier of the playbook example. Format: `projects//locations//agents//playbooks//examples/`.", +"type": "string" +}, +"playbookInput": { +"$ref": "GoogleCloudDialogflowCxV3beta1PlaybookInput", +"description": "Optional. The input to the playbook in the example." +}, +"playbookOutput": { +"$ref": "GoogleCloudDialogflowCxV3beta1PlaybookOutput", +"description": "Optional. The output of the playbook in the example." +}, +"tokenCount": { +"description": "Output only. Estimated number of tokes current example takes when sent to the LLM.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Last time the example was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1Experiment": { +"description": "Represents an experiment in an environment.", +"id": "GoogleCloudDialogflowCxV3beta1Experiment", +"properties": { +"createTime": { +"description": "Creation time of this experiment.", +"format": "google-datetime", +"type": "string" +}, +"definition": { +"$ref": "GoogleCloudDialogflowCxV3beta1ExperimentDefinition", +"description": "The definition of the experiment." +}, +"description": { +"description": "The human-readable description of the experiment.", +"type": "string" +}, +"displayName": { +"description": "Required. The human-readable name of the experiment (unique in an environment). Limit of 64 characters.", +"type": "string" +}, +"endTime": { +"description": "End time of this experiment.", +"format": "google-datetime", +"type": "string" +}, +"experimentLength": { +"description": "Maximum number of days to run the experiment. If auto-rollout is not enabled, default value and maximum will be 30 days. If auto-rollout is enabled, default value and maximum will be 6 days.", +"format": "google-duration", +"type": "string" +}, +"lastUpdateTime": { +"description": "Last update time of this experiment.", +"format": "google-datetime", +"type": "string" +}, +"name": { +"description": "The name of the experiment. Format: projects//locations//agents//environments//experiments/.", +"type": "string" +}, +"result": { +"$ref": "GoogleCloudDialogflowCxV3beta1ExperimentResult", +"description": "Inference result of the experiment." +}, +"rolloutConfig": { +"$ref": "GoogleCloudDialogflowCxV3beta1RolloutConfig", +"description": "The configuration for auto rollout. If set, there should be exactly two variants in the experiment (control variant being the default version of the flow), the traffic allocation for the non-control variant will gradually increase to 100% when conditions are met, and eventually replace the control variant to become the default version of the flow." +}, +"rolloutFailureReason": { +"description": "The reason why rollout has failed. Should only be set when state is ROLLOUT_FAILED.", +"type": "string" +}, +"rolloutState": { +"$ref": "GoogleCloudDialogflowCxV3beta1RolloutState", +"description": "State of the auto rollout process." +}, +"startTime": { +"description": "Start time of this experiment.", +"format": "google-datetime", +"type": "string" +}, +"state": { +"description": "The current state of the experiment. Transition triggered by Experiments.StartExperiment: DRAFT->RUNNING. Transition triggered by Experiments.CancelExperiment: DRAFT->DONE or RUNNING->DONE.", +"enum": [ +"STATE_UNSPECIFIED", +"DRAFT", +"RUNNING", +"DONE", +"ROLLOUT_FAILED" +], +"enumDescriptions": [ +"State unspecified.", +"The experiment is created but not started yet.", +"The experiment is running.", +"The experiment is done.", +"The experiment with auto-rollout enabled has failed." +], +"type": "string" +}, +"variantsHistory": { +"description": "The history of updates to the experiment variants.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1VariantsHistory" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ExperimentDefinition": { +"description": "Definition of the experiment.", +"id": "GoogleCloudDialogflowCxV3beta1ExperimentDefinition", +"properties": { +"condition": { +"description": "The condition defines which subset of sessions are selected for this experiment. If not specified, all sessions are eligible. E.g. \"query_input.language_code=en\" See the [conditions reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).", +"type": "string" +}, +"versionVariants": { +"$ref": "GoogleCloudDialogflowCxV3beta1VersionVariants", +"description": "The flow versions as the variants of this experiment." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ExperimentResult": { +"description": "The inference result which includes an objective metric to optimize and the confidence interval.", +"id": "GoogleCloudDialogflowCxV3beta1ExperimentResult", +"properties": { +"lastUpdateTime": { +"description": "The last time the experiment's stats data was updated. Will have default value if stats have never been computed for this experiment.", +"format": "google-datetime", +"type": "string" +}, +"versionMetrics": { +"description": "Version variants and metrics.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1ExperimentResultVersionMetrics" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ExperimentResultConfidenceInterval": { +"description": "A confidence interval is a range of possible values for the experiment objective you are trying to measure.", +"id": "GoogleCloudDialogflowCxV3beta1ExperimentResultConfidenceInterval", +"properties": { +"confidenceLevel": { +"description": "The confidence level used to construct the interval, i.e. there is X% chance that the true value is within this interval.", +"format": "double", +"type": "number" +}, +"lowerBound": { +"description": "Lower bound of the interval.", +"format": "double", +"type": "number" +}, +"ratio": { +"description": "The percent change between an experiment metric's value and the value for its control.", +"format": "double", +"type": "number" +}, +"upperBound": { +"description": "Upper bound of the interval.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ExperimentResultMetric": { +"description": "Metric and corresponding confidence intervals.", +"id": "GoogleCloudDialogflowCxV3beta1ExperimentResultMetric", +"properties": { +"confidenceInterval": { +"$ref": "GoogleCloudDialogflowCxV3beta1ExperimentResultConfidenceInterval", +"description": "The probability that the treatment is better than all other treatments in the experiment" +}, +"count": { +"description": "Count value of a metric.", +"format": "double", +"type": "number" +}, +"countType": { +"description": "Count-based metric type. Only one of type or count_type is specified in each Metric.", +"enum": [ +"COUNT_TYPE_UNSPECIFIED", +"TOTAL_NO_MATCH_COUNT", +"TOTAL_TURN_COUNT", +"AVERAGE_TURN_COUNT" +], +"enumDescriptions": [ +"Count type unspecified.", +"Total number of occurrences of a 'NO_MATCH'.", +"Total number of turn counts.", +"Average turn count in a session." +], +"type": "string" +}, +"ratio": { +"description": "Ratio value of a metric.", +"format": "double", +"type": "number" +}, +"type": { +"description": "Ratio-based metric type. Only one of type or count_type is specified in each Metric.", +"enum": [ +"METRIC_UNSPECIFIED", +"CONTAINED_SESSION_NO_CALLBACK_RATE", +"LIVE_AGENT_HANDOFF_RATE", +"CALLBACK_SESSION_RATE", +"ABANDONED_SESSION_RATE", +"SESSION_END_RATE" +], +"enumDescriptions": [ +"Metric unspecified.", +"Percentage of contained sessions without user calling back in 24 hours.", +"Percentage of sessions that were handed to a human agent.", +"Percentage of sessions with the same user calling back.", +"Percentage of sessions where user hung up.", +"Percentage of sessions reached Dialogflow 'END_PAGE' or 'END_SESSION'." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ExperimentResultVersionMetrics": { +"description": "Version variant and associated metrics.", +"id": "GoogleCloudDialogflowCxV3beta1ExperimentResultVersionMetrics", +"properties": { +"metrics": { +"description": "The metrics and corresponding confidence intervals in the inference result.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1ExperimentResultMetric" +}, +"type": "array" +}, +"sessionCount": { +"description": "Number of sessions that were allocated to this version.", +"format": "int32", +"type": "integer" +}, +"version": { +"description": "The name of the flow Version. Format: `projects//locations//agents//flows//versions/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ExportAgentRequest": { +"description": "The request message for Agents.ExportAgent.", +"id": "GoogleCloudDialogflowCxV3beta1ExportAgentRequest", +"properties": { +"agentUri": { +"description": "Optional. The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to export the agent to. The format of this URI must be `gs:///`. If left unspecified, the serialized agent is returned inline. Dialogflow performs a write operation for the Cloud Storage object on the caller's behalf, so your request authentication must have write permissions for the object. For more information, see [Dialogflow access control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage).", +"type": "string" +}, +"dataFormat": { +"description": "Optional. The data format of the exported agent. If not specified, `BLOB` is assumed.", +"enum": [ +"DATA_FORMAT_UNSPECIFIED", +"BLOB", +"JSON_PACKAGE" +], +"enumDescriptions": [ +"Unspecified format.", +"Agent content will be exported as raw bytes.", +"Agent content will be exported in JSON Package format." +], +"type": "string" +}, +"environment": { +"description": "Optional. Environment name. If not set, draft environment is assumed. Format: `projects//locations//agents//environments/`.", +"type": "string" +}, +"gitDestination": { +"$ref": "GoogleCloudDialogflowCxV3beta1ExportAgentRequestGitDestination", +"description": "Optional. The Git branch to export the agent to." +}, +"includeBigqueryExportSettings": { +"description": "Optional. Whether to include BigQuery Export setting.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ExportAgentRequestGitDestination": { +"description": "Settings for exporting to a git branch.", +"id": "GoogleCloudDialogflowCxV3beta1ExportAgentRequestGitDestination", +"properties": { +"commitMessage": { +"description": "Commit message for the git push.", +"type": "string" +}, +"trackingBranch": { +"description": "Tracking branch for the git push.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ExportAgentResponse": { +"description": "The response message for Agents.ExportAgent.", +"id": "GoogleCloudDialogflowCxV3beta1ExportAgentResponse", +"properties": { +"agentContent": { +"description": "Uncompressed raw byte content for agent. This field is populated if none of `agent_uri` and `git_destination` are specified in ExportAgentRequest.", +"format": "byte", +"type": "string" +}, +"agentUri": { +"description": "The URI to a file containing the exported agent. This field is populated if `agent_uri` is specified in ExportAgentRequest.", +"type": "string" +}, +"commitSha": { +"description": "Commit SHA of the git push. This field is populated if `git_destination` is specified in ExportAgentRequest.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ExportEntityTypesMetadata": { +"description": "Metadata returned for the EntityTypes.ExportEntityTypes long running operation.", +"id": "GoogleCloudDialogflowCxV3beta1ExportEntityTypesMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ExportEntityTypesRequest": { +"description": "The request message for EntityTypes.ExportEntityTypes.", +"id": "GoogleCloudDialogflowCxV3beta1ExportEntityTypesRequest", +"properties": { +"dataFormat": { +"description": "Optional. The data format of the exported entity types. If not specified, `BLOB` is assumed.", +"enum": [ +"DATA_FORMAT_UNSPECIFIED", +"BLOB", +"JSON_PACKAGE" +], +"enumDescriptions": [ +"Unspecified format. Treated as `BLOB`.", +"EntityTypes will be exported as raw bytes.", +"EntityTypes will be exported in JSON Package format." +], +"type": "string" +}, +"entityTypes": { +"description": "Required. The name of the entity types to export. Format: `projects//locations//agents//entityTypes/`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"entityTypesContentInline": { +"description": "Optional. The option to return the serialized entity types inline.", +"type": "boolean" +}, +"entityTypesUri": { +"description": "Optional. The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to export the entity types to. The format of this URI must be `gs:///`. Dialogflow performs a write operation for the Cloud Storage object on the caller's behalf, so your request authentication must have write permissions for the object. For more information, see [Dialogflow access control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage).", +"type": "string" +}, +"languageCode": { +"description": "Optional. The language to retrieve the entity type for. The following fields are language dependent: * `EntityType.entities.value` * `EntityType.entities.synonyms` * `EntityType.excluded_phrases.value` If not specified, all language dependent fields will be retrieved. [Many languages](https://cloud.google.com/dialogflow/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ExportEntityTypesResponse": { +"description": "The response message for EntityTypes.ExportEntityTypes.", +"id": "GoogleCloudDialogflowCxV3beta1ExportEntityTypesResponse", +"properties": { +"entityTypesContent": { +"$ref": "GoogleCloudDialogflowCxV3beta1InlineDestination", +"description": "Uncompressed byte content for entity types. This field is populated only if `entity_types_content_inline` is set to true in ExportEntityTypesRequest." +}, +"entityTypesUri": { +"description": "The URI to a file containing the exported entity types. This field is populated only if `entity_types_uri` is specified in ExportEntityTypesRequest.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ExportFlowRequest": { +"description": "The request message for Flows.ExportFlow.", +"id": "GoogleCloudDialogflowCxV3beta1ExportFlowRequest", +"properties": { +"flowUri": { +"description": "Optional. The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to export the flow to. The format of this URI must be `gs:///`. If left unspecified, the serialized flow is returned inline. Dialogflow performs a write operation for the Cloud Storage object on the caller's behalf, so your request authentication must have write permissions for the object. For more information, see [Dialogflow access control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage).", +"type": "string" +}, +"includeReferencedFlows": { +"description": "Optional. Whether to export flows referenced by the specified flow.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ExportFlowResponse": { +"description": "The response message for Flows.ExportFlow.", +"id": "GoogleCloudDialogflowCxV3beta1ExportFlowResponse", +"properties": { +"flowContent": { +"description": "Uncompressed raw byte content for flow.", +"format": "byte", +"type": "string" +}, +"flowUri": { +"description": "The URI to a file containing the exported flow. This field is populated only if `flow_uri` is specified in ExportFlowRequest.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ExportIntentsMetadata": { +"description": "Metadata returned for the Intents.ExportIntents long running operation.", +"id": "GoogleCloudDialogflowCxV3beta1ExportIntentsMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ExportIntentsRequest": { +"description": "The request message for Intents.ExportIntents.", +"id": "GoogleCloudDialogflowCxV3beta1ExportIntentsRequest", +"properties": { +"dataFormat": { +"description": "Optional. The data format of the exported intents. If not specified, `BLOB` is assumed.", +"enum": [ +"DATA_FORMAT_UNSPECIFIED", +"BLOB", +"JSON", +"CSV" +], +"enumDescriptions": [ +"Unspecified format. Treated as `BLOB`.", +"Intents will be exported as raw bytes.", +"Intents will be exported in JSON format.", +"Intents will be exported in CSV format." +], +"type": "string" +}, +"intents": { +"description": "Required. The name of the intents to export. Format: `projects//locations//agents//intents/`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"intentsContentInline": { +"description": "Optional. The option to return the serialized intents inline.", +"type": "boolean" +}, +"intentsUri": { +"description": "Optional. The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to export the intents to. The format of this URI must be `gs:///`. Dialogflow performs a write operation for the Cloud Storage object on the caller's behalf, so your request authentication must have write permissions for the object. For more information, see [Dialogflow access control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ExportIntentsResponse": { +"description": "The response message for Intents.ExportIntents.", +"id": "GoogleCloudDialogflowCxV3beta1ExportIntentsResponse", +"properties": { +"intentsContent": { +"$ref": "GoogleCloudDialogflowCxV3beta1InlineDestination", +"description": "Uncompressed byte content for intents. This field is populated only if `intents_content_inline` is set to true in ExportIntentsRequest." +}, +"intentsUri": { +"description": "The URI to a file containing the exported intents. This field is populated only if `intents_uri` is specified in ExportIntentsRequest.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ExportPlaybookRequest": { +"description": "The request message for Playbooks.ExportPlaybook.", +"id": "GoogleCloudDialogflowCxV3beta1ExportPlaybookRequest", +"properties": { +"dataFormat": { +"description": "Optional. The data format of the exported agent. If not specified, `BLOB` is assumed.", +"enum": [ +"DATA_FORMAT_UNSPECIFIED", +"BLOB", +"JSON" +], +"enumDescriptions": [ +"Unspecified format.", +"Flow content will be exported as raw bytes.", +"Flow content will be exported in JSON format." +], +"type": "string" +}, +"playbookUri": { +"description": "Optional. The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to export the playbook to. The format of this URI must be `gs:///`. If left unspecified, the serialized playbook is returned inline. Dialogflow performs a write operation for the Cloud Storage object on the caller's behalf, so your request authentication must have write permissions for the object. For more information, see [Dialogflow access control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ExportTestCasesMetadata": { +"description": "Metadata returned for the TestCases.ExportTestCases long running operation. This message currently has no fields.", +"id": "GoogleCloudDialogflowCxV3beta1ExportTestCasesMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ExportTestCasesRequest": { +"description": "The request message for TestCases.ExportTestCases.", +"id": "GoogleCloudDialogflowCxV3beta1ExportTestCasesRequest", +"properties": { +"dataFormat": { +"description": "The data format of the exported test cases. If not specified, `BLOB` is assumed.", +"enum": [ +"DATA_FORMAT_UNSPECIFIED", +"BLOB", +"JSON" +], +"enumDescriptions": [ +"Unspecified format.", +"Raw bytes.", +"JSON format." +], +"type": "string" +}, +"filter": { +"description": "The filter expression used to filter exported test cases, see [API Filtering](https://aip.dev/160). The expression is case insensitive and supports the following syntax: name = [OR name = ] ... For example: * \"name = t1 OR name = t2\" matches the test case with the exact resource name \"t1\" or \"t2\".", +"type": "string" +}, +"gcsUri": { +"description": "The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to export the test cases to. The format of this URI must be `gs:///`. If unspecified, the serialized test cases is returned inline. Dialogflow performs a write operation for the Cloud Storage object on the caller's behalf, so your request authentication must have write permissions for the object. For more information, see [Dialogflow access control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ExportTestCasesResponse": { +"description": "The response message for TestCases.ExportTestCases.", +"id": "GoogleCloudDialogflowCxV3beta1ExportTestCasesResponse", +"properties": { +"content": { +"description": "Uncompressed raw byte content for test cases.", +"format": "byte", +"type": "string" +}, +"gcsUri": { +"description": "The URI to a file containing the exported test cases. This field is populated only if `gcs_uri` is specified in ExportTestCasesRequest.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ExportToolsRequest": { +"description": "The request message for Tools.ExportTools.", +"id": "GoogleCloudDialogflowCxV3beta1ExportToolsRequest", +"properties": { +"dataFormat": { +"description": "Optional. The data format of the exported tools. If not specified, `BLOB` is assumed.", +"enum": [ +"DATA_FORMAT_UNSPECIFIED", +"BLOB", +"JSON" +], +"enumDescriptions": [ +"Unspecified format. Treated as `BLOB`.", +"Tools will be exported as raw bytes.", +"Tools will be exported in JSON format." +], +"type": "string" +}, +"tools": { +"description": "Required. The name of the tools to export. Format: `projects//locations//agents//tools/`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"toolsContentInline": { +"description": "Optional. The option to return the serialized tools inline.", +"type": "boolean" +}, +"toolsUri": { +"description": "Optional. The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to export the tools to. The format of this URI must be `gs:///`. Dialogflow performs a write operation for the Cloud Storage object on the caller's behalf, so your request authentication must have write permissions for the object. For more information, see [Dialogflow access control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1FilterSpecs": { +"description": "Filter specifications for data stores.", +"id": "GoogleCloudDialogflowCxV3beta1FilterSpecs", +"properties": { +"dataStores": { +"description": "Optional. Data Stores where the boosting configuration is applied. The full names of the referenced data stores. Formats: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}` `projects/{project}/locations/{location}/dataStores/{data_store}", +"items": { +"type": "string" +}, +"type": "array" +}, +"filter": { +"description": "Optional. The filter expression to be applied. Expression syntax is documented at https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata#filter-expression-syntax", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1Flow": { +"description": "Flows represents the conversation flows when you build your chatbot agent. A flow consists of many pages connected by the transition routes. Conversations always start with the built-in Start Flow (with an all-0 ID). Transition routes can direct the conversation session from the current flow (parent flow) to another flow (sub flow). When the sub flow is finished, Dialogflow will bring the session back to the parent flow, where the sub flow is started. Usually, when a transition route is followed by a matched intent, the intent will be \"consumed\". This means the intent won't activate more transition routes. However, when the followed transition route moves the conversation session into a different flow, the matched intent can be carried over and to be consumed in the target flow.", +"id": "GoogleCloudDialogflowCxV3beta1Flow", +"properties": { +"advancedSettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1AdvancedSettings", +"description": "Hierarchical advanced settings for this flow. The settings exposed at the lower level overrides the settings exposed at the higher level." +}, +"description": { +"description": "The description of the flow. The maximum length is 500 characters. If exceeded, the request is rejected.", +"type": "string" +}, +"displayName": { +"description": "Required. The human-readable name of the flow.", +"type": "string" +}, +"eventHandlers": { +"description": "A flow's event handlers serve two purposes: * They are responsible for handling events (e.g. no match, webhook errors) in the flow. * They are inherited by every page's event handlers, which can be used to handle common events regardless of the current page. Event handlers defined in the page have higher priority than those defined in the flow. Unlike transition_routes, these handlers are evaluated on a first-match basis. The first one that matches the event get executed, with the rest being ignored.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1EventHandler" +}, +"type": "array" +}, +"knowledgeConnectorSettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1KnowledgeConnectorSettings", +"description": "Optional. Knowledge connector configuration." +}, +"locked": { +"description": "Indicates whether the flow is locked for changes. If the flow is locked, modifications to the flow will be rejected.", +"type": "boolean" +}, +"multiLanguageSettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1FlowMultiLanguageSettings", +"description": "Optional. Multi-lingual agent settings for this flow." +}, +"name": { +"description": "The unique identifier of the flow. Format: `projects//locations//agents//flows/`.", +"type": "string" +}, +"nluSettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1NluSettings", +"description": "NLU related settings of the flow." +}, +"transitionRouteGroups": { +"description": "A flow's transition route group serve two purposes: * They are responsible for matching the user's first utterances in the flow. * They are inherited by every page's transition route groups. Transition route groups defined in the page have higher priority than those defined in the flow. Format:`projects//locations//agents//flows//transitionRouteGroups/` or `projects//locations//agents//transitionRouteGroups/` for agent-level groups.", +"items": { +"type": "string" +}, +"type": "array" +}, +"transitionRoutes": { +"description": "A flow's transition routes serve two purposes: * They are responsible for matching the user's first utterances in the flow. * They are inherited by every page's transition routes and can support use cases such as the user saying \"help\" or \"can I talk to a human?\", which can be handled in a common way regardless of the current page. Transition routes defined in the page have higher priority than those defined in the flow. TransitionRoutes are evalauted in the following order: * TransitionRoutes with intent specified. * TransitionRoutes with only condition specified. TransitionRoutes with intent specified are inherited by pages in the flow.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1TransitionRoute" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1FlowImportStrategy": { +"description": "The flow import strategy used for resource conflict resolution associated with an ImportFlowRequest.", +"id": "GoogleCloudDialogflowCxV3beta1FlowImportStrategy", +"properties": { +"globalImportStrategy": { +"description": "Optional. Global flow import strategy for resource conflict resolution. The import Import strategy for resource conflict resolution, applied globally throughout the flow. It will be applied for all display name conflicts in the imported content. If not specified, 'CREATE_NEW' is assumed.", +"enum": [ +"IMPORT_STRATEGY_UNSPECIFIED", +"IMPORT_STRATEGY_CREATE_NEW", +"IMPORT_STRATEGY_REPLACE", +"IMPORT_STRATEGY_KEEP", +"IMPORT_STRATEGY_MERGE", +"IMPORT_STRATEGY_THROW_ERROR" +], +"enumDescriptions": [ +"Unspecified. Treated as 'CREATE_NEW'.", +"Create a new resource with a numeric suffix appended to the end of the existing display name.", +"Replace existing resource with incoming resource in the content to be imported.", +"Keep existing resource and discard incoming resource in the content to be imported.", +"Combine existing and incoming resources when a conflict is encountered.", +"Throw error if a conflict is encountered." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1FlowInvocation": { +"description": "Stores metadata of the invocation of a CX flow.", +"id": "GoogleCloudDialogflowCxV3beta1FlowInvocation", +"properties": { +"displayName": { +"description": "Output only. The display name of the flow.", +"readOnly": true, +"type": "string" +}, +"flow": { +"description": "Required. The unique identifier of the flow. Format: `projects//locations//agents//flows/`.", +"type": "string" +}, +"flowState": { +"description": "Required. Flow invocation's output state.", +"enum": [ +"OUTPUT_STATE_UNSPECIFIED", +"OUTPUT_STATE_OK", +"OUTPUT_STATE_CANCELLED", +"OUTPUT_STATE_FAILED", +"OUTPUT_STATE_ESCALATED", +"OUTPUT_STATE_PENDING" +], +"enumDescriptions": [ +"Unspecified output.", +"Succeeded.", +"Cancelled.", +"Failed.", +"Escalated.", +"Pending." +], +"type": "string" +}, +"inputActionParameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. A list of input parameters for the flow.", +"type": "object" +}, +"outputActionParameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. A list of output parameters generated by the flow invocation.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1FlowMultiLanguageSettings": { +"description": "Settings for multi-lingual agents.", +"id": "GoogleCloudDialogflowCxV3beta1FlowMultiLanguageSettings", +"properties": { +"enableMultiLanguageDetection": { +"description": "Optional. Enable multi-language detection for this flow. This can be set only if agent level multi language setting is enabled.", +"type": "boolean" +}, +"supportedResponseLanguageCodes": { +"description": "Optional. Agent will respond in the detected language if the detected language code is in the supported resolved languages for this flow. This will be used only if multi-language training is enabled in the agent and multi-language detection is enabled in the flow. The supported languages must be a subset of the languages supported by the agent.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1FlowValidationResult": { +"description": "The response message for Flows.GetFlowValidationResult.", +"id": "GoogleCloudDialogflowCxV3beta1FlowValidationResult", +"properties": { +"name": { +"description": "The unique identifier of the flow validation result. Format: `projects//locations//agents//flows//validationResult`.", +"type": "string" +}, +"updateTime": { +"description": "Last time the flow was validated.", +"format": "google-datetime", +"type": "string" +}, +"validationMessages": { +"description": "Contains all validation messages.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1ValidationMessage" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1Form": { +"description": "A form is a data model that groups related parameters that can be collected from the user. The process in which the agent prompts the user and collects parameter values from the user is called form filling. A form can be added to a page. When form filling is done, the filled parameters will be written to the session.", +"id": "GoogleCloudDialogflowCxV3beta1Form", +"properties": { +"parameters": { +"description": "Parameters to collect from the user.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1FormParameter" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1FormParameter": { +"description": "Represents a form parameter.", +"id": "GoogleCloudDialogflowCxV3beta1FormParameter", +"properties": { +"advancedSettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1AdvancedSettings", +"description": "Hierarchical advanced settings for this parameter. The settings exposed at the lower level overrides the settings exposed at the higher level." +}, +"defaultValue": { +"description": "The default value of an optional parameter. If the parameter is required, the default value will be ignored.", +"type": "any" +}, +"displayName": { +"description": "Required. The human-readable name of the parameter, unique within the form.", +"type": "string" +}, +"entityType": { +"description": "Required. The entity type of the parameter. Format: `projects/-/locations/-/agents/-/entityTypes/` for system entity types (for example, `projects/-/locations/-/agents/-/entityTypes/sys.date`), or `projects//locations//agents//entityTypes/` for developer entity types.", +"type": "string" +}, +"fillBehavior": { +"$ref": "GoogleCloudDialogflowCxV3beta1FormParameterFillBehavior", +"description": "Required. Defines fill behavior for the parameter." +}, +"isList": { +"description": "Indicates whether the parameter represents a list of values.", +"type": "boolean" +}, +"redact": { +"description": "Indicates whether the parameter content should be redacted in log. If redaction is enabled, the parameter content will be replaced by parameter name during logging. Note: the parameter content is subject to redaction if either parameter level redaction or entity type level redaction is enabled.", +"type": "boolean" +}, +"required": { +"description": "Indicates whether the parameter is required. Optional parameters will not trigger prompts; however, they are filled if the user specifies them. Required parameters must be filled before form filling concludes.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1FormParameterFillBehavior": { +"description": "Configuration for how the filling of a parameter should be handled.", +"id": "GoogleCloudDialogflowCxV3beta1FormParameterFillBehavior", +"properties": { +"initialPromptFulfillment": { +"$ref": "GoogleCloudDialogflowCxV3beta1Fulfillment", +"description": "Required. The fulfillment to provide the initial prompt that the agent can present to the user in order to fill the parameter." +}, +"repromptEventHandlers": { +"description": "The handlers for parameter-level events, used to provide reprompt for the parameter or transition to a different page/flow. The supported events are: * `sys.no-match-`, where N can be from 1 to 6 * `sys.no-match-default` * `sys.no-input-`, where N can be from 1 to 6 * `sys.no-input-default` * `sys.invalid-parameter` `initial_prompt_fulfillment` provides the first prompt for the parameter. If the user's response does not fill the parameter, a no-match/no-input event will be triggered, and the fulfillment associated with the `sys.no-match-1`/`sys.no-input-1` handler (if defined) will be called to provide a prompt. The `sys.no-match-2`/`sys.no-input-2` handler (if defined) will respond to the next no-match/no-input event, and so on. A `sys.no-match-default` or `sys.no-input-default` handler will be used to handle all following no-match/no-input events after all numbered no-match/no-input handlers for the parameter are consumed. A `sys.invalid-parameter` handler can be defined to handle the case where the parameter values have been `invalidated` by webhook. For example, if the user's response fill the parameter, however the parameter was invalidated by webhook, the fulfillment associated with the `sys.invalid-parameter` handler (if defined) will be called to provide a prompt. If the event handler for the corresponding event can't be found on the parameter, `initial_prompt_fulfillment` will be re-prompted.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1EventHandler" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1FulfillIntentRequest": { +"description": "Request of FulfillIntent", +"id": "GoogleCloudDialogflowCxV3beta1FulfillIntentRequest", +"properties": { +"match": { +"$ref": "GoogleCloudDialogflowCxV3beta1Match", +"description": "The matched intent/event to fulfill." +}, +"matchIntentRequest": { +"$ref": "GoogleCloudDialogflowCxV3beta1MatchIntentRequest", +"description": "Must be same as the corresponding MatchIntent request, otherwise the behavior is undefined." +}, +"outputAudioConfig": { +"$ref": "GoogleCloudDialogflowCxV3beta1OutputAudioConfig", +"description": "Instructs the speech synthesizer how to generate output audio." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1FulfillIntentResponse": { +"description": "Response of FulfillIntent", +"id": "GoogleCloudDialogflowCxV3beta1FulfillIntentResponse", +"properties": { +"outputAudio": { +"description": "The audio data bytes encoded as specified in the request. Note: The output audio is generated based on the values of default platform text responses found in the `query_result.response_messages` field. If multiple default text responses exist, they will be concatenated when generating audio. If no default platform text responses exist, the generated audio content will be empty. In some scenarios, multiple output audio fields may be present in the response structure. In these cases, only the top-most-level audio output has content.", +"format": "byte", +"type": "string" +}, +"outputAudioConfig": { +"$ref": "GoogleCloudDialogflowCxV3beta1OutputAudioConfig", +"description": "The config used by the speech synthesizer to generate the output audio." +}, +"queryResult": { +"$ref": "GoogleCloudDialogflowCxV3beta1QueryResult", +"description": "The result of the conversational query." +}, +"responseId": { +"description": "Output only. The unique identifier of the response. It can be used to locate a response in the training example set or for reporting issues.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1Fulfillment": { +"description": "A fulfillment can do one or more of the following actions at the same time: * Generate rich message responses. * Set parameter values. * Call the webhook. Fulfillments can be called at various stages in the Page or Form lifecycle. For example, when a DetectIntentRequest drives a session to enter a new page, the page's entry fulfillment can add a static response to the QueryResult in the returning DetectIntentResponse, call the webhook (for example, to load user data from a database), or both.", +"id": "GoogleCloudDialogflowCxV3beta1Fulfillment", +"properties": { +"advancedSettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1AdvancedSettings", +"description": "Hierarchical advanced settings for this fulfillment. The settings exposed at the lower level overrides the settings exposed at the higher level." +}, +"conditionalCases": { +"description": "Conditional cases for this fulfillment.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCases" +}, +"type": "array" +}, +"enableGenerativeFallback": { +"description": "If the flag is true, the agent will utilize LLM to generate a text response. If LLM generation fails, the defined responses in the fulfillment will be respected. This flag is only useful for fulfillments associated with no-match event handlers.", +"type": "boolean" +}, +"messages": { +"description": "The list of rich message responses to present to the user.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessage" +}, +"type": "array" +}, +"returnPartialResponses": { +"description": "Whether Dialogflow should return currently queued fulfillment response messages in streaming APIs. If a webhook is specified, it happens before Dialogflow invokes webhook. Warning: 1) This flag only affects streaming API. Responses are still queued and returned once in non-streaming API. 2) The flag can be enabled in any fulfillment but only the first 3 partial responses will be returned. You may only want to apply it to fulfillments that have slow webhooks.", +"type": "boolean" +}, +"setParameterActions": { +"description": "Set parameter values before executing the webhook.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1FulfillmentSetParameterAction" +}, +"type": "array" +}, +"tag": { +"description": "The value of this field will be populated in the WebhookRequest `fulfillmentInfo.tag` field by Dialogflow when the associated webhook is called. The tag is typically used by the webhook service to identify which fulfillment is being called, but it could be used for other purposes. This field is required if `webhook` is specified.", +"type": "string" +}, +"webhook": { +"description": "The webhook to call. Format: `projects//locations//agents//webhooks/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCases": { +"description": "A list of cascading if-else conditions. Cases are mutually exclusive. The first one with a matching condition is selected, all the rest ignored.", +"id": "GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCases", +"properties": { +"cases": { +"description": "A list of cascading if-else conditions.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCase" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCase": { +"description": "Each case has a Boolean condition. When it is evaluated to be True, the corresponding messages will be selected and evaluated recursively.", +"id": "GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCase", +"properties": { +"caseContent": { +"description": "A list of case content.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCaseCaseContent" +}, +"type": "array" +}, +"condition": { +"description": "The condition to activate and select this case. Empty means the condition is always true. The condition is evaluated against form parameters or session parameters. See the [conditions reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCaseCaseContent": { +"description": "The list of messages or conditional cases to activate for this case.", +"id": "GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCaseCaseContent", +"properties": { +"additionalCases": { +"$ref": "GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCases", +"description": "Additional cases to be evaluated." +}, +"message": { +"$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessage", +"description": "Returned message." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1FulfillmentSetParameterAction": { +"description": "Setting a parameter value.", +"id": "GoogleCloudDialogflowCxV3beta1FulfillmentSetParameterAction", +"properties": { +"parameter": { +"description": "Display name of the parameter.", +"type": "string" +}, +"value": { +"description": "The new value of the parameter. A null value clears the parameter.", +"type": "any" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1GcsDestination": { +"description": "Google Cloud Storage location for a Dialogflow operation that writes or exports objects (e.g. exported agent or transcripts) outside of Dialogflow.", +"id": "GoogleCloudDialogflowCxV3beta1GcsDestination", +"properties": { +"uri": { +"description": "Required. The Google Cloud Storage URI for the exported objects. A URI is of the form: `gs://bucket/object-name-or-prefix` Whether a full object name, or just a prefix, its usage depends on the Dialogflow operation.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1GenerativeInfo": { +"description": "Represents the information of a query if handled by generative agent resources.", +"id": "GoogleCloudDialogflowCxV3beta1GenerativeInfo", +"properties": { +"actionTracingInfo": { +"$ref": "GoogleCloudDialogflowCxV3beta1Example", +"description": "The actions performed by the generative playbook for the current agent response." +}, +"currentPlaybooks": { +"description": "The stack of playbooks that the conversation has currently entered, with the most recent one on the top.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1GenerativeSettings": { +"description": "Settings for Generative AI.", +"id": "GoogleCloudDialogflowCxV3beta1GenerativeSettings", +"properties": { +"fallbackSettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1GenerativeSettingsFallbackSettings", +"description": "Settings for Generative Fallback." +}, +"generativeSafetySettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1SafetySettings", +"description": "Settings for Generative Safety." +}, +"knowledgeConnectorSettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1GenerativeSettingsKnowledgeConnectorSettings", +"description": "Settings for knowledge connector." +}, +"languageCode": { +"description": "Language for this settings.", +"type": "string" +}, +"llmModelSettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1LlmModelSettings", +"description": "LLM model settings." +}, +"name": { +"description": "Format: `projects//locations//agents//generativeSettings`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1GenerativeSettingsFallbackSettings": { +"description": "Settings for Generative Fallback.", +"id": "GoogleCloudDialogflowCxV3beta1GenerativeSettingsFallbackSettings", +"properties": { +"promptTemplates": { +"description": "Stored prompts that can be selected, for example default templates like \"conservative\" or \"chatty\", or user defined ones.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1GenerativeSettingsFallbackSettingsPromptTemplate" +}, +"type": "array" +}, +"selectedPrompt": { +"description": "Display name of the selected prompt.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1GenerativeSettingsFallbackSettingsPromptTemplate": { +"description": "Prompt template.", +"id": "GoogleCloudDialogflowCxV3beta1GenerativeSettingsFallbackSettingsPromptTemplate", +"properties": { +"displayName": { +"description": "Prompt name.", +"type": "string" +}, +"frozen": { +"description": "If the flag is true, the prompt is frozen and cannot be modified by users.", +"type": "boolean" +}, +"promptText": { +"description": "Prompt text that is sent to a LLM on no-match default, placeholders are filled downstream. For example: \"Here is a conversation $conversation, a response is: \"", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1GenerativeSettingsKnowledgeConnectorSettings": { +"description": "Settings for knowledge connector. These parameters are used for LLM prompt like \"You are . You are a helpful and verbose at , . Your task is to help humans on \".", +"id": "GoogleCloudDialogflowCxV3beta1GenerativeSettingsKnowledgeConnectorSettings", +"properties": { +"agent": { +"description": "Name of the virtual agent. Used for LLM prompt. Can be left empty.", +"type": "string" +}, +"agentIdentity": { +"description": "Identity of the agent, e.g. \"virtual agent\", \"AI assistant\".", +"type": "string" +}, +"agentScope": { +"description": "Agent scope, e.g. \"Example company website\", \"internal Example company website for employees\", \"manual of car owner\".", +"type": "string" +}, +"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" +}, +"businessDescription": { +"description": "Company description, used for LLM prompt, e.g. \"a family company selling freshly roasted coffee beans\".", +"type": "string" +}, +"disableDataStoreFallback": { +"description": "Whether to disable fallback to Data Store search results (in case the LLM couldn't pick a proper answer). Per default the feature is enabled.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1Generator": { +"description": "Generators contain prompt to be sent to the LLM model to generate text. The prompt can contain parameters which will be resolved before calling the model. It can optionally contain banned phrases to ensure the model responses are safe.", +"id": "GoogleCloudDialogflowCxV3beta1Generator", +"properties": { +"displayName": { +"description": "Required. The human-readable name of the generator, unique within the agent. The prompt contains pre-defined parameters such as $conversation, $last-user-utterance, etc. populated by Dialogflow. It can also contain custom placeholders which will be resolved during fulfillment.", +"type": "string" +}, +"llmModelSettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1LlmModelSettings", +"description": "The LLM model settings." +}, +"modelParameter": { +"$ref": "GoogleCloudDialogflowCxV3beta1GeneratorModelParameter", +"description": "Parameters passed to the LLM to configure its behavior." +}, +"name": { +"description": "The unique identifier of the generator. Must be set for the Generators.UpdateGenerator method. Generators.CreateGenerate populates the name automatically. Format: `projects//locations//agents//generators/`.", +"type": "string" +}, +"placeholders": { +"description": "Optional. List of custom placeholders in the prompt text.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1GeneratorPlaceholder" +}, +"type": "array" +}, +"promptText": { +"$ref": "GoogleCloudDialogflowCxV3beta1Phrase", +"description": "Required. Prompt for the LLM model." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1GeneratorModelParameter": { +"description": "Parameters to be passed to the LLM. If not set, default values will be used.", +"id": "GoogleCloudDialogflowCxV3beta1GeneratorModelParameter", +"properties": { +"maxDecodeSteps": { +"description": "The maximum number of tokens to generate.", +"format": "int32", +"type": "integer" +}, +"temperature": { +"description": "The temperature used for sampling. Temperature sampling occurs after both topP and topK have been applied. Valid range: [0.0, 1.0] Low temperature = less random. High temperature = more random.", +"format": "float", +"type": "number" +}, +"topK": { +"description": "If set, the sampling process in each step is limited to the top_k tokens with highest probabilities. Valid range: [1, 40] or 1000+. Small topK = less random. Large topK = more random.", +"format": "int32", +"type": "integer" +}, +"topP": { +"description": "If set, only the tokens comprising the top top_p probability mass are considered. If both top_p and top_k are set, top_p will be used for further refining candidates selected with top_k. Valid range: (0.0, 1.0]. Small topP = less random. Large topP = more random.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1GeneratorPlaceholder": { +"description": "Represents a custom placeholder in the prompt text.", +"id": "GoogleCloudDialogflowCxV3beta1GeneratorPlaceholder", +"properties": { +"id": { +"description": "Unique ID used to map custom placeholder to parameters in fulfillment.", +"type": "string" +}, +"name": { +"description": "Custom placeholder value in the prompt text.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ImportEntityTypesMetadata": { +"description": "Metadata returned for the EntityTypes.ImportEntityTypes long running operation.", +"id": "GoogleCloudDialogflowCxV3beta1ImportEntityTypesMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ImportEntityTypesRequest": { +"description": "The request message for EntityTypes.ImportEntityTypes.", +"id": "GoogleCloudDialogflowCxV3beta1ImportEntityTypesRequest", +"properties": { +"entityTypesContent": { +"$ref": "GoogleCloudDialogflowCxV3beta1InlineSource", +"description": "Uncompressed byte content of entity types." +}, +"entityTypesUri": { +"description": "The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to import entity types from. The format of this URI must be `gs:///`. Dialogflow performs a read operation for the Cloud Storage object on the caller's behalf, so your request authentication must have read permissions for the object. For more information, see [Dialogflow access control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage).", +"type": "string" +}, +"mergeOption": { +"description": "Required. Merge option for importing entity types.", +"enum": [ +"MERGE_OPTION_UNSPECIFIED", +"REPLACE", +"MERGE", +"RENAME", +"REPORT_CONFLICT", +"KEEP" +], +"enumDescriptions": [ +"Unspecified. If used, system uses REPORT_CONFLICT as default.", +"Replace the original entity type in the agent with the new entity type when display name conflicts exist.", +"Merge the original entity type with the new entity type when display name conflicts exist.", +"Create new entity types with new display names to differentiate them from the existing entity types when display name conflicts exist.", +"Report conflict information if display names conflict is detected. Otherwise, import entity types.", +"Keep the original entity type and discard the conflicting new entity type when display name conflicts exist." +], +"type": "string" +}, +"targetEntityType": { +"description": "Optional. The target entity type to import into. Format: `projects//locations//agents//entity_types/`. If set, there should be only one entity type included in entity_types, of which the type should match the type of the target entity type. All entities in the imported entity type will be added to the target entity type.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ImportEntityTypesResponse": { +"description": "The response message for EntityTypes.ImportEntityTypes.", +"id": "GoogleCloudDialogflowCxV3beta1ImportEntityTypesResponse", +"properties": { +"conflictingResources": { +"$ref": "GoogleCloudDialogflowCxV3beta1ImportEntityTypesResponseConflictingResources", +"description": "Info which resources have conflicts when REPORT_CONFLICT merge_option is set in ImportEntityTypesRequest." +}, +"entityTypes": { +"description": "The unique identifier of the imported entity types. Format: `projects//locations//agents//entity_types/`.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ImportEntityTypesResponseConflictingResources": { +"description": "Conflicting resources detected during the import process. Only filled when REPORT_CONFLICT is set in the request and there are conflicts in the display names.", +"id": "GoogleCloudDialogflowCxV3beta1ImportEntityTypesResponseConflictingResources", +"properties": { +"entityDisplayNames": { +"description": "Display names of conflicting entities.", +"items": { +"type": "string" +}, +"type": "array" +}, +"entityTypeDisplayNames": { +"description": "Display names of conflicting entity types.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ImportFlowRequest": { +"description": "The request message for Flows.ImportFlow.", +"id": "GoogleCloudDialogflowCxV3beta1ImportFlowRequest", +"properties": { +"flowContent": { +"description": "Uncompressed raw byte content for flow.", +"format": "byte", +"type": "string" +}, +"flowImportStrategy": { +"$ref": "GoogleCloudDialogflowCxV3beta1FlowImportStrategy", +"description": "Optional. Specifies the import strategy used when resolving resource conflicts." +}, +"flowUri": { +"description": "The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to import flow from. The format of this URI must be `gs:///`. Dialogflow performs a read operation for the Cloud Storage object on the caller's behalf, so your request authentication must have read permissions for the object. For more information, see [Dialogflow access control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage).", +"type": "string" +}, +"importOption": { +"description": "Flow import mode. If not specified, `KEEP` is assumed.", +"enum": [ +"IMPORT_OPTION_UNSPECIFIED", +"KEEP", +"FALLBACK" +], +"enumDescriptions": [ +"Unspecified. Treated as `KEEP`.", +"Always respect settings in exported flow content. It may cause a import failure if some settings (e.g. custom NLU) are not supported in the agent to import into.", +"Fallback to default settings if some settings are not supported in the agent to import into. E.g. Standard NLU will be used if custom NLU is not available." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ImportFlowResponse": { +"description": "The response message for Flows.ImportFlow.", +"id": "GoogleCloudDialogflowCxV3beta1ImportFlowResponse", +"properties": { +"flow": { +"description": "The unique identifier of the new flow. Format: `projects//locations//agents//flows/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ImportIntentsMetadata": { +"description": "Metadata returned for the Intents.ImportIntents long running operation.", +"id": "GoogleCloudDialogflowCxV3beta1ImportIntentsMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ImportIntentsRequest": { +"description": "The request message for Intents.ImportIntents.", +"id": "GoogleCloudDialogflowCxV3beta1ImportIntentsRequest", +"properties": { +"intentsContent": { +"$ref": "GoogleCloudDialogflowCxV3beta1InlineSource", +"description": "Uncompressed byte content of intents." +}, +"intentsUri": { +"description": "The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to import intents from. The format of this URI must be `gs:///`. Dialogflow performs a read operation for the Cloud Storage object on the caller's behalf, so your request authentication must have read permissions for the object. For more information, see [Dialogflow access control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage).", +"type": "string" +}, +"mergeOption": { +"description": "Merge option for importing intents. If not specified, `REJECT` is assumed.", +"enum": [ +"MERGE_OPTION_UNSPECIFIED", +"REJECT", +"REPLACE", +"MERGE", +"RENAME", +"REPORT_CONFLICT", +"KEEP" +], +"enumDeprecated": [ +false, +true, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Unspecified. Should not be used.", +"DEPRECATED: Please use REPORT_CONFLICT instead. Fail the request if there are intents whose display names conflict with the display names of intents in the agent.", +"Replace the original intent in the agent with the new intent when display name conflicts exist.", +"Merge the original intent with the new intent when display name conflicts exist.", +"Create new intents with new display names to differentiate them from the existing intents when display name conflicts exist.", +"Report conflict information if display names conflict is detected. Otherwise, import intents.", +"Keep the original intent and discard the conflicting new intent when display name conflicts exist." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ImportIntentsResponse": { +"description": "The response message for Intents.ImportIntents.", +"id": "GoogleCloudDialogflowCxV3beta1ImportIntentsResponse", +"properties": { +"conflictingResources": { +"$ref": "GoogleCloudDialogflowCxV3beta1ImportIntentsResponseConflictingResources", +"description": "Info which resources have conflicts when REPORT_CONFLICT merge_option is set in ImportIntentsRequest." +}, +"intents": { +"description": "The unique identifier of the imported intents. Format: `projects//locations//agents//intents/`.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ImportIntentsResponseConflictingResources": { +"description": "Conflicting resources detected during the import process. Only filled when REPORT_CONFLICT is set in the request and there are conflicts in the display names.", +"id": "GoogleCloudDialogflowCxV3beta1ImportIntentsResponseConflictingResources", +"properties": { +"entityDisplayNames": { +"description": "Display names of conflicting entities.", +"items": { +"type": "string" +}, +"type": "array" +}, +"intentDisplayNames": { +"description": "Display names of conflicting intents.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ImportPlaybookRequest": { +"description": "The request message for Playbooks.ImportPlaybook.", +"id": "GoogleCloudDialogflowCxV3beta1ImportPlaybookRequest", +"properties": { +"importStrategy": { +"$ref": "GoogleCloudDialogflowCxV3beta1PlaybookImportStrategy", +"description": "Optional. Specifies the import strategy used when resolving resource conflicts." +}, +"playbookContent": { +"description": "Uncompressed raw byte content for playbook.", +"format": "byte", +"type": "string" +}, +"playbookUri": { +"description": "[Dialogflow access control] (https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ImportTestCasesMetadata": { +"description": "Metadata returned for the TestCases.ImportTestCases long running operation.", +"id": "GoogleCloudDialogflowCxV3beta1ImportTestCasesMetadata", +"properties": { +"errors": { +"description": "Errors for failed test cases.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1TestCaseError" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ImportTestCasesRequest": { +"description": "The request message for TestCases.ImportTestCases.", +"id": "GoogleCloudDialogflowCxV3beta1ImportTestCasesRequest", +"properties": { +"content": { +"description": "Uncompressed raw byte content for test cases.", +"format": "byte", +"type": "string" +}, +"gcsUri": { +"description": "The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to import test cases from. The format of this URI must be `gs:///`. Dialogflow performs a read operation for the Cloud Storage object on the caller's behalf, so your request authentication must have read permissions for the object. For more information, see [Dialogflow access control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ImportTestCasesResponse": { +"description": "The response message for TestCases.ImportTestCases.", +"id": "GoogleCloudDialogflowCxV3beta1ImportTestCasesResponse", +"properties": { +"names": { +"description": "The unique identifiers of the new test cases. Format: `projects//locations//agents//testCases/`.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1InlineDestination": { +"description": "Inline destination for a Dialogflow operation that writes or exports objects (e.g. intents) outside of Dialogflow.", +"id": "GoogleCloudDialogflowCxV3beta1InlineDestination", +"properties": { +"content": { +"description": "Output only. The uncompressed byte content for the objects. Only populated in responses.", +"format": "byte", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1InlineSchema": { +"description": "A type schema object that's specified inline.", +"id": "GoogleCloudDialogflowCxV3beta1InlineSchema", +"properties": { +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1TypeSchema", +"description": "Schema of the elements if this is an ARRAY type." +}, +"type": { +"description": "Data type of the schema.", +"enum": [ +"DATA_TYPE_UNSPECIFIED", +"STRING", +"NUMBER", +"BOOLEAN", +"ARRAY" +], +"enumDescriptions": [ +"Not specified.", +"Represents any string value.", +"Represents any number value.", +"Represents a boolean value.", +"Represents a repeated value." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1InlineSource": { +"description": "Inline source for a Dialogflow operation that reads or imports objects (e.g. intents) into Dialogflow.", +"id": "GoogleCloudDialogflowCxV3beta1InlineSource", +"properties": { +"content": { +"description": "The uncompressed byte content for the objects.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1InputAudioConfig": { +"description": "Instructs the speech recognizer on how to process the audio content.", +"id": "GoogleCloudDialogflowCxV3beta1InputAudioConfig", +"properties": { +"audioEncoding": { +"description": "Required. Audio encoding of the audio content to process.", +"enum": [ +"AUDIO_ENCODING_UNSPECIFIED", +"AUDIO_ENCODING_LINEAR_16", +"AUDIO_ENCODING_FLAC", +"AUDIO_ENCODING_MULAW", +"AUDIO_ENCODING_AMR", +"AUDIO_ENCODING_AMR_WB", +"AUDIO_ENCODING_OGG_OPUS", +"AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE", +"AUDIO_ENCODING_ALAW" +], +"enumDescriptions": [ +"Not specified.", +"Uncompressed 16-bit signed little-endian samples (Linear PCM).", +"[`FLAC`](https://xiph.org/flac/documentation.html) (Free Lossless Audio Codec) is the recommended encoding because it is lossless (therefore recognition is not compromised) and requires only about half the bandwidth of `LINEAR16`. `FLAC` stream encoding supports 16-bit and 24-bit samples, however, not all fields in `STREAMINFO` are supported.", +"8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.", +"Adaptive Multi-Rate Narrowband codec. `sample_rate_hertz` must be 8000.", +"Adaptive Multi-Rate Wideband codec. `sample_rate_hertz` must be 16000.", +"Opus encoded audio frames in Ogg container ([OggOpus](https://wiki.xiph.org/OggOpus)). `sample_rate_hertz` must be 16000.", +"Although the use of lossy encodings is not recommended, if a very low bitrate encoding is required, `OGG_OPUS` is highly preferred over Speex encoding. The [Speex](https://speex.org/) encoding supported by Dialogflow API has a header byte in each block, as in MIME type `audio/x-speex-with-header-byte`. It is a variant of the RTP Speex encoding defined in [RFC 5574](https://tools.ietf.org/html/rfc5574). The stream is a sequence of blocks, one block per RTP packet. Each block starts with a byte containing the length of the block, in bytes, followed by one or more frames of Speex data, padded to an integral number of bytes (octets) as specified in RFC 5574. In other words, each RTP header is replaced with a single byte containing the block length. Only Speex wideband is supported. `sample_rate_hertz` must be 16000.", +"8-bit samples that compand 13-bit audio samples using G.711 PCMU/a-law." +], +"type": "string" +}, +"bargeInConfig": { +"$ref": "GoogleCloudDialogflowCxV3beta1BargeInConfig", +"description": "Configuration of barge-in behavior during the streaming of input audio." +}, +"enableWordInfo": { +"description": "Optional. If `true`, Dialogflow returns SpeechWordInfo in StreamingRecognitionResult with information about the recognized speech words, e.g. start and end time offsets. If false or unspecified, Speech doesn't return any word-level information.", +"type": "boolean" +}, +"model": { +"description": "Optional. Which Speech model to select for the given request. For more information, see [Speech models](https://cloud.google.com/dialogflow/cx/docs/concept/speech-models).", +"type": "string" +}, +"modelVariant": { +"description": "Optional. Which variant of the Speech model to use.", +"enum": [ +"SPEECH_MODEL_VARIANT_UNSPECIFIED", +"USE_BEST_AVAILABLE", +"USE_STANDARD", +"USE_ENHANCED" +], +"enumDescriptions": [ +"No model variant specified. In this case Dialogflow defaults to USE_BEST_AVAILABLE.", +"Use the best available variant of the Speech model that the caller is eligible for.", +"Use standard model variant even if an enhanced model is available. See the [Cloud Speech documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models) for details about enhanced models.", +"Use an enhanced model variant: * If an enhanced variant does not exist for the given model and request language, Dialogflow falls back to the standard variant. The [Cloud Speech documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models) describes which models have enhanced variants." +], +"type": "string" +}, +"optOutConformerModelMigration": { +"description": "If `true`, the request will opt out for STT conformer model migration. This field will be deprecated once force migration takes place in June 2024. Please refer to [Dialogflow CX Speech model migration](https://cloud.google.com/dialogflow/cx/docs/concept/speech-model-migration).", +"type": "boolean" +}, +"phraseHints": { +"description": "Optional. A list of strings containing words and phrases that the speech recognizer should recognize with higher likelihood. See [the Cloud Speech documentation](https://cloud.google.com/speech-to-text/docs/basics#phrase-hints) for more details.", +"items": { +"type": "string" +}, +"type": "array" +}, +"sampleRateHertz": { +"description": "Sample rate (in Hertz) of the audio content sent in the query. Refer to [Cloud Speech API documentation](https://cloud.google.com/speech-to-text/docs/basics) for more details.", +"format": "int32", +"type": "integer" +}, +"singleUtterance": { +"description": "Optional. If `false` (default), recognition does not cease until the client closes the stream. If `true`, the recognizer will detect a single spoken utterance in input audio. Recognition ceases when it detects the audio's voice has stopped or paused. In this case, once a detected intent is received, the client should close the stream and start a new request with a new stream as needed. Note: This setting is relevant only for streaming methods.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1Intent": { +"description": "An intent represents a user's intent to interact with a conversational agent. You can provide information for the Dialogflow API to use to match user input to an intent by adding training phrases (i.e., examples of user input) to your intent.", +"id": "GoogleCloudDialogflowCxV3beta1Intent", +"properties": { +"description": { +"description": "Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters.", +"type": "string" +}, +"displayName": { +"description": "Required. The human-readable name of the intent, unique within the agent.", +"type": "string" +}, +"isFallback": { +"description": "Indicates whether this is a fallback intent. Currently only default fallback intent is allowed in the agent, which is added upon agent creation. Adding training phrases to fallback intent is useful in the case of requests that are mistakenly matched, since training phrases assigned to fallback intents act as negative examples that triggers no-match event.", +"type": "boolean" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The key/value metadata to label an intent. Labels can contain lowercase letters, digits and the symbols '-' and '_'. International characters are allowed, including letters from unicase alphabets. Keys must start with a letter. Keys and values can be no longer than 63 characters and no more than 128 bytes. Prefix \"sys-\" is reserved for Dialogflow defined labels. Currently allowed Dialogflow defined labels include: * sys-head * sys-contextual The above labels do not require value. \"sys-head\" means the intent is a head intent. \"sys-contextual\" means the intent is a contextual intent.", +"type": "object" +}, +"name": { +"description": "The unique identifier of the intent. Required for the Intents.UpdateIntent method. Intents.CreateIntent populates the name automatically. Format: `projects//locations//agents//intents/`.", +"type": "string" +}, +"parameters": { +"description": "The collection of parameters associated with the intent.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1IntentParameter" +}, +"type": "array" +}, +"priority": { +"description": "The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.", +"format": "int32", +"type": "integer" +}, +"trainingPhrases": { +"description": "The collection of training phrases the agent is trained on to identify the intent.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1IntentTrainingPhrase" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1IntentCoverage": { +"description": "Intent coverage represents the percentage of all possible intents in the agent that are triggered in any of a parent's test cases.", +"id": "GoogleCloudDialogflowCxV3beta1IntentCoverage", +"properties": { +"coverageScore": { +"description": "The percent of intents in the agent that are covered.", +"format": "float", +"type": "number" +}, +"intents": { +"description": "The list of Intents present in the agent", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1IntentCoverageIntent" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1IntentCoverageIntent": { +"description": "The agent's intent.", +"id": "GoogleCloudDialogflowCxV3beta1IntentCoverageIntent", +"properties": { +"covered": { +"description": "Whether the intent is covered by at least one of the agent's test cases.", +"type": "boolean" +}, +"intent": { +"description": "The intent full resource name", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1IntentInput": { +"description": "Represents the intent to trigger programmatically rather than as a result of natural language processing.", +"id": "GoogleCloudDialogflowCxV3beta1IntentInput", +"properties": { +"intent": { +"description": "Required. The unique identifier of the intent. Format: `projects//locations//agents//intents/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1IntentParameter": { +"description": "Represents an intent parameter.", +"id": "GoogleCloudDialogflowCxV3beta1IntentParameter", +"properties": { +"entityType": { +"description": "Required. The entity type of the parameter. Format: `projects/-/locations/-/agents/-/entityTypes/` for system entity types (for example, `projects/-/locations/-/agents/-/entityTypes/sys.date`), or `projects//locations//agents//entityTypes/` for developer entity types.", +"type": "string" +}, +"id": { +"description": "Required. The unique identifier of the parameter. This field is used by training phrases to annotate their parts.", +"type": "string" +}, +"isList": { +"description": "Indicates whether the parameter represents a list of values.", +"type": "boolean" +}, +"redact": { +"description": "Indicates whether the parameter content should be redacted in log. If redaction is enabled, the parameter content will be replaced by parameter name during logging. Note: the parameter content is subject to redaction if either parameter level redaction or entity type level redaction is enabled.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1IntentTrainingPhrase": { +"description": "Represents an example that the agent is trained on to identify the intent.", +"id": "GoogleCloudDialogflowCxV3beta1IntentTrainingPhrase", +"properties": { +"id": { +"description": "Output only. The unique identifier of the training phrase.", +"readOnly": true, +"type": "string" +}, +"parts": { +"description": "Required. The ordered list of training phrase parts. The parts are concatenated in order to form the training phrase. Note: The API does not automatically annotate training phrases like the Dialogflow Console does. Note: Do not forget to include whitespace at part boundaries, so the training phrase is well formatted when the parts are concatenated. If the training phrase does not need to be annotated with parameters, you just need a single part with only the Part.text field set. If you want to annotate the training phrase, you must create multiple parts, where the fields of each part are populated in one of two ways: - `Part.text` is set to a part of the phrase that has no parameters. - `Part.text` is set to a part of the phrase that you want to annotate, and the `parameter_id` field is set.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1IntentTrainingPhrasePart" +}, +"type": "array" +}, +"repeatCount": { +"description": "Indicates how many times this example was added to the intent.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1IntentTrainingPhrasePart": { +"description": "Represents a part of a training phrase.", +"id": "GoogleCloudDialogflowCxV3beta1IntentTrainingPhrasePart", +"properties": { +"parameterId": { +"description": "The parameter used to annotate this part of the training phrase. This field is required for annotated parts of the training phrase.", +"type": "string" +}, +"text": { +"description": "Required. The text for this part.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1KnowledgeConnectorSettings": { +"description": "The Knowledge Connector settings for this page or flow. This includes information such as the attached Knowledge Bases, and the way to execute fulfillment.", +"id": "GoogleCloudDialogflowCxV3beta1KnowledgeConnectorSettings", +"properties": { +"dataStoreConnections": { +"description": "Optional. List of related data store connections.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1DataStoreConnection" +}, +"type": "array" +}, +"enabled": { +"description": "Whether Knowledge Connector is enabled or not.", +"type": "boolean" +}, +"targetFlow": { +"description": "The target flow to transition to. Format: `projects//locations//agents//flows/`.", +"type": "string" +}, +"targetPage": { +"description": "The target page to transition to. Format: `projects//locations//agents//flows//pages/`.", +"type": "string" +}, +"triggerFulfillment": { +"$ref": "GoogleCloudDialogflowCxV3beta1Fulfillment", +"description": "The fulfillment to be triggered. When the answers from the Knowledge Connector are selected by Dialogflow, you can utitlize the request scoped parameter `$request.knowledge.answers` (contains up to the 5 highest confidence answers) and `$request.knowledge.questions` (contains the corresponding questions) to construct the fulfillment." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1LanguageInfo": { +"description": "Represents the language information of the request.", +"id": "GoogleCloudDialogflowCxV3beta1LanguageInfo", +"properties": { +"confidenceScore": { +"description": "The confidence score of the detected language between 0 and 1.", +"format": "float", +"type": "number" +}, +"inputLanguageCode": { +"description": "The language code specified in the original request.", +"type": "string" +}, +"resolvedLanguageCode": { +"description": "The language code detected for this request based on the user conversation.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ListAgentsResponse": { +"description": "The response message for Agents.ListAgents.", +"id": "GoogleCloudDialogflowCxV3beta1ListAgentsResponse", +"properties": { +"agents": { +"description": "The list of agents. There will be a maximum number of items returned based on the page_size field in the request.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1Agent" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ListChangelogsResponse": { +"description": "The response message for Changelogs.ListChangelogs.", +"id": "GoogleCloudDialogflowCxV3beta1ListChangelogsResponse", +"properties": { +"changelogs": { +"description": "The list of changelogs. There will be a maximum number of items returned based on the page_size field in the request. The changelogs will be ordered by timestamp.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1Changelog" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ListContinuousTestResultsResponse": { +"description": "The response message for Environments.ListTestCaseResults.", +"id": "GoogleCloudDialogflowCxV3beta1ListContinuousTestResultsResponse", +"properties": { +"continuousTestResults": { +"description": "The list of continuous test results.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1ContinuousTestResult" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ListConversationsResponse": { +"description": "The response message for Conversations.ListConversations.", +"id": "GoogleCloudDialogflowCxV3beta1ListConversationsResponse", +"properties": { +"conversations": { +"description": "The list of conversations. There will be a maximum number of items returned based on the page_size field. The returned conversations will be sorted by start_time in descending order (newest conversation first).", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1Conversation" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ListDeploymentsResponse": { +"description": "The response message for Deployments.ListDeployments.", +"id": "GoogleCloudDialogflowCxV3beta1ListDeploymentsResponse", +"properties": { +"deployments": { +"description": "The list of deployments. There will be a maximum number of items returned based on the page_size field in the request. The list may in some cases be empty or contain fewer entries than page_size even if this isn't the last page.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1Deployment" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ListEntityTypesResponse": { +"description": "The response message for EntityTypes.ListEntityTypes.", +"id": "GoogleCloudDialogflowCxV3beta1ListEntityTypesResponse", +"properties": { +"entityTypes": { +"description": "The list of entity types. There will be a maximum number of items returned based on the page_size field in the request.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1EntityType" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ListEnvironmentsResponse": { +"description": "The response message for Environments.ListEnvironments.", +"id": "GoogleCloudDialogflowCxV3beta1ListEnvironmentsResponse", +"properties": { +"environments": { +"description": "The list of environments. There will be a maximum number of items returned based on the page_size field in the request. The list may in some cases be empty or contain fewer entries than page_size even if this isn't the last page.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1Environment" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ListExamplesResponse": { +"description": "The response message for Examples.ListExamples.", +"id": "GoogleCloudDialogflowCxV3beta1ListExamplesResponse", +"properties": { +"examples": { +"description": "The list of examples. There will be a maximum number of items returned based on the page_size field in the request.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1Example" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ListExperimentsResponse": { +"description": "The response message for Experiments.ListExperiments.", +"id": "GoogleCloudDialogflowCxV3beta1ListExperimentsResponse", +"properties": { +"experiments": { +"description": "The list of experiments. There will be a maximum number of items returned based on the page_size field in the request. The list may in some cases be empty or contain fewer entries than page_size even if this isn't the last page.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1Experiment" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ListFlowsResponse": { +"description": "The response message for Flows.ListFlows.", +"id": "GoogleCloudDialogflowCxV3beta1ListFlowsResponse", +"properties": { +"flows": { +"description": "The list of flows. There will be a maximum number of items returned based on the page_size field in the request.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1Flow" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ListGeneratorsResponse": { +"description": "The response message for Generators.ListGenerators.", +"id": "GoogleCloudDialogflowCxV3beta1ListGeneratorsResponse", +"properties": { +"generators": { +"description": "The list of generators. There will be a maximum number of items returned based on the page_size field in the request.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1Generator" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ListIntentsResponse": { +"description": "The response message for Intents.ListIntents.", +"id": "GoogleCloudDialogflowCxV3beta1ListIntentsResponse", +"properties": { +"intents": { +"description": "The list of intents. There will be a maximum number of items returned based on the page_size field in the request.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1Intent" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ListPagesResponse": { +"description": "The response message for Pages.ListPages.", +"id": "GoogleCloudDialogflowCxV3beta1ListPagesResponse", +"properties": { +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"pages": { +"description": "The list of pages. There will be a maximum number of items returned based on the page_size field in the request.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1Page" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ListPlaybookVersionsResponse": { +"description": "The response message for Playbooks.ListPlaybookVersions.", +"id": "GoogleCloudDialogflowCxV3beta1ListPlaybookVersionsResponse", +"properties": { +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"playbookVersions": { +"description": "The list of playbook version. There will be a maximum number of items returned based on the page_size field in the request.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1PlaybookVersion" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ListPlaybooksResponse": { +"description": "The response message for Playbooks.ListPlaybooks.", +"id": "GoogleCloudDialogflowCxV3beta1ListPlaybooksResponse", +"properties": { +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"playbooks": { +"description": "The list of playbooks. There will be a maximum number of items returned based on the page_size field in the request.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1Playbook" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ListSecuritySettingsResponse": { +"description": "The response message for SecuritySettings.ListSecuritySettings.", +"id": "GoogleCloudDialogflowCxV3beta1ListSecuritySettingsResponse", +"properties": { +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"securitySettings": { +"description": "The list of security settings.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1SecuritySettings" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ListSessionEntityTypesResponse": { +"description": "The response message for SessionEntityTypes.ListSessionEntityTypes.", +"id": "GoogleCloudDialogflowCxV3beta1ListSessionEntityTypesResponse", +"properties": { +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"sessionEntityTypes": { +"description": "The list of session entity types. There will be a maximum number of items returned based on the page_size field in the request.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1SessionEntityType" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ListTestCaseResultsResponse": { +"description": "The response message for TestCases.ListTestCaseResults.", +"id": "GoogleCloudDialogflowCxV3beta1ListTestCaseResultsResponse", +"properties": { +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"testCaseResults": { +"description": "The list of test case results.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1TestCaseResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ListTestCasesResponse": { +"description": "The response message for TestCases.ListTestCases.", +"id": "GoogleCloudDialogflowCxV3beta1ListTestCasesResponse", +"properties": { +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"testCases": { +"description": "The list of test cases. There will be a maximum number of items returned based on the page_size field in the request.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1TestCase" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ListToolsResponse": { +"description": "The response message for Tools.ListTools.", +"id": "GoogleCloudDialogflowCxV3beta1ListToolsResponse", +"properties": { +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"tools": { +"description": "The list of Tools. There will be a maximum number of items returned based on the page_size field in the request.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1Tool" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ListTransitionRouteGroupsResponse": { +"description": "The response message for TransitionRouteGroups.ListTransitionRouteGroups.", +"id": "GoogleCloudDialogflowCxV3beta1ListTransitionRouteGroupsResponse", +"properties": { +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"transitionRouteGroups": { +"description": "The list of transition route groups. There will be a maximum number of items returned based on the page_size field in the request. The list may in some cases be empty or contain fewer entries than page_size even if this isn't the last page.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1TransitionRouteGroup" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ListVersionsResponse": { +"description": "The response message for Versions.ListVersions.", +"id": "GoogleCloudDialogflowCxV3beta1ListVersionsResponse", +"properties": { +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"versions": { +"description": "A list of versions. There will be a maximum number of items returned based on the page_size field in the request. The list may in some cases be empty or contain fewer entries than page_size even if this isn't the last page.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1Version" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ListWebhooksResponse": { +"description": "The response message for Webhooks.ListWebhooks.", +"id": "GoogleCloudDialogflowCxV3beta1ListWebhooksResponse", +"properties": { +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"webhooks": { +"description": "The list of webhooks. There will be a maximum number of items returned based on the page_size field in the request.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1Webhook" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1LlmModelSettings": { +"description": "Settings for LLM models.", +"id": "GoogleCloudDialogflowCxV3beta1LlmModelSettings", +"properties": { +"model": { +"description": "The selected LLM model.", +"type": "string" +}, +"promptText": { +"description": "The custom prompt to use.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1LoadVersionRequest": { +"description": "The request message for Versions.LoadVersion.", +"id": "GoogleCloudDialogflowCxV3beta1LoadVersionRequest", +"properties": { +"allowOverrideAgentResources": { +"description": "This field is used to prevent accidental overwrite of other agent resources, which can potentially impact other flow's behavior. If `allow_override_agent_resources` is false, conflicted agent-level resources will not be overridden (i.e. intents, entities, webhooks).", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1LookupEnvironmentHistoryResponse": { +"description": "The response message for Environments.LookupEnvironmentHistory.", +"id": "GoogleCloudDialogflowCxV3beta1LookupEnvironmentHistoryResponse", +"properties": { +"environments": { +"description": "Represents a list of snapshots for an environment. Time of the snapshots is stored in `update_time`.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1Environment" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1Match": { +"description": "Represents one match result of MatchIntent.", +"id": "GoogleCloudDialogflowCxV3beta1Match", +"properties": { +"confidence": { +"description": "The confidence of this match. Values range from 0.0 (completely uncertain) to 1.0 (completely certain). This value is for informational purpose only and is only used to help match the best intent within the classification threshold. This value may change for the same end-user expression at any time due to a model retraining or change in implementation.", +"format": "float", +"type": "number" +}, +"event": { +"description": "The event that matched the query. Filled for `EVENT`, `NO_MATCH` and `NO_INPUT` match types.", +"type": "string" +}, +"intent": { +"$ref": "GoogleCloudDialogflowCxV3beta1Intent", +"description": "The Intent that matched the query. Some, not all fields are filled in this message, including but not limited to: `name` and `display_name`. Only filled for `INTENT` match type." +}, +"matchType": { +"description": "Type of this Match.", +"enum": [ +"MATCH_TYPE_UNSPECIFIED", +"INTENT", +"DIRECT_INTENT", +"PARAMETER_FILLING", +"NO_MATCH", +"NO_INPUT", +"EVENT", +"KNOWLEDGE_CONNECTOR", +"PLAYBOOK" +], +"enumDescriptions": [ +"Not specified. Should never be used.", +"The query was matched to an intent.", +"The query directly triggered an intent.", +"The query was used for parameter filling.", +"No match was found for the query.", +"Indicates an empty query.", +"The query directly triggered an event.", +"The query was matched to a Knowledge Connector answer.", +"The query was handled by a `Playbook`." +], +"type": "string" +}, +"parameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The collection of parameters extracted from the query. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.", +"type": "object" +}, +"resolvedInput": { +"description": "Final text input which was matched during MatchIntent. This value can be different from original input sent in request because of spelling correction or other processing.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1MatchIntentRequest": { +"description": "Request of MatchIntent.", +"id": "GoogleCloudDialogflowCxV3beta1MatchIntentRequest", +"properties": { +"persistParameterChanges": { +"description": "Persist session parameter changes from `query_params`.", +"type": "boolean" +}, +"queryInput": { +"$ref": "GoogleCloudDialogflowCxV3beta1QueryInput", +"description": "Required. The input specification." +}, +"queryParams": { +"$ref": "GoogleCloudDialogflowCxV3beta1QueryParameters", +"description": "The parameters of this query." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1MatchIntentResponse": { +"description": "Response of MatchIntent.", +"id": "GoogleCloudDialogflowCxV3beta1MatchIntentResponse", +"properties": { +"currentPage": { +"$ref": "GoogleCloudDialogflowCxV3beta1Page", +"description": "The current Page. Some, not all fields are filled in this message, including but not limited to `name` and `display_name`." +}, +"matches": { +"description": "Match results, if more than one, ordered descendingly by the confidence we have that the particular intent matches the query.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1Match" +}, +"type": "array" +}, +"text": { +"description": "If natural language text was provided as input, this field will contain a copy of the text.", +"type": "string" +}, +"transcript": { +"description": "If natural language speech audio was provided as input, this field will contain the transcript for the audio.", +"type": "string" +}, +"triggerEvent": { +"description": "If an event was provided as input, this field will contain a copy of the event name.", +"type": "string" +}, +"triggerIntent": { +"description": "If an intent was provided as input, this field will contain a copy of the intent identifier. Format: `projects//locations//agents//intents/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1NluSettings": { +"description": "Settings related to NLU.", +"id": "GoogleCloudDialogflowCxV3beta1NluSettings", +"properties": { +"classificationThreshold": { +"description": "To filter out false positive results and still get variety in matched natural language inputs for your agent, you can tune the machine learning classification threshold. If the returned score value is less than the threshold value, then a no-match event will be triggered. The score values range from 0.0 (completely uncertain) to 1.0 (completely certain). If set to 0.0, the default of 0.3 is used. You can set a separate classification threshold for the flow in each language enabled for the agent.", +"format": "float", +"type": "number" +}, +"modelTrainingMode": { +"description": "Indicates NLU model training mode.", +"enum": [ +"MODEL_TRAINING_MODE_UNSPECIFIED", +"MODEL_TRAINING_MODE_AUTOMATIC", +"MODEL_TRAINING_MODE_MANUAL" +], +"enumDescriptions": [ +"Not specified. `MODEL_TRAINING_MODE_AUTOMATIC` will be used.", +"NLU model training is automatically triggered when a flow gets modified. User can also manually trigger model training in this mode.", +"User needs to manually trigger NLU model training. Best for large flows whose models take long time to train." +], +"type": "string" +}, +"modelType": { +"description": "Indicates the type of NLU model.", +"enum": [ +"MODEL_TYPE_UNSPECIFIED", +"MODEL_TYPE_STANDARD", +"MODEL_TYPE_ADVANCED" +], +"enumDescriptions": [ +"Not specified. `MODEL_TYPE_STANDARD` will be used.", +"Use standard NLU model.", +"Use advanced NLU model." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1OutputAudioConfig": { +"description": "Instructs the speech synthesizer how to generate the output audio content.", +"id": "GoogleCloudDialogflowCxV3beta1OutputAudioConfig", +"properties": { +"audioEncoding": { +"description": "Required. Audio encoding of the synthesized audio content.", +"enum": [ +"OUTPUT_AUDIO_ENCODING_UNSPECIFIED", +"OUTPUT_AUDIO_ENCODING_LINEAR_16", +"OUTPUT_AUDIO_ENCODING_MP3", +"OUTPUT_AUDIO_ENCODING_MP3_64_KBPS", +"OUTPUT_AUDIO_ENCODING_OGG_OPUS", +"OUTPUT_AUDIO_ENCODING_MULAW", +"OUTPUT_AUDIO_ENCODING_ALAW" +], +"enumDescriptions": [ +"Not specified.", +"Uncompressed 16-bit signed little-endian samples (Linear PCM). Audio content returned as LINEAR16 also contains a WAV header.", +"MP3 audio at 32kbps.", +"MP3 audio at 64kbps.", +"Opus encoded audio wrapped in an ogg container. The result will be a file which can be played natively on Android, and in browsers (at least Chrome and Firefox). The quality of the encoding is considerably higher than MP3 while using approximately the same bitrate.", +"8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.", +"8-bit samples that compand 13-bit audio samples using G.711 PCMU/a-law." +], +"type": "string" +}, +"sampleRateHertz": { +"description": "Optional. The synthesis sample rate (in hertz) for this audio. If not provided, then the synthesizer will use the default sample rate based on the audio encoding. If this is different from the voice's natural sample rate, then the synthesizer will honor this request by converting to the desired sample rate (which might result in worse audio quality).", +"format": "int32", +"type": "integer" +}, +"synthesizeSpeechConfig": { +"$ref": "GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfig", +"description": "Optional. Configuration of how speech should be synthesized. If not specified, Agent.text_to_speech_settings is applied." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1Page": { +"description": "A Dialogflow CX conversation (session) can be described and visualized as a state machine. The states of a CX session are represented by pages. For each flow, you define many pages, where your combined pages can handle a complete conversation on the topics the flow is designed for. At any given moment, exactly one page is the current page, the current page is considered active, and the flow associated with that page is considered active. Every flow has a special start page. When a flow initially becomes active, the start page page becomes the current page. For each conversational turn, the current page will either stay the same or transition to another page. You configure each page to collect information from the end-user that is relevant for the conversational state represented by the page. For more information, see the [Page guide](https://cloud.google.com/dialogflow/cx/docs/concept/page).", +"id": "GoogleCloudDialogflowCxV3beta1Page", +"properties": { +"advancedSettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1AdvancedSettings", +"description": "Hierarchical advanced settings for this page. The settings exposed at the lower level overrides the settings exposed at the higher level." +}, +"description": { +"description": "The description of the page. The maximum length is 500 characters.", +"type": "string" +}, +"displayName": { +"description": "Required. The human-readable name of the page, unique within the flow.", +"type": "string" +}, +"entryFulfillment": { +"$ref": "GoogleCloudDialogflowCxV3beta1Fulfillment", +"description": "The fulfillment to call when the session is entering the page." +}, +"eventHandlers": { +"description": "Handlers associated with the page to handle events such as webhook errors, no match or no input.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1EventHandler" +}, +"type": "array" +}, +"form": { +"$ref": "GoogleCloudDialogflowCxV3beta1Form", +"description": "The form associated with the page, used for collecting parameters relevant to the page." +}, +"knowledgeConnectorSettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1KnowledgeConnectorSettings", +"description": "Optional. Knowledge connector configuration." +}, +"name": { +"description": "The unique identifier of the page. Required for the Pages.UpdatePage method. Pages.CreatePage populates the name automatically. Format: `projects//locations//agents//flows//pages/`.", +"type": "string" +}, +"transitionRouteGroups": { +"description": "Ordered list of `TransitionRouteGroups` added to the page. Transition route groups must be unique within a page. If the page links both flow-level transition route groups and agent-level transition route groups, the flow-level ones will have higher priority and will be put before the agent-level ones. * If multiple transition routes within a page scope refer to the same intent, then the precedence order is: page's transition route -> page's transition route group -> flow's transition routes. * If multiple transition route groups within a page contain the same intent, then the first group in the ordered list takes precedence. Format:`projects//locations//agents//flows//transitionRouteGroups/` or `projects//locations//agents//transitionRouteGroups/` for agent-level groups.", +"items": { +"type": "string" +}, +"type": "array" +}, +"transitionRoutes": { +"description": "A list of transitions for the transition rules of this page. They route the conversation to another page in the same flow, or another flow. When we are in a certain page, the TransitionRoutes are evalauted in the following order: * TransitionRoutes defined in the page with intent specified. * TransitionRoutes defined in the transition route groups with intent specified. * TransitionRoutes defined in flow with intent specified. * TransitionRoutes defined in the transition route groups with intent specified. * TransitionRoutes defined in the page with only condition specified. * TransitionRoutes defined in the transition route groups with only condition specified.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1TransitionRoute" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1PageInfo": { +"description": "Represents page information communicated to and from the webhook.", +"id": "GoogleCloudDialogflowCxV3beta1PageInfo", +"properties": { +"currentPage": { +"description": "Always present for WebhookRequest. Ignored for WebhookResponse. The unique identifier of the current page. Format: `projects//locations//agents//flows//pages/`.", +"type": "string" +}, +"displayName": { +"description": "Always present for WebhookRequest. Ignored for WebhookResponse. The display name of the current page.", +"type": "string" +}, +"formInfo": { +"$ref": "GoogleCloudDialogflowCxV3beta1PageInfoFormInfo", +"description": "Optional for both WebhookRequest and WebhookResponse. Information about the form." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1PageInfoFormInfo": { +"description": "Represents form information.", +"id": "GoogleCloudDialogflowCxV3beta1PageInfoFormInfo", +"properties": { +"parameterInfo": { +"description": "Optional for both WebhookRequest and WebhookResponse. The parameters contained in the form. Note that the webhook cannot add or remove any form parameter.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1PageInfoFormInfoParameterInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1PageInfoFormInfoParameterInfo": { +"description": "Represents parameter information.", +"id": "GoogleCloudDialogflowCxV3beta1PageInfoFormInfoParameterInfo", +"properties": { +"displayName": { +"description": "Always present for WebhookRequest. Required for WebhookResponse. The human-readable name of the parameter, unique within the form. This field cannot be modified by the webhook.", +"type": "string" +}, +"justCollected": { +"description": "Optional for WebhookRequest. Ignored for WebhookResponse. Indicates if the parameter value was just collected on the last conversation turn.", +"type": "boolean" +}, +"required": { +"description": "Optional for both WebhookRequest and WebhookResponse. Indicates whether the parameter is required. Optional parameters will not trigger prompts; however, they are filled if the user specifies them. Required parameters must be filled before form filling concludes.", +"type": "boolean" +}, +"state": { +"description": "Always present for WebhookRequest. Required for WebhookResponse. The state of the parameter. This field can be set to INVALID by the webhook to invalidate the parameter; other values set by the webhook will be ignored.", +"enum": [ +"PARAMETER_STATE_UNSPECIFIED", +"EMPTY", +"INVALID", +"FILLED" +], +"enumDescriptions": [ +"Not specified. This value should be never used.", +"Indicates that the parameter does not have a value.", +"Indicates that the parameter value is invalid. This field can be used by the webhook to invalidate the parameter and ask the server to collect it from the user again.", +"Indicates that the parameter has a value." +], +"type": "string" +}, +"value": { +"description": "Optional for both WebhookRequest and WebhookResponse. The value of the parameter. This field can be set by the webhook to change the parameter value.", +"type": "any" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ParameterDefinition": { +"description": "Defines the properties of a parameter. Used to define parameters used in the agent and the input / output parameters for each fulfillment.", +"id": "GoogleCloudDialogflowCxV3beta1ParameterDefinition", +"properties": { +"description": { +"description": "Human-readable description of the parameter. Limited to 300 characters.", +"type": "string" +}, +"name": { +"description": "Required. Name of parameter.", +"type": "string" +}, +"type": { +"deprecated": true, +"description": "Type of parameter.", +"enum": [ +"PARAMETER_TYPE_UNSPECIFIED", +"STRING", +"NUMBER", +"BOOLEAN", +"NULL", +"OBJECT", +"LIST" +], +"enumDescriptions": [ +"Not specified. No validation will be performed.", +"Represents any string value.", +"Represents any number value.", +"Represents a boolean value.", +"Represents a null value.", +"Represents any object value.", +"Represents a repeated value." +], +"type": "string" +}, +"typeSchema": { +"$ref": "GoogleCloudDialogflowCxV3beta1TypeSchema", +"description": "Optional. Type schema of parameter." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1Phrase": { +"description": "Text input which can be used for prompt or banned phrases.", +"id": "GoogleCloudDialogflowCxV3beta1Phrase", +"properties": { +"text": { +"description": "Required. Text input which can be used for prompt or banned phrases.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1Playbook": { +"description": "Playbook is the basic building block to instruct the LLM how to execute a certain task. A playbook consists of a goal to accomplish, an optional list of step by step instructions (the step instruction may refers to name of the custom or default plugin tools to use) to perform the task, a list of contextual input data to be passed in at the beginning of the invoked, and a list of output parameters to store the playbook result.", +"id": "GoogleCloudDialogflowCxV3beta1Playbook", +"properties": { +"createTime": { +"description": "Output only. The timestamp of initial playbook creation.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. The human-readable name of the playbook, unique within an agent.", +"type": "string" +}, +"goal": { +"description": "Required. High level description of the goal the playbook intend to accomplish.", +"type": "string" +}, +"inputParameterDefinitions": { +"description": "Optional. Defined structured input parameters for this playbook.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1ParameterDefinition" +}, +"type": "array" +}, +"instruction": { +"$ref": "GoogleCloudDialogflowCxV3beta1PlaybookInstruction", +"description": "Instruction to accomplish target goal." +}, +"llmModelSettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1LlmModelSettings", +"description": "Optional. Llm model settings for the playbook." +}, +"name": { +"description": "The unique identifier of the playbook. Format: `projects//locations//agents//playbooks/`.", +"type": "string" +}, +"outputParameterDefinitions": { +"description": "Optional. Defined structured output parameters for this playbook.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1ParameterDefinition" +}, +"type": "array" +}, +"referencedFlows": { +"description": "Output only. The resource name of flows referenced by the current playbook in the instructions.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"referencedPlaybooks": { +"description": "Output only. The resource name of other playbooks referenced by the current playbook in the instructions.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"referencedTools": { +"description": "Optional. The resource name of tools referenced by the current playbook in the instructions. If not provided explicitly, they are will be implied using the tool being referenced in goal and steps.", +"items": { +"type": "string" +}, +"type": "array" +}, +"speechSettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1AdvancedSettingsSpeechSettings", +"description": "Optional. Playbook level Settings for speech to text detection." +}, +"tokenCount": { +"description": "Output only. Estimated number of tokes current playbook takes when sent to the LLM.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Last time the playbook version was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1PlaybookImportStrategy": { +"description": "The playbook import strategy used for resource conflict resolution associated with an ImportPlaybookRequest.", +"id": "GoogleCloudDialogflowCxV3beta1PlaybookImportStrategy", +"properties": { +"mainPlaybookImportStrategy": { +"description": "Optional. Specifies the import strategy used when resolving conflicts with the main playbook. If not specified, 'CREATE_NEW' is assumed.", +"enum": [ +"IMPORT_STRATEGY_UNSPECIFIED", +"IMPORT_STRATEGY_CREATE_NEW", +"IMPORT_STRATEGY_REPLACE", +"IMPORT_STRATEGY_KEEP", +"IMPORT_STRATEGY_MERGE", +"IMPORT_STRATEGY_THROW_ERROR" +], +"enumDescriptions": [ +"Unspecified. Treated as 'CREATE_NEW'.", +"Create a new resource with a numeric suffix appended to the end of the existing display name.", +"Replace existing resource with incoming resource in the content to be imported.", +"Keep existing resource and discard incoming resource in the content to be imported.", +"Combine existing and incoming resources when a conflict is encountered.", +"Throw error if a conflict is encountered." +], +"type": "string" +}, +"nestedResourceImportStrategy": { +"description": "Optional. Specifies the import strategy used when resolving referenced playbook/flow conflicts. If not specified, 'CREATE_NEW' is assumed.", +"enum": [ +"IMPORT_STRATEGY_UNSPECIFIED", +"IMPORT_STRATEGY_CREATE_NEW", +"IMPORT_STRATEGY_REPLACE", +"IMPORT_STRATEGY_KEEP", +"IMPORT_STRATEGY_MERGE", +"IMPORT_STRATEGY_THROW_ERROR" +], +"enumDescriptions": [ +"Unspecified. Treated as 'CREATE_NEW'.", +"Create a new resource with a numeric suffix appended to the end of the existing display name.", +"Replace existing resource with incoming resource in the content to be imported.", +"Keep existing resource and discard incoming resource in the content to be imported.", +"Combine existing and incoming resources when a conflict is encountered.", +"Throw error if a conflict is encountered." +], +"type": "string" +}, +"toolImportStrategy": { +"description": "Optional. Specifies the import strategy used when resolving tool conflicts. If not specified, 'CREATE_NEW' is assumed. This will be applied after the main playbook and nested resource import strategies, meaning if the playbook that references the tool is skipped, the tool will also be skipped.", +"enum": [ +"IMPORT_STRATEGY_UNSPECIFIED", +"IMPORT_STRATEGY_CREATE_NEW", +"IMPORT_STRATEGY_REPLACE", +"IMPORT_STRATEGY_KEEP", +"IMPORT_STRATEGY_MERGE", +"IMPORT_STRATEGY_THROW_ERROR" +], +"enumDescriptions": [ +"Unspecified. Treated as 'CREATE_NEW'.", +"Create a new resource with a numeric suffix appended to the end of the existing display name.", +"Replace existing resource with incoming resource in the content to be imported.", +"Keep existing resource and discard incoming resource in the content to be imported.", +"Combine existing and incoming resources when a conflict is encountered.", +"Throw error if a conflict is encountered." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1PlaybookInput": { +"description": "Input of the playbook.", +"id": "GoogleCloudDialogflowCxV3beta1PlaybookInput", +"properties": { +"actionParameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. A list of input parameters for the action.", +"type": "object" +}, +"precedingConversationSummary": { +"description": "Optional. Summary string of the preceding conversation for the child playbook invocation.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1PlaybookInstruction": { +"description": "Message of the Instruction of the playbook.", +"id": "GoogleCloudDialogflowCxV3beta1PlaybookInstruction", +"properties": { +"steps": { +"description": "Ordered list of step by step execution instructions to accomplish target goal.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1PlaybookStep" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1PlaybookInvocation": { +"description": "Stores metadata of the invocation of a child playbook.", +"id": "GoogleCloudDialogflowCxV3beta1PlaybookInvocation", +"properties": { +"displayName": { +"description": "Output only. The display name of the playbook.", +"readOnly": true, +"type": "string" +}, +"playbook": { +"description": "Required. The unique identifier of the playbook. Format: `projects//locations//agents//playbooks/`.", +"type": "string" +}, +"playbookInput": { +"$ref": "GoogleCloudDialogflowCxV3beta1PlaybookInput", +"description": "Optional. Input of the child playbook invocation." +}, +"playbookOutput": { +"$ref": "GoogleCloudDialogflowCxV3beta1PlaybookOutput", +"description": "Optional. Output of the child playbook invocation." +}, +"playbookState": { +"description": "Required. Playbook invocation's output state.", +"enum": [ +"OUTPUT_STATE_UNSPECIFIED", +"OUTPUT_STATE_OK", +"OUTPUT_STATE_CANCELLED", +"OUTPUT_STATE_FAILED", +"OUTPUT_STATE_ESCALATED", +"OUTPUT_STATE_PENDING" +], +"enumDescriptions": [ +"Unspecified output.", +"Succeeded.", +"Cancelled.", +"Failed.", +"Escalated.", +"Pending." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1PlaybookOutput": { +"description": "Output of the playbook.", +"id": "GoogleCloudDialogflowCxV3beta1PlaybookOutput", +"properties": { +"actionParameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. A Struct object of output parameters for the action.", +"type": "object" +}, +"executionSummary": { +"description": "Optional. Summary string of the execution result of the child playbook.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1PlaybookStep": { +"description": "Message of single step execution.", +"id": "GoogleCloudDialogflowCxV3beta1PlaybookStep", +"properties": { +"steps": { +"description": "Sub-processing needed to execute the current step.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1PlaybookStep" +}, +"type": "array" +}, +"text": { +"description": "Step instruction in text format.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1PlaybookVersion": { +"description": "Playbook version is a snapshot of the playbook at certain timestamp.", +"id": "GoogleCloudDialogflowCxV3beta1PlaybookVersion", +"properties": { +"description": { +"description": "Optional. The description of the playbook version.", +"type": "string" +}, +"examples": { +"description": "Output only. Snapshot of the examples belonging to the playbook when the playbook version is created.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1Example" +}, +"readOnly": true, +"type": "array" +}, +"name": { +"description": "The unique identifier of the playbook version. Format: `projects//locations//agents//playbooks//versions/`.", +"type": "string" +}, +"playbook": { +"$ref": "GoogleCloudDialogflowCxV3beta1Playbook", +"description": "Output only. Snapshot of the playbook when the playbook version is created.", +"readOnly": true +}, +"updateTime": { +"description": "Output only. Last time the playbook version was created or modified.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1QueryInput": { +"description": "Represents the query input. It can contain one of: 1. A conversational query in the form of text. 2. An intent query that specifies which intent to trigger. 3. Natural language speech audio to be processed. 4. An event to be triggered. 5. DTMF digits to invoke an intent and fill in parameter value. 6. The results of a tool executed by the client.", +"id": "GoogleCloudDialogflowCxV3beta1QueryInput", +"properties": { +"audio": { +"$ref": "GoogleCloudDialogflowCxV3beta1AudioInput", +"description": "The natural language speech audio to be processed." +}, +"dtmf": { +"$ref": "GoogleCloudDialogflowCxV3beta1DtmfInput", +"description": "The DTMF event to be handled." +}, +"event": { +"$ref": "GoogleCloudDialogflowCxV3beta1EventInput", +"description": "The event to be triggered." +}, +"intent": { +"$ref": "GoogleCloudDialogflowCxV3beta1IntentInput", +"description": "The intent to be triggered." +}, +"languageCode": { +"description": "Required. The language of the input. See [Language Support](https://cloud.google.com/dialogflow/cx/docs/reference/language) for a list of the currently supported language codes. Note that queries in the same session do not necessarily need to specify the same language.", +"type": "string" +}, +"text": { +"$ref": "GoogleCloudDialogflowCxV3beta1TextInput", +"description": "The natural language text to be processed." +}, +"toolCallResult": { +"$ref": "GoogleCloudDialogflowCxV3beta1ToolCallResult", +"description": "The results of a tool executed by the client." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1QueryParameters": { +"description": "Represents the parameters of a conversational query.", +"id": "GoogleCloudDialogflowCxV3beta1QueryParameters", +"properties": { +"analyzeQueryTextSentiment": { +"description": "Configures whether sentiment analysis should be performed. If not provided, sentiment analysis is not performed.", +"type": "boolean" +}, +"channel": { +"description": "The channel which this query is for. If specified, only the ResponseMessage associated with the channel will be returned. If no ResponseMessage is associated with the channel, it falls back to the ResponseMessage with unspecified channel. If unspecified, the ResponseMessage with unspecified channel will be returned.", +"type": "string" +}, +"currentPage": { +"description": "The unique identifier of the page to override the current page in the session. Format: `projects//locations//agents//flows//pages/`. If `current_page` is specified, the previous state of the session will be ignored by Dialogflow, including the previous page and the previous session parameters. In most cases, current_page and parameters should be configured together to direct a session to a specific state.", +"type": "string" +}, +"currentPlaybook": { +"description": "Optional. The unique identifier of the playbook to start or continue the session with. If `current_playbook` is specified, the previous state of the session will be ignored by Dialogflow. Format: `projects//locations//agents//playbooks/`.", +"type": "string" +}, +"disableWebhook": { +"description": "Whether to disable webhook calls for this request.", +"type": "boolean" +}, +"endUserMetadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. Information about the end-user to improve the relevance and accuracy of generative answers. This will be interpreted and used by a language model, so, for good results, the data should be self-descriptive, and in a simple structure. Example: ```json { \"subscription plan\": \"Business Premium Plus\", \"devices owned\": [ {\"model\": \"Google Pixel 7\"}, {\"model\": \"Google Pixel Tablet\"} ] } ```", +"type": "object" +}, +"flowVersions": { +"description": "A list of flow versions to override for the request. Format: `projects//locations//agents//flows//versions/`. If version 1 of flow X is included in this list, the traffic of flow X will go through version 1 regardless of the version configuration in the environment. Each flow can have at most one version specified in this list.", +"items": { +"type": "string" +}, +"type": "array" +}, +"geoLocation": { +"$ref": "GoogleTypeLatLng", +"description": "The geo location of this conversational query." +}, +"llmModelSettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1LlmModelSettings", +"description": "Optional. Use the specified LLM model settings for processing the request." +}, +"parameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. You can reference the session parameters in the agent with the following format: $session.params.parameter-id. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.", +"type": "object" +}, +"payload": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported. Some integrations that query a Dialogflow agent may provide additional information in the payload. In particular, for the Dialogflow Phone Gateway integration, this field has the form: ``` { \"telephony\": { \"caller_id\": \"+18558363987\" } } ```", +"type": "object" +}, +"populateDataStoreConnectionSignals": { +"description": "Optional. If set to true and data stores are involved in serving the request then DetectIntentResponse.query_result.data_store_connection_signals will be filled with data that can help evaluations.", +"type": "boolean" +}, +"searchConfig": { +"$ref": "GoogleCloudDialogflowCxV3beta1SearchConfig", +"description": "Optional. Search configuration for UCS search queries." +}, +"sessionEntityTypes": { +"description": "Additional session entity types to replace or extend developer entity types with. The entity synonyms apply to all languages and persist for the session of this query.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1SessionEntityType" +}, +"type": "array" +}, +"sessionTtl": { +"description": "Optional. Configure lifetime of the Dialogflow session. By default, a Dialogflow session remains active and its data is stored for 30 minutes after the last request is sent for the session. This value should be no longer than 1 day.", +"format": "google-duration", +"type": "string" +}, +"timeZone": { +"description": "The time zone of this conversational query from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris. If not provided, the time zone specified in the agent is used.", +"type": "string" +}, +"webhookHeaders": { +"additionalProperties": { +"type": "string" +}, +"description": "This field can be used to pass HTTP headers for a webhook call. These headers will be sent to webhook along with the headers that have been configured through Dialogflow web console. The headers defined within this field will overwrite the headers configured through Dialogflow console if there is a conflict. Header names are case-insensitive. Google's specified headers are not allowed. Including: \"Host\", \"Content-Length\", \"Connection\", \"From\", \"User-Agent\", \"Accept-Encoding\", \"If-Modified-Since\", \"If-None-Match\", \"X-Forwarded-For\", etc.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1QueryResult": { +"description": "Represents the result of a conversational query.", +"id": "GoogleCloudDialogflowCxV3beta1QueryResult", +"properties": { +"advancedSettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1AdvancedSettings", +"description": "Returns the current advanced settings including IVR settings. Even though the operations configured by these settings are performed by Dialogflow, the client may need to perform special logic at the moment. For example, if Dialogflow exports audio to Google Cloud Storage, then the client may need to wait for the resulting object to appear in the bucket before proceeding." +}, +"allowAnswerFeedback": { +"description": "Indicates whether the Thumbs up/Thumbs down rating controls are need to be shown for the response in the Dialogflow Messenger widget.", +"type": "boolean" +}, +"currentFlow": { +"$ref": "GoogleCloudDialogflowCxV3beta1Flow", +"description": "The current Flow. Some, not all fields are filled in this message, including but not limited to `name` and `display_name`." +}, +"currentPage": { +"$ref": "GoogleCloudDialogflowCxV3beta1Page", +"description": "The current Page. Some, not all fields are filled in this message, including but not limited to `name` and `display_name`." +}, +"dataStoreConnectionSignals": { +"$ref": "GoogleCloudDialogflowCxV3beta1DataStoreConnectionSignals", +"description": "Optional. Data store connection feature output signals. Filled only when data stores are involved in serving the query and DetectIntentRequest.populate_data_store_connection_signals is set to true in the request." +}, +"diagnosticInfo": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The free-form diagnostic info. For example, this field could contain webhook call latency. The fields of this data can change without notice, so you should not write code that depends on its structure. One of the fields is called \"Alternative Matched Intents\", which may aid with debugging. The following describes these intent results: - The list is empty if no intent was matched to end-user input. - Only intents that are referenced in the currently active flow are included. - The matched intent is included. - Other intents that could have matched end-user input, but did not match because they are referenced by intent routes that are out of [scope](https://cloud.google.com/dialogflow/cx/docs/concept/handler#scope), are included. - Other intents referenced by intent routes in scope that matched end-user input, but had a lower confidence score.", +"type": "object" +}, +"dtmf": { +"$ref": "GoogleCloudDialogflowCxV3beta1DtmfInput", +"description": "If a DTMF was provided as input, this field will contain a copy of the DtmfInput." +}, +"generativeInfo": { +"$ref": "GoogleCloudDialogflowCxV3beta1GenerativeInfo", +"description": "The information of a query if handled by generative agent resources." +}, +"intent": { +"$ref": "GoogleCloudDialogflowCxV3beta1Intent", +"deprecated": true, +"description": "The Intent that matched the conversational query. Some, not all fields are filled in this message, including but not limited to: `name` and `display_name`. This field is deprecated, please use QueryResult.match instead." +}, +"intentDetectionConfidence": { +"deprecated": true, +"description": "The intent detection confidence. Values range from 0.0 (completely uncertain) to 1.0 (completely certain). This value is for informational purpose only and is only used to help match the best intent within the classification threshold. This value may change for the same end-user expression at any time due to a model retraining or change in implementation. This field is deprecated, please use QueryResult.match instead.", +"format": "float", +"type": "number" +}, +"languageCode": { +"description": "The language that was triggered during intent detection. See [Language Support](https://cloud.google.com/dialogflow/cx/docs/reference/language) for a list of the currently supported language codes.", +"type": "string" +}, +"match": { +"$ref": "GoogleCloudDialogflowCxV3beta1Match", +"description": "Intent match result, could be an intent or an event." +}, +"parameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The collected session parameters. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.", +"type": "object" +}, +"responseMessages": { +"description": "The list of rich messages returned to the client. Responses vary from simple text messages to more sophisticated, structured payloads used to drive complex logic.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessage" +}, +"type": "array" +}, +"sentimentAnalysisResult": { +"$ref": "GoogleCloudDialogflowCxV3beta1SentimentAnalysisResult", +"description": "The sentiment analyss result, which depends on `analyze_query_text_sentiment`, specified in the request." +}, +"text": { +"description": "If natural language text was provided as input, this field will contain a copy of the text.", +"type": "string" +}, +"transcript": { +"description": "If natural language speech audio was provided as input, this field will contain the transcript for the audio.", +"type": "string" +}, +"triggerEvent": { +"description": "If an event was provided as input, this field will contain the name of the event.", +"type": "string" +}, +"triggerIntent": { +"description": "If an intent was provided as input, this field will contain a copy of the intent identifier. Format: `projects//locations//agents//intents/`.", +"type": "string" +}, +"webhookDisplayNames": { +"description": "The list of webhook display names in the order of call sequence.", +"items": { +"type": "string" +}, +"type": "array" +}, +"webhookIds": { +"description": "The list of webhook ids in the order of call sequence.", +"items": { +"type": "string" +}, +"type": "array" +}, +"webhookLatencies": { +"description": "The list of webhook latencies in the order of call sequence.", +"items": { +"format": "google-duration", +"type": "string" +}, +"type": "array" +}, +"webhookPayloads": { +"description": "The list of webhook payload in WebhookResponse.payload, in the order of call sequence. If some webhook call fails or doesn't return any payload, an empty `Struct` would be used instead.", +"items": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"webhookStatuses": { +"description": "The list of webhook call status in the order of call sequence.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"webhookTags": { +"description": "The list of webhook tags in the order of call sequence.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ResourceName": { +"description": "Resource name and display name.", +"id": "GoogleCloudDialogflowCxV3beta1ResourceName", +"properties": { +"displayName": { +"description": "Display name.", +"type": "string" +}, +"name": { +"description": "Name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ResponseMessage": { +"description": "Represents a response message that can be returned by a conversational agent. Response messages are also used for output audio synthesis. The approach is as follows: * If at least one OutputAudioText response is present, then all OutputAudioText responses are linearly concatenated, and the result is used for output audio synthesis. * If the OutputAudioText responses are a mixture of text and SSML, then the concatenated result is treated as SSML; otherwise, the result is treated as either text or SSML as appropriate. The agent designer should ideally use either text or SSML consistently throughout the bot design. * Otherwise, all Text responses are linearly concatenated, and the result is used for output audio synthesis. This approach allows for more sophisticated user experience scenarios, where the text displayed to the user may differ from what is heard.", +"id": "GoogleCloudDialogflowCxV3beta1ResponseMessage", +"properties": { +"channel": { +"description": "The channel which the response is associated with. Clients can specify the channel via QueryParameters.channel, and only associated channel response will be returned.", +"type": "string" +}, +"conversationSuccess": { +"$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess", +"description": "Indicates that the conversation succeeded." +}, +"endInteraction": { +"$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessageEndInteraction", +"description": "Output only. A signal that indicates the interaction with the Dialogflow agent has ended. This message is generated by Dialogflow only when the conversation reaches `END_SESSION` page. It is not supposed to be defined by the user. It's guaranteed that there is at most one such message in each response.", +"readOnly": true +}, +"knowledgeInfoCard": { +"$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessageKnowledgeInfoCard", +"description": "Represents info card for knowledge answers, to be better rendered in Dialogflow Messenger." +}, +"liveAgentHandoff": { +"$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoff", +"description": "Hands off conversation to a human agent." +}, +"mixedAudio": { +"$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudio", +"description": "Output only. An audio response message composed of both the synthesized Dialogflow agent responses and responses defined via play_audio. This message is generated by Dialogflow only and not supposed to be defined by the user.", +"readOnly": true +}, +"outputAudioText": { +"$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioText", +"description": "A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message." +}, +"payload": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Returns a response containing a custom, platform-specific payload.", +"type": "object" +}, +"playAudio": { +"$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudio", +"description": "Signal that the client should play an audio clip hosted at a client-specific URI. Dialogflow uses this to construct mixed_audio. However, Dialogflow itself does not try to read or process the URI in any way." +}, +"telephonyTransferCall": { +"$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessageTelephonyTransferCall", +"description": "A signal that the client should transfer the phone call connected to this agent to a third-party endpoint." +}, +"text": { +"$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessageText", +"description": "Returns a text response." +}, +"toolCall": { +"$ref": "GoogleCloudDialogflowCxV3beta1ToolCall", +"description": "Returns the definition of a tool call that should be executed by the client." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess": { +"description": "Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about. Dialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates that the conversation succeeded. * In a webhook response when you determine that you handled the customer issue.", +"id": "GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess", +"properties": { +"metadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Custom metadata. Dialogflow doesn't impose any structure on this.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ResponseMessageEndInteraction": { +"description": "Indicates that interaction with the Dialogflow agent has ended. This message is generated by Dialogflow only and not supposed to be defined by the user.", +"id": "GoogleCloudDialogflowCxV3beta1ResponseMessageEndInteraction", +"properties": {}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ResponseMessageKnowledgeInfoCard": { +"description": "Represents info card response. If the response contains generative knowledge prediction, Dialogflow will return a payload with Infobot Messenger compatible info card. Otherwise, the info card response is skipped.", +"id": "GoogleCloudDialogflowCxV3beta1ResponseMessageKnowledgeInfoCard", +"properties": {}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoff": { +"description": "Indicates that the conversation should be handed off to a live agent. Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates something went extremely wrong in the conversation. * In a webhook response when you determine that the customer issue can only be handled by a human.", +"id": "GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoff", +"properties": { +"metadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudio": { +"description": "Represents an audio message that is composed of both segments synthesized from the Dialogflow agent prompts and ones hosted externally at the specified URIs. The external URIs are specified via play_audio. This message is generated by Dialogflow only and not supposed to be defined by the user.", +"id": "GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudio", +"properties": { +"segments": { +"description": "Segments this audio response is composed of.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudioSegment" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudioSegment": { +"description": "Represents one segment of audio.", +"id": "GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudioSegment", +"properties": { +"allowPlaybackInterruption": { +"description": "Output only. Whether the playback of this segment can be interrupted by the end user's speech and the client should then start the next Dialogflow request.", +"readOnly": true, +"type": "boolean" +}, +"audio": { +"description": "Raw audio synthesized from the Dialogflow agent's response using the output config specified in the request.", +"format": "byte", +"type": "string" +}, +"uri": { +"description": "Client-specific URI that points to an audio clip accessible to the client. Dialogflow does not impose any validation on it.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioText": { +"description": "A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message.", +"id": "GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioText", +"properties": { +"allowPlaybackInterruption": { +"description": "Output only. Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.", +"readOnly": true, +"type": "boolean" +}, +"ssml": { +"description": "The SSML text to be synthesized. For more information, see [SSML](/speech/text-to-speech/docs/ssml).", +"type": "string" +}, +"text": { +"description": "The raw text to be synthesized.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudio": { +"description": "Specifies an audio clip to be played by the client as part of the response.", +"id": "GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudio", +"properties": { +"allowPlaybackInterruption": { +"description": "Output only. Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.", +"readOnly": true, +"type": "boolean" +}, +"audioUri": { +"description": "Required. URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ResponseMessageTelephonyTransferCall": { +"description": "Represents the signal that telles the client to transfer the phone call connected to the agent to a third-party endpoint.", +"id": "GoogleCloudDialogflowCxV3beta1ResponseMessageTelephonyTransferCall", +"properties": { +"phoneNumber": { +"description": "Transfer the call to a phone number in [E.164 format](https://en.wikipedia.org/wiki/E.164).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ResponseMessageText": { +"description": "The text response message.", +"id": "GoogleCloudDialogflowCxV3beta1ResponseMessageText", +"properties": { +"allowPlaybackInterruption": { +"description": "Output only. Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.", +"readOnly": true, +"type": "boolean" +}, +"text": { +"description": "Required. A collection of text response variants. If multiple variants are defined, only one text response variant is returned at runtime.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1RestoreAgentRequest": { +"description": "The request message for Agents.RestoreAgent.", +"id": "GoogleCloudDialogflowCxV3beta1RestoreAgentRequest", +"properties": { +"agentContent": { +"description": "Uncompressed raw byte content for agent.", +"format": "byte", +"type": "string" +}, +"agentUri": { +"description": "The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to restore agent from. The format of this URI must be `gs:///`. Dialogflow performs a read operation for the Cloud Storage object on the caller's behalf, so your request authentication must have read permissions for the object. For more information, see [Dialogflow access control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage).", +"type": "string" +}, +"gitSource": { +"$ref": "GoogleCloudDialogflowCxV3beta1RestoreAgentRequestGitSource", +"description": "Setting for restoring from a git branch" +}, +"restoreOption": { +"description": "Agent restore mode. If not specified, `KEEP` is assumed.", +"enum": [ +"RESTORE_OPTION_UNSPECIFIED", +"KEEP", +"FALLBACK" +], +"enumDescriptions": [ +"Unspecified. Treated as KEEP.", +"Always respect the settings from the exported agent file. It may cause a restoration failure if some settings (e.g. model type) are not supported in the target agent.", +"Fallback to default settings if some settings are not supported in the target agent." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1RestoreAgentRequestGitSource": { +"description": "Settings for restoring from a git branch", +"id": "GoogleCloudDialogflowCxV3beta1RestoreAgentRequestGitSource", +"properties": { +"trackingBranch": { +"description": "tracking branch for the git pull", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1RestorePlaybookVersionRequest": { +"description": "The request message for Playbooks.RestorePlaybookVersion.", +"id": "GoogleCloudDialogflowCxV3beta1RestorePlaybookVersionRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1RestorePlaybookVersionResponse": { +"description": "The response message for Playbooks.RestorePlaybookVersion.", +"id": "GoogleCloudDialogflowCxV3beta1RestorePlaybookVersionResponse", +"properties": { +"playbook": { +"$ref": "GoogleCloudDialogflowCxV3beta1Playbook", +"description": "The updated playbook." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1RolloutConfig": { +"description": "The configuration for auto rollout.", +"id": "GoogleCloudDialogflowCxV3beta1RolloutConfig", +"properties": { +"failureCondition": { +"description": "The conditions that are used to evaluate the failure of a rollout step. If not specified, no rollout steps will fail. E.g. \"containment_rate < 10% OR average_turn_count < 3\". See the [conditions reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).", +"type": "string" +}, +"rolloutCondition": { +"description": "The conditions that are used to evaluate the success of a rollout step. If not specified, all rollout steps will proceed to the next one unless failure conditions are met. E.g. \"containment_rate > 60% AND callback_rate < 20%\". See the [conditions reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).", +"type": "string" +}, +"rolloutSteps": { +"description": "Steps to roll out a flow version. Steps should be sorted by percentage in ascending order.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1RolloutConfigRolloutStep" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1RolloutConfigRolloutStep": { +"description": "A single rollout step with specified traffic allocation.", +"id": "GoogleCloudDialogflowCxV3beta1RolloutConfigRolloutStep", +"properties": { +"displayName": { +"description": "The name of the rollout step;", +"type": "string" +}, +"minDuration": { +"description": "The minimum time that this step should last. Should be longer than 1 hour. If not set, the default minimum duration for each step will be 1 hour.", +"format": "google-duration", +"type": "string" +}, +"trafficPercent": { +"description": "The percentage of traffic allocated to the flow version of this rollout step. (0%, 100%].", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1RolloutState": { +"description": "State of the auto-rollout process.", +"id": "GoogleCloudDialogflowCxV3beta1RolloutState", +"properties": { +"startTime": { +"description": "Start time of the current step.", +"format": "google-datetime", +"type": "string" +}, +"step": { +"description": "Display name of the current auto rollout step.", +"type": "string" +}, +"stepIndex": { +"description": "Index of the current step in the auto rollout steps list.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1RunContinuousTestMetadata": { +"description": "Metadata returned for the Environments.RunContinuousTest long running operation.", +"id": "GoogleCloudDialogflowCxV3beta1RunContinuousTestMetadata", +"properties": { +"errors": { +"description": "The test errors.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1TestError" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1RunContinuousTestRequest": { +"description": "The request message for Environments.RunContinuousTest.", +"id": "GoogleCloudDialogflowCxV3beta1RunContinuousTestRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1RunContinuousTestResponse": { +"description": "The response message for Environments.RunContinuousTest.", +"id": "GoogleCloudDialogflowCxV3beta1RunContinuousTestResponse", +"properties": { +"continuousTestResult": { +"$ref": "GoogleCloudDialogflowCxV3beta1ContinuousTestResult", +"description": "The result for a continuous test run." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1RunTestCaseMetadata": { +"description": "Metadata returned for the TestCases.RunTestCase long running operation. This message currently has no fields.", +"id": "GoogleCloudDialogflowCxV3beta1RunTestCaseMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1RunTestCaseRequest": { +"description": "The request message for TestCases.RunTestCase.", +"id": "GoogleCloudDialogflowCxV3beta1RunTestCaseRequest", +"properties": { +"environment": { +"description": "Optional. Environment name. If not set, draft environment is assumed. Format: `projects//locations//agents//environments/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1RunTestCaseResponse": { +"description": "The response message for TestCases.RunTestCase.", +"id": "GoogleCloudDialogflowCxV3beta1RunTestCaseResponse", +"properties": { +"result": { +"$ref": "GoogleCloudDialogflowCxV3beta1TestCaseResult", +"description": "The result." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1SafetySettings": { +"description": "Settings for Generative Safety.", +"id": "GoogleCloudDialogflowCxV3beta1SafetySettings", +"properties": { +"bannedPhrases": { +"description": "Banned phrases for generated text.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1SafetySettingsPhrase" +}, +"type": "array" +}, +"defaultBannedPhraseMatchStrategy": { +"description": "Optional. Default phrase match strategy for banned phrases.", +"enum": [ +"PHRASE_MATCH_STRATEGY_UNSPECIFIED", +"PARTIAL_MATCH", +"WORD_MATCH" +], +"enumDescriptions": [ +"Unspecified, defaults to PARTIAL_MATCH.", +"Text that contains the phrase as a substring will be matched, e.g. \"foo\" will match \"afoobar\".", +"Text that contains the tokenized words of the phrase will be matched, e.g. \"foo\" will match \"a foo bar\" and \"foo bar\", but not \"foobar\"." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1SafetySettingsPhrase": { +"description": "Text input which can be used for prompt or banned phrases.", +"id": "GoogleCloudDialogflowCxV3beta1SafetySettingsPhrase", +"properties": { +"languageCode": { +"description": "Required. Language code of the phrase.", +"type": "string" +}, +"text": { +"description": "Required. Text input which can be used for prompt or banned phrases.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1SearchConfig": { +"description": "Search configuration for UCS search queries.", +"id": "GoogleCloudDialogflowCxV3beta1SearchConfig", +"properties": { +"boostSpecs": { +"description": "Optional. Boosting configuration for the datastores.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1BoostSpecs" +}, +"type": "array" +}, +"filterSpecs": { +"description": "Optional. Filter configuration for the datastores.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1FilterSpecs" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1SecuritySettings": { +"description": "Represents the settings related to security issues, such as data redaction and data retention. It may take hours for updates on the settings to propagate to all the related components and take effect.", +"id": "GoogleCloudDialogflowCxV3beta1SecuritySettings", +"properties": { +"audioExportSettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1SecuritySettingsAudioExportSettings", +"description": "Controls audio export settings for post-conversation analytics when ingesting audio to conversations via Participants.AnalyzeContent or Participants.StreamingAnalyzeContent. If retention_strategy is set to REMOVE_AFTER_CONVERSATION or audio_export_settings.gcs_bucket is empty, audio export is disabled. If audio export is enabled, audio is recorded and saved to audio_export_settings.gcs_bucket, subject to retention policy of audio_export_settings.gcs_bucket. This setting won't effect audio input for implicit sessions via Sessions.DetectIntent or Sessions.StreamingDetectIntent." +}, +"deidentifyTemplate": { +"description": "[DLP](https://cloud.google.com/dlp/docs) deidentify template name. Use this template to define de-identification configuration for the content. The `DLP De-identify Templates Reader` role is needed on the Dialogflow service identity service account (has the form `service-PROJECT_NUMBER@gcp-sa-dialogflow.iam.gserviceaccount.com`) for your agent's project. If empty, Dialogflow replaces sensitive info with `[redacted]` text. The template name will have one of the following formats: `projects//locations//deidentifyTemplates/` OR `organizations//locations//deidentifyTemplates/` Note: `deidentify_template` must be located in the same region as the `SecuritySettings`.", +"type": "string" +}, +"displayName": { +"description": "Required. The human-readable name of the security settings, unique within the location.", +"type": "string" +}, +"insightsExportSettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1SecuritySettingsInsightsExportSettings", +"description": "Controls conversation exporting settings to Insights after conversation is completed. If retention_strategy is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter what you configure here." +}, +"inspectTemplate": { +"description": "[DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this template to define inspect base settings. The `DLP Inspect Templates Reader` role is needed on the Dialogflow service identity service account (has the form `service-PROJECT_NUMBER@gcp-sa-dialogflow.iam.gserviceaccount.com`) for your agent's project. If empty, we use the default DLP inspect config. The template name will have one of the following formats: `projects//locations//inspectTemplates/` OR `organizations//locations//inspectTemplates/` Note: `inspect_template` must be located in the same region as the `SecuritySettings`.", +"type": "string" +}, +"name": { +"description": "Resource name of the settings. Required for the SecuritySettingsService.UpdateSecuritySettings method. SecuritySettingsService.CreateSecuritySettings populates the name automatically. Format: `projects//locations//securitySettings/`.", +"type": "string" +}, +"purgeDataTypes": { +"description": "List of types of data to remove when retention settings triggers purge.", +"items": { +"enum": [ +"PURGE_DATA_TYPE_UNSPECIFIED", +"DIALOGFLOW_HISTORY" +], +"enumDescriptions": [ +"Unspecified. Do not use.", +"Dialogflow history. This does not include Cloud logging, which is owned by the user - not Dialogflow." +], +"type": "string" +}, +"type": "array" +}, +"redactionScope": { +"description": "Defines the data for which Dialogflow applies redaction. Dialogflow does not redact data that it does not have access to \u2013 for example, Cloud logging.", +"enum": [ +"REDACTION_SCOPE_UNSPECIFIED", +"REDACT_DISK_STORAGE" +], +"enumDescriptions": [ +"Don't redact any kind of data.", +"On data to be written to disk or similar devices that are capable of holding data even if power is disconnected. This includes data that are temporarily saved on disk." +], +"type": "string" +}, +"redactionStrategy": { +"description": "Strategy that defines how we do redaction.", +"enum": [ +"REDACTION_STRATEGY_UNSPECIFIED", +"REDACT_WITH_SERVICE" +], +"enumDescriptions": [ +"Do not redact.", +"Call redaction service to clean up the data to be persisted." +], +"type": "string" +}, +"retentionStrategy": { +"description": "Specifies the retention behavior defined by SecuritySettings.RetentionStrategy.", +"enum": [ +"RETENTION_STRATEGY_UNSPECIFIED", +"REMOVE_AFTER_CONVERSATION" +], +"enumDescriptions": [ +"Retains the persisted data with Dialogflow's internal default 365d TTLs.", +"Removes data when the conversation ends. If there is no Conversation explicitly established, a default conversation ends when the corresponding Dialogflow session ends." +], +"type": "string" +}, +"retentionWindowDays": { +"description": "Retains data in interaction logging for the specified number of days. This does not apply to Cloud logging, which is owned by the user - not Dialogflow. User must set a value lower than Dialogflow's default 365d TTL (30 days for Agent Assist traffic), higher value will be ignored and use default. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use default TTL. When data retention configuration is changed, it only applies to the data created after the change; the TTL of existing data created before the change stays intact.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1SecuritySettingsAudioExportSettings": { +"description": "Settings for exporting audio.", +"id": "GoogleCloudDialogflowCxV3beta1SecuritySettingsAudioExportSettings", +"properties": { +"audioExportPattern": { +"description": "Filename pattern for exported audio.", +"type": "string" +}, +"audioFormat": { +"description": "File format for exported audio file. Currently only in telephony recordings.", +"enum": [ +"AUDIO_FORMAT_UNSPECIFIED", +"MULAW", +"MP3", +"OGG" +], +"enumDescriptions": [ +"Unspecified. Do not use.", +"G.711 mu-law PCM with 8kHz sample rate.", +"MP3 file format.", +"OGG Vorbis." +], +"type": "string" +}, +"enableAudioRedaction": { +"description": "Enable audio redaction if it is true. Note that this only redacts end-user audio data; Synthesised audio from the virtual agent is not redacted.", +"type": "boolean" +}, +"gcsBucket": { +"description": "Cloud Storage bucket to export audio record to. Setting this field would grant the Storage Object Creator role to the Dialogflow Service Agent. API caller that tries to modify this field should have the permission of storage.buckets.setIamPolicy.", +"type": "string" +}, +"storeTtsAudio": { +"description": "Whether to store TTS audio. By default, TTS audio from the virtual agent is not exported.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1SecuritySettingsInsightsExportSettings": { +"description": "Settings for exporting conversations to [Insights](https://cloud.google.com/contact-center/insights/docs).", +"id": "GoogleCloudDialogflowCxV3beta1SecuritySettingsInsightsExportSettings", +"properties": { +"enableInsightsExport": { +"description": "If enabled, we will automatically exports conversations to Insights and Insights runs its analyzers.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1SentimentAnalysisResult": { +"description": "The result of sentiment analysis. Sentiment analysis inspects user input and identifies the prevailing subjective opinion, especially to determine a user's attitude as positive, negative, or neutral.", +"id": "GoogleCloudDialogflowCxV3beta1SentimentAnalysisResult", +"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" +}, +"GoogleCloudDialogflowCxV3beta1SessionEntityType": { +"description": "Session entity types are referred to as **User** entity types and are entities that are built for an individual user such as favorites, preferences, playlists, and so on. You can redefine a session entity type at the session level to extend or replace a custom entity type at the user session level (we refer to the entity types defined at the agent level as \"custom entity types\"). Note: session entity types apply to all queries, regardless of the language. For more information about entity types, see the [Dialogflow documentation](https://cloud.google.com/dialogflow/docs/entities-overview).", +"id": "GoogleCloudDialogflowCxV3beta1SessionEntityType", +"properties": { +"entities": { +"description": "Required. The collection of entities to override or supplement the custom entity type.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1EntityTypeEntity" +}, +"type": "array" +}, +"entityOverrideMode": { +"description": "Required. Indicates whether the additional data should override or supplement the custom entity type definition.", +"enum": [ +"ENTITY_OVERRIDE_MODE_UNSPECIFIED", +"ENTITY_OVERRIDE_MODE_OVERRIDE", +"ENTITY_OVERRIDE_MODE_SUPPLEMENT" +], +"enumDescriptions": [ +"Not specified. This value should be never used.", +"The collection of session entities overrides the collection of entities in the corresponding custom entity type.", +"The collection of session entities extends the collection of entities in the corresponding custom entity type. Note: Even in this override mode calls to `ListSessionEntityTypes`, `GetSessionEntityType`, `CreateSessionEntityType` and `UpdateSessionEntityType` only return the additional entities added in this session entity type. If you want to get the supplemented list, please call EntityTypes.GetEntityType on the custom entity type and merge." +], +"type": "string" +}, +"name": { +"description": "Required. The unique identifier of the session entity type. Format: `projects//locations//agents//sessions//entityTypes/` or `projects//locations//agents//environments//sessions//entityTypes/`. If `Environment ID` is not specified, we assume default 'draft' environment.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1SessionInfo": { +"description": "Represents session information communicated to and from the webhook.", +"id": "GoogleCloudDialogflowCxV3beta1SessionInfo", +"properties": { +"parameters": { +"additionalProperties": { +"type": "any" +}, +"description": "Optional for WebhookRequest. Optional for WebhookResponse. All parameters collected from forms and intents during the session. Parameters can be created, updated, or removed by the webhook. To remove a parameter from the session, the webhook should explicitly set the parameter value to null in WebhookResponse. The map is keyed by parameters' display names.", +"type": "object" +}, +"session": { +"description": "Always present for WebhookRequest. Ignored for WebhookResponse. The unique identifier of the session. This field can be used by the webhook to identify a session. Format: `projects//locations//agents//sessions/` or `projects//locations//agents//environments//sessions/` if environment is specified.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1SpeechToTextSettings": { +"description": "Settings related to speech recognition.", +"id": "GoogleCloudDialogflowCxV3beta1SpeechToTextSettings", +"properties": { +"enableSpeechAdaptation": { +"description": "Whether to use speech adaptation for speech recognition.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1StartExperimentRequest": { +"description": "The request message for Experiments.StartExperiment.", +"id": "GoogleCloudDialogflowCxV3beta1StartExperimentRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1StopExperimentRequest": { +"description": "The request message for Experiments.StopExperiment.", +"id": "GoogleCloudDialogflowCxV3beta1StopExperimentRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1SubmitAnswerFeedbackRequest": { +"description": "The request to set the feedback for a bot answer.", +"id": "GoogleCloudDialogflowCxV3beta1SubmitAnswerFeedbackRequest", +"properties": { +"answerFeedback": { +"$ref": "GoogleCloudDialogflowCxV3beta1AnswerFeedback", +"description": "Required. Feedback provided for a bot answer." +}, +"responseId": { +"description": "Required. ID of the response to update its feedback. This is the same as DetectIntentResponse.response_id.", +"type": "string" +}, +"updateMask": { +"description": "Optional. The mask to control which fields to update. If the mask is not present, all fields will be updated.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfig": { +"description": "Configuration of how speech should be synthesized.", +"id": "GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfig", +"properties": { +"effectsProfileId": { +"description": "Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given.", +"items": { +"type": "string" +}, +"type": "array" +}, +"pitch": { +"description": "Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch.", +"format": "double", +"type": "number" +}, +"speakingRate": { +"description": "Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0 will return an error.", +"format": "double", +"type": "number" +}, +"voice": { +"$ref": "GoogleCloudDialogflowCxV3beta1VoiceSelectionParams", +"description": "Optional. The desired voice of the synthesized audio." +}, +"volumeGainDb": { +"description": "Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1TestCase": { +"description": "Represents a test case.", +"id": "GoogleCloudDialogflowCxV3beta1TestCase", +"properties": { +"creationTime": { +"description": "Output only. When the test was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. The human-readable name of the test case, unique within the agent. Limit of 200 characters.", +"type": "string" +}, +"lastTestResult": { +"$ref": "GoogleCloudDialogflowCxV3beta1TestCaseResult", +"description": "The latest test result." +}, +"name": { +"description": "The unique identifier of the test case. TestCases.CreateTestCase will populate the name automatically. Otherwise use format: `projects//locations//agents//testCases/`.", +"type": "string" +}, +"notes": { +"description": "Additional freeform notes about the test case. Limit of 400 characters.", +"type": "string" +}, +"tags": { +"description": "Tags are short descriptions that users may apply to test cases for organizational and filtering purposes. Each tag should start with \"#\" and has a limit of 30 characters.", +"items": { +"type": "string" +}, +"type": "array" +}, +"testCaseConversationTurns": { +"description": "The conversation turns uttered when the test case was created, in chronological order. These include the canonical set of agent utterances that should occur when the agent is working properly.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1ConversationTurn" +}, +"type": "array" +}, +"testConfig": { +"$ref": "GoogleCloudDialogflowCxV3beta1TestConfig", +"description": "Config for the test case." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1TestCaseError": { +"description": "Error info for importing a test.", +"id": "GoogleCloudDialogflowCxV3beta1TestCaseError", +"properties": { +"status": { +"$ref": "GoogleRpcStatus", +"description": "The status associated with the test case." +}, +"testCase": { +"$ref": "GoogleCloudDialogflowCxV3beta1TestCase", +"description": "The test case." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1TestCaseResult": { +"description": "Represents a result from running a test case in an agent environment.", +"id": "GoogleCloudDialogflowCxV3beta1TestCaseResult", +"properties": { +"conversationTurns": { +"description": "The conversation turns uttered during the test case replay in chronological order.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1ConversationTurn" +}, +"type": "array" +}, +"environment": { +"description": "Environment where the test was run. If not set, it indicates the draft environment.", +"type": "string" +}, +"name": { +"description": "The resource name for the test case result. Format: `projects//locations//agents//testCases//results/`.", +"type": "string" +}, +"testResult": { +"description": "Whether the test case passed in the agent environment.", +"enum": [ +"TEST_RESULT_UNSPECIFIED", +"PASSED", +"FAILED" +], +"enumDescriptions": [ +"Not specified. Should never be used.", +"The test passed.", +"The test did not pass." +], +"type": "string" +}, +"testTime": { +"description": "The time that the test was run.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1TestConfig": { +"description": "Represents configurations for a test case.", +"id": "GoogleCloudDialogflowCxV3beta1TestConfig", +"properties": { +"flow": { +"description": "Flow name to start the test case with. Format: `projects//locations//agents//flows/`. Only one of `flow` and `page` should be set to indicate the starting point of the test case. If neither is set, the test case will start with start page on the default start flow.", +"type": "string" +}, +"page": { +"description": "The page to start the test case with. Format: `projects//locations//agents//flows//pages/`. Only one of `flow` and `page` should be set to indicate the starting point of the test case. If neither is set, the test case will start with start page on the default start flow.", +"type": "string" +}, +"trackingParameters": { +"description": "Session parameters to be compared when calculating differences.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1TestError": { +"description": "Error info for running a test.", +"id": "GoogleCloudDialogflowCxV3beta1TestError", +"properties": { +"status": { +"$ref": "GoogleRpcStatus", +"description": "The status associated with the test." +}, +"testCase": { +"description": "The test case resource name.", +"type": "string" +}, +"testTime": { +"description": "The timestamp when the test was completed.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1TestRunDifference": { +"description": "The description of differences between original and replayed agent output.", +"id": "GoogleCloudDialogflowCxV3beta1TestRunDifference", +"properties": { +"description": { +"description": "A human readable description of the diff, showing the actual output vs expected output.", +"type": "string" +}, +"type": { +"description": "The type of diff.", +"enum": [ +"DIFF_TYPE_UNSPECIFIED", +"INTENT", +"PAGE", +"PARAMETERS", +"UTTERANCE", +"FLOW" +], +"enumDescriptions": [ +"Should never be used.", +"The intent.", +"The page.", +"The parameters.", +"The message utterance.", +"The flow." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1TextInput": { +"description": "Represents the natural language text to be processed.", +"id": "GoogleCloudDialogflowCxV3beta1TextInput", +"properties": { +"text": { +"description": "Required. The UTF-8 encoded natural language text to be processed.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1TextToSpeechSettings": { +"description": "Settings related to speech synthesizing.", +"id": "GoogleCloudDialogflowCxV3beta1TextToSpeechSettings", +"properties": { +"synthesizeSpeechConfigs": { +"additionalProperties": { +"$ref": "GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfig" +}, +"description": "Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1Tool": { +"description": "A tool provides a list of actions which are available to the Playbook to attain its goal. A Tool consists of a description of the tool's usage and a specification of the tool which contains the schema and authentication information.", +"id": "GoogleCloudDialogflowCxV3beta1Tool", +"properties": { +"dataStoreSpec": { +"$ref": "GoogleCloudDialogflowCxV3beta1ToolDataStoreTool", +"description": "Data store search tool specification." +}, +"description": { +"description": "Required. High level description of the Tool and its usage.", +"type": "string" +}, +"displayName": { +"description": "Required. The human-readable name of the Tool, unique within an agent.", +"type": "string" +}, +"extensionSpec": { +"$ref": "GoogleCloudDialogflowCxV3beta1ToolExtensionTool", +"description": "Vertex extension tool specification." +}, +"functionSpec": { +"$ref": "GoogleCloudDialogflowCxV3beta1ToolFunctionTool", +"description": "Client side executed function specification." +}, +"name": { +"description": "The unique identifier of the Tool. Format: `projects//locations//agents//tools/`.", +"type": "string" +}, +"openApiSpec": { +"$ref": "GoogleCloudDialogflowCxV3beta1ToolOpenApiTool", +"description": "OpenAPI specification of the Tool." +}, +"toolType": { +"description": "Output only. The tool type.", +"enum": [ +"TOOL_TYPE_UNSPECIFIED", +"CUSTOMIZED_TOOL", +"BUILTIN_TOOL" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Customer provided tool.", +"First party built-in tool created by Dialogflow which cannot be modified." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ToolAuthentication": { +"description": "Authentication information required for API calls", +"id": "GoogleCloudDialogflowCxV3beta1ToolAuthentication", +"properties": { +"apiKeyConfig": { +"$ref": "GoogleCloudDialogflowCxV3beta1ToolAuthenticationApiKeyConfig", +"description": "Config for API key auth." +}, +"bearerTokenConfig": { +"$ref": "GoogleCloudDialogflowCxV3beta1ToolAuthenticationBearerTokenConfig", +"description": "Config for bearer token auth." +}, +"oauthConfig": { +"$ref": "GoogleCloudDialogflowCxV3beta1ToolAuthenticationOAuthConfig", +"description": "Config for OAuth." +}, +"serviceAgentAuthConfig": { +"$ref": "GoogleCloudDialogflowCxV3beta1ToolAuthenticationServiceAgentAuthConfig", +"description": "Config for [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent) auth." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ToolAuthenticationApiKeyConfig": { +"description": "Config for authentication with API key.", +"id": "GoogleCloudDialogflowCxV3beta1ToolAuthenticationApiKeyConfig", +"properties": { +"apiKey": { +"description": "Required. The API key.", +"type": "string" +}, +"keyName": { +"description": "Required. The parameter name or the header name of the API key. E.g., If the API request is \"https://example.com/act?X-Api-Key=\", \"X-Api-Key\" would be the parameter name.", +"type": "string" +}, +"requestLocation": { +"description": "Required. Key location in the request.", +"enum": [ +"REQUEST_LOCATION_UNSPECIFIED", +"HEADER", +"QUERY_STRING" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Represents the key in http header.", +"Represents the key in query string." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ToolAuthenticationBearerTokenConfig": { +"description": "Config for authentication using bearer token.", +"id": "GoogleCloudDialogflowCxV3beta1ToolAuthenticationBearerTokenConfig", +"properties": { +"token": { +"description": "Required. The text token appended to the text `Bearer` to the request Authorization header. [Session parameters reference](https://cloud.google.com/dialogflow/cx/docs/concept/parameter#session-ref) can be used to pass the token dynamically, e.g. `$session.params.parameter-id`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ToolAuthenticationOAuthConfig": { +"description": "Config for authentication with OAuth.", +"id": "GoogleCloudDialogflowCxV3beta1ToolAuthenticationOAuthConfig", +"properties": { +"clientId": { +"description": "Required. The client ID from the OAuth provider.", +"type": "string" +}, +"clientSecret": { +"description": "Required. The client secret from the OAuth provider.", +"type": "string" +}, +"oauthGrantType": { +"description": "Required. OAuth grant types.", +"enum": [ +"OAUTH_GRANT_TYPE_UNSPECIFIED", +"CLIENT_CREDENTIAL" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Represents the [client credential flow](https://oauth.net/2/grant-types/client-credentials)." +], +"type": "string" +}, +"scopes": { +"description": "Optional. The OAuth scopes to grant.", +"items": { +"type": "string" +}, +"type": "array" +}, +"tokenEndpoint": { +"description": "Required. The token endpoint in the OAuth provider to exchange for an access token.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ToolAuthenticationServiceAgentAuthConfig": { +"description": "Config for auth using [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent).", +"id": "GoogleCloudDialogflowCxV3beta1ToolAuthenticationServiceAgentAuthConfig", +"properties": { +"serviceAgentAuth": { +"description": "Optional. Indicate the auth token type generated from the [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent). The generated token is sent in the Authorization header.", +"enum": [ +"SERVICE_AGENT_AUTH_UNSPECIFIED", +"ID_TOKEN", +"ACCESS_TOKEN" +], +"enumDescriptions": [ +"Service agent auth type unspecified. Default to ID_TOKEN.", +"Use [ID token](https://cloud.google.com/docs/authentication/token-types#id) generated from service agent. This can be used to access Cloud Function and Cloud Run after you grant Invoker role to `service-@gcp-sa-dialogflow.iam.gserviceaccount.com`.", +"Use [access token](https://cloud.google.com/docs/authentication/token-types#access) generated from service agent. This can be used to access other Google Cloud APIs after you grant required roles to `service-@gcp-sa-dialogflow.iam.gserviceaccount.com`." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ToolCall": { +"description": "Represents a call of a specific tool's action with the specified inputs.", +"id": "GoogleCloudDialogflowCxV3beta1ToolCall", +"properties": { +"action": { +"description": "Required. The name of the tool's action associated with this call.", +"type": "string" +}, +"inputParameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. The action's input parameters.", +"type": "object" +}, +"tool": { +"description": "Required. The tool associated with this call. Format: `projects//locations//agents//tools/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ToolCallResult": { +"description": "The result of calling a tool's action that has been executed by the client.", +"id": "GoogleCloudDialogflowCxV3beta1ToolCallResult", +"properties": { +"action": { +"description": "Required. The name of the tool's action associated with this call.", +"type": "string" +}, +"error": { +"$ref": "GoogleCloudDialogflowCxV3beta1ToolCallResultError", +"description": "The tool call's error." +}, +"outputParameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The tool call's output parameters.", +"type": "object" +}, +"tool": { +"description": "Required. The tool associated with this call. Format: `projects//locations//agents//tools/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ToolCallResultError": { +"description": "An error produced by the tool call.", +"id": "GoogleCloudDialogflowCxV3beta1ToolCallResultError", +"properties": { +"message": { +"description": "Optional. The error message of the function.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ToolDataStoreTool": { +"description": "A DataStoreTool is a way to provide specifications needed to search a list of data stores.", +"id": "GoogleCloudDialogflowCxV3beta1ToolDataStoreTool", +"properties": { +"dataStoreConnections": { +"description": "Required. List of data stores to search.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1DataStoreConnection" +}, +"type": "array" +}, +"fallbackPrompt": { +"$ref": "GoogleCloudDialogflowCxV3beta1ToolDataStoreToolFallbackPrompt", +"description": "Required. Fallback prompt configurations to use." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ToolDataStoreToolFallbackPrompt": { +"description": "A FallbackPrompt is a way to provide specifications for the Data Store fallback prompt when generating responses.", +"id": "GoogleCloudDialogflowCxV3beta1ToolDataStoreToolFallbackPrompt", +"properties": {}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ToolExtensionTool": { +"description": "An ExtensionTool is a way to use Vertex Extensions as a tool.", +"id": "GoogleCloudDialogflowCxV3beta1ToolExtensionTool", +"properties": { +"name": { +"description": "Required. The full name of the referenced vertex extension. Formats: `projects/{project}/locations/{location}/extensions/{extension}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ToolFunctionTool": { +"description": "A Function tool describes the functions to be invoked on the client side.", +"id": "GoogleCloudDialogflowCxV3beta1ToolFunctionTool", +"properties": { +"inputSchema": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. The JSON schema is encapsulated in a google.protobuf.Struct to describe the input of the function. This input is a JSON object that contains the function's parameters as properties of the object.", +"type": "object" +}, +"outputSchema": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. The JSON schema is encapsulated in a google.protobuf.Struct to describe the output of the function. This output is a JSON object that contains the function's parameters as properties of the object.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ToolOpenApiTool": { +"description": "An OpenAPI tool is a way to provide the Tool specifications in the Open API schema format.", +"id": "GoogleCloudDialogflowCxV3beta1ToolOpenApiTool", +"properties": { +"authentication": { +"$ref": "GoogleCloudDialogflowCxV3beta1ToolAuthentication", +"description": "Optional. Authentication information required by the API." +}, +"serviceDirectoryConfig": { +"$ref": "GoogleCloudDialogflowCxV3beta1ToolServiceDirectoryConfig", +"description": "Optional. Service Directory configuration." +}, +"textSchema": { +"description": "Required. The OpenAPI schema specified as a text.", +"type": "string" +}, +"tlsConfig": { +"$ref": "GoogleCloudDialogflowCxV3beta1ToolTLSConfig", +"description": "Optional. TLS configuration for the HTTPS verification." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ToolServiceDirectoryConfig": { +"description": "Configuration for tools using Service Directory.", +"id": "GoogleCloudDialogflowCxV3beta1ToolServiceDirectoryConfig", +"properties": { +"service": { +"description": "Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects//locations//namespaces//services/`. `LocationID` of the service directory must be the same as the location of the agent.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ToolTLSConfig": { +"description": "The TLS configuration.", +"id": "GoogleCloudDialogflowCxV3beta1ToolTLSConfig", +"properties": { +"caCerts": { +"description": "Required. Specifies a list of allowed custom CA certificates for HTTPS verification.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1ToolTLSConfigCACert" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ToolTLSConfigCACert": { +"description": "The CA certificate.", +"id": "GoogleCloudDialogflowCxV3beta1ToolTLSConfigCACert", +"properties": { +"cert": { +"description": "Required. The allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with \"subject alt name\". For instance a certificate can be self-signed using the following command, openssl x509 -req -days 200 -in example.com.csr \\ -signkey example.com.key \\ -out example.com.crt \\ -extfile <(printf \"\\nsubjectAltName='DNS:www.example.com'\")", +"format": "byte", +"type": "string" +}, +"displayName": { +"description": "Required. The name of the allowed custom CA certificates. This can be used to disambiguate the custom CA certificates.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ToolUse": { +"description": "Stores metadata of the invocation of an action supported by a tool.", +"id": "GoogleCloudDialogflowCxV3beta1ToolUse", +"properties": { +"action": { +"description": "Optional. Name of the action to be called during the tool use.", +"type": "string" +}, +"displayName": { +"description": "Output only. The display name of the tool.", +"readOnly": true, +"type": "string" +}, +"inputActionParameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. A list of input parameters for the action.", +"type": "object" +}, +"outputActionParameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. A list of output parameters generated by the action.", +"type": "object" +}, +"tool": { +"description": "Required. The tool that should be used. Format: `projects//locations//agents//tools/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1TrainFlowRequest": { +"description": "The request message for Flows.TrainFlow.", +"id": "GoogleCloudDialogflowCxV3beta1TrainFlowRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1TransitionCoverage": { +"description": "Transition coverage represents the percentage of all possible page transitions (page-level transition routes and event handlers, excluding transition route groups) present within any of a parent's test cases.", +"id": "GoogleCloudDialogflowCxV3beta1TransitionCoverage", +"properties": { +"coverageScore": { +"description": "The percent of transitions in the agent that are covered.", +"format": "float", +"type": "number" +}, +"transitions": { +"description": "The list of Transitions present in the agent.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1TransitionCoverageTransition" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1TransitionCoverageTransition": { +"description": "A transition in a page.", +"id": "GoogleCloudDialogflowCxV3beta1TransitionCoverageTransition", +"properties": { +"covered": { +"description": "Whether the transition is covered by at least one of the agent's test cases.", +"type": "boolean" +}, +"eventHandler": { +"$ref": "GoogleCloudDialogflowCxV3beta1EventHandler", +"description": "Event handler." +}, +"index": { +"description": "The index of a transition in the transition list. Starting from 0.", +"format": "int32", +"type": "integer" +}, +"source": { +"$ref": "GoogleCloudDialogflowCxV3beta1TransitionCoverageTransitionNode", +"description": "The start node of a transition." +}, +"target": { +"$ref": "GoogleCloudDialogflowCxV3beta1TransitionCoverageTransitionNode", +"description": "The end node of a transition." +}, +"transitionRoute": { +"$ref": "GoogleCloudDialogflowCxV3beta1TransitionRoute", +"description": "Intent route or condition route." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1TransitionCoverageTransitionNode": { +"description": "The source or target of a transition.", +"id": "GoogleCloudDialogflowCxV3beta1TransitionCoverageTransitionNode", +"properties": { +"flow": { +"$ref": "GoogleCloudDialogflowCxV3beta1Flow", +"description": "Indicates a transition to a Flow. Only some fields such as name and displayname will be set." +}, +"page": { +"$ref": "GoogleCloudDialogflowCxV3beta1Page", +"description": "Indicates a transition to a Page. Only some fields such as name and displayname will be set." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1TransitionRoute": { +"description": "A transition route specifies a intent that can be matched and/or a data condition that can be evaluated during a session. When a specified transition is matched, the following actions are taken in order: * If there is a `trigger_fulfillment` associated with the transition, it will be called. * If there is a `target_page` associated with the transition, the session will transition into the specified page. * If there is a `target_flow` associated with the transition, the session will transition into the specified flow.", +"id": "GoogleCloudDialogflowCxV3beta1TransitionRoute", +"properties": { +"condition": { +"description": "The condition to evaluate against form parameters or session parameters. See the [conditions reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition). At least one of `intent` or `condition` must be specified. When both `intent` and `condition` are specified, the transition can only happen when both are fulfilled.", +"type": "string" +}, +"description": { +"description": "Optional. The description of the transition route. The maximum length is 500 characters.", +"type": "string" +}, +"intent": { +"description": "The unique identifier of an Intent. Format: `projects//locations//agents//intents/`. Indicates that the transition can only happen when the given intent is matched. At least one of `intent` or `condition` must be specified. When both `intent` and `condition` are specified, the transition can only happen when both are fulfilled.", +"type": "string" +}, +"name": { +"description": "Output only. The unique identifier of this transition route.", +"readOnly": true, +"type": "string" +}, +"targetFlow": { +"description": "The target flow to transition to. Format: `projects//locations//agents//flows/`.", +"type": "string" +}, +"targetPage": { +"description": "The target page to transition to. Format: `projects//locations//agents//flows//pages/`.", +"type": "string" +}, +"triggerFulfillment": { +"$ref": "GoogleCloudDialogflowCxV3beta1Fulfillment", +"description": "The fulfillment to call when the condition is satisfied. At least one of `trigger_fulfillment` and `target` must be specified. When both are defined, `trigger_fulfillment` is executed first." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1TransitionRouteGroup": { +"description": "A TransitionRouteGroup represents a group of `TransitionRoutes` to be used by a Page.", +"id": "GoogleCloudDialogflowCxV3beta1TransitionRouteGroup", +"properties": { +"displayName": { +"description": "Required. The human-readable name of the transition route group, unique within the flow. The display name can be no longer than 30 characters.", +"type": "string" +}, +"name": { +"description": "The unique identifier of the transition route group. TransitionRouteGroups.CreateTransitionRouteGroup populates the name automatically. Format: `projects//locations//agents//flows//transitionRouteGroups/` or `projects//locations//agents//transitionRouteGroups/` for agent-level groups.", +"type": "string" +}, +"transitionRoutes": { +"description": "Transition routes associated with the TransitionRouteGroup.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1TransitionRoute" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1TransitionRouteGroupCoverage": { +"description": "Transition route group coverage represents the percentage of all possible transition routes present within any of a parent's test cases. The results are grouped by the transition route group.", +"id": "GoogleCloudDialogflowCxV3beta1TransitionRouteGroupCoverage", +"properties": { +"coverageScore": { +"description": "The percent of transition routes in all the transition route groups that are covered.", +"format": "float", +"type": "number" +}, +"coverages": { +"description": "Transition route group coverages.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1TransitionRouteGroupCoverageCoverage" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1TransitionRouteGroupCoverageCoverage": { +"description": "Coverage result message for one transition route group.", +"id": "GoogleCloudDialogflowCxV3beta1TransitionRouteGroupCoverageCoverage", +"properties": { +"coverageScore": { +"description": "The percent of transition routes in the transition route group that are covered.", +"format": "float", +"type": "number" +}, +"routeGroup": { +"$ref": "GoogleCloudDialogflowCxV3beta1TransitionRouteGroup", +"description": "Transition route group metadata. Only name and displayName will be set." +}, +"transitions": { +"description": "The list of transition routes and coverage in the transition route group.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1TransitionRouteGroupCoverageCoverageTransition" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1TransitionRouteGroupCoverageCoverageTransition": { +"description": "A transition coverage in a transition route group.", +"id": "GoogleCloudDialogflowCxV3beta1TransitionRouteGroupCoverageCoverageTransition", +"properties": { +"covered": { +"description": "Whether the transition route is covered by at least one of the agent's test cases.", +"type": "boolean" +}, +"transitionRoute": { +"$ref": "GoogleCloudDialogflowCxV3beta1TransitionRoute", +"description": "Intent route or condition route." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1TurnSignals": { +"description": "Collection of all signals that were extracted for a single turn of the conversation.", +"id": "GoogleCloudDialogflowCxV3beta1TurnSignals", +"properties": { +"agentEscalated": { +"description": "Whether agent responded with LiveAgentHandoff fulfillment.", +"type": "boolean" +}, +"dtmfUsed": { +"description": "Whether user was using DTMF input.", +"type": "boolean" +}, +"failureReasons": { +"description": "Failure reasons of the turn.", +"items": { +"enum": [ +"FAILURE_REASON_UNSPECIFIED", +"FAILED_INTENT", +"FAILED_WEBHOOK" +], +"enumDescriptions": [ +"Failure reason is not assigned.", +"Whether NLU failed to recognize user intent.", +"Whether webhook failed during the turn." +], +"type": "string" +}, +"type": "array" +}, +"noMatch": { +"description": "Whether NLU predicted NO_MATCH.", +"type": "boolean" +}, +"noUserInput": { +"description": "Whether user provided no input.", +"type": "boolean" +}, +"reachedEndPage": { +"description": "Whether turn resulted in End Session page.", +"type": "boolean" +}, +"sentimentMagnitude": { +"description": "Sentiment magnitude of the user utterance if [sentiment](https://cloud.google.com/dialogflow/cx/docs/concept/sentiment) was enabled.", +"format": "float", +"type": "number" +}, +"sentimentScore": { +"description": "Sentiment score of the user utterance if [sentiment](https://cloud.google.com/dialogflow/cx/docs/concept/sentiment) was enabled.", +"format": "float", +"type": "number" +}, +"userEscalated": { +"description": "Whether user was specifically asking for a live agent.", +"type": "boolean" +}, +"webhookStatuses": { +"description": "Human-readable statuses of the webhooks triggered during this turn.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1TypeSchema": { +"description": "Encapsulates different type schema variations: either a reference to an a schema that's already defined by a tool, or an inline definition.", +"id": "GoogleCloudDialogflowCxV3beta1TypeSchema", +"properties": { +"inlineSchema": { +"$ref": "GoogleCloudDialogflowCxV3beta1InlineSchema", +"description": "Set if this is an inline schema definition." +}, +"schemaReference": { +"$ref": "GoogleCloudDialogflowCxV3beta1TypeSchemaSchemaReference", +"description": "Set if this is a schema reference." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1TypeSchemaSchemaReference": { +"description": "A reference to the schema of an existing tool.", +"id": "GoogleCloudDialogflowCxV3beta1TypeSchemaSchemaReference", +"properties": { +"schema": { +"description": "The name of the schema.", +"type": "string" +}, +"tool": { +"description": "The tool that contains this schema definition. Format: `projects//locations//agents//tools/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1UserUtterance": { +"description": "UserUtterance represents one message sent by the customer.", +"id": "GoogleCloudDialogflowCxV3beta1UserUtterance", +"properties": { +"text": { +"description": "Required. Message content in text.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ValidateAgentRequest": { +"description": "The request message for Agents.ValidateAgent.", +"id": "GoogleCloudDialogflowCxV3beta1ValidateAgentRequest", +"properties": { +"languageCode": { +"description": "If not specified, the agent's default language is used.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ValidateFlowRequest": { +"description": "The request message for Flows.ValidateFlow.", +"id": "GoogleCloudDialogflowCxV3beta1ValidateFlowRequest", +"properties": { +"languageCode": { +"description": "If not specified, the agent's default language is used.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1ValidationMessage": { +"description": "Agent/flow validation message.", +"id": "GoogleCloudDialogflowCxV3beta1ValidationMessage", +"properties": { +"detail": { +"description": "The message detail.", +"type": "string" +}, +"resourceNames": { +"description": "The resource names of the resources where the message is found.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1ResourceName" +}, +"type": "array" +}, +"resourceType": { +"description": "The type of the resources where the message is found.", +"enum": [ +"RESOURCE_TYPE_UNSPECIFIED", +"AGENT", +"INTENT", +"INTENT_TRAINING_PHRASE", +"INTENT_PARAMETER", +"INTENTS", +"INTENT_TRAINING_PHRASES", +"ENTITY_TYPE", +"ENTITY_TYPES", +"WEBHOOK", +"FLOW", +"PAGE", +"PAGES", +"TRANSITION_ROUTE_GROUP", +"AGENT_TRANSITION_ROUTE_GROUP" +], +"enumDescriptions": [ +"Unspecified.", +"Agent.", +"Intent.", +"Intent training phrase.", +"Intent parameter.", +"Multiple intents.", +"Multiple training phrases.", +"Entity type.", +"Multiple entity types.", +"Webhook.", +"Flow.", +"Page.", +"Multiple pages.", +"Transition route group.", +"Agent transition route group." +], +"type": "string" +}, +"resources": { +"deprecated": true, +"description": "The names of the resources where the message is found.", +"items": { +"type": "string" +}, +"type": "array" +}, +"severity": { +"description": "Indicates the severity of the message.", +"enum": [ +"SEVERITY_UNSPECIFIED", +"INFO", +"WARNING", +"ERROR" +], +"enumDescriptions": [ +"Unspecified.", +"The agent doesn't follow Dialogflow best practices.", +"The agent may not behave as expected.", +"The agent may experience failures." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1VariantsHistory": { +"description": "The history of variants update.", +"id": "GoogleCloudDialogflowCxV3beta1VariantsHistory", +"properties": { +"updateTime": { +"description": "Update time of the variants.", +"format": "google-datetime", +"type": "string" +}, +"versionVariants": { +"$ref": "GoogleCloudDialogflowCxV3beta1VersionVariants", +"description": "The flow versions as the variants." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1Version": { +"description": "Represents a version of a flow.", +"id": "GoogleCloudDialogflowCxV3beta1Version", +"properties": { +"createTime": { +"description": "Output only. Create time of the version.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "The description of the version. The maximum length is 500 characters. If exceeded, the request is rejected.", +"type": "string" +}, +"displayName": { +"description": "Required. The human-readable name of the version. Limit of 64 characters.", +"type": "string" +}, +"name": { +"description": "Format: projects//locations//agents//flows//versions/. Version ID is a self-increasing number generated by Dialogflow upon version creation.", +"type": "string" +}, +"nluSettings": { +"$ref": "GoogleCloudDialogflowCxV3beta1NluSettings", +"description": "Output only. The NLU settings of the flow at version creation.", +"readOnly": true +}, +"state": { +"description": "Output only. The state of this version. This field is read-only and cannot be set by create and update methods.", +"enum": [ +"STATE_UNSPECIFIED", +"RUNNING", +"SUCCEEDED", +"FAILED" +], +"enumDescriptions": [ +"Not specified. This value is not used.", +"Version is not ready to serve (e.g. training is running).", +"Training has succeeded and this version is ready to serve.", +"Version training failed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1VersionVariants": { +"description": "A list of flow version variants.", +"id": "GoogleCloudDialogflowCxV3beta1VersionVariants", +"properties": { +"variants": { +"description": "A list of flow version variants.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1VersionVariantsVariant" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1VersionVariantsVariant": { +"description": "A single flow version with specified traffic allocation.", +"id": "GoogleCloudDialogflowCxV3beta1VersionVariantsVariant", +"properties": { +"isControlGroup": { +"description": "Whether the variant is for the control group.", +"type": "boolean" +}, +"trafficAllocation": { +"description": "Percentage of the traffic which should be routed to this version of flow. Traffic allocation for a single flow must sum up to 1.0.", +"format": "float", +"type": "number" +}, +"version": { +"description": "The name of the flow version. Format: `projects//locations//agents//flows//versions/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1VoiceSelectionParams": { +"description": "Description of which voice to use for speech synthesis.", +"id": "GoogleCloudDialogflowCxV3beta1VoiceSelectionParams", +"properties": { +"name": { +"description": "Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices).", +"type": "string" +}, +"ssmlGender": { +"description": "Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer should substitute a voice with a different gender rather than failing the request.", +"enum": [ +"SSML_VOICE_GENDER_UNSPECIFIED", +"SSML_VOICE_GENDER_MALE", +"SSML_VOICE_GENDER_FEMALE", +"SSML_VOICE_GENDER_NEUTRAL" +], +"enumDescriptions": [ +"An unspecified gender, which means that the client doesn't care which gender the selected voice will have.", +"A male voice.", +"A female voice.", +"A gender-neutral voice." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1Webhook": { +"description": "Webhooks host the developer's business logic. During a session, webhooks allow the developer to use the data extracted by Dialogflow's natural language processing to generate dynamic responses, validate collected data, or trigger actions on the backend.", +"id": "GoogleCloudDialogflowCxV3beta1Webhook", +"properties": { +"disabled": { +"description": "Indicates whether the webhook is disabled.", +"type": "boolean" +}, +"displayName": { +"description": "Required. The human-readable name of the webhook, unique within the agent.", +"type": "string" +}, +"genericWebService": { +"$ref": "GoogleCloudDialogflowCxV3beta1WebhookGenericWebService", +"description": "Configuration for a generic web service." +}, +"name": { +"description": "The unique identifier of the webhook. Required for the Webhooks.UpdateWebhook method. Webhooks.CreateWebhook populates the name automatically. Format: `projects//locations//agents//webhooks/`.", +"type": "string" +}, +"serviceDirectory": { +"$ref": "GoogleCloudDialogflowCxV3beta1WebhookServiceDirectoryConfig", +"description": "Configuration for a [Service Directory](https://cloud.google.com/service-directory) service." +}, +"timeout": { +"description": "Webhook execution timeout. Execution is considered failed if Dialogflow doesn't receive a response from webhook at the end of the timeout period. Defaults to 5 seconds, maximum allowed timeout is 30 seconds.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1WebhookGenericWebService": { +"description": "Represents configuration for a generic web service.", +"id": "GoogleCloudDialogflowCxV3beta1WebhookGenericWebService", +"properties": { +"allowedCaCerts": { +"description": "Optional. Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with \"subject alt name\". For instance a certificate can be self-signed using the following command, ``` openssl x509 -req -days 200 -in example.com.csr \\ -signkey example.com.key \\ -out example.com.crt \\ -extfile <(printf \"\\nsubjectAltName='DNS:www.example.com'\") ```", +"items": { +"format": "byte", +"type": "string" +}, +"type": "array" +}, +"httpMethod": { +"description": "Optional. HTTP method for the flexible webhook calls. Standard webhook always uses POST.", +"enum": [ +"HTTP_METHOD_UNSPECIFIED", +"POST", +"GET", +"HEAD", +"PUT", +"DELETE", +"PATCH", +"OPTIONS" +], +"enumDescriptions": [ +"HTTP method not specified.", +"HTTP POST Method.", +"HTTP GET Method.", +"HTTP HEAD Method.", +"HTTP PUT Method.", +"HTTP DELETE Method.", +"HTTP PATCH Method.", +"HTTP OPTIONS Method." +], +"type": "string" +}, +"oauthConfig": { +"$ref": "GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceOAuthConfig", +"description": "Optional. The OAuth configuration of the webhook. If specified, Dialogflow will initiate the OAuth client credential flow to exchange an access token from the 3rd party platform and put it in the auth header." +}, +"parameterMapping": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Maps the values extracted from specific fields of the flexible webhook response into session parameters. - Key: session parameter name - Value: field path in the webhook response", +"type": "object" +}, +"password": { +"deprecated": true, +"description": "The password for HTTP Basic authentication.", +"type": "string" +}, +"requestBody": { +"description": "Optional. Defines a custom JSON object as request body to send to flexible webhook.", +"type": "string" +}, +"requestHeaders": { +"additionalProperties": { +"type": "string" +}, +"description": "The HTTP request headers to send together with webhook requests.", +"type": "object" +}, +"serviceAgentAuth": { +"description": "Optional. Indicate the auth token type generated from the [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent). The generated token is sent in the Authorization header.", +"enum": [ +"SERVICE_AGENT_AUTH_UNSPECIFIED", +"NONE", +"ID_TOKEN", +"ACCESS_TOKEN" +], +"enumDescriptions": [ +"Service agent auth type unspecified. Default to ID_TOKEN.", +"No token used.", +"Use [ID token](https://cloud.google.com/docs/authentication/token-types#id) generated from service agent. This can be used to access Cloud Function and Cloud Run after you grant Invoker role to `service-@gcp-sa-dialogflow.iam.gserviceaccount.com`.", +"Use [access token](https://cloud.google.com/docs/authentication/token-types#access) generated from service agent. This can be used to access other Google Cloud APIs after you grant required roles to `service-@gcp-sa-dialogflow.iam.gserviceaccount.com`." +], +"type": "string" +}, +"uri": { +"description": "Required. The webhook URI for receiving POST requests. It must use https protocol.", +"type": "string" +}, +"username": { +"deprecated": true, +"description": "The user name for HTTP Basic authentication.", +"type": "string" +}, +"webhookType": { +"description": "Optional. Type of the webhook.", +"enum": [ +"WEBHOOK_TYPE_UNSPECIFIED", +"STANDARD", +"FLEXIBLE" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Represents a standard webhook.", +"Represents a flexible webhook." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceOAuthConfig": { +"description": "Represents configuration of OAuth client credential flow for 3rd party API authentication.", +"id": "GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceOAuthConfig", +"properties": { +"clientId": { +"description": "Required. The client ID provided by the 3rd party platform.", +"type": "string" +}, +"clientSecret": { +"description": "Required. The client secret provided by the 3rd party platform.", +"type": "string" +}, +"scopes": { +"description": "Optional. The OAuth scopes to grant.", +"items": { +"type": "string" +}, +"type": "array" +}, +"tokenEndpoint": { +"description": "Required. The token endpoint provided by the 3rd party platform to exchange an access token.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1WebhookRequest": { +"description": "The request message for a webhook call. The request is sent as a JSON object and the field names will be presented in camel cases. You may see undocumented fields in an actual request. These fields are used internally by Dialogflow and should be ignored.", +"id": "GoogleCloudDialogflowCxV3beta1WebhookRequest", +"properties": { +"detectIntentResponseId": { +"description": "Always present. The unique identifier of the DetectIntentResponse that will be returned to the API caller.", +"type": "string" +}, +"dtmfDigits": { +"description": "If DTMF was provided as input, this field will contain the DTMF digits.", +"type": "string" +}, +"fulfillmentInfo": { +"$ref": "GoogleCloudDialogflowCxV3beta1WebhookRequestFulfillmentInfo", +"description": "Always present. Information about the fulfillment that triggered this webhook call." +}, +"intentInfo": { +"$ref": "GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo", +"description": "Information about the last matched intent." +}, +"languageCode": { +"description": "The language code specified in the original request.", +"type": "string" +}, +"languageInfo": { +"$ref": "GoogleCloudDialogflowCxV3beta1LanguageInfo", +"description": "Information about the language of the request." +}, +"messages": { +"description": "The list of rich message responses to present to the user. Webhook can choose to append or replace this list in WebhookResponse.fulfillment_response;", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessage" +}, +"type": "array" +}, +"pageInfo": { +"$ref": "GoogleCloudDialogflowCxV3beta1PageInfo", +"description": "Information about page status." +}, +"payload": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Custom data set in QueryParameters.payload.", +"type": "object" +}, +"sentimentAnalysisResult": { +"$ref": "GoogleCloudDialogflowCxV3beta1WebhookRequestSentimentAnalysisResult", +"description": "The sentiment analysis result of the current user request. The field is filled when sentiment analysis is configured to be enabled for the request." +}, +"sessionInfo": { +"$ref": "GoogleCloudDialogflowCxV3beta1SessionInfo", +"description": "Information about session status." +}, +"text": { +"description": "If natural language text was provided as input, this field will contain a copy of the text.", +"type": "string" +}, +"transcript": { +"description": "If natural language speech audio was provided as input, this field will contain the transcript for the audio.", +"type": "string" +}, +"triggerEvent": { +"description": "If an event was provided as input, this field will contain the name of the event.", +"type": "string" +}, +"triggerIntent": { +"description": "If an intent was provided as input, this field will contain a copy of the intent identifier. Format: `projects//locations//agents//intents/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1WebhookRequestFulfillmentInfo": { +"description": "Represents fulfillment information communicated to the webhook.", +"id": "GoogleCloudDialogflowCxV3beta1WebhookRequestFulfillmentInfo", +"properties": { +"tag": { +"description": "Always present. The value of the Fulfillment.tag field will be populated in this field by Dialogflow when the associated webhook is called. The tag is typically used by the webhook service to identify which fulfillment is being called, but it could be used for other purposes.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo": { +"description": "Represents intent information communicated to the webhook.", +"id": "GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo", +"properties": { +"confidence": { +"description": "The confidence of the matched intent. Values range from 0.0 (completely uncertain) to 1.0 (completely certain).", +"format": "float", +"type": "number" +}, +"displayName": { +"description": "Always present. The display name of the last matched intent.", +"type": "string" +}, +"lastMatchedIntent": { +"description": "Always present. The unique identifier of the last matched intent. Format: `projects//locations//agents//intents/`.", +"type": "string" +}, +"parameters": { +"additionalProperties": { +"$ref": "GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfoIntentParameterValue" +}, +"description": "Parameters identified as a result of intent matching. This is a map of the name of the identified parameter to the value of the parameter identified from the user's utterance. All parameters defined in the matched intent that are identified will be surfaced here.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfoIntentParameterValue": { +"description": "Represents a value for an intent parameter.", +"id": "GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfoIntentParameterValue", +"properties": { +"originalValue": { +"description": "Always present. Original text value extracted from user utterance.", +"type": "string" +}, +"resolvedValue": { +"description": "Always present. Structured value for the parameter extracted from user utterance.", +"type": "any" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1WebhookRequestSentimentAnalysisResult": { +"description": "Represents the result of sentiment analysis.", +"id": "GoogleCloudDialogflowCxV3beta1WebhookRequestSentimentAnalysisResult", +"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" +}, +"GoogleCloudDialogflowCxV3beta1WebhookResponse": { +"description": "The response message for a webhook call.", +"id": "GoogleCloudDialogflowCxV3beta1WebhookResponse", +"properties": { +"fulfillmentResponse": { +"$ref": "GoogleCloudDialogflowCxV3beta1WebhookResponseFulfillmentResponse", +"description": "The fulfillment response to send to the user. This field can be omitted by the webhook if it does not intend to send any response to the user." +}, +"pageInfo": { +"$ref": "GoogleCloudDialogflowCxV3beta1PageInfo", +"description": "Information about page status. This field can be omitted by the webhook if it does not intend to modify page status." +}, +"payload": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Value to append directly to QueryResult.webhook_payloads.", +"type": "object" +}, +"sessionInfo": { +"$ref": "GoogleCloudDialogflowCxV3beta1SessionInfo", +"description": "Information about session status. This field can be omitted by the webhook if it does not intend to modify session status." +}, +"targetFlow": { +"description": "The target flow to transition to. Format: `projects//locations//agents//flows/`.", +"type": "string" +}, +"targetPage": { +"description": "The target page to transition to. Format: `projects//locations//agents//flows//pages/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1WebhookResponseFulfillmentResponse": { +"description": "Represents a fulfillment response to the user.", +"id": "GoogleCloudDialogflowCxV3beta1WebhookResponseFulfillmentResponse", +"properties": { +"mergeBehavior": { +"description": "Merge behavior for `messages`.", +"enum": [ +"MERGE_BEHAVIOR_UNSPECIFIED", +"APPEND", +"REPLACE" +], +"enumDescriptions": [ +"Not specified. `APPEND` will be used.", +"`messages` will be appended to the list of messages waiting to be sent to the user.", +"`messages` will replace the list of messages waiting to be sent to the user." +], +"type": "string" +}, +"messages": { +"description": "The list of rich message responses to present to the user.", +"items": { +"$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessage" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowCxV3beta1WebhookServiceDirectoryConfig": { +"description": "Represents configuration for a [Service Directory](https://cloud.google.com/service-directory) service.", +"id": "GoogleCloudDialogflowCxV3beta1WebhookServiceDirectoryConfig", +"properties": { +"genericWebService": { +"$ref": "GoogleCloudDialogflowCxV3beta1WebhookGenericWebService", +"description": "Generic Service configuration of this webhook." +}, +"service": { +"description": "Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects//locations//namespaces//services/`. `Location ID` of the service directory must be the same as the location of the agent.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2AnnotatedMessagePart": { +"description": "Represents a part of a message possibly annotated with an entity. The part can be an entity or purely a part of the message between two entities or message start/end.", +"id": "GoogleCloudDialogflowV2AnnotatedMessagePart", +"properties": { +"entityType": { +"description": "The [Dialogflow system entity type](https://cloud.google.com/dialogflow/docs/reference/system-entities) of this message part. If this is empty, Dialogflow could not annotate the phrase part with a system entity.", +"type": "string" +}, +"formattedValue": { +"description": "The [Dialogflow system entity formatted value ](https://cloud.google.com/dialogflow/docs/reference/system-entities) of this message part. For example for a system entity of type `@sys.unit-currency`, this may contain: { \"amount\": 5, \"currency\": \"USD\" } ", +"type": "any" +}, +"text": { +"description": "A part of a message possibly annotated with an entity.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2ArticleAnswer": { +"description": "Represents article answer.", +"id": "GoogleCloudDialogflowV2ArticleAnswer", +"properties": { +"answerRecord": { +"description": "The name of answer record, in the format of \"projects//locations//answerRecords/\"", +"type": "string" +}, +"confidence": { +"description": "Article match confidence. The system's confidence score that this article is a good match for this conversation, as a value from 0.0 (completely uncertain) to 1.0 (completely certain).", +"format": "float", +"type": "number" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "A map that contains metadata about the answer and the document from which it originates.", +"type": "object" +}, +"snippets": { +"description": "Article snippets.", +"items": { +"type": "string" +}, +"type": "array" +}, +"title": { +"description": "The article title.", +"type": "string" +}, +"uri": { +"description": "The article URI.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2ArticleSuggestionModelMetadata": { +"description": "Metadata for article suggestion models.", +"id": "GoogleCloudDialogflowV2ArticleSuggestionModelMetadata", +"properties": { +"trainingModelType": { +"description": "Optional. Type of the article suggestion model. If not provided, model_type is used.", +"enum": [ +"MODEL_TYPE_UNSPECIFIED", +"SMART_REPLY_DUAL_ENCODER_MODEL", +"SMART_REPLY_BERT_MODEL" +], +"enumDescriptions": [ +"ModelType unspecified.", +"ModelType smart reply dual encoder model.", +"ModelType smart reply bert model." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2BatchUpdateEntityTypesResponse": { +"description": "The response message for EntityTypes.BatchUpdateEntityTypes.", +"id": "GoogleCloudDialogflowV2BatchUpdateEntityTypesResponse", +"properties": { +"entityTypes": { +"description": "The collection of updated or created entity types.", +"items": { +"$ref": "GoogleCloudDialogflowV2EntityType" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2BatchUpdateIntentsResponse": { +"description": "The response message for Intents.BatchUpdateIntents.", +"id": "GoogleCloudDialogflowV2BatchUpdateIntentsResponse", +"properties": { +"intents": { +"description": "The collection of updated or created intents.", +"items": { +"$ref": "GoogleCloudDialogflowV2Intent" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2ClearSuggestionFeatureConfigOperationMetadata": { +"description": "Metadata for a ConversationProfiles.ClearSuggestionFeatureConfig operation.", +"id": "GoogleCloudDialogflowV2ClearSuggestionFeatureConfigOperationMetadata", +"properties": { +"conversationProfile": { +"description": "The resource name of the conversation profile. Format: `projects//locations//conversationProfiles/`", +"type": "string" +}, +"createTime": { +"description": "Timestamp whe the request was created. The time is measured on server side.", +"format": "google-datetime", +"type": "string" +}, +"participantRole": { +"description": "Required. The participant role to remove the suggestion feature config. Only HUMAN_AGENT or END_USER can be used.", +"enum": [ +"ROLE_UNSPECIFIED", +"HUMAN_AGENT", +"AUTOMATED_AGENT", +"END_USER" +], +"enumDescriptions": [ +"Participant role not set.", +"Participant is a human agent.", +"Participant is an automated agent, such as a Dialogflow agent.", +"Participant is an end user that has called or chatted with Dialogflow services." +], +"type": "string" +}, +"suggestionFeatureType": { +"description": "Required. The type of the suggestion feature to remove.", +"enum": [ +"TYPE_UNSPECIFIED", +"ARTICLE_SUGGESTION", +"FAQ", +"SMART_REPLY", +"KNOWLEDGE_SEARCH", +"KNOWLEDGE_ASSIST" +], +"enumDescriptions": [ +"Unspecified feature type.", +"Run article suggestion model for chat.", +"Run FAQ model for chat.", +"Run smart reply model for chat.", +"Run knowledge search with text input from agent or text generated query.", +"Run knowledge assist with automatic query generation." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2Context": { +"description": "Dialogflow contexts are similar to natural language context. If a person says to you \"they are orange\", you need context in order to understand what \"they\" is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).", +"id": "GoogleCloudDialogflowV2Context", +"properties": { +"lifespanCount": { +"description": "Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "Required. The unique identifier of the context. Format: `projects//agent/sessions//contexts/`, or `projects//agent/environments//users//sessions//contexts/`. The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size`", +"type": "string" +}, +"parameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2ConversationEvent": { +"description": "Represents a notification sent to Pub/Sub subscribers for conversation lifecycle events.", +"id": "GoogleCloudDialogflowV2ConversationEvent", +"properties": { +"conversation": { +"description": "The unique identifier of the conversation this notification refers to. Format: `projects//conversations/`.", +"type": "string" +}, +"errorStatus": { +"$ref": "GoogleRpcStatus", +"description": "More detailed information about an error. Only set for type UNRECOVERABLE_ERROR_IN_PHONE_CALL." +}, +"newMessagePayload": { +"$ref": "GoogleCloudDialogflowV2Message", +"description": "Payload of NEW_MESSAGE event." +}, +"newRecognitionResultPayload": { +"$ref": "GoogleCloudDialogflowV2StreamingRecognitionResult", +"description": "Payload of NEW_RECOGNITION_RESULT event." +}, +"type": { +"description": "The type of the event that this notification refers to.", +"enum": [ +"TYPE_UNSPECIFIED", +"CONVERSATION_STARTED", +"CONVERSATION_FINISHED", +"HUMAN_INTERVENTION_NEEDED", +"NEW_MESSAGE", +"NEW_RECOGNITION_RESULT", +"UNRECOVERABLE_ERROR" +], +"enumDescriptions": [ +"Type not set.", +"A new conversation has been opened. This is fired when a telephone call is answered, or a conversation is created via the API.", +"An existing conversation has closed. This is fired when a telephone call is terminated, or a conversation is closed via the API.", +"An existing conversation has received notification from Dialogflow that human intervention is required.", +"An existing conversation has received a new message, either from API or telephony. It is configured in ConversationProfile.new_message_event_notification_config", +"An existing conversation has received a new speech recognition result. This is mainly for delivering intermediate transcripts. The notification is configured in ConversationProfile.new_recognition_event_notification_config.", +"Unrecoverable error during a telephone call. In general non-recoverable errors only occur if something was misconfigured in the ConversationProfile corresponding to the call. After a non-recoverable error, Dialogflow may stop responding. We don't fire this event: * in an API call because we can directly return the error, or, * when we can recover from an error." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2ConversationModel": { +"description": "Represents a conversation model.", +"id": "GoogleCloudDialogflowV2ConversationModel", +"properties": { +"articleSuggestionModelMetadata": { +"$ref": "GoogleCloudDialogflowV2ArticleSuggestionModelMetadata", +"description": "Metadata for article suggestion models." +}, +"createTime": { +"description": "Output only. Creation time of this model.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"datasets": { +"description": "Required. Datasets used to create model.", +"items": { +"$ref": "GoogleCloudDialogflowV2InputDataset" +}, +"type": "array" +}, +"displayName": { +"description": "Required. The display name of the model. At most 64 bytes long.", +"type": "string" +}, +"languageCode": { +"description": "Language code for the conversation model. If not specified, the language is en-US. Language at ConversationModel should be set for all non en-us languages. This should be a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. Example: \"en-US\".", +"type": "string" +}, +"name": { +"description": "ConversationModel resource name. Format: `projects//conversationModels/`", +"type": "string" +}, +"satisfiesPzi": { +"description": "Output only. A read only boolean field reflecting Zone Isolation status of the model.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. A read only boolean field reflecting Zone Separation status of the model.", +"readOnly": true, +"type": "boolean" +}, +"smartReplyModelMetadata": { +"$ref": "GoogleCloudDialogflowV2SmartReplyModelMetadata", +"description": "Metadata for smart reply models." +}, +"state": { +"description": "Output only. State of the model. A model can only serve prediction requests after it gets deployed.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"UNDEPLOYED", +"DEPLOYING", +"DEPLOYED", +"UNDEPLOYING", +"DELETING", +"FAILED", +"PENDING" +], +"enumDescriptions": [ +"Should not be used, an un-set enum has this value by default.", +"Model being created.", +"Model is not deployed but ready to deploy.", +"Model is deploying.", +"Model is deployed and ready to use.", +"Model is undeploying.", +"Model is deleting.", +"Model is in error state. Not ready to deploy and use.", +"Model is being created but the training has not started, The model may remain in this state until there is enough capacity to start training." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2CreateConversationDatasetOperationMetadata": { +"description": "Metadata for CreateConversationDataset.", +"id": "GoogleCloudDialogflowV2CreateConversationDatasetOperationMetadata", +"properties": { +"conversationDataset": { +"description": "The resource name of the conversation dataset that will be created. Format: `projects//locations//conversationDatasets/`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2CreateConversationModelEvaluationOperationMetadata": { +"description": "Metadata for a ConversationModels.CreateConversationModelEvaluation operation.", +"id": "GoogleCloudDialogflowV2CreateConversationModelEvaluationOperationMetadata", +"properties": { +"conversationModel": { +"description": "The resource name of the conversation model. Format: `projects//locations//conversationModels/`", +"type": "string" +}, +"conversationModelEvaluation": { +"description": "The resource name of the conversation model. Format: `projects//locations//conversationModels//evaluations/`", +"type": "string" +}, +"createTime": { +"description": "Timestamp when the request to create conversation model was submitted. The time is measured on server side.", +"format": "google-datetime", +"type": "string" +}, +"state": { +"description": "State of CreateConversationModel operation.", +"enum": [ +"STATE_UNSPECIFIED", +"INITIALIZING", +"RUNNING", +"CANCELLED", +"SUCCEEDED", +"FAILED" +], +"enumDescriptions": [ +"Operation status not specified.", +"The operation is being prepared.", +"The operation is running.", +"The operation is cancelled.", +"The operation has succeeded.", +"The operation has failed." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2CreateConversationModelOperationMetadata": { +"description": "Metadata for a ConversationModels.CreateConversationModel operation.", +"id": "GoogleCloudDialogflowV2CreateConversationModelOperationMetadata", +"properties": { +"conversationModel": { +"description": "The resource name of the conversation model. Format: `projects//conversationModels/`", +"type": "string" +}, +"createTime": { +"description": "Timestamp when the request to create conversation model is submitted. The time is measured on server side.", +"format": "google-datetime", +"type": "string" +}, +"state": { +"description": "State of CreateConversationModel operation.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"SUCCEEDED", +"FAILED", +"CANCELLED", +"CANCELLING", +"TRAINING" +], +"enumDescriptions": [ +"Invalid.", +"Request is submitted, but training has not started yet. The model may remain in this state until there is enough capacity to start training.", +"The training has succeeded.", +"The training has succeeded.", +"The training has been cancelled.", +"The training is in cancelling state.", +"Custom model is training." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2DeleteConversationDatasetOperationMetadata": { +"description": "Metadata for DeleteConversationDataset.", +"id": "GoogleCloudDialogflowV2DeleteConversationDatasetOperationMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudDialogflowV2DeleteConversationModelOperationMetadata": { +"description": "Metadata for a ConversationModels.DeleteConversationModel operation.", +"id": "GoogleCloudDialogflowV2DeleteConversationModelOperationMetadata", +"properties": { +"conversationModel": { +"description": "The resource name of the conversation model. Format: `projects//conversationModels/`", +"type": "string" +}, +"createTime": { +"description": "Timestamp when delete conversation model request was created. The time is measured on server side.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2DeployConversationModelOperationMetadata": { +"description": "Metadata for a ConversationModels.DeployConversationModel operation.", +"id": "GoogleCloudDialogflowV2DeployConversationModelOperationMetadata", +"properties": { +"conversationModel": { +"description": "The resource name of the conversation model. Format: `projects//conversationModels/`", +"type": "string" +}, +"createTime": { +"description": "Timestamp when request to deploy conversation model was submitted. The time is measured on server side.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2EncryptionSpec": { +"description": "A customer-managed encryption key specification that can be applied to all created resources (e.g. Conversation).", +"id": "GoogleCloudDialogflowV2EncryptionSpec", +"properties": { +"kmsKey": { +"description": "Required. The name of customer-managed encryption key that is used to secure a resource and its sub-resources. If empty, the resource is secured by the default Google encryption key. Only the key in the same location as this resource is allowed to be used for encryption. Format: `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{key}`", +"type": "string" +}, +"name": { +"description": "Immutable. The resource name of the encryption key specification resource. Format: projects/{project}/locations/{location}/encryptionSpec", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2EntityType": { +"description": "Each intent parameter has a type, called the entity type, which dictates exactly how data from an end-user expression is extracted. Dialogflow provides predefined system entities that can match many common types of data. For example, there are system entities for matching dates, times, colors, email addresses, and so on. You can also create your own custom entities for matching custom data. For example, you could define a vegetable entity that can match the types of vegetables available for purchase with a grocery store agent. For more information, see the [Entity guide](https://cloud.google.com/dialogflow/docs/entities-overview).", +"id": "GoogleCloudDialogflowV2EntityType", +"properties": { +"autoExpansionMode": { +"description": "Optional. Indicates whether the entity type can be automatically expanded.", +"enum": [ +"AUTO_EXPANSION_MODE_UNSPECIFIED", +"AUTO_EXPANSION_MODE_DEFAULT" +], +"enumDescriptions": [ +"Auto expansion disabled for the entity.", +"Allows an agent to recognize values that have not been explicitly listed in the entity." +], +"type": "string" +}, +"displayName": { +"description": "Required. The name of the entity type.", +"type": "string" +}, +"enableFuzzyExtraction": { +"description": "Optional. Enables fuzzy entity extraction during classification.", +"type": "boolean" +}, +"entities": { +"description": "Optional. The collection of entity entries associated with the entity type.", +"items": { +"$ref": "GoogleCloudDialogflowV2EntityTypeEntity" +}, +"type": "array" +}, +"kind": { +"description": "Required. Indicates the kind of entity type.", +"enum": [ +"KIND_UNSPECIFIED", +"KIND_MAP", +"KIND_LIST", +"KIND_REGEXP" +], +"enumDescriptions": [ +"Not specified. This value should be never used.", +"Map entity types allow mapping of a group of synonyms to a reference value.", +"List entity types contain a set of entries that do not map to reference values. However, list entity types can contain references to other entity types (with or without aliases).", +"Regexp entity types allow to specify regular expressions in entries values." +], +"type": "string" +}, +"name": { +"description": "The unique identifier of the entity type. Required for EntityTypes.UpdateEntityType and EntityTypes.BatchUpdateEntityTypes methods. Format: `projects//agent/entityTypes/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2EntityTypeEntity": { +"description": "An **entity entry** for an associated entity type.", +"id": "GoogleCloudDialogflowV2EntityTypeEntity", +"properties": { +"synonyms": { +"description": "Required. A collection of value synonyms. For example, if the entity type is *vegetable*, and `value` is *scallions*, a synonym could be *green onions*. For `KIND_LIST` entity types: * This collection must contain exactly one synonym equal to `value`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"value": { +"description": "Required. The primary value associated with this entity entry. For example, if the entity type is *vegetable*, the value could be *scallions*. For `KIND_MAP` entity types: * A reference value to be used in place of synonyms. For `KIND_LIST` entity types: * A string that can contain references to other entity types (with or without aliases).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2EventInput": { +"description": "Events allow for matching intents by event name instead of the natural language input. For instance, input `` can trigger a personalized welcome response. The parameter `name` may be used by the agent in the response: `\"Hello #welcome_event.name! What can I do for you today?\"`.", +"id": "GoogleCloudDialogflowV2EventInput", +"properties": { +"languageCode": { +"description": "Required. The language of this query. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes. Note that queries in the same session do not necessarily need to specify the same language. This field is ignored when used in the context of a WebhookResponse.followup_event_input field, because the language was already defined in the originating detect intent request.", +"type": "string" +}, +"name": { +"description": "Required. The unique identifier of the event.", +"type": "string" +}, +"parameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The collection of parameters associated with the event. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2ExportAgentResponse": { +"description": "The response message for Agents.ExportAgent.", +"id": "GoogleCloudDialogflowV2ExportAgentResponse", +"properties": { +"agentContent": { +"description": "Zip compressed raw byte content for agent.", +"format": "byte", +"type": "string" +}, +"agentUri": { +"description": "The URI to a file containing the exported agent. This field is populated only if `agent_uri` is specified in `ExportAgentRequest`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2ExportOperationMetadata": { +"description": "Metadata related to the Export Data Operations (e.g. ExportDocument).", +"id": "GoogleCloudDialogflowV2ExportOperationMetadata", +"properties": { +"exportedGcsDestination": { +"$ref": "GoogleCloudDialogflowV2GcsDestination", +"description": "Cloud Storage file path of the exported data." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2FaqAnswer": { +"description": "Represents answer from \"frequently asked questions\".", +"id": "GoogleCloudDialogflowV2FaqAnswer", +"properties": { +"answer": { +"description": "The piece of text from the `source` knowledge base document.", +"type": "string" +}, +"answerRecord": { +"description": "The name of answer record, in the format of \"projects//locations//answerRecords/\"", +"type": "string" +}, +"confidence": { +"description": "The system's confidence score that this Knowledge answer is a good match for this conversational query, range from 0.0 (completely uncertain) to 1.0 (completely certain).", +"format": "float", +"type": "number" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "A map that contains metadata about the answer and the document from which it originates.", +"type": "object" +}, +"question": { +"description": "The corresponding FAQ question.", +"type": "string" +}, +"source": { +"description": "Indicates which Knowledge Document this answer was extracted from. Format: `projects//locations//agent/knowledgeBases//documents/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2GcsDestination": { +"description": "Google Cloud Storage location for the output.", +"id": "GoogleCloudDialogflowV2GcsDestination", +"properties": { +"uri": { +"description": "The Google Cloud Storage URIs for the output. A URI is of the form: `gs://bucket/object-prefix-or-name` Whether a prefix or name is used depends on the use case. The requesting user must have \"write-permission\" to the bucket.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2HumanAgentAssistantEvent": { +"description": "Represents a notification sent to Cloud Pub/Sub subscribers for human agent assistant events in a specific conversation.", +"id": "GoogleCloudDialogflowV2HumanAgentAssistantEvent", +"properties": { +"conversation": { +"description": "The conversation this notification refers to. Format: `projects//conversations/`.", +"type": "string" +}, +"participant": { +"description": "The participant that the suggestion is compiled for. Format: `projects//conversations//participants/`. It will not be set in legacy workflow.", +"type": "string" +}, +"suggestionResults": { +"description": "The suggestion results payload that this notification refers to.", +"items": { +"$ref": "GoogleCloudDialogflowV2SuggestionResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2ImportConversationDataOperationMetadata": { +"description": "Metadata for a ConversationDatasets.ImportConversationData operation.", +"id": "GoogleCloudDialogflowV2ImportConversationDataOperationMetadata", +"properties": { +"conversationDataset": { +"description": "The resource name of the imported conversation dataset. Format: `projects//locations//conversationDatasets/`", +"type": "string" +}, +"createTime": { +"description": "Timestamp when import conversation data request was created. The time is measured on server side.", +"format": "google-datetime", +"type": "string" +}, +"partialFailures": { +"description": "Partial failures are failures that don't fail the whole long running operation, e.g. single files that couldn't be read.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2ImportConversationDataOperationResponse": { +"description": "Response used for ConversationDatasets.ImportConversationData long running operation.", +"id": "GoogleCloudDialogflowV2ImportConversationDataOperationResponse", +"properties": { +"conversationDataset": { +"description": "The resource name of the imported conversation dataset. Format: `projects//locations//conversationDatasets/`", +"type": "string" +}, +"importCount": { +"description": "Number of conversations imported successfully.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2ImportDocumentsResponse": { +"description": "Response message for Documents.ImportDocuments.", +"id": "GoogleCloudDialogflowV2ImportDocumentsResponse", +"properties": { +"warnings": { +"description": "Includes details about skipped documents or any other warnings.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2InitializeEncryptionSpecMetadata": { +"description": "Metadata for initializing a location-level encryption specification.", +"id": "GoogleCloudDialogflowV2InitializeEncryptionSpecMetadata", +"properties": { +"request": { +"$ref": "GoogleCloudDialogflowV2InitializeEncryptionSpecRequest", +"description": "Output only. The original request for initialization.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2InitializeEncryptionSpecRequest": { +"description": "The request to initialize a location-level encryption specification.", +"id": "GoogleCloudDialogflowV2InitializeEncryptionSpecRequest", +"properties": { +"encryptionSpec": { +"$ref": "GoogleCloudDialogflowV2EncryptionSpec", +"description": "Required. The encryption spec used for CMEK encryption. It is required that the kms key is in the same region as the endpoint. The same key will be used for all provisioned resources, if encryption is available. If the kms_key_name is left empty, no encryption will be enforced." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2InputDataset": { +"description": "InputDataset used to create model or do evaluation. NextID:5", +"id": "GoogleCloudDialogflowV2InputDataset", +"properties": { +"dataset": { +"description": "Required. ConversationDataset resource name. Format: `projects//locations//conversationDatasets/`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2Intent": { +"description": "An intent categorizes an end-user's intention for one conversation turn. For each agent, you define many intents, where your combined intents can handle a complete conversation. When an end-user writes or says something, referred to as an end-user expression or end-user input, Dialogflow matches the end-user input to the best intent in your agent. Matching an intent is also known as intent classification. For more information, see the [intent guide](https://cloud.google.com/dialogflow/docs/intents-overview).", +"id": "GoogleCloudDialogflowV2Intent", +"properties": { +"action": { +"description": "Optional. The name of the action associated with the intent. Note: The action name must not contain whitespaces.", +"type": "string" +}, +"defaultResponsePlatforms": { +"description": "Optional. The list of platforms for which the first responses will be copied from the messages in PLATFORM_UNSPECIFIED (i.e. default platform).", +"items": { +"enum": [ +"PLATFORM_UNSPECIFIED", +"FACEBOOK", +"SLACK", +"TELEGRAM", +"KIK", +"SKYPE", +"LINE", +"VIBER", +"ACTIONS_ON_GOOGLE", +"GOOGLE_HANGOUTS" +], +"enumDescriptions": [ +"Default platform.", +"Facebook.", +"Slack.", +"Telegram.", +"Kik.", +"Skype.", +"Line.", +"Viber.", +"Google Assistant See [Dialogflow webhook format](https://developers.google.com/assistant/actions/build/json/dialogflow-webhook-json)", +"Google Hangouts." +], +"type": "string" +}, +"type": "array" +}, +"displayName": { +"description": "Required. The name of this intent.", +"type": "string" +}, +"endInteraction": { +"description": "Optional. Indicates that this intent ends an interaction. Some integrations (e.g., Actions on Google or Dialogflow phone gateway) use this information to close interaction with an end user. Default is false.", +"type": "boolean" +}, +"events": { +"description": "Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.", +"items": { +"type": "string" +}, +"type": "array" +}, +"followupIntentInfo": { +"description": "Output only. Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.", +"items": { +"$ref": "GoogleCloudDialogflowV2IntentFollowupIntentInfo" +}, +"readOnly": true, +"type": "array" +}, +"inputContextNames": { +"description": "Optional. The list of context names required for this intent to be triggered. Format: `projects//agent/sessions/-/contexts/`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"isFallback": { +"description": "Optional. Indicates whether this is a fallback intent.", +"type": "boolean" +}, +"liveAgentHandoff": { +"description": "Optional. Indicates that a live agent should be brought in to handle the interaction with the user. In most cases, when you set this flag to true, you would also want to set end_interaction to true as well. Default is false.", +"type": "boolean" +}, +"messages": { +"description": "Optional. The collection of rich messages corresponding to the `Response` field in the Dialogflow console.", +"items": { +"$ref": "GoogleCloudDialogflowV2IntentMessage" +}, +"type": "array" +}, +"mlDisabled": { +"description": "Optional. Indicates whether Machine Learning is disabled for the intent. Note: If `ml_disabled` setting is set to true, then this intent is not taken into account during inference in `ML ONLY` match mode. Also, auto-markup in the UI is turned off.", +"type": "boolean" +}, +"name": { +"description": "Optional. The unique identifier of this intent. Required for Intents.UpdateIntent and Intents.BatchUpdateIntents methods. Format: `projects//agent/intents/`.", +"type": "string" +}, +"outputContexts": { +"description": "Optional. The collection of contexts that are activated when the intent is matched. Context messages in this collection should not set the parameters field. Setting the `lifespan_count` to 0 will reset the context when the intent is matched. Format: `projects//agent/sessions/-/contexts/`.", +"items": { +"$ref": "GoogleCloudDialogflowV2Context" +}, +"type": "array" +}, +"parameters": { +"description": "Optional. The collection of parameters associated with the intent.", +"items": { +"$ref": "GoogleCloudDialogflowV2IntentParameter" +}, +"type": "array" +}, +"parentFollowupIntentName": { +"description": "Read-only after creation. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.", +"type": "string" +}, +"priority": { +"description": "Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.", +"format": "int32", +"type": "integer" +}, +"resetContexts": { +"description": "Optional. Indicates whether to delete all contexts in the current session when this intent is matched.", +"type": "boolean" +}, +"rootFollowupIntentName": { +"description": "Output only. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.", +"readOnly": true, +"type": "string" +}, +"trainingPhrases": { +"description": "Optional. The collection of examples that the agent is trained on.", +"items": { +"$ref": "GoogleCloudDialogflowV2IntentTrainingPhrase" +}, +"type": "array" +}, +"webhookState": { +"description": "Optional. Indicates whether webhooks are enabled for the intent.", +"enum": [ +"WEBHOOK_STATE_UNSPECIFIED", +"WEBHOOK_STATE_ENABLED", +"WEBHOOK_STATE_ENABLED_FOR_SLOT_FILLING" +], +"enumDescriptions": [ +"Webhook is disabled in the agent and in the intent.", +"Webhook is enabled in the agent and in the intent.", +"Webhook is enabled in the agent and in the intent. Also, each slot filling prompt is forwarded to the webhook." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2IntentFollowupIntentInfo": { +"description": "Represents a single followup intent in the chain.", +"id": "GoogleCloudDialogflowV2IntentFollowupIntentInfo", +"properties": { +"followupIntentName": { +"description": "The unique identifier of the followup intent. Format: `projects//agent/intents/`.", +"type": "string" +}, +"parentFollowupIntentName": { +"description": "The unique identifier of the followup intent's parent. Format: `projects//agent/intents/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2IntentMessage": { +"description": "A rich response message. Corresponds to the intent `Response` field in the Dialogflow console. For more information, see [Rich response messages](https://cloud.google.com/dialogflow/docs/intents-rich-messages).", +"id": "GoogleCloudDialogflowV2IntentMessage", +"properties": { +"basicCard": { +"$ref": "GoogleCloudDialogflowV2IntentMessageBasicCard", +"description": "The basic card response for Actions on Google." +}, +"browseCarouselCard": { +"$ref": "GoogleCloudDialogflowV2IntentMessageBrowseCarouselCard", +"description": "Browse carousel card for Actions on Google." +}, +"card": { +"$ref": "GoogleCloudDialogflowV2IntentMessageCard", +"description": "The card response." +}, +"carouselSelect": { +"$ref": "GoogleCloudDialogflowV2IntentMessageCarouselSelect", +"description": "The carousel card response for Actions on Google." +}, +"image": { +"$ref": "GoogleCloudDialogflowV2IntentMessageImage", +"description": "The image response." +}, +"linkOutSuggestion": { +"$ref": "GoogleCloudDialogflowV2IntentMessageLinkOutSuggestion", +"description": "The link out suggestion chip for Actions on Google." +}, +"listSelect": { +"$ref": "GoogleCloudDialogflowV2IntentMessageListSelect", +"description": "The list card response for Actions on Google." +}, +"mediaContent": { +"$ref": "GoogleCloudDialogflowV2IntentMessageMediaContent", +"description": "The media content card for Actions on Google." +}, +"payload": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "A custom platform-specific response.", +"type": "object" +}, +"platform": { +"description": "Optional. The platform that this message is intended for.", +"enum": [ +"PLATFORM_UNSPECIFIED", +"FACEBOOK", +"SLACK", +"TELEGRAM", +"KIK", +"SKYPE", +"LINE", +"VIBER", +"ACTIONS_ON_GOOGLE", +"GOOGLE_HANGOUTS" +], +"enumDescriptions": [ +"Default platform.", +"Facebook.", +"Slack.", +"Telegram.", +"Kik.", +"Skype.", +"Line.", +"Viber.", +"Google Assistant See [Dialogflow webhook format](https://developers.google.com/assistant/actions/build/json/dialogflow-webhook-json)", +"Google Hangouts." +], +"type": "string" +}, +"quickReplies": { +"$ref": "GoogleCloudDialogflowV2IntentMessageQuickReplies", +"description": "The quick replies response." +}, +"simpleResponses": { +"$ref": "GoogleCloudDialogflowV2IntentMessageSimpleResponses", +"description": "The voice and text-only responses for Actions on Google." +}, +"suggestions": { +"$ref": "GoogleCloudDialogflowV2IntentMessageSuggestions", +"description": "The suggestion chips for Actions on Google." +}, +"tableCard": { +"$ref": "GoogleCloudDialogflowV2IntentMessageTableCard", +"description": "Table card for Actions on Google." +}, +"text": { +"$ref": "GoogleCloudDialogflowV2IntentMessageText", +"description": "The text response." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2IntentMessageBasicCard": { +"description": "The basic card message. Useful for displaying information.", +"id": "GoogleCloudDialogflowV2IntentMessageBasicCard", +"properties": { +"buttons": { +"description": "Optional. The collection of card buttons.", +"items": { +"$ref": "GoogleCloudDialogflowV2IntentMessageBasicCardButton" +}, +"type": "array" +}, +"formattedText": { +"description": "Required, unless image is present. The body text of the card.", +"type": "string" +}, +"image": { +"$ref": "GoogleCloudDialogflowV2IntentMessageImage", +"description": "Optional. The image for the card." +}, +"subtitle": { +"description": "Optional. The subtitle of the card.", +"type": "string" +}, +"title": { +"description": "Optional. The title of the card.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2IntentMessageBasicCardButton": { +"description": "The button object that appears at the bottom of a card.", +"id": "GoogleCloudDialogflowV2IntentMessageBasicCardButton", +"properties": { +"openUriAction": { +"$ref": "GoogleCloudDialogflowV2IntentMessageBasicCardButtonOpenUriAction", +"description": "Required. Action to take when a user taps on the button." +}, +"title": { +"description": "Required. The title of the button.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2IntentMessageBasicCardButtonOpenUriAction": { +"description": "Opens the given URI.", +"id": "GoogleCloudDialogflowV2IntentMessageBasicCardButtonOpenUriAction", +"properties": { +"uri": { +"description": "Required. The HTTP or HTTPS scheme URI.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2IntentMessageBrowseCarouselCard": { +"description": "Browse Carousel Card for Actions on Google. https://developers.google.com/actions/assistant/responses#browsing_carousel", +"id": "GoogleCloudDialogflowV2IntentMessageBrowseCarouselCard", +"properties": { +"imageDisplayOptions": { +"description": "Optional. Settings for displaying the image. Applies to every image in items.", +"enum": [ +"IMAGE_DISPLAY_OPTIONS_UNSPECIFIED", +"GRAY", +"WHITE", +"CROPPED", +"BLURRED_BACKGROUND" +], +"enumDescriptions": [ +"Fill the gaps between the image and the image container with gray bars.", +"Fill the gaps between the image and the image container with gray bars.", +"Fill the gaps between the image and the image container with white bars.", +"Image is scaled such that the image width and height match or exceed the container dimensions. This may crop the top and bottom of the image if the scaled image height is greater than the container height, or crop the left and right of the image if the scaled image width is greater than the container width. This is similar to \"Zoom Mode\" on a widescreen TV when playing a 4:3 video.", +"Pad the gaps between image and image frame with a blurred copy of the same image." +], +"type": "string" +}, +"items": { +"description": "Required. List of items in the Browse Carousel Card. Minimum of two items, maximum of ten.", +"items": { +"$ref": "GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItem" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItem": { +"description": "Browsing carousel tile", +"id": "GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItem", +"properties": { +"description": { +"description": "Optional. Description of the carousel item. Maximum of four lines of text.", +"type": "string" +}, +"footer": { +"description": "Optional. Text that appears at the bottom of the Browse Carousel Card. Maximum of one line of text.", +"type": "string" +}, +"image": { +"$ref": "GoogleCloudDialogflowV2IntentMessageImage", +"description": "Optional. Hero image for the carousel item." +}, +"openUriAction": { +"$ref": "GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction", +"description": "Required. Action to present to the user." +}, +"title": { +"description": "Required. Title of the carousel item. Maximum of two lines of text.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction": { +"description": "Actions on Google action to open a given url.", +"id": "GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction", +"properties": { +"url": { +"description": "Required. URL", +"type": "string" +}, +"urlTypeHint": { +"description": "Optional. Specifies the type of viewer that is used when opening the URL. Defaults to opening via web browser.", +"enum": [ +"URL_TYPE_HINT_UNSPECIFIED", +"AMP_ACTION", +"AMP_CONTENT" +], +"enumDescriptions": [ +"Unspecified", +"Url would be an amp action", +"URL that points directly to AMP content, or to a canonical URL which refers to AMP content via ." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2IntentMessageCard": { +"description": "The card response message.", +"id": "GoogleCloudDialogflowV2IntentMessageCard", +"properties": { +"buttons": { +"description": "Optional. The collection of card buttons.", +"items": { +"$ref": "GoogleCloudDialogflowV2IntentMessageCardButton" +}, +"type": "array" +}, +"imageUri": { +"description": "Optional. The public URI to an image file for the card.", +"type": "string" +}, +"subtitle": { +"description": "Optional. The subtitle of the card.", +"type": "string" +}, +"title": { +"description": "Optional. The title of the card.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2IntentMessageCardButton": { +"description": "Contains information about a button.", +"id": "GoogleCloudDialogflowV2IntentMessageCardButton", +"properties": { +"postback": { +"description": "Optional. The text to send back to the Dialogflow API or a URI to open.", +"type": "string" +}, +"text": { +"description": "Optional. The text to show on the button.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2IntentMessageCarouselSelect": { +"description": "The card for presenting a carousel of options to select from.", +"id": "GoogleCloudDialogflowV2IntentMessageCarouselSelect", +"properties": { +"items": { +"description": "Required. Carousel items.", +"items": { +"$ref": "GoogleCloudDialogflowV2IntentMessageCarouselSelectItem" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2IntentMessageCarouselSelectItem": { +"description": "An item in the carousel.", +"id": "GoogleCloudDialogflowV2IntentMessageCarouselSelectItem", +"properties": { +"description": { +"description": "Optional. The body text of the card.", +"type": "string" +}, +"image": { +"$ref": "GoogleCloudDialogflowV2IntentMessageImage", +"description": "Optional. The image to display." +}, +"info": { +"$ref": "GoogleCloudDialogflowV2IntentMessageSelectItemInfo", +"description": "Required. Additional info about the option item." +}, +"title": { +"description": "Required. Title of the carousel item.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2IntentMessageColumnProperties": { +"description": "Column properties for TableCard.", +"id": "GoogleCloudDialogflowV2IntentMessageColumnProperties", +"properties": { +"header": { +"description": "Required. Column heading.", +"type": "string" +}, +"horizontalAlignment": { +"description": "Optional. Defines text alignment for all cells in this column.", +"enum": [ +"HORIZONTAL_ALIGNMENT_UNSPECIFIED", +"LEADING", +"CENTER", +"TRAILING" +], +"enumDescriptions": [ +"Text is aligned to the leading edge of the column.", +"Text is aligned to the leading edge of the column.", +"Text is centered in the column.", +"Text is aligned to the trailing edge of the column." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2IntentMessageImage": { +"description": "The image response message.", +"id": "GoogleCloudDialogflowV2IntentMessageImage", +"properties": { +"accessibilityText": { +"description": "Optional. A text description of the image to be used for accessibility, e.g., screen readers.", +"type": "string" +}, +"imageUri": { +"description": "Optional. The public URI to an image file.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2IntentMessageLinkOutSuggestion": { +"description": "The suggestion chip message that allows the user to jump out to the app or website associated with this agent.", +"id": "GoogleCloudDialogflowV2IntentMessageLinkOutSuggestion", +"properties": { +"destinationName": { +"description": "Required. The name of the app or site this chip is linking to.", +"type": "string" +}, +"uri": { +"description": "Required. The URI of the app or site to open when the user taps the suggestion chip.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2IntentMessageListSelect": { +"description": "The card for presenting a list of options to select from.", +"id": "GoogleCloudDialogflowV2IntentMessageListSelect", +"properties": { +"items": { +"description": "Required. List items.", +"items": { +"$ref": "GoogleCloudDialogflowV2IntentMessageListSelectItem" +}, +"type": "array" +}, +"subtitle": { +"description": "Optional. Subtitle of the list.", +"type": "string" +}, +"title": { +"description": "Optional. The overall title of the list.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2IntentMessageListSelectItem": { +"description": "An item in the list.", +"id": "GoogleCloudDialogflowV2IntentMessageListSelectItem", +"properties": { +"description": { +"description": "Optional. The main text describing the item.", +"type": "string" +}, +"image": { +"$ref": "GoogleCloudDialogflowV2IntentMessageImage", +"description": "Optional. The image to display." +}, +"info": { +"$ref": "GoogleCloudDialogflowV2IntentMessageSelectItemInfo", +"description": "Required. Additional information about this option." +}, +"title": { +"description": "Required. The title of the list item.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2IntentMessageMediaContent": { +"description": "The media content card for Actions on Google.", +"id": "GoogleCloudDialogflowV2IntentMessageMediaContent", +"properties": { +"mediaObjects": { +"description": "Required. List of media objects.", +"items": { +"$ref": "GoogleCloudDialogflowV2IntentMessageMediaContentResponseMediaObject" +}, +"type": "array" +}, +"mediaType": { +"description": "Optional. What type of media is the content (ie \"audio\").", +"enum": [ +"RESPONSE_MEDIA_TYPE_UNSPECIFIED", +"AUDIO" +], +"enumDescriptions": [ +"Unspecified.", +"Response media type is audio." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2IntentMessageMediaContentResponseMediaObject": { +"description": "Response media object for media content card.", +"id": "GoogleCloudDialogflowV2IntentMessageMediaContentResponseMediaObject", +"properties": { +"contentUrl": { +"description": "Required. Url where the media is stored.", +"type": "string" +}, +"description": { +"description": "Optional. Description of media card.", +"type": "string" +}, +"icon": { +"$ref": "GoogleCloudDialogflowV2IntentMessageImage", +"description": "Optional. Icon to display above media content." +}, +"largeImage": { +"$ref": "GoogleCloudDialogflowV2IntentMessageImage", +"description": "Optional. Image to display above media content." +}, +"name": { +"description": "Required. Name of media card.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2IntentMessageQuickReplies": { +"description": "The quick replies response message.", +"id": "GoogleCloudDialogflowV2IntentMessageQuickReplies", +"properties": { +"quickReplies": { +"description": "Optional. The collection of quick replies.", +"items": { +"type": "string" +}, +"type": "array" +}, +"title": { +"description": "Optional. The title of the collection of quick replies.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2IntentMessageSelectItemInfo": { +"description": "Additional info about the select item for when it is triggered in a dialog.", +"id": "GoogleCloudDialogflowV2IntentMessageSelectItemInfo", +"properties": { +"key": { +"description": "Required. A unique key that will be sent back to the agent if this response is given.", +"type": "string" +}, +"synonyms": { +"description": "Optional. A list of synonyms that can also be used to trigger this item in dialog.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2IntentMessageSimpleResponse": { +"description": "The simple response message containing speech or text.", +"id": "GoogleCloudDialogflowV2IntentMessageSimpleResponse", +"properties": { +"displayText": { +"description": "Optional. The text to display.", +"type": "string" +}, +"ssml": { +"description": "One of text_to_speech or ssml must be provided. Structured spoken response to the user in the SSML format. Mutually exclusive with text_to_speech.", +"type": "string" +}, +"textToSpeech": { +"description": "One of text_to_speech or ssml must be provided. The plain text of the speech output. Mutually exclusive with ssml.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2IntentMessageSimpleResponses": { +"description": "The collection of simple response candidates. This message in `QueryResult.fulfillment_messages` and `WebhookResponse.fulfillment_messages` should contain only one `SimpleResponse`.", +"id": "GoogleCloudDialogflowV2IntentMessageSimpleResponses", +"properties": { +"simpleResponses": { +"description": "Required. The list of simple responses.", +"items": { +"$ref": "GoogleCloudDialogflowV2IntentMessageSimpleResponse" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2IntentMessageSuggestion": { +"description": "The suggestion chip message that the user can tap to quickly post a reply to the conversation.", +"id": "GoogleCloudDialogflowV2IntentMessageSuggestion", +"properties": { +"title": { +"description": "Required. The text shown the in the suggestion chip.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2IntentMessageSuggestions": { +"description": "The collection of suggestions.", +"id": "GoogleCloudDialogflowV2IntentMessageSuggestions", +"properties": { +"suggestions": { +"description": "Required. The list of suggested replies.", +"items": { +"$ref": "GoogleCloudDialogflowV2IntentMessageSuggestion" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2IntentMessageTableCard": { +"description": "Table card for Actions on Google.", +"id": "GoogleCloudDialogflowV2IntentMessageTableCard", +"properties": { +"buttons": { +"description": "Optional. List of buttons for the card.", +"items": { +"$ref": "GoogleCloudDialogflowV2IntentMessageBasicCardButton" +}, +"type": "array" +}, +"columnProperties": { +"description": "Optional. Display properties for the columns in this table.", +"items": { +"$ref": "GoogleCloudDialogflowV2IntentMessageColumnProperties" +}, +"type": "array" +}, +"image": { +"$ref": "GoogleCloudDialogflowV2IntentMessageImage", +"description": "Optional. Image which should be displayed on the card." +}, +"rows": { +"description": "Optional. Rows in this table of data.", +"items": { +"$ref": "GoogleCloudDialogflowV2IntentMessageTableCardRow" +}, +"type": "array" +}, +"subtitle": { +"description": "Optional. Subtitle to the title.", +"type": "string" +}, +"title": { +"description": "Required. Title of the card.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2IntentMessageTableCardCell": { +"description": "Cell of TableCardRow.", +"id": "GoogleCloudDialogflowV2IntentMessageTableCardCell", +"properties": { +"text": { +"description": "Required. Text in this cell.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2IntentMessageTableCardRow": { +"description": "Row of TableCard.", +"id": "GoogleCloudDialogflowV2IntentMessageTableCardRow", +"properties": { +"cells": { +"description": "Optional. List of cells that make up this row.", +"items": { +"$ref": "GoogleCloudDialogflowV2IntentMessageTableCardCell" +}, +"type": "array" +}, +"dividerAfter": { +"description": "Optional. Whether to add a visual divider after this row.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2IntentMessageText": { +"description": "The text response message.", +"id": "GoogleCloudDialogflowV2IntentMessageText", +"properties": { +"text": { +"description": "Optional. The collection of the agent's responses.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2IntentParameter": { +"description": "Represents intent parameters.", +"id": "GoogleCloudDialogflowV2IntentParameter", +"properties": { +"defaultValue": { +"description": "Optional. The default value to use when the `value` yields an empty result. Default values can be extracted from contexts by using the following syntax: `#context_name.parameter_name`.", +"type": "string" +}, +"displayName": { +"description": "Required. The name of the parameter.", +"type": "string" +}, +"entityTypeDisplayName": { +"description": "Optional. The name of the entity type, prefixed with `@`, that describes values of the parameter. If the parameter is required, this must be provided.", +"type": "string" +}, +"isList": { +"description": "Optional. Indicates whether the parameter represents a list of values.", +"type": "boolean" +}, +"mandatory": { +"description": "Optional. Indicates whether the parameter is required. That is, whether the intent cannot be completed without collecting the parameter value.", +"type": "boolean" +}, +"name": { +"description": "The unique identifier of this parameter.", +"type": "string" +}, +"prompts": { +"description": "Optional. The collection of prompts that the agent can present to the user in order to collect a value for the parameter.", +"items": { +"type": "string" +}, +"type": "array" +}, +"value": { +"description": "Optional. The definition of the parameter value. It can be: - a constant string, - a parameter value defined as `$parameter_name`, - an original parameter value defined as `$parameter_name.original`, - a parameter value from some context defined as `#context_name.parameter_name`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2IntentTrainingPhrase": { +"description": "Represents an example that the agent is trained on.", +"id": "GoogleCloudDialogflowV2IntentTrainingPhrase", +"properties": { +"name": { +"description": "Output only. The unique identifier of this training phrase.", +"readOnly": true, +"type": "string" +}, +"parts": { +"description": "Required. The ordered list of training phrase parts. The parts are concatenated in order to form the training phrase. Note: The API does not automatically annotate training phrases like the Dialogflow Console does. Note: Do not forget to include whitespace at part boundaries, so the training phrase is well formatted when the parts are concatenated. If the training phrase does not need to be annotated with parameters, you just need a single part with only the Part.text field set. If you want to annotate the training phrase, you must create multiple parts, where the fields of each part are populated in one of two ways: - `Part.text` is set to a part of the phrase that has no parameters. - `Part.text` is set to a part of the phrase that you want to annotate, and the `entity_type`, `alias`, and `user_defined` fields are all set.", +"items": { +"$ref": "GoogleCloudDialogflowV2IntentTrainingPhrasePart" +}, +"type": "array" +}, +"timesAddedCount": { +"description": "Optional. Indicates how many times this example was added to the intent. Each time a developer adds an existing sample by editing an intent or training, this counter is increased.", +"format": "int32", +"type": "integer" +}, +"type": { +"description": "Required. The type of the training phrase.", +"enum": [ +"TYPE_UNSPECIFIED", +"EXAMPLE", +"TEMPLATE" +], +"enumDeprecated": [ +false, +false, +true +], +"enumDescriptions": [ +"Not specified. This value should never be used.", +"Examples do not contain @-prefixed entity type names, but example parts can be annotated with entity types.", +"Templates are not annotated with entity types, but they can contain @-prefixed entity type names as substrings. Template mode has been deprecated. Example mode is the only supported way to create new training phrases. If you have existing training phrases that you've created in template mode, those will continue to work." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2IntentTrainingPhrasePart": { +"description": "Represents a part of a training phrase.", +"id": "GoogleCloudDialogflowV2IntentTrainingPhrasePart", +"properties": { +"alias": { +"description": "Optional. The parameter name for the value extracted from the annotated part of the example. This field is required for annotated parts of the training phrase.", +"type": "string" +}, +"entityType": { +"description": "Optional. The entity type name prefixed with `@`. This field is required for annotated parts of the training phrase.", +"type": "string" +}, +"text": { +"description": "Required. The text for this part.", +"type": "string" +}, +"userDefined": { +"description": "Optional. Indicates whether the text was manually annotated. This field is set to true when the Dialogflow Console is used to manually annotate the part. When creating an annotated part with the API, you must set this to true.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2KnowledgeAssistAnswer": { +"description": "Represents a Knowledge Assist answer.", +"id": "GoogleCloudDialogflowV2KnowledgeAssistAnswer", +"properties": { +"answerRecord": { +"description": "The name of the answer record. Format: `projects//locations//answer Records/`.", +"type": "string" +}, +"suggestedQuery": { +"$ref": "GoogleCloudDialogflowV2KnowledgeAssistAnswerSuggestedQuery", +"description": "The query suggested based on the context. Suggestion is made only if it is different from the previous suggestion." +}, +"suggestedQueryAnswer": { +"$ref": "GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswer", +"description": "The answer generated for the suggested query. Whether or not an answer is generated depends on how confident we are about the generated query." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswer": { +"description": "Represents an answer from Knowledge. Currently supports FAQ and Generative answers.", +"id": "GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswer", +"properties": { +"answerText": { +"description": "The piece of text from the `source` that answers this suggested query.", +"type": "string" +}, +"faqSource": { +"$ref": "GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerFaqSource", +"description": "Populated if the prediction came from FAQ." +}, +"generativeSource": { +"$ref": "GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSource", +"description": "Populated if the prediction was Generative." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerFaqSource": { +"description": "Details about source of FAQ answer.", +"id": "GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerFaqSource", +"properties": { +"question": { +"description": "The corresponding FAQ question.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSource": { +"description": "Details about source of Generative answer.", +"id": "GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSource", +"properties": { +"snippets": { +"description": "All snippets used for this Generative Prediction, with their source URI and data.", +"items": { +"$ref": "GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet": { +"description": "Snippet Source for a Generative Prediction.", +"id": "GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet", +"properties": { +"metadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Metadata of the document.", +"type": "object" +}, +"text": { +"description": "Text taken from that URI.", +"type": "string" +}, +"title": { +"description": "Title of the document.", +"type": "string" +}, +"uri": { +"description": "URI the data is sourced from.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2KnowledgeAssistAnswerSuggestedQuery": { +"description": "Represents a suggested query.", +"id": "GoogleCloudDialogflowV2KnowledgeAssistAnswerSuggestedQuery", +"properties": { +"queryText": { +"description": "Suggested query text.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2KnowledgeOperationMetadata": { +"description": "Metadata in google::longrunning::Operation for Knowledge operations.", +"id": "GoogleCloudDialogflowV2KnowledgeOperationMetadata", +"properties": { +"exportOperationMetadata": { +"$ref": "GoogleCloudDialogflowV2ExportOperationMetadata", +"description": "Metadata for the Export Data Operation such as the destination of export." +}, +"knowledgeBase": { +"description": "The name of the knowledge base interacted with during the operation.", +"type": "string" +}, +"state": { +"description": "Output only. The current state of this operation.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"RUNNING", +"DONE" +], +"enumDescriptions": [ +"State unspecified.", +"The operation has been created.", +"The operation is currently running.", +"The operation is done, either cancelled or completed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2Message": { +"description": "Represents a message posted into a conversation.", +"id": "GoogleCloudDialogflowV2Message", +"properties": { +"content": { +"description": "Required. The message content.", +"type": "string" +}, +"createTime": { +"description": "Output only. The time when the message was created in Contact Center AI.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"languageCode": { +"description": "Optional. The message language. This should be a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. Example: \"en-US\".", +"type": "string" +}, +"messageAnnotation": { +"$ref": "GoogleCloudDialogflowV2MessageAnnotation", +"description": "Output only. The annotation for the message.", +"readOnly": true +}, +"name": { +"description": "Optional. The unique identifier of the message. Format: `projects//locations//conversations//messages/`.", +"type": "string" +}, +"participant": { +"description": "Output only. The participant that sends this message.", +"readOnly": true, +"type": "string" +}, +"participantRole": { +"description": "Output only. The role of the participant.", +"enum": [ +"ROLE_UNSPECIFIED", +"HUMAN_AGENT", +"AUTOMATED_AGENT", +"END_USER" +], +"enumDescriptions": [ +"Participant role not set.", +"Participant is a human agent.", +"Participant is an automated agent, such as a Dialogflow agent.", +"Participant is an end user that has called or chatted with Dialogflow services." +], +"readOnly": true, +"type": "string" +}, +"sendTime": { +"description": "Optional. The time when the message was sent.", +"format": "google-datetime", +"type": "string" +}, +"sentimentAnalysis": { +"$ref": "GoogleCloudDialogflowV2SentimentAnalysisResult", +"description": "Output only. The sentiment analysis result for the message.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2MessageAnnotation": { +"description": "Represents the result of annotation for the message.", +"id": "GoogleCloudDialogflowV2MessageAnnotation", +"properties": { +"containEntities": { +"description": "Indicates whether the text message contains entities.", +"type": "boolean" +}, +"parts": { +"description": "The collection of annotated message parts ordered by their position in the message. You can recover the annotated message by concatenating [AnnotatedMessagePart.text].", +"items": { +"$ref": "GoogleCloudDialogflowV2AnnotatedMessagePart" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2OriginalDetectIntentRequest": { +"description": "Represents the contents of the original request that was passed to the `[Streaming]DetectIntent` call.", +"id": "GoogleCloudDialogflowV2OriginalDetectIntentRequest", +"properties": { +"payload": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. This field is set to the value of the `QueryParameters.payload` field passed in the request. Some integrations that query a Dialogflow agent may provide additional information in the payload. In particular, for the Dialogflow Phone Gateway integration, this field has the form: { \"telephony\": { \"caller_id\": \"+18558363987\" } } Note: The caller ID field (`caller_id`) will be redacted for Trial Edition agents and populated with the caller ID in [E.164 format](https://en.wikipedia.org/wiki/E.164) for Essentials Edition agents.", +"type": "object" +}, +"source": { +"description": "The source of this request, e.g., `google`, `facebook`, `slack`. It is set by Dialogflow-owned servers.", +"type": "string" +}, +"version": { +"description": "Optional. The version of the protocol used for this request. This field is AoG-specific.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2QueryResult": { +"description": "Represents the result of conversational query or event processing.", +"id": "GoogleCloudDialogflowV2QueryResult", +"properties": { +"action": { +"description": "The action name from the matched intent.", +"type": "string" +}, +"allRequiredParamsPresent": { +"description": "This field is set to: - `false` if the matched intent has required parameters and not all of the required parameter values have been collected. - `true` if all required parameter values have been collected, or if the matched intent doesn't contain any required parameters.", +"type": "boolean" +}, +"cancelsSlotFilling": { +"description": "Indicates whether the conversational query triggers a cancellation for slot filling. For more information, see the [cancel slot filling documentation](https://cloud.google.com/dialogflow/es/docs/intents-actions-parameters#cancel).", +"type": "boolean" +}, +"diagnosticInfo": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Free-form diagnostic information for the associated detect intent request. The fields of this data can change without notice, so you should not write code that depends on its structure. The data may contain: - webhook call latency - webhook errors", +"type": "object" +}, +"fulfillmentMessages": { +"description": "The collection of rich messages to present to the user.", +"items": { +"$ref": "GoogleCloudDialogflowV2IntentMessage" +}, +"type": "array" +}, +"fulfillmentText": { +"description": "The text to be pronounced to the user or shown on the screen. Note: This is a legacy field, `fulfillment_messages` should be preferred.", +"type": "string" +}, +"intent": { +"$ref": "GoogleCloudDialogflowV2Intent", +"description": "The intent that matched the conversational query. Some, not all fields are filled in this message, including but not limited to: `name`, `display_name`, `end_interaction` and `is_fallback`." +}, +"intentDetectionConfidence": { +"description": "The intent detection confidence. Values range from 0.0 (completely uncertain) to 1.0 (completely certain). This value is for informational purpose only and is only used to help match the best intent within the classification threshold. This value may change for the same end-user expression at any time due to a model retraining or change in implementation. If there are `multiple knowledge_answers` messages, this value is set to the greatest `knowledgeAnswers.match_confidence` value in the list.", +"format": "float", +"type": "number" +}, +"languageCode": { +"description": "The language that was triggered during intent detection. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes.", +"type": "string" +}, +"outputContexts": { +"description": "The collection of output contexts. If applicable, `output_contexts.parameters` contains entries with name `.original` containing the original parameter values before the query.", +"items": { +"$ref": "GoogleCloudDialogflowV2Context" +}, +"type": "array" +}, +"parameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The collection of extracted parameters. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.", +"type": "object" +}, +"queryText": { +"description": "The original conversational query text: - If natural language text was provided as input, `query_text` contains a copy of the input. - If natural language speech audio was provided as input, `query_text` contains the speech recognition result. If speech recognizer produced multiple alternatives, a particular one is picked. - If automatic spell correction is enabled, `query_text` will contain the corrected user input.", +"type": "string" +}, +"sentimentAnalysisResult": { +"$ref": "GoogleCloudDialogflowV2SentimentAnalysisResult", +"description": "The sentiment analysis result, which depends on the `sentiment_analysis_request_config` specified in the request." +}, +"speechRecognitionConfidence": { +"description": "The Speech recognition confidence between 0.0 and 1.0. A higher number indicates an estimated greater likelihood that the recognized words are correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is not guaranteed to be accurate or set. In particular this field isn't set for StreamingDetectIntent since the streaming endpoint has separate confidence estimates per portion of the audio in StreamingRecognitionResult.", +"format": "float", +"type": "number" +}, +"webhookPayload": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "If the query was fulfilled by a webhook call, this field is set to the value of the `payload` field returned in the webhook response.", +"type": "object" +}, +"webhookSource": { +"description": "If the query was fulfilled by a webhook call, this field is set to the value of the `source` field returned in the webhook response.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2Sentiment": { +"description": "The sentiment, such as positive/negative feeling or association, for a unit of analysis, such as the query text. See: https://cloud.google.com/natural-language/docs/basics#interpreting_sentiment_analysis_values for how to interpret the result.", +"id": "GoogleCloudDialogflowV2Sentiment", +"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" +}, +"GoogleCloudDialogflowV2SentimentAnalysisResult": { +"description": "The result of sentiment analysis. Sentiment analysis inspects user input and identifies the prevailing subjective opinion, especially to determine a user's attitude as positive, negative, or neutral. For DetectIntent, it needs to be configured in DetectIntentRequest.query_params. For StreamingDetectIntent, it needs to be configured in StreamingDetectIntentRequest.query_params. And for Participants.AnalyzeContent and Participants.StreamingAnalyzeContent, it needs to be configured in ConversationProfile.human_agent_assistant_config", +"id": "GoogleCloudDialogflowV2SentimentAnalysisResult", +"properties": { +"queryTextSentiment": { +"$ref": "GoogleCloudDialogflowV2Sentiment", +"description": "The sentiment analysis result for `query_text`." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2SessionEntityType": { +"description": "A session represents a conversation between a Dialogflow agent and an end-user. You can create special entities, called session entities, during a session. Session entities can extend or replace custom entity types and only exist during the session that they were created for. All session data, including session entities, is stored by Dialogflow for 20 minutes. For more information, see the [session entity guide](https://cloud.google.com/dialogflow/docs/entities-session).", +"id": "GoogleCloudDialogflowV2SessionEntityType", +"properties": { +"entities": { +"description": "Required. The collection of entities associated with this session entity type.", +"items": { +"$ref": "GoogleCloudDialogflowV2EntityTypeEntity" +}, +"type": "array" +}, +"entityOverrideMode": { +"description": "Required. Indicates whether the additional data should override or supplement the custom entity type definition.", +"enum": [ +"ENTITY_OVERRIDE_MODE_UNSPECIFIED", +"ENTITY_OVERRIDE_MODE_OVERRIDE", +"ENTITY_OVERRIDE_MODE_SUPPLEMENT" +], +"enumDescriptions": [ +"Not specified. This value should be never used.", +"The collection of session entities overrides the collection of entities in the corresponding custom entity type.", +"The collection of session entities extends the collection of entities in the corresponding custom entity type. Note: Even in this override mode calls to `ListSessionEntityTypes`, `GetSessionEntityType`, `CreateSessionEntityType` and `UpdateSessionEntityType` only return the additional entities added in this session entity type. If you want to get the supplemented list, please call EntityTypes.GetEntityType on the custom entity type and merge." +], +"type": "string" +}, +"name": { +"description": "Required. The unique identifier of this session entity type. Format: `projects//agent/sessions//entityTypes/`, or `projects//agent/environments//users//sessions//entityTypes/`. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. `` must be the display name of an existing entity type in the same agent that will be overridden or supplemented.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2SetSuggestionFeatureConfigOperationMetadata": { +"description": "Metadata for a ConversationProfiles.SetSuggestionFeatureConfig operation.", +"id": "GoogleCloudDialogflowV2SetSuggestionFeatureConfigOperationMetadata", +"properties": { +"conversationProfile": { +"description": "The resource name of the conversation profile. Format: `projects//locations//conversationProfiles/`", +"type": "string" +}, +"createTime": { +"description": "Timestamp whe the request was created. The time is measured on server side.", +"format": "google-datetime", +"type": "string" +}, +"participantRole": { +"description": "Required. The participant role to add or update the suggestion feature config. Only HUMAN_AGENT or END_USER can be used.", +"enum": [ +"ROLE_UNSPECIFIED", +"HUMAN_AGENT", +"AUTOMATED_AGENT", +"END_USER" +], +"enumDescriptions": [ +"Participant role not set.", +"Participant is a human agent.", +"Participant is an automated agent, such as a Dialogflow agent.", +"Participant is an end user that has called or chatted with Dialogflow services." +], +"type": "string" +}, +"suggestionFeatureType": { +"description": "Required. The type of the suggestion feature to add or update.", +"enum": [ +"TYPE_UNSPECIFIED", +"ARTICLE_SUGGESTION", +"FAQ", +"SMART_REPLY", +"KNOWLEDGE_SEARCH", +"KNOWLEDGE_ASSIST" +], +"enumDescriptions": [ +"Unspecified feature type.", +"Run article suggestion model for chat.", +"Run FAQ model for chat.", +"Run smart reply model for chat.", +"Run knowledge search with text input from agent or text generated query.", +"Run knowledge assist with automatic query generation." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2SmartReplyAnswer": { +"description": "Represents a smart reply answer.", +"id": "GoogleCloudDialogflowV2SmartReplyAnswer", +"properties": { +"answerRecord": { +"description": "The name of answer record, in the format of \"projects//locations//answerRecords/\"", +"type": "string" +}, +"confidence": { +"description": "Smart reply confidence. The system's confidence score that this reply is a good match for this conversation, as a value from 0.0 (completely uncertain) to 1.0 (completely certain).", +"format": "float", +"type": "number" +}, +"reply": { +"description": "The content of the reply.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2SmartReplyModelMetadata": { +"description": "Metadata for smart reply models.", +"id": "GoogleCloudDialogflowV2SmartReplyModelMetadata", +"properties": { +"trainingModelType": { +"description": "Optional. Type of the smart reply model. If not provided, model_type is used.", +"enum": [ +"MODEL_TYPE_UNSPECIFIED", +"SMART_REPLY_DUAL_ENCODER_MODEL", +"SMART_REPLY_BERT_MODEL" +], +"enumDescriptions": [ +"ModelType unspecified.", +"ModelType smart reply dual encoder model.", +"ModelType smart reply bert model." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2SpeechWordInfo": { +"description": "Information for a word recognized by the speech recognizer.", +"id": "GoogleCloudDialogflowV2SpeechWordInfo", +"properties": { +"confidence": { +"description": "The Speech confidence between 0.0 and 1.0 for this word. A higher number indicates an estimated greater likelihood that the recognized word is correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is not guaranteed to be fully stable over time for the same audio input. Users should also not rely on it to always be provided.", +"format": "float", +"type": "number" +}, +"endOffset": { +"description": "Time offset relative to the beginning of the audio that corresponds to the end of the spoken word. This is an experimental feature and the accuracy of the time offset can vary.", +"format": "google-duration", +"type": "string" +}, +"startOffset": { +"description": "Time offset relative to the beginning of the audio that corresponds to the start of the spoken word. This is an experimental feature and the accuracy of the time offset can vary.", +"format": "google-duration", +"type": "string" +}, +"word": { +"description": "The word this info is for.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2StreamingRecognitionResult": { +"description": "Contains a speech recognition result corresponding to a portion of the audio that is currently being processed or an indication that this is the end of the single requested utterance. While end-user audio is being processed, Dialogflow sends a series of results. Each result may contain a `transcript` value. A transcript represents a portion of the utterance. While the recognizer is processing audio, transcript values may be interim values or finalized values. Once a transcript is finalized, the `is_final` value is set to true and processing continues for the next transcript. If `StreamingDetectIntentRequest.query_input.audio_config.single_utterance` was true, and the recognizer has completed processing audio, the `message_type` value is set to `END_OF_SINGLE_UTTERANCE and the following (last) result contains the last finalized transcript. The complete end-user utterance is determined by concatenating the finalized transcript values received for the series of results. In the following example, single utterance is enabled. In the case where single utterance is not enabled, result 7 would not occur. ``` Num | transcript | message_type | is_final --- | ----------------------- | ----------------------- | -------- 1 | \"tube\" | TRANSCRIPT | false 2 | \"to be a\" | TRANSCRIPT | false 3 | \"to be\" | TRANSCRIPT | false 4 | \"to be or not to be\" | TRANSCRIPT | true 5 | \"that's\" | TRANSCRIPT | false 6 | \"that is | TRANSCRIPT | false 7 | unset | END_OF_SINGLE_UTTERANCE | unset 8 | \" that is the question\" | TRANSCRIPT | true ``` Concatenating the finalized transcripts with `is_final` set to true, the complete utterance becomes \"to be or not to be that is the question\".", +"id": "GoogleCloudDialogflowV2StreamingRecognitionResult", +"properties": { +"confidence": { +"description": "The Speech confidence between 0.0 and 1.0 for the current portion of audio. A higher number indicates an estimated greater likelihood that the recognized words are correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is typically only provided if `is_final` is true and you should not rely on it being accurate or even set.", +"format": "float", +"type": "number" +}, +"isFinal": { +"description": "If `false`, the `StreamingRecognitionResult` represents an interim result that may change. If `true`, the recognizer will not return any further hypotheses about this piece of the audio. May only be populated for `message_type` = `TRANSCRIPT`.", +"type": "boolean" +}, +"languageCode": { +"description": "Detected language code for the transcript.", +"type": "string" +}, +"messageType": { +"description": "Type of the result message.", +"enum": [ +"MESSAGE_TYPE_UNSPECIFIED", +"TRANSCRIPT", +"END_OF_SINGLE_UTTERANCE" +], +"enumDescriptions": [ +"Not specified. Should never be used.", +"Message contains a (possibly partial) transcript.", +"This event indicates that the server has detected the end of the user's speech utterance and expects no additional inputs. Therefore, the server will not process additional audio (although it may subsequently return additional results). The client should stop sending additional audio data, half-close the gRPC connection, and wait for any additional results until the server closes the gRPC connection. This message is only sent if `single_utterance` was set to `true`, and is not used otherwise." +], +"type": "string" +}, +"speechEndOffset": { +"description": "Time offset of the end of this Speech recognition result relative to the beginning of the audio. Only populated for `message_type` = `TRANSCRIPT`.", +"format": "google-duration", +"type": "string" +}, +"speechWordInfo": { +"description": "Word-specific information for the words recognized by Speech in transcript. Populated if and only if `message_type` = `TRANSCRIPT` and [InputAudioConfig.enable_word_info] is set.", +"items": { +"$ref": "GoogleCloudDialogflowV2SpeechWordInfo" +}, +"type": "array" +}, +"transcript": { +"description": "Transcript text representing the words that the user spoke. Populated if and only if `message_type` = `TRANSCRIPT`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2SuggestArticlesResponse": { +"description": "The response message for Participants.SuggestArticles.", +"id": "GoogleCloudDialogflowV2SuggestArticlesResponse", +"properties": { +"articleAnswers": { +"description": "Articles ordered by score in descending order.", +"items": { +"$ref": "GoogleCloudDialogflowV2ArticleAnswer" +}, +"type": "array" +}, +"contextSize": { +"description": "Number of messages prior to and including latest_message to compile the suggestion. It may be smaller than the SuggestArticlesRequest.context_size field in the request if there aren't that many messages in the conversation.", +"format": "int32", +"type": "integer" +}, +"latestMessage": { +"description": "The name of the latest conversation message used to compile suggestion for. Format: `projects//locations//conversations//messages/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2SuggestFaqAnswersResponse": { +"description": "The request message for Participants.SuggestFaqAnswers.", +"id": "GoogleCloudDialogflowV2SuggestFaqAnswersResponse", +"properties": { +"contextSize": { +"description": "Number of messages prior to and including latest_message to compile the suggestion. It may be smaller than the SuggestFaqAnswersRequest.context_size field in the request if there aren't that many messages in the conversation.", +"format": "int32", +"type": "integer" +}, +"faqAnswers": { +"description": "Answers extracted from FAQ documents.", +"items": { +"$ref": "GoogleCloudDialogflowV2FaqAnswer" +}, +"type": "array" +}, +"latestMessage": { +"description": "The name of the latest conversation message used to compile suggestion for. Format: `projects//locations//conversations//messages/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2SuggestKnowledgeAssistResponse": { +"description": "The response message for Participants.SuggestKnowledgeAssist.", +"id": "GoogleCloudDialogflowV2SuggestKnowledgeAssistResponse", +"properties": { +"contextSize": { +"description": "Number of messages prior to and including latest_message to compile the suggestion. It may be smaller than the SuggestKnowledgeAssistRequest.context_size field in the request if there are fewer messages in the conversation.", +"format": "int32", +"type": "integer" +}, +"knowledgeAssistAnswer": { +"$ref": "GoogleCloudDialogflowV2KnowledgeAssistAnswer", +"description": "Output only. Knowledge Assist suggestion.", +"readOnly": true +}, +"latestMessage": { +"description": "The name of the latest conversation message used to compile suggestion for. Format: `projects//locations//conversations//messages/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2SuggestSmartRepliesResponse": { +"description": "The response message for Participants.SuggestSmartReplies.", +"id": "GoogleCloudDialogflowV2SuggestSmartRepliesResponse", +"properties": { +"contextSize": { +"description": "Number of messages prior to and including latest_message to compile the suggestion. It may be smaller than the SuggestSmartRepliesRequest.context_size field in the request if there aren't that many messages in the conversation.", +"format": "int32", +"type": "integer" +}, +"latestMessage": { +"description": "The name of the latest conversation message used to compile suggestion for. Format: `projects//locations//conversations//messages/`.", +"type": "string" +}, +"smartReplyAnswers": { +"description": "Output only. Multiple reply options provided by smart reply service. The order is based on the rank of the model prediction. The maximum number of the returned replies is set in SmartReplyConfig.", +"items": { +"$ref": "GoogleCloudDialogflowV2SmartReplyAnswer" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2SuggestionResult": { +"description": "One response of different type of suggestion response which is used in the response of Participants.AnalyzeContent and Participants.AnalyzeContent, as well as HumanAgentAssistantEvent.", +"id": "GoogleCloudDialogflowV2SuggestionResult", +"properties": { +"error": { +"$ref": "GoogleRpcStatus", +"description": "Error status if the request failed." +}, +"suggestArticlesResponse": { +"$ref": "GoogleCloudDialogflowV2SuggestArticlesResponse", +"description": "SuggestArticlesResponse if request is for ARTICLE_SUGGESTION." +}, +"suggestFaqAnswersResponse": { +"$ref": "GoogleCloudDialogflowV2SuggestFaqAnswersResponse", +"description": "SuggestFaqAnswersResponse if request is for FAQ_ANSWER." +}, +"suggestKnowledgeAssistResponse": { +"$ref": "GoogleCloudDialogflowV2SuggestKnowledgeAssistResponse", +"description": "SuggestKnowledgeAssistResponse if request is for KNOWLEDGE_ASSIST." +}, +"suggestSmartRepliesResponse": { +"$ref": "GoogleCloudDialogflowV2SuggestSmartRepliesResponse", +"description": "SuggestSmartRepliesResponse if request is for SMART_REPLY." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2UndeployConversationModelOperationMetadata": { +"description": "Metadata for a ConversationModels.UndeployConversationModel operation.", +"id": "GoogleCloudDialogflowV2UndeployConversationModelOperationMetadata", +"properties": { +"conversationModel": { +"description": "The resource name of the conversation model. Format: `projects//conversationModels/`", +"type": "string" +}, +"createTime": { +"description": "Timestamp when the request to undeploy conversation model was submitted. The time is measured on server side.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2WebhookRequest": { +"description": "The request message for a webhook call.", +"id": "GoogleCloudDialogflowV2WebhookRequest", +"properties": { +"originalDetectIntentRequest": { +"$ref": "GoogleCloudDialogflowV2OriginalDetectIntentRequest", +"description": "Optional. The contents of the original request that was passed to `[Streaming]DetectIntent` call." +}, +"queryResult": { +"$ref": "GoogleCloudDialogflowV2QueryResult", +"description": "The result of the conversational query or event processing. Contains the same value as `[Streaming]DetectIntentResponse.query_result`." +}, +"responseId": { +"description": "The unique identifier of the response. Contains the same value as `[Streaming]DetectIntentResponse.response_id`.", +"type": "string" +}, +"session": { +"description": "The unique identifier of detectIntent request session. Can be used to identify end-user inside webhook implementation. Format: `projects//agent/sessions/`, or `projects//agent/environments//users//sessions/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2WebhookResponse": { +"description": "The response message for a webhook call. This response is validated by the Dialogflow server. If validation fails, an error will be returned in the QueryResult.diagnostic_info field. Setting JSON fields to an empty value with the wrong type is a common error. To avoid this error: - Use `\"\"` for empty strings - Use `{}` or `null` for empty objects - Use `[]` or `null` for empty arrays For more information, see the [Protocol Buffers Language Guide](https://developers.google.com/protocol-buffers/docs/proto3#json).", +"id": "GoogleCloudDialogflowV2WebhookResponse", +"properties": { +"followupEventInput": { +"$ref": "GoogleCloudDialogflowV2EventInput", +"description": "Optional. Invokes the supplied events. When this field is set, Dialogflow ignores the `fulfillment_text`, `fulfillment_messages`, and `payload` fields." +}, +"fulfillmentMessages": { +"description": "Optional. The rich response messages intended for the end-user. When provided, Dialogflow uses this field to populate QueryResult.fulfillment_messages sent to the integration or API caller.", +"items": { +"$ref": "GoogleCloudDialogflowV2IntentMessage" +}, +"type": "array" +}, +"fulfillmentText": { +"description": "Optional. The text response message intended for the end-user. It is recommended to use `fulfillment_messages.text.text[0]` instead. When provided, Dialogflow uses this field to populate QueryResult.fulfillment_text sent to the integration or API caller.", +"type": "string" +}, +"outputContexts": { +"description": "Optional. The collection of output contexts that will overwrite currently active contexts for the session and reset their lifespans. When provided, Dialogflow uses this field to populate QueryResult.output_contexts sent to the integration or API caller.", +"items": { +"$ref": "GoogleCloudDialogflowV2Context" +}, +"type": "array" +}, +"payload": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. This field can be used to pass custom data from your webhook to the integration or API caller. Arbitrary JSON objects are supported. When provided, Dialogflow uses this field to populate QueryResult.webhook_payload sent to the integration or API caller. This field is also used by the [Google Assistant integration](https://cloud.google.com/dialogflow/docs/integrations/aog) for rich response messages. See the format definition at [Google Assistant Dialogflow webhook format](https://developers.google.com/assistant/actions/build/json/dialogflow-webhook-json)", +"type": "object" +}, +"sessionEntityTypes": { +"description": "Optional. Additional session entity types to replace or extend developer entity types with. The entity synonyms apply to all languages and persist for the session. Setting this data from a webhook overwrites the session entity types that have been set using `detectIntent`, `streamingDetectIntent` or SessionEntityType management methods.", +"items": { +"$ref": "GoogleCloudDialogflowV2SessionEntityType" +}, +"type": "array" +}, +"source": { +"description": "Optional. A custom field used to identify the webhook source. Arbitrary strings are supported. When provided, Dialogflow uses this field to populate QueryResult.webhook_source sent to the integration or API caller.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1AnnotatedMessagePart": { +"description": "Represents a part of a message possibly annotated with an entity. The part can be an entity or purely a part of the message between two entities or message start/end.", +"id": "GoogleCloudDialogflowV2beta1AnnotatedMessagePart", +"properties": { +"entityType": { +"description": "Optional. The [Dialogflow system entity type](https://cloud.google.com/dialogflow/docs/reference/system-entities) of this message part. If this is empty, Dialogflow could not annotate the phrase part with a system entity.", +"type": "string" +}, +"formattedValue": { +"description": "Optional. The [Dialogflow system entity formatted value ](https://cloud.google.com/dialogflow/docs/reference/system-entities) of this message part. For example for a system entity of type `@sys.unit-currency`, this may contain: { \"amount\": 5, \"currency\": \"USD\" } ", +"type": "any" +}, +"text": { +"description": "Required. A part of a message possibly annotated with an entity.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1ArticleAnswer": { +"description": "Represents article answer.", +"id": "GoogleCloudDialogflowV2beta1ArticleAnswer", +"properties": { +"answerRecord": { +"description": "The name of answer record, in the format of \"projects//locations//answerRecords/\"", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "A map that contains metadata about the answer and the document from which it originates.", +"type": "object" +}, +"snippets": { +"description": "Output only. Article snippets.", +"items": { +"type": "string" +}, +"type": "array" +}, +"title": { +"description": "The article title.", +"type": "string" +}, +"uri": { +"description": "The article URI.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1BatchUpdateEntityTypesResponse": { +"description": "The response message for EntityTypes.BatchUpdateEntityTypes.", +"id": "GoogleCloudDialogflowV2beta1BatchUpdateEntityTypesResponse", +"properties": { +"entityTypes": { +"description": "The collection of updated or created entity types.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1EntityType" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1BatchUpdateIntentsResponse": { +"description": "The response message for Intents.BatchUpdateIntents.", +"id": "GoogleCloudDialogflowV2beta1BatchUpdateIntentsResponse", +"properties": { +"intents": { +"description": "The collection of updated or created intents.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1Intent" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1ClearSuggestionFeatureConfigOperationMetadata": { +"description": "Metadata for a ConversationProfile.ClearSuggestionFeatureConfig operation.", +"id": "GoogleCloudDialogflowV2beta1ClearSuggestionFeatureConfigOperationMetadata", +"properties": { +"conversationProfile": { +"description": "The resource name of the conversation profile. Format: `projects//locations//conversationProfiles/`", +"type": "string" +}, +"createTime": { +"description": "Timestamp whe the request was created. The time is measured on server side.", +"format": "google-datetime", +"type": "string" +}, +"participantRole": { +"description": "Required. The participant role to remove the suggestion feature config. Only HUMAN_AGENT or END_USER can be used.", +"enum": [ +"ROLE_UNSPECIFIED", +"HUMAN_AGENT", +"AUTOMATED_AGENT", +"END_USER" +], +"enumDescriptions": [ +"Participant role not set.", +"Participant is a human agent.", +"Participant is an automated agent, such as a Dialogflow agent.", +"Participant is an end user that has called or chatted with Dialogflow services." +], +"type": "string" +}, +"suggestionFeatureType": { +"description": "Required. The type of the suggestion feature to remove.", +"enum": [ +"TYPE_UNSPECIFIED", +"ARTICLE_SUGGESTION", +"FAQ", +"SMART_REPLY", +"DIALOGFLOW_ASSIST", +"CONVERSATION_SUMMARIZATION", +"KNOWLEDGE_SEARCH", +"KNOWLEDGE_ASSIST" +], +"enumDescriptions": [ +"Unspecified feature type.", +"Run article suggestion model for chat.", +"Run FAQ model.", +"Run smart reply model for chat.", +"Run Dialogflow assist model for chat, which will return automated agent response as suggestion.", +"Run conversation summarization model for chat.", +"Run knowledge search with text input from agent or text generated query.", +"Run knowledge assist with automatic query generation." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1Context": { +"description": "Dialogflow contexts are similar to natural language context. If a person says to you \"they are orange\", you need context in order to understand what \"they\" is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).", +"id": "GoogleCloudDialogflowV2beta1Context", +"properties": { +"lifespanCount": { +"description": "Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "Required. The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size`", +"type": "string" +}, +"parameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1ConversationEvent": { +"description": "Represents a notification sent to Pub/Sub subscribers for conversation lifecycle events.", +"id": "GoogleCloudDialogflowV2beta1ConversationEvent", +"properties": { +"conversation": { +"description": "Required. The unique identifier of the conversation this notification refers to. Format: `projects//conversations/`.", +"type": "string" +}, +"errorStatus": { +"$ref": "GoogleRpcStatus", +"description": "Optional. More detailed information about an error. Only set for type UNRECOVERABLE_ERROR_IN_PHONE_CALL." +}, +"newMessagePayload": { +"$ref": "GoogleCloudDialogflowV2beta1Message", +"description": "Payload of NEW_MESSAGE event." +}, +"newRecognitionResultPayload": { +"$ref": "GoogleCloudDialogflowV2beta1StreamingRecognitionResult", +"description": "Payload of NEW_RECOGNITION_RESULT event." +}, +"type": { +"description": "Required. The type of the event that this notification refers to.", +"enum": [ +"TYPE_UNSPECIFIED", +"CONVERSATION_STARTED", +"CONVERSATION_FINISHED", +"HUMAN_INTERVENTION_NEEDED", +"NEW_MESSAGE", +"NEW_RECOGNITION_RESULT", +"UNRECOVERABLE_ERROR" +], +"enumDescriptions": [ +"Type not set.", +"A new conversation has been opened. This is fired when a telephone call is answered, or a conversation is created via the API.", +"An existing conversation has closed. This is fired when a telephone call is terminated, or a conversation is closed via the API.", +"An existing conversation has received notification from Dialogflow that human intervention is required.", +"An existing conversation has received a new message, either from API or telephony. It is configured in ConversationProfile.new_message_event_notification_config", +"An existing conversation has received a new speech recognition result. This is mainly for delivering intermediate transcripts. The notification is configured in ConversationProfile.new_recognition_event_notification_config.", +"Unrecoverable error during a telephone call. In general non-recoverable errors only occur if something was misconfigured in the ConversationProfile corresponding to the call. After a non-recoverable error, Dialogflow may stop responding. We don't fire this event: * in an API call because we can directly return the error, or, * when we can recover from an error." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1DialogflowAssistAnswer": { +"description": "Represents a Dialogflow assist answer.", +"id": "GoogleCloudDialogflowV2beta1DialogflowAssistAnswer", +"properties": { +"answerRecord": { +"description": "The name of answer record, in the format of \"projects//locations//answerRecords/\"", +"type": "string" +}, +"intentSuggestion": { +"$ref": "GoogleCloudDialogflowV2beta1IntentSuggestion", +"description": "An intent suggestion generated from conversation." +}, +"queryResult": { +"$ref": "GoogleCloudDialogflowV2beta1QueryResult", +"description": "Result from v2 agent." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1EncryptionSpec": { +"description": "A customer-managed encryption key specification that can be applied to all created resources (e.g. Conversation).", +"id": "GoogleCloudDialogflowV2beta1EncryptionSpec", +"properties": { +"kmsKey": { +"description": "Required. The name of customer-managed encryption key that is used to secure a resource and its sub-resources. If empty, the resource is secured by the default Google encryption key. Only the key in the same location as this resource is allowed to be used for encryption. Format: `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{key}`", +"type": "string" +}, +"name": { +"description": "Immutable. The resource name of the encryption key specification resource. Format: projects/{project}/locations/{location}/encryptionSpec", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1EntityType": { +"description": "Each intent parameter has a type, called the entity type, which dictates exactly how data from an end-user expression is extracted. Dialogflow provides predefined system entities that can match many common types of data. For example, there are system entities for matching dates, times, colors, email addresses, and so on. You can also create your own custom entities for matching custom data. For example, you could define a vegetable entity that can match the types of vegetables available for purchase with a grocery store agent. For more information, see the [Entity guide](https://cloud.google.com/dialogflow/docs/entities-overview).", +"id": "GoogleCloudDialogflowV2beta1EntityType", +"properties": { +"autoExpansionMode": { +"description": "Optional. Indicates whether the entity type can be automatically expanded.", +"enum": [ +"AUTO_EXPANSION_MODE_UNSPECIFIED", +"AUTO_EXPANSION_MODE_DEFAULT" +], +"enumDescriptions": [ +"Auto expansion disabled for the entity.", +"Allows an agent to recognize values that have not been explicitly listed in the entity." +], +"type": "string" +}, +"displayName": { +"description": "Required. The name of the entity type.", +"type": "string" +}, +"enableFuzzyExtraction": { +"description": "Optional. Enables fuzzy entity extraction during classification.", +"type": "boolean" +}, +"entities": { +"description": "Optional. The collection of entity entries associated with the entity type.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1EntityTypeEntity" +}, +"type": "array" +}, +"kind": { +"description": "Required. Indicates the kind of entity type.", +"enum": [ +"KIND_UNSPECIFIED", +"KIND_MAP", +"KIND_LIST", +"KIND_REGEXP" +], +"enumDescriptions": [ +"Not specified. This value should be never used.", +"Map entity types allow mapping of a group of synonyms to a reference value.", +"List entity types contain a set of entries that do not map to reference values. However, list entity types can contain references to other entity types (with or without aliases).", +"Regexp entity types allow to specify regular expressions in entries values." +], +"type": "string" +}, +"name": { +"description": "The unique identifier of the entity type. Required for EntityTypes.UpdateEntityType and EntityTypes.BatchUpdateEntityTypes methods. Supported formats: - `projects//agent/entityTypes/` - `projects//locations//agent/entityTypes/`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1EntityTypeEntity": { +"description": "An **entity entry** for an associated entity type.", +"id": "GoogleCloudDialogflowV2beta1EntityTypeEntity", +"properties": { +"synonyms": { +"description": "Required. A collection of value synonyms. For example, if the entity type is *vegetable*, and `value` is *scallions*, a synonym could be *green onions*. For `KIND_LIST` entity types: * This collection must contain exactly one synonym equal to `value`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"value": { +"description": "Required. The primary value associated with this entity entry. For example, if the entity type is *vegetable*, the value could be *scallions*. For `KIND_MAP` entity types: * A reference value to be used in place of synonyms. For `KIND_LIST` entity types: * A string that can contain references to other entity types (with or without aliases).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1EventInput": { +"description": "Events allow for matching intents by event name instead of the natural language input. For instance, input `` can trigger a personalized welcome response. The parameter `name` may be used by the agent in the response: `\"Hello #welcome_event.name! What can I do for you today?\"`.", +"id": "GoogleCloudDialogflowV2beta1EventInput", +"properties": { +"languageCode": { +"description": "Required. The language of this query. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes. Note that queries in the same session do not necessarily need to specify the same language. This field is ignored when used in the context of a WebhookResponse.followup_event_input field, because the language was already defined in the originating detect intent request.", +"type": "string" +}, +"name": { +"description": "Required. The unique identifier of the event.", +"type": "string" +}, +"parameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The collection of parameters associated with the event. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1ExportAgentResponse": { +"description": "The response message for Agents.ExportAgent.", +"id": "GoogleCloudDialogflowV2beta1ExportAgentResponse", +"properties": { +"agentContent": { +"description": "Zip compressed raw byte content for agent.", +"format": "byte", +"type": "string" +}, +"agentUri": { +"description": "The URI to a file containing the exported agent. This field is populated only if `agent_uri` is specified in `ExportAgentRequest`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1ExportOperationMetadata": { +"description": "Metadata related to the Export Data Operations (e.g. ExportDocument).", +"id": "GoogleCloudDialogflowV2beta1ExportOperationMetadata", +"properties": { +"exportedGcsDestination": { +"$ref": "GoogleCloudDialogflowV2beta1GcsDestination", +"description": "Cloud Storage file path of the exported data." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1FaqAnswer": { +"description": "Represents answer from \"frequently asked questions\".", +"id": "GoogleCloudDialogflowV2beta1FaqAnswer", +"properties": { +"answer": { +"description": "The piece of text from the `source` knowledge base document.", +"type": "string" +}, +"answerRecord": { +"description": "The name of answer record, in the format of \"projects//locations//answerRecords/\"", +"type": "string" +}, +"confidence": { +"description": "The system's confidence score that this Knowledge answer is a good match for this conversational query, range from 0.0 (completely uncertain) to 1.0 (completely certain).", +"format": "float", +"type": "number" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "A map that contains metadata about the answer and the document from which it originates.", +"type": "object" +}, +"question": { +"description": "The corresponding FAQ question.", +"type": "string" +}, +"source": { +"description": "Indicates which Knowledge Document this answer was extracted from. Format: `projects//locations//agent/knowledgeBases//documents/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1GcsDestination": { +"description": "Google Cloud Storage location for the output.", +"id": "GoogleCloudDialogflowV2beta1GcsDestination", +"properties": { +"uri": { +"description": "Required. The Google Cloud Storage URIs for the output. A URI is of the form: `gs://bucket/object-prefix-or-name` Whether a prefix or name is used depends on the use case. The requesting user must have \"write-permission\" to the bucket.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1HumanAgentAssistantEvent": { +"description": "Output only. Represents a notification sent to Pub/Sub subscribers for agent assistant events in a specific conversation.", +"id": "GoogleCloudDialogflowV2beta1HumanAgentAssistantEvent", +"properties": { +"conversation": { +"description": "The conversation this notification refers to. Format: `projects//conversations/`.", +"type": "string" +}, +"participant": { +"description": "The participant that the suggestion is compiled for. And This field is used to call Participants.ListSuggestions API. Format: `projects//conversations//participants/`. It will not be set in legacy workflow. HumanAgentAssistantConfig.name for more information.", +"type": "string" +}, +"suggestionResults": { +"description": "The suggestion results payload that this notification refers to. It will only be set when HumanAgentAssistantConfig.SuggestionConfig.group_suggestion_responses sets to true.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1SuggestionResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1ImportDocumentsResponse": { +"description": "Response message for Documents.ImportDocuments.", +"id": "GoogleCloudDialogflowV2beta1ImportDocumentsResponse", +"properties": { +"warnings": { +"description": "Includes details about skipped documents or any other warnings.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1InitializeEncryptionSpecMetadata": { +"description": "Metadata for initializing a location-level encryption specification.", +"id": "GoogleCloudDialogflowV2beta1InitializeEncryptionSpecMetadata", +"properties": { +"request": { +"$ref": "GoogleCloudDialogflowV2beta1InitializeEncryptionSpecRequest", +"description": "Output only. The original request for initialization.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1InitializeEncryptionSpecRequest": { +"description": "The request to initialize a location-level encryption specification.", +"id": "GoogleCloudDialogflowV2beta1InitializeEncryptionSpecRequest", +"properties": { +"encryptionSpec": { +"$ref": "GoogleCloudDialogflowV2beta1EncryptionSpec", +"description": "Required. The encryption spec used for CMEK encryption. It is required that the kms key is in the same region as the endpoint. The same key will be used for all provisioned resources, if encryption is available. If the kms_key_name is left empty, no encryption will be enforced." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1Intent": { +"description": "An intent categorizes an end-user's intention for one conversation turn. For each agent, you define many intents, where your combined intents can handle a complete conversation. When an end-user writes or says something, referred to as an end-user expression or end-user input, Dialogflow matches the end-user input to the best intent in your agent. Matching an intent is also known as intent classification. For more information, see the [intent guide](https://cloud.google.com/dialogflow/docs/intents-overview).", +"id": "GoogleCloudDialogflowV2beta1Intent", +"properties": { +"action": { +"description": "Optional. The name of the action associated with the intent. Note: The action name must not contain whitespaces.", +"type": "string" +}, +"defaultResponsePlatforms": { +"description": "Optional. The list of platforms for which the first responses will be copied from the messages in PLATFORM_UNSPECIFIED (i.e. default platform).", +"items": { +"enum": [ +"PLATFORM_UNSPECIFIED", +"FACEBOOK", +"SLACK", +"TELEGRAM", +"KIK", +"SKYPE", +"LINE", +"VIBER", +"ACTIONS_ON_GOOGLE", +"TELEPHONY", +"GOOGLE_HANGOUTS" +], +"enumDescriptions": [ +"Not specified.", +"Facebook.", +"Slack.", +"Telegram.", +"Kik.", +"Skype.", +"Line.", +"Viber.", +"Google Assistant See [Dialogflow webhook format](https://developers.google.com/assistant/actions/build/json/dialogflow-webhook-json)", +"Telephony Gateway.", +"Google Hangouts." +], +"type": "string" +}, +"type": "array" +}, +"displayName": { +"description": "Required. The name of this intent.", +"type": "string" +}, +"endInteraction": { +"description": "Optional. Indicates that this intent ends an interaction. Some integrations (e.g., Actions on Google or Dialogflow phone gateway) use this information to close interaction with an end user. Default is false.", +"type": "boolean" +}, +"events": { +"description": "Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.", +"items": { +"type": "string" +}, +"type": "array" +}, +"followupIntentInfo": { +"description": "Output only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1IntentFollowupIntentInfo" +}, +"readOnly": true, +"type": "array" +}, +"inputContextNames": { +"description": "Optional. The list of context names required for this intent to be triggered. Formats: - `projects//agent/sessions/-/contexts/` - `projects//locations//agent/sessions/-/contexts/`", +"items": { +"type": "string" +}, +"type": "array" +}, +"isFallback": { +"description": "Optional. Indicates whether this is a fallback intent.", +"type": "boolean" +}, +"liveAgentHandoff": { +"description": "Optional. Indicates that a live agent should be brought in to handle the interaction with the user. In most cases, when you set this flag to true, you would also want to set end_interaction to true as well. Default is false.", +"type": "boolean" +}, +"messages": { +"description": "Optional. The collection of rich messages corresponding to the `Response` field in the Dialogflow console.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessage" +}, +"type": "array" +}, +"mlDisabled": { +"description": "Optional. Indicates whether Machine Learning is disabled for the intent. Note: If `ml_disabled` setting is set to true, then this intent is not taken into account during inference in `ML ONLY` match mode. Also, auto-markup in the UI is turned off.", +"type": "boolean" +}, +"mlEnabled": { +"deprecated": true, +"description": "Optional. Indicates whether Machine Learning is enabled for the intent. Note: If `ml_enabled` setting is set to false, then this intent is not taken into account during inference in `ML ONLY` match mode. Also, auto-markup in the UI is turned off. DEPRECATED! Please use `ml_disabled` field instead. NOTE: If both `ml_enabled` and `ml_disabled` are either not set or false, then the default value is determined as follows: - Before April 15th, 2018 the default is: ml_enabled = false / ml_disabled = true. - After April 15th, 2018 the default is: ml_enabled = true / ml_disabled = false.", +"type": "boolean" +}, +"name": { +"description": "Optional. The unique identifier of this intent. Required for Intents.UpdateIntent and Intents.BatchUpdateIntents methods. Supported formats: - `projects//agent/intents/` - `projects//locations//agent/intents/`", +"type": "string" +}, +"outputContexts": { +"description": "Optional. The collection of contexts that are activated when the intent is matched. Context messages in this collection should not set the parameters field. Setting the `lifespan_count` to 0 will reset the context when the intent is matched. Format: `projects//agent/sessions/-/contexts/`.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1Context" +}, +"type": "array" +}, +"parameters": { +"description": "Optional. The collection of parameters associated with the intent.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1IntentParameter" +}, +"type": "array" +}, +"parentFollowupIntentName": { +"description": "Optional. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.", +"type": "string" +}, +"priority": { +"description": "Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.", +"format": "int32", +"type": "integer" +}, +"resetContexts": { +"description": "Optional. Indicates whether to delete all contexts in the current session when this intent is matched.", +"type": "boolean" +}, +"rootFollowupIntentName": { +"description": "Output only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. Format: `projects//agent/intents/`.", +"readOnly": true, +"type": "string" +}, +"trainingPhrases": { +"description": "Optional. The collection of examples that the agent is trained on.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1IntentTrainingPhrase" +}, +"type": "array" +}, +"webhookState": { +"description": "Optional. Indicates whether webhooks are enabled for the intent.", +"enum": [ +"WEBHOOK_STATE_UNSPECIFIED", +"WEBHOOK_STATE_ENABLED", +"WEBHOOK_STATE_ENABLED_FOR_SLOT_FILLING" +], +"enumDescriptions": [ +"Webhook is disabled in the agent and in the intent.", +"Webhook is enabled in the agent and in the intent.", +"Webhook is enabled in the agent and in the intent. Also, each slot filling prompt is forwarded to the webhook." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentFollowupIntentInfo": { +"description": "Represents a single followup intent in the chain.", +"id": "GoogleCloudDialogflowV2beta1IntentFollowupIntentInfo", +"properties": { +"followupIntentName": { +"description": "The unique identifier of the followup intent. Format: `projects//agent/intents/`.", +"type": "string" +}, +"parentFollowupIntentName": { +"description": "The unique identifier of the followup intent's parent. Format: `projects//agent/intents/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessage": { +"description": "Corresponds to the `Response` field in the Dialogflow console.", +"id": "GoogleCloudDialogflowV2beta1IntentMessage", +"properties": { +"basicCard": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageBasicCard", +"description": "Displays a basic card for Actions on Google." +}, +"browseCarouselCard": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCard", +"description": "Browse carousel card for Actions on Google." +}, +"card": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageCard", +"description": "Displays a card." +}, +"carouselSelect": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageCarouselSelect", +"description": "Displays a carousel card for Actions on Google." +}, +"image": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageImage", +"description": "Displays an image." +}, +"linkOutSuggestion": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestion", +"description": "Displays a link out suggestion chip for Actions on Google." +}, +"listSelect": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageListSelect", +"description": "Displays a list card for Actions on Google." +}, +"mediaContent": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageMediaContent", +"description": "The media content card for Actions on Google." +}, +"payload": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "A custom platform-specific response.", +"type": "object" +}, +"platform": { +"description": "Optional. The platform that this message is intended for.", +"enum": [ +"PLATFORM_UNSPECIFIED", +"FACEBOOK", +"SLACK", +"TELEGRAM", +"KIK", +"SKYPE", +"LINE", +"VIBER", +"ACTIONS_ON_GOOGLE", +"TELEPHONY", +"GOOGLE_HANGOUTS" +], +"enumDescriptions": [ +"Not specified.", +"Facebook.", +"Slack.", +"Telegram.", +"Kik.", +"Skype.", +"Line.", +"Viber.", +"Google Assistant See [Dialogflow webhook format](https://developers.google.com/assistant/actions/build/json/dialogflow-webhook-json)", +"Telephony Gateway.", +"Google Hangouts." +], +"type": "string" +}, +"quickReplies": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageQuickReplies", +"description": "Displays quick replies." +}, +"rbmCarouselRichCard": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCard", +"description": "Rich Business Messaging (RBM) carousel rich card response." +}, +"rbmStandaloneRichCard": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageRbmStandaloneCard", +"description": "Standalone Rich Business Messaging (RBM) rich card response." +}, +"rbmText": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageRbmText", +"description": "Rich Business Messaging (RBM) text response. RBM allows businesses to send enriched and branded versions of SMS. See https://jibe.google.com/business-messaging." +}, +"simpleResponses": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageSimpleResponses", +"description": "Returns a voice or text-only response for Actions on Google." +}, +"suggestions": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageSuggestions", +"description": "Displays suggestion chips for Actions on Google." +}, +"tableCard": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageTableCard", +"description": "Table card for Actions on Google." +}, +"telephonyPlayAudio": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageTelephonyPlayAudio", +"description": "Plays audio from a file in Telephony Gateway." +}, +"telephonySynthesizeSpeech": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageTelephonySynthesizeSpeech", +"description": "Synthesizes speech in Telephony Gateway." +}, +"telephonyTransferCall": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageTelephonyTransferCall", +"description": "Transfers the call in Telephony Gateway." +}, +"text": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageText", +"description": "Returns a text response." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageBasicCard": { +"description": "The basic card message. Useful for displaying information.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageBasicCard", +"properties": { +"buttons": { +"description": "Optional. The collection of card buttons.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton" +}, +"type": "array" +}, +"formattedText": { +"description": "Required, unless image is present. The body text of the card.", +"type": "string" +}, +"image": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageImage", +"description": "Optional. The image for the card." +}, +"subtitle": { +"description": "Optional. The subtitle of the card.", +"type": "string" +}, +"title": { +"description": "Optional. The title of the card.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton": { +"description": "The button object that appears at the bottom of a card.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton", +"properties": { +"openUriAction": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageBasicCardButtonOpenUriAction", +"description": "Required. Action to take when a user taps on the button." +}, +"title": { +"description": "Required. The title of the button.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageBasicCardButtonOpenUriAction": { +"description": "Opens the given URI.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageBasicCardButtonOpenUriAction", +"properties": { +"uri": { +"description": "Required. The HTTP or HTTPS scheme URI.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCard": { +"description": "Browse Carousel Card for Actions on Google. https://developers.google.com/actions/assistant/responses#browsing_carousel", +"id": "GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCard", +"properties": { +"imageDisplayOptions": { +"description": "Optional. Settings for displaying the image. Applies to every image in items.", +"enum": [ +"IMAGE_DISPLAY_OPTIONS_UNSPECIFIED", +"GRAY", +"WHITE", +"CROPPED", +"BLURRED_BACKGROUND" +], +"enumDescriptions": [ +"Fill the gaps between the image and the image container with gray bars.", +"Fill the gaps between the image and the image container with gray bars.", +"Fill the gaps between the image and the image container with white bars.", +"Image is scaled such that the image width and height match or exceed the container dimensions. This may crop the top and bottom of the image if the scaled image height is greater than the container height, or crop the left and right of the image if the scaled image width is greater than the container width. This is similar to \"Zoom Mode\" on a widescreen TV when playing a 4:3 video.", +"Pad the gaps between image and image frame with a blurred copy of the same image." +], +"type": "string" +}, +"items": { +"description": "Required. List of items in the Browse Carousel Card. Minimum of two items, maximum of ten.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItem" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItem": { +"description": "Browsing carousel tile", +"id": "GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItem", +"properties": { +"description": { +"description": "Optional. Description of the carousel item. Maximum of four lines of text.", +"type": "string" +}, +"footer": { +"description": "Optional. Text that appears at the bottom of the Browse Carousel Card. Maximum of one line of text.", +"type": "string" +}, +"image": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageImage", +"description": "Optional. Hero image for the carousel item." +}, +"openUriAction": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction", +"description": "Required. Action to present to the user." +}, +"title": { +"description": "Required. Title of the carousel item. Maximum of two lines of text.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction": { +"description": "Actions on Google action to open a given url.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction", +"properties": { +"url": { +"description": "Required. URL", +"type": "string" +}, +"urlTypeHint": { +"description": "Optional. Specifies the type of viewer that is used when opening the URL. Defaults to opening via web browser.", +"enum": [ +"URL_TYPE_HINT_UNSPECIFIED", +"AMP_ACTION", +"AMP_CONTENT" +], +"enumDescriptions": [ +"Unspecified", +"Url would be an amp action", +"URL that points directly to AMP content, or to a canonical URL which refers to AMP content via ." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageCard": { +"description": "The card response message.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageCard", +"properties": { +"buttons": { +"description": "Optional. The collection of card buttons.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageCardButton" +}, +"type": "array" +}, +"imageUri": { +"description": "Optional. The public URI to an image file for the card.", +"type": "string" +}, +"subtitle": { +"description": "Optional. The subtitle of the card.", +"type": "string" +}, +"title": { +"description": "Optional. The title of the card.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageCardButton": { +"description": "Optional. Contains information about a button.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageCardButton", +"properties": { +"postback": { +"description": "Optional. The text to send back to the Dialogflow API or a URI to open.", +"type": "string" +}, +"text": { +"description": "Optional. The text to show on the button.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageCarouselSelect": { +"description": "The card for presenting a carousel of options to select from.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageCarouselSelect", +"properties": { +"items": { +"description": "Required. Carousel items.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageCarouselSelectItem" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageCarouselSelectItem": { +"description": "An item in the carousel.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageCarouselSelectItem", +"properties": { +"description": { +"description": "Optional. The body text of the card.", +"type": "string" +}, +"image": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageImage", +"description": "Optional. The image to display." +}, +"info": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo", +"description": "Required. Additional info about the option item." +}, +"title": { +"description": "Required. Title of the carousel item.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageColumnProperties": { +"description": "Column properties for TableCard.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageColumnProperties", +"properties": { +"header": { +"description": "Required. Column heading.", +"type": "string" +}, +"horizontalAlignment": { +"description": "Optional. Defines text alignment for all cells in this column.", +"enum": [ +"HORIZONTAL_ALIGNMENT_UNSPECIFIED", +"LEADING", +"CENTER", +"TRAILING" +], +"enumDescriptions": [ +"Text is aligned to the leading edge of the column.", +"Text is aligned to the leading edge of the column.", +"Text is centered in the column.", +"Text is aligned to the trailing edge of the column." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageImage": { +"description": "The image response message.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageImage", +"properties": { +"accessibilityText": { +"description": "A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.", +"type": "string" +}, +"imageUri": { +"description": "Optional. The public URI to an image file.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestion": { +"description": "The suggestion chip message that allows the user to jump out to the app or website associated with this agent.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestion", +"properties": { +"destinationName": { +"description": "Required. The name of the app or site this chip is linking to.", +"type": "string" +}, +"uri": { +"description": "Required. The URI of the app or site to open when the user taps the suggestion chip.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageListSelect": { +"description": "The card for presenting a list of options to select from.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageListSelect", +"properties": { +"items": { +"description": "Required. List items.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageListSelectItem" +}, +"type": "array" +}, +"subtitle": { +"description": "Optional. Subtitle of the list.", +"type": "string" +}, +"title": { +"description": "Optional. The overall title of the list.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageListSelectItem": { +"description": "An item in the list.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageListSelectItem", +"properties": { +"description": { +"description": "Optional. The main text describing the item.", +"type": "string" +}, +"image": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageImage", +"description": "Optional. The image to display." +}, +"info": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo", +"description": "Required. Additional information about this option." +}, +"title": { +"description": "Required. The title of the list item.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageMediaContent": { +"description": "The media content card for Actions on Google.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageMediaContent", +"properties": { +"mediaObjects": { +"description": "Required. List of media objects.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageMediaContentResponseMediaObject" +}, +"type": "array" +}, +"mediaType": { +"description": "Optional. What type of media is the content (ie \"audio\").", +"enum": [ +"RESPONSE_MEDIA_TYPE_UNSPECIFIED", +"AUDIO" +], +"enumDescriptions": [ +"Unspecified.", +"Response media type is audio." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageMediaContentResponseMediaObject": { +"description": "Response media object for media content card.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageMediaContentResponseMediaObject", +"properties": { +"contentUrl": { +"description": "Required. Url where the media is stored.", +"type": "string" +}, +"description": { +"description": "Optional. Description of media card.", +"type": "string" +}, +"icon": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageImage", +"description": "Optional. Icon to display above media content." +}, +"largeImage": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageImage", +"description": "Optional. Image to display above media content." +}, +"name": { +"description": "Required. Name of media card.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageQuickReplies": { +"description": "The quick replies response message.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageQuickReplies", +"properties": { +"quickReplies": { +"description": "Optional. The collection of quick replies.", +"items": { +"type": "string" +}, +"type": "array" +}, +"title": { +"description": "Optional. The title of the collection of quick replies.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageRbmCardContent": { +"description": "Rich Business Messaging (RBM) Card content", +"id": "GoogleCloudDialogflowV2beta1IntentMessageRbmCardContent", +"properties": { +"description": { +"description": "Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.", +"type": "string" +}, +"media": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageRbmCardContentRbmMedia", +"description": "Optional. However at least one of the title, description or media must be set. Media (image, GIF or a video) to include in the card." +}, +"suggestions": { +"description": "Optional. List of suggestions to include in the card.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestion" +}, +"type": "array" +}, +"title": { +"description": "Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageRbmCardContentRbmMedia": { +"description": "Rich Business Messaging (RBM) Media displayed in Cards The following media-types are currently supported: Image Types * image/jpeg * image/jpg' * image/gif * image/png Video Types * video/h263 * video/m4v * video/mp4 * video/mpeg * video/mpeg4 * video/webm", +"id": "GoogleCloudDialogflowV2beta1IntentMessageRbmCardContentRbmMedia", +"properties": { +"fileUri": { +"description": "Required. Publicly reachable URI of the file. The RBM platform determines the MIME type of the file from the content-type field in the HTTP headers when the platform fetches the file. The content-type field must be present and accurate in the HTTP response from the URL.", +"type": "string" +}, +"height": { +"description": "Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.", +"enum": [ +"HEIGHT_UNSPECIFIED", +"SHORT", +"MEDIUM", +"TALL" +], +"enumDescriptions": [ +"Not specified.", +"112 DP.", +"168 DP.", +"264 DP. Not available for rich card carousels when the card width is set to small." +], +"type": "string" +}, +"thumbnailUri": { +"description": "Optional. Publicly reachable URI of the thumbnail.If you don't provide a thumbnail URI, the RBM platform displays a blank placeholder thumbnail until the user's device downloads the file. Depending on the user's setting, the file may not download automatically and may require the user to tap a download button.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCard": { +"description": "Carousel Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. If you want to show a single card with more control over the layout, please use RbmStandaloneCard instead.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCard", +"properties": { +"cardContents": { +"description": "Required. The cards in the carousel. A carousel must have at least 2 cards and at most 10.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageRbmCardContent" +}, +"type": "array" +}, +"cardWidth": { +"description": "Required. The width of the cards in the carousel.", +"enum": [ +"CARD_WIDTH_UNSPECIFIED", +"SMALL", +"MEDIUM" +], +"enumDescriptions": [ +"Not specified.", +"120 DP. Note that tall media cannot be used.", +"232 DP." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageRbmStandaloneCard": { +"description": "Standalone Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. You can group multiple rich cards into one using RbmCarouselCard but carousel cards will give you less control over the card layout.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageRbmStandaloneCard", +"properties": { +"cardContent": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageRbmCardContent", +"description": "Required. Card content." +}, +"cardOrientation": { +"description": "Required. Orientation of the card.", +"enum": [ +"CARD_ORIENTATION_UNSPECIFIED", +"HORIZONTAL", +"VERTICAL" +], +"enumDescriptions": [ +"Not specified.", +"Horizontal layout.", +"Vertical layout." +], +"type": "string" +}, +"thumbnailImageAlignment": { +"description": "Required if orientation is horizontal. Image preview alignment for standalone cards with horizontal layout.", +"enum": [ +"THUMBNAIL_IMAGE_ALIGNMENT_UNSPECIFIED", +"LEFT", +"RIGHT" +], +"enumDescriptions": [ +"Not specified.", +"Thumbnail preview is left-aligned.", +"Thumbnail preview is right-aligned." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedAction": { +"description": "Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedAction", +"properties": { +"dial": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionDial", +"description": "Suggested client side action: Dial a phone number" +}, +"openUrl": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionOpenUri", +"description": "Suggested client side action: Open a URI on device" +}, +"postbackData": { +"description": "Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.", +"type": "string" +}, +"shareLocation": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionShareLocation", +"description": "Suggested client side action: Share user location" +}, +"text": { +"description": "Text to display alongside the action.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionDial": { +"description": "Opens the user's default dialer app with the specified phone number but does not dial automatically.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionDial", +"properties": { +"phoneNumber": { +"description": "Required. The phone number to fill in the default dialer app. This field should be in [E.164](https://en.wikipedia.org/wiki/E.164) format. An example of a correctly formatted phone number: +15556767888.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionOpenUri": { +"description": "Opens the user's default web browser app to the specified uri If the user has an app installed that is registered as the default handler for the URL, then this app will be opened instead, and its icon will be used in the suggested action UI.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionOpenUri", +"properties": { +"uri": { +"description": "Required. The uri to open on the user device", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionShareLocation": { +"description": "Opens the device's location chooser so the user can pick a location to send back to the agent.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionShareLocation", +"properties": {}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedReply": { +"description": "Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedReply", +"properties": { +"postbackData": { +"description": "Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.", +"type": "string" +}, +"text": { +"description": "Suggested reply text.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestion": { +"description": "Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).", +"id": "GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestion", +"properties": { +"action": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedAction", +"description": "Predefined client side actions that user can choose" +}, +"reply": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedReply", +"description": "Predefined replies for user to select instead of typing" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageRbmText": { +"description": "Rich Business Messaging (RBM) text response with suggestions.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageRbmText", +"properties": { +"rbmSuggestion": { +"description": "Optional. One or more suggestions to show to the user.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestion" +}, +"type": "array" +}, +"text": { +"description": "Required. Text sent and displayed to the user.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo": { +"description": "Additional info about the select item for when it is triggered in a dialog.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo", +"properties": { +"key": { +"description": "Required. A unique key that will be sent back to the agent if this response is given.", +"type": "string" +}, +"synonyms": { +"description": "Optional. A list of synonyms that can also be used to trigger this item in dialog.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageSimpleResponse": { +"description": "The simple response message containing speech or text.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageSimpleResponse", +"properties": { +"displayText": { +"description": "Optional. The text to display.", +"type": "string" +}, +"ssml": { +"description": "One of text_to_speech or ssml must be provided. Structured spoken response to the user in the SSML format. Mutually exclusive with text_to_speech.", +"type": "string" +}, +"textToSpeech": { +"description": "One of text_to_speech or ssml must be provided. The plain text of the speech output. Mutually exclusive with ssml.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageSimpleResponses": { +"description": "The collection of simple response candidates. This message in `QueryResult.fulfillment_messages` and `WebhookResponse.fulfillment_messages` should contain only one `SimpleResponse`.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageSimpleResponses", +"properties": { +"simpleResponses": { +"description": "Required. The list of simple responses.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageSimpleResponse" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageSuggestion": { +"description": "The suggestion chip message that the user can tap to quickly post a reply to the conversation.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageSuggestion", +"properties": { +"title": { +"description": "Required. The text shown the in the suggestion chip.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageSuggestions": { +"description": "The collection of suggestions.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageSuggestions", +"properties": { +"suggestions": { +"description": "Required. The list of suggested replies.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageSuggestion" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageTableCard": { +"description": "Table card for Actions on Google.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageTableCard", +"properties": { +"buttons": { +"description": "Optional. List of buttons for the card.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton" +}, +"type": "array" +}, +"columnProperties": { +"description": "Optional. Display properties for the columns in this table.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageColumnProperties" +}, +"type": "array" +}, +"image": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageImage", +"description": "Optional. Image which should be displayed on the card." +}, +"rows": { +"description": "Optional. Rows in this table of data.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageTableCardRow" +}, +"type": "array" +}, +"subtitle": { +"description": "Optional. Subtitle to the title.", +"type": "string" +}, +"title": { +"description": "Required. Title of the card.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageTableCardCell": { +"description": "Cell of TableCardRow.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageTableCardCell", +"properties": { +"text": { +"description": "Required. Text in this cell.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageTableCardRow": { +"description": "Row of TableCard.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageTableCardRow", +"properties": { +"cells": { +"description": "Optional. List of cells that make up this row.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessageTableCardCell" +}, +"type": "array" +}, +"dividerAfter": { +"description": "Optional. Whether to add a visual divider after this row.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageTelephonyPlayAudio": { +"description": "Plays audio from a file in Telephony Gateway.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageTelephonyPlayAudio", +"properties": { +"audioUri": { +"description": "Required. URI to a Google Cloud Storage object containing the audio to play, e.g., \"gs://bucket/object\". The object must contain a single channel (mono) of linear PCM audio (2 bytes / sample) at 8kHz. This object must be readable by the `service-@gcp-sa-dialogflow.iam.gserviceaccount.com` service account where is the number of the Telephony Gateway project (usually the same as the Dialogflow agent project). If the Google Cloud Storage bucket is in the Telephony Gateway project, this permission is added by default when enabling the Dialogflow V2 API. For audio from other sources, consider using the `TelephonySynthesizeSpeech` message with SSML.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageTelephonySynthesizeSpeech": { +"description": "Synthesizes speech and plays back the synthesized audio to the caller in Telephony Gateway. Telephony Gateway takes the synthesizer settings from `DetectIntentResponse.output_audio_config` which can either be set at request-level or can come from the agent-level synthesizer config.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageTelephonySynthesizeSpeech", +"properties": { +"ssml": { +"description": "The SSML to be synthesized. For more information, see [SSML](https://developers.google.com/actions/reference/ssml).", +"type": "string" +}, +"text": { +"description": "The raw text to be synthesized.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageTelephonyTransferCall": { +"description": "Transfers the call in Telephony Gateway.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageTelephonyTransferCall", +"properties": { +"phoneNumber": { +"description": "Required. The phone number to transfer the call to in [E.164 format](https://en.wikipedia.org/wiki/E.164). We currently only allow transferring to US numbers (+1xxxyyyzzzz).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentMessageText": { +"description": "The text response message.", +"id": "GoogleCloudDialogflowV2beta1IntentMessageText", +"properties": { +"text": { +"description": "Optional. The collection of the agent's responses.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentParameter": { +"description": "Represents intent parameters.", +"id": "GoogleCloudDialogflowV2beta1IntentParameter", +"properties": { +"defaultValue": { +"description": "Optional. The default value to use when the `value` yields an empty result. Default values can be extracted from contexts by using the following syntax: `#context_name.parameter_name`.", +"type": "string" +}, +"displayName": { +"description": "Required. The name of the parameter.", +"type": "string" +}, +"entityTypeDisplayName": { +"description": "Optional. The name of the entity type, prefixed with `@`, that describes values of the parameter. If the parameter is required, this must be provided.", +"type": "string" +}, +"isList": { +"description": "Optional. Indicates whether the parameter represents a list of values.", +"type": "boolean" +}, +"mandatory": { +"description": "Optional. Indicates whether the parameter is required. That is, whether the intent cannot be completed without collecting the parameter value.", +"type": "boolean" +}, +"name": { +"description": "The unique identifier of this parameter.", +"type": "string" +}, +"prompts": { +"description": "Optional. The collection of prompts that the agent can present to the user in order to collect a value for the parameter.", +"items": { +"type": "string" +}, +"type": "array" +}, +"value": { +"description": "Optional. The definition of the parameter value. It can be: - a constant string, - a parameter value defined as `$parameter_name`, - an original parameter value defined as `$parameter_name.original`, - a parameter value from some context defined as `#context_name.parameter_name`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentSuggestion": { +"description": "Represents an intent suggestion.", +"id": "GoogleCloudDialogflowV2beta1IntentSuggestion", +"properties": { +"description": { +"description": "Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters.", +"type": "string" +}, +"displayName": { +"description": "The display name of the intent.", +"type": "string" +}, +"intentV2": { +"description": "The unique identifier of this intent. Format: `projects//locations//agent/intents/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentTrainingPhrase": { +"description": "Represents an example that the agent is trained on.", +"id": "GoogleCloudDialogflowV2beta1IntentTrainingPhrase", +"properties": { +"name": { +"description": "Output only. The unique identifier of this training phrase.", +"readOnly": true, +"type": "string" +}, +"parts": { +"description": "Required. The ordered list of training phrase parts. The parts are concatenated in order to form the training phrase. Note: The API does not automatically annotate training phrases like the Dialogflow Console does. Note: Do not forget to include whitespace at part boundaries, so the training phrase is well formatted when the parts are concatenated. If the training phrase does not need to be annotated with parameters, you just need a single part with only the Part.text field set. If you want to annotate the training phrase, you must create multiple parts, where the fields of each part are populated in one of two ways: - `Part.text` is set to a part of the phrase that has no parameters. - `Part.text` is set to a part of the phrase that you want to annotate, and the `entity_type`, `alias`, and `user_defined` fields are all set.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1IntentTrainingPhrasePart" +}, +"type": "array" +}, +"timesAddedCount": { +"description": "Optional. Indicates how many times this example was added to the intent. Each time a developer adds an existing sample by editing an intent or training, this counter is increased.", +"format": "int32", +"type": "integer" +}, +"type": { +"description": "Required. The type of the training phrase.", +"enum": [ +"TYPE_UNSPECIFIED", +"EXAMPLE", +"TEMPLATE" +], +"enumDeprecated": [ +false, +false, +true +], +"enumDescriptions": [ +"Not specified. This value should never be used.", +"Examples do not contain @-prefixed entity type names, but example parts can be annotated with entity types.", +"Templates are not annotated with entity types, but they can contain @-prefixed entity type names as substrings. Note: Template mode has been deprecated. Example mode is the only supported way to create new training phrases. If you have existing training phrases in template mode, they will be removed during training and it can cause a drop in agent performance." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1IntentTrainingPhrasePart": { +"description": "Represents a part of a training phrase.", +"id": "GoogleCloudDialogflowV2beta1IntentTrainingPhrasePart", +"properties": { +"alias": { +"description": "Optional. The parameter name for the value extracted from the annotated part of the example. This field is required for annotated parts of the training phrase.", +"type": "string" +}, +"entityType": { +"description": "Optional. The entity type name prefixed with `@`. This field is required for annotated parts of the training phrase.", +"type": "string" +}, +"text": { +"description": "Required. The text for this part.", +"type": "string" +}, +"userDefined": { +"description": "Optional. Indicates whether the text was manually annotated. This field is set to true when the Dialogflow Console is used to manually annotate the part. When creating an annotated part with the API, you must set this to true.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1KnowledgeAnswers": { +"description": "Represents the result of querying a Knowledge base.", +"id": "GoogleCloudDialogflowV2beta1KnowledgeAnswers", +"properties": { +"answers": { +"description": "A list of answers from Knowledge Connector.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer": { +"description": "An answer from Knowledge Connector.", +"id": "GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer", +"properties": { +"answer": { +"description": "The piece of text from the `source` knowledge base document that answers this conversational query.", +"type": "string" +}, +"faqQuestion": { +"description": "The corresponding FAQ question if the answer was extracted from a FAQ Document, empty otherwise.", +"type": "string" +}, +"matchConfidence": { +"description": "The system's confidence score that this Knowledge answer is a good match for this conversational query. The range is from 0.0 (completely uncertain) to 1.0 (completely certain). Note: The confidence score is likely to vary somewhat (possibly even for identical requests), as the underlying model is under constant improvement. It may be deprecated in the future. We recommend using `match_confidence_level` which should be generally more stable.", +"format": "float", +"type": "number" +}, +"matchConfidenceLevel": { +"description": "The system's confidence level that this knowledge answer is a good match for this conversational query. NOTE: The confidence level for a given `` pair may change without notice, as it depends on models that are constantly being improved. However, it will change less frequently than the confidence score below, and should be preferred for referencing the quality of an answer.", +"enum": [ +"MATCH_CONFIDENCE_LEVEL_UNSPECIFIED", +"LOW", +"MEDIUM", +"HIGH" +], +"enumDescriptions": [ +"Not specified.", +"Indicates that the confidence is low.", +"Indicates our confidence is medium.", +"Indicates our confidence is high." +], +"type": "string" +}, +"source": { +"description": "Indicates which Knowledge Document this answer was extracted from. Format: `projects//knowledgeBases//documents/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1KnowledgeAssistAnswer": { +"description": "Represents a Knowledge Assist answer.", +"id": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswer", +"properties": { +"answerRecord": { +"description": "The name of the answer record. Format: `projects//locations//answer Records/`.", +"type": "string" +}, +"suggestedQuery": { +"$ref": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerSuggestedQuery", +"description": "The query suggested based on the context. Suggestion is made only if it is different from the previous suggestion." +}, +"suggestedQueryAnswer": { +"$ref": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswer", +"description": "The answer generated for the suggested query. Whether or not an answer is generated depends on how confident we are about the generated query." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswer": { +"description": "Represents an answer from Knowledge. Currently supports FAQ and Generative answers.", +"id": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswer", +"properties": { +"answerText": { +"description": "The piece of text from the `source` that answers this suggested query.", +"type": "string" +}, +"faqSource": { +"$ref": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswerFaqSource", +"description": "Populated if the prediction came from FAQ." +}, +"generativeSource": { +"$ref": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswerGenerativeSource", +"description": "Populated if the prediction was Generative." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswerFaqSource": { +"description": "Details about source of FAQ answer.", +"id": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswerFaqSource", +"properties": { +"question": { +"description": "The corresponding FAQ question.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswerGenerativeSource": { +"description": "Details about source of Generative answer.", +"id": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswerGenerativeSource", +"properties": { +"snippets": { +"description": "All snippets used for this Generative Prediction, with their source URI and data.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet": { +"description": "Snippet Source for a Generative Prediction.", +"id": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet", +"properties": { +"metadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Metadata of the document.", +"type": "object" +}, +"text": { +"description": "Text taken from that URI.", +"type": "string" +}, +"title": { +"description": "Title of the document.", +"type": "string" +}, +"uri": { +"description": "URI the data is sourced from.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerSuggestedQuery": { +"description": "Represents a suggested query.", +"id": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerSuggestedQuery", +"properties": { +"queryText": { +"description": "Suggested query text.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1KnowledgeOperationMetadata": { +"description": "Metadata in google::longrunning::Operation for Knowledge operations.", +"id": "GoogleCloudDialogflowV2beta1KnowledgeOperationMetadata", +"properties": { +"exportOperationMetadata": { +"$ref": "GoogleCloudDialogflowV2beta1ExportOperationMetadata", +"description": "Metadata for the Export Data Operation such as the destination of export." +}, +"knowledgeBase": { +"description": "The name of the knowledge base interacted with during the operation.", +"type": "string" +}, +"state": { +"description": "Required. Output only. The current state of this operation.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"RUNNING", +"DONE" +], +"enumDescriptions": [ +"State unspecified.", +"The operation has been created.", +"The operation is currently running.", +"The operation is done, either cancelled or completed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1Message": { +"description": "Represents a message posted into a conversation.", +"id": "GoogleCloudDialogflowV2beta1Message", +"properties": { +"content": { +"description": "Required. The message content.", +"type": "string" +}, +"createTime": { +"description": "Output only. The time when the message was created in Contact Center AI.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"languageCode": { +"description": "Optional. The message language. This should be a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. Example: \"en-US\".", +"type": "string" +}, +"messageAnnotation": { +"$ref": "GoogleCloudDialogflowV2beta1MessageAnnotation", +"description": "Output only. The annotation for the message.", +"readOnly": true +}, +"name": { +"description": "Optional. The unique identifier of the message. Format: `projects//locations//conversations//messages/`.", +"type": "string" +}, +"participant": { +"description": "Output only. The participant that sends this message.", +"readOnly": true, +"type": "string" +}, +"participantRole": { +"description": "Output only. The role of the participant.", +"enum": [ +"ROLE_UNSPECIFIED", +"HUMAN_AGENT", +"AUTOMATED_AGENT", +"END_USER" +], +"enumDescriptions": [ +"Participant role not set.", +"Participant is a human agent.", +"Participant is an automated agent, such as a Dialogflow agent.", +"Participant is an end user that has called or chatted with Dialogflow services." +], +"readOnly": true, +"type": "string" +}, +"responseMessages": { +"description": "Optional. Automated agent responses.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1ResponseMessage" +}, +"type": "array" +}, +"sendTime": { +"description": "Optional. The time when the message was sent.", +"format": "google-datetime", +"type": "string" +}, +"sentimentAnalysis": { +"$ref": "GoogleCloudDialogflowV2beta1SentimentAnalysisResult", +"description": "Output only. The sentiment analysis result for the message.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1MessageAnnotation": { +"description": "Represents the result of annotation for the message.", +"id": "GoogleCloudDialogflowV2beta1MessageAnnotation", +"properties": { +"containEntities": { +"description": "Required. Indicates whether the text message contains entities.", +"type": "boolean" +}, +"parts": { +"description": "Optional. The collection of annotated message parts ordered by their position in the message. You can recover the annotated message by concatenating [AnnotatedMessagePart.text].", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1AnnotatedMessagePart" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest": { +"description": "Represents the contents of the original request that was passed to the `[Streaming]DetectIntent` call.", +"id": "GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest", +"properties": { +"payload": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. This field is set to the value of the `QueryParameters.payload` field passed in the request. Some integrations that query a Dialogflow agent may provide additional information in the payload. In particular, for the Dialogflow Phone Gateway integration, this field has the form: { \"telephony\": { \"caller_id\": \"+18558363987\" } } Note: The caller ID field (`caller_id`) will be redacted for Trial Edition agents and populated with the caller ID in [E.164 format](https://en.wikipedia.org/wiki/E.164) for Essentials Edition agents.", +"type": "object" +}, +"source": { +"description": "The source of this request, e.g., `google`, `facebook`, `slack`. It is set by Dialogflow-owned servers.", +"type": "string" +}, +"version": { +"description": "Optional. The version of the protocol used for this request. This field is AoG-specific.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1QueryResult": { +"description": "Represents the result of conversational query or event processing.", +"id": "GoogleCloudDialogflowV2beta1QueryResult", +"properties": { +"action": { +"description": "The action name from the matched intent.", +"type": "string" +}, +"allRequiredParamsPresent": { +"description": "This field is set to: - `false` if the matched intent has required parameters and not all of the required parameter values have been collected. - `true` if all required parameter values have been collected, or if the matched intent doesn't contain any required parameters.", +"type": "boolean" +}, +"cancelsSlotFilling": { +"description": "Indicates whether the conversational query triggers a cancellation for slot filling. For more information, see the [cancel slot filling documentation](https://cloud.google.com/dialogflow/es/docs/intents-actions-parameters#cancel).", +"type": "boolean" +}, +"diagnosticInfo": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Free-form diagnostic information for the associated detect intent request. The fields of this data can change without notice, so you should not write code that depends on its structure. The data may contain: - webhook call latency - webhook errors", +"type": "object" +}, +"fulfillmentMessages": { +"description": "The collection of rich messages to present to the user.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessage" +}, +"type": "array" +}, +"fulfillmentText": { +"description": "The text to be pronounced to the user or shown on the screen. Note: This is a legacy field, `fulfillment_messages` should be preferred.", +"type": "string" +}, +"intent": { +"$ref": "GoogleCloudDialogflowV2beta1Intent", +"description": "The intent that matched the conversational query. Some, not all fields are filled in this message, including but not limited to: `name`, `display_name`, `end_interaction` and `is_fallback`." +}, +"intentDetectionConfidence": { +"description": "The intent detection confidence. Values range from 0.0 (completely uncertain) to 1.0 (completely certain). This value is for informational purpose only and is only used to help match the best intent within the classification threshold. This value may change for the same end-user expression at any time due to a model retraining or change in implementation. If there are `multiple knowledge_answers` messages, this value is set to the greatest `knowledgeAnswers.match_confidence` value in the list.", +"format": "float", +"type": "number" +}, +"knowledgeAnswers": { +"$ref": "GoogleCloudDialogflowV2beta1KnowledgeAnswers", +"description": "The result from Knowledge Connector (if any), ordered by decreasing `KnowledgeAnswers.match_confidence`." +}, +"languageCode": { +"description": "The language that was triggered during intent detection. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes.", +"type": "string" +}, +"outputContexts": { +"description": "The collection of output contexts. If applicable, `output_contexts.parameters` contains entries with name `.original` containing the original parameter values before the query.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1Context" +}, +"type": "array" +}, +"parameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The collection of extracted parameters. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.", +"type": "object" +}, +"queryText": { +"description": "The original conversational query text: - If natural language text was provided as input, `query_text` contains a copy of the input. - If natural language speech audio was provided as input, `query_text` contains the speech recognition result. If speech recognizer produced multiple alternatives, a particular one is picked. - If automatic spell correction is enabled, `query_text` will contain the corrected user input.", +"type": "string" +}, +"sentimentAnalysisResult": { +"$ref": "GoogleCloudDialogflowV2beta1SentimentAnalysisResult", +"description": "The sentiment analysis result, which depends on the `sentiment_analysis_request_config` specified in the request." +}, +"speechRecognitionConfidence": { +"description": "The Speech recognition confidence between 0.0 and 1.0. A higher number indicates an estimated greater likelihood that the recognized words are correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is not guaranteed to be accurate or set. In particular this field isn't set for StreamingDetectIntent since the streaming endpoint has separate confidence estimates per portion of the audio in StreamingRecognitionResult.", +"format": "float", +"type": "number" +}, +"webhookPayload": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "If the query was fulfilled by a webhook call, this field is set to the value of the `payload` field returned in the webhook response.", +"type": "object" +}, +"webhookSource": { +"description": "If the query was fulfilled by a webhook call, this field is set to the value of the `source` field returned in the webhook response.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1ResponseMessage": { +"description": "Response messages from an automated agent.", +"id": "GoogleCloudDialogflowV2beta1ResponseMessage", +"properties": { +"endInteraction": { +"$ref": "GoogleCloudDialogflowV2beta1ResponseMessageEndInteraction", +"description": "A signal that indicates the interaction with the Dialogflow agent has ended." +}, +"liveAgentHandoff": { +"$ref": "GoogleCloudDialogflowV2beta1ResponseMessageLiveAgentHandoff", +"description": "Hands off conversation to a live agent." +}, +"mixedAudio": { +"$ref": "GoogleCloudDialogflowV2beta1ResponseMessageMixedAudio", +"description": "An audio response message composed of both the synthesized Dialogflow agent responses and the audios hosted in places known to the client." +}, +"payload": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Returns a response containing a custom, platform-specific payload.", +"type": "object" +}, +"telephonyTransferCall": { +"$ref": "GoogleCloudDialogflowV2beta1ResponseMessageTelephonyTransferCall", +"description": "A signal that the client should transfer the phone call connected to this agent to a third-party endpoint." +}, +"text": { +"$ref": "GoogleCloudDialogflowV2beta1ResponseMessageText", +"description": "Returns a text response." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1ResponseMessageEndInteraction": { +"description": "Indicates that interaction with the Dialogflow agent has ended.", +"id": "GoogleCloudDialogflowV2beta1ResponseMessageEndInteraction", +"properties": {}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1ResponseMessageLiveAgentHandoff": { +"description": "Indicates that the conversation should be handed off to a human agent. Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures. You may set this, for example: * In the entry fulfillment of a CX Page if entering the page indicates something went extremely wrong in the conversation. * In a webhook response when you determine that the customer issue can only be handled by a human.", +"id": "GoogleCloudDialogflowV2beta1ResponseMessageLiveAgentHandoff", +"properties": { +"metadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1ResponseMessageMixedAudio": { +"description": "Represents an audio message that is composed of both segments synthesized from the Dialogflow agent prompts and ones hosted externally at the specified URIs.", +"id": "GoogleCloudDialogflowV2beta1ResponseMessageMixedAudio", +"properties": { +"segments": { +"description": "Segments this audio response is composed of.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1ResponseMessageMixedAudioSegment" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1ResponseMessageMixedAudioSegment": { +"description": "Represents one segment of audio.", +"id": "GoogleCloudDialogflowV2beta1ResponseMessageMixedAudioSegment", +"properties": { +"allowPlaybackInterruption": { +"description": "Whether the playback of this segment can be interrupted by the end user's speech and the client should then start the next Dialogflow request.", +"type": "boolean" +}, +"audio": { +"description": "Raw audio synthesized from the Dialogflow agent's response using the output config specified in the request.", +"format": "byte", +"type": "string" +}, +"uri": { +"description": "Client-specific URI that points to an audio clip accessible to the client.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1ResponseMessageTelephonyTransferCall": { +"description": "Represents the signal that telles the client to transfer the phone call connected to the agent to a third-party endpoint.", +"id": "GoogleCloudDialogflowV2beta1ResponseMessageTelephonyTransferCall", +"properties": { +"phoneNumber": { +"description": "Transfer the call to a phone number in [E.164 format](https://en.wikipedia.org/wiki/E.164).", +"type": "string" +}, +"sipUri": { +"description": "Transfer the call to a SIP endpoint.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1ResponseMessageText": { +"description": "The text response message.", +"id": "GoogleCloudDialogflowV2beta1ResponseMessageText", +"properties": { +"text": { +"description": "A collection of text response variants. If multiple variants are defined, only one text response variant is returned at runtime.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1Sentiment": { +"description": "The sentiment, such as positive/negative feeling or association, for a unit of analysis, such as the query text. See: https://cloud.google.com/natural-language/docs/basics#interpreting_sentiment_analysis_values for how to interpret the result.", +"id": "GoogleCloudDialogflowV2beta1Sentiment", +"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" +}, +"GoogleCloudDialogflowV2beta1SentimentAnalysisResult": { +"description": "The result of sentiment analysis. Sentiment analysis inspects user input and identifies the prevailing subjective opinion, especially to determine a user's attitude as positive, negative, or neutral. For Participants.DetectIntent, it needs to be configured in DetectIntentRequest.query_params. For Participants.StreamingDetectIntent, it needs to be configured in StreamingDetectIntentRequest.query_params. And for Participants.AnalyzeContent and Participants.StreamingAnalyzeContent, it needs to be configured in ConversationProfile.human_agent_assistant_config", +"id": "GoogleCloudDialogflowV2beta1SentimentAnalysisResult", +"properties": { +"queryTextSentiment": { +"$ref": "GoogleCloudDialogflowV2beta1Sentiment", +"description": "The sentiment analysis result for `query_text`." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1SessionEntityType": { +"description": "A session represents a conversation between a Dialogflow agent and an end-user. You can create special entities, called session entities, during a session. Session entities can extend or replace custom entity types and only exist during the session that they were created for. All session data, including session entities, is stored by Dialogflow for 20 minutes. For more information, see the [session entity guide](https://cloud.google.com/dialogflow/docs/entities-session).", +"id": "GoogleCloudDialogflowV2beta1SessionEntityType", +"properties": { +"entities": { +"description": "Required. The collection of entities associated with this session entity type.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1EntityTypeEntity" +}, +"type": "array" +}, +"entityOverrideMode": { +"description": "Required. Indicates whether the additional data should override or supplement the custom entity type definition.", +"enum": [ +"ENTITY_OVERRIDE_MODE_UNSPECIFIED", +"ENTITY_OVERRIDE_MODE_OVERRIDE", +"ENTITY_OVERRIDE_MODE_SUPPLEMENT" +], +"enumDescriptions": [ +"Not specified. This value should be never used.", +"The collection of session entities overrides the collection of entities in the corresponding custom entity type.", +"The collection of session entities extends the collection of entities in the corresponding custom entity type. Note: Even in this override mode calls to `ListSessionEntityTypes`, `GetSessionEntityType`, `CreateSessionEntityType` and `UpdateSessionEntityType` only return the additional entities added in this session entity type. If you want to get the supplemented list, please call EntityTypes.GetEntityType on the custom entity type and merge." +], +"type": "string" +}, +"name": { +"description": "Required. The unique identifier of this session entity type. Supported formats: - `projects//agent/sessions//entityTypes/` - `projects//locations//agent/sessions//entityTypes/` - `projects//agent/environments//users//sessions//entityTypes/` - `projects//locations//agent/environments/ /users//sessions//entityTypes/` If `Location ID` is not specified we assume default 'us' location. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. `` must be the display name of an existing entity type in the same agent that will be overridden or supplemented.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1SetSuggestionFeatureConfigOperationMetadata": { +"description": "Metadata for a ConversationProfile.SetSuggestionFeatureConfig operation.", +"id": "GoogleCloudDialogflowV2beta1SetSuggestionFeatureConfigOperationMetadata", +"properties": { +"conversationProfile": { +"description": "The resource name of the conversation profile. Format: `projects//locations//conversationProfiles/`", +"type": "string" +}, +"createTime": { +"description": "Timestamp whe the request was created. The time is measured on server side.", +"format": "google-datetime", +"type": "string" +}, +"participantRole": { +"description": "Required. The participant role to add or update the suggestion feature config. Only HUMAN_AGENT or END_USER can be used.", +"enum": [ +"ROLE_UNSPECIFIED", +"HUMAN_AGENT", +"AUTOMATED_AGENT", +"END_USER" +], +"enumDescriptions": [ +"Participant role not set.", +"Participant is a human agent.", +"Participant is an automated agent, such as a Dialogflow agent.", +"Participant is an end user that has called or chatted with Dialogflow services." +], +"type": "string" +}, +"suggestionFeatureType": { +"description": "Required. The type of the suggestion feature to add or update.", +"enum": [ +"TYPE_UNSPECIFIED", +"ARTICLE_SUGGESTION", +"FAQ", +"SMART_REPLY", +"DIALOGFLOW_ASSIST", +"CONVERSATION_SUMMARIZATION", +"KNOWLEDGE_SEARCH", +"KNOWLEDGE_ASSIST" +], +"enumDescriptions": [ +"Unspecified feature type.", +"Run article suggestion model for chat.", +"Run FAQ model.", +"Run smart reply model for chat.", +"Run Dialogflow assist model for chat, which will return automated agent response as suggestion.", +"Run conversation summarization model for chat.", +"Run knowledge search with text input from agent or text generated query.", +"Run knowledge assist with automatic query generation." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1SmartReplyAnswer": { +"description": "Represents a smart reply answer.", +"id": "GoogleCloudDialogflowV2beta1SmartReplyAnswer", +"properties": { +"answerRecord": { +"description": "The name of answer record, in the format of \"projects//locations//answerRecords/\"", +"type": "string" +}, +"confidence": { +"description": "Smart reply confidence. The system's confidence score that this reply is a good match for this conversation, as a value from 0.0 (completely uncertain) to 1.0 (completely certain).", +"format": "float", +"type": "number" +}, +"reply": { +"description": "The content of the reply.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1SpeechWordInfo": { +"description": "Information for a word recognized by the speech recognizer.", +"id": "GoogleCloudDialogflowV2beta1SpeechWordInfo", +"properties": { +"confidence": { +"description": "The Speech confidence between 0.0 and 1.0 for this word. A higher number indicates an estimated greater likelihood that the recognized word is correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is not guaranteed to be fully stable over time for the same audio input. Users should also not rely on it to always be provided.", +"format": "float", +"type": "number" +}, +"endOffset": { +"description": "Time offset relative to the beginning of the audio that corresponds to the end of the spoken word. This is an experimental feature and the accuracy of the time offset can vary.", +"format": "google-duration", +"type": "string" +}, +"startOffset": { +"description": "Time offset relative to the beginning of the audio that corresponds to the start of the spoken word. This is an experimental feature and the accuracy of the time offset can vary.", +"format": "google-duration", +"type": "string" +}, +"word": { +"description": "The word this info is for.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1StreamingRecognitionResult": { +"description": "Contains a speech recognition result corresponding to a portion of the audio that is currently being processed or an indication that this is the end of the single requested utterance. While end-user audio is being processed, Dialogflow sends a series of results. Each result may contain a `transcript` value. A transcript represents a portion of the utterance. While the recognizer is processing audio, transcript values may be interim values or finalized values. Once a transcript is finalized, the `is_final` value is set to true and processing continues for the next transcript. If `StreamingDetectIntentRequest.query_input.audio_config.single_utterance` was true, and the recognizer has completed processing audio, the `message_type` value is set to `END_OF_SINGLE_UTTERANCE and the following (last) result contains the last finalized transcript. The complete end-user utterance is determined by concatenating the finalized transcript values received for the series of results. In the following example, single utterance is enabled. In the case where single utterance is not enabled, result 7 would not occur. ``` Num | transcript | message_type | is_final --- | ----------------------- | ----------------------- | -------- 1 | \"tube\" | TRANSCRIPT | false 2 | \"to be a\" | TRANSCRIPT | false 3 | \"to be\" | TRANSCRIPT | false 4 | \"to be or not to be\" | TRANSCRIPT | true 5 | \"that's\" | TRANSCRIPT | false 6 | \"that is | TRANSCRIPT | false 7 | unset | END_OF_SINGLE_UTTERANCE | unset 8 | \" that is the question\" | TRANSCRIPT | true ``` Concatenating the finalized transcripts with `is_final` set to true, the complete utterance becomes \"to be or not to be that is the question\".", +"id": "GoogleCloudDialogflowV2beta1StreamingRecognitionResult", +"properties": { +"confidence": { +"description": "The Speech confidence between 0.0 and 1.0 for the current portion of audio. A higher number indicates an estimated greater likelihood that the recognized words are correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is typically only provided if `is_final` is true and you should not rely on it being accurate or even set.", +"format": "float", +"type": "number" +}, +"dtmfDigits": { +"$ref": "GoogleCloudDialogflowV2beta1TelephonyDtmfEvents", +"description": "DTMF digits. Populated if and only if `message_type` = `DTMF_DIGITS`." +}, +"isFinal": { +"description": "If `false`, the `StreamingRecognitionResult` represents an interim result that may change. If `true`, the recognizer will not return any further hypotheses about this piece of the audio. May only be populated for `message_type` = `TRANSCRIPT`.", +"type": "boolean" +}, +"languageCode": { +"description": "Detected language code for the transcript.", +"type": "string" +}, +"messageType": { +"description": "Type of the result message.", +"enum": [ +"MESSAGE_TYPE_UNSPECIFIED", +"TRANSCRIPT", +"DTMF_DIGITS", +"END_OF_SINGLE_UTTERANCE", +"PARTIAL_DTMF_DIGITS" +], +"enumDescriptions": [ +"Not specified. Should never be used.", +"Message contains a (possibly partial) transcript.", +"Message contains DTMF digits.", +"This event indicates that the server has detected the end of the user's speech utterance and expects no additional speech. Therefore, the server will not process additional audio (although it may subsequently return additional results). The client should stop sending additional audio data, half-close the gRPC connection, and wait for any additional results until the server closes the gRPC connection. This message is only sent if `single_utterance` was set to `true`, and is not used otherwise.", +"Message contains DTMF digits. Before a message with DTMF_DIGITS is sent, a message with PARTIAL_DTMF_DIGITS may be sent with DTMF digits collected up to the time of sending, which represents an intermediate result." +], +"type": "string" +}, +"speechEndOffset": { +"description": "Time offset of the end of this Speech recognition result relative to the beginning of the audio. Only populated for `message_type` = `TRANSCRIPT`.", +"format": "google-duration", +"type": "string" +}, +"speechWordInfo": { +"description": "Word-specific information for the words recognized by Speech in transcript. Populated if and only if `message_type` = `TRANSCRIPT` and [InputAudioConfig.enable_word_info] is set.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1SpeechWordInfo" +}, +"type": "array" +}, +"stability": { +"description": "An estimate of the likelihood that the speech recognizer will not change its guess about this interim recognition result: * If the value is unspecified or 0.0, Dialogflow didn't compute the stability. In particular, Dialogflow will only provide stability for `TRANSCRIPT` results with `is_final = false`. * Otherwise, the value is in (0.0, 1.0] where 0.0 means completely unstable and 1.0 means completely stable.", +"format": "float", +"type": "number" +}, +"transcript": { +"description": "Transcript text representing the words that the user spoke. Populated if and only if `message_type` = `TRANSCRIPT`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1SuggestArticlesResponse": { +"description": "The response message for Participants.SuggestArticles.", +"id": "GoogleCloudDialogflowV2beta1SuggestArticlesResponse", +"properties": { +"articleAnswers": { +"description": "Output only. Articles ordered by score in descending order.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1ArticleAnswer" +}, +"type": "array" +}, +"contextSize": { +"description": "Number of messages prior to and including latest_message to compile the suggestion. It may be smaller than the SuggestArticlesResponse.context_size field in the request if there aren't that many messages in the conversation.", +"format": "int32", +"type": "integer" +}, +"latestMessage": { +"description": "The name of the latest conversation message used to compile suggestion for. Format: `projects//locations//conversations//messages/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1SuggestDialogflowAssistsResponse": { +"description": "The response message for Participants.SuggestDialogflowAssists.", +"id": "GoogleCloudDialogflowV2beta1SuggestDialogflowAssistsResponse", +"properties": { +"contextSize": { +"description": "Number of messages prior to and including latest_message to compile the suggestion. It may be smaller than the SuggestDialogflowAssistsRequest.context_size field in the request if there aren't that many messages in the conversation.", +"format": "int32", +"type": "integer" +}, +"dialogflowAssistAnswers": { +"description": "Output only. Multiple reply options provided by Dialogflow assist service. The order is based on the rank of the model prediction.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1DialogflowAssistAnswer" +}, +"type": "array" +}, +"latestMessage": { +"description": "The name of the latest conversation message used to suggest answer. Format: `projects//locations//conversations//messages/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1SuggestFaqAnswersResponse": { +"description": "The request message for Participants.SuggestFaqAnswers.", +"id": "GoogleCloudDialogflowV2beta1SuggestFaqAnswersResponse", +"properties": { +"contextSize": { +"description": "Number of messages prior to and including latest_message to compile the suggestion. It may be smaller than the SuggestFaqAnswersRequest.context_size field in the request if there aren't that many messages in the conversation.", +"format": "int32", +"type": "integer" +}, +"faqAnswers": { +"description": "Output only. Answers extracted from FAQ documents.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1FaqAnswer" +}, +"type": "array" +}, +"latestMessage": { +"description": "The name of the latest conversation message used to compile suggestion for. Format: `projects//locations//conversations//messages/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1SuggestKnowledgeAssistResponse": { +"description": "The response message for Participants.SuggestKnowledgeAssist.", +"id": "GoogleCloudDialogflowV2beta1SuggestKnowledgeAssistResponse", +"properties": { +"contextSize": { +"description": "Number of messages prior to and including latest_message to compile the suggestion. It may be smaller than the SuggestKnowledgeAssistRequest.context_size field in the request if there are fewer messages in the conversation.", +"format": "int32", +"type": "integer" +}, +"knowledgeAssistAnswer": { +"$ref": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswer", +"description": "Output only. Knowledge Assist suggestion.", +"readOnly": true +}, +"latestMessage": { +"description": "The name of the latest conversation message used to compile suggestion for. Format: `projects//locations//conversations//messages/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1SuggestSmartRepliesResponse": { +"description": "The response message for Participants.SuggestSmartReplies.", +"id": "GoogleCloudDialogflowV2beta1SuggestSmartRepliesResponse", +"properties": { +"contextSize": { +"description": "Number of messages prior to and including latest_message to compile the suggestion. It may be smaller than the SuggestSmartRepliesRequest.context_size field in the request if there aren't that many messages in the conversation.", +"format": "int32", +"type": "integer" +}, +"latestMessage": { +"description": "The name of the latest conversation message used to compile suggestion for. Format: `projects//locations//conversations//messages/`.", +"type": "string" +}, +"smartReplyAnswers": { +"description": "Output only. Multiple reply options provided by smart reply service. The order is based on the rank of the model prediction. The maximum number of the returned replies is set in SmartReplyConfig.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1SmartReplyAnswer" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1SuggestionResult": { +"description": "One response of different type of suggestion response which is used in the response of Participants.AnalyzeContent and Participants.AnalyzeContent, as well as HumanAgentAssistantEvent.", +"id": "GoogleCloudDialogflowV2beta1SuggestionResult", +"properties": { +"error": { +"$ref": "GoogleRpcStatus", +"description": "Error status if the request failed." +}, +"suggestArticlesResponse": { +"$ref": "GoogleCloudDialogflowV2beta1SuggestArticlesResponse", +"description": "SuggestArticlesResponse if request is for ARTICLE_SUGGESTION." +}, +"suggestDialogflowAssistsResponse": { +"$ref": "GoogleCloudDialogflowV2beta1SuggestDialogflowAssistsResponse", +"description": "SuggestDialogflowAssistsResponse if request is for DIALOGFLOW_ASSIST." +}, +"suggestEntityExtractionResponse": { +"$ref": "GoogleCloudDialogflowV2beta1SuggestDialogflowAssistsResponse", +"description": "SuggestDialogflowAssistsResponse if request is for ENTITY_EXTRACTION." +}, +"suggestFaqAnswersResponse": { +"$ref": "GoogleCloudDialogflowV2beta1SuggestFaqAnswersResponse", +"description": "SuggestFaqAnswersResponse if request is for FAQ_ANSWER." +}, +"suggestKnowledgeAssistResponse": { +"$ref": "GoogleCloudDialogflowV2beta1SuggestKnowledgeAssistResponse", +"description": "SuggestKnowledgeAssistResponse if request is for KNOWLEDGE_ASSIST." +}, +"suggestSmartRepliesResponse": { +"$ref": "GoogleCloudDialogflowV2beta1SuggestSmartRepliesResponse", +"description": "SuggestSmartRepliesResponse if request is for SMART_REPLY." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1TelephonyDtmfEvents": { +"description": "A wrapper of repeated TelephonyDtmf digits.", +"id": "GoogleCloudDialogflowV2beta1TelephonyDtmfEvents", +"properties": { +"dtmfEvents": { +"description": "A sequence of TelephonyDtmf digits.", +"items": { +"enum": [ +"TELEPHONY_DTMF_UNSPECIFIED", +"DTMF_ONE", +"DTMF_TWO", +"DTMF_THREE", +"DTMF_FOUR", +"DTMF_FIVE", +"DTMF_SIX", +"DTMF_SEVEN", +"DTMF_EIGHT", +"DTMF_NINE", +"DTMF_ZERO", +"DTMF_A", +"DTMF_B", +"DTMF_C", +"DTMF_D", +"DTMF_STAR", +"DTMF_POUND" +], +"enumDescriptions": [ +"Not specified. This value may be used to indicate an absent digit.", +"Number: '1'.", +"Number: '2'.", +"Number: '3'.", +"Number: '4'.", +"Number: '5'.", +"Number: '6'.", +"Number: '7'.", +"Number: '8'.", +"Number: '9'.", +"Number: '0'.", +"Letter: 'A'.", +"Letter: 'B'.", +"Letter: 'C'.", +"Letter: 'D'.", +"Asterisk/star: '*'.", +"Pound/diamond/hash/square/gate/octothorpe: '#'." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1WebhookRequest": { +"description": "The request message for a webhook call.", +"id": "GoogleCloudDialogflowV2beta1WebhookRequest", +"properties": { +"alternativeQueryResults": { +"description": "Alternative query results from KnowledgeService.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1QueryResult" +}, +"type": "array" +}, +"originalDetectIntentRequest": { +"$ref": "GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest", +"description": "Optional. The contents of the original request that was passed to `[Streaming]DetectIntent` call." +}, +"queryResult": { +"$ref": "GoogleCloudDialogflowV2beta1QueryResult", +"description": "The result of the conversational query or event processing. Contains the same value as `[Streaming]DetectIntentResponse.query_result`." +}, +"responseId": { +"description": "The unique identifier of the response. Contains the same value as `[Streaming]DetectIntentResponse.response_id`.", +"type": "string" +}, +"session": { +"description": "The unique identifier of detectIntent request session. Can be used to identify end-user inside webhook implementation. Supported formats: - `projects//agent/sessions/, - `projects//locations//agent/sessions/`, - `projects//agent/environments//users//sessions/`, - `projects//locations//agent/environments//users//sessions/`,", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1WebhookResponse": { +"description": "The response message for a webhook call. This response is validated by the Dialogflow server. If validation fails, an error will be returned in the QueryResult.diagnostic_info field. Setting JSON fields to an empty value with the wrong type is a common error. To avoid this error: - Use `\"\"` for empty strings - Use `{}` or `null` for empty objects - Use `[]` or `null` for empty arrays For more information, see the [Protocol Buffers Language Guide](https://developers.google.com/protocol-buffers/docs/proto3#json).", +"id": "GoogleCloudDialogflowV2beta1WebhookResponse", +"properties": { +"endInteraction": { +"description": "Optional. Indicates that this intent ends an interaction. Some integrations (e.g., Actions on Google or Dialogflow phone gateway) use this information to close interaction with an end user. Default is false.", +"type": "boolean" +}, +"followupEventInput": { +"$ref": "GoogleCloudDialogflowV2beta1EventInput", +"description": "Optional. Invokes the supplied events. When this field is set, Dialogflow ignores the `fulfillment_text`, `fulfillment_messages`, and `payload` fields." +}, +"fulfillmentMessages": { +"description": "Optional. The rich response messages intended for the end-user. When provided, Dialogflow uses this field to populate QueryResult.fulfillment_messages sent to the integration or API caller.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1IntentMessage" +}, +"type": "array" +}, +"fulfillmentText": { +"description": "Optional. The text response message intended for the end-user. It is recommended to use `fulfillment_messages.text.text[0]` instead. When provided, Dialogflow uses this field to populate QueryResult.fulfillment_text sent to the integration or API caller.", +"type": "string" +}, +"liveAgentHandoff": { +"description": "Indicates that a live agent should be brought in to handle the interaction with the user. In most cases, when you set this flag to true, you would also want to set end_interaction to true as well. Default is false.", +"type": "boolean" +}, +"outputContexts": { +"description": "Optional. The collection of output contexts that will overwrite currently active contexts for the session and reset their lifespans. When provided, Dialogflow uses this field to populate QueryResult.output_contexts sent to the integration or API caller.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1Context" +}, +"type": "array" +}, +"payload": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. This field can be used to pass custom data from your webhook to the integration or API caller. Arbitrary JSON objects are supported. When provided, Dialogflow uses this field to populate QueryResult.webhook_payload sent to the integration or API caller. This field is also used by the [Google Assistant integration](https://cloud.google.com/dialogflow/docs/integrations/aog) for rich response messages. See the format definition at [Google Assistant Dialogflow webhook format](https://developers.google.com/assistant/actions/build/json/dialogflow-webhook-json)", +"type": "object" +}, +"sessionEntityTypes": { +"description": "Optional. Additional session entity types to replace or extend developer entity types with. The entity synonyms apply to all languages and persist for the session. Setting this data from a webhook overwrites the session entity types that have been set using `detectIntent`, `streamingDetectIntent` or SessionEntityType management methods.", +"items": { +"$ref": "GoogleCloudDialogflowV2beta1SessionEntityType" +}, +"type": "array" +}, +"source": { +"description": "Optional. A custom field used to identify the webhook source. Arbitrary strings are supported. When provided, Dialogflow uses this field to populate QueryResult.webhook_source sent to the integration or API caller.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV3alpha1ConversationSignals": { +"description": "This message is used to hold all the Conversation Signals data, which will be converted to JSON and exported to BigQuery.", +"id": "GoogleCloudDialogflowV3alpha1ConversationSignals", +"properties": { +"turnSignals": { +"$ref": "GoogleCloudDialogflowV3alpha1TurnSignals", +"description": "Required. Turn signals for the current turn." +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV3alpha1TurnSignals": { +"description": "Collection of all signals that were extracted for a single turn of the conversation.", +"id": "GoogleCloudDialogflowV3alpha1TurnSignals", +"properties": { +"agentEscalated": { +"description": "Whether agent responded with LiveAgentHandoff fulfillment.", +"type": "boolean" +}, +"dtmfUsed": { +"description": "Whether user was using DTMF input.", +"type": "boolean" +}, +"failureReasons": { +"description": "Failure reasons of the turn.", +"items": { +"enum": [ +"FAILURE_REASON_UNSPECIFIED", +"FAILED_INTENT", +"FAILED_WEBHOOK" +], +"enumDescriptions": [ +"Failure reason is not assigned.", +"Whether NLU failed to recognize user intent.", +"Whether webhook failed during the turn." +], +"type": "string" +}, +"type": "array" +}, +"noMatch": { +"description": "Whether NLU predicted NO_MATCH.", +"type": "boolean" +}, +"noUserInput": { +"description": "Whether user provided no input.", +"type": "boolean" +}, +"reachedEndPage": { +"description": "Whether turn resulted in End Session page.", +"type": "boolean" +}, +"sentimentMagnitude": { +"description": "Sentiment magnitude of the user utterance if [sentiment](https://cloud.google.com/dialogflow/cx/docs/concept/sentiment) was enabled.", +"format": "float", +"type": "number" +}, +"sentimentScore": { +"description": "Sentiment score of the user utterance if [sentiment](https://cloud.google.com/dialogflow/cx/docs/concept/sentiment) was enabled.", +"format": "float", +"type": "number" +}, +"triggeredAbandonmentEvent": { +"description": "Whether agent has triggered the event corresponding to user abandoning the conversation.", +"type": "boolean" +}, +"userEscalated": { +"description": "Whether user was specifically asking for a live agent.", +"type": "boolean" +}, +"webhookStatuses": { +"description": "Human-readable statuses of the webhooks triggered during this turn.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"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" +}, +"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" +}, +"GoogleTypeLatLng": { +"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": "GoogleTypeLatLng", +"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" +} +}, +"servicePath": "", +"title": "Dialogflow API", +"version": "v3beta1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/documentai.v1beta2.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/documentai.v1beta2.json new file mode 100644 index 0000000000000000000000000000000000000000..b73dd7d3f892bc80cc8dc087794fccd9ab65db66 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/documentai.v1beta2.json @@ -0,0 +1,6139 @@ +{ +"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://documentai.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Document", +"description": "Service to parse structured information from unstructured or semi-structured documents using state-of-the-art Google AI such as natural language, computer vision, translation, and AutoML.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/document-ai/docs/", +"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": "documentai:v1beta2", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://documentai.mtls.googleapis.com/", +"name": "documentai", +"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": { +"documents": { +"methods": { +"batchProcess": { +"description": "LRO endpoint to batch process many documents. The output is written to Cloud Storage as JSON in the [Document] format.", +"flatPath": "v1beta2/projects/{projectsId}/documents:batchProcess", +"httpMethod": "POST", +"id": "documentai.projects.documents.batchProcess", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Target project and location to make a call. Format: `projects/{project-id}/locations/{location-id}`. If no location is specified, a region will be chosen automatically.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+parent}/documents:batchProcess", +"request": { +"$ref": "GoogleCloudDocumentaiV1beta2BatchProcessDocumentsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"process": { +"description": "Processes a single document.", +"flatPath": "v1beta2/projects/{projectsId}/documents:process", +"httpMethod": "POST", +"id": "documentai.projects.documents.process", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Target project and location to make a call. Format: `projects/{project-id}/locations/{location-id}`. If no location is specified, a region will be chosen automatically. This field is only populated when used in ProcessDocument method.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+parent}/documents:process", +"request": { +"$ref": "GoogleCloudDocumentaiV1beta2ProcessDocumentRequest" +}, +"response": { +"$ref": "GoogleCloudDocumentaiV1beta2Document" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"locations": { +"resources": { +"documents": { +"methods": { +"batchProcess": { +"description": "LRO endpoint to batch process many documents. The output is written to Cloud Storage as JSON in the [Document] format.", +"flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/documents:batchProcess", +"httpMethod": "POST", +"id": "documentai.projects.locations.documents.batchProcess", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Target project and location to make a call. Format: `projects/{project-id}/locations/{location-id}`. If no location is specified, a region will be chosen automatically.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+parent}/documents:batchProcess", +"request": { +"$ref": "GoogleCloudDocumentaiV1beta2BatchProcessDocumentsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"process": { +"description": "Processes a single document.", +"flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/documents:process", +"httpMethod": "POST", +"id": "documentai.projects.locations.documents.process", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Target project and location to make a call. Format: `projects/{project-id}/locations/{location-id}`. If no location is specified, a region will be chosen automatically. This field is only populated when used in ProcessDocument method.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+parent}/documents:process", +"request": { +"$ref": "GoogleCloudDocumentaiV1beta2ProcessDocumentRequest" +}, +"response": { +"$ref": "GoogleCloudDocumentaiV1beta2Document" +}, +"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": "v1beta2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "documentai.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": "v1beta2/{+name}", +"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": "v1beta2/projects/{projectsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "documentai.projects.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +}, +"revision": "20240703", +"rootUrl": "https://documentai.googleapis.com/", +"schemas": { +"GoogleCloudDocumentaiUiv1beta3AutoLabelDocumentsMetadata": { +"description": "Metadata of the auto-labeling documents operation.", +"id": "GoogleCloudDocumentaiUiv1beta3AutoLabelDocumentsMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +}, +"individualAutoLabelStatuses": { +"description": "The list of individual auto-labeling statuses of the dataset documents.", +"items": { +"$ref": "GoogleCloudDocumentaiUiv1beta3AutoLabelDocumentsMetadataIndividualAutoLabelStatus" +}, +"type": "array" +}, +"totalDocumentCount": { +"description": "Total number of the auto-labeling documents.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3AutoLabelDocumentsMetadataIndividualAutoLabelStatus": { +"description": "The status of individual documents in the auto-labeling process.", +"id": "GoogleCloudDocumentaiUiv1beta3AutoLabelDocumentsMetadataIndividualAutoLabelStatus", +"properties": { +"documentId": { +"$ref": "GoogleCloudDocumentaiUiv1beta3DocumentId", +"description": "The document id of the auto-labeled document. This will replace the gcs_uri." +}, +"status": { +"$ref": "GoogleRpcStatus", +"description": "The status of the document auto-labeling." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3AutoLabelDocumentsResponse": { +"description": "The response proto of AutoLabelDocuments method.", +"id": "GoogleCloudDocumentaiUiv1beta3AutoLabelDocumentsResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3BatchDeleteDocumentsMetadata": { +"id": "GoogleCloudDocumentaiUiv1beta3BatchDeleteDocumentsMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +}, +"errorDocumentCount": { +"description": "Total number of documents that failed to be deleted in storage.", +"format": "int32", +"type": "integer" +}, +"individualBatchDeleteStatuses": { +"description": "The list of response details of each document.", +"items": { +"$ref": "GoogleCloudDocumentaiUiv1beta3BatchDeleteDocumentsMetadataIndividualBatchDeleteStatus" +}, +"type": "array" +}, +"totalDocumentCount": { +"description": "Total number of documents deleting from dataset.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3BatchDeleteDocumentsMetadataIndividualBatchDeleteStatus": { +"description": "The status of each individual document in the batch delete process.", +"id": "GoogleCloudDocumentaiUiv1beta3BatchDeleteDocumentsMetadataIndividualBatchDeleteStatus", +"properties": { +"documentId": { +"$ref": "GoogleCloudDocumentaiUiv1beta3DocumentId", +"description": "The document id of the document." +}, +"status": { +"$ref": "GoogleRpcStatus", +"description": "The status of deleting the document in storage." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3BatchDeleteDocumentsResponse": { +"description": "Response of the delete documents operation.", +"id": "GoogleCloudDocumentaiUiv1beta3BatchDeleteDocumentsResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3BatchMoveDocumentsMetadata": { +"id": "GoogleCloudDocumentaiUiv1beta3BatchMoveDocumentsMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +}, +"destDatasetType": { +"deprecated": true, +"description": "The destination dataset split type.", +"enum": [ +"DATASET_SPLIT_TYPE_UNSPECIFIED", +"DATASET_SPLIT_TRAIN", +"DATASET_SPLIT_TEST", +"DATASET_SPLIT_UNASSIGNED" +], +"enumDescriptions": [ +"Default value if the enum is not set.", +"Identifies the train documents.", +"Identifies the test documents.", +"Identifies the unassigned documents." +], +"type": "string" +}, +"destSplitType": { +"description": "The destination dataset split type.", +"enum": [ +"DATASET_SPLIT_TYPE_UNSPECIFIED", +"DATASET_SPLIT_TRAIN", +"DATASET_SPLIT_TEST", +"DATASET_SPLIT_UNASSIGNED" +], +"enumDescriptions": [ +"Default value if the enum is not set.", +"Identifies the train documents.", +"Identifies the test documents.", +"Identifies the unassigned documents." +], +"type": "string" +}, +"individualBatchMoveStatuses": { +"description": "The list of response details of each document.", +"items": { +"$ref": "GoogleCloudDocumentaiUiv1beta3BatchMoveDocumentsMetadataIndividualBatchMoveStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3BatchMoveDocumentsMetadataIndividualBatchMoveStatus": { +"description": "The status of each individual document in the batch move process.", +"id": "GoogleCloudDocumentaiUiv1beta3BatchMoveDocumentsMetadataIndividualBatchMoveStatus", +"properties": { +"documentId": { +"$ref": "GoogleCloudDocumentaiUiv1beta3DocumentId", +"description": "The document id of the document." +}, +"status": { +"$ref": "GoogleRpcStatus", +"description": "The status of moving the document." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3BatchMoveDocumentsResponse": { +"description": "Response of the batch move documents operation.", +"id": "GoogleCloudDocumentaiUiv1beta3BatchMoveDocumentsResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3BatchUpdateDocumentsMetadata": { +"id": "GoogleCloudDocumentaiUiv1beta3BatchUpdateDocumentsMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +}, +"individualBatchUpdateStatuses": { +"description": "The list of response details of each document.", +"items": { +"$ref": "GoogleCloudDocumentaiUiv1beta3BatchUpdateDocumentsMetadataIndividualBatchUpdateStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3BatchUpdateDocumentsMetadataIndividualBatchUpdateStatus": { +"description": "The status of each individual document in the batch update process.", +"id": "GoogleCloudDocumentaiUiv1beta3BatchUpdateDocumentsMetadataIndividualBatchUpdateStatus", +"properties": { +"documentId": { +"$ref": "GoogleCloudDocumentaiUiv1beta3DocumentId", +"description": "The document id of the document." +}, +"status": { +"$ref": "GoogleRpcStatus", +"description": "The status of updating the document in storage." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3BatchUpdateDocumentsResponse": { +"description": "Response of the batch update documents operation.", +"id": "GoogleCloudDocumentaiUiv1beta3BatchUpdateDocumentsResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata": { +"description": "The common metadata for long running operations.", +"id": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", +"properties": { +"createTime": { +"description": "The creation time of the operation.", +"format": "google-datetime", +"type": "string" +}, +"resource": { +"description": "A related resource to this operation.", +"type": "string" +}, +"state": { +"description": "The state of the operation.", +"enum": [ +"STATE_UNSPECIFIED", +"RUNNING", +"CANCELLING", +"SUCCEEDED", +"FAILED", +"CANCELLED" +], +"enumDescriptions": [ +"Unspecified state.", +"Operation is still running.", +"Operation is being cancelled.", +"Operation succeeded.", +"Operation failed.", +"Operation is cancelled." +], +"type": "string" +}, +"stateMessage": { +"description": "A message providing more details about the current state of processing.", +"type": "string" +}, +"updateTime": { +"description": "The last update time of the operation.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3CreateLabelerPoolOperationMetadata": { +"description": "The long-running operation metadata for the CreateLabelerPool method.", +"id": "GoogleCloudDocumentaiUiv1beta3CreateLabelerPoolOperationMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3DeleteLabelerPoolOperationMetadata": { +"description": "The long-running operation metadata for DeleteLabelerPool.", +"id": "GoogleCloudDocumentaiUiv1beta3DeleteLabelerPoolOperationMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3DeleteProcessorMetadata": { +"description": "The long-running operation metadata for the DeleteProcessor method.", +"id": "GoogleCloudDocumentaiUiv1beta3DeleteProcessorMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3DeleteProcessorVersionMetadata": { +"description": "The long-running operation metadata for the DeleteProcessorVersion method.", +"id": "GoogleCloudDocumentaiUiv1beta3DeleteProcessorVersionMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3DeployProcessorVersionMetadata": { +"description": "The long-running operation metadata for the DeployProcessorVersion method.", +"id": "GoogleCloudDocumentaiUiv1beta3DeployProcessorVersionMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3DeployProcessorVersionResponse": { +"description": "Response message for the DeployProcessorVersion method.", +"id": "GoogleCloudDocumentaiUiv1beta3DeployProcessorVersionResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3DisableProcessorMetadata": { +"description": "The long-running operation metadata for the DisableProcessor method.", +"id": "GoogleCloudDocumentaiUiv1beta3DisableProcessorMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3DisableProcessorResponse": { +"description": "Response message for the DisableProcessor method. Intentionally empty proto for adding fields in future.", +"id": "GoogleCloudDocumentaiUiv1beta3DisableProcessorResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3DocumentId": { +"description": "Document Identifier.", +"id": "GoogleCloudDocumentaiUiv1beta3DocumentId", +"properties": { +"gcsManagedDocId": { +"$ref": "GoogleCloudDocumentaiUiv1beta3DocumentIdGCSManagedDocumentId", +"description": "A document id within user-managed Cloud Storage." +}, +"revisionRef": { +"$ref": "GoogleCloudDocumentaiUiv1beta3RevisionRef", +"description": "Points to a specific revision of the document if set." +}, +"unmanagedDocId": { +"$ref": "GoogleCloudDocumentaiUiv1beta3DocumentIdUnmanagedDocumentId", +"description": "A document id within unmanaged dataset." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3DocumentIdGCSManagedDocumentId": { +"description": "Identifies a document uniquely within the scope of a dataset in the user-managed Cloud Storage option.", +"id": "GoogleCloudDocumentaiUiv1beta3DocumentIdGCSManagedDocumentId", +"properties": { +"cwDocId": { +"deprecated": true, +"description": "Id of the document (indexed) managed by Content Warehouse.", +"type": "string" +}, +"gcsUri": { +"description": "Required. The Cloud Storage URI where the actual document is stored.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3DocumentIdUnmanagedDocumentId": { +"description": "Identifies a document uniquely within the scope of a dataset in unmanaged option.", +"id": "GoogleCloudDocumentaiUiv1beta3DocumentIdUnmanagedDocumentId", +"properties": { +"docId": { +"description": "Required. The id of the document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3EnableProcessorMetadata": { +"description": "The long-running operation metadata for the EnableProcessor method.", +"id": "GoogleCloudDocumentaiUiv1beta3EnableProcessorMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3EnableProcessorResponse": { +"description": "Response message for the EnableProcessor method. Intentionally empty proto for adding fields in future.", +"id": "GoogleCloudDocumentaiUiv1beta3EnableProcessorResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3EvaluateProcessorVersionMetadata": { +"description": "Metadata of the EvaluateProcessorVersion method.", +"id": "GoogleCloudDocumentaiUiv1beta3EvaluateProcessorVersionMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3EvaluateProcessorVersionResponse": { +"description": "Response of the EvaluateProcessorVersion method.", +"id": "GoogleCloudDocumentaiUiv1beta3EvaluateProcessorVersionResponse", +"properties": { +"evaluation": { +"description": "The resource name of the created evaluation.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3ExportDocumentsMetadata": { +"description": "Metadata of the batch export documents operation.", +"id": "GoogleCloudDocumentaiUiv1beta3ExportDocumentsMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +}, +"individualExportStatuses": { +"description": "The list of response details of each document.", +"items": { +"$ref": "GoogleCloudDocumentaiUiv1beta3ExportDocumentsMetadataIndividualExportStatus" +}, +"type": "array" +}, +"splitExportStats": { +"description": "The list of statistics for each dataset split type.", +"items": { +"$ref": "GoogleCloudDocumentaiUiv1beta3ExportDocumentsMetadataSplitExportStat" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3ExportDocumentsMetadataIndividualExportStatus": { +"description": "The status of each individual document in the export process.", +"id": "GoogleCloudDocumentaiUiv1beta3ExportDocumentsMetadataIndividualExportStatus", +"properties": { +"documentId": { +"$ref": "GoogleCloudDocumentaiUiv1beta3DocumentId", +"description": "The path to source docproto of the document." +}, +"outputGcsDestination": { +"description": "The output_gcs_destination of the exported document if it was successful, otherwise empty.", +"type": "string" +}, +"status": { +"$ref": "GoogleRpcStatus", +"description": "The status of the exporting of the document." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3ExportDocumentsMetadataSplitExportStat": { +"description": "The statistic representing a dataset split type for this export.", +"id": "GoogleCloudDocumentaiUiv1beta3ExportDocumentsMetadataSplitExportStat", +"properties": { +"splitType": { +"description": "The dataset split type.", +"enum": [ +"DATASET_SPLIT_TYPE_UNSPECIFIED", +"DATASET_SPLIT_TRAIN", +"DATASET_SPLIT_TEST", +"DATASET_SPLIT_UNASSIGNED" +], +"enumDescriptions": [ +"Default value if the enum is not set.", +"Identifies the train documents.", +"Identifies the test documents.", +"Identifies the unassigned documents." +], +"type": "string" +}, +"totalDocumentCount": { +"description": "Total number of documents with the given dataset split type to be exported.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3ExportDocumentsResponse": { +"description": "The response proto of ExportDocuments method.", +"id": "GoogleCloudDocumentaiUiv1beta3ExportDocumentsResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3ExportProcessorVersionMetadata": { +"description": "Metadata message associated with the ExportProcessorVersion operation.", +"id": "GoogleCloudDocumentaiUiv1beta3ExportProcessorVersionMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", +"description": "The common metadata about the operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3ExportProcessorVersionResponse": { +"description": "Response message associated with the ExportProcessorVersion operation.", +"id": "GoogleCloudDocumentaiUiv1beta3ExportProcessorVersionResponse", +"properties": { +"gcsUri": { +"description": "The Cloud Storage URI containing the output artifacts.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3ImportDocumentsMetadata": { +"description": "Metadata of the import document operation.", +"id": "GoogleCloudDocumentaiUiv1beta3ImportDocumentsMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +}, +"importConfigValidationResults": { +"description": "Validation statuses of the batch documents import config.", +"items": { +"$ref": "GoogleCloudDocumentaiUiv1beta3ImportDocumentsMetadataImportConfigValidationResult" +}, +"type": "array" +}, +"individualImportStatuses": { +"description": "The list of response details of each document.", +"items": { +"$ref": "GoogleCloudDocumentaiUiv1beta3ImportDocumentsMetadataIndividualImportStatus" +}, +"type": "array" +}, +"totalDocumentCount": { +"description": "Total number of the documents that are qualified for importing.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3ImportDocumentsMetadataImportConfigValidationResult": { +"description": "The validation status of each import config. Status is set to an error if there are no documents to import in the `import_config`, or `OK` if the operation will try to proceed with at least one document.", +"id": "GoogleCloudDocumentaiUiv1beta3ImportDocumentsMetadataImportConfigValidationResult", +"properties": { +"inputGcsSource": { +"description": "The source Cloud Storage URI specified in the import config.", +"type": "string" +}, +"status": { +"$ref": "GoogleRpcStatus", +"description": "The validation status of import config." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3ImportDocumentsMetadataIndividualImportStatus": { +"description": "The status of each individual document in the import process.", +"id": "GoogleCloudDocumentaiUiv1beta3ImportDocumentsMetadataIndividualImportStatus", +"properties": { +"inputGcsSource": { +"description": "The source Cloud Storage URI of the document.", +"type": "string" +}, +"outputDocumentId": { +"$ref": "GoogleCloudDocumentaiUiv1beta3DocumentId", +"description": "The document id of imported document if it was successful, otherwise empty." +}, +"outputGcsDestination": { +"description": "The output_gcs_destination of the processed document if it was successful, otherwise empty.", +"type": "string" +}, +"status": { +"$ref": "GoogleRpcStatus", +"description": "The status of the importing of the document." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3ImportDocumentsResponse": { +"description": "Response of the import document operation.", +"id": "GoogleCloudDocumentaiUiv1beta3ImportDocumentsResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3ImportProcessorVersionMetadata": { +"description": "The long-running operation metadata for the ImportProcessorVersion method.", +"id": "GoogleCloudDocumentaiUiv1beta3ImportProcessorVersionMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", +"description": "The basic metadata for the long-running operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3ImportProcessorVersionResponse": { +"description": "The response message for the ImportProcessorVersion method.", +"id": "GoogleCloudDocumentaiUiv1beta3ImportProcessorVersionResponse", +"properties": { +"processorVersion": { +"description": "The destination processor version name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadata": { +"description": "The metadata proto of `ResyncDataset` method.", +"id": "GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +}, +"datasetResyncStatuses": { +"description": "The list of dataset resync statuses. Not checked when ResyncDatasetRequest.dataset_documents is specified.", +"items": { +"$ref": "GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadataDatasetResyncStatus" +}, +"type": "array" +}, +"individualDocumentResyncStatuses": { +"description": "The list of document resync statuses. The same document could have multiple `individual_document_resync_statuses` if it has multiple inconsistencies.", +"items": { +"$ref": "GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadataIndividualDocumentResyncStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadataDatasetResyncStatus": { +"description": "Resync status against inconsistency types on the dataset level.", +"id": "GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadataDatasetResyncStatus", +"properties": { +"datasetInconsistencyType": { +"description": "The type of the inconsistency of the dataset.", +"enum": [ +"DATASET_INCONSISTENCY_TYPE_UNSPECIFIED", +"DATASET_INCONSISTENCY_TYPE_NO_STORAGE_MARKER" +], +"enumDescriptions": [ +"Default value.", +"The marker file under the dataset folder is not found." +], +"type": "string" +}, +"status": { +"$ref": "GoogleRpcStatus", +"description": "The status of resyncing the dataset with regards to the detected inconsistency. Empty if ResyncDatasetRequest.validate_only is `true`." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadataIndividualDocumentResyncStatus": { +"description": "Resync status for each document per inconsistency type.", +"id": "GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadataIndividualDocumentResyncStatus", +"properties": { +"documentId": { +"$ref": "GoogleCloudDocumentaiUiv1beta3DocumentId", +"description": "The document identifier." +}, +"documentInconsistencyType": { +"description": "The type of document inconsistency.", +"enum": [ +"DOCUMENT_INCONSISTENCY_TYPE_UNSPECIFIED", +"DOCUMENT_INCONSISTENCY_TYPE_INVALID_DOCPROTO", +"DOCUMENT_INCONSISTENCY_TYPE_MISMATCHED_METADATA", +"DOCUMENT_INCONSISTENCY_TYPE_NO_PAGE_IMAGE" +], +"enumDescriptions": [ +"Default value.", +"The document proto is invalid.", +"Indexed docproto metadata is mismatched.", +"The page image or thumbnails are missing." +], +"type": "string" +}, +"status": { +"$ref": "GoogleRpcStatus", +"description": "The status of resyncing the document with regards to the detected inconsistency. Empty if ResyncDatasetRequest.validate_only is `true`." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3ResyncDatasetResponse": { +"description": "The response proto of ResyncDataset method.", +"id": "GoogleCloudDocumentaiUiv1beta3ResyncDatasetResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3RevisionRef": { +"description": "The revision reference specifies which revision on the document to read.", +"id": "GoogleCloudDocumentaiUiv1beta3RevisionRef", +"properties": { +"latestProcessorVersion": { +"description": "Reads the revision generated by the processor version. The format takes the full resource name of processor version. `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}`", +"type": "string" +}, +"revisionCase": { +"description": "Reads the revision by the predefined case.", +"enum": [ +"REVISION_CASE_UNSPECIFIED", +"LATEST_HUMAN_REVIEW", +"LATEST_TIMESTAMP", +"BASE_OCR_REVISION" +], +"enumDescriptions": [ +"Unspecified case, fall back to read the `LATEST_HUMAN_REVIEW`.", +"The latest revision made by a human.", +"The latest revision based on timestamp.", +"The first (OCR) revision." +], +"type": "string" +}, +"revisionId": { +"description": "Reads the revision given by the id.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3SampleDocumentsMetadata": { +"description": "Metadata of the sample documents operation.", +"id": "GoogleCloudDocumentaiUiv1beta3SampleDocumentsMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3SampleDocumentsResponse": { +"description": "Response of the sample documents operation.", +"id": "GoogleCloudDocumentaiUiv1beta3SampleDocumentsResponse", +"properties": { +"sampleTestStatus": { +"$ref": "GoogleRpcStatus", +"description": "The status of sampling documents in test split." +}, +"sampleTrainingStatus": { +"$ref": "GoogleRpcStatus", +"description": "The status of sampling documents in training split." +}, +"selectedDocuments": { +"description": "The result of the sampling process.", +"items": { +"$ref": "GoogleCloudDocumentaiUiv1beta3SampleDocumentsResponseSelectedDocument" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3SampleDocumentsResponseSelectedDocument": { +"id": "GoogleCloudDocumentaiUiv1beta3SampleDocumentsResponseSelectedDocument", +"properties": { +"documentId": { +"description": "An internal identifier for document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3SetDefaultProcessorVersionMetadata": { +"description": "The long-running operation metadata for the SetDefaultProcessorVersion method.", +"id": "GoogleCloudDocumentaiUiv1beta3SetDefaultProcessorVersionMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3SetDefaultProcessorVersionResponse": { +"description": "Response message for the SetDefaultProcessorVersion method.", +"id": "GoogleCloudDocumentaiUiv1beta3SetDefaultProcessorVersionResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3TrainProcessorVersionMetadata": { +"description": "The metadata that represents a processor version being created.", +"id": "GoogleCloudDocumentaiUiv1beta3TrainProcessorVersionMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +}, +"testDatasetValidation": { +"$ref": "GoogleCloudDocumentaiUiv1beta3TrainProcessorVersionMetadataDatasetValidation", +"description": "The test dataset validation information." +}, +"trainingDatasetValidation": { +"$ref": "GoogleCloudDocumentaiUiv1beta3TrainProcessorVersionMetadataDatasetValidation", +"description": "The training dataset validation information." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3TrainProcessorVersionMetadataDatasetValidation": { +"description": "The dataset validation information. This includes any and all errors with documents and the dataset.", +"id": "GoogleCloudDocumentaiUiv1beta3TrainProcessorVersionMetadataDatasetValidation", +"properties": { +"datasetErrorCount": { +"description": "The total number of dataset errors.", +"format": "int32", +"type": "integer" +}, +"datasetErrors": { +"description": "Error information for the dataset as a whole. A maximum of 10 dataset errors will be returned. A single dataset error is terminal for training.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"documentErrorCount": { +"description": "The total number of document errors.", +"format": "int32", +"type": "integer" +}, +"documentErrors": { +"description": "Error information pertaining to specific documents. A maximum of 10 document errors will be returned. Any document with errors will not be used throughout training.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3TrainProcessorVersionResponse": { +"description": "The response for TrainProcessorVersion.", +"id": "GoogleCloudDocumentaiUiv1beta3TrainProcessorVersionResponse", +"properties": { +"processorVersion": { +"description": "The resource name of the processor version produced by training.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3UndeployProcessorVersionMetadata": { +"description": "The long-running operation metadata for the UndeployProcessorVersion method.", +"id": "GoogleCloudDocumentaiUiv1beta3UndeployProcessorVersionMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3UndeployProcessorVersionResponse": { +"description": "Response message for the UndeployProcessorVersion method.", +"id": "GoogleCloudDocumentaiUiv1beta3UndeployProcessorVersionResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3UpdateDatasetOperationMetadata": { +"id": "GoogleCloudDocumentaiUiv1beta3UpdateDatasetOperationMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3UpdateHumanReviewConfigMetadata": { +"description": "The long-running operation metadata for updating the human review configuration.", +"id": "GoogleCloudDocumentaiUiv1beta3UpdateHumanReviewConfigMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiUiv1beta3UpdateLabelerPoolOperationMetadata": { +"description": "The long-running operation metadata for UpdateLabelerPool.", +"id": "GoogleCloudDocumentaiUiv1beta3UpdateLabelerPoolOperationMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1BatchProcessMetadata": { +"description": "The long-running operation metadata for BatchProcessDocuments.", +"id": "GoogleCloudDocumentaiV1BatchProcessMetadata", +"properties": { +"createTime": { +"description": "The creation time of the operation.", +"format": "google-datetime", +"type": "string" +}, +"individualProcessStatuses": { +"description": "The list of response details of each document.", +"items": { +"$ref": "GoogleCloudDocumentaiV1BatchProcessMetadataIndividualProcessStatus" +}, +"type": "array" +}, +"state": { +"description": "The state of the current batch processing.", +"enum": [ +"STATE_UNSPECIFIED", +"WAITING", +"RUNNING", +"SUCCEEDED", +"CANCELLING", +"CANCELLED", +"FAILED" +], +"enumDescriptions": [ +"The default value. This value is used if the state is omitted.", +"Request operation is waiting for scheduling.", +"Request is being processed.", +"The batch processing completed successfully.", +"The batch processing was being cancelled.", +"The batch processing was cancelled.", +"The batch processing has failed." +], +"type": "string" +}, +"stateMessage": { +"description": "A message providing more details about the current state of processing. For example, the error message if the operation is failed.", +"type": "string" +}, +"updateTime": { +"description": "The last update time of the operation.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1BatchProcessMetadataIndividualProcessStatus": { +"description": "The status of a each individual document in the batch process.", +"id": "GoogleCloudDocumentaiV1BatchProcessMetadataIndividualProcessStatus", +"properties": { +"humanReviewStatus": { +"$ref": "GoogleCloudDocumentaiV1HumanReviewStatus", +"description": "The status of human review on the processed document." +}, +"inputGcsSource": { +"description": "The source of the document, same as the input_gcs_source field in the request when the batch process started.", +"type": "string" +}, +"outputGcsDestination": { +"description": "The Cloud Storage output destination (in the request as DocumentOutputConfig.GcsOutputConfig.gcs_uri) of the processed document if it was successful, otherwise empty.", +"type": "string" +}, +"status": { +"$ref": "GoogleRpcStatus", +"description": "The status processing the document." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1BatchProcessResponse": { +"description": "Response message for BatchProcessDocuments.", +"id": "GoogleCloudDocumentaiV1BatchProcessResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDocumentaiV1CommonOperationMetadata": { +"description": "The common metadata for long running operations.", +"id": "GoogleCloudDocumentaiV1CommonOperationMetadata", +"properties": { +"createTime": { +"description": "The creation time of the operation.", +"format": "google-datetime", +"type": "string" +}, +"resource": { +"description": "A related resource to this operation.", +"type": "string" +}, +"state": { +"description": "The state of the operation.", +"enum": [ +"STATE_UNSPECIFIED", +"RUNNING", +"CANCELLING", +"SUCCEEDED", +"FAILED", +"CANCELLED" +], +"enumDescriptions": [ +"Unspecified state.", +"Operation is still running.", +"Operation is being cancelled.", +"Operation succeeded.", +"Operation failed.", +"Operation is cancelled." +], +"type": "string" +}, +"stateMessage": { +"description": "A message providing more details about the current state of processing.", +"type": "string" +}, +"updateTime": { +"description": "The last update time of the operation.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1DeleteProcessorMetadata": { +"description": "The long-running operation metadata for the DeleteProcessor method.", +"id": "GoogleCloudDocumentaiV1DeleteProcessorMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiV1CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1DeleteProcessorVersionMetadata": { +"description": "The long-running operation metadata for the DeleteProcessorVersion method.", +"id": "GoogleCloudDocumentaiV1DeleteProcessorVersionMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiV1CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1DeployProcessorVersionMetadata": { +"description": "The long-running operation metadata for the DeployProcessorVersion method.", +"id": "GoogleCloudDocumentaiV1DeployProcessorVersionMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiV1CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1DeployProcessorVersionResponse": { +"description": "Response message for the DeployProcessorVersion method.", +"id": "GoogleCloudDocumentaiV1DeployProcessorVersionResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDocumentaiV1DisableProcessorMetadata": { +"description": "The long-running operation metadata for the DisableProcessor method.", +"id": "GoogleCloudDocumentaiV1DisableProcessorMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiV1CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1DisableProcessorResponse": { +"description": "Response message for the DisableProcessor method. Intentionally empty proto for adding fields in future.", +"id": "GoogleCloudDocumentaiV1DisableProcessorResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDocumentaiV1EnableProcessorMetadata": { +"description": "The long-running operation metadata for the EnableProcessor method.", +"id": "GoogleCloudDocumentaiV1EnableProcessorMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiV1CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1EnableProcessorResponse": { +"description": "Response message for the EnableProcessor method. Intentionally empty proto for adding fields in future.", +"id": "GoogleCloudDocumentaiV1EnableProcessorResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDocumentaiV1EvaluateProcessorVersionMetadata": { +"description": "Metadata of the EvaluateProcessorVersion method.", +"id": "GoogleCloudDocumentaiV1EvaluateProcessorVersionMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiV1CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1EvaluateProcessorVersionResponse": { +"description": "Response of the EvaluateProcessorVersion method.", +"id": "GoogleCloudDocumentaiV1EvaluateProcessorVersionResponse", +"properties": { +"evaluation": { +"description": "The resource name of the created evaluation.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1HumanReviewStatus": { +"description": "The status of human review on a processed document.", +"id": "GoogleCloudDocumentaiV1HumanReviewStatus", +"properties": { +"humanReviewOperation": { +"description": "The name of the operation triggered by the processed document. This field is populated only when the state is `HUMAN_REVIEW_IN_PROGRESS`. It has the same response type and metadata as the long-running operation returned by ReviewDocument.", +"type": "string" +}, +"state": { +"description": "The state of human review on the processing request.", +"enum": [ +"STATE_UNSPECIFIED", +"SKIPPED", +"VALIDATION_PASSED", +"IN_PROGRESS", +"ERROR" +], +"enumDescriptions": [ +"Human review state is unspecified. Most likely due to an internal error.", +"Human review is skipped for the document. This can happen because human review isn't enabled on the processor or the processing request has been set to skip this document.", +"Human review validation is triggered and passed, so no review is needed.", +"Human review validation is triggered and the document is under review.", +"Some error happened during triggering human review, see the state_message for details." +], +"type": "string" +}, +"stateMessage": { +"description": "A message providing more details about the human review state.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1ReviewDocumentOperationMetadata": { +"description": "The long-running operation metadata for the ReviewDocument method.", +"id": "GoogleCloudDocumentaiV1ReviewDocumentOperationMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiV1CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +}, +"questionId": { +"description": "The Crowd Compute question ID.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1ReviewDocumentResponse": { +"description": "Response message for the ReviewDocument method.", +"id": "GoogleCloudDocumentaiV1ReviewDocumentResponse", +"properties": { +"gcsDestination": { +"description": "The Cloud Storage uri for the human reviewed document if the review is succeeded.", +"type": "string" +}, +"rejectionReason": { +"description": "The reason why the review is rejected by reviewer.", +"type": "string" +}, +"state": { +"description": "The state of the review operation.", +"enum": [ +"STATE_UNSPECIFIED", +"REJECTED", +"SUCCEEDED" +], +"enumDescriptions": [ +"The default value. This value is used if the state is omitted.", +"The review operation is rejected by the reviewer.", +"The review operation is succeeded." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1SetDefaultProcessorVersionMetadata": { +"description": "The long-running operation metadata for the SetDefaultProcessorVersion method.", +"id": "GoogleCloudDocumentaiV1SetDefaultProcessorVersionMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiV1CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1SetDefaultProcessorVersionResponse": { +"description": "Response message for the SetDefaultProcessorVersion method.", +"id": "GoogleCloudDocumentaiV1SetDefaultProcessorVersionResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDocumentaiV1TrainProcessorVersionMetadata": { +"description": "The metadata that represents a processor version being created.", +"id": "GoogleCloudDocumentaiV1TrainProcessorVersionMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiV1CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +}, +"testDatasetValidation": { +"$ref": "GoogleCloudDocumentaiV1TrainProcessorVersionMetadataDatasetValidation", +"description": "The test dataset validation information." +}, +"trainingDatasetValidation": { +"$ref": "GoogleCloudDocumentaiV1TrainProcessorVersionMetadataDatasetValidation", +"description": "The training dataset validation information." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1TrainProcessorVersionMetadataDatasetValidation": { +"description": "The dataset validation information. This includes any and all errors with documents and the dataset.", +"id": "GoogleCloudDocumentaiV1TrainProcessorVersionMetadataDatasetValidation", +"properties": { +"datasetErrorCount": { +"description": "The total number of dataset errors.", +"format": "int32", +"type": "integer" +}, +"datasetErrors": { +"description": "Error information for the dataset as a whole. A maximum of 10 dataset errors will be returned. A single dataset error is terminal for training.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"documentErrorCount": { +"description": "The total number of document errors.", +"format": "int32", +"type": "integer" +}, +"documentErrors": { +"description": "Error information pertaining to specific documents. A maximum of 10 document errors will be returned. Any document with errors will not be used throughout training.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1TrainProcessorVersionResponse": { +"description": "The response for TrainProcessorVersion.", +"id": "GoogleCloudDocumentaiV1TrainProcessorVersionResponse", +"properties": { +"processorVersion": { +"description": "The resource name of the processor version produced by training.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1UndeployProcessorVersionMetadata": { +"description": "The long-running operation metadata for the UndeployProcessorVersion method.", +"id": "GoogleCloudDocumentaiV1UndeployProcessorVersionMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiV1CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1UndeployProcessorVersionResponse": { +"description": "Response message for the UndeployProcessorVersion method.", +"id": "GoogleCloudDocumentaiV1UndeployProcessorVersionResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1Barcode": { +"description": "Encodes the detailed information of a barcode.", +"id": "GoogleCloudDocumentaiV1beta1Barcode", +"properties": { +"format": { +"description": "Format of a barcode. The supported formats are: - `CODE_128`: Code 128 type. - `CODE_39`: Code 39 type. - `CODE_93`: Code 93 type. - `CODABAR`: Codabar type. - `DATA_MATRIX`: 2D Data Matrix type. - `ITF`: ITF type. - `EAN_13`: EAN-13 type. - `EAN_8`: EAN-8 type. - `QR_CODE`: 2D QR code type. - `UPC_A`: UPC-A type. - `UPC_E`: UPC-E type. - `PDF417`: PDF417 type. - `AZTEC`: 2D Aztec code type. - `DATABAR`: GS1 DataBar code type.", +"type": "string" +}, +"rawValue": { +"description": "Raw value encoded in the barcode. For example: `'MEBKM:TITLE:Google;URL:https://www.google.com;;'`.", +"type": "string" +}, +"valueFormat": { +"description": "Value format describes the format of the value that a barcode encodes. The supported formats are: - `CONTACT_INFO`: Contact information. - `EMAIL`: Email address. - `ISBN`: ISBN identifier. - `PHONE`: Phone number. - `PRODUCT`: Product. - `SMS`: SMS message. - `TEXT`: Text string. - `URL`: URL address. - `WIFI`: Wifi information. - `GEO`: Geo-localization. - `CALENDAR_EVENT`: Calendar event. - `DRIVER_LICENSE`: Driver's license.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1BatchProcessDocumentsResponse": { +"description": "Response to an batch document processing request. This is returned in the LRO Operation after the operation is complete.", +"id": "GoogleCloudDocumentaiV1beta1BatchProcessDocumentsResponse", +"properties": { +"responses": { +"description": "Responses for each individual document.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1ProcessDocumentResponse" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1BoundingPoly": { +"description": "A bounding polygon for the detected image annotation.", +"id": "GoogleCloudDocumentaiV1beta1BoundingPoly", +"properties": { +"normalizedVertices": { +"description": "The bounding polygon normalized vertices.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1NormalizedVertex" +}, +"type": "array" +}, +"vertices": { +"description": "The bounding polygon vertices.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1Vertex" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1Document": { +"description": "Document represents the canonical document resource in Document AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document AI to iterate and optimize for quality.", +"id": "GoogleCloudDocumentaiV1beta1Document", +"properties": { +"chunkedDocument": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentChunkedDocument", +"description": "Document chunked based on chunking config." +}, +"content": { +"description": "Optional. Inline document content, represented as a stream of bytes. Note: As with all `bytes` fields, protobuffers use a pure binary representation, whereas JSON representations use base64.", +"format": "byte", +"type": "string" +}, +"documentLayout": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentDocumentLayout", +"description": "Parsed layout of the document." +}, +"entities": { +"description": "A list of entities detected on Document.text. For document shards, entities in this list may cross shard boundaries.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentEntity" +}, +"type": "array" +}, +"entityRelations": { +"description": "Placeholder. Relationship among Document.entities.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentEntityRelation" +}, +"type": "array" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Any error that occurred while processing this document." +}, +"mimeType": { +"description": "An IANA published [media type (MIME type)](https://www.iana.org/assignments/media-types/media-types.xhtml).", +"type": "string" +}, +"pages": { +"description": "Visual page layout for the Document.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPage" +}, +"type": "array" +}, +"revisions": { +"description": "Placeholder. Revision history of this document.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentRevision" +}, +"type": "array" +}, +"shardInfo": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentShardInfo", +"description": "Information about the sharding if this document is sharded part of a larger document. If the document is not sharded, this message is not specified." +}, +"text": { +"description": "Optional. UTF-8 encoded text in reading order from the document.", +"type": "string" +}, +"textChanges": { +"description": "Placeholder. A list of text corrections made to Document.text. This is usually used for annotating corrections to OCR mistakes. Text changes for a given revision may not overlap with each other.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentTextChange" +}, +"type": "array" +}, +"textStyles": { +"deprecated": true, +"description": "Styles for the Document.text.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentStyle" +}, +"type": "array" +}, +"uri": { +"description": "Optional. Currently supports Google Cloud Storage URI of the form `gs://bucket_name/object_name`. Object versioning is not supported. For more information, refer to [Google Cloud Storage Request URIs](https://cloud.google.com/storage/docs/reference-uris).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentChunkedDocument": { +"description": "Represents the chunks that the document is divided into.", +"id": "GoogleCloudDocumentaiV1beta1DocumentChunkedDocument", +"properties": { +"chunks": { +"description": "List of chunks.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentChunkedDocumentChunk" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentChunkedDocumentChunk": { +"description": "Represents a chunk.", +"id": "GoogleCloudDocumentaiV1beta1DocumentChunkedDocumentChunk", +"properties": { +"chunkId": { +"description": "ID of the chunk.", +"type": "string" +}, +"content": { +"description": "Text content of the chunk.", +"type": "string" +}, +"pageFooters": { +"description": "Page footers associated with the chunk.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentChunkedDocumentChunkChunkPageFooter" +}, +"type": "array" +}, +"pageHeaders": { +"description": "Page headers associated with the chunk.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentChunkedDocumentChunkChunkPageHeader" +}, +"type": "array" +}, +"pageSpan": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentChunkedDocumentChunkChunkPageSpan", +"description": "Page span of the chunk." +}, +"sourceBlockIds": { +"description": "Unused.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentChunkedDocumentChunkChunkPageFooter": { +"description": "Represents the page footer associated with the chunk.", +"id": "GoogleCloudDocumentaiV1beta1DocumentChunkedDocumentChunkChunkPageFooter", +"properties": { +"pageSpan": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentChunkedDocumentChunkChunkPageSpan", +"description": "Page span of the footer." +}, +"text": { +"description": "Footer in text format.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentChunkedDocumentChunkChunkPageHeader": { +"description": "Represents the page header associated with the chunk.", +"id": "GoogleCloudDocumentaiV1beta1DocumentChunkedDocumentChunkChunkPageHeader", +"properties": { +"pageSpan": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentChunkedDocumentChunkChunkPageSpan", +"description": "Page span of the header." +}, +"text": { +"description": "Header in text format.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentChunkedDocumentChunkChunkPageSpan": { +"description": "Represents where the chunk starts and ends in the document.", +"id": "GoogleCloudDocumentaiV1beta1DocumentChunkedDocumentChunkChunkPageSpan", +"properties": { +"pageEnd": { +"description": "Page where chunk ends in the document.", +"format": "int32", +"type": "integer" +}, +"pageStart": { +"description": "Page where chunk starts in the document.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentDocumentLayout": { +"description": "Represents the parsed layout of a document as a collection of blocks that the document is divided into.", +"id": "GoogleCloudDocumentaiV1beta1DocumentDocumentLayout", +"properties": { +"blocks": { +"description": "List of blocks in the document.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentDocumentLayoutDocumentLayoutBlock" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentDocumentLayoutDocumentLayoutBlock": { +"description": "Represents a block. A block could be one of the various types (text, table, list) supported.", +"id": "GoogleCloudDocumentaiV1beta1DocumentDocumentLayoutDocumentLayoutBlock", +"properties": { +"blockId": { +"description": "ID of the block.", +"type": "string" +}, +"listBlock": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentDocumentLayoutDocumentLayoutBlockLayoutListBlock", +"description": "Block consisting of list content/structure." +}, +"pageSpan": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentDocumentLayoutDocumentLayoutBlockLayoutPageSpan", +"description": "Page span of the block." +}, +"tableBlock": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableBlock", +"description": "Block consisting of table content/structure." +}, +"textBlock": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentDocumentLayoutDocumentLayoutBlockLayoutTextBlock", +"description": "Block consisting of text content." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentDocumentLayoutDocumentLayoutBlockLayoutListBlock": { +"description": "Represents a list type block.", +"id": "GoogleCloudDocumentaiV1beta1DocumentDocumentLayoutDocumentLayoutBlockLayoutListBlock", +"properties": { +"listEntries": { +"description": "List entries that constitute a list block.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentDocumentLayoutDocumentLayoutBlockLayoutListEntry" +}, +"type": "array" +}, +"type": { +"description": "Type of the list_entries (if exist). Available options are `ordered` and `unordered`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentDocumentLayoutDocumentLayoutBlockLayoutListEntry": { +"description": "Represents an entry in the list.", +"id": "GoogleCloudDocumentaiV1beta1DocumentDocumentLayoutDocumentLayoutBlockLayoutListEntry", +"properties": { +"blocks": { +"description": "A list entry is a list of blocks. Repeated blocks support further hierarchies and nested blocks.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentDocumentLayoutDocumentLayoutBlock" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentDocumentLayoutDocumentLayoutBlockLayoutPageSpan": { +"description": "Represents where the block starts and ends in the document.", +"id": "GoogleCloudDocumentaiV1beta1DocumentDocumentLayoutDocumentLayoutBlockLayoutPageSpan", +"properties": { +"pageEnd": { +"description": "Page where block ends in the document.", +"format": "int32", +"type": "integer" +}, +"pageStart": { +"description": "Page where block starts in the document.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableBlock": { +"description": "Represents a table type block.", +"id": "GoogleCloudDocumentaiV1beta1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableBlock", +"properties": { +"bodyRows": { +"description": "Body rows containing main table content.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableRow" +}, +"type": "array" +}, +"caption": { +"description": "Table caption/title.", +"type": "string" +}, +"headerRows": { +"description": "Header rows at the top of the table.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableRow" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableCell": { +"description": "Represents a cell in a table row.", +"id": "GoogleCloudDocumentaiV1beta1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableCell", +"properties": { +"blocks": { +"description": "A table cell is a list of blocks. Repeated blocks support further hierarchies and nested blocks.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentDocumentLayoutDocumentLayoutBlock" +}, +"type": "array" +}, +"colSpan": { +"description": "How many columns this cell spans.", +"format": "int32", +"type": "integer" +}, +"rowSpan": { +"description": "How many rows this cell spans.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableRow": { +"description": "Represents a row in a table.", +"id": "GoogleCloudDocumentaiV1beta1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableRow", +"properties": { +"cells": { +"description": "A table row is a list of table cells.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableCell" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentDocumentLayoutDocumentLayoutBlockLayoutTextBlock": { +"description": "Represents a text type block.", +"id": "GoogleCloudDocumentaiV1beta1DocumentDocumentLayoutDocumentLayoutBlockLayoutTextBlock", +"properties": { +"blocks": { +"description": "A text block could further have child blocks. Repeated blocks support further hierarchies and nested blocks.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentDocumentLayoutDocumentLayoutBlock" +}, +"type": "array" +}, +"text": { +"description": "Text content stored in the block.", +"type": "string" +}, +"type": { +"description": "Type of the text in the block. Available options are: `paragraph`, `subtitle`, `heading-1`, `heading-2`, `heading-3`, `heading-4`, `heading-5`, `header`, `footer`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentEntity": { +"description": "An entity that could be a phrase in the text or a property that belongs to the document. It is a known entity type, such as a person, an organization, or location.", +"id": "GoogleCloudDocumentaiV1beta1DocumentEntity", +"properties": { +"confidence": { +"description": "Optional. Confidence of detected Schema entity. Range `[0, 1]`.", +"format": "float", +"type": "number" +}, +"id": { +"description": "Optional. Canonical id. This will be a unique value in the entity list for this document.", +"type": "string" +}, +"mentionId": { +"description": "Optional. Deprecated. Use `id` field instead.", +"type": "string" +}, +"mentionText": { +"description": "Optional. Text value of the entity e.g. `1600 Amphitheatre Pkwy`.", +"type": "string" +}, +"normalizedValue": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentEntityNormalizedValue", +"description": "Optional. Normalized entity value. Absent if the extracted value could not be converted or the type (e.g. address) is not supported for certain parsers. This field is also only populated for certain supported document types." +}, +"pageAnchor": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageAnchor", +"description": "Optional. Represents the provenance of this entity wrt. the location on the page where it was found." +}, +"properties": { +"description": "Optional. Entities can be nested to form a hierarchical data structure representing the content in the document.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentEntity" +}, +"type": "array" +}, +"provenance": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentProvenance", +"description": "Optional. The history of this annotation." +}, +"redacted": { +"description": "Optional. Whether the entity will be redacted for de-identification purposes.", +"type": "boolean" +}, +"textAnchor": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentTextAnchor", +"description": "Optional. Provenance of the entity. Text anchor indexing into the Document.text." +}, +"type": { +"description": "Required. Entity type from a schema e.g. `Address`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentEntityNormalizedValue": { +"description": "Parsed and normalized entity value.", +"id": "GoogleCloudDocumentaiV1beta1DocumentEntityNormalizedValue", +"properties": { +"addressValue": { +"$ref": "GoogleTypePostalAddress", +"description": "Postal address. See also: https://github.com/googleapis/googleapis/blob/master/google/type/postal_address.proto" +}, +"booleanValue": { +"description": "Boolean value. Can be used for entities with binary values, or for checkboxes.", +"type": "boolean" +}, +"dateValue": { +"$ref": "GoogleTypeDate", +"description": "Date value. Includes year, month, day. See also: https://github.com/googleapis/googleapis/blob/master/google/type/date.proto" +}, +"datetimeValue": { +"$ref": "GoogleTypeDateTime", +"description": "DateTime value. Includes date, time, and timezone. See also: https://github.com/googleapis/googleapis/blob/master/google/type/datetime.proto" +}, +"floatValue": { +"description": "Float value.", +"format": "float", +"type": "number" +}, +"integerValue": { +"description": "Integer value.", +"format": "int32", +"type": "integer" +}, +"moneyValue": { +"$ref": "GoogleTypeMoney", +"description": "Money value. See also: https://github.com/googleapis/googleapis/blob/master/google/type/money.proto" +}, +"text": { +"description": "Optional. An optional field to store a normalized string. For some entity types, one of respective `structured_value` fields may also be populated. Also not all the types of `structured_value` will be normalized. For example, some processors may not generate `float` or `integer` normalized text by default. Below are sample formats mapped to structured values. - Money/Currency type (`money_value`) is in the ISO 4217 text format. - Date type (`date_value`) is in the ISO 8601 text format. - Datetime type (`datetime_value`) is in the ISO 8601 text format.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentEntityRelation": { +"description": "Relationship between Entities.", +"id": "GoogleCloudDocumentaiV1beta1DocumentEntityRelation", +"properties": { +"objectId": { +"description": "Object entity id.", +"type": "string" +}, +"relation": { +"description": "Relationship description.", +"type": "string" +}, +"subjectId": { +"description": "Subject entity id.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentPage": { +"description": "A page in a Document.", +"id": "GoogleCloudDocumentaiV1beta1DocumentPage", +"properties": { +"blocks": { +"description": "A list of visually detected text blocks on the page. A block has a set of lines (collected into paragraphs) that have a common line-spacing and orientation.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageBlock" +}, +"type": "array" +}, +"detectedBarcodes": { +"description": "A list of detected barcodes.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageDetectedBarcode" +}, +"type": "array" +}, +"detectedLanguages": { +"description": "A list of detected languages together with confidence.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage" +}, +"type": "array" +}, +"dimension": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageDimension", +"description": "Physical dimension of the page." +}, +"formFields": { +"description": "A list of visually detected form fields on the page.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageFormField" +}, +"type": "array" +}, +"image": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageImage", +"description": "Rendered image for this page. This image is preprocessed to remove any skew, rotation, and distortions such that the annotation bounding boxes can be upright and axis-aligned." +}, +"imageQualityScores": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageImageQualityScores", +"description": "Image quality scores." +}, +"layout": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageLayout", +"description": "Layout for the page." +}, +"lines": { +"description": "A list of visually detected text lines on the page. A collection of tokens that a human would perceive as a line.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageLine" +}, +"type": "array" +}, +"pageNumber": { +"description": "1-based index for current Page in a parent Document. Useful when a page is taken out of a Document for individual processing.", +"format": "int32", +"type": "integer" +}, +"paragraphs": { +"description": "A list of visually detected text paragraphs on the page. A collection of lines that a human would perceive as a paragraph.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageParagraph" +}, +"type": "array" +}, +"provenance": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentProvenance", +"deprecated": true, +"description": "The history of this page." +}, +"symbols": { +"description": "A list of visually detected symbols on the page.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageSymbol" +}, +"type": "array" +}, +"tables": { +"description": "A list of visually detected tables on the page.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageTable" +}, +"type": "array" +}, +"tokens": { +"description": "A list of visually detected tokens on the page.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageToken" +}, +"type": "array" +}, +"transforms": { +"description": "Transformation matrices that were applied to the original document image to produce Page.image.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageMatrix" +}, +"type": "array" +}, +"visualElements": { +"description": "A list of detected non-text visual elements e.g. checkbox, signature etc. on the page.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageVisualElement" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentPageAnchor": { +"description": "Referencing the visual context of the entity in the Document.pages. Page anchors can be cross-page, consist of multiple bounding polygons and optionally reference specific layout element types.", +"id": "GoogleCloudDocumentaiV1beta1DocumentPageAnchor", +"properties": { +"pageRefs": { +"description": "One or more references to visual page elements", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageAnchorPageRef" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentPageAnchorPageRef": { +"description": "Represents a weak reference to a page element within a document.", +"id": "GoogleCloudDocumentaiV1beta1DocumentPageAnchorPageRef", +"properties": { +"boundingPoly": { +"$ref": "GoogleCloudDocumentaiV1beta1BoundingPoly", +"description": "Optional. Identifies the bounding polygon of a layout element on the page. If `layout_type` is set, the bounding polygon must be exactly the same to the layout element it's referring to." +}, +"confidence": { +"description": "Optional. Confidence of detected page element, if applicable. Range `[0, 1]`.", +"format": "float", +"type": "number" +}, +"layoutId": { +"deprecated": true, +"description": "Optional. Deprecated. Use PageRef.bounding_poly instead.", +"type": "string" +}, +"layoutType": { +"description": "Optional. The type of the layout element that is being referenced if any.", +"enum": [ +"LAYOUT_TYPE_UNSPECIFIED", +"BLOCK", +"PARAGRAPH", +"LINE", +"TOKEN", +"VISUAL_ELEMENT", +"TABLE", +"FORM_FIELD" +], +"enumDescriptions": [ +"Layout Unspecified.", +"References a Page.blocks element.", +"References a Page.paragraphs element.", +"References a Page.lines element.", +"References a Page.tokens element.", +"References a Page.visual_elements element.", +"Refrrences a Page.tables element.", +"References a Page.form_fields element." +], +"type": "string" +}, +"page": { +"description": "Required. Index into the Document.pages element, for example using `Document.pages` to locate the related page element. This field is skipped when its value is the default `0`. See https://developers.google.com/protocol-buffers/docs/proto3#json.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentPageBlock": { +"description": "A block has a set of lines (collected into paragraphs) that have a common line-spacing and orientation.", +"id": "GoogleCloudDocumentaiV1beta1DocumentPageBlock", +"properties": { +"detectedLanguages": { +"description": "A list of detected languages together with confidence.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage" +}, +"type": "array" +}, +"layout": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageLayout", +"description": "Layout for Block." +}, +"provenance": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentProvenance", +"deprecated": true, +"description": "The history of this annotation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentPageDetectedBarcode": { +"description": "A detected barcode.", +"id": "GoogleCloudDocumentaiV1beta1DocumentPageDetectedBarcode", +"properties": { +"barcode": { +"$ref": "GoogleCloudDocumentaiV1beta1Barcode", +"description": "Detailed barcode information of the DetectedBarcode." +}, +"layout": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageLayout", +"description": "Layout for DetectedBarcode." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage": { +"description": "Detected language for a structural component.", +"id": "GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage", +"properties": { +"confidence": { +"description": "Confidence of detected language. Range `[0, 1]`.", +"format": "float", +"type": "number" +}, +"languageCode": { +"description": "The [BCP-47 language code](https://www.unicode.org/reports/tr35/#Unicode_locale_identifier), such as `en-US` or `sr-Latn`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentPageDimension": { +"description": "Dimension for the page.", +"id": "GoogleCloudDocumentaiV1beta1DocumentPageDimension", +"properties": { +"height": { +"description": "Page height.", +"format": "float", +"type": "number" +}, +"unit": { +"description": "Dimension unit.", +"type": "string" +}, +"width": { +"description": "Page width.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentPageFormField": { +"description": "A form field detected on the page.", +"id": "GoogleCloudDocumentaiV1beta1DocumentPageFormField", +"properties": { +"correctedKeyText": { +"description": "Created for Labeling UI to export key text. If corrections were made to the text identified by the `field_name.text_anchor`, this field will contain the correction.", +"type": "string" +}, +"correctedValueText": { +"description": "Created for Labeling UI to export value text. If corrections were made to the text identified by the `field_value.text_anchor`, this field will contain the correction.", +"type": "string" +}, +"fieldName": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageLayout", +"description": "Layout for the FormField name. e.g. `Address`, `Email`, `Grand total`, `Phone number`, etc." +}, +"fieldValue": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageLayout", +"description": "Layout for the FormField value." +}, +"nameDetectedLanguages": { +"description": "A list of detected languages for name together with confidence.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage" +}, +"type": "array" +}, +"provenance": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentProvenance", +"description": "The history of this annotation." +}, +"valueDetectedLanguages": { +"description": "A list of detected languages for value together with confidence.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage" +}, +"type": "array" +}, +"valueType": { +"description": "If the value is non-textual, this field represents the type. Current valid values are: - blank (this indicates the `field_value` is normal text) - `unfilled_checkbox` - `filled_checkbox`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentPageImage": { +"description": "Rendered image contents for this page.", +"id": "GoogleCloudDocumentaiV1beta1DocumentPageImage", +"properties": { +"content": { +"description": "Raw byte content of the image.", +"format": "byte", +"type": "string" +}, +"height": { +"description": "Height of the image in pixels.", +"format": "int32", +"type": "integer" +}, +"mimeType": { +"description": "Encoding [media type (MIME type)](https://www.iana.org/assignments/media-types/media-types.xhtml) for the image.", +"type": "string" +}, +"width": { +"description": "Width of the image in pixels.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentPageImageQualityScores": { +"description": "Image quality scores for the page image.", +"id": "GoogleCloudDocumentaiV1beta1DocumentPageImageQualityScores", +"properties": { +"detectedDefects": { +"description": "A list of detected defects.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageImageQualityScoresDetectedDefect" +}, +"type": "array" +}, +"qualityScore": { +"description": "The overall quality score. Range `[0, 1]` where `1` is perfect quality.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentPageImageQualityScoresDetectedDefect": { +"description": "Image Quality Defects", +"id": "GoogleCloudDocumentaiV1beta1DocumentPageImageQualityScoresDetectedDefect", +"properties": { +"confidence": { +"description": "Confidence of detected defect. Range `[0, 1]` where `1` indicates strong confidence that the defect exists.", +"format": "float", +"type": "number" +}, +"type": { +"description": "Name of the defect type. Supported values are: - `quality/defect_blurry` - `quality/defect_noisy` - `quality/defect_dark` - `quality/defect_faint` - `quality/defect_text_too_small` - `quality/defect_document_cutoff` - `quality/defect_text_cutoff` - `quality/defect_glare`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentPageLayout": { +"description": "Visual element describing a layout unit on a page.", +"id": "GoogleCloudDocumentaiV1beta1DocumentPageLayout", +"properties": { +"boundingPoly": { +"$ref": "GoogleCloudDocumentaiV1beta1BoundingPoly", +"description": "The bounding polygon for the Layout." +}, +"confidence": { +"description": "Confidence of the current Layout within context of the object this layout is for. e.g. confidence can be for a single token, a table, a visual element, etc. depending on context. Range `[0, 1]`.", +"format": "float", +"type": "number" +}, +"orientation": { +"description": "Detected orientation for the Layout.", +"enum": [ +"ORIENTATION_UNSPECIFIED", +"PAGE_UP", +"PAGE_RIGHT", +"PAGE_DOWN", +"PAGE_LEFT" +], +"enumDescriptions": [ +"Unspecified orientation.", +"Orientation is aligned with page up.", +"Orientation is aligned with page right. Turn the head 90 degrees clockwise from upright to read.", +"Orientation is aligned with page down. Turn the head 180 degrees from upright to read.", +"Orientation is aligned with page left. Turn the head 90 degrees counterclockwise from upright to read." +], +"type": "string" +}, +"textAnchor": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentTextAnchor", +"description": "Text anchor indexing into the Document.text." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentPageLine": { +"description": "A collection of tokens that a human would perceive as a line. Does not cross column boundaries, can be horizontal, vertical, etc.", +"id": "GoogleCloudDocumentaiV1beta1DocumentPageLine", +"properties": { +"detectedLanguages": { +"description": "A list of detected languages together with confidence.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage" +}, +"type": "array" +}, +"layout": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageLayout", +"description": "Layout for Line." +}, +"provenance": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentProvenance", +"deprecated": true, +"description": "The history of this annotation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentPageMatrix": { +"description": "Representation for transformation matrix, intended to be compatible and used with OpenCV format for image manipulation.", +"id": "GoogleCloudDocumentaiV1beta1DocumentPageMatrix", +"properties": { +"cols": { +"description": "Number of columns in the matrix.", +"format": "int32", +"type": "integer" +}, +"data": { +"description": "The matrix data.", +"format": "byte", +"type": "string" +}, +"rows": { +"description": "Number of rows in the matrix.", +"format": "int32", +"type": "integer" +}, +"type": { +"description": "This encodes information about what data type the matrix uses. For example, 0 (CV_8U) is an unsigned 8-bit image. For the full list of OpenCV primitive data types, please refer to https://docs.opencv.org/4.3.0/d1/d1b/group__core__hal__interface.html", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentPageParagraph": { +"description": "A collection of lines that a human would perceive as a paragraph.", +"id": "GoogleCloudDocumentaiV1beta1DocumentPageParagraph", +"properties": { +"detectedLanguages": { +"description": "A list of detected languages together with confidence.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage" +}, +"type": "array" +}, +"layout": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageLayout", +"description": "Layout for Paragraph." +}, +"provenance": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentProvenance", +"deprecated": true, +"description": "The history of this annotation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentPageSymbol": { +"description": "A detected symbol.", +"id": "GoogleCloudDocumentaiV1beta1DocumentPageSymbol", +"properties": { +"detectedLanguages": { +"description": "A list of detected languages together with confidence.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage" +}, +"type": "array" +}, +"layout": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageLayout", +"description": "Layout for Symbol." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentPageTable": { +"description": "A table representation similar to HTML table structure.", +"id": "GoogleCloudDocumentaiV1beta1DocumentPageTable", +"properties": { +"bodyRows": { +"description": "Body rows of the table.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageTableTableRow" +}, +"type": "array" +}, +"detectedLanguages": { +"description": "A list of detected languages together with confidence.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage" +}, +"type": "array" +}, +"headerRows": { +"description": "Header rows of the table.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageTableTableRow" +}, +"type": "array" +}, +"layout": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageLayout", +"description": "Layout for Table." +}, +"provenance": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentProvenance", +"deprecated": true, +"description": "The history of this table." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentPageTableTableCell": { +"description": "A cell representation inside the table.", +"id": "GoogleCloudDocumentaiV1beta1DocumentPageTableTableCell", +"properties": { +"colSpan": { +"description": "How many columns this cell spans.", +"format": "int32", +"type": "integer" +}, +"detectedLanguages": { +"description": "A list of detected languages together with confidence.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage" +}, +"type": "array" +}, +"layout": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageLayout", +"description": "Layout for TableCell." +}, +"rowSpan": { +"description": "How many rows this cell spans.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentPageTableTableRow": { +"description": "A row of table cells.", +"id": "GoogleCloudDocumentaiV1beta1DocumentPageTableTableRow", +"properties": { +"cells": { +"description": "Cells that make up this row.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageTableTableCell" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentPageToken": { +"description": "A detected token.", +"id": "GoogleCloudDocumentaiV1beta1DocumentPageToken", +"properties": { +"detectedBreak": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageTokenDetectedBreak", +"description": "Detected break at the end of a Token." +}, +"detectedLanguages": { +"description": "A list of detected languages together with confidence.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage" +}, +"type": "array" +}, +"layout": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageLayout", +"description": "Layout for Token." +}, +"provenance": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentProvenance", +"deprecated": true, +"description": "The history of this annotation." +}, +"styleInfo": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageTokenStyleInfo", +"description": "Text style attributes." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentPageTokenDetectedBreak": { +"description": "Detected break at the end of a Token.", +"id": "GoogleCloudDocumentaiV1beta1DocumentPageTokenDetectedBreak", +"properties": { +"type": { +"description": "Detected break type.", +"enum": [ +"TYPE_UNSPECIFIED", +"SPACE", +"WIDE_SPACE", +"HYPHEN" +], +"enumDescriptions": [ +"Unspecified break type.", +"A single whitespace.", +"A wider whitespace.", +"A hyphen that indicates that a token has been split across lines." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentPageTokenStyleInfo": { +"description": "Font and other text style attributes.", +"id": "GoogleCloudDocumentaiV1beta1DocumentPageTokenStyleInfo", +"properties": { +"backgroundColor": { +"$ref": "GoogleTypeColor", +"description": "Color of the background." +}, +"bold": { +"description": "Whether the text is bold (equivalent to font_weight is at least `700`).", +"type": "boolean" +}, +"fontSize": { +"description": "Font size in points (`1` point is `\u00b9\u2044\u2087\u2082` inches).", +"format": "int32", +"type": "integer" +}, +"fontType": { +"description": "Name or style of the font.", +"type": "string" +}, +"fontWeight": { +"description": "TrueType weight on a scale `100` (thin) to `1000` (ultra-heavy). Normal is `400`, bold is `700`.", +"format": "int32", +"type": "integer" +}, +"handwritten": { +"description": "Whether the text is handwritten.", +"type": "boolean" +}, +"italic": { +"description": "Whether the text is italic.", +"type": "boolean" +}, +"letterSpacing": { +"description": "Letter spacing in points.", +"format": "double", +"type": "number" +}, +"pixelFontSize": { +"description": "Font size in pixels, equal to _unrounded font_size_ * _resolution_ \u00f7 `72.0`.", +"format": "double", +"type": "number" +}, +"smallcaps": { +"description": "Whether the text is in small caps. This feature is not supported yet.", +"type": "boolean" +}, +"strikeout": { +"description": "Whether the text is strikethrough. This feature is not supported yet.", +"type": "boolean" +}, +"subscript": { +"description": "Whether the text is a subscript. This feature is not supported yet.", +"type": "boolean" +}, +"superscript": { +"description": "Whether the text is a superscript. This feature is not supported yet.", +"type": "boolean" +}, +"textColor": { +"$ref": "GoogleTypeColor", +"description": "Color of the text." +}, +"underlined": { +"description": "Whether the text is underlined.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentPageVisualElement": { +"description": "Detected non-text visual elements e.g. checkbox, signature etc. on the page.", +"id": "GoogleCloudDocumentaiV1beta1DocumentPageVisualElement", +"properties": { +"detectedLanguages": { +"description": "A list of detected languages together with confidence.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage" +}, +"type": "array" +}, +"layout": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentPageLayout", +"description": "Layout for VisualElement." +}, +"type": { +"description": "Type of the VisualElement.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentProvenance": { +"description": "Structure to identify provenance relationships between annotations in different revisions.", +"id": "GoogleCloudDocumentaiV1beta1DocumentProvenance", +"properties": { +"id": { +"deprecated": true, +"description": "The Id of this operation. Needs to be unique within the scope of the revision.", +"format": "int32", +"type": "integer" +}, +"parents": { +"description": "References to the original elements that are replaced.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentProvenanceParent" +}, +"type": "array" +}, +"revision": { +"deprecated": true, +"description": "The index of the revision that produced this element.", +"format": "int32", +"type": "integer" +}, +"type": { +"description": "The type of provenance operation.", +"enum": [ +"OPERATION_TYPE_UNSPECIFIED", +"ADD", +"REMOVE", +"UPDATE", +"REPLACE", +"EVAL_REQUESTED", +"EVAL_APPROVED", +"EVAL_SKIPPED" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +true, +true, +true +], +"enumDescriptions": [ +"Operation type unspecified. If no operation is specified a provenance entry is simply used to match against a `parent`.", +"Add an element.", +"Remove an element identified by `parent`.", +"Updates any fields within the given provenance scope of the message. It overwrites the fields rather than replacing them. Use this when you want to update a field value of an entity without also updating all the child properties.", +"Currently unused. Replace an element identified by `parent`.", +"Deprecated. Request human review for the element identified by `parent`.", +"Deprecated. Element is reviewed and approved at human review, confidence will be set to 1.0.", +"Deprecated. Element is skipped in the validation process." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentProvenanceParent": { +"description": "The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.", +"id": "GoogleCloudDocumentaiV1beta1DocumentProvenanceParent", +"properties": { +"id": { +"deprecated": true, +"description": "The id of the parent provenance.", +"format": "int32", +"type": "integer" +}, +"index": { +"description": "The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) in the parent revision.", +"format": "int32", +"type": "integer" +}, +"revision": { +"description": "The index of the index into current revision's parent_ids list.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentRevision": { +"description": "Contains past or forward revisions of this document.", +"id": "GoogleCloudDocumentaiV1beta1DocumentRevision", +"properties": { +"agent": { +"description": "If the change was made by a person specify the name or id of that person.", +"type": "string" +}, +"createTime": { +"description": "The time that the revision was created, internally generated by doc proto storage at the time of create.", +"format": "google-datetime", +"type": "string" +}, +"humanReview": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentRevisionHumanReview", +"description": "Human Review information of this revision." +}, +"id": { +"description": "Id of the revision, internally generated by doc proto storage. Unique within the context of the document.", +"type": "string" +}, +"parent": { +"deprecated": true, +"description": "The revisions that this revision is based on. This can include one or more parent (when documents are merged.) This field represents the index into the `revisions` field.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"parentIds": { +"description": "The revisions that this revision is based on. Must include all the ids that have anything to do with this revision - eg. there are `provenance.parent.revision` fields that index into this field.", +"items": { +"type": "string" +}, +"type": "array" +}, +"processor": { +"description": "If the annotation was made by processor identify the processor by its resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentRevisionHumanReview": { +"description": "Human Review information of the document.", +"id": "GoogleCloudDocumentaiV1beta1DocumentRevisionHumanReview", +"properties": { +"state": { +"description": "Human review state. e.g. `requested`, `succeeded`, `rejected`.", +"type": "string" +}, +"stateMessage": { +"description": "A message providing more details about the current state of processing. For example, the rejection reason when the state is `rejected`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentShardInfo": { +"description": "For a large document, sharding may be performed to produce several document shards. Each document shard contains this field to detail which shard it is.", +"id": "GoogleCloudDocumentaiV1beta1DocumentShardInfo", +"properties": { +"shardCount": { +"description": "Total number of shards.", +"format": "int64", +"type": "string" +}, +"shardIndex": { +"description": "The 0-based index of this shard.", +"format": "int64", +"type": "string" +}, +"textOffset": { +"description": "The index of the first character in Document.text in the overall document global text.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentStyle": { +"description": "Annotation for common text style attributes. This adheres to CSS conventions as much as possible.", +"id": "GoogleCloudDocumentaiV1beta1DocumentStyle", +"properties": { +"backgroundColor": { +"$ref": "GoogleTypeColor", +"description": "Text background color." +}, +"color": { +"$ref": "GoogleTypeColor", +"description": "Text color." +}, +"fontFamily": { +"description": "Font family such as `Arial`, `Times New Roman`. https://www.w3schools.com/cssref/pr_font_font-family.asp", +"type": "string" +}, +"fontSize": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentStyleFontSize", +"description": "Font size." +}, +"fontWeight": { +"description": "[Font weight](https://www.w3schools.com/cssref/pr_font_weight.asp). Possible values are `normal`, `bold`, `bolder`, and `lighter`.", +"type": "string" +}, +"textAnchor": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentTextAnchor", +"description": "Text anchor indexing into the Document.text." +}, +"textDecoration": { +"description": "[Text decoration](https://www.w3schools.com/cssref/pr_text_text-decoration.asp). Follows CSS standard. ", +"type": "string" +}, +"textStyle": { +"description": "[Text style](https://www.w3schools.com/cssref/pr_font_font-style.asp). Possible values are `normal`, `italic`, and `oblique`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentStyleFontSize": { +"description": "Font size with unit.", +"id": "GoogleCloudDocumentaiV1beta1DocumentStyleFontSize", +"properties": { +"size": { +"description": "Font size for the text.", +"format": "float", +"type": "number" +}, +"unit": { +"description": "Unit for the font size. Follows CSS naming (such as `in`, `px`, and `pt`).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentTextAnchor": { +"description": "Text reference indexing into the Document.text.", +"id": "GoogleCloudDocumentaiV1beta1DocumentTextAnchor", +"properties": { +"content": { +"description": "Contains the content of the text span so that users do not have to look it up in the text_segments. It is always populated for formFields.", +"type": "string" +}, +"textSegments": { +"description": "The text segments from the Document.text.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentTextAnchorTextSegment" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentTextAnchorTextSegment": { +"description": "A text segment in the Document.text. The indices may be out of bounds which indicate that the text extends into another document shard for large sharded documents. See ShardInfo.text_offset", +"id": "GoogleCloudDocumentaiV1beta1DocumentTextAnchorTextSegment", +"properties": { +"endIndex": { +"description": "TextSegment half open end UTF-8 char index in the Document.text.", +"format": "int64", +"type": "string" +}, +"startIndex": { +"description": "TextSegment start UTF-8 char index in the Document.text.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1DocumentTextChange": { +"description": "This message is used for text changes aka. OCR corrections.", +"id": "GoogleCloudDocumentaiV1beta1DocumentTextChange", +"properties": { +"changedText": { +"description": "The text that replaces the text identified in the `text_anchor`.", +"type": "string" +}, +"provenance": { +"deprecated": true, +"description": "The history of this annotation.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentProvenance" +}, +"type": "array" +}, +"textAnchor": { +"$ref": "GoogleCloudDocumentaiV1beta1DocumentTextAnchor", +"description": "Provenance of the correction. Text anchor indexing into the Document.text. There can only be a single `TextAnchor.text_segments` element. If the start and end index of the text segment are the same, the text change is inserted before that index." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1GcsDestination": { +"description": "The Google Cloud Storage location where the output file will be written to.", +"id": "GoogleCloudDocumentaiV1beta1GcsDestination", +"properties": { +"uri": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1GcsSource": { +"description": "The Google Cloud Storage location where the input file will be read from.", +"id": "GoogleCloudDocumentaiV1beta1GcsSource", +"properties": { +"uri": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1InputConfig": { +"description": "The desired input location and metadata.", +"id": "GoogleCloudDocumentaiV1beta1InputConfig", +"properties": { +"gcsSource": { +"$ref": "GoogleCloudDocumentaiV1beta1GcsSource", +"description": "The Google Cloud Storage location to read the input from. This must be a single file." +}, +"mimeType": { +"description": "Required. Mimetype of the input. Current supported mimetypes are application/pdf, image/tiff, and image/gif. In addition, application/json type is supported for requests with ProcessDocumentRequest.automl_params field set. The JSON file needs to be in Document format.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1NormalizedVertex": { +"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": "GoogleCloudDocumentaiV1beta1NormalizedVertex", +"properties": { +"x": { +"description": "X coordinate.", +"format": "float", +"type": "number" +}, +"y": { +"description": "Y coordinate (starts from the top of the image).", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1OperationMetadata": { +"description": "Contains metadata for the BatchProcessDocuments operation.", +"id": "GoogleCloudDocumentaiV1beta1OperationMetadata", +"properties": { +"createTime": { +"description": "The creation time of the operation.", +"format": "google-datetime", +"type": "string" +}, +"state": { +"description": "The state of the current batch processing.", +"enum": [ +"STATE_UNSPECIFIED", +"ACCEPTED", +"WAITING", +"RUNNING", +"SUCCEEDED", +"CANCELLED", +"FAILED" +], +"enumDescriptions": [ +"The default value. This value is used if the state is omitted.", +"Request is received.", +"Request operation is waiting for scheduling.", +"Request is being processed.", +"The batch processing completed successfully.", +"The batch processing was cancelled.", +"The batch processing has failed." +], +"type": "string" +}, +"stateMessage": { +"description": "A message providing more details about the current state of processing.", +"type": "string" +}, +"updateTime": { +"description": "The last update time of the operation.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1OutputConfig": { +"description": "The desired output location and metadata.", +"id": "GoogleCloudDocumentaiV1beta1OutputConfig", +"properties": { +"gcsDestination": { +"$ref": "GoogleCloudDocumentaiV1beta1GcsDestination", +"description": "The Google Cloud Storage location to write the output to." +}, +"pagesPerShard": { +"description": "The max number of pages to include into each output Document shard JSON on Google Cloud Storage. The valid range is [1, 100]. If not specified, the default value is 20. For example, for one pdf file with 100 pages, 100 parsed pages will be produced. If `pages_per_shard` = 20, then 5 Document shard JSON files each containing 20 parsed pages will be written under the prefix OutputConfig.gcs_destination.uri and suffix pages-x-to-y.json where x and y are 1-indexed page numbers. Example GCS outputs with 157 pages and pages_per_shard = 50: pages-001-to-050.json pages-051-to-100.json pages-101-to-150.json pages-151-to-157.json", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1ProcessDocumentResponse": { +"description": "Response to a single document processing request.", +"id": "GoogleCloudDocumentaiV1beta1ProcessDocumentResponse", +"properties": { +"inputConfig": { +"$ref": "GoogleCloudDocumentaiV1beta1InputConfig", +"description": "Information about the input file. This is the same as the corresponding input config in the request." +}, +"outputConfig": { +"$ref": "GoogleCloudDocumentaiV1beta1OutputConfig", +"description": "The output location of the parsed responses. The responses are written to this location as JSON-serialized `Document` objects." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta1Vertex": { +"description": "A vertex represents a 2D point in the image. NOTE: the vertex coordinates are in the same scale as the original image.", +"id": "GoogleCloudDocumentaiV1beta1Vertex", +"properties": { +"x": { +"description": "X coordinate.", +"format": "int32", +"type": "integer" +}, +"y": { +"description": "Y coordinate (starts from the top of the image).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2AutoMlParams": { +"description": "Parameters to control AutoML model prediction behavior.", +"id": "GoogleCloudDocumentaiV1beta2AutoMlParams", +"properties": { +"model": { +"description": "Resource name of the AutoML model. Format: `projects/{project-id}/locations/{location-id}/models/{model-id}`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2Barcode": { +"description": "Encodes the detailed information of a barcode.", +"id": "GoogleCloudDocumentaiV1beta2Barcode", +"properties": { +"format": { +"description": "Format of a barcode. The supported formats are: - `CODE_128`: Code 128 type. - `CODE_39`: Code 39 type. - `CODE_93`: Code 93 type. - `CODABAR`: Codabar type. - `DATA_MATRIX`: 2D Data Matrix type. - `ITF`: ITF type. - `EAN_13`: EAN-13 type. - `EAN_8`: EAN-8 type. - `QR_CODE`: 2D QR code type. - `UPC_A`: UPC-A type. - `UPC_E`: UPC-E type. - `PDF417`: PDF417 type. - `AZTEC`: 2D Aztec code type. - `DATABAR`: GS1 DataBar code type.", +"type": "string" +}, +"rawValue": { +"description": "Raw value encoded in the barcode. For example: `'MEBKM:TITLE:Google;URL:https://www.google.com;;'`.", +"type": "string" +}, +"valueFormat": { +"description": "Value format describes the format of the value that a barcode encodes. The supported formats are: - `CONTACT_INFO`: Contact information. - `EMAIL`: Email address. - `ISBN`: ISBN identifier. - `PHONE`: Phone number. - `PRODUCT`: Product. - `SMS`: SMS message. - `TEXT`: Text string. - `URL`: URL address. - `WIFI`: Wifi information. - `GEO`: Geo-localization. - `CALENDAR_EVENT`: Calendar event. - `DRIVER_LICENSE`: Driver's license.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2BatchProcessDocumentsRequest": { +"description": "Request to batch process documents as an asynchronous operation. The output is written to Cloud Storage as JSON in the [Document] format.", +"id": "GoogleCloudDocumentaiV1beta2BatchProcessDocumentsRequest", +"properties": { +"requests": { +"description": "Required. Individual requests for each document.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2ProcessDocumentRequest" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2BatchProcessDocumentsResponse": { +"description": "Response to an batch document processing request. This is returned in the LRO Operation after the operation is complete.", +"id": "GoogleCloudDocumentaiV1beta2BatchProcessDocumentsResponse", +"properties": { +"responses": { +"description": "Responses for each individual document.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2ProcessDocumentResponse" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2BoundingPoly": { +"description": "A bounding polygon for the detected image annotation.", +"id": "GoogleCloudDocumentaiV1beta2BoundingPoly", +"properties": { +"normalizedVertices": { +"description": "The bounding polygon normalized vertices.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2NormalizedVertex" +}, +"type": "array" +}, +"vertices": { +"description": "The bounding polygon vertices.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2Vertex" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2Document": { +"description": "Document represents the canonical document resource in Document AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document AI to iterate and optimize for quality.", +"id": "GoogleCloudDocumentaiV1beta2Document", +"properties": { +"chunkedDocument": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentChunkedDocument", +"description": "Document chunked based on chunking config." +}, +"content": { +"description": "Optional. Inline document content, represented as a stream of bytes. Note: As with all `bytes` fields, protobuffers use a pure binary representation, whereas JSON representations use base64.", +"format": "byte", +"type": "string" +}, +"documentLayout": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentDocumentLayout", +"description": "Parsed layout of the document." +}, +"entities": { +"description": "A list of entities detected on Document.text. For document shards, entities in this list may cross shard boundaries.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentEntity" +}, +"type": "array" +}, +"entityRelations": { +"description": "Placeholder. Relationship among Document.entities.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentEntityRelation" +}, +"type": "array" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Any error that occurred while processing this document." +}, +"labels": { +"description": "Labels for this document.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentLabel" +}, +"type": "array" +}, +"mimeType": { +"description": "An IANA published [media type (MIME type)](https://www.iana.org/assignments/media-types/media-types.xhtml).", +"type": "string" +}, +"pages": { +"description": "Visual page layout for the Document.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPage" +}, +"type": "array" +}, +"revisions": { +"description": "Placeholder. Revision history of this document.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentRevision" +}, +"type": "array" +}, +"shardInfo": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentShardInfo", +"description": "Information about the sharding if this document is sharded part of a larger document. If the document is not sharded, this message is not specified." +}, +"text": { +"description": "Optional. UTF-8 encoded text in reading order from the document.", +"type": "string" +}, +"textChanges": { +"description": "Placeholder. A list of text corrections made to Document.text. This is usually used for annotating corrections to OCR mistakes. Text changes for a given revision may not overlap with each other.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentTextChange" +}, +"type": "array" +}, +"textStyles": { +"deprecated": true, +"description": "Styles for the Document.text.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentStyle" +}, +"type": "array" +}, +"uri": { +"description": "Optional. Currently supports Google Cloud Storage URI of the form `gs://bucket_name/object_name`. Object versioning is not supported. For more information, refer to [Google Cloud Storage Request URIs](https://cloud.google.com/storage/docs/reference-uris).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentChunkedDocument": { +"description": "Represents the chunks that the document is divided into.", +"id": "GoogleCloudDocumentaiV1beta2DocumentChunkedDocument", +"properties": { +"chunks": { +"description": "List of chunks.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentChunkedDocumentChunk" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentChunkedDocumentChunk": { +"description": "Represents a chunk.", +"id": "GoogleCloudDocumentaiV1beta2DocumentChunkedDocumentChunk", +"properties": { +"chunkId": { +"description": "ID of the chunk.", +"type": "string" +}, +"content": { +"description": "Text content of the chunk.", +"type": "string" +}, +"pageFooters": { +"description": "Page footers associated with the chunk.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentChunkedDocumentChunkChunkPageFooter" +}, +"type": "array" +}, +"pageHeaders": { +"description": "Page headers associated with the chunk.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentChunkedDocumentChunkChunkPageHeader" +}, +"type": "array" +}, +"pageSpan": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentChunkedDocumentChunkChunkPageSpan", +"description": "Page span of the chunk." +}, +"sourceBlockIds": { +"description": "Unused.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentChunkedDocumentChunkChunkPageFooter": { +"description": "Represents the page footer associated with the chunk.", +"id": "GoogleCloudDocumentaiV1beta2DocumentChunkedDocumentChunkChunkPageFooter", +"properties": { +"pageSpan": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentChunkedDocumentChunkChunkPageSpan", +"description": "Page span of the footer." +}, +"text": { +"description": "Footer in text format.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentChunkedDocumentChunkChunkPageHeader": { +"description": "Represents the page header associated with the chunk.", +"id": "GoogleCloudDocumentaiV1beta2DocumentChunkedDocumentChunkChunkPageHeader", +"properties": { +"pageSpan": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentChunkedDocumentChunkChunkPageSpan", +"description": "Page span of the header." +}, +"text": { +"description": "Header in text format.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentChunkedDocumentChunkChunkPageSpan": { +"description": "Represents where the chunk starts and ends in the document.", +"id": "GoogleCloudDocumentaiV1beta2DocumentChunkedDocumentChunkChunkPageSpan", +"properties": { +"pageEnd": { +"description": "Page where chunk ends in the document.", +"format": "int32", +"type": "integer" +}, +"pageStart": { +"description": "Page where chunk starts in the document.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentDocumentLayout": { +"description": "Represents the parsed layout of a document as a collection of blocks that the document is divided into.", +"id": "GoogleCloudDocumentaiV1beta2DocumentDocumentLayout", +"properties": { +"blocks": { +"description": "List of blocks in the document.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentDocumentLayoutDocumentLayoutBlock" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentDocumentLayoutDocumentLayoutBlock": { +"description": "Represents a block. A block could be one of the various types (text, table, list) supported.", +"id": "GoogleCloudDocumentaiV1beta2DocumentDocumentLayoutDocumentLayoutBlock", +"properties": { +"blockId": { +"description": "ID of the block.", +"type": "string" +}, +"listBlock": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentDocumentLayoutDocumentLayoutBlockLayoutListBlock", +"description": "Block consisting of list content/structure." +}, +"pageSpan": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentDocumentLayoutDocumentLayoutBlockLayoutPageSpan", +"description": "Page span of the block." +}, +"tableBlock": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentDocumentLayoutDocumentLayoutBlockLayoutTableBlock", +"description": "Block consisting of table content/structure." +}, +"textBlock": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentDocumentLayoutDocumentLayoutBlockLayoutTextBlock", +"description": "Block consisting of text content." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentDocumentLayoutDocumentLayoutBlockLayoutListBlock": { +"description": "Represents a list type block.", +"id": "GoogleCloudDocumentaiV1beta2DocumentDocumentLayoutDocumentLayoutBlockLayoutListBlock", +"properties": { +"listEntries": { +"description": "List entries that constitute a list block.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentDocumentLayoutDocumentLayoutBlockLayoutListEntry" +}, +"type": "array" +}, +"type": { +"description": "Type of the list_entries (if exist). Available options are `ordered` and `unordered`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentDocumentLayoutDocumentLayoutBlockLayoutListEntry": { +"description": "Represents an entry in the list.", +"id": "GoogleCloudDocumentaiV1beta2DocumentDocumentLayoutDocumentLayoutBlockLayoutListEntry", +"properties": { +"blocks": { +"description": "A list entry is a list of blocks. Repeated blocks support further hierarchies and nested blocks.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentDocumentLayoutDocumentLayoutBlock" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentDocumentLayoutDocumentLayoutBlockLayoutPageSpan": { +"description": "Represents where the block starts and ends in the document.", +"id": "GoogleCloudDocumentaiV1beta2DocumentDocumentLayoutDocumentLayoutBlockLayoutPageSpan", +"properties": { +"pageEnd": { +"description": "Page where block ends in the document.", +"format": "int32", +"type": "integer" +}, +"pageStart": { +"description": "Page where block starts in the document.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentDocumentLayoutDocumentLayoutBlockLayoutTableBlock": { +"description": "Represents a table type block.", +"id": "GoogleCloudDocumentaiV1beta2DocumentDocumentLayoutDocumentLayoutBlockLayoutTableBlock", +"properties": { +"bodyRows": { +"description": "Body rows containing main table content.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentDocumentLayoutDocumentLayoutBlockLayoutTableRow" +}, +"type": "array" +}, +"caption": { +"description": "Table caption/title.", +"type": "string" +}, +"headerRows": { +"description": "Header rows at the top of the table.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentDocumentLayoutDocumentLayoutBlockLayoutTableRow" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentDocumentLayoutDocumentLayoutBlockLayoutTableCell": { +"description": "Represents a cell in a table row.", +"id": "GoogleCloudDocumentaiV1beta2DocumentDocumentLayoutDocumentLayoutBlockLayoutTableCell", +"properties": { +"blocks": { +"description": "A table cell is a list of blocks. Repeated blocks support further hierarchies and nested blocks.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentDocumentLayoutDocumentLayoutBlock" +}, +"type": "array" +}, +"colSpan": { +"description": "How many columns this cell spans.", +"format": "int32", +"type": "integer" +}, +"rowSpan": { +"description": "How many rows this cell spans.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentDocumentLayoutDocumentLayoutBlockLayoutTableRow": { +"description": "Represents a row in a table.", +"id": "GoogleCloudDocumentaiV1beta2DocumentDocumentLayoutDocumentLayoutBlockLayoutTableRow", +"properties": { +"cells": { +"description": "A table row is a list of table cells.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentDocumentLayoutDocumentLayoutBlockLayoutTableCell" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentDocumentLayoutDocumentLayoutBlockLayoutTextBlock": { +"description": "Represents a text type block.", +"id": "GoogleCloudDocumentaiV1beta2DocumentDocumentLayoutDocumentLayoutBlockLayoutTextBlock", +"properties": { +"blocks": { +"description": "A text block could further have child blocks. Repeated blocks support further hierarchies and nested blocks.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentDocumentLayoutDocumentLayoutBlock" +}, +"type": "array" +}, +"text": { +"description": "Text content stored in the block.", +"type": "string" +}, +"type": { +"description": "Type of the text in the block. Available options are: `paragraph`, `subtitle`, `heading-1`, `heading-2`, `heading-3`, `heading-4`, `heading-5`, `header`, `footer`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentEntity": { +"description": "An entity that could be a phrase in the text or a property that belongs to the document. It is a known entity type, such as a person, an organization, or location.", +"id": "GoogleCloudDocumentaiV1beta2DocumentEntity", +"properties": { +"confidence": { +"description": "Optional. Confidence of detected Schema entity. Range `[0, 1]`.", +"format": "float", +"type": "number" +}, +"id": { +"description": "Optional. Canonical id. This will be a unique value in the entity list for this document.", +"type": "string" +}, +"mentionId": { +"description": "Optional. Deprecated. Use `id` field instead.", +"type": "string" +}, +"mentionText": { +"description": "Optional. Text value of the entity e.g. `1600 Amphitheatre Pkwy`.", +"type": "string" +}, +"normalizedValue": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentEntityNormalizedValue", +"description": "Optional. Normalized entity value. Absent if the extracted value could not be converted or the type (e.g. address) is not supported for certain parsers. This field is also only populated for certain supported document types." +}, +"pageAnchor": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageAnchor", +"description": "Optional. Represents the provenance of this entity wrt. the location on the page where it was found." +}, +"properties": { +"description": "Optional. Entities can be nested to form a hierarchical data structure representing the content in the document.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentEntity" +}, +"type": "array" +}, +"provenance": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentProvenance", +"description": "Optional. The history of this annotation." +}, +"redacted": { +"description": "Optional. Whether the entity will be redacted for de-identification purposes.", +"type": "boolean" +}, +"textAnchor": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentTextAnchor", +"description": "Optional. Provenance of the entity. Text anchor indexing into the Document.text." +}, +"type": { +"description": "Required. Entity type from a schema e.g. `Address`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentEntityNormalizedValue": { +"description": "Parsed and normalized entity value.", +"id": "GoogleCloudDocumentaiV1beta2DocumentEntityNormalizedValue", +"properties": { +"addressValue": { +"$ref": "GoogleTypePostalAddress", +"description": "Postal address. See also: https://github.com/googleapis/googleapis/blob/master/google/type/postal_address.proto" +}, +"booleanValue": { +"description": "Boolean value. Can be used for entities with binary values, or for checkboxes.", +"type": "boolean" +}, +"dateValue": { +"$ref": "GoogleTypeDate", +"description": "Date value. Includes year, month, day. See also: https://github.com/googleapis/googleapis/blob/master/google/type/date.proto" +}, +"datetimeValue": { +"$ref": "GoogleTypeDateTime", +"description": "DateTime value. Includes date, time, and timezone. See also: https://github.com/googleapis/googleapis/blob/master/google/type/datetime.proto" +}, +"floatValue": { +"description": "Float value.", +"format": "float", +"type": "number" +}, +"integerValue": { +"description": "Integer value.", +"format": "int32", +"type": "integer" +}, +"moneyValue": { +"$ref": "GoogleTypeMoney", +"description": "Money value. See also: https://github.com/googleapis/googleapis/blob/master/google/type/money.proto" +}, +"text": { +"description": "Optional. An optional field to store a normalized string. For some entity types, one of respective `structured_value` fields may also be populated. Also not all the types of `structured_value` will be normalized. For example, some processors may not generate `float` or `integer` normalized text by default. Below are sample formats mapped to structured values. - Money/Currency type (`money_value`) is in the ISO 4217 text format. - Date type (`date_value`) is in the ISO 8601 text format. - Datetime type (`datetime_value`) is in the ISO 8601 text format.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentEntityRelation": { +"description": "Relationship between Entities.", +"id": "GoogleCloudDocumentaiV1beta2DocumentEntityRelation", +"properties": { +"objectId": { +"description": "Object entity id.", +"type": "string" +}, +"relation": { +"description": "Relationship description.", +"type": "string" +}, +"subjectId": { +"description": "Subject entity id.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentLabel": { +"description": "Label attaches schema information and/or other metadata to segments within a Document. Multiple Labels on a single field can denote either different labels, different instances of the same label created at different times, or some combination of both.", +"id": "GoogleCloudDocumentaiV1beta2DocumentLabel", +"properties": { +"automlModel": { +"description": "Label is generated AutoML model. This field stores the full resource name of the AutoML model. Format: `projects/{project-id}/locations/{location-id}/models/{model-id}`", +"type": "string" +}, +"confidence": { +"description": "Confidence score between 0 and 1 for label assignment.", +"format": "float", +"type": "number" +}, +"name": { +"description": "Name of the label. When the label is generated from AutoML Text Classification model, this field represents the name of the category.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentPage": { +"description": "A page in a Document.", +"id": "GoogleCloudDocumentaiV1beta2DocumentPage", +"properties": { +"blocks": { +"description": "A list of visually detected text blocks on the page. A block has a set of lines (collected into paragraphs) that have a common line-spacing and orientation.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageBlock" +}, +"type": "array" +}, +"detectedBarcodes": { +"description": "A list of detected barcodes.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageDetectedBarcode" +}, +"type": "array" +}, +"detectedLanguages": { +"description": "A list of detected languages together with confidence.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage" +}, +"type": "array" +}, +"dimension": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageDimension", +"description": "Physical dimension of the page." +}, +"formFields": { +"description": "A list of visually detected form fields on the page.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageFormField" +}, +"type": "array" +}, +"image": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageImage", +"description": "Rendered image for this page. This image is preprocessed to remove any skew, rotation, and distortions such that the annotation bounding boxes can be upright and axis-aligned." +}, +"imageQualityScores": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageImageQualityScores", +"description": "Image quality scores." +}, +"layout": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageLayout", +"description": "Layout for the page." +}, +"lines": { +"description": "A list of visually detected text lines on the page. A collection of tokens that a human would perceive as a line.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageLine" +}, +"type": "array" +}, +"pageNumber": { +"description": "1-based index for current Page in a parent Document. Useful when a page is taken out of a Document for individual processing.", +"format": "int32", +"type": "integer" +}, +"paragraphs": { +"description": "A list of visually detected text paragraphs on the page. A collection of lines that a human would perceive as a paragraph.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageParagraph" +}, +"type": "array" +}, +"provenance": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentProvenance", +"deprecated": true, +"description": "The history of this page." +}, +"symbols": { +"description": "A list of visually detected symbols on the page.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageSymbol" +}, +"type": "array" +}, +"tables": { +"description": "A list of visually detected tables on the page.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageTable" +}, +"type": "array" +}, +"tokens": { +"description": "A list of visually detected tokens on the page.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageToken" +}, +"type": "array" +}, +"transforms": { +"description": "Transformation matrices that were applied to the original document image to produce Page.image.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageMatrix" +}, +"type": "array" +}, +"visualElements": { +"description": "A list of detected non-text visual elements e.g. checkbox, signature etc. on the page.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageVisualElement" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentPageAnchor": { +"description": "Referencing the visual context of the entity in the Document.pages. Page anchors can be cross-page, consist of multiple bounding polygons and optionally reference specific layout element types.", +"id": "GoogleCloudDocumentaiV1beta2DocumentPageAnchor", +"properties": { +"pageRefs": { +"description": "One or more references to visual page elements", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageAnchorPageRef" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentPageAnchorPageRef": { +"description": "Represents a weak reference to a page element within a document.", +"id": "GoogleCloudDocumentaiV1beta2DocumentPageAnchorPageRef", +"properties": { +"boundingPoly": { +"$ref": "GoogleCloudDocumentaiV1beta2BoundingPoly", +"description": "Optional. Identifies the bounding polygon of a layout element on the page. If `layout_type` is set, the bounding polygon must be exactly the same to the layout element it's referring to." +}, +"confidence": { +"description": "Optional. Confidence of detected page element, if applicable. Range `[0, 1]`.", +"format": "float", +"type": "number" +}, +"layoutId": { +"deprecated": true, +"description": "Optional. Deprecated. Use PageRef.bounding_poly instead.", +"type": "string" +}, +"layoutType": { +"description": "Optional. The type of the layout element that is being referenced if any.", +"enum": [ +"LAYOUT_TYPE_UNSPECIFIED", +"BLOCK", +"PARAGRAPH", +"LINE", +"TOKEN", +"VISUAL_ELEMENT", +"TABLE", +"FORM_FIELD" +], +"enumDescriptions": [ +"Layout Unspecified.", +"References a Page.blocks element.", +"References a Page.paragraphs element.", +"References a Page.lines element.", +"References a Page.tokens element.", +"References a Page.visual_elements element.", +"Refrrences a Page.tables element.", +"References a Page.form_fields element." +], +"type": "string" +}, +"page": { +"description": "Required. Index into the Document.pages element, for example using `Document.pages` to locate the related page element. This field is skipped when its value is the default `0`. See https://developers.google.com/protocol-buffers/docs/proto3#json.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentPageBlock": { +"description": "A block has a set of lines (collected into paragraphs) that have a common line-spacing and orientation.", +"id": "GoogleCloudDocumentaiV1beta2DocumentPageBlock", +"properties": { +"detectedLanguages": { +"description": "A list of detected languages together with confidence.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage" +}, +"type": "array" +}, +"layout": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageLayout", +"description": "Layout for Block." +}, +"provenance": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentProvenance", +"deprecated": true, +"description": "The history of this annotation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentPageDetectedBarcode": { +"description": "A detected barcode.", +"id": "GoogleCloudDocumentaiV1beta2DocumentPageDetectedBarcode", +"properties": { +"barcode": { +"$ref": "GoogleCloudDocumentaiV1beta2Barcode", +"description": "Detailed barcode information of the DetectedBarcode." +}, +"layout": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageLayout", +"description": "Layout for DetectedBarcode." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage": { +"description": "Detected language for a structural component.", +"id": "GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage", +"properties": { +"confidence": { +"description": "Confidence of detected language. Range `[0, 1]`.", +"format": "float", +"type": "number" +}, +"languageCode": { +"description": "The [BCP-47 language code](https://www.unicode.org/reports/tr35/#Unicode_locale_identifier), such as `en-US` or `sr-Latn`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentPageDimension": { +"description": "Dimension for the page.", +"id": "GoogleCloudDocumentaiV1beta2DocumentPageDimension", +"properties": { +"height": { +"description": "Page height.", +"format": "float", +"type": "number" +}, +"unit": { +"description": "Dimension unit.", +"type": "string" +}, +"width": { +"description": "Page width.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentPageFormField": { +"description": "A form field detected on the page.", +"id": "GoogleCloudDocumentaiV1beta2DocumentPageFormField", +"properties": { +"correctedKeyText": { +"description": "Created for Labeling UI to export key text. If corrections were made to the text identified by the `field_name.text_anchor`, this field will contain the correction.", +"type": "string" +}, +"correctedValueText": { +"description": "Created for Labeling UI to export value text. If corrections were made to the text identified by the `field_value.text_anchor`, this field will contain the correction.", +"type": "string" +}, +"fieldName": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageLayout", +"description": "Layout for the FormField name. e.g. `Address`, `Email`, `Grand total`, `Phone number`, etc." +}, +"fieldValue": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageLayout", +"description": "Layout for the FormField value." +}, +"nameDetectedLanguages": { +"description": "A list of detected languages for name together with confidence.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage" +}, +"type": "array" +}, +"provenance": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentProvenance", +"description": "The history of this annotation." +}, +"valueDetectedLanguages": { +"description": "A list of detected languages for value together with confidence.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage" +}, +"type": "array" +}, +"valueType": { +"description": "If the value is non-textual, this field represents the type. Current valid values are: - blank (this indicates the `field_value` is normal text) - `unfilled_checkbox` - `filled_checkbox`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentPageImage": { +"description": "Rendered image contents for this page.", +"id": "GoogleCloudDocumentaiV1beta2DocumentPageImage", +"properties": { +"content": { +"description": "Raw byte content of the image.", +"format": "byte", +"type": "string" +}, +"height": { +"description": "Height of the image in pixels.", +"format": "int32", +"type": "integer" +}, +"mimeType": { +"description": "Encoding [media type (MIME type)](https://www.iana.org/assignments/media-types/media-types.xhtml) for the image.", +"type": "string" +}, +"width": { +"description": "Width of the image in pixels.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentPageImageQualityScores": { +"description": "Image quality scores for the page image.", +"id": "GoogleCloudDocumentaiV1beta2DocumentPageImageQualityScores", +"properties": { +"detectedDefects": { +"description": "A list of detected defects.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageImageQualityScoresDetectedDefect" +}, +"type": "array" +}, +"qualityScore": { +"description": "The overall quality score. Range `[0, 1]` where `1` is perfect quality.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentPageImageQualityScoresDetectedDefect": { +"description": "Image Quality Defects", +"id": "GoogleCloudDocumentaiV1beta2DocumentPageImageQualityScoresDetectedDefect", +"properties": { +"confidence": { +"description": "Confidence of detected defect. Range `[0, 1]` where `1` indicates strong confidence that the defect exists.", +"format": "float", +"type": "number" +}, +"type": { +"description": "Name of the defect type. Supported values are: - `quality/defect_blurry` - `quality/defect_noisy` - `quality/defect_dark` - `quality/defect_faint` - `quality/defect_text_too_small` - `quality/defect_document_cutoff` - `quality/defect_text_cutoff` - `quality/defect_glare`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentPageLayout": { +"description": "Visual element describing a layout unit on a page.", +"id": "GoogleCloudDocumentaiV1beta2DocumentPageLayout", +"properties": { +"boundingPoly": { +"$ref": "GoogleCloudDocumentaiV1beta2BoundingPoly", +"description": "The bounding polygon for the Layout." +}, +"confidence": { +"description": "Confidence of the current Layout within context of the object this layout is for. e.g. confidence can be for a single token, a table, a visual element, etc. depending on context. Range `[0, 1]`.", +"format": "float", +"type": "number" +}, +"orientation": { +"description": "Detected orientation for the Layout.", +"enum": [ +"ORIENTATION_UNSPECIFIED", +"PAGE_UP", +"PAGE_RIGHT", +"PAGE_DOWN", +"PAGE_LEFT" +], +"enumDescriptions": [ +"Unspecified orientation.", +"Orientation is aligned with page up.", +"Orientation is aligned with page right. Turn the head 90 degrees clockwise from upright to read.", +"Orientation is aligned with page down. Turn the head 180 degrees from upright to read.", +"Orientation is aligned with page left. Turn the head 90 degrees counterclockwise from upright to read." +], +"type": "string" +}, +"textAnchor": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentTextAnchor", +"description": "Text anchor indexing into the Document.text." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentPageLine": { +"description": "A collection of tokens that a human would perceive as a line. Does not cross column boundaries, can be horizontal, vertical, etc.", +"id": "GoogleCloudDocumentaiV1beta2DocumentPageLine", +"properties": { +"detectedLanguages": { +"description": "A list of detected languages together with confidence.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage" +}, +"type": "array" +}, +"layout": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageLayout", +"description": "Layout for Line." +}, +"provenance": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentProvenance", +"deprecated": true, +"description": "The history of this annotation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentPageMatrix": { +"description": "Representation for transformation matrix, intended to be compatible and used with OpenCV format for image manipulation.", +"id": "GoogleCloudDocumentaiV1beta2DocumentPageMatrix", +"properties": { +"cols": { +"description": "Number of columns in the matrix.", +"format": "int32", +"type": "integer" +}, +"data": { +"description": "The matrix data.", +"format": "byte", +"type": "string" +}, +"rows": { +"description": "Number of rows in the matrix.", +"format": "int32", +"type": "integer" +}, +"type": { +"description": "This encodes information about what data type the matrix uses. For example, 0 (CV_8U) is an unsigned 8-bit image. For the full list of OpenCV primitive data types, please refer to https://docs.opencv.org/4.3.0/d1/d1b/group__core__hal__interface.html", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentPageParagraph": { +"description": "A collection of lines that a human would perceive as a paragraph.", +"id": "GoogleCloudDocumentaiV1beta2DocumentPageParagraph", +"properties": { +"detectedLanguages": { +"description": "A list of detected languages together with confidence.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage" +}, +"type": "array" +}, +"layout": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageLayout", +"description": "Layout for Paragraph." +}, +"provenance": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentProvenance", +"deprecated": true, +"description": "The history of this annotation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentPageSymbol": { +"description": "A detected symbol.", +"id": "GoogleCloudDocumentaiV1beta2DocumentPageSymbol", +"properties": { +"detectedLanguages": { +"description": "A list of detected languages together with confidence.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage" +}, +"type": "array" +}, +"layout": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageLayout", +"description": "Layout for Symbol." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentPageTable": { +"description": "A table representation similar to HTML table structure.", +"id": "GoogleCloudDocumentaiV1beta2DocumentPageTable", +"properties": { +"bodyRows": { +"description": "Body rows of the table.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageTableTableRow" +}, +"type": "array" +}, +"detectedLanguages": { +"description": "A list of detected languages together with confidence.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage" +}, +"type": "array" +}, +"headerRows": { +"description": "Header rows of the table.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageTableTableRow" +}, +"type": "array" +}, +"layout": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageLayout", +"description": "Layout for Table." +}, +"provenance": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentProvenance", +"deprecated": true, +"description": "The history of this table." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentPageTableTableCell": { +"description": "A cell representation inside the table.", +"id": "GoogleCloudDocumentaiV1beta2DocumentPageTableTableCell", +"properties": { +"colSpan": { +"description": "How many columns this cell spans.", +"format": "int32", +"type": "integer" +}, +"detectedLanguages": { +"description": "A list of detected languages together with confidence.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage" +}, +"type": "array" +}, +"layout": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageLayout", +"description": "Layout for TableCell." +}, +"rowSpan": { +"description": "How many rows this cell spans.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentPageTableTableRow": { +"description": "A row of table cells.", +"id": "GoogleCloudDocumentaiV1beta2DocumentPageTableTableRow", +"properties": { +"cells": { +"description": "Cells that make up this row.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageTableTableCell" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentPageToken": { +"description": "A detected token.", +"id": "GoogleCloudDocumentaiV1beta2DocumentPageToken", +"properties": { +"detectedBreak": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageTokenDetectedBreak", +"description": "Detected break at the end of a Token." +}, +"detectedLanguages": { +"description": "A list of detected languages together with confidence.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage" +}, +"type": "array" +}, +"layout": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageLayout", +"description": "Layout for Token." +}, +"provenance": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentProvenance", +"deprecated": true, +"description": "The history of this annotation." +}, +"styleInfo": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageTokenStyleInfo", +"description": "Text style attributes." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentPageTokenDetectedBreak": { +"description": "Detected break at the end of a Token.", +"id": "GoogleCloudDocumentaiV1beta2DocumentPageTokenDetectedBreak", +"properties": { +"type": { +"description": "Detected break type.", +"enum": [ +"TYPE_UNSPECIFIED", +"SPACE", +"WIDE_SPACE", +"HYPHEN" +], +"enumDescriptions": [ +"Unspecified break type.", +"A single whitespace.", +"A wider whitespace.", +"A hyphen that indicates that a token has been split across lines." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentPageTokenStyleInfo": { +"description": "Font and other text style attributes.", +"id": "GoogleCloudDocumentaiV1beta2DocumentPageTokenStyleInfo", +"properties": { +"backgroundColor": { +"$ref": "GoogleTypeColor", +"description": "Color of the background." +}, +"bold": { +"description": "Whether the text is bold (equivalent to font_weight is at least `700`).", +"type": "boolean" +}, +"fontSize": { +"description": "Font size in points (`1` point is `\u00b9\u2044\u2087\u2082` inches).", +"format": "int32", +"type": "integer" +}, +"fontType": { +"description": "Name or style of the font.", +"type": "string" +}, +"fontWeight": { +"description": "TrueType weight on a scale `100` (thin) to `1000` (ultra-heavy). Normal is `400`, bold is `700`.", +"format": "int32", +"type": "integer" +}, +"handwritten": { +"description": "Whether the text is handwritten.", +"type": "boolean" +}, +"italic": { +"description": "Whether the text is italic.", +"type": "boolean" +}, +"letterSpacing": { +"description": "Letter spacing in points.", +"format": "double", +"type": "number" +}, +"pixelFontSize": { +"description": "Font size in pixels, equal to _unrounded font_size_ * _resolution_ \u00f7 `72.0`.", +"format": "double", +"type": "number" +}, +"smallcaps": { +"description": "Whether the text is in small caps. This feature is not supported yet.", +"type": "boolean" +}, +"strikeout": { +"description": "Whether the text is strikethrough. This feature is not supported yet.", +"type": "boolean" +}, +"subscript": { +"description": "Whether the text is a subscript. This feature is not supported yet.", +"type": "boolean" +}, +"superscript": { +"description": "Whether the text is a superscript. This feature is not supported yet.", +"type": "boolean" +}, +"textColor": { +"$ref": "GoogleTypeColor", +"description": "Color of the text." +}, +"underlined": { +"description": "Whether the text is underlined.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentPageVisualElement": { +"description": "Detected non-text visual elements e.g. checkbox, signature etc. on the page.", +"id": "GoogleCloudDocumentaiV1beta2DocumentPageVisualElement", +"properties": { +"detectedLanguages": { +"description": "A list of detected languages together with confidence.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage" +}, +"type": "array" +}, +"layout": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentPageLayout", +"description": "Layout for VisualElement." +}, +"type": { +"description": "Type of the VisualElement.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentProvenance": { +"description": "Structure to identify provenance relationships between annotations in different revisions.", +"id": "GoogleCloudDocumentaiV1beta2DocumentProvenance", +"properties": { +"id": { +"deprecated": true, +"description": "The Id of this operation. Needs to be unique within the scope of the revision.", +"format": "int32", +"type": "integer" +}, +"parents": { +"description": "References to the original elements that are replaced.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentProvenanceParent" +}, +"type": "array" +}, +"revision": { +"deprecated": true, +"description": "The index of the revision that produced this element.", +"format": "int32", +"type": "integer" +}, +"type": { +"description": "The type of provenance operation.", +"enum": [ +"OPERATION_TYPE_UNSPECIFIED", +"ADD", +"REMOVE", +"UPDATE", +"REPLACE", +"EVAL_REQUESTED", +"EVAL_APPROVED", +"EVAL_SKIPPED" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +true, +true, +true +], +"enumDescriptions": [ +"Operation type unspecified. If no operation is specified a provenance entry is simply used to match against a `parent`.", +"Add an element.", +"Remove an element identified by `parent`.", +"Updates any fields within the given provenance scope of the message. It overwrites the fields rather than replacing them. Use this when you want to update a field value of an entity without also updating all the child properties.", +"Currently unused. Replace an element identified by `parent`.", +"Deprecated. Request human review for the element identified by `parent`.", +"Deprecated. Element is reviewed and approved at human review, confidence will be set to 1.0.", +"Deprecated. Element is skipped in the validation process." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentProvenanceParent": { +"description": "The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.", +"id": "GoogleCloudDocumentaiV1beta2DocumentProvenanceParent", +"properties": { +"id": { +"deprecated": true, +"description": "The id of the parent provenance.", +"format": "int32", +"type": "integer" +}, +"index": { +"description": "The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) in the parent revision.", +"format": "int32", +"type": "integer" +}, +"revision": { +"description": "The index of the index into current revision's parent_ids list.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentRevision": { +"description": "Contains past or forward revisions of this document.", +"id": "GoogleCloudDocumentaiV1beta2DocumentRevision", +"properties": { +"agent": { +"description": "If the change was made by a person specify the name or id of that person.", +"type": "string" +}, +"createTime": { +"description": "The time that the revision was created, internally generated by doc proto storage at the time of create.", +"format": "google-datetime", +"type": "string" +}, +"humanReview": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentRevisionHumanReview", +"description": "Human Review information of this revision." +}, +"id": { +"description": "Id of the revision, internally generated by doc proto storage. Unique within the context of the document.", +"type": "string" +}, +"parent": { +"deprecated": true, +"description": "The revisions that this revision is based on. This can include one or more parent (when documents are merged.) This field represents the index into the `revisions` field.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"parentIds": { +"description": "The revisions that this revision is based on. Must include all the ids that have anything to do with this revision - eg. there are `provenance.parent.revision` fields that index into this field.", +"items": { +"type": "string" +}, +"type": "array" +}, +"processor": { +"description": "If the annotation was made by processor identify the processor by its resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentRevisionHumanReview": { +"description": "Human Review information of the document.", +"id": "GoogleCloudDocumentaiV1beta2DocumentRevisionHumanReview", +"properties": { +"state": { +"description": "Human review state. e.g. `requested`, `succeeded`, `rejected`.", +"type": "string" +}, +"stateMessage": { +"description": "A message providing more details about the current state of processing. For example, the rejection reason when the state is `rejected`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentShardInfo": { +"description": "For a large document, sharding may be performed to produce several document shards. Each document shard contains this field to detail which shard it is.", +"id": "GoogleCloudDocumentaiV1beta2DocumentShardInfo", +"properties": { +"shardCount": { +"description": "Total number of shards.", +"format": "int64", +"type": "string" +}, +"shardIndex": { +"description": "The 0-based index of this shard.", +"format": "int64", +"type": "string" +}, +"textOffset": { +"description": "The index of the first character in Document.text in the overall document global text.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentStyle": { +"description": "Annotation for common text style attributes. This adheres to CSS conventions as much as possible.", +"id": "GoogleCloudDocumentaiV1beta2DocumentStyle", +"properties": { +"backgroundColor": { +"$ref": "GoogleTypeColor", +"description": "Text background color." +}, +"color": { +"$ref": "GoogleTypeColor", +"description": "Text color." +}, +"fontFamily": { +"description": "Font family such as `Arial`, `Times New Roman`. https://www.w3schools.com/cssref/pr_font_font-family.asp", +"type": "string" +}, +"fontSize": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentStyleFontSize", +"description": "Font size." +}, +"fontWeight": { +"description": "[Font weight](https://www.w3schools.com/cssref/pr_font_weight.asp). Possible values are `normal`, `bold`, `bolder`, and `lighter`.", +"type": "string" +}, +"textAnchor": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentTextAnchor", +"description": "Text anchor indexing into the Document.text." +}, +"textDecoration": { +"description": "[Text decoration](https://www.w3schools.com/cssref/pr_text_text-decoration.asp). Follows CSS standard. ", +"type": "string" +}, +"textStyle": { +"description": "[Text style](https://www.w3schools.com/cssref/pr_font_font-style.asp). Possible values are `normal`, `italic`, and `oblique`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentStyleFontSize": { +"description": "Font size with unit.", +"id": "GoogleCloudDocumentaiV1beta2DocumentStyleFontSize", +"properties": { +"size": { +"description": "Font size for the text.", +"format": "float", +"type": "number" +}, +"unit": { +"description": "Unit for the font size. Follows CSS naming (such as `in`, `px`, and `pt`).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentTextAnchor": { +"description": "Text reference indexing into the Document.text.", +"id": "GoogleCloudDocumentaiV1beta2DocumentTextAnchor", +"properties": { +"content": { +"description": "Contains the content of the text span so that users do not have to look it up in the text_segments. It is always populated for formFields.", +"type": "string" +}, +"textSegments": { +"description": "The text segments from the Document.text.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentTextAnchorTextSegment" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentTextAnchorTextSegment": { +"description": "A text segment in the Document.text. The indices may be out of bounds which indicate that the text extends into another document shard for large sharded documents. See ShardInfo.text_offset", +"id": "GoogleCloudDocumentaiV1beta2DocumentTextAnchorTextSegment", +"properties": { +"endIndex": { +"description": "TextSegment half open end UTF-8 char index in the Document.text.", +"format": "int64", +"type": "string" +}, +"startIndex": { +"description": "TextSegment start UTF-8 char index in the Document.text.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2DocumentTextChange": { +"description": "This message is used for text changes aka. OCR corrections.", +"id": "GoogleCloudDocumentaiV1beta2DocumentTextChange", +"properties": { +"changedText": { +"description": "The text that replaces the text identified in the `text_anchor`.", +"type": "string" +}, +"provenance": { +"deprecated": true, +"description": "The history of this annotation.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentProvenance" +}, +"type": "array" +}, +"textAnchor": { +"$ref": "GoogleCloudDocumentaiV1beta2DocumentTextAnchor", +"description": "Provenance of the correction. Text anchor indexing into the Document.text. There can only be a single `TextAnchor.text_segments` element. If the start and end index of the text segment are the same, the text change is inserted before that index." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2EntityExtractionParams": { +"description": "Parameters to control entity extraction behavior.", +"id": "GoogleCloudDocumentaiV1beta2EntityExtractionParams", +"properties": { +"enabled": { +"description": "Whether to enable entity extraction.", +"type": "boolean" +}, +"modelVersion": { +"description": "Model version of the entity extraction. Default is \"builtin/stable\". Specify \"builtin/latest\" for the latest model.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2FormExtractionParams": { +"description": "Parameters to control form extraction behavior.", +"id": "GoogleCloudDocumentaiV1beta2FormExtractionParams", +"properties": { +"enabled": { +"description": "Whether to enable form extraction.", +"type": "boolean" +}, +"keyValuePairHints": { +"description": "Reserved for future use.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2KeyValuePairHint" +}, +"type": "array" +}, +"modelVersion": { +"description": "Model version of the form extraction system. Default is \"builtin/stable\". Specify \"builtin/latest\" for the latest model. For custom form models, specify: \"custom/{model_name}\". Model name format is \"bucket_name/path/to/modeldir\" corresponding to \"gs://bucket_name/path/to/modeldir\" where annotated examples are stored.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2GcsDestination": { +"description": "The Google Cloud Storage location where the output file will be written to.", +"id": "GoogleCloudDocumentaiV1beta2GcsDestination", +"properties": { +"uri": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2GcsSource": { +"description": "The Google Cloud Storage location where the input file will be read from.", +"id": "GoogleCloudDocumentaiV1beta2GcsSource", +"properties": { +"uri": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2InputConfig": { +"description": "The desired input location and metadata.", +"id": "GoogleCloudDocumentaiV1beta2InputConfig", +"properties": { +"contents": { +"description": "Content in bytes, represented as a stream of bytes. Note: As with all `bytes` fields, proto buffer messages use a pure binary representation, whereas JSON representations use base64. This field only works for synchronous ProcessDocument method.", +"format": "byte", +"type": "string" +}, +"gcsSource": { +"$ref": "GoogleCloudDocumentaiV1beta2GcsSource", +"description": "The Google Cloud Storage location to read the input from. This must be a single file." +}, +"mimeType": { +"description": "Required. Mimetype of the input. Current supported mimetypes are application/pdf, image/tiff, and image/gif. In addition, application/json type is supported for requests with ProcessDocumentRequest.automl_params field set. The JSON file needs to be in Document format.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2KeyValuePairHint": { +"description": "Reserved for future use.", +"id": "GoogleCloudDocumentaiV1beta2KeyValuePairHint", +"properties": { +"key": { +"description": "The key text for the hint.", +"type": "string" +}, +"valueTypes": { +"description": "Type of the value. This is case-insensitive, and could be one of: ADDRESS, LOCATION, ORGANIZATION, PERSON, PHONE_NUMBER, ID, NUMBER, EMAIL, PRICE, TERMS, DATE, NAME. Types not in this list will be ignored.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2NormalizedVertex": { +"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": "GoogleCloudDocumentaiV1beta2NormalizedVertex", +"properties": { +"x": { +"description": "X coordinate.", +"format": "float", +"type": "number" +}, +"y": { +"description": "Y coordinate (starts from the top of the image).", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2OcrParams": { +"description": "Parameters to control Optical Character Recognition (OCR) behavior.", +"id": "GoogleCloudDocumentaiV1beta2OcrParams", +"properties": { +"languageHints": { +"description": "List of languages to use for OCR. In most cases, an empty value yields the best results since it enables automatic language detection. For languages based on the Latin alphabet, setting `language_hints` is not needed. In rare cases, when the language of the text in the image is known, setting a hint will help get better results (although it will be a significant hindrance if the hint is wrong). Document processing returns an error if one or more of the specified languages is not one of the supported languages.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2OperationMetadata": { +"description": "Contains metadata for the BatchProcessDocuments operation.", +"id": "GoogleCloudDocumentaiV1beta2OperationMetadata", +"properties": { +"createTime": { +"description": "The creation time of the operation.", +"format": "google-datetime", +"type": "string" +}, +"state": { +"description": "The state of the current batch processing.", +"enum": [ +"STATE_UNSPECIFIED", +"ACCEPTED", +"WAITING", +"RUNNING", +"SUCCEEDED", +"CANCELLED", +"FAILED" +], +"enumDescriptions": [ +"The default value. This value is used if the state is omitted.", +"Request is received.", +"Request operation is waiting for scheduling.", +"Request is being processed.", +"The batch processing completed successfully.", +"The batch processing was cancelled.", +"The batch processing has failed." +], +"type": "string" +}, +"stateMessage": { +"description": "A message providing more details about the current state of processing.", +"type": "string" +}, +"updateTime": { +"description": "The last update time of the operation.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2OutputConfig": { +"description": "The desired output location and metadata.", +"id": "GoogleCloudDocumentaiV1beta2OutputConfig", +"properties": { +"gcsDestination": { +"$ref": "GoogleCloudDocumentaiV1beta2GcsDestination", +"description": "The Google Cloud Storage location to write the output to." +}, +"pagesPerShard": { +"description": "The max number of pages to include into each output Document shard JSON on Google Cloud Storage. The valid range is [1, 100]. If not specified, the default value is 20. For example, for one pdf file with 100 pages, 100 parsed pages will be produced. If `pages_per_shard` = 20, then 5 Document shard JSON files each containing 20 parsed pages will be written under the prefix OutputConfig.gcs_destination.uri and suffix pages-x-to-y.json where x and y are 1-indexed page numbers. Example GCS outputs with 157 pages and pages_per_shard = 50: pages-001-to-050.json pages-051-to-100.json pages-101-to-150.json pages-151-to-157.json", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2ProcessDocumentRequest": { +"description": "Request to process one document.", +"id": "GoogleCloudDocumentaiV1beta2ProcessDocumentRequest", +"properties": { +"automlParams": { +"$ref": "GoogleCloudDocumentaiV1beta2AutoMlParams", +"description": "Controls AutoML model prediction behavior. AutoMlParams cannot be used together with other Params." +}, +"documentType": { +"description": "Specifies a known document type for deeper structure detection. Valid values are currently \"general\" and \"invoice\". If not provided, \"general\"\\ is used as default. If any other value is given, the request is rejected.", +"type": "string" +}, +"entityExtractionParams": { +"$ref": "GoogleCloudDocumentaiV1beta2EntityExtractionParams", +"description": "Controls entity extraction behavior. If not specified, the system will decide reasonable defaults." +}, +"formExtractionParams": { +"$ref": "GoogleCloudDocumentaiV1beta2FormExtractionParams", +"description": "Controls form extraction behavior. If not specified, the system will decide reasonable defaults." +}, +"inputConfig": { +"$ref": "GoogleCloudDocumentaiV1beta2InputConfig", +"description": "Required. Information about the input file." +}, +"ocrParams": { +"$ref": "GoogleCloudDocumentaiV1beta2OcrParams", +"description": "Controls OCR behavior. If not specified, the system will decide reasonable defaults." +}, +"outputConfig": { +"$ref": "GoogleCloudDocumentaiV1beta2OutputConfig", +"description": "The desired output location. This field is only needed in BatchProcessDocumentsRequest." +}, +"parent": { +"description": "Target project and location to make a call. Format: `projects/{project-id}/locations/{location-id}`. If no location is specified, a region will be chosen automatically. This field is only populated when used in ProcessDocument method.", +"type": "string" +}, +"tableExtractionParams": { +"$ref": "GoogleCloudDocumentaiV1beta2TableExtractionParams", +"description": "Controls table extraction behavior. If not specified, the system will decide reasonable defaults." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2ProcessDocumentResponse": { +"description": "Response to a single document processing request.", +"id": "GoogleCloudDocumentaiV1beta2ProcessDocumentResponse", +"properties": { +"inputConfig": { +"$ref": "GoogleCloudDocumentaiV1beta2InputConfig", +"description": "Information about the input file. This is the same as the corresponding input config in the request." +}, +"outputConfig": { +"$ref": "GoogleCloudDocumentaiV1beta2OutputConfig", +"description": "The output location of the parsed responses. The responses are written to this location as JSON-serialized `Document` objects." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2TableBoundHint": { +"description": "A hint for a table bounding box on the page for table parsing.", +"id": "GoogleCloudDocumentaiV1beta2TableBoundHint", +"properties": { +"boundingBox": { +"$ref": "GoogleCloudDocumentaiV1beta2BoundingPoly", +"description": "Bounding box hint for a table on this page. The coordinates must be normalized to [0,1] and the bounding box must be an axis-aligned rectangle." +}, +"pageNumber": { +"description": "Optional. Page number for multi-paged inputs this hint applies to. If not provided, this hint will apply to all pages by default. This value is 1-based.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2TableExtractionParams": { +"description": "Parameters to control table extraction behavior.", +"id": "GoogleCloudDocumentaiV1beta2TableExtractionParams", +"properties": { +"enabled": { +"description": "Whether to enable table extraction.", +"type": "boolean" +}, +"headerHints": { +"description": "Optional. Reserved for future use.", +"items": { +"type": "string" +}, +"type": "array" +}, +"modelVersion": { +"description": "Model version of the table extraction system. Default is \"builtin/stable\". Specify \"builtin/latest\" for the latest model.", +"type": "string" +}, +"tableBoundHints": { +"description": "Optional. Table bounding box hints that can be provided to complex cases which our algorithm cannot locate the table(s) in.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta2TableBoundHint" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta2Vertex": { +"description": "A vertex represents a 2D point in the image. NOTE: the vertex coordinates are in the same scale as the original image.", +"id": "GoogleCloudDocumentaiV1beta2Vertex", +"properties": { +"x": { +"description": "X coordinate.", +"format": "int32", +"type": "integer" +}, +"y": { +"description": "Y coordinate (starts from the top of the image).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3BatchDeleteDocumentsMetadata": { +"id": "GoogleCloudDocumentaiV1beta3BatchDeleteDocumentsMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiV1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +}, +"errorDocumentCount": { +"description": "Total number of documents that failed to be deleted in storage.", +"format": "int32", +"type": "integer" +}, +"individualBatchDeleteStatuses": { +"description": "The list of response details of each document.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta3BatchDeleteDocumentsMetadataIndividualBatchDeleteStatus" +}, +"type": "array" +}, +"totalDocumentCount": { +"description": "Total number of documents deleting from dataset.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3BatchDeleteDocumentsMetadataIndividualBatchDeleteStatus": { +"description": "The status of each individual document in the batch delete process.", +"id": "GoogleCloudDocumentaiV1beta3BatchDeleteDocumentsMetadataIndividualBatchDeleteStatus", +"properties": { +"documentId": { +"$ref": "GoogleCloudDocumentaiV1beta3DocumentId", +"description": "The document id of the document." +}, +"status": { +"$ref": "GoogleRpcStatus", +"description": "The status of deleting the document in storage." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3BatchDeleteDocumentsResponse": { +"description": "Response of the delete documents operation.", +"id": "GoogleCloudDocumentaiV1beta3BatchDeleteDocumentsResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3BatchProcessMetadata": { +"description": "The long-running operation metadata for BatchProcessDocuments.", +"id": "GoogleCloudDocumentaiV1beta3BatchProcessMetadata", +"properties": { +"createTime": { +"description": "The creation time of the operation.", +"format": "google-datetime", +"type": "string" +}, +"individualProcessStatuses": { +"description": "The list of response details of each document.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta3BatchProcessMetadataIndividualProcessStatus" +}, +"type": "array" +}, +"state": { +"description": "The state of the current batch processing.", +"enum": [ +"STATE_UNSPECIFIED", +"WAITING", +"RUNNING", +"SUCCEEDED", +"CANCELLING", +"CANCELLED", +"FAILED" +], +"enumDescriptions": [ +"The default value. This value is used if the state is omitted.", +"Request operation is waiting for scheduling.", +"Request is being processed.", +"The batch processing completed successfully.", +"The batch processing was being cancelled.", +"The batch processing was cancelled.", +"The batch processing has failed." +], +"type": "string" +}, +"stateMessage": { +"description": "A message providing more details about the current state of processing. For example, the error message if the operation is failed.", +"type": "string" +}, +"updateTime": { +"description": "The last update time of the operation.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3BatchProcessMetadataIndividualProcessStatus": { +"description": "The status of a each individual document in the batch process.", +"id": "GoogleCloudDocumentaiV1beta3BatchProcessMetadataIndividualProcessStatus", +"properties": { +"humanReviewOperation": { +"deprecated": true, +"description": "The name of the operation triggered by the processed document. If the human review process isn't triggered, this field will be empty. It has the same response type and metadata as the long-running operation returned by the ReviewDocument method.", +"type": "string" +}, +"humanReviewStatus": { +"$ref": "GoogleCloudDocumentaiV1beta3HumanReviewStatus", +"description": "The status of human review on the processed document." +}, +"inputGcsSource": { +"description": "The source of the document, same as the input_gcs_source field in the request when the batch process started.", +"type": "string" +}, +"outputGcsDestination": { +"description": "The Cloud Storage output destination (in the request as DocumentOutputConfig.GcsOutputConfig.gcs_uri) of the processed document if it was successful, otherwise empty.", +"type": "string" +}, +"status": { +"$ref": "GoogleRpcStatus", +"description": "The status processing the document." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3BatchProcessResponse": { +"description": "Response message for BatchProcessDocuments.", +"id": "GoogleCloudDocumentaiV1beta3BatchProcessResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3CommonOperationMetadata": { +"description": "The common metadata for long running operations.", +"id": "GoogleCloudDocumentaiV1beta3CommonOperationMetadata", +"properties": { +"createTime": { +"description": "The creation time of the operation.", +"format": "google-datetime", +"type": "string" +}, +"resource": { +"description": "A related resource to this operation.", +"type": "string" +}, +"state": { +"description": "The state of the operation.", +"enum": [ +"STATE_UNSPECIFIED", +"RUNNING", +"CANCELLING", +"SUCCEEDED", +"FAILED", +"CANCELLED" +], +"enumDescriptions": [ +"Unspecified state.", +"Operation is still running.", +"Operation is being cancelled.", +"Operation succeeded.", +"Operation failed.", +"Operation is cancelled." +], +"type": "string" +}, +"stateMessage": { +"description": "A message providing more details about the current state of processing.", +"type": "string" +}, +"updateTime": { +"description": "The last update time of the operation.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3Dataset": { +"description": "A singleton resource under a Processor which configures a collection of documents.", +"id": "GoogleCloudDocumentaiV1beta3Dataset", +"properties": { +"documentWarehouseConfig": { +"$ref": "GoogleCloudDocumentaiV1beta3DatasetDocumentWarehouseConfig", +"deprecated": true, +"description": "Optional. Deprecated. Warehouse-based dataset configuration is not supported." +}, +"gcsManagedConfig": { +"$ref": "GoogleCloudDocumentaiV1beta3DatasetGCSManagedConfig", +"description": "Optional. User-managed Cloud Storage dataset configuration. Use this configuration if the dataset documents are stored under a user-managed Cloud Storage location." +}, +"name": { +"description": "Dataset resource name. Format: `projects/{project}/locations/{location}/processors/{processor}/dataset`", +"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" +}, +"spannerIndexingConfig": { +"$ref": "GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig", +"description": "Optional. A lightweight indexing source with low latency and high reliability, but lacking advanced features like CMEK and content-based search." +}, +"state": { +"description": "Required. State of the dataset. Ignored when updating dataset.", +"enum": [ +"STATE_UNSPECIFIED", +"UNINITIALIZED", +"INITIALIZING", +"INITIALIZED" +], +"enumDescriptions": [ +"Default unspecified enum, should not be used.", +"Dataset has not been initialized.", +"Dataset is being initialized.", +"Dataset has been initialized." +], +"type": "string" +}, +"unmanagedDatasetConfig": { +"$ref": "GoogleCloudDocumentaiV1beta3DatasetUnmanagedDatasetConfig", +"description": "Optional. Unmanaged dataset configuration. Use this configuration if the dataset documents are managed by the document service internally (not user-managed)." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3DatasetDocumentWarehouseConfig": { +"description": "Configuration specific to the Document AI Warehouse-based implementation.", +"id": "GoogleCloudDocumentaiV1beta3DatasetDocumentWarehouseConfig", +"properties": { +"collection": { +"description": "Output only. The collection in Document AI Warehouse associated with the dataset.", +"readOnly": true, +"type": "string" +}, +"schema": { +"description": "Output only. The schema in Document AI Warehouse associated with the dataset.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3DatasetGCSManagedConfig": { +"description": "Configuration specific to the Cloud Storage-based implementation.", +"id": "GoogleCloudDocumentaiV1beta3DatasetGCSManagedConfig", +"properties": { +"gcsPrefix": { +"$ref": "GoogleCloudDocumentaiV1beta3GcsPrefix", +"description": "Required. The Cloud Storage URI (a directory) where the documents belonging to the dataset must be stored." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig": { +"description": "Configuration specific to spanner-based indexing.", +"id": "GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig", +"properties": {}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3DatasetUnmanagedDatasetConfig": { +"description": "Configuration specific to an unmanaged dataset.", +"id": "GoogleCloudDocumentaiV1beta3DatasetUnmanagedDatasetConfig", +"properties": {}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3DeleteProcessorMetadata": { +"description": "The long-running operation metadata for the DeleteProcessor method.", +"id": "GoogleCloudDocumentaiV1beta3DeleteProcessorMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiV1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3DeleteProcessorVersionMetadata": { +"description": "The long-running operation metadata for the DeleteProcessorVersion method.", +"id": "GoogleCloudDocumentaiV1beta3DeleteProcessorVersionMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiV1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3DeployProcessorVersionMetadata": { +"description": "The long-running operation metadata for the DeployProcessorVersion method.", +"id": "GoogleCloudDocumentaiV1beta3DeployProcessorVersionMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiV1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3DeployProcessorVersionResponse": { +"description": "Response message for the DeployProcessorVersion method.", +"id": "GoogleCloudDocumentaiV1beta3DeployProcessorVersionResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3DisableProcessorMetadata": { +"description": "The long-running operation metadata for the DisableProcessor method.", +"id": "GoogleCloudDocumentaiV1beta3DisableProcessorMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiV1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3DisableProcessorResponse": { +"description": "Response message for the DisableProcessor method. Intentionally empty proto for adding fields in future.", +"id": "GoogleCloudDocumentaiV1beta3DisableProcessorResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3DocumentId": { +"description": "Document Identifier.", +"id": "GoogleCloudDocumentaiV1beta3DocumentId", +"properties": { +"gcsManagedDocId": { +"$ref": "GoogleCloudDocumentaiV1beta3DocumentIdGCSManagedDocumentId", +"description": "A document id within user-managed Cloud Storage." +}, +"revisionRef": { +"$ref": "GoogleCloudDocumentaiV1beta3RevisionRef", +"description": "Points to a specific revision of the document if set." +}, +"unmanagedDocId": { +"$ref": "GoogleCloudDocumentaiV1beta3DocumentIdUnmanagedDocumentId", +"description": "A document id within unmanaged dataset." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3DocumentIdGCSManagedDocumentId": { +"description": "Identifies a document uniquely within the scope of a dataset in the user-managed Cloud Storage option.", +"id": "GoogleCloudDocumentaiV1beta3DocumentIdGCSManagedDocumentId", +"properties": { +"cwDocId": { +"deprecated": true, +"description": "Id of the document (indexed) managed by Content Warehouse.", +"type": "string" +}, +"gcsUri": { +"description": "Required. The Cloud Storage URI where the actual document is stored.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3DocumentIdUnmanagedDocumentId": { +"description": "Identifies a document uniquely within the scope of a dataset in unmanaged option.", +"id": "GoogleCloudDocumentaiV1beta3DocumentIdUnmanagedDocumentId", +"properties": { +"docId": { +"description": "Required. The id of the document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3EnableProcessorMetadata": { +"description": "The long-running operation metadata for the EnableProcessor method.", +"id": "GoogleCloudDocumentaiV1beta3EnableProcessorMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiV1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3EnableProcessorResponse": { +"description": "Response message for the EnableProcessor method. Intentionally empty proto for adding fields in future.", +"id": "GoogleCloudDocumentaiV1beta3EnableProcessorResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3EvaluateProcessorVersionMetadata": { +"description": "Metadata of the EvaluateProcessorVersion method.", +"id": "GoogleCloudDocumentaiV1beta3EvaluateProcessorVersionMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiV1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3EvaluateProcessorVersionResponse": { +"description": "Response of the EvaluateProcessorVersion method.", +"id": "GoogleCloudDocumentaiV1beta3EvaluateProcessorVersionResponse", +"properties": { +"evaluation": { +"description": "The resource name of the created evaluation.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3GcsPrefix": { +"description": "Specifies all documents on Cloud Storage with a common prefix.", +"id": "GoogleCloudDocumentaiV1beta3GcsPrefix", +"properties": { +"gcsUriPrefix": { +"description": "The URI prefix.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3HumanReviewStatus": { +"description": "The status of human review on a processed document.", +"id": "GoogleCloudDocumentaiV1beta3HumanReviewStatus", +"properties": { +"humanReviewOperation": { +"description": "The name of the operation triggered by the processed document. This field is populated only when the state is `HUMAN_REVIEW_IN_PROGRESS`. It has the same response type and metadata as the long-running operation returned by ReviewDocument.", +"type": "string" +}, +"state": { +"description": "The state of human review on the processing request.", +"enum": [ +"STATE_UNSPECIFIED", +"SKIPPED", +"VALIDATION_PASSED", +"IN_PROGRESS", +"ERROR" +], +"enumDescriptions": [ +"Human review state is unspecified. Most likely due to an internal error.", +"Human review is skipped for the document. This can happen because human review isn't enabled on the processor or the processing request has been set to skip this document.", +"Human review validation is triggered and passed, so no review is needed.", +"Human review validation is triggered and the document is under review.", +"Some error happened during triggering human review, see the state_message for details." +], +"type": "string" +}, +"stateMessage": { +"description": "A message providing more details about the human review state.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3ImportDocumentsMetadata": { +"description": "Metadata of the import document operation.", +"id": "GoogleCloudDocumentaiV1beta3ImportDocumentsMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiV1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +}, +"importConfigValidationResults": { +"description": "Validation statuses of the batch documents import config.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta3ImportDocumentsMetadataImportConfigValidationResult" +}, +"type": "array" +}, +"individualImportStatuses": { +"description": "The list of response details of each document.", +"items": { +"$ref": "GoogleCloudDocumentaiV1beta3ImportDocumentsMetadataIndividualImportStatus" +}, +"type": "array" +}, +"totalDocumentCount": { +"description": "Total number of the documents that are qualified for importing.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3ImportDocumentsMetadataImportConfigValidationResult": { +"description": "The validation status of each import config. Status is set to an error if there are no documents to import in the `import_config`, or `OK` if the operation will try to proceed with at least one document.", +"id": "GoogleCloudDocumentaiV1beta3ImportDocumentsMetadataImportConfigValidationResult", +"properties": { +"inputGcsSource": { +"description": "The source Cloud Storage URI specified in the import config.", +"type": "string" +}, +"status": { +"$ref": "GoogleRpcStatus", +"description": "The validation status of import config." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3ImportDocumentsMetadataIndividualImportStatus": { +"description": "The status of each individual document in the import process.", +"id": "GoogleCloudDocumentaiV1beta3ImportDocumentsMetadataIndividualImportStatus", +"properties": { +"inputGcsSource": { +"description": "The source Cloud Storage URI of the document.", +"type": "string" +}, +"outputDocumentId": { +"$ref": "GoogleCloudDocumentaiV1beta3DocumentId", +"description": "The document id of imported document if it was successful, otherwise empty." +}, +"status": { +"$ref": "GoogleRpcStatus", +"description": "The status of the importing of the document." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3ImportDocumentsResponse": { +"description": "Response of the import document operation.", +"id": "GoogleCloudDocumentaiV1beta3ImportDocumentsResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3ImportProcessorVersionMetadata": { +"description": "The long-running operation metadata for the ImportProcessorVersion method.", +"id": "GoogleCloudDocumentaiV1beta3ImportProcessorVersionMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiV1beta3CommonOperationMetadata", +"description": "The basic metadata for the long-running operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3ImportProcessorVersionResponse": { +"description": "The response message for the ImportProcessorVersion method.", +"id": "GoogleCloudDocumentaiV1beta3ImportProcessorVersionResponse", +"properties": { +"processorVersion": { +"description": "The destination processor version name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3ReviewDocumentOperationMetadata": { +"description": "The long-running operation metadata for the ReviewDocument method.", +"id": "GoogleCloudDocumentaiV1beta3ReviewDocumentOperationMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiV1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +}, +"createTime": { +"description": "The creation time of the operation.", +"format": "google-datetime", +"type": "string" +}, +"questionId": { +"description": "The Crowd Compute question ID.", +"type": "string" +}, +"state": { +"description": "Used only when Operation.done is false.", +"enum": [ +"STATE_UNSPECIFIED", +"RUNNING", +"CANCELLING", +"SUCCEEDED", +"FAILED", +"CANCELLED" +], +"enumDescriptions": [ +"Unspecified state.", +"Operation is still running.", +"Operation is being cancelled.", +"Operation succeeded.", +"Operation failed.", +"Operation is cancelled." +], +"type": "string" +}, +"stateMessage": { +"description": "A message providing more details about the current state of processing. For example, the error message if the operation is failed.", +"type": "string" +}, +"updateTime": { +"description": "The last update time of the operation.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3ReviewDocumentResponse": { +"description": "Response message for the ReviewDocument method.", +"id": "GoogleCloudDocumentaiV1beta3ReviewDocumentResponse", +"properties": { +"gcsDestination": { +"description": "The Cloud Storage uri for the human reviewed document if the review is succeeded.", +"type": "string" +}, +"rejectionReason": { +"description": "The reason why the review is rejected by reviewer.", +"type": "string" +}, +"state": { +"description": "The state of the review operation.", +"enum": [ +"STATE_UNSPECIFIED", +"REJECTED", +"SUCCEEDED" +], +"enumDescriptions": [ +"The default value. This value is used if the state is omitted.", +"The review operation is rejected by the reviewer.", +"The review operation is succeeded." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3RevisionRef": { +"description": "The revision reference specifies which revision on the document to read.", +"id": "GoogleCloudDocumentaiV1beta3RevisionRef", +"properties": { +"latestProcessorVersion": { +"description": "Reads the revision generated by the processor version. The format takes the full resource name of processor version. `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}`", +"type": "string" +}, +"revisionCase": { +"description": "Reads the revision by the predefined case.", +"enum": [ +"REVISION_CASE_UNSPECIFIED", +"LATEST_HUMAN_REVIEW", +"LATEST_TIMESTAMP", +"BASE_OCR_REVISION" +], +"enumDescriptions": [ +"Unspecified case, fall back to read the `LATEST_HUMAN_REVIEW`.", +"The latest revision made by a human.", +"The latest revision based on timestamp.", +"The first (OCR) revision." +], +"type": "string" +}, +"revisionId": { +"description": "Reads the revision given by the id.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3SetDefaultProcessorVersionMetadata": { +"description": "The long-running operation metadata for the SetDefaultProcessorVersion method.", +"id": "GoogleCloudDocumentaiV1beta3SetDefaultProcessorVersionMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiV1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3SetDefaultProcessorVersionResponse": { +"description": "Response message for the SetDefaultProcessorVersion method.", +"id": "GoogleCloudDocumentaiV1beta3SetDefaultProcessorVersionResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3TrainProcessorVersionMetadata": { +"description": "The metadata that represents a processor version being created.", +"id": "GoogleCloudDocumentaiV1beta3TrainProcessorVersionMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiV1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +}, +"testDatasetValidation": { +"$ref": "GoogleCloudDocumentaiV1beta3TrainProcessorVersionMetadataDatasetValidation", +"description": "The test dataset validation information." +}, +"trainingDatasetValidation": { +"$ref": "GoogleCloudDocumentaiV1beta3TrainProcessorVersionMetadataDatasetValidation", +"description": "The training dataset validation information." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3TrainProcessorVersionMetadataDatasetValidation": { +"description": "The dataset validation information. This includes any and all errors with documents and the dataset.", +"id": "GoogleCloudDocumentaiV1beta3TrainProcessorVersionMetadataDatasetValidation", +"properties": { +"datasetErrorCount": { +"description": "The total number of dataset errors.", +"format": "int32", +"type": "integer" +}, +"datasetErrors": { +"description": "Error information for the dataset as a whole. A maximum of 10 dataset errors will be returned. A single dataset error is terminal for training.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"documentErrorCount": { +"description": "The total number of document errors.", +"format": "int32", +"type": "integer" +}, +"documentErrors": { +"description": "Error information pertaining to specific documents. A maximum of 10 document errors will be returned. Any document with errors will not be used throughout training.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3TrainProcessorVersionResponse": { +"description": "The response for TrainProcessorVersion.", +"id": "GoogleCloudDocumentaiV1beta3TrainProcessorVersionResponse", +"properties": { +"processorVersion": { +"description": "The resource name of the processor version produced by training.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3UndeployProcessorVersionMetadata": { +"description": "The long-running operation metadata for the UndeployProcessorVersion method.", +"id": "GoogleCloudDocumentaiV1beta3UndeployProcessorVersionMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiV1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +} +}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3UndeployProcessorVersionResponse": { +"description": "Response message for the UndeployProcessorVersion method.", +"id": "GoogleCloudDocumentaiV1beta3UndeployProcessorVersionResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDocumentaiV1beta3UpdateDatasetOperationMetadata": { +"id": "GoogleCloudDocumentaiV1beta3UpdateDatasetOperationMetadata", +"properties": { +"commonMetadata": { +"$ref": "GoogleCloudDocumentaiV1beta3CommonOperationMetadata", +"description": "The basic metadata of the long-running operation." +} +}, +"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" +}, +"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" +}, +"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" +}, +"GoogleTypePostalAddress": { +"description": "Represents a postal address, e.g. 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 via 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, please see: https://support.google.com/business/answer/6397478", +"id": "GoogleTypePostalAddress", +"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 (e.g. \"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 (e.g. Japan), address_language is used to make it explicit (e.g. \"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 (e.g. \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. E.g. 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 (e.g. 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 (e.g. \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (e.g. 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" +}, +"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, e.g. \"America/New_York\".", +"type": "string" +}, +"version": { +"description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\".", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Document AI 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/drive.v2.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/drive.v2.json new file mode 100644 index 0000000000000000000000000000000000000000..026d8cf6e476e054d01eb8802adefffdce834a20 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/drive.v2.json @@ -0,0 +1,6746 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/drive": { +"description": "See, edit, create, and delete all of your Google Drive files" +}, +"https://www.googleapis.com/auth/drive.appdata": { +"description": "See, create, and delete its own configuration data in your Google Drive" +}, +"https://www.googleapis.com/auth/drive.apps.readonly": { +"description": "View your Google Drive apps" +}, +"https://www.googleapis.com/auth/drive.file": { +"description": "See, edit, create, and delete only the specific Google Drive files you use with this app" +}, +"https://www.googleapis.com/auth/drive.meet.readonly": { +"description": "See and download your Google Drive files that were created or edited by Google Meet." +}, +"https://www.googleapis.com/auth/drive.metadata": { +"description": "View and manage metadata of files in your Google Drive" +}, +"https://www.googleapis.com/auth/drive.metadata.readonly": { +"description": "See information about your Google Drive files" +}, +"https://www.googleapis.com/auth/drive.photos.readonly": { +"description": "View the photos, videos and albums in your Google Photos" +}, +"https://www.googleapis.com/auth/drive.readonly": { +"description": "See and download all your Google Drive files" +}, +"https://www.googleapis.com/auth/drive.scripts": { +"description": "Modify your Google Apps Script scripts' behavior" +} +} +} +}, +"basePath": "/drive/v2/", +"baseUrl": "https://www.googleapis.com/drive/v2/", +"batchPath": "batch/drive/v2", +"description": "The Google Drive API allows clients to access resources from Google Drive.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/drive/", +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "drive:v2", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://www.mtls.googleapis.com/", +"name": "drive", +"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": { +"about": { +"methods": { +"get": { +"description": "Gets the information about the current user along with Drive API settings", +"flatPath": "about", +"httpMethod": "GET", +"id": "drive.about.get", +"parameterOrder": [], +"parameters": { +"includeSubscribed": { +"default": "true", +"description": "Whether to count changes outside the My Drive hierarchy. When set to false, changes to files such as those in the Application Data folder or shared files which have not been added to My Drive will be omitted from the `maxChangeIdCount`.", +"location": "query", +"type": "boolean" +}, +"maxChangeIdCount": { +"default": "1", +"description": "Maximum number of remaining change IDs to count", +"format": "int64", +"location": "query", +"type": "string" +}, +"startChangeId": { +"description": "Change ID to start counting from when calculating number of remaining change IDs", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "about", +"response": { +"$ref": "About" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.metadata", +"https://www.googleapis.com/auth/drive.metadata.readonly", +"https://www.googleapis.com/auth/drive.photos.readonly", +"https://www.googleapis.com/auth/drive.readonly" +] +} +} +}, +"apps": { +"methods": { +"get": { +"description": "Gets a specific app.", +"flatPath": "apps/{appId}", +"httpMethod": "GET", +"id": "drive.apps.get", +"parameterOrder": [ +"appId" +], +"parameters": { +"appId": { +"description": "The ID of the app.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "apps/{appId}", +"response": { +"$ref": "App" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.apps.readonly", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.metadata", +"https://www.googleapis.com/auth/drive.metadata.readonly", +"https://www.googleapis.com/auth/drive.readonly" +] +}, +"list": { +"description": "Lists a user's installed apps.", +"flatPath": "apps", +"httpMethod": "GET", +"id": "drive.apps.list", +"parameterOrder": [], +"parameters": { +"appFilterExtensions": { +"default": "", +"description": "A comma-separated list of file extensions for open with filtering. All apps within the given app query scope which can open any of the given file extensions will be included in the response. If `appFilterMimeTypes` are provided as well, the result is a union of the two resulting app lists.", +"location": "query", +"type": "string" +}, +"appFilterMimeTypes": { +"default": "", +"description": "A comma-separated list of MIME types for open with filtering. All apps within the given app query scope which can open any of the given MIME types will be included in the response. If `appFilterExtensions` are provided as well, the result is a union of the two resulting app lists.", +"location": "query", +"type": "string" +}, +"languageCode": { +"description": "A language or locale code, as defined by BCP 47, with some extensions from Unicode's LDML format (http://www.unicode.org/reports/tr35/).", +"location": "query", +"type": "string" +} +}, +"path": "apps", +"response": { +"$ref": "AppList" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.apps.readonly" +] +} +} +}, +"changes": { +"methods": { +"get": { +"description": "Deprecated: Use `changes.getStartPageToken` and `changes.list` to retrieve recent changes.", +"flatPath": "changes/{changeId}", +"httpMethod": "GET", +"id": "drive.changes.get", +"parameterOrder": [ +"changeId" +], +"parameters": { +"changeId": { +"description": "The ID of the change.", +"location": "path", +"required": true, +"type": "string" +}, +"driveId": { +"description": "The shared drive from which the change will be returned.", +"location": "query", +"type": "string" +}, +"supportsAllDrives": { +"default": "false", +"description": "Whether the requesting application supports both My Drives and shared drives.", +"location": "query", +"type": "boolean" +}, +"supportsTeamDrives": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Use `supportsAllDrives` instead.", +"location": "query", +"type": "boolean" +}, +"teamDriveId": { +"deprecated": true, +"description": "Deprecated: Use `driveId` instead.", +"location": "query", +"type": "string" +} +}, +"path": "changes/{changeId}", +"response": { +"$ref": "Change" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.apps.readonly", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.meet.readonly", +"https://www.googleapis.com/auth/drive.metadata", +"https://www.googleapis.com/auth/drive.metadata.readonly", +"https://www.googleapis.com/auth/drive.photos.readonly", +"https://www.googleapis.com/auth/drive.readonly" +] +}, +"getStartPageToken": { +"description": "Gets the starting pageToken for listing future changes.", +"flatPath": "changes/startPageToken", +"httpMethod": "GET", +"id": "drive.changes.getStartPageToken", +"parameterOrder": [], +"parameters": { +"driveId": { +"description": "The ID of the shared drive for which the starting pageToken for listing future changes from that shared drive will be returned.", +"location": "query", +"type": "string" +}, +"supportsAllDrives": { +"default": "false", +"description": "Whether the requesting application supports both My Drives and shared drives.", +"location": "query", +"type": "boolean" +}, +"supportsTeamDrives": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Use `supportsAllDrives` instead.", +"location": "query", +"type": "boolean" +}, +"teamDriveId": { +"deprecated": true, +"description": "Deprecated: Use `driveId` instead.", +"location": "query", +"type": "string" +} +}, +"path": "changes/startPageToken", +"response": { +"$ref": "StartPageToken" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.apps.readonly", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.meet.readonly", +"https://www.googleapis.com/auth/drive.metadata", +"https://www.googleapis.com/auth/drive.metadata.readonly", +"https://www.googleapis.com/auth/drive.photos.readonly", +"https://www.googleapis.com/auth/drive.readonly" +] +}, +"list": { +"description": "Lists the changes for a user or shared drive.", +"flatPath": "changes", +"httpMethod": "GET", +"id": "drive.changes.list", +"parameterOrder": [], +"parameters": { +"driveId": { +"description": "The shared drive from which changes will be returned. If specified the change IDs will be reflective of the shared drive; use the combined drive ID and change ID as an identifier.", +"location": "query", +"type": "string" +}, +"includeCorpusRemovals": { +"default": "false", +"description": "Whether changes should include the file resource if the file is still accessible by the user at the time of the request, even when a file was removed from the list of changes and there will be no further change entries for this file.", +"location": "query", +"type": "boolean" +}, +"includeDeleted": { +"default": "true", +"description": "Whether to include changes indicating that items have been removed from the list of changes, for example by deletion or loss of access.", +"location": "query", +"type": "boolean" +}, +"includeItemsFromAllDrives": { +"default": "false", +"description": "Whether both My Drive and shared drive items should be included in results.", +"location": "query", +"type": "boolean" +}, +"includeLabels": { +"description": "A comma-separated list of IDs of labels to include in the `labelInfo` part of the response.", +"location": "query", +"type": "string" +}, +"includePermissionsForView": { +"description": "Specifies which additional view's permissions to include in the response. Only `published` is supported.", +"location": "query", +"type": "string" +}, +"includeSubscribed": { +"default": "true", +"description": "Whether to include changes outside the My Drive hierarchy in the result. When set to false, changes to files such as those in the Application Data folder or shared files which have not been added to My Drive will be omitted from the result.", +"location": "query", +"type": "boolean" +}, +"includeTeamDriveItems": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Use `includeItemsFromAllDrives` instead.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "100", +"description": "Maximum number of changes to return.", +"format": "int32", +"location": "query", +"minimum": "1", +"type": "integer" +}, +"pageToken": { +"description": "The token for continuing a previous list request on the next page. This should be set to the value of `nextPageToken` from the previous response or to the response from the getStartPageToken method.", +"location": "query", +"type": "string" +}, +"spaces": { +"description": "A comma-separated list of spaces to query. Supported values are `drive`, `appDataFolder` and `photos`.", +"location": "query", +"type": "string" +}, +"startChangeId": { +"deprecated": true, +"description": "Deprecated: Use `pageToken` instead.", +"format": "int64", +"location": "query", +"type": "string" +}, +"supportsAllDrives": { +"default": "false", +"description": "Whether the requesting application supports both My Drives and shared drives.", +"location": "query", +"type": "boolean" +}, +"supportsTeamDrives": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Use `supportsAllDrives` instead.", +"location": "query", +"type": "boolean" +}, +"teamDriveId": { +"deprecated": true, +"description": "Deprecated: Use `driveId` instead.", +"location": "query", +"type": "string" +} +}, +"path": "changes", +"response": { +"$ref": "ChangeList" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.apps.readonly", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.meet.readonly", +"https://www.googleapis.com/auth/drive.metadata", +"https://www.googleapis.com/auth/drive.metadata.readonly", +"https://www.googleapis.com/auth/drive.photos.readonly", +"https://www.googleapis.com/auth/drive.readonly" +], +"supportsSubscription": true +}, +"watch": { +"description": "Subscribe to changes for a user.", +"flatPath": "changes/watch", +"httpMethod": "POST", +"id": "drive.changes.watch", +"parameterOrder": [], +"parameters": { +"driveId": { +"description": "The shared drive from which changes will be returned. If specified the change IDs will be reflective of the shared drive; use the combined drive ID and change ID as an identifier.", +"location": "query", +"type": "string" +}, +"includeCorpusRemovals": { +"default": "false", +"description": "Whether changes should include the file resource if the file is still accessible by the user at the time of the request, even when a file was removed from the list of changes and there will be no further change entries for this file.", +"location": "query", +"type": "boolean" +}, +"includeDeleted": { +"default": "true", +"description": "Whether to include changes indicating that items have been removed from the list of changes, for example by deletion or loss of access.", +"location": "query", +"type": "boolean" +}, +"includeItemsFromAllDrives": { +"default": "false", +"description": "Whether both My Drive and shared drive items should be included in results.", +"location": "query", +"type": "boolean" +}, +"includeLabels": { +"description": "A comma-separated list of IDs of labels to include in the `labelInfo` part of the response.", +"location": "query", +"type": "string" +}, +"includePermissionsForView": { +"description": "Specifies which additional view's permissions to include in the response. Only `published` is supported.", +"location": "query", +"type": "string" +}, +"includeSubscribed": { +"default": "true", +"description": "Whether to include changes outside the My Drive hierarchy in the result. When set to false, changes to files such as those in the Application Data folder or shared files which have not been added to My Drive will be omitted from the result.", +"location": "query", +"type": "boolean" +}, +"includeTeamDriveItems": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Use `includeItemsFromAllDrives` instead.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "100", +"description": "Maximum number of changes to return.", +"format": "int32", +"location": "query", +"minimum": "1", +"type": "integer" +}, +"pageToken": { +"description": "The token for continuing a previous list request on the next page. This should be set to the value of `nextPageToken` from the previous response or to the response from the getStartPageToken method.", +"location": "query", +"type": "string" +}, +"spaces": { +"description": "A comma-separated list of spaces to query. Supported values are `drive`, `appDataFolder` and `photos`.", +"location": "query", +"type": "string" +}, +"startChangeId": { +"deprecated": true, +"description": "Deprecated: Use `pageToken` instead.", +"format": "int64", +"location": "query", +"type": "string" +}, +"supportsAllDrives": { +"default": "false", +"description": "Whether the requesting application supports both My Drives and shared drives.", +"location": "query", +"type": "boolean" +}, +"supportsTeamDrives": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Use `supportsAllDrives` instead.", +"location": "query", +"type": "boolean" +}, +"teamDriveId": { +"deprecated": true, +"description": "Deprecated: Use `driveId` instead.", +"location": "query", +"type": "string" +} +}, +"path": "changes/watch", +"request": { +"$ref": "Channel", +"parameterName": "resource" +}, +"response": { +"$ref": "Channel" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.apps.readonly", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.meet.readonly", +"https://www.googleapis.com/auth/drive.metadata", +"https://www.googleapis.com/auth/drive.metadata.readonly", +"https://www.googleapis.com/auth/drive.photos.readonly", +"https://www.googleapis.com/auth/drive.readonly" +], +"supportsSubscription": true +} +} +}, +"channels": { +"methods": { +"stop": { +"description": "Stops watching resources through this channel.", +"flatPath": "channels/stop", +"httpMethod": "POST", +"id": "drive.channels.stop", +"parameterOrder": [], +"parameters": {}, +"path": "channels/stop", +"request": { +"$ref": "Channel", +"parameterName": "resource" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.apps.readonly", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.meet.readonly", +"https://www.googleapis.com/auth/drive.metadata", +"https://www.googleapis.com/auth/drive.metadata.readonly", +"https://www.googleapis.com/auth/drive.photos.readonly", +"https://www.googleapis.com/auth/drive.readonly" +] +} +} +}, +"children": { +"methods": { +"delete": { +"description": "Removes a child from a folder.", +"flatPath": "files/{folderId}/children/{childId}", +"httpMethod": "DELETE", +"id": "drive.children.delete", +"parameterOrder": [ +"folderId", +"childId" +], +"parameters": { +"childId": { +"description": "The ID of the child.", +"location": "path", +"required": true, +"type": "string" +}, +"enforceSingleParent": { +"default": "false", +"deprecated": true, +"description": "Deprecated: If an item is not in a shared drive and its last parent is removed, the item is placed under its owner's root.", +"location": "query", +"type": "boolean" +}, +"folderId": { +"description": "The ID of the folder.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "files/{folderId}/children/{childId}", +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file" +] +}, +"get": { +"description": "Gets a specific child reference.", +"flatPath": "files/{folderId}/children/{childId}", +"httpMethod": "GET", +"id": "drive.children.get", +"parameterOrder": [ +"folderId", +"childId" +], +"parameters": { +"childId": { +"description": "The ID of the child.", +"location": "path", +"required": true, +"type": "string" +}, +"folderId": { +"description": "The ID of the folder.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "files/{folderId}/children/{childId}", +"response": { +"$ref": "ChildReference" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.meet.readonly", +"https://www.googleapis.com/auth/drive.metadata", +"https://www.googleapis.com/auth/drive.metadata.readonly", +"https://www.googleapis.com/auth/drive.photos.readonly", +"https://www.googleapis.com/auth/drive.readonly" +] +}, +"insert": { +"description": "Inserts a file into a folder.", +"flatPath": "files/{folderId}/children", +"httpMethod": "POST", +"id": "drive.children.insert", +"parameterOrder": [ +"folderId" +], +"parameters": { +"enforceSingleParent": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Adding files to multiple folders is no longer supported. Use `shortcuts` instead.", +"location": "query", +"type": "boolean" +}, +"folderId": { +"description": "The ID of the folder.", +"location": "path", +"required": true, +"type": "string" +}, +"supportsAllDrives": { +"default": "false", +"description": "Whether the requesting application supports both My Drives and shared drives.", +"location": "query", +"type": "boolean" +}, +"supportsTeamDrives": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Use `supportsAllDrives` instead.", +"location": "query", +"type": "boolean" +} +}, +"path": "files/{folderId}/children", +"request": { +"$ref": "ChildReference" +}, +"response": { +"$ref": "ChildReference" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.file" +] +}, +"list": { +"description": "Lists a folder's children.", +"flatPath": "files/{folderId}/children", +"httpMethod": "GET", +"id": "drive.children.list", +"parameterOrder": [ +"folderId" +], +"parameters": { +"folderId": { +"description": "The ID of the folder.", +"location": "path", +"required": true, +"type": "string" +}, +"maxResults": { +"default": "100", +"description": "Maximum number of children to return.", +"format": "int32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "A comma-separated list of sort keys. Valid keys are `createdDate`, `folder`, `lastViewedByMeDate`, `modifiedByMeDate`, `modifiedDate`, `quotaBytesUsed`, `recency`, `sharedWithMeDate`, `starred`, and `title`. Each key sorts ascending by default, but may be reversed with the `desc` modifier. Example usage: ?orderBy=folder,modifiedDate desc,title. Please note that there is a current limitation for users with approximately one million files in which the requested sort order is ignored.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Page token for children.", +"location": "query", +"type": "string" +}, +"q": { +"description": "Query string for searching children.", +"location": "query", +"type": "string" +} +}, +"path": "files/{folderId}/children", +"response": { +"$ref": "ChildList" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.meet.readonly", +"https://www.googleapis.com/auth/drive.metadata", +"https://www.googleapis.com/auth/drive.metadata.readonly", +"https://www.googleapis.com/auth/drive.photos.readonly", +"https://www.googleapis.com/auth/drive.readonly" +] +} +} +}, +"comments": { +"methods": { +"delete": { +"description": "Deletes a comment.", +"flatPath": "files/{fileId}/comments/{commentId}", +"httpMethod": "DELETE", +"id": "drive.comments.delete", +"parameterOrder": [ +"fileId", +"commentId" +], +"parameters": { +"commentId": { +"description": "The ID of the comment.", +"location": "path", +"required": true, +"type": "string" +}, +"fileId": { +"description": "The ID of the file.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "files/{fileId}/comments/{commentId}", +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file" +] +}, +"get": { +"description": "Gets a comment by ID.", +"flatPath": "files/{fileId}/comments/{commentId}", +"httpMethod": "GET", +"id": "drive.comments.get", +"parameterOrder": [ +"fileId", +"commentId" +], +"parameters": { +"commentId": { +"description": "The ID of the comment.", +"location": "path", +"required": true, +"type": "string" +}, +"fileId": { +"description": "The ID of the file.", +"location": "path", +"required": true, +"type": "string" +}, +"includeDeleted": { +"default": "false", +"description": "If set, this will succeed when retrieving a deleted comment, and will include any deleted replies.", +"location": "query", +"type": "boolean" +} +}, +"path": "files/{fileId}/comments/{commentId}", +"response": { +"$ref": "Comment" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.meet.readonly", +"https://www.googleapis.com/auth/drive.readonly" +] +}, +"insert": { +"description": "Creates a new comment on the given file.", +"flatPath": "files/{fileId}/comments", +"httpMethod": "POST", +"id": "drive.comments.insert", +"parameterOrder": [ +"fileId" +], +"parameters": { +"fileId": { +"description": "The ID of the file.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "files/{fileId}/comments", +"request": { +"$ref": "Comment" +}, +"response": { +"$ref": "Comment" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file" +] +}, +"list": { +"description": "Lists a file's comments.", +"flatPath": "files/{fileId}/comments", +"httpMethod": "GET", +"id": "drive.comments.list", +"parameterOrder": [ +"fileId" +], +"parameters": { +"fileId": { +"description": "The ID of the file.", +"location": "path", +"required": true, +"type": "string" +}, +"includeDeleted": { +"default": "false", +"description": "If set, all comments and replies, including deleted comments and replies (with content stripped) will be returned.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "20", +"description": "The maximum number of discussions to include in the response, used for paging.", +"format": "int32", +"location": "query", +"maximum": "100", +"minimum": "0", +"type": "integer" +}, +"pageToken": { +"description": "The continuation token, used to page through large result sets. To get the next page of results, set this parameter to the value of \"nextPageToken\" from the previous response.", +"location": "query", +"type": "string" +}, +"updatedMin": { +"description": "Only discussions that were updated after this timestamp will be returned. Formatted as an RFC 3339 timestamp.", +"location": "query", +"type": "string" +} +}, +"path": "files/{fileId}/comments", +"response": { +"$ref": "CommentList" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.meet.readonly", +"https://www.googleapis.com/auth/drive.readonly" +] +}, +"patch": { +"description": "Updates an existing comment.", +"flatPath": "files/{fileId}/comments/{commentId}", +"httpMethod": "PATCH", +"id": "drive.comments.patch", +"parameterOrder": [ +"fileId", +"commentId" +], +"parameters": { +"commentId": { +"description": "The ID of the comment.", +"location": "path", +"required": true, +"type": "string" +}, +"fileId": { +"description": "The ID of the file.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "files/{fileId}/comments/{commentId}", +"request": { +"$ref": "Comment" +}, +"response": { +"$ref": "Comment" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file" +] +}, +"update": { +"description": "Updates an existing comment.", +"flatPath": "files/{fileId}/comments/{commentId}", +"httpMethod": "PUT", +"id": "drive.comments.update", +"parameterOrder": [ +"fileId", +"commentId" +], +"parameters": { +"commentId": { +"description": "The ID of the comment.", +"location": "path", +"required": true, +"type": "string" +}, +"fileId": { +"description": "The ID of the file.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "files/{fileId}/comments/{commentId}", +"request": { +"$ref": "Comment" +}, +"response": { +"$ref": "Comment" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file" +] +} +} +}, +"drives": { +"methods": { +"delete": { +"description": "Permanently deletes a shared drive for which the user is an `organizer`. The shared drive cannot contain any untrashed items.", +"flatPath": "drives/{driveId}", +"httpMethod": "DELETE", +"id": "drive.drives.delete", +"parameterOrder": [ +"driveId" +], +"parameters": { +"allowItemDeletion": { +"default": "false", +"description": "Whether any items inside the shared drive should also be deleted. This option is only supported when `useDomainAdminAccess` is also set to `true`.", +"location": "query", +"type": "boolean" +}, +"driveId": { +"description": "The ID of the shared drive.", +"location": "path", +"required": true, +"type": "string" +}, +"useDomainAdminAccess": { +"default": "false", +"description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the shared drive belongs.", +"location": "query", +"type": "boolean" +} +}, +"path": "drives/{driveId}", +"scopes": [ +"https://www.googleapis.com/auth/drive" +] +}, +"get": { +"description": "Gets a shared drive's metadata by ID.", +"flatPath": "drives/{driveId}", +"httpMethod": "GET", +"id": "drive.drives.get", +"parameterOrder": [ +"driveId" +], +"parameters": { +"driveId": { +"description": "The ID of the shared drive.", +"location": "path", +"required": true, +"type": "string" +}, +"useDomainAdminAccess": { +"default": "false", +"description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the shared drive belongs.", +"location": "query", +"type": "boolean" +} +}, +"path": "drives/{driveId}", +"response": { +"$ref": "Drive" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.readonly" +] +}, +"hide": { +"description": "Hides a shared drive from the default view.", +"flatPath": "drives/{driveId}/hide", +"httpMethod": "POST", +"id": "drive.drives.hide", +"parameterOrder": [ +"driveId" +], +"parameters": { +"driveId": { +"description": "The ID of the shared drive.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "drives/{driveId}/hide", +"response": { +"$ref": "Drive" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive" +] +}, +"insert": { +"description": "Creates a new shared drive.", +"flatPath": "drives", +"httpMethod": "POST", +"id": "drive.drives.insert", +"parameterOrder": [ +"requestId" +], +"parameters": { +"requestId": { +"description": "Required. An ID, such as a random UUID, which uniquely identifies this user's request for idempotent creation of a shared drive. A repeated request by the same user and with the same request ID will avoid creating duplicates by attempting to create the same shared drive. If the shared drive already exists a 409 error will be returned.", +"location": "query", +"required": true, +"type": "string" +} +}, +"path": "drives", +"request": { +"$ref": "Drive" +}, +"response": { +"$ref": "Drive" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive" +] +}, +"list": { +"description": " Lists the user's shared drives. This method accepts the `q` parameter, which is a search query combining one or more search terms. For more information, see the [Search for shared drives](/drive/api/guides/search-shareddrives) guide.", +"flatPath": "drives", +"httpMethod": "GET", +"id": "drive.drives.list", +"parameterOrder": [], +"parameters": { +"maxResults": { +"default": "10", +"description": "Maximum number of shared drives to return per page.", +"format": "int32", +"location": "query", +"maximum": "100", +"minimum": "1", +"type": "integer" +}, +"pageToken": { +"description": "Page token for shared drives.", +"location": "query", +"type": "string" +}, +"q": { +"description": "Query string for searching shared drives.", +"location": "query", +"type": "string" +}, +"useDomainAdminAccess": { +"default": "false", +"description": "Issue the request as a domain administrator; if set to true, then all shared drives of the domain in which the requester is an administrator are returned.", +"location": "query", +"type": "boolean" +} +}, +"path": "drives", +"response": { +"$ref": "DriveList" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.readonly" +] +}, +"unhide": { +"description": "Restores a shared drive to the default view.", +"flatPath": "drives/{driveId}/unhide", +"httpMethod": "POST", +"id": "drive.drives.unhide", +"parameterOrder": [ +"driveId" +], +"parameters": { +"driveId": { +"description": "The ID of the shared drive.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "drives/{driveId}/unhide", +"response": { +"$ref": "Drive" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive" +] +}, +"update": { +"description": "Updates the metadata for a shared drive.", +"flatPath": "drives/{driveId}", +"httpMethod": "PUT", +"id": "drive.drives.update", +"parameterOrder": [ +"driveId" +], +"parameters": { +"driveId": { +"description": "The ID of the shared drive.", +"location": "path", +"required": true, +"type": "string" +}, +"useDomainAdminAccess": { +"default": "false", +"description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the shared drive belongs.", +"location": "query", +"type": "boolean" +} +}, +"path": "drives/{driveId}", +"request": { +"$ref": "Drive" +}, +"response": { +"$ref": "Drive" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive" +] +} +} +}, +"files": { +"methods": { +"copy": { +"description": "Creates a copy of the specified file.", +"flatPath": "files/{fileId}/copy", +"httpMethod": "POST", +"id": "drive.files.copy", +"parameterOrder": [ +"fileId" +], +"parameters": { +"convert": { +"default": "false", +"description": "Whether to convert this file to the corresponding Docs Editors format.", +"location": "query", +"type": "boolean" +}, +"enforceSingleParent": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Copying files into multiple folders is no longer supported. Use shortcuts instead.", +"location": "query", +"type": "boolean" +}, +"fileId": { +"description": "The ID of the file to copy.", +"location": "path", +"required": true, +"type": "string" +}, +"includeLabels": { +"description": "A comma-separated list of IDs of labels to include in the `labelInfo` part of the response.", +"location": "query", +"type": "string" +}, +"includePermissionsForView": { +"description": "Specifies which additional view's permissions to include in the response. Only `published` is supported.", +"location": "query", +"type": "string" +}, +"ocr": { +"default": "false", +"description": "Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads.", +"location": "query", +"type": "boolean" +}, +"ocrLanguage": { +"description": "If `ocr` is true, hints at the language to use. Valid values are BCP 47 codes.", +"location": "query", +"type": "string" +}, +"pinned": { +"default": "false", +"description": "Whether to pin the head revision of the new copy. A file can have a maximum of 200 pinned revisions.", +"location": "query", +"type": "boolean" +}, +"supportsAllDrives": { +"default": "false", +"description": "Whether the requesting application supports both My Drives and shared drives.", +"location": "query", +"type": "boolean" +}, +"supportsTeamDrives": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Use `supportsAllDrives` instead.", +"location": "query", +"type": "boolean" +}, +"timedTextLanguage": { +"description": "The language of the timed text.", +"location": "query", +"type": "string" +}, +"timedTextTrackName": { +"description": "The timed text track name.", +"location": "query", +"type": "string" +}, +"visibility": { +"default": "DEFAULT", +"description": "The visibility of the new file. This parameter is only relevant when the source is not a native Google Doc and convert=false.", +"enum": [ +"DEFAULT", +"PRIVATE" +], +"enumDescriptions": [ +"The visibility of the new file is determined by the user's default visibility/sharing policies.", +"The new file will be visible to only the owner." +], +"location": "query", +"type": "string" +} +}, +"path": "files/{fileId}/copy", +"request": { +"$ref": "File" +}, +"response": { +"$ref": "File" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.apps.readonly", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.photos.readonly" +] +}, +"delete": { +"description": "Permanently deletes a file owned by the user without moving it to the trash. If the file belongs to a shared drive, the user must be an `organizer` on the parent folder. If the target is a folder, all descendants owned by the user are also deleted.", +"flatPath": "files/{fileId}", +"httpMethod": "DELETE", +"id": "drive.files.delete", +"parameterOrder": [ +"fileId" +], +"parameters": { +"enforceSingleParent": { +"default": "false", +"deprecated": true, +"description": "Deprecated: If an item is not in a shared drive and its last parent is deleted but the item itself is not, the item is placed under its owner's root.", +"location": "query", +"type": "boolean" +}, +"fileId": { +"description": "The ID of the file to delete.", +"location": "path", +"required": true, +"type": "string" +}, +"supportsAllDrives": { +"default": "false", +"description": "Whether the requesting application supports both My Drives and shared drives.", +"location": "query", +"type": "boolean" +}, +"supportsTeamDrives": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Use `supportsAllDrives` instead.", +"location": "query", +"type": "boolean" +} +}, +"path": "files/{fileId}", +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.file" +] +}, +"emptyTrash": { +"description": "Permanently deletes all of the user's trashed files.", +"flatPath": "files/trash", +"httpMethod": "DELETE", +"id": "drive.files.emptyTrash", +"parameterOrder": [], +"parameters": { +"driveId": { +"description": "If set, empties the trash of the provided shared drive.", +"location": "query", +"type": "string" +}, +"enforceSingleParent": { +"default": "false", +"deprecated": true, +"description": "Deprecated: If an item is not in a shared drive and its last parent is deleted but the item itself is not, the item is placed under its owner's root.", +"location": "query", +"type": "boolean" +} +}, +"path": "files/trash", +"scopes": [ +"https://www.googleapis.com/auth/drive" +] +}, +"export": { +"description": "Exports a Google Workspace document to the requested MIME type and returns exported byte content. Note that the exported content is limited to 10MB.", +"flatPath": "files/{fileId}/export", +"httpMethod": "GET", +"id": "drive.files.export", +"parameterOrder": [ +"fileId", +"mimeType" +], +"parameters": { +"fileId": { +"description": "The ID of the file.", +"location": "path", +"required": true, +"type": "string" +}, +"mimeType": { +"description": "Required. The MIME type of the format requested for this export.", +"location": "query", +"required": true, +"type": "string" +} +}, +"path": "files/{fileId}/export", +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.meet.readonly", +"https://www.googleapis.com/auth/drive.readonly" +], +"supportsMediaDownload": true, +"useMediaDownloadService": true +}, +"generateIds": { +"description": "Generates a set of file IDs which can be provided in insert or copy requests.", +"flatPath": "files/generateIds", +"httpMethod": "GET", +"id": "drive.files.generateIds", +"parameterOrder": [], +"parameters": { +"maxResults": { +"default": "10", +"description": "Maximum number of IDs to return.", +"format": "int32", +"location": "query", +"maximum": "1000", +"minimum": "1", +"type": "integer" +}, +"space": { +"default": "drive", +"description": "The space in which the IDs can be used to create new files. Supported values are `drive` and `appDataFolder`. (Default: `drive`)", +"location": "query", +"type": "string" +}, +"type": { +"default": "files", +"description": "The type of items which the IDs can be used for. Supported values are `files` and `shortcuts`. Note that `shortcuts` are only supported in the `drive` `space`. (Default: `files`)", +"location": "query", +"type": "string" +} +}, +"path": "files/generateIds", +"response": { +"$ref": "GeneratedIds" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.file" +] +}, +"get": { +"description": " Gets a file's metadata or content by ID. If you provide the URL parameter `alt=media`, then the response includes the file contents in the response body. Downloading content with `alt=media` only works if the file is stored in Drive. To download Google Docs, Sheets, and Slides use [`files.export`](/drive/api/reference/rest/v2/files/export) instead. For more information, see [Download & export files](/drive/api/guides/manage-downloads).", +"flatPath": "files/{fileId}", +"httpMethod": "GET", +"id": "drive.files.get", +"parameterOrder": [ +"fileId" +], +"parameters": { +"acknowledgeAbuse": { +"default": "false", +"description": "Whether the user is acknowledging the risk of downloading known malware or other abusive files. This is only applicable when the `alt` parameter is set to `media` and the user is the owner of the file or an organizer of the shared drive in which the file resides.", +"location": "query", +"type": "boolean" +}, +"fileId": { +"description": "The ID for the file in question.", +"location": "path", +"required": true, +"type": "string" +}, +"includeLabels": { +"description": "A comma-separated list of IDs of labels to include in the `labelInfo` part of the response.", +"location": "query", +"type": "string" +}, +"includePermissionsForView": { +"description": "Specifies which additional view's permissions to include in the response. Only `published` is supported.", +"location": "query", +"type": "string" +}, +"projection": { +"deprecated": true, +"description": "Deprecated: This parameter has no function.", +"enum": [ +"BASIC", +"FULL" +], +"enumDescriptions": [ +"Deprecated.", +"Deprecated." +], +"location": "query", +"type": "string" +}, +"revisionId": { +"description": "Specifies the Revision ID that should be downloaded. Ignored unless alt=media is specified.", +"location": "query", +"type": "string" +}, +"supportsAllDrives": { +"default": "false", +"description": "Whether the requesting application supports both My Drives and shared drives.", +"location": "query", +"type": "boolean" +}, +"supportsTeamDrives": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Use `supportsAllDrives` instead.", +"location": "query", +"type": "boolean" +}, +"updateViewedDate": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Use `files.update` with `modifiedDateBehavior=noChange, updateViewedDate=true` and an empty request body.", +"location": "query", +"type": "boolean" +} +}, +"path": "files/{fileId}", +"response": { +"$ref": "File" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.meet.readonly", +"https://www.googleapis.com/auth/drive.metadata", +"https://www.googleapis.com/auth/drive.metadata.readonly", +"https://www.googleapis.com/auth/drive.photos.readonly", +"https://www.googleapis.com/auth/drive.readonly" +], +"supportsMediaDownload": true, +"supportsSubscription": true, +"useMediaDownloadService": true +}, +"insert": { +"description": " Inserts a new file. This method supports an */upload* URI and accepts uploaded media with the following characteristics: - *Maximum file size:* 5,120 GB - *Accepted Media MIME types:*`*/*` Note: Specify a valid MIME type, rather than the literal `*/*` value. The literal `*/*` is only used to indicate that any valid MIME type can be uploaded. For more information on uploading files, see [Upload file data](/drive/api/guides/manage-uploads). Apps creating shortcuts with `files.insert` must specify the MIME type `application/vnd.google-apps.shortcut`. Apps should specify a file extension in the `title` property when inserting files with the API. For example, an operation to insert a JPEG file should specify something like `\"title\": \"cat.jpg\"` in the metadata. Subsequent `GET` requests include the read-only `fileExtension` property populated with the extension originally specified in the `title` property. When a Google Drive user requests to download a file, or when the file is downloaded through the sync client, Drive builds a full filename (with extension) based on the title. In cases where the extension is missing, Drive attempts to determine the extension based on the file's MIME type.", +"flatPath": "files", +"httpMethod": "POST", +"id": "drive.files.insert", +"mediaUpload": { +"accept": [ +"*/*" +], +"maxSize": "5497558138880", +"protocols": { +"resumable": { +"multipart": true, +"path": "/resumable/upload/drive/v2/files" +}, +"simple": { +"multipart": true, +"path": "/upload/drive/v2/files" +} +} +}, +"parameterOrder": [], +"parameters": { +"convert": { +"default": "false", +"description": "Whether to convert this file to the corresponding Docs Editors format.", +"location": "query", +"type": "boolean" +}, +"enforceSingleParent": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Creating files in multiple folders is no longer supported.", +"location": "query", +"type": "boolean" +}, +"includeLabels": { +"description": "A comma-separated list of IDs of labels to include in the `labelInfo` part of the response.", +"location": "query", +"type": "string" +}, +"includePermissionsForView": { +"description": "Specifies which additional view's permissions to include in the response. Only `published` is supported.", +"location": "query", +"type": "string" +}, +"ocr": { +"default": "false", +"description": "Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads.", +"location": "query", +"type": "boolean" +}, +"ocrLanguage": { +"description": "If ocr is true, hints at the language to use. Valid values are BCP 47 codes.", +"location": "query", +"type": "string" +}, +"pinned": { +"default": "false", +"description": "Whether to pin the head revision of the uploaded file. A file can have a maximum of 200 pinned revisions.", +"location": "query", +"type": "boolean" +}, +"supportsAllDrives": { +"default": "false", +"description": "Whether the requesting application supports both My Drives and shared drives.", +"location": "query", +"type": "boolean" +}, +"supportsTeamDrives": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Use `supportsAllDrives` instead.", +"location": "query", +"type": "boolean" +}, +"timedTextLanguage": { +"description": "The language of the timed text.", +"location": "query", +"type": "string" +}, +"timedTextTrackName": { +"description": "The timed text track name.", +"location": "query", +"type": "string" +}, +"useContentAsIndexableText": { +"default": "false", +"description": "Whether to use the content as indexable text.", +"location": "query", +"type": "boolean" +}, +"visibility": { +"default": "DEFAULT", +"description": "The visibility of the new file. This parameter is only relevant when convert=false.", +"enum": [ +"DEFAULT", +"PRIVATE" +], +"enumDescriptions": [ +"The visibility of the new file is determined by the user's default visibility/sharing policies.", +"The new file will be visible to only the owner." +], +"location": "query", +"type": "string" +} +}, +"path": "files", +"request": { +"$ref": "File" +}, +"response": { +"$ref": "File" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.apps.readonly", +"https://www.googleapis.com/auth/drive.file" +], +"supportsMediaUpload": true +}, +"list": { +"description": " Lists the user's files. This method accepts the `q` parameter, which is a search query combining one or more search terms. For more information, see the [Search for files & folders](/drive/api/guides/search-files) guide. *Note:* This method returns *all* files by default, including trashed files. If you don't want trashed files to appear in the list, use the `trashed=false` query parameter to remove trashed files from the results.", +"flatPath": "files", +"httpMethod": "GET", +"id": "drive.files.list", +"parameterOrder": [], +"parameters": { +"corpora": { +"description": "Bodies of items (files/documents) to which the query applies. Supported bodies are `default`, `domain`, `drive` and `allDrives`. Prefer `default` or `drive` to `allDrives` for efficiency.", +"location": "query", +"type": "string" +}, +"corpus": { +"deprecated": true, +"description": "Deprecated: The body of items (files/documents) to which the query applies. Use `corpora` instead.", +"enum": [ +"DEFAULT", +"DOMAIN" +], +"enumDescriptions": [ +"The items that the user has accessed.", +"Items shared to the user's domain." +], +"location": "query", +"type": "string" +}, +"driveId": { +"description": "ID of the shared drive to search.", +"location": "query", +"type": "string" +}, +"includeItemsFromAllDrives": { +"default": "false", +"description": "Whether both My Drive and shared drive items should be included in results.", +"location": "query", +"type": "boolean" +}, +"includeLabels": { +"description": "A comma-separated list of IDs of labels to include in the `labelInfo` part of the response.", +"location": "query", +"type": "string" +}, +"includePermissionsForView": { +"description": "Specifies which additional view's permissions to include in the response. Only `published` is supported.", +"location": "query", +"type": "string" +}, +"includeTeamDriveItems": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Use `includeItemsFromAllDrives` instead.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "100", +"description": "The maximum number of files to return per page. Partial or empty result pages are possible even before the end of the files list has been reached.", +"format": "int32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "A comma-separated list of sort keys. Valid keys are: * `createdDate`: When the file was created. * `folder`: The folder ID. This field is sorted using alphabetical ordering. * `lastViewedByMeDate`: The last time the file was viewed by the user. * `modifiedByMeDate`: The last time the file was modified by the user. * `modifiedDate`: The last time the file was modified by anyone. * `quotaBytesUsed`: The number of storage quota bytes used by the file. * `recency`: The most recent timestamp from the file's date-time fields. * `sharedWithMeDate`: When the file was shared with the user, if applicable. * `starred`: Whether the user has starred the file. * `title`: The title of the file. This field is sorted using alphabetical ordering, so 1, 12, 2, 22. * `title_natural`: The title of the file. This field is sorted using natural sort ordering, so 1, 2, 12, 22. Each key sorts ascending by default, but can be reversed with the 'desc' modifier. Example usage: `?orderBy=folder,modifiedDate desc,title`. Note that there's a current limitation for users with approximately one million files in which the requested sort order is ignored.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Page token for files.", +"location": "query", +"type": "string" +}, +"projection": { +"deprecated": true, +"description": "Deprecated: This parameter has no function.", +"enum": [ +"BASIC", +"FULL" +], +"enumDescriptions": [ +"Deprecated.", +"Deprecated." +], +"location": "query", +"type": "string" +}, +"q": { +"description": "Query string for searching files.", +"location": "query", +"type": "string" +}, +"spaces": { +"description": "A comma-separated list of spaces to query. Supported values are `drive`, and `appDataFolder`.", +"location": "query", +"type": "string" +}, +"supportsAllDrives": { +"default": "false", +"description": "Whether the requesting application supports both My Drives and shared drives.", +"location": "query", +"type": "boolean" +}, +"supportsTeamDrives": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Use `supportsAllDrives` instead.", +"location": "query", +"type": "boolean" +}, +"teamDriveId": { +"deprecated": true, +"description": "Deprecated: Use `driveId` instead.", +"location": "query", +"type": "string" +} +}, +"path": "files", +"response": { +"$ref": "FileList" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.apps.readonly", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.meet.readonly", +"https://www.googleapis.com/auth/drive.metadata", +"https://www.googleapis.com/auth/drive.metadata.readonly", +"https://www.googleapis.com/auth/drive.photos.readonly", +"https://www.googleapis.com/auth/drive.readonly" +] +}, +"listLabels": { +"description": "Lists the labels on a file.", +"flatPath": "files/{fileId}/listLabels", +"httpMethod": "GET", +"id": "drive.files.listLabels", +"parameterOrder": [ +"fileId" +], +"parameters": { +"fileId": { +"description": "The ID for the file.", +"location": "path", +"required": true, +"type": "string" +}, +"maxResults": { +"default": "100", +"description": "The maximum number of labels to return per page. When not set, defaults to 100.", +"format": "int32", +"location": "query", +"maximum": "100", +"minimum": "1", +"type": "integer" +}, +"pageToken": { +"description": "The token for continuing a previous list request on the next page. This should be set to the value of `nextPageToken` from the previous response.", +"location": "query", +"type": "string" +} +}, +"path": "files/{fileId}/listLabels", +"response": { +"$ref": "LabelList" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.meet.readonly", +"https://www.googleapis.com/auth/drive.metadata", +"https://www.googleapis.com/auth/drive.metadata.readonly", +"https://www.googleapis.com/auth/drive.readonly" +] +}, +"modifyLabels": { +"description": "Modifies the set of labels applied to a file. Returns a list of the labels that were added or modified.", +"flatPath": "files/{fileId}/modifyLabels", +"httpMethod": "POST", +"id": "drive.files.modifyLabels", +"parameterOrder": [ +"fileId" +], +"parameters": { +"fileId": { +"description": "The ID of the file to which the labels belong.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "files/{fileId}/modifyLabels", +"request": { +"$ref": "ModifyLabelsRequest" +}, +"response": { +"$ref": "ModifyLabelsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.metadata" +] +}, +"patch": { +"description": "Updates a file's metadata and/or content. When calling this method, only populate fields in the request that you want to modify. When updating fields, some fields might change automatically, such as modifiedDate. This method supports patch semantics.", +"flatPath": "files/{fileId}", +"httpMethod": "PATCH", +"id": "drive.files.patch", +"parameterOrder": [ +"fileId" +], +"parameters": { +"addParents": { +"description": "Comma-separated list of parent IDs to add.", +"location": "query", +"type": "string" +}, +"convert": { +"default": "false", +"deprecated": true, +"description": "Deprecated: This parameter has no function.", +"location": "query", +"type": "boolean" +}, +"enforceSingleParent": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Adding files to multiple folders is no longer supported. Use `shortcuts` instead.", +"location": "query", +"type": "boolean" +}, +"fileId": { +"description": "The ID of the file to update.", +"location": "path", +"required": true, +"type": "string" +}, +"includeLabels": { +"description": "A comma-separated list of IDs of labels to include in the `labelInfo` part of the response.", +"location": "query", +"type": "string" +}, +"includePermissionsForView": { +"description": "Specifies which additional view's permissions to include in the response. Only `published` is supported.", +"location": "query", +"type": "string" +}, +"modifiedDateBehavior": { +"description": "Determines the behavior in which `modifiedDate` is updated. This overrides `setModifiedDate`.", +"enum": [ +"fromBody", +"fromBodyIfNeeded", +"fromBodyOrNow", +"noChange", +"now", +"nowIfNeeded" +], +"enumDescriptions": [ +"Set `modifiedDate` to the value provided in the body of the request. No change if no value was provided.", +"Set `modifiedDate` to the value provided in the body of the request depending on other contents of the update.", +"Set modifiedDate to the value provided in the body of the request, or to the current time if no value was provided.", +"Maintain the previous value of `modifiedDate`.", +"Set `modifiedDate` to the current time.", +"Set `modifiedDate` to the current time depending on contents of the update." +], +"location": "query", +"type": "string" +}, +"newRevision": { +"default": "true", +"description": "Whether a blob upload should create a new revision. If false, the blob data in the current head revision is replaced. If true or not set, a new blob is created as head revision, and previous unpinned revisions are preserved for a short period of time. Pinned revisions are stored indefinitely, using additional storage quota, up to a maximum of 200 revisions. For details on how revisions are retained, see the [Drive Help Center](https://support.google.com/drive/answer/2409045). Note that this field is ignored if there is no payload in the request.", +"location": "query", +"type": "boolean" +}, +"ocr": { +"default": "false", +"description": "Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads.", +"location": "query", +"type": "boolean" +}, +"ocrLanguage": { +"description": "If ocr is true, hints at the language to use. Valid values are BCP 47 codes.", +"location": "query", +"type": "string" +}, +"pinned": { +"default": "false", +"description": "Whether to pin the new revision. A file can have a maximum of 200 pinned revisions. Note that this field is ignored if there is no payload in the request.", +"location": "query", +"type": "boolean" +}, +"removeParents": { +"description": "Comma-separated list of parent IDs to remove.", +"location": "query", +"type": "string" +}, +"setModifiedDate": { +"default": "false", +"description": "Whether to set the modified date using the value supplied in the request body. Setting this field to `true` is equivalent to `modifiedDateBehavior=fromBodyOrNow`, and `false` is equivalent to `modifiedDateBehavior=now`. To prevent any changes to the modified date set `modifiedDateBehavior=noChange`.", +"location": "query", +"type": "boolean" +}, +"supportsAllDrives": { +"default": "false", +"description": "Whether the requesting application supports both My Drives and shared drives.", +"location": "query", +"type": "boolean" +}, +"supportsTeamDrives": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Use `supportsAllDrives` instead.", +"location": "query", +"type": "boolean" +}, +"timedTextLanguage": { +"description": "The language of the timed text.", +"location": "query", +"type": "string" +}, +"timedTextTrackName": { +"description": "The timed text track name.", +"location": "query", +"type": "string" +}, +"updateViewedDate": { +"default": "true", +"description": "Whether to update the view date after successfully updating the file.", +"location": "query", +"type": "boolean" +}, +"useContentAsIndexableText": { +"default": "false", +"description": "Whether to use the content as indexable text.", +"location": "query", +"type": "boolean" +} +}, +"path": "files/{fileId}", +"request": { +"$ref": "File" +}, +"response": { +"$ref": "File" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.apps.readonly", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.metadata", +"https://www.googleapis.com/auth/drive.scripts" +] +}, +"touch": { +"description": "Set the file's updated time to the current server time.", +"flatPath": "files/{fileId}/touch", +"httpMethod": "POST", +"id": "drive.files.touch", +"parameterOrder": [ +"fileId" +], +"parameters": { +"fileId": { +"description": "The ID of the file to update.", +"location": "path", +"required": true, +"type": "string" +}, +"includeLabels": { +"description": "A comma-separated list of IDs of labels to include in the `labelInfo` part of the response.", +"location": "query", +"type": "string" +}, +"includePermissionsForView": { +"description": "Specifies which additional view's permissions to include in the response. Only `published` is supported.", +"location": "query", +"type": "string" +}, +"supportsAllDrives": { +"default": "false", +"description": "Whether the requesting application supports both My Drives and shared drives.", +"location": "query", +"type": "boolean" +}, +"supportsTeamDrives": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Use `supportsAllDrives` instead.", +"location": "query", +"type": "boolean" +} +}, +"path": "files/{fileId}/touch", +"response": { +"$ref": "File" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.apps.readonly", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.metadata" +] +}, +"trash": { +"description": "Moves a file to the trash. The currently authenticated user must own the file or be at least a `fileOrganizer` on the parent for shared drive files.", +"flatPath": "files/{fileId}/trash", +"httpMethod": "POST", +"id": "drive.files.trash", +"parameterOrder": [ +"fileId" +], +"parameters": { +"fileId": { +"description": "The ID of the file to trash.", +"location": "path", +"required": true, +"type": "string" +}, +"includeLabels": { +"description": "A comma-separated list of IDs of labels to include in the `labelInfo` part of the response.", +"location": "query", +"type": "string" +}, +"includePermissionsForView": { +"description": "Specifies which additional view's permissions to include in the response. Only `published` is supported.", +"location": "query", +"type": "string" +}, +"supportsAllDrives": { +"default": "false", +"description": "Whether the requesting application supports both My Drives and shared drives.", +"location": "query", +"type": "boolean" +}, +"supportsTeamDrives": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Use `supportsAllDrives` instead.", +"location": "query", +"type": "boolean" +} +}, +"path": "files/{fileId}/trash", +"response": { +"$ref": "File" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.apps.readonly", +"https://www.googleapis.com/auth/drive.file" +] +}, +"untrash": { +"description": "Restores a file from the trash. The currently authenticated user must own the file or be at least a `fileOrganizer` on the parent for shared drive files.", +"flatPath": "files/{fileId}/untrash", +"httpMethod": "POST", +"id": "drive.files.untrash", +"parameterOrder": [ +"fileId" +], +"parameters": { +"fileId": { +"description": "The ID of the file to untrash.", +"location": "path", +"required": true, +"type": "string" +}, +"includeLabels": { +"description": "A comma-separated list of IDs of labels to include in the `labelInfo` part of the response.", +"location": "query", +"type": "string" +}, +"includePermissionsForView": { +"description": "Specifies which additional view's permissions to include in the response. Only `published` is supported.", +"location": "query", +"type": "string" +}, +"supportsAllDrives": { +"default": "false", +"description": "Whether the requesting application supports both My Drives and shared drives.", +"location": "query", +"type": "boolean" +}, +"supportsTeamDrives": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Use `supportsAllDrives` instead.", +"location": "query", +"type": "boolean" +} +}, +"path": "files/{fileId}/untrash", +"response": { +"$ref": "File" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.apps.readonly", +"https://www.googleapis.com/auth/drive.file" +] +}, +"update": { +"description": " Updates a file's metadata and/or content. When calling this method, only populate fields in the request that you want to modify. When updating fields, some fields might be changed automatically, such as `modifiedDate`. This method supports patch semantics. This method supports an */upload* URI and accepts uploaded media with the following characteristics: - *Maximum file size:* 5,120 GB - *Accepted Media MIME types:*`*/*` Note: Specify a valid MIME type, rather than the literal `*/*` value. The literal `*/*` is only used to indicate that any valid MIME type can be uploaded. For more information on uploading files, see [Upload file data](/drive/api/guides/manage-uploads).", +"flatPath": "files/{fileId}", +"httpMethod": "PUT", +"id": "drive.files.update", +"mediaUpload": { +"accept": [ +"*/*" +], +"maxSize": "5497558138880", +"protocols": { +"resumable": { +"multipart": true, +"path": "/resumable/upload/drive/v2/files/{fileId}" +}, +"simple": { +"multipart": true, +"path": "/upload/drive/v2/files/{fileId}" +} +} +}, +"parameterOrder": [ +"fileId" +], +"parameters": { +"addParents": { +"description": "Comma-separated list of parent IDs to add.", +"location": "query", +"type": "string" +}, +"convert": { +"default": "false", +"deprecated": true, +"description": "Deprecated: This parameter has no function.", +"location": "query", +"type": "boolean" +}, +"enforceSingleParent": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Adding files to multiple folders is no longer supported. Use `shortcuts` instead.", +"location": "query", +"type": "boolean" +}, +"fileId": { +"description": "The ID of the file to update.", +"location": "path", +"required": true, +"type": "string" +}, +"includeLabels": { +"description": "A comma-separated list of IDs of labels to include in the `labelInfo` part of the response.", +"location": "query", +"type": "string" +}, +"includePermissionsForView": { +"description": "Specifies which additional view's permissions to include in the response. Only `published` is supported.", +"location": "query", +"type": "string" +}, +"modifiedDateBehavior": { +"description": "Determines the behavior in which `modifiedDate` is updated. This overrides `setModifiedDate`.", +"enum": [ +"fromBody", +"fromBodyIfNeeded", +"fromBodyOrNow", +"noChange", +"now", +"nowIfNeeded" +], +"enumDescriptions": [ +"Set `modifiedDate` to the value provided in the body of the request. No change if no value was provided.", +"Set `modifiedDate` to the value provided in the body of the request depending on other contents of the update.", +"Set modifiedDate to the value provided in the body of the request, or to the current time if no value was provided.", +"Maintain the previous value of `modifiedDate`.", +"Set `modifiedDate` to the current time.", +"Set `modifiedDate` to the current time depending on contents of the update." +], +"location": "query", +"type": "string" +}, +"newRevision": { +"default": "true", +"description": "Whether a blob upload should create a new revision. If false, the blob data in the current head revision is replaced. If true or not set, a new blob is created as head revision, and previous unpinned revisions are preserved for a short period of time. Pinned revisions are stored indefinitely, using additional storage quota, up to a maximum of 200 revisions. For details on how revisions are retained, see the [Drive Help Center](https://support.google.com/drive/answer/2409045).", +"location": "query", +"type": "boolean" +}, +"ocr": { +"default": "false", +"description": "Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads.", +"location": "query", +"type": "boolean" +}, +"ocrLanguage": { +"description": "If ocr is true, hints at the language to use. Valid values are BCP 47 codes.", +"location": "query", +"type": "string" +}, +"pinned": { +"default": "false", +"description": "Whether to pin the new revision. A file can have a maximum of 200 pinned revisions.", +"location": "query", +"type": "boolean" +}, +"removeParents": { +"description": "Comma-separated list of parent IDs to remove.", +"location": "query", +"type": "string" +}, +"setModifiedDate": { +"default": "false", +"description": "Whether to set the modified date using the value supplied in the request body. Setting this field to `true` is equivalent to `modifiedDateBehavior=fromBodyOrNow`, and `false` is equivalent to `modifiedDateBehavior=now`. To prevent any changes to the modified date set `modifiedDateBehavior=noChange`.", +"location": "query", +"type": "boolean" +}, +"supportsAllDrives": { +"default": "false", +"description": "Whether the requesting application supports both My Drives and shared drives.", +"location": "query", +"type": "boolean" +}, +"supportsTeamDrives": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Use `supportsAllDrives` instead.", +"location": "query", +"type": "boolean" +}, +"timedTextLanguage": { +"description": "The language of the timed text.", +"location": "query", +"type": "string" +}, +"timedTextTrackName": { +"description": "The timed text track name.", +"location": "query", +"type": "string" +}, +"updateViewedDate": { +"default": "true", +"description": "Whether to update the view date after successfully updating the file.", +"location": "query", +"type": "boolean" +}, +"useContentAsIndexableText": { +"default": "false", +"description": "Whether to use the content as indexable text.", +"location": "query", +"type": "boolean" +} +}, +"path": "files/{fileId}", +"request": { +"$ref": "File" +}, +"response": { +"$ref": "File" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.apps.readonly", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.metadata", +"https://www.googleapis.com/auth/drive.scripts" +], +"supportsMediaUpload": true +}, +"watch": { +"description": "Subscribes to changes to a file.", +"flatPath": "files/{fileId}/watch", +"httpMethod": "POST", +"id": "drive.files.watch", +"parameterOrder": [ +"fileId" +], +"parameters": { +"acknowledgeAbuse": { +"default": "false", +"description": "Whether the user is acknowledging the risk of downloading known malware or other abusive files. This is only applicable when the `alt` parameter is set to `media` and the user is the owner of the file or an organizer of the shared drive in which the file resides.", +"location": "query", +"type": "boolean" +}, +"fileId": { +"description": "The ID for the file in question.", +"location": "path", +"required": true, +"type": "string" +}, +"includeLabels": { +"description": "A comma-separated list of IDs of labels to include in the `labelInfo` part of the response.", +"location": "query", +"type": "string" +}, +"includePermissionsForView": { +"description": "Specifies which additional view's permissions to include in the response. Only `published` is supported.", +"location": "query", +"type": "string" +}, +"projection": { +"deprecated": true, +"description": "Deprecated: This parameter has no function.", +"enum": [ +"BASIC", +"FULL" +], +"enumDescriptions": [ +"Deprecated.", +"Deprecated." +], +"location": "query", +"type": "string" +}, +"revisionId": { +"description": "Specifies the Revision ID that should be downloaded. Ignored unless alt=media is specified.", +"location": "query", +"type": "string" +}, +"supportsAllDrives": { +"default": "false", +"description": "Whether the requesting application supports both My Drives and shared drives.", +"location": "query", +"type": "boolean" +}, +"supportsTeamDrives": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Use `supportsAllDrives` instead.", +"location": "query", +"type": "boolean" +}, +"updateViewedDate": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Use files.update with modifiedDateBehavior=noChange, updateViewedDate=true and an empty request body.", +"location": "query", +"type": "boolean" +} +}, +"path": "files/{fileId}/watch", +"request": { +"$ref": "Channel", +"parameterName": "resource" +}, +"response": { +"$ref": "Channel" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.meet.readonly", +"https://www.googleapis.com/auth/drive.metadata", +"https://www.googleapis.com/auth/drive.metadata.readonly", +"https://www.googleapis.com/auth/drive.photos.readonly", +"https://www.googleapis.com/auth/drive.readonly" +], +"supportsSubscription": true +} +} +}, +"parents": { +"methods": { +"delete": { +"description": "Removes a parent from a file.", +"flatPath": "files/{fileId}/parents/{parentId}", +"httpMethod": "DELETE", +"id": "drive.parents.delete", +"parameterOrder": [ +"fileId", +"parentId" +], +"parameters": { +"enforceSingleParent": { +"default": "false", +"deprecated": true, +"description": "Deprecated: If an item is not in a shared drive and its last parent is removed, the item is placed under its owner's root.", +"location": "query", +"type": "boolean" +}, +"fileId": { +"description": "The ID of the file.", +"location": "path", +"required": true, +"type": "string" +}, +"parentId": { +"description": "The ID of the parent.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "files/{fileId}/parents/{parentId}", +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file" +] +}, +"get": { +"description": "Gets a specific parent reference.", +"flatPath": "files/{fileId}/parents/{parentId}", +"httpMethod": "GET", +"id": "drive.parents.get", +"parameterOrder": [ +"fileId", +"parentId" +], +"parameters": { +"fileId": { +"description": "The ID of the file.", +"location": "path", +"required": true, +"type": "string" +}, +"parentId": { +"description": "The ID of the parent.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "files/{fileId}/parents/{parentId}", +"response": { +"$ref": "ParentReference" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.meet.readonly", +"https://www.googleapis.com/auth/drive.metadata", +"https://www.googleapis.com/auth/drive.metadata.readonly", +"https://www.googleapis.com/auth/drive.photos.readonly", +"https://www.googleapis.com/auth/drive.readonly" +] +}, +"insert": { +"description": "Adds a parent folder for a file.", +"flatPath": "files/{fileId}/parents", +"httpMethod": "POST", +"id": "drive.parents.insert", +"parameterOrder": [ +"fileId" +], +"parameters": { +"enforceSingleParent": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Adding files to multiple folders is no longer supported. Use `shortcuts` instead.", +"location": "query", +"type": "boolean" +}, +"fileId": { +"description": "The ID of the file.", +"location": "path", +"required": true, +"type": "string" +}, +"supportsAllDrives": { +"default": "false", +"description": "Whether the requesting application supports both My Drives and shared drives.", +"location": "query", +"type": "boolean" +}, +"supportsTeamDrives": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Use `supportsAllDrives` instead.", +"location": "query", +"type": "boolean" +} +}, +"path": "files/{fileId}/parents", +"request": { +"$ref": "ParentReference" +}, +"response": { +"$ref": "ParentReference" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.file" +] +}, +"list": { +"description": "Lists a file's parents.", +"flatPath": "files/{fileId}/parents", +"httpMethod": "GET", +"id": "drive.parents.list", +"parameterOrder": [ +"fileId" +], +"parameters": { +"fileId": { +"description": "The ID of the file.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "files/{fileId}/parents", +"response": { +"$ref": "ParentList" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.meet.readonly", +"https://www.googleapis.com/auth/drive.metadata", +"https://www.googleapis.com/auth/drive.metadata.readonly", +"https://www.googleapis.com/auth/drive.photos.readonly", +"https://www.googleapis.com/auth/drive.readonly" +] +} +} +}, +"permissions": { +"methods": { +"delete": { +"description": "Deletes a permission from a file or shared drive. **Warning:** Concurrent permissions operations on the same file are not supported; only the last update is applied.", +"flatPath": "files/{fileId}/permissions/{permissionId}", +"httpMethod": "DELETE", +"id": "drive.permissions.delete", +"parameterOrder": [ +"fileId", +"permissionId" +], +"parameters": { +"fileId": { +"description": "The ID for the file or shared drive.", +"location": "path", +"required": true, +"type": "string" +}, +"permissionId": { +"description": "The ID for the permission.", +"location": "path", +"required": true, +"type": "string" +}, +"supportsAllDrives": { +"default": "false", +"description": "Whether the requesting application supports both My Drives and shared drives.", +"location": "query", +"type": "boolean" +}, +"supportsTeamDrives": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Use `supportsAllDrives` instead.", +"location": "query", +"type": "boolean" +}, +"useDomainAdminAccess": { +"default": "false", +"description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an administrator of the domain to which the shared drive belongs.", +"location": "query", +"type": "boolean" +} +}, +"path": "files/{fileId}/permissions/{permissionId}", +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file" +] +}, +"get": { +"description": "Gets a permission by ID.", +"flatPath": "files/{fileId}/permissions/{permissionId}", +"httpMethod": "GET", +"id": "drive.permissions.get", +"parameterOrder": [ +"fileId", +"permissionId" +], +"parameters": { +"fileId": { +"description": "The ID for the file or shared drive.", +"location": "path", +"required": true, +"type": "string" +}, +"permissionId": { +"description": "The ID for the permission.", +"location": "path", +"required": true, +"type": "string" +}, +"supportsAllDrives": { +"default": "false", +"description": "Whether the requesting application supports both My Drives and shared drives.", +"location": "query", +"type": "boolean" +}, +"supportsTeamDrives": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Use `supportsAllDrives` instead.", +"location": "query", +"type": "boolean" +}, +"useDomainAdminAccess": { +"default": "false", +"description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an administrator of the domain to which the shared drive belongs.", +"location": "query", +"type": "boolean" +} +}, +"path": "files/{fileId}/permissions/{permissionId}", +"response": { +"$ref": "Permission" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.meet.readonly", +"https://www.googleapis.com/auth/drive.metadata", +"https://www.googleapis.com/auth/drive.metadata.readonly", +"https://www.googleapis.com/auth/drive.photos.readonly", +"https://www.googleapis.com/auth/drive.readonly" +] +}, +"getIdForEmail": { +"description": "Returns the permission ID for an email address.", +"flatPath": "permissionIds/{email}", +"httpMethod": "GET", +"id": "drive.permissions.getIdForEmail", +"parameterOrder": [ +"email" +], +"parameters": { +"email": { +"description": "The email address for which to return a permission ID", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "permissionIds/{email}", +"response": { +"$ref": "PermissionId" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.apps.readonly", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.metadata", +"https://www.googleapis.com/auth/drive.metadata.readonly", +"https://www.googleapis.com/auth/drive.photos.readonly", +"https://www.googleapis.com/auth/drive.readonly" +] +}, +"insert": { +"description": "Inserts a permission for a file or shared drive. **Warning:** Concurrent permissions operations on the same file are not supported; only the last update is applied.", +"flatPath": "files/{fileId}/permissions", +"httpMethod": "POST", +"id": "drive.permissions.insert", +"parameterOrder": [ +"fileId" +], +"parameters": { +"emailMessage": { +"description": "A plain text custom message to include in notification emails.", +"location": "query", +"type": "string" +}, +"enforceSingleParent": { +"default": "false", +"deprecated": true, +"description": "Deprecated: See `moveToNewOwnersRoot` for details.", +"location": "query", +"type": "boolean" +}, +"fileId": { +"description": "The ID for the file or shared drive.", +"location": "path", +"required": true, +"type": "string" +}, +"moveToNewOwnersRoot": { +"default": "false", +"description": "This parameter will only take effect if the item is not in a shared drive and the request is attempting to transfer the ownership of the item. If set to `true`, the item will be moved to the new owner's My Drive root folder and all prior parents removed. If set to `false`, parents are not changed.", +"location": "query", +"type": "boolean" +}, +"sendNotificationEmails": { +"default": "true", +"description": "Whether to send notification emails when sharing to users or groups. This parameter is ignored and an email is sent if the `role` is `owner`.", +"location": "query", +"type": "boolean" +}, +"supportsAllDrives": { +"default": "false", +"description": "Whether the requesting application supports both My Drives and shared drives.", +"location": "query", +"type": "boolean" +}, +"supportsTeamDrives": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Use `supportsAllDrives` instead.", +"location": "query", +"type": "boolean" +}, +"useDomainAdminAccess": { +"default": "false", +"description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an administrator of the domain to which the shared drive belongs.", +"location": "query", +"type": "boolean" +} +}, +"path": "files/{fileId}/permissions", +"request": { +"$ref": "Permission" +}, +"response": { +"$ref": "Permission" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file" +] +}, +"list": { +"description": "Lists a file's or shared drive's permissions.", +"flatPath": "files/{fileId}/permissions", +"httpMethod": "GET", +"id": "drive.permissions.list", +"parameterOrder": [ +"fileId" +], +"parameters": { +"fileId": { +"description": "The ID for the file or shared drive.", +"location": "path", +"required": true, +"type": "string" +}, +"includePermissionsForView": { +"description": "Specifies which additional view's permissions to include in the response. Only `published` is supported.", +"location": "query", +"type": "string" +}, +"maxResults": { +"description": "The maximum number of permissions to return per page. When not set for files in a shared drive, at most 100 results will be returned. When not set for files that are not in a shared drive, the entire list will be returned.", +"format": "int32", +"location": "query", +"maximum": "100", +"minimum": "1", +"type": "integer" +}, +"pageToken": { +"description": "The token for continuing a previous list request on the next page. This should be set to the value of `nextPageToken` from the previous response.", +"location": "query", +"type": "string" +}, +"supportsAllDrives": { +"default": "false", +"description": "Whether the requesting application supports both My Drives and shared drives.", +"location": "query", +"type": "boolean" +}, +"supportsTeamDrives": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Use `supportsAllDrives` instead.", +"location": "query", +"type": "boolean" +}, +"useDomainAdminAccess": { +"default": "false", +"description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an administrator of the domain to which the shared drive belongs.", +"location": "query", +"type": "boolean" +} +}, +"path": "files/{fileId}/permissions", +"response": { +"$ref": "PermissionList" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.meet.readonly", +"https://www.googleapis.com/auth/drive.metadata", +"https://www.googleapis.com/auth/drive.metadata.readonly", +"https://www.googleapis.com/auth/drive.photos.readonly", +"https://www.googleapis.com/auth/drive.readonly" +] +}, +"patch": { +"description": "Updates a permission using patch semantics. **Warning:** Concurrent permissions operations on the same file are not supported; only the last update is applied.", +"flatPath": "files/{fileId}/permissions/{permissionId}", +"httpMethod": "PATCH", +"id": "drive.permissions.patch", +"parameterOrder": [ +"fileId", +"permissionId" +], +"parameters": { +"fileId": { +"description": "The ID for the file or shared drive.", +"location": "path", +"required": true, +"type": "string" +}, +"permissionId": { +"description": "The ID for the permission.", +"location": "path", +"required": true, +"type": "string" +}, +"removeExpiration": { +"default": "false", +"description": "Whether to remove the expiration date.", +"location": "query", +"type": "boolean" +}, +"supportsAllDrives": { +"default": "false", +"description": "Whether the requesting application supports both My Drives and shared drives.", +"location": "query", +"type": "boolean" +}, +"supportsTeamDrives": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Use `supportsAllDrives` instead.", +"location": "query", +"type": "boolean" +}, +"transferOwnership": { +"default": "false", +"description": "Whether changing a role to `owner` downgrades the current owners to writers. Does nothing if the specified role is not `owner`.", +"location": "query", +"type": "boolean" +}, +"useDomainAdminAccess": { +"default": "false", +"description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an administrator of the domain to which the shared drive belongs.", +"location": "query", +"type": "boolean" +} +}, +"path": "files/{fileId}/permissions/{permissionId}", +"request": { +"$ref": "Permission" +}, +"response": { +"$ref": "Permission" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file" +] +}, +"update": { +"description": "Updates a permission. **Warning:** Concurrent permissions operations on the same file are not supported; only the last update is applied.", +"flatPath": "files/{fileId}/permissions/{permissionId}", +"httpMethod": "PUT", +"id": "drive.permissions.update", +"parameterOrder": [ +"fileId", +"permissionId" +], +"parameters": { +"fileId": { +"description": "The ID for the file or shared drive.", +"location": "path", +"required": true, +"type": "string" +}, +"permissionId": { +"description": "The ID for the permission.", +"location": "path", +"required": true, +"type": "string" +}, +"removeExpiration": { +"default": "false", +"description": "Whether to remove the expiration date.", +"location": "query", +"type": "boolean" +}, +"supportsAllDrives": { +"default": "false", +"description": "Whether the requesting application supports both My Drives and shared drives.", +"location": "query", +"type": "boolean" +}, +"supportsTeamDrives": { +"default": "false", +"deprecated": true, +"description": "Deprecated: Use `supportsAllDrives` instead.", +"location": "query", +"type": "boolean" +}, +"transferOwnership": { +"default": "false", +"description": "Whether changing a role to `owner` downgrades the current owners to writers. Does nothing if the specified role is not `owner`.", +"location": "query", +"type": "boolean" +}, +"useDomainAdminAccess": { +"default": "false", +"description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an administrator of the domain to which the shared drive belongs.", +"location": "query", +"type": "boolean" +} +}, +"path": "files/{fileId}/permissions/{permissionId}", +"request": { +"$ref": "Permission" +}, +"response": { +"$ref": "Permission" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file" +] +} +} +}, +"properties": { +"methods": { +"delete": { +"description": "Deletes a property.", +"flatPath": "files/{fileId}/properties/{propertyKey}", +"httpMethod": "DELETE", +"id": "drive.properties.delete", +"parameterOrder": [ +"fileId", +"propertyKey" +], +"parameters": { +"fileId": { +"description": "The ID of the file.", +"location": "path", +"required": true, +"type": "string" +}, +"propertyKey": { +"description": "The key of the property.", +"location": "path", +"required": true, +"type": "string" +}, +"visibility": { +"default": "private", +"description": "The visibility of the property.", +"location": "query", +"type": "string" +} +}, +"path": "files/{fileId}/properties/{propertyKey}", +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.metadata" +] +}, +"get": { +"description": "Gets a property by its key.", +"flatPath": "files/{fileId}/properties/{propertyKey}", +"httpMethod": "GET", +"id": "drive.properties.get", +"parameterOrder": [ +"fileId", +"propertyKey" +], +"parameters": { +"fileId": { +"description": "The ID of the file.", +"location": "path", +"required": true, +"type": "string" +}, +"propertyKey": { +"description": "The key of the property.", +"location": "path", +"required": true, +"type": "string" +}, +"visibility": { +"default": "private", +"description": "The visibility of the property.", +"location": "query", +"type": "string" +} +}, +"path": "files/{fileId}/properties/{propertyKey}", +"response": { +"$ref": "Property" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.meet.readonly", +"https://www.googleapis.com/auth/drive.metadata", +"https://www.googleapis.com/auth/drive.metadata.readonly", +"https://www.googleapis.com/auth/drive.photos.readonly", +"https://www.googleapis.com/auth/drive.readonly" +] +}, +"insert": { +"description": "Adds a property to a file, or updates it if it already exists.", +"flatPath": "files/{fileId}/properties", +"httpMethod": "POST", +"id": "drive.properties.insert", +"parameterOrder": [ +"fileId" +], +"parameters": { +"fileId": { +"description": "The ID of the file.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "files/{fileId}/properties", +"request": { +"$ref": "Property" +}, +"response": { +"$ref": "Property" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.metadata" +] +}, +"list": { +"description": "Lists a file's properties.", +"flatPath": "files/{fileId}/properties", +"httpMethod": "GET", +"id": "drive.properties.list", +"parameterOrder": [ +"fileId" +], +"parameters": { +"fileId": { +"description": "The ID of the file.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "files/{fileId}/properties", +"response": { +"$ref": "PropertyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.meet.readonly", +"https://www.googleapis.com/auth/drive.metadata", +"https://www.googleapis.com/auth/drive.metadata.readonly", +"https://www.googleapis.com/auth/drive.photos.readonly", +"https://www.googleapis.com/auth/drive.readonly" +] +}, +"patch": { +"description": "Updates a property.", +"flatPath": "files/{fileId}/properties/{propertyKey}", +"httpMethod": "PATCH", +"id": "drive.properties.patch", +"parameterOrder": [ +"fileId", +"propertyKey" +], +"parameters": { +"fileId": { +"description": "The ID of the file.", +"location": "path", +"required": true, +"type": "string" +}, +"propertyKey": { +"description": "The key of the property.", +"location": "path", +"required": true, +"type": "string" +}, +"visibility": { +"default": "private", +"description": "The visibility of the property. Allowed values are PRIVATE and PUBLIC. (Default: PRIVATE)", +"location": "query", +"type": "string" +} +}, +"path": "files/{fileId}/properties/{propertyKey}", +"request": { +"$ref": "Property" +}, +"response": { +"$ref": "Property" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.metadata" +] +}, +"update": { +"description": "Updates a property.", +"flatPath": "files/{fileId}/properties/{propertyKey}", +"httpMethod": "PUT", +"id": "drive.properties.update", +"parameterOrder": [ +"fileId", +"propertyKey" +], +"parameters": { +"fileId": { +"description": "The ID of the file.", +"location": "path", +"required": true, +"type": "string" +}, +"propertyKey": { +"description": "The key of the property.", +"location": "path", +"required": true, +"type": "string" +}, +"visibility": { +"default": "private", +"description": "The visibility of the property. Allowed values are PRIVATE and PUBLIC. (Default: PRIVATE)", +"location": "query", +"type": "string" +} +}, +"path": "files/{fileId}/properties/{propertyKey}", +"request": { +"$ref": "Property" +}, +"response": { +"$ref": "Property" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.metadata" +] +} +} +}, +"replies": { +"methods": { +"delete": { +"description": "Deletes a reply.", +"flatPath": "files/{fileId}/comments/{commentId}/replies/{replyId}", +"httpMethod": "DELETE", +"id": "drive.replies.delete", +"parameterOrder": [ +"fileId", +"commentId", +"replyId" +], +"parameters": { +"commentId": { +"description": "The ID of the comment.", +"location": "path", +"required": true, +"type": "string" +}, +"fileId": { +"description": "The ID of the file.", +"location": "path", +"required": true, +"type": "string" +}, +"replyId": { +"description": "The ID of the reply.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "files/{fileId}/comments/{commentId}/replies/{replyId}", +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file" +] +}, +"get": { +"description": "Gets a reply.", +"flatPath": "files/{fileId}/comments/{commentId}/replies/{replyId}", +"httpMethod": "GET", +"id": "drive.replies.get", +"parameterOrder": [ +"fileId", +"commentId", +"replyId" +], +"parameters": { +"commentId": { +"description": "The ID of the comment.", +"location": "path", +"required": true, +"type": "string" +}, +"fileId": { +"description": "The ID of the file.", +"location": "path", +"required": true, +"type": "string" +}, +"includeDeleted": { +"default": "false", +"description": "If set, this will succeed when retrieving a deleted reply.", +"location": "query", +"type": "boolean" +}, +"replyId": { +"description": "The ID of the reply.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "files/{fileId}/comments/{commentId}/replies/{replyId}", +"response": { +"$ref": "CommentReply" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.meet.readonly", +"https://www.googleapis.com/auth/drive.readonly" +] +}, +"insert": { +"description": "Creates a new reply to the given comment.", +"flatPath": "files/{fileId}/comments/{commentId}/replies", +"httpMethod": "POST", +"id": "drive.replies.insert", +"parameterOrder": [ +"fileId", +"commentId" +], +"parameters": { +"commentId": { +"description": "The ID of the comment.", +"location": "path", +"required": true, +"type": "string" +}, +"fileId": { +"description": "The ID of the file.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "files/{fileId}/comments/{commentId}/replies", +"request": { +"$ref": "CommentReply" +}, +"response": { +"$ref": "CommentReply" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file" +] +}, +"list": { +"description": "Lists all of the replies to a comment.", +"flatPath": "files/{fileId}/comments/{commentId}/replies", +"httpMethod": "GET", +"id": "drive.replies.list", +"parameterOrder": [ +"fileId", +"commentId" +], +"parameters": { +"commentId": { +"description": "The ID of the comment.", +"location": "path", +"required": true, +"type": "string" +}, +"fileId": { +"description": "The ID of the file.", +"location": "path", +"required": true, +"type": "string" +}, +"includeDeleted": { +"default": "false", +"description": "If set, all replies, including deleted replies (with content stripped) will be returned.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "20", +"description": "The maximum number of replies to include in the response, used for paging.", +"format": "int32", +"location": "query", +"maximum": "100", +"minimum": "0", +"type": "integer" +}, +"pageToken": { +"description": "The continuation token, used to page through large result sets. To get the next page of results, set this parameter to the value of \"nextPageToken\" from the previous response.", +"location": "query", +"type": "string" +} +}, +"path": "files/{fileId}/comments/{commentId}/replies", +"response": { +"$ref": "CommentReplyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.meet.readonly", +"https://www.googleapis.com/auth/drive.readonly" +] +}, +"patch": { +"description": "Updates an existing reply.", +"flatPath": "files/{fileId}/comments/{commentId}/replies/{replyId}", +"httpMethod": "PATCH", +"id": "drive.replies.patch", +"parameterOrder": [ +"fileId", +"commentId", +"replyId" +], +"parameters": { +"commentId": { +"description": "The ID of the comment.", +"location": "path", +"required": true, +"type": "string" +}, +"fileId": { +"description": "The ID of the file.", +"location": "path", +"required": true, +"type": "string" +}, +"replyId": { +"description": "The ID of the reply.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "files/{fileId}/comments/{commentId}/replies/{replyId}", +"request": { +"$ref": "CommentReply" +}, +"response": { +"$ref": "CommentReply" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file" +] +}, +"update": { +"description": "Updates an existing reply.", +"flatPath": "files/{fileId}/comments/{commentId}/replies/{replyId}", +"httpMethod": "PUT", +"id": "drive.replies.update", +"parameterOrder": [ +"fileId", +"commentId", +"replyId" +], +"parameters": { +"commentId": { +"description": "The ID of the comment.", +"location": "path", +"required": true, +"type": "string" +}, +"fileId": { +"description": "The ID of the file.", +"location": "path", +"required": true, +"type": "string" +}, +"replyId": { +"description": "The ID of the reply.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "files/{fileId}/comments/{commentId}/replies/{replyId}", +"request": { +"$ref": "CommentReply" +}, +"response": { +"$ref": "CommentReply" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file" +] +} +} +}, +"revisions": { +"methods": { +"delete": { +"description": "Permanently deletes a file version. You can only delete revisions for files with binary content, like images or videos. Revisions for other files, like Google Docs or Sheets, and the last remaining file version can't be deleted.", +"flatPath": "files/{fileId}/revisions/{revisionId}", +"httpMethod": "DELETE", +"id": "drive.revisions.delete", +"parameterOrder": [ +"fileId", +"revisionId" +], +"parameters": { +"fileId": { +"description": "The ID of the file.", +"location": "path", +"required": true, +"type": "string" +}, +"revisionId": { +"description": "The ID of the revision.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "files/{fileId}/revisions/{revisionId}", +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.file" +] +}, +"get": { +"description": "Gets a specific revision.", +"flatPath": "files/{fileId}/revisions/{revisionId}", +"httpMethod": "GET", +"id": "drive.revisions.get", +"parameterOrder": [ +"fileId", +"revisionId" +], +"parameters": { +"fileId": { +"description": "The ID of the file.", +"location": "path", +"required": true, +"type": "string" +}, +"revisionId": { +"description": "The ID of the revision.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "files/{fileId}/revisions/{revisionId}", +"response": { +"$ref": "Revision" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.meet.readonly", +"https://www.googleapis.com/auth/drive.metadata", +"https://www.googleapis.com/auth/drive.metadata.readonly", +"https://www.googleapis.com/auth/drive.photos.readonly", +"https://www.googleapis.com/auth/drive.readonly" +] +}, +"list": { +"description": "Lists a file's revisions.", +"flatPath": "files/{fileId}/revisions", +"httpMethod": "GET", +"id": "drive.revisions.list", +"parameterOrder": [ +"fileId" +], +"parameters": { +"fileId": { +"description": "The ID of the file.", +"location": "path", +"required": true, +"type": "string" +}, +"maxResults": { +"default": "200", +"description": "Maximum number of revisions to return.", +"format": "int32", +"location": "query", +"maximum": "1000", +"minimum": "1", +"type": "integer" +}, +"pageToken": { +"description": "Page token for revisions. To get the next page of results, set this parameter to the value of \"nextPageToken\" from the previous response.", +"location": "query", +"type": "string" +} +}, +"path": "files/{fileId}/revisions", +"response": { +"$ref": "RevisionList" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.meet.readonly", +"https://www.googleapis.com/auth/drive.metadata", +"https://www.googleapis.com/auth/drive.metadata.readonly", +"https://www.googleapis.com/auth/drive.photos.readonly", +"https://www.googleapis.com/auth/drive.readonly" +] +}, +"patch": { +"description": "Updates a revision.", +"flatPath": "files/{fileId}/revisions/{revisionId}", +"httpMethod": "PATCH", +"id": "drive.revisions.patch", +"parameterOrder": [ +"fileId", +"revisionId" +], +"parameters": { +"fileId": { +"description": "The ID for the file.", +"location": "path", +"required": true, +"type": "string" +}, +"revisionId": { +"description": "The ID for the revision.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "files/{fileId}/revisions/{revisionId}", +"request": { +"$ref": "Revision" +}, +"response": { +"$ref": "Revision" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.file" +] +}, +"update": { +"description": "Updates a revision.", +"flatPath": "files/{fileId}/revisions/{revisionId}", +"httpMethod": "PUT", +"id": "drive.revisions.update", +"parameterOrder": [ +"fileId", +"revisionId" +], +"parameters": { +"fileId": { +"description": "The ID for the file.", +"location": "path", +"required": true, +"type": "string" +}, +"revisionId": { +"description": "The ID for the revision.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "files/{fileId}/revisions/{revisionId}", +"request": { +"$ref": "Revision" +}, +"response": { +"$ref": "Revision" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.appdata", +"https://www.googleapis.com/auth/drive.file" +] +} +} +}, +"teamdrives": { +"methods": { +"delete": { +"description": "Deprecated: Use `drives.delete` instead.", +"flatPath": "teamdrives/{teamDriveId}", +"httpMethod": "DELETE", +"id": "drive.teamdrives.delete", +"parameterOrder": [ +"teamDriveId" +], +"parameters": { +"teamDriveId": { +"description": "The ID of the Team Drive", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "teamdrives/{teamDriveId}", +"scopes": [ +"https://www.googleapis.com/auth/drive" +] +}, +"get": { +"description": "Deprecated: Use `drives.get` instead.", +"flatPath": "teamdrives/{teamDriveId}", +"httpMethod": "GET", +"id": "drive.teamdrives.get", +"parameterOrder": [ +"teamDriveId" +], +"parameters": { +"teamDriveId": { +"description": "The ID of the Team Drive", +"location": "path", +"required": true, +"type": "string" +}, +"useDomainAdminAccess": { +"default": "false", +"description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the Team Drive belongs.", +"location": "query", +"type": "boolean" +} +}, +"path": "teamdrives/{teamDriveId}", +"response": { +"$ref": "TeamDrive" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.readonly" +] +}, +"insert": { +"description": "Deprecated: Use `drives.insert` instead.", +"flatPath": "teamdrives", +"httpMethod": "POST", +"id": "drive.teamdrives.insert", +"parameterOrder": [ +"requestId" +], +"parameters": { +"requestId": { +"description": "Required. An ID, such as a random UUID, which uniquely identifies this user's request for idempotent creation of a Team Drive. A repeated request by the same user and with the same request ID will avoid creating duplicates by attempting to create the same Team Drive. If the Team Drive already exists a 409 error will be returned.", +"location": "query", +"required": true, +"type": "string" +} +}, +"path": "teamdrives", +"request": { +"$ref": "TeamDrive" +}, +"response": { +"$ref": "TeamDrive" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive" +] +}, +"list": { +"description": "Deprecated: Use `drives.list` instead.", +"flatPath": "teamdrives", +"httpMethod": "GET", +"id": "drive.teamdrives.list", +"parameterOrder": [], +"parameters": { +"maxResults": { +"default": "10", +"description": "Maximum number of Team Drives to return.", +"format": "int32", +"location": "query", +"maximum": "100", +"minimum": "1", +"type": "integer" +}, +"pageToken": { +"description": "Page token for Team Drives.", +"location": "query", +"type": "string" +}, +"q": { +"description": "Query string for searching Team Drives.", +"location": "query", +"type": "string" +}, +"useDomainAdminAccess": { +"default": "false", +"description": "Issue the request as a domain administrator; if set to true, then all Team Drives of the domain in which the requester is an administrator are returned.", +"location": "query", +"type": "boolean" +} +}, +"path": "teamdrives", +"response": { +"$ref": "TeamDriveList" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.readonly" +] +}, +"update": { +"description": "Deprecated: Use `drives.update` instead.", +"flatPath": "teamdrives/{teamDriveId}", +"httpMethod": "PUT", +"id": "drive.teamdrives.update", +"parameterOrder": [ +"teamDriveId" +], +"parameters": { +"teamDriveId": { +"description": "The ID of the Team Drive", +"location": "path", +"required": true, +"type": "string" +}, +"useDomainAdminAccess": { +"default": "false", +"description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the Team Drive belongs.", +"location": "query", +"type": "boolean" +} +}, +"path": "teamdrives/{teamDriveId}", +"request": { +"$ref": "TeamDrive" +}, +"response": { +"$ref": "TeamDrive" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive" +] +} +} +} +}, +"revision": "20240914", +"rootUrl": "https://www.googleapis.com/", +"schemas": { +"About": { +"description": "An item with user information and settings.", +"id": "About", +"properties": { +"additionalRoleInfo": { +"description": "Information about supported additional roles per file type. The most specific type takes precedence.", +"items": { +"properties": { +"roleSets": { +"description": "The supported additional roles per primary role.", +"items": { +"properties": { +"additionalRoles": { +"description": "The supported additional roles with the primary role.", +"items": { +"type": "string" +}, +"type": "array" +}, +"primaryRole": { +"description": "A primary permission role.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"type": { +"description": "The content type that this additional role info applies to.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"canCreateDrives": { +"description": "Whether the user can create shared drives.", +"type": "boolean" +}, +"canCreateTeamDrives": { +"deprecated": true, +"description": "Deprecated: Use `canCreateDrives` instead.", +"type": "boolean" +}, +"domainSharingPolicy": { +"description": "The domain sharing policy for the current user. Possible values are: * `allowed` * `allowedWithWarning` * `incomingOnly` * `disallowed`", +"type": "string" +}, +"driveThemes": { +"description": "A list of themes that are supported for shared drives.", +"items": { +"properties": { +"backgroundImageLink": { +"description": "A link to this theme's background image.", +"type": "string" +}, +"colorRgb": { +"description": "The color of this theme as an RGB hex string.", +"type": "string" +}, +"id": { +"description": "The ID of the theme.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"etag": { +"description": "The ETag of the item.", +"type": "string" +}, +"exportFormats": { +"description": "The allowable export formats.", +"items": { +"properties": { +"source": { +"description": "The content type to convert from.", +"type": "string" +}, +"targets": { +"description": "The possible content types to convert to.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"type": "array" +}, +"features": { +"description": "List of additional features enabled on this account.", +"items": { +"properties": { +"featureName": { +"description": "The name of the feature.", +"type": "string" +}, +"featureRate": { +"description": "The request limit rate for this feature, in queries per second.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"type": "array" +}, +"folderColorPalette": { +"description": "The palette of allowable folder colors as RGB hex strings.", +"items": { +"type": "string" +}, +"type": "array" +}, +"importFormats": { +"description": "The allowable import formats.", +"items": { +"properties": { +"source": { +"description": "The imported file's content type to convert from.", +"type": "string" +}, +"targets": { +"description": "The possible content types to convert to.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"type": "array" +}, +"isCurrentAppInstalled": { +"description": "A boolean indicating whether the authenticated app is installed by the authenticated user.", +"type": "boolean" +}, +"kind": { +"default": "drive#about", +"description": "This is always `drive#about`.", +"type": "string" +}, +"languageCode": { +"description": "The user's language or locale code, as defined by BCP 47, with some extensions from Unicode's LDML format (http://www.unicode.org/reports/tr35/).", +"type": "string" +}, +"largestChangeId": { +"description": "The largest change id.", +"format": "int64", +"type": "string" +}, +"maxUploadSizes": { +"description": "List of max upload sizes for each file type. The most specific type takes precedence.", +"items": { +"properties": { +"size": { +"description": "The max upload size for this type.", +"format": "int64", +"type": "string" +}, +"type": { +"description": "The file type.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"name": { +"description": "The name of the current user.", +"type": "string" +}, +"permissionId": { +"description": "The current user's ID as visible in the permissions collection.", +"type": "string" +}, +"quotaBytesByService": { +"description": "The amount of storage quota used by different Google services.", +"items": { +"properties": { +"bytesUsed": { +"description": "The storage quota bytes used by the service.", +"format": "int64", +"type": "string" +}, +"serviceName": { +"description": "The service's name, e.g. DRIVE, GMAIL, or PHOTOS.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"quotaBytesTotal": { +"description": "The total number of quota bytes. This is only relevant when quotaType is LIMITED.", +"format": "int64", +"type": "string" +}, +"quotaBytesUsed": { +"description": "The number of quota bytes used by Google Drive.", +"format": "int64", +"type": "string" +}, +"quotaBytesUsedAggregate": { +"description": "The number of quota bytes used by all Google apps (Drive, Picasa, etc.).", +"format": "int64", +"type": "string" +}, +"quotaBytesUsedInTrash": { +"description": "The number of quota bytes used by trashed items.", +"format": "int64", +"type": "string" +}, +"quotaType": { +"description": "The type of the user's storage quota. Possible values are: * `LIMITED` * `UNLIMITED`", +"type": "string" +}, +"remainingChangeIds": { +"description": "The number of remaining change ids, limited to no more than 2500.", +"format": "int64", +"type": "string" +}, +"rootFolderId": { +"description": "The id of the root folder.", +"type": "string" +}, +"selfLink": { +"description": "A link back to this item.", +"type": "string" +}, +"teamDriveThemes": { +"deprecated": true, +"description": "Deprecated: Use `driveThemes` instead.", +"items": { +"properties": { +"backgroundImageLink": { +"deprecated": true, +"description": "Deprecated: Use `driveThemes/backgroundImageLink` instead.", +"type": "string" +}, +"colorRgb": { +"deprecated": true, +"description": "Deprecated: Use `driveThemes/colorRgb` instead.", +"type": "string" +}, +"id": { +"deprecated": true, +"description": "Deprecated: Use `driveThemes/id` instead.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"user": { +"$ref": "User", +"description": "The authenticated user." +} +}, +"type": "object" +}, +"App": { +"description": "The apps resource provides a list of the apps that a user has installed, with information about each app's supported MIME types, file extensions, and other details. Some resource methods (such as `apps.get`) require an `appId`. Use the `apps.list` method to retrieve the ID for an installed application.", +"id": "App", +"properties": { +"authorized": { +"description": "Whether the app is authorized to access data on the user's Drive.", +"type": "boolean" +}, +"createInFolderTemplate": { +"description": "The template url to create a new file with this app in a given folder. The template will contain {folderId} to be replaced by the folder to create the new file in.", +"type": "string" +}, +"createUrl": { +"description": "The url to create a new file with this app.", +"type": "string" +}, +"hasDriveWideScope": { +"description": "Whether the app has drive-wide scope. An app with drive-wide scope can access all files in the user's drive.", +"type": "boolean" +}, +"icons": { +"description": "The various icons for the app.", +"items": { +"properties": { +"category": { +"description": "Category of the icon. Allowed values are: * `application` - icon for the application * `document` - icon for a file associated with the app * `documentShared` - icon for a shared file associated with the app", +"type": "string" +}, +"iconUrl": { +"description": "URL for the icon.", +"type": "string" +}, +"size": { +"description": "Size of the icon. Represented as the maximum of the width and height.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"type": "array" +}, +"id": { +"description": "The ID of the app.", +"type": "string" +}, +"installed": { +"description": "Whether the app is installed.", +"type": "boolean" +}, +"kind": { +"default": "drive#app", +"description": "This is always `drive#app`.", +"type": "string" +}, +"longDescription": { +"description": "A long description of the app.", +"type": "string" +}, +"name": { +"description": "The name of the app.", +"type": "string" +}, +"objectType": { +"description": "The type of object this app creates (e.g. Chart). If empty, the app name should be used instead.", +"type": "string" +}, +"openUrlTemplate": { +"description": "The template url for opening files with this app. The template will contain `{ids}` and/or `{exportIds}` to be replaced by the actual file ids. See Open Files for the full documentation.", +"type": "string" +}, +"primaryFileExtensions": { +"description": "The list of primary file extensions.", +"items": { +"type": "string" +}, +"type": "array" +}, +"primaryMimeTypes": { +"description": "The list of primary mime types.", +"items": { +"type": "string" +}, +"type": "array" +}, +"productId": { +"description": "The ID of the product listing for this app.", +"type": "string" +}, +"productUrl": { +"description": "A link to the product listing for this app.", +"type": "string" +}, +"secondaryFileExtensions": { +"description": "The list of secondary file extensions.", +"items": { +"type": "string" +}, +"type": "array" +}, +"secondaryMimeTypes": { +"description": "The list of secondary mime types.", +"items": { +"type": "string" +}, +"type": "array" +}, +"shortDescription": { +"description": "A short description of the app.", +"type": "string" +}, +"supportsCreate": { +"description": "Whether this app supports creating new objects.", +"type": "boolean" +}, +"supportsImport": { +"description": "Whether this app supports importing from Docs Editors.", +"type": "boolean" +}, +"supportsMultiOpen": { +"description": "Whether this app supports opening more than one file.", +"type": "boolean" +}, +"supportsOfflineCreate": { +"description": "Whether this app supports creating new files when offline.", +"type": "boolean" +}, +"useByDefault": { +"description": "Whether the app is selected as the default handler for the types it supports.", +"type": "boolean" +} +}, +"type": "object" +}, +"AppList": { +"description": "A list of third-party applications which the user has installed or given access to Google Drive.", +"id": "AppList", +"properties": { +"defaultAppIds": { +"description": "List of app IDs that the user has specified to use by default. The list is in reverse-priority order (lowest to highest).", +"items": { +"type": "string" +}, +"type": "array" +}, +"etag": { +"description": "The ETag of the list.", +"type": "string" +}, +"items": { +"description": "The list of apps.", +"items": { +"$ref": "App" +}, +"type": "array" +}, +"kind": { +"default": "drive#appList", +"description": "This is always `drive#appList`.", +"type": "string" +}, +"selfLink": { +"description": "A link back to this list.", +"type": "string" +} +}, +"type": "object" +}, +"Change": { +"description": "Representation of a change to a file or shared drive.", +"id": "Change", +"properties": { +"changeType": { +"description": "The type of the change. Possible values are `file` and `drive`.", +"type": "string" +}, +"deleted": { +"description": "Whether the file or shared drive has been removed from this list of changes, for example by deletion or loss of access.", +"type": "boolean" +}, +"drive": { +"$ref": "Drive", +"description": "The updated state of the shared drive. Present if the changeType is drive, the user is still a member of the shared drive, and the shared drive has not been deleted." +}, +"driveId": { +"description": "The ID of the shared drive associated with this change.", +"type": "string" +}, +"file": { +"$ref": "File", +"description": "The updated state of the file. Present if the type is file and the file has not been removed from this list of changes." +}, +"fileId": { +"description": "The ID of the file associated with this change.", +"type": "string" +}, +"id": { +"description": "The ID of the change.", +"format": "int64", +"type": "string" +}, +"kind": { +"default": "drive#change", +"description": "This is always `drive#change`.", +"type": "string" +}, +"modificationDate": { +"description": "The time of this modification.", +"format": "date-time", +"type": "string" +}, +"selfLink": { +"description": "A link back to this change.", +"type": "string" +}, +"teamDrive": { +"$ref": "TeamDrive", +"deprecated": true, +"description": "Deprecated: Use `drive` instead." +}, +"teamDriveId": { +"deprecated": true, +"description": "Deprecated: Use `driveId` instead.", +"type": "string" +}, +"type": { +"deprecated": true, +"description": "Deprecated: Use `changeType` instead.", +"type": "string" +} +}, +"type": "object" +}, +"ChangeList": { +"description": "A list of changes for a user.", +"id": "ChangeList", +"properties": { +"etag": { +"description": "The ETag of the list.", +"type": "string" +}, +"items": { +"description": "The list of changes. If nextPageToken is populated, then this list may be incomplete and an additional page of results should be fetched.", +"items": { +"$ref": "Change" +}, +"type": "array" +}, +"kind": { +"default": "drive#changeList", +"description": "This is always `drive#changeList`.", +"type": "string" +}, +"largestChangeId": { +"description": "The current largest change ID.", +"format": "int64", +"type": "string" +}, +"newStartPageToken": { +"description": "The starting page token for future changes. This will be present only if the end of the current changes list has been reached.", +"type": "string" +}, +"nextLink": { +"description": "A link to the next page of changes.", +"type": "string" +}, +"nextPageToken": { +"description": "The page token for the next page of changes. This will be absent if the end of the changes list has been reached. If the token is rejected for any reason, it should be discarded, and pagination should be restarted from the first page of results.", +"type": "string" +}, +"selfLink": { +"description": "A link back to this list.", +"type": "string" +} +}, +"type": "object" +}, +"Channel": { +"description": "A notification channel used to watch for resource changes.", +"id": "Channel", +"properties": { +"address": { +"description": "The address where notifications are delivered for this channel.", +"type": "string" +}, +"expiration": { +"description": "Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.", +"format": "int64", +"type": "string" +}, +"id": { +"description": "A UUID or similar unique string that identifies this channel.", +"type": "string" +}, +"kind": { +"default": "api#channel", +"description": "Identifies this as a notification channel used to watch for changes to a resource, which is `api#channel`.", +"type": "string" +}, +"params": { +"additionalProperties": { +"type": "string" +}, +"description": "Additional parameters controlling delivery channel behavior. Optional.", +"type": "object" +}, +"payload": { +"description": "A Boolean value to indicate whether payload is wanted. Optional.", +"type": "boolean" +}, +"resourceId": { +"description": "An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.", +"type": "string" +}, +"resourceUri": { +"description": "A version-specific identifier for the watched resource.", +"type": "string" +}, +"token": { +"description": "An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.", +"type": "string" +}, +"type": { +"description": "The type of delivery mechanism used for this channel. Valid values are \"web_hook\" or \"webhook\".", +"type": "string" +} +}, +"type": "object" +}, +"ChildList": { +"description": "A list of children of a file.", +"id": "ChildList", +"properties": { +"etag": { +"description": "The ETag of the list.", +"type": "string" +}, +"items": { +"description": "The list of children. If nextPageToken is populated, then this list may be incomplete and an additional page of results should be fetched.", +"items": { +"$ref": "ChildReference" +}, +"type": "array" +}, +"kind": { +"default": "drive#childList", +"description": "This is always `drive#childList`.", +"type": "string" +}, +"nextLink": { +"description": "A link to the next page of children.", +"type": "string" +}, +"nextPageToken": { +"description": "The page token for the next page of children. This will be absent if the end of the children list has been reached. If the token is rejected for any reason, it should be discarded, and pagination should be restarted from the first page of results.", +"type": "string" +}, +"selfLink": { +"description": "A link back to this list.", +"type": "string" +} +}, +"type": "object" +}, +"ChildReference": { +"description": "A reference to a folder's child. Some resource methods (such as `children.get`) require a `childId`. Use the `children.list` method to retrieve the ID of the child.", +"id": "ChildReference", +"properties": { +"childLink": { +"description": "Output only. A link to the child.", +"type": "string" +}, +"id": { +"annotations": { +"required": [ +"drive.children.insert" +] +}, +"description": "The ID of the child.", +"type": "string" +}, +"kind": { +"default": "drive#childReference", +"description": "Output only. This is always `drive#childReference`.", +"type": "string" +}, +"selfLink": { +"description": "Output only. A link back to this reference.", +"type": "string" +} +}, +"type": "object" +}, +"Comment": { +"description": "A comment on a file in Google Drive. Some resource methods (such as `comments.update`) require a `commentId`. Use the `comments.list` method to retrieve the ID for a comment in a file.", +"id": "Comment", +"properties": { +"anchor": { +"description": "A region of the document represented as a JSON string. For details on defining anchor properties, refer to [Add comments and replies](https://developers.google.com/drive/api/v2/manage-comments).", +"type": "string" +}, +"author": { +"$ref": "User", +"description": "Output only. The author of the comment. The author's email address and permission ID will not be populated." +}, +"commentId": { +"description": "Output only. The ID of the comment.", +"type": "string" +}, +"content": { +"annotations": { +"required": [ +"drive.comments.insert", +"drive.comments.patch", +"drive.comments.update" +] +}, +"description": "The plain text content used to create this comment. This is not HTML safe and should only be used as a starting point to make edits to a comment's content.", +"type": "string" +}, +"context": { +"description": "The context of the file which is being commented on.", +"properties": { +"type": { +"description": "The MIME type of the context snippet.", +"type": "string" +}, +"value": { +"description": "Data representation of the segment of the file being commented on. In the case of a text file for example, this would be the actual text that the comment is about.", +"type": "string" +} +}, +"type": "object" +}, +"createdDate": { +"description": "The date when this comment was first created.", +"format": "date-time", +"type": "string" +}, +"deleted": { +"description": "Output only. Whether this comment has been deleted. If a comment has been deleted the content will be cleared and this will only represent a comment that once existed.", +"type": "boolean" +}, +"fileId": { +"description": "Output only. The file which this comment is addressing.", +"type": "string" +}, +"fileTitle": { +"description": "Output only. The title of the file which this comment is addressing.", +"type": "string" +}, +"htmlContent": { +"description": "Output only. HTML formatted content for this comment.", +"type": "string" +}, +"kind": { +"default": "drive#comment", +"description": "Output only. This is always `drive#comment`.", +"type": "string" +}, +"modifiedDate": { +"description": "The date when this comment or any of its replies were last modified.", +"format": "date-time", +"type": "string" +}, +"replies": { +"description": "Output only. Replies to this post.", +"items": { +"$ref": "CommentReply" +}, +"type": "array" +}, +"selfLink": { +"description": "Output only. A link back to this comment.", +"type": "string" +}, +"status": { +"description": "Output only. The status of this comment. Status can be changed by posting a reply to a comment with the desired status. * `open` - The comment is still open. * `resolved` - The comment has been resolved by one of its replies.", +"type": "string" +} +}, +"type": "object" +}, +"CommentList": { +"description": "A list of comments on a file in Google Drive.", +"id": "CommentList", +"properties": { +"items": { +"description": "The list of comments. If nextPageToken is populated, then this list may be incomplete and an additional page of results should be fetched.", +"items": { +"$ref": "Comment" +}, +"type": "array" +}, +"kind": { +"default": "drive#commentList", +"description": "This is always `drive#commentList`.", +"type": "string" +}, +"nextLink": { +"description": "A link to the next page of comments.", +"type": "string" +}, +"nextPageToken": { +"description": "The page token for the next page of comments. This will be absent if the end of the comments list has been reached. If the token is rejected for any reason, it should be discarded, and pagination should be restarted from the first page of results.", +"type": "string" +}, +"selfLink": { +"description": "A link back to this list.", +"type": "string" +} +}, +"type": "object" +}, +"CommentReply": { +"description": "A comment on a file in Google Drive. Some resource methods (such as `replies.update`) require a `replyId`. Use the `replies.list` method to retrieve the ID for a reply.", +"id": "CommentReply", +"properties": { +"author": { +"$ref": "User", +"description": "Output only. The author of the reply. The author's email address and permission ID will not be populated." +}, +"content": { +"annotations": { +"required": [ +"drive.replies.patch", +"drive.replies.update" +] +}, +"description": "The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).", +"type": "string" +}, +"createdDate": { +"description": "The date when this reply was first created.", +"format": "date-time", +"type": "string" +}, +"deleted": { +"description": "Output only. Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.", +"type": "boolean" +}, +"htmlContent": { +"description": "Output only. HTML formatted content for this reply.", +"type": "string" +}, +"kind": { +"default": "drive#commentReply", +"description": "Output only. This is always `drive#commentReply`.", +"type": "string" +}, +"modifiedDate": { +"description": "The date when this reply was last modified.", +"format": "date-time", +"type": "string" +}, +"replyId": { +"description": "Output only. The ID of the reply.", +"type": "string" +}, +"verb": { +"description": "The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are: * `resolve` - To resolve a comment. * `reopen` - To reopen (un-resolve) a comment.", +"type": "string" +} +}, +"type": "object" +}, +"CommentReplyList": { +"description": "A list of replies to a comment on a file in Google Drive.", +"id": "CommentReplyList", +"properties": { +"items": { +"description": "The list of replies. If nextPageToken is populated, then this list may be incomplete and an additional page of results should be fetched.", +"items": { +"$ref": "CommentReply" +}, +"type": "array" +}, +"kind": { +"default": "drive#commentReplyList", +"description": "This is always `drive#commentReplyList`.", +"type": "string" +}, +"nextLink": { +"description": "A link to the next page of replies.", +"type": "string" +}, +"nextPageToken": { +"description": "The page token for the next page of replies. This will be absent if the end of the replies list has been reached. If the token is rejected for any reason, it should be discarded, and pagination should be restarted from the first page of results.", +"type": "string" +}, +"selfLink": { +"description": "A link back to this list.", +"type": "string" +} +}, +"type": "object" +}, +"ContentRestriction": { +"description": "A restriction for accessing the content of the file.", +"id": "ContentRestriction", +"properties": { +"ownerRestricted": { +"description": "Whether the content restriction can only be modified or removed by a user who owns the file. For files in shared drives, any user with `organizer` capabilities can modify or remove this content restriction.", +"type": "boolean" +}, +"readOnly": { +"description": "Whether the content of the file is read-only. If a file is read-only, a new revision of the file may not be added, comments may not be added or modified, and the title of the file may not be modified.", +"type": "boolean" +}, +"reason": { +"description": "Reason for why the content of the file is restricted. This is only mutable on requests that also set `readOnly=true`.", +"type": "string" +}, +"restrictingUser": { +"$ref": "User", +"description": "Output only. The user who set the content restriction. Only populated if `readOnly` is true." +}, +"restrictionDate": { +"description": "The time at which the content restriction was set (formatted RFC 3339 timestamp). Only populated if readOnly is true.", +"format": "date-time", +"type": "string" +}, +"systemRestricted": { +"description": "Output only. Whether the content restriction was applied by the system, for example due to an esignature. Users cannot modify or remove system restricted content restrictions.", +"type": "boolean" +}, +"type": { +"description": "Output only. The type of the content restriction. Currently the only possible value is `globalContentRestriction`.", +"type": "string" +} +}, +"type": "object" +}, +"Drive": { +"description": "Representation of a shared drive. Some resource methods (such as `drives.update`) require a `driveId`. Use the `drives.list` method to retrieve the ID for a shared drive.", +"id": "Drive", +"properties": { +"backgroundImageFile": { +"description": "An image file and cropping parameters from which a background image for this shared drive is set. This is a write only field; it can only be set on `drive.drives.update` requests that don't set `themeId`. When specified, all fields of the `backgroundImageFile` must be set.", +"properties": { +"id": { +"description": "The ID of an image file in Google Drive to use for the background image.", +"type": "string" +}, +"width": { +"description": "The width of the cropped image in the closed range of 0 to 1. This value represents the width of the cropped image divided by the width of the entire image. The height is computed by applying a width to height aspect ratio of 80 to 9. The resulting image must be at least 1280 pixels wide and 144 pixels high.", +"format": "float", +"type": "number" +}, +"xCoordinate": { +"description": "The X coordinate of the upper left corner of the cropping area in the background image. This is a value in the closed range of 0 to 1. This value represents the horizontal distance from the left side of the entire image to the left side of the cropping area divided by the width of the entire image.", +"format": "float", +"type": "number" +}, +"yCoordinate": { +"description": "The Y coordinate of the upper left corner of the cropping area in the background image. This is a value in the closed range of 0 to 1. This value represents the vertical distance from the top side of the entire image to the top side of the cropping area divided by the height of the entire image.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"backgroundImageLink": { +"description": "Output only. A short-lived link to this shared drive's background image.", +"type": "string" +}, +"capabilities": { +"description": "Output only. Capabilities the current user has on this shared drive.", +"properties": { +"canAddChildren": { +"description": "Output only. Whether the current user can add children to folders in this shared drive.", +"type": "boolean" +}, +"canChangeCopyRequiresWriterPermissionRestriction": { +"description": "Output only. Whether the current user can change the `copyRequiresWriterPermission` restriction of this shared drive.", +"type": "boolean" +}, +"canChangeDomainUsersOnlyRestriction": { +"description": "Output only. Whether the current user can change the `domainUsersOnly` restriction of this shared drive.", +"type": "boolean" +}, +"canChangeDriveBackground": { +"description": "Output only. Whether the current user can change the background of this shared drive.", +"type": "boolean" +}, +"canChangeDriveMembersOnlyRestriction": { +"description": "Output only. Whether the current user can change the `driveMembersOnly` restriction of this shared drive.", +"type": "boolean" +}, +"canChangeSharingFoldersRequiresOrganizerPermissionRestriction": { +"description": "Output only. Whether the current user can change the `sharingFoldersRequiresOrganizerPermission` restriction of this shared drive.", +"type": "boolean" +}, +"canComment": { +"description": "Output only. Whether the current user can comment on files in this shared drive.", +"type": "boolean" +}, +"canCopy": { +"description": "Output only. Whether the current user can copy files in this shared drive.", +"type": "boolean" +}, +"canDeleteChildren": { +"description": "Output only. Whether the current user can delete children from folders in this shared drive.", +"type": "boolean" +}, +"canDeleteDrive": { +"description": "Output only. Whether the current user can delete this shared drive. Attempting to delete the shared drive may still fail if there are untrashed items inside the shared drive.", +"type": "boolean" +}, +"canDownload": { +"description": "Output only. Whether the current user can download files in this shared drive.", +"type": "boolean" +}, +"canEdit": { +"description": "Output only. Whether the current user can edit files in this shared drive", +"type": "boolean" +}, +"canListChildren": { +"description": "Output only. Whether the current user can list the children of folders in this shared drive.", +"type": "boolean" +}, +"canManageMembers": { +"description": "Output only. Whether the current user can add members to this shared drive or remove them or change their role.", +"type": "boolean" +}, +"canReadRevisions": { +"description": "Output only. Whether the current user can read the revisions resource of files in this shared drive.", +"type": "boolean" +}, +"canRename": { +"description": "Output only. Whether the current user can rename files or folders in this shared drive.", +"type": "boolean" +}, +"canRenameDrive": { +"description": "Output only. Whether the current user can rename this shared drive.", +"type": "boolean" +}, +"canResetDriveRestrictions": { +"description": "Output only. Whether the current user can reset the shared drive restrictions to defaults.", +"type": "boolean" +}, +"canShare": { +"description": "Output only. Whether the current user can share files or folders in this shared drive.", +"type": "boolean" +}, +"canTrashChildren": { +"description": "Output only. Whether the current user can trash children from folders in this shared drive.", +"type": "boolean" +} +}, +"type": "object" +}, +"colorRgb": { +"description": "The color of this shared drive as an RGB hex string. It can only be set on a `drive.drives.update` request that does not set `themeId`.", +"type": "string" +}, +"createdDate": { +"description": "The time at which the shared drive was created (RFC 3339 date-time).", +"format": "date-time", +"type": "string" +}, +"hidden": { +"description": "Whether the shared drive is hidden from default view.", +"type": "boolean" +}, +"id": { +"description": "Output only. The ID of this shared drive which is also the ID of the top level folder of this shared drive.", +"type": "string" +}, +"kind": { +"default": "drive#drive", +"description": "Output only. This is always `drive#drive`", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"drive.drives.insert" +] +}, +"description": "The name of this shared drive.", +"type": "string" +}, +"orgUnitId": { +"description": "Output only. The organizational unit of this shared drive. This field is only populated on `drives.list` responses when the `useDomainAdminAccess` parameter is set to `true`.", +"type": "string" +}, +"restrictions": { +"description": "A set of restrictions that apply to this shared drive or items inside this shared drive.", +"properties": { +"adminManagedRestrictions": { +"description": "Whether administrative privileges on this shared drive are required to modify restrictions.", +"type": "boolean" +}, +"copyRequiresWriterPermission": { +"description": "Whether the options to copy, print, or download files inside this shared drive, should be disabled for readers and commenters. When this restriction is set to `true`, it will override the similarly named field to `true` for any file inside this shared drive.", +"type": "boolean" +}, +"domainUsersOnly": { +"description": "Whether access to this shared drive and items inside this shared drive is restricted to users of the domain to which this shared drive belongs. This restriction may be overridden by other sharing policies controlled outside of this shared drive.", +"type": "boolean" +}, +"driveMembersOnly": { +"description": "Whether access to items inside this shared drive is restricted to its members.", +"type": "boolean" +}, +"sharingFoldersRequiresOrganizerPermission": { +"description": "If true, only users with the organizer role can share folders. If false, users with either the organizer role or the file organizer role can share folders.", +"type": "boolean" +} +}, +"type": "object" +}, +"themeId": { +"description": "The ID of the theme from which the background image and color will be set. The set of possible `driveThemes` can be retrieved from a `drive.about.get` response. When not specified on a `drive.drives.insert` request, a random theme is chosen from which the background image and color are set. This is a write-only field; it can only be set on requests that don't set `colorRgb` or `backgroundImageFile`.", +"type": "string" +} +}, +"type": "object" +}, +"DriveList": { +"description": "A list of shared drives.", +"id": "DriveList", +"properties": { +"items": { +"description": "The list of shared drives. If nextPageToken is populated, then this list may be incomplete and an additional page of results should be fetched.", +"items": { +"$ref": "Drive" +}, +"type": "array" +}, +"kind": { +"default": "drive#driveList", +"description": "This is always `drive#driveList`", +"type": "string" +}, +"nextPageToken": { +"description": "The page token for the next page of shared drives. This will be absent if the end of the list has been reached. If the token is rejected for any reason, it should be discarded, and pagination should be restarted from the first page of results.", +"type": "string" +} +}, +"type": "object" +}, +"File": { +"description": "The metadata for a file. Some resource methods (such as `files.update`) require a `fileId`. Use the `files.list` method to retrieve the ID for a file.", +"id": "File", +"properties": { +"alternateLink": { +"description": "Output only. A link for opening the file in a relevant Google editor or viewer.", +"type": "string" +}, +"appDataContents": { +"description": "Output only. Whether this file is in the Application Data folder.", +"type": "boolean" +}, +"canComment": { +"deprecated": true, +"description": "Output only. Deprecated: Use `capabilities/canComment` instead.", +"type": "boolean" +}, +"canReadRevisions": { +"deprecated": true, +"description": "Output only. Deprecated: Use `capabilities/canReadRevisions` instead.", +"type": "boolean" +}, +"capabilities": { +"description": "Output only. Capabilities the current user has on this file. Each capability corresponds to a fine-grained action that a user may take.", +"properties": { +"canAcceptOwnership": { +"description": "Output only. Whether the current user is the pending owner of the file. Not populated for shared drive files.", +"type": "boolean" +}, +"canAddChildren": { +"description": "Output only. Whether the current user can add children to this folder. This is always false when the item is not a folder.", +"type": "boolean" +}, +"canAddFolderFromAnotherDrive": { +"description": "Output only. Whether the current user can add a folder from another drive (different shared drive or My Drive) to this folder. This is false when the item is not a folder. Only populated for items in shared drives.", +"type": "boolean" +}, +"canAddMyDriveParent": { +"description": "Output only. Whether the current user can add a parent for the item without removing an existing parent in the same request. Not populated for shared drive files.", +"type": "boolean" +}, +"canChangeCopyRequiresWriterPermission": { +"description": "Output only. Whether the current user can change the `copyRequiresWriterPermission` restriction of this file.", +"type": "boolean" +}, +"canChangeRestrictedDownload": { +"deprecated": true, +"description": "Output only. Deprecated.", +"type": "boolean" +}, +"canChangeSecurityUpdateEnabled": { +"description": "Output only. Whether the current user can change the securityUpdateEnabled field on link share metadata.", +"type": "boolean" +}, +"canComment": { +"description": "Output only. Whether the current user can comment on this file.", +"type": "boolean" +}, +"canCopy": { +"description": "Output only. Whether the current user can copy this file. For an item in a shared drive, whether the current user can copy non-folder descendants of this item, or this item itself if it is not a folder.", +"type": "boolean" +}, +"canDelete": { +"description": "Output only. Whether the current user can delete this file.", +"type": "boolean" +}, +"canDeleteChildren": { +"description": "Output only. Whether the current user can delete children of this folder. This is false when the item is not a folder. Only populated for items in shared drives.", +"type": "boolean" +}, +"canDownload": { +"description": "Output only. Whether the current user can download this file.", +"type": "boolean" +}, +"canEdit": { +"description": "Output only. Whether the current user can edit this file. Other factors may limit the type of changes a user can make to a file. For example, see `canChangeCopyRequiresWriterPermission` or `canModifyContent`.", +"type": "boolean" +}, +"canListChildren": { +"description": "Output only. Whether the current user can list the children of this folder. This is always false when the item is not a folder.", +"type": "boolean" +}, +"canModifyContent": { +"description": "Output only. Whether the current user can modify the content of this file.", +"type": "boolean" +}, +"canModifyContentRestriction": { +"deprecated": true, +"description": "Deprecated: Output only. Use one of `canModifyEditorContentRestriction`, `canModifyOwnerContentRestriction` or `canRemoveContentRestriction`.", +"type": "boolean" +}, +"canModifyEditorContentRestriction": { +"description": "Output only. Whether the current user can add or modify content restrictions on the file which are editor restricted.", +"type": "boolean" +}, +"canModifyLabels": { +"description": "Output only. Whether the current user can modify the labels on the file.", +"type": "boolean" +}, +"canModifyOwnerContentRestriction": { +"description": "Output only. Whether the current user can add or modify content restrictions which are owner restricted.", +"type": "boolean" +}, +"canMoveChildrenOutOfDrive": { +"description": "Output only. Whether the current user can move children of this folder outside of the shared drive. This is false when the item is not a folder. Only populated for items in shared drives.", +"type": "boolean" +}, +"canMoveChildrenOutOfTeamDrive": { +"deprecated": true, +"description": "Output only. Deprecated: Use `canMoveChildrenOutOfDrive` instead.", +"type": "boolean" +}, +"canMoveChildrenWithinDrive": { +"description": "Output only. Whether the current user can move children of this folder within this drive. This is false when the item is not a folder. Note that a request to move the child may still fail depending on the current user's access to the child and to the destination folder.", +"type": "boolean" +}, +"canMoveChildrenWithinTeamDrive": { +"deprecated": true, +"description": "Output only. Deprecated: Use `canMoveChildrenWithinDrive` instead.", +"type": "boolean" +}, +"canMoveItemIntoTeamDrive": { +"deprecated": true, +"description": "Output only. Deprecated: Use `canMoveItemOutOfDrive` instead.", +"type": "boolean" +}, +"canMoveItemOutOfDrive": { +"description": "Output only. Whether the current user can move this item outside of this drive by changing its parent. Note that a request to change the parent of the item may still fail depending on the new parent that is being added.", +"type": "boolean" +}, +"canMoveItemOutOfTeamDrive": { +"deprecated": true, +"description": "Output only. Deprecated: Use `canMoveItemOutOfDrive` instead.", +"type": "boolean" +}, +"canMoveItemWithinDrive": { +"description": "Output only. Whether the current user can move this item within this drive. Note that a request to change the parent of the item may still fail depending on the new parent that is being added and the parent that is being removed.", +"type": "boolean" +}, +"canMoveItemWithinTeamDrive": { +"deprecated": true, +"description": "Output only. Deprecated: Use `canMoveItemWithinDrive` instead.", +"type": "boolean" +}, +"canMoveTeamDriveItem": { +"deprecated": true, +"description": "Output only. Deprecated: Use `canMoveItemWithinDrive` or `canMoveItemOutOfDrive` instead.", +"type": "boolean" +}, +"canReadDrive": { +"description": "Output only. Whether the current user can read the shared drive to which this file belongs. Only populated for items in shared drives.", +"type": "boolean" +}, +"canReadLabels": { +"description": "Output only. Whether the current user can read the labels on the file.", +"type": "boolean" +}, +"canReadRevisions": { +"description": "Output only. Whether the current user can read the revisions resource of this file. For a shared drive item, whether revisions of non-folder descendants of this item, or this item itself if it is not a folder, can be read.", +"type": "boolean" +}, +"canReadTeamDrive": { +"deprecated": true, +"description": "Output only. Deprecated: Use `canReadDrive` instead.", +"type": "boolean" +}, +"canRemoveChildren": { +"description": "Output only. Whether the current user can remove children from this folder. This is always false when the item is not a folder. For a folder in a shared drive, use `canDeleteChildren` or `canTrashChildren` instead.", +"type": "boolean" +}, +"canRemoveContentRestriction": { +"description": "Output only. Whether there is a content restriction on the file that can be removed by the current user.", +"type": "boolean" +}, +"canRemoveMyDriveParent": { +"description": "Output only. Whether the current user can remove a parent from the item without adding another parent in the same request. Not populated for shared drive files.", +"type": "boolean" +}, +"canRename": { +"description": "Output only. Whether the current user can rename this file.", +"type": "boolean" +}, +"canShare": { +"description": "Output only. Whether the current user can modify the sharing settings for this file.", +"type": "boolean" +}, +"canTrash": { +"description": "Output only. Whether the current user can move this file to trash.", +"type": "boolean" +}, +"canTrashChildren": { +"description": "Output only. Whether the current user can trash children of this folder. This is false when the item is not a folder. Only populated for items in shared drives.", +"type": "boolean" +}, +"canUntrash": { +"description": "Output only. Whether the current user can restore this file from trash.", +"type": "boolean" +} +}, +"type": "object" +}, +"contentRestrictions": { +"description": "Restrictions for accessing the content of the file. Only populated if such a restriction exists.", +"items": { +"$ref": "ContentRestriction" +}, +"type": "array" +}, +"copyRequiresWriterPermission": { +"description": "Whether the options to copy, print, or download this file, should be disabled for readers and commenters.", +"type": "boolean" +}, +"copyable": { +"deprecated": true, +"description": "Output only. Deprecated: Use `capabilities/canCopy` instead.", +"type": "boolean" +}, +"createdDate": { +"description": "Create time for this file (formatted RFC 3339 timestamp).", +"format": "date-time", +"type": "string" +}, +"defaultOpenWithLink": { +"description": "Output only. A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used.", +"type": "string" +}, +"description": { +"description": "A short description of the file.", +"type": "string" +}, +"downloadUrl": { +"description": "Output only. Short lived download URL for the file. This field is only populated for files with content stored in Google Drive; it is not populated for Google Docs or shortcut files.", +"type": "string" +}, +"driveId": { +"description": "Output only. ID of the shared drive the file resides in. Only populated for items in shared drives.", +"type": "string" +}, +"editable": { +"deprecated": true, +"description": "Output only. Deprecated: Use `capabilities/canEdit` instead.", +"type": "boolean" +}, +"embedLink": { +"description": "Output only. A link for embedding the file.", +"type": "string" +}, +"etag": { +"description": "Output only. ETag of the file.", +"type": "string" +}, +"explicitlyTrashed": { +"description": "Output only. Whether this file has been explicitly trashed, as opposed to recursively trashed.", +"type": "boolean" +}, +"exportLinks": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. Links for exporting Docs Editors files to specific formats.", +"readOnly": true, +"type": "object" +}, +"fileExtension": { +"description": "Output only. The final component of `fullFileExtension` with trailing text that does not appear to be part of the extension removed. This field is only populated for files with content stored in Google Drive; it is not populated for Docs Editors or shortcut files.", +"type": "string" +}, +"fileSize": { +"description": "Output only. Size in bytes of blobs and first party editor files. Won't be populated for files that have no size, like shortcuts and folders.", +"format": "int64", +"type": "string" +}, +"folderColorRgb": { +"description": "Folder color as an RGB hex string if the file is a folder or a shortcut to a folder. The list of supported colors is available in the folderColorPalette field of the About resource. If an unsupported color is specified, it will be changed to the closest color in the palette.", +"type": "string" +}, +"fullFileExtension": { +"description": "Output only. The full file extension; extracted from the title. May contain multiple concatenated extensions, such as \"tar.gz\". Removing an extension from the title does not clear this field; however, changing the extension on the title does update this field. This field is only populated for files with content stored in Google Drive; it is not populated for Docs Editors or shortcut files.", +"type": "string" +}, +"hasAugmentedPermissions": { +"description": "Output only. Whether there are permissions directly on this file. This field is only populated for items in shared drives.", +"type": "boolean" +}, +"hasThumbnail": { +"description": "Output only. Whether this file has a thumbnail. This does not indicate whether the requesting app has access to the thumbnail. To check access, look for the presence of the thumbnailLink field.", +"type": "boolean" +}, +"headRevisionId": { +"description": "Output only. The ID of the file's head revision. This field is only populated for files with content stored in Google Drive; it is not populated for Docs Editors or shortcut files.", +"type": "string" +}, +"iconLink": { +"description": "Output only. A link to the file's icon.", +"type": "string" +}, +"id": { +"description": "The ID of the file.", +"type": "string" +}, +"imageMediaMetadata": { +"description": "Output only. Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content.", +"properties": { +"aperture": { +"description": "Output only. The aperture used to create the photo (f-number).", +"format": "float", +"type": "number" +}, +"cameraMake": { +"description": "Output only. The make of the camera used to create the photo.", +"type": "string" +}, +"cameraModel": { +"description": "Output only. The model of the camera used to create the photo.", +"type": "string" +}, +"colorSpace": { +"description": "Output only. The color space of the photo.", +"type": "string" +}, +"date": { +"description": "Output only. The date and time the photo was taken (EXIF format timestamp).", +"type": "string" +}, +"exposureBias": { +"description": "Output only. The exposure bias of the photo (APEX value).", +"format": "float", +"type": "number" +}, +"exposureMode": { +"description": "Output only. The exposure mode used to create the photo.", +"type": "string" +}, +"exposureTime": { +"description": "Output only. The length of the exposure, in seconds.", +"format": "float", +"type": "number" +}, +"flashUsed": { +"description": "Output only. Whether a flash was used to create the photo.", +"type": "boolean" +}, +"focalLength": { +"description": "Output only. The focal length used to create the photo, in millimeters.", +"format": "float", +"type": "number" +}, +"height": { +"description": "Output only. The height of the image in pixels.", +"format": "int32", +"type": "integer" +}, +"isoSpeed": { +"description": "Output only. The ISO speed used to create the photo.", +"format": "int32", +"type": "integer" +}, +"lens": { +"description": "Output only. The lens used to create the photo.", +"type": "string" +}, +"location": { +"description": "Output only. Geographic location information stored in the image.", +"properties": { +"altitude": { +"description": "Output only. The altitude stored in the image.", +"format": "double", +"type": "number" +}, +"latitude": { +"description": "Output only. The latitude stored in the image.", +"format": "double", +"type": "number" +}, +"longitude": { +"description": "Output only. The longitude stored in the image.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"maxApertureValue": { +"description": "Output only. The smallest f-number of the lens at the focal length used to create the photo (APEX value).", +"format": "float", +"type": "number" +}, +"meteringMode": { +"description": "Output only. The metering mode used to create the photo.", +"type": "string" +}, +"rotation": { +"description": "Output only. The number of clockwise 90 degree rotations applied from the image's original orientation.", +"format": "int32", +"type": "integer" +}, +"sensor": { +"description": "Output only. The type of sensor used to create the photo.", +"type": "string" +}, +"subjectDistance": { +"description": "Output only. The distance to the subject of the photo, in meters.", +"format": "int32", +"type": "integer" +}, +"whiteBalance": { +"description": "Output only. The white balance mode used to create the photo.", +"type": "string" +}, +"width": { +"description": "Output only. The width of the image in pixels.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"indexableText": { +"description": "Indexable text attributes for the file (can only be written)", +"properties": { +"text": { +"description": "The text to be indexed for this file.", +"type": "string" +} +}, +"type": "object" +}, +"isAppAuthorized": { +"description": "Output only. Whether the file was created or opened by the requesting app.", +"type": "boolean" +}, +"kind": { +"default": "drive#file", +"description": "Output only. The type of file. This is always `drive#file`.", +"type": "string" +}, +"labelInfo": { +"description": "Output only. An overview of the labels on the file.", +"properties": { +"labels": { +"description": "Output only. The set of labels on the file as requested by the label IDs in the `includeLabels` parameter. By default, no labels are returned.", +"items": { +"$ref": "Label" +}, +"type": "array" +} +}, +"type": "object" +}, +"labels": { +"description": "A group of labels for the file.", +"properties": { +"hidden": { +"deprecated": true, +"description": "Output only. Deprecated.", +"type": "boolean" +}, +"modified": { +"description": "Output only. Whether the file has been modified by this user.", +"type": "boolean" +}, +"restricted": { +"deprecated": true, +"description": "Output only. Deprecated: Use `copyRequiresWriterPermission` instead.", +"type": "boolean" +}, +"starred": { +"description": "Whether this file is starred by the user.", +"type": "boolean" +}, +"trashed": { +"description": "Whether this file has been trashed. This label applies to all users accessing the file; however, only owners are allowed to see and untrash files.", +"type": "boolean" +}, +"viewed": { +"description": "Whether this file has been viewed by this user.", +"type": "boolean" +} +}, +"type": "object" +}, +"lastModifyingUser": { +"$ref": "User", +"description": "Output only. The last user to modify this file. This field is only populated when the last modification was performed by a signed-in user." +}, +"lastModifyingUserName": { +"description": "Output only. Name of the last user to modify this file.", +"type": "string" +}, +"lastViewedByMeDate": { +"description": "Last time this file was viewed by the user (formatted RFC 3339 timestamp).", +"format": "date-time", +"type": "string" +}, +"linkShareMetadata": { +"description": "Contains details about the link URLs that clients are using to refer to this item.", +"properties": { +"securityUpdateEligible": { +"description": "Output only. Whether the file is eligible for security update.", +"type": "boolean" +}, +"securityUpdateEnabled": { +"description": "Output only. Whether the security update is enabled for this file.", +"type": "boolean" +} +}, +"type": "object" +}, +"markedViewedByMeDate": { +"description": "Deprecated.", +"format": "date-time", +"type": "string" +}, +"md5Checksum": { +"description": "Output only. An MD5 checksum for the content of this file. This field is only populated for files with content stored in Google Drive; it is not populated for Docs Editors or shortcut files.", +"type": "string" +}, +"mimeType": { +"description": "The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type.", +"type": "string" +}, +"modifiedByMeDate": { +"description": "Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date.", +"format": "date-time", +"type": "string" +}, +"modifiedDate": { +"description": "Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set.", +"format": "date-time", +"type": "string" +}, +"openWithLinks": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used.", +"type": "object" +}, +"originalFilename": { +"description": "The original filename of the uploaded content if available, or else the original value of the `title` field. This is only available for files with binary content in Google Drive.", +"type": "string" +}, +"ownedByMe": { +"description": "Output only. Whether the file is owned by the current user. Not populated for items in shared drives.", +"type": "boolean" +}, +"ownerNames": { +"description": "Output only. Name(s) of the owner(s) of this file. Not populated for items in shared drives.", +"items": { +"type": "string" +}, +"type": "array" +}, +"owners": { +"description": "Output only. The owner of this file. Only certain legacy files may have more than one owner. This field isn't populated for items in shared drives.", +"items": { +"$ref": "User" +}, +"type": "array" +}, +"parents": { +"description": "The ID of the parent folder containing the file. A file can only have one parent folder; specifying multiple parents isn't supported. If not specified as part of an insert request, the file is placed directly in the user's My Drive folder. If not specified as part of a copy request, the file inherits any discoverable parent of the source file. Update requests must use the `addParents` and `removeParents` parameters to modify the parents list.", +"items": { +"$ref": "ParentReference" +}, +"type": "array" +}, +"permissionIds": { +"description": "Output only. List of permission IDs for users with access to this file.", +"items": { +"type": "string" +}, +"type": "array" +}, +"permissions": { +"description": "Output only. The list of permissions for users with access to this file. Not populated for items in shared drives.", +"items": { +"$ref": "Permission" +}, +"type": "array" +}, +"properties": { +"description": "The list of properties.", +"items": { +"$ref": "Property" +}, +"type": "array" +}, +"quotaBytesUsed": { +"description": "Output only. The number of quota bytes used by this file.", +"format": "int64", +"type": "string" +}, +"resourceKey": { +"description": "Output only. A key needed to access the item via a shared link.", +"type": "string" +}, +"selfLink": { +"description": "Output only. A link back to this file.", +"type": "string" +}, +"sha1Checksum": { +"description": "Output only. The SHA1 checksum associated with this file, if available. This field is only populated for files with content stored in Google Drive; it is not populated for Docs Editors or shortcut files.", +"type": "string" +}, +"sha256Checksum": { +"description": "Output only. The SHA256 checksum associated with this file, if available. This field is only populated for files with content stored in Google Drive; it is not populated for Docs Editors or shortcut files.", +"type": "string" +}, +"shareable": { +"deprecated": true, +"description": "Output only. Deprecated: Use `capabilities/canShare` instead.", +"type": "boolean" +}, +"shared": { +"description": "Output only. Whether the file has been shared. Not populated for items in shared drives.", +"type": "boolean" +}, +"sharedWithMeDate": { +"description": "Time at which this file was shared with the user (formatted RFC 3339 timestamp).", +"format": "date-time", +"type": "string" +}, +"sharingUser": { +"$ref": "User", +"description": "Output only. User that shared the item with the current user, if available." +}, +"shortcutDetails": { +"description": "Shortcut file details. Only populated for shortcut files, which have the mimeType field set to `application/vnd.google-apps.shortcut`. Can only be set on `files.insert` requests.", +"properties": { +"targetId": { +"description": "The ID of the file that this shortcut points to. Can only be set on `files.insert` requests.", +"type": "string" +}, +"targetMimeType": { +"description": "Output only. The MIME type of the file that this shortcut points to. The value of this field is a snapshot of the target's MIME type, captured when the shortcut is created.", +"type": "string" +}, +"targetResourceKey": { +"description": "Output only. The ResourceKey for the target file.", +"type": "string" +} +}, +"type": "object" +}, +"spaces": { +"description": "Output only. The list of spaces which contain the file. Supported values are `drive`, `appDataFolder` and `photos`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"teamDriveId": { +"deprecated": true, +"description": "Output only. Deprecated: Use `driveId` instead.", +"type": "string" +}, +"thumbnail": { +"description": "A thumbnail for the file. This will only be used if a standard thumbnail cannot be generated.", +"properties": { +"image": { +"description": "The URL-safe Base64 encoded bytes of the thumbnail image. It should conform to RFC 4648 section 5.", +"format": "byte", +"type": "string" +}, +"mimeType": { +"description": "The MIME type of the thumbnail.", +"type": "string" +} +}, +"type": "object" +}, +"thumbnailLink": { +"description": "Output only. A short-lived link to the file's thumbnail, if available. Typically lasts on the order of hours. Not intended for direct usage on web applications due to [Cross-Origin Resource Sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS), consider using a proxy server. Only populated when the requesting app can access the file's content. If the file isn't shared publicly, the URL returned in `Files.thumbnailLink` must be fetched using a credentialed request.", +"type": "string" +}, +"thumbnailVersion": { +"description": "Output only. The thumbnail version for use in thumbnail cache invalidation.", +"format": "int64", +"type": "string" +}, +"title": { +"description": "The title of this file. Note that for immutable items such as the top level folders of shared drives, My Drive root folder, and Application Data folder the title is constant.", +"type": "string" +}, +"trashedDate": { +"description": "The time that the item was trashed (formatted RFC 3339 timestamp). Only populated for items in shared drives.", +"format": "date-time", +"type": "string" +}, +"trashingUser": { +"$ref": "User", +"description": "Output only. If the file has been explicitly trashed, the user who trashed it. Only populated for items in shared drives." +}, +"userPermission": { +"$ref": "Permission", +"description": "Output only. The permissions for the authenticated user on this file." +}, +"version": { +"description": "Output only. A monotonically increasing version number for the file. This reflects every change made to the file on the server, even those not visible to the requesting user.", +"format": "int64", +"type": "string" +}, +"videoMediaMetadata": { +"description": "Output only. Metadata about video media. This will only be present for video types.", +"properties": { +"durationMillis": { +"description": "Output only. The duration of the video in milliseconds.", +"format": "int64", +"type": "string" +}, +"height": { +"description": "Output only. The height of the video in pixels.", +"format": "int32", +"type": "integer" +}, +"width": { +"description": "Output only. The width of the video in pixels.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"webContentLink": { +"description": "Output only. A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.", +"type": "string" +}, +"webViewLink": { +"description": "Output only. A link only available on public folders for viewing their static web assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting.", +"type": "string" +}, +"writersCanShare": { +"description": "Whether writers can share the document with other users. Not populated for items in shared drives.", +"type": "boolean" +} +}, +"type": "object" +}, +"FileList": { +"description": "A list of files.", +"id": "FileList", +"properties": { +"etag": { +"description": "The ETag of the list.", +"type": "string" +}, +"incompleteSearch": { +"description": "Whether the search process was incomplete. If true, then some search results may be missing, since all documents were not searched. This may occur when searching multiple drives with the \"allDrives\" corpora, but all corpora could not be searched. When this happens, it is suggested that clients narrow their query by choosing a different corpus such as \"default\" or \"drive\".", +"type": "boolean" +}, +"items": { +"description": "The list of files. If nextPageToken is populated, then this list may be incomplete and an additional page of results should be fetched.", +"items": { +"$ref": "File" +}, +"type": "array" +}, +"kind": { +"default": "drive#fileList", +"description": "This is always `drive#fileList`.", +"type": "string" +}, +"nextLink": { +"description": "A link to the next page of files.", +"type": "string" +}, +"nextPageToken": { +"description": "The page token for the next page of files. This will be absent if the end of the files list has been reached. If the token is rejected for any reason, it should be discarded, and pagination should be restarted from the first page of results.", +"type": "string" +}, +"selfLink": { +"description": "A link back to this list.", +"type": "string" +} +}, +"type": "object" +}, +"GeneratedIds": { +"description": "A list of generated IDs which can be provided in insert requests", +"id": "GeneratedIds", +"properties": { +"ids": { +"description": "The IDs generated for the requesting user in the specified space.", +"items": { +"type": "string" +}, +"type": "array" +}, +"kind": { +"default": "drive#generatedIds", +"description": "This is always `drive#generatedIds`", +"type": "string" +}, +"space": { +"description": "The type of file that can be created with these IDs.", +"type": "string" +} +}, +"type": "object" +}, +"Label": { +"description": "Representation of a label and label fields.", +"id": "Label", +"properties": { +"fields": { +"additionalProperties": { +"$ref": "LabelField" +}, +"description": "A map of the fields on the label, keyed by the field's ID.", +"type": "object" +}, +"id": { +"description": "The ID of the label.", +"type": "string" +}, +"kind": { +"default": "drive#label", +"description": "This is always `drive#label`", +"type": "string" +}, +"revisionId": { +"description": "The revision ID of the label.", +"type": "string" +} +}, +"type": "object" +}, +"LabelField": { +"description": "Representation of field, which is a typed key-value pair.", +"id": "LabelField", +"properties": { +"dateString": { +"description": "Only present if valueType is dateString. RFC 3339 formatted date: YYYY-MM-DD.", +"items": { +"format": "date", +"type": "string" +}, +"type": "array" +}, +"id": { +"description": "The identifier of this label field.", +"type": "string" +}, +"integer": { +"description": "Only present if `valueType` is `integer`.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"kind": { +"default": "drive#labelField", +"description": "This is always `drive#labelField`.", +"type": "string" +}, +"selection": { +"description": "Only present if `valueType` is `selection`", +"items": { +"type": "string" +}, +"type": "array" +}, +"text": { +"description": "Only present if `valueType` is `text`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"user": { +"description": "Only present if `valueType` is `user`.", +"items": { +"$ref": "User" +}, +"type": "array" +}, +"valueType": { +"description": "The field type. While new values may be supported in the future, the following are currently allowed: * `dateString` * `integer` * `selection` * `text` * `user`", +"type": "string" +} +}, +"type": "object" +}, +"LabelFieldModification": { +"description": "A modification to a label's field.", +"id": "LabelFieldModification", +"properties": { +"fieldId": { +"description": "The ID of the field to be modified.", +"type": "string" +}, +"kind": { +"default": "drive#labelFieldModification", +"description": "This is always `drive#labelFieldModification`.", +"type": "string" +}, +"setDateValues": { +"description": "Replaces the value of a dateString Field with these new values. The string must be in the RFC 3339 full-date format: YYYY-MM-DD.", +"items": { +"format": "date", +"type": "string" +}, +"type": "array" +}, +"setIntegerValues": { +"description": "Replaces the value of an `integer` field with these new values.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"setSelectionValues": { +"description": "Replaces a `selection` field with these new values.", +"items": { +"type": "string" +}, +"type": "array" +}, +"setTextValues": { +"description": "Sets the value of a `text` field.", +"items": { +"type": "string" +}, +"type": "array" +}, +"setUserValues": { +"description": "Replaces a `user` field with these new values. The values must be valid email addresses.", +"items": { +"type": "string" +}, +"type": "array" +}, +"unsetValues": { +"description": "Unsets the values for this field.", +"type": "boolean" +} +}, +"type": "object" +}, +"LabelList": { +"description": "A list of labels applied to a file.", +"id": "LabelList", +"properties": { +"items": { +"description": "The list of labels.", +"items": { +"$ref": "Label" +}, +"type": "array" +}, +"kind": { +"default": "drive#labelList", +"description": "This is always `drive#labelList`", +"type": "string" +}, +"nextPageToken": { +"description": "The page token for the next page of labels. This field will be absent if the end of the list has been reached. If the token is rejected for any reason, it should be discarded, and pagination should be restarted from the first page of results.", +"type": "string" +} +}, +"type": "object" +}, +"LabelModification": { +"description": "A modification to a label on a file. A LabelModification can be used to apply a label to a file, update an existing label on a file, or remove a label from a file.", +"id": "LabelModification", +"properties": { +"fieldModifications": { +"description": "The list of modifications to this label's fields.", +"items": { +"$ref": "LabelFieldModification" +}, +"type": "array" +}, +"kind": { +"default": "drive#labelModification", +"description": "This is always `drive#labelModification`.", +"type": "string" +}, +"labelId": { +"annotations": { +"required": [ +"drive.files.modifyLabels" +] +}, +"description": "The ID of the label to modify.", +"type": "string" +}, +"removeLabel": { +"description": "If true, the label will be removed from the file.", +"type": "boolean" +} +}, +"type": "object" +}, +"ModifyLabelsRequest": { +"description": "A request to modify the set of labels on a file. This request may contain many modifications that will either all succeed or all fail atomically.", +"id": "ModifyLabelsRequest", +"properties": { +"kind": { +"default": "drive#modifyLabelsRequest", +"description": "This is always `drive#modifyLabelsRequest`.", +"type": "string" +}, +"labelModifications": { +"description": "The list of modifications to apply to the labels on the file.", +"items": { +"$ref": "LabelModification" +}, +"type": "array" +} +}, +"type": "object" +}, +"ModifyLabelsResponse": { +"description": "Response to a ModifyLabels request. This contains only those labels which were added or updated by the request.", +"id": "ModifyLabelsResponse", +"properties": { +"kind": { +"default": "drive#modifyLabelsResponse", +"description": "This is always `drive#modifyLabelsResponse`", +"type": "string" +}, +"modifiedLabels": { +"description": "The list of labels which were added or updated by the request.", +"items": { +"$ref": "Label" +}, +"type": "array" +} +}, +"type": "object" +}, +"ParentList": { +"description": "A list of a file's parents.", +"id": "ParentList", +"properties": { +"etag": { +"description": "The ETag of the list.", +"type": "string" +}, +"items": { +"description": "The list of parents.", +"items": { +"$ref": "ParentReference" +}, +"type": "array" +}, +"kind": { +"default": "drive#parentList", +"description": "This is always `drive#parentList`.", +"type": "string" +}, +"selfLink": { +"description": "A link back to this list.", +"type": "string" +} +}, +"type": "object" +}, +"ParentReference": { +"description": "A reference to a file's parent. A file can only have one parent folder; specifying multiple parents isn't supported. Some resource methods (such as `parents.get`) require a `parentId`. Use the `parents.list` method to retrieve the ID for a parent.", +"id": "ParentReference", +"properties": { +"id": { +"annotations": { +"required": [ +"drive.parents.insert" +] +}, +"description": "The ID of the parent.", +"type": "string" +}, +"isRoot": { +"description": "Output only. Whether or not the parent is the root folder.", +"type": "boolean" +}, +"kind": { +"default": "drive#parentReference", +"description": "Output only. This is always `drive#parentReference`.", +"type": "string" +}, +"parentLink": { +"description": "Output only. A link to the parent.", +"type": "string" +}, +"selfLink": { +"description": "Output only. A link back to this reference.", +"type": "string" +} +}, +"type": "object" +}, +"Permission": { +"description": "A permission for a file. A permission grants a user, group, domain, or the world access to a file or a folder hierarchy. Some resource methods (such as `permissions.update`) require a `permissionId`. Use the `permissions.list` method to retrieve the ID for a file, folder, or shared drive.", +"id": "Permission", +"properties": { +"additionalRoles": { +"description": "Additional roles for this user. Only `commenter` is currently allowed, though more may be supported in the future.", +"items": { +"type": "string" +}, +"type": "array" +}, +"authKey": { +"deprecated": true, +"description": "Output only. Deprecated.", +"type": "string" +}, +"deleted": { +"description": "Output only. Whether the account associated with this permission has been deleted. This field only pertains to user and group permissions.", +"type": "boolean" +}, +"domain": { +"description": "Output only. The domain name of the entity this permission refers to. This is an output-only field which is present when the permission type is `user`, `group` or `domain`.", +"type": "string" +}, +"emailAddress": { +"description": "Output only. The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is `user` or `group`.", +"type": "string" +}, +"etag": { +"description": "Output only. The ETag of the permission.", +"type": "string" +}, +"expirationDate": { +"description": "The time at which this permission will expire (RFC 3339 date-time). Expiration dates have the following restrictions: - They can only be set on user and group permissions - The date must be in the future - The date cannot be more than a year in the future - The date can only be set on drive.permissions.update or drive.permissions.patch requests", +"format": "date-time", +"type": "string" +}, +"id": { +"description": "The ID of the user this permission refers to, and identical to the `permissionId` in the About and Files resources. When making a `drive.permissions.insert` request, exactly one of the `id` or `value` fields must be specified unless the permission type is `anyone`, in which case both `id` and `value` are ignored.", +"type": "string" +}, +"kind": { +"default": "drive#permission", +"description": "Output only. This is always `drive#permission`.", +"type": "string" +}, +"name": { +"description": "Output only. The name for this permission.", +"type": "string" +}, +"pendingOwner": { +"description": "Whether the account associated with this permission is a pending owner. Only populated for `user` type permissions for files that are not in a shared drive.", +"type": "boolean" +}, +"permissionDetails": { +"description": "Output only. Details of whether the permissions on this shared drive item are inherited or directly on this item. This is an output-only field which is present only for shared drive items.", +"items": { +"properties": { +"additionalRoles": { +"description": "Output only. Additional roles for this user. Only `commenter` is currently possible, though more may be supported in the future.", +"items": { +"type": "string" +}, +"type": "array" +}, +"inherited": { +"description": "Output only. Whether this permission is inherited. This field is always populated. This is an output-only field.", +"type": "boolean" +}, +"inheritedFrom": { +"description": "Output only. The ID of the item from which this permission is inherited. This is an output-only field.", +"type": "string" +}, +"permissionType": { +"description": "Output only. The permission type for this user. While new values may be added in future, the following are currently possible: * `file` * `member`", +"type": "string" +}, +"role": { +"description": "Output only. The primary role for this user. While new values may be added in the future, the following are currently possible: * `organizer` * `fileOrganizer` * `writer` * `reader`", +"type": "string" +} +}, +"type": "object" +}, +"readOnly": true, +"type": "array" +}, +"photoLink": { +"description": "Output only. A link to the profile photo, if available.", +"type": "string" +}, +"role": { +"annotations": { +"required": [ +"drive.permissions.insert" +] +}, +"description": "The primary role for this user. While new values may be supported in the future, the following are currently allowed: * `owner` * `organizer` * `fileOrganizer` * `writer` * `reader`", +"type": "string" +}, +"selfLink": { +"description": "Output only. A link back to this permission.", +"type": "string" +}, +"teamDrivePermissionDetails": { +"deprecated": true, +"description": "Output only. Deprecated: Use `permissionDetails` instead.", +"items": { +"properties": { +"additionalRoles": { +"deprecated": true, +"description": "Output only. Deprecated: Use `permissionDetails/additionalRoles` instead.", +"items": { +"type": "string" +}, +"type": "array" +}, +"inherited": { +"deprecated": true, +"description": "Output only. Deprecated: Use `permissionDetails/inherited` instead.", +"type": "boolean" +}, +"inheritedFrom": { +"deprecated": true, +"description": "Output only. Deprecated: Use `permissionDetails/inheritedFrom` instead.", +"type": "string" +}, +"role": { +"deprecated": true, +"description": "Output only. Deprecated: Use `permissionDetails/role` instead.", +"type": "string" +}, +"teamDrivePermissionType": { +"deprecated": true, +"description": "Output only. Deprecated: Use `permissionDetails/permissionType` instead.", +"type": "string" +} +}, +"type": "object" +}, +"readOnly": true, +"type": "array" +}, +"type": { +"annotations": { +"required": [ +"drive.permissions.insert" +] +}, +"description": "The account type. Allowed values are: * `user` * `group` * `domain` * `anyone`", +"type": "string" +}, +"value": { +"description": "The email address or domain name for the entity. This is used during inserts and is not populated in responses. When making a `drive.permissions.insert` request, exactly one of the `id` or `value` fields must be specified unless the permission type is `anyone`, in which case both `id` and `value` are ignored.", +"type": "string" +}, +"view": { +"description": "Indicates the view for this permission. Only populated for permissions that belong to a view. `published` is the only supported value.", +"type": "string" +}, +"withLink": { +"description": "Whether the link is required for this permission.", +"type": "boolean" +} +}, +"type": "object" +}, +"PermissionId": { +"description": "An ID for a user or group as seen in Permission items.", +"id": "PermissionId", +"properties": { +"id": { +"description": "The permission ID.", +"type": "string" +}, +"kind": { +"default": "drive#permissionId", +"description": "This is always `drive#permissionId`.", +"type": "string" +} +}, +"type": "object" +}, +"PermissionList": { +"description": "A list of permissions associated with a file.", +"id": "PermissionList", +"properties": { +"etag": { +"description": "The ETag of the list.", +"type": "string" +}, +"items": { +"description": "The list of permissions.", +"items": { +"$ref": "Permission" +}, +"type": "array" +}, +"kind": { +"default": "drive#permissionList", +"description": "This is always `drive#permissionList`.", +"type": "string" +}, +"nextPageToken": { +"description": "The page token for the next page of permissions. This field will be absent if the end of the permissions list has been reached. If the token is rejected for any reason, it should be discarded, and pagination should be restarted from the first page of results.", +"type": "string" +}, +"selfLink": { +"description": "A link back to this list.", +"type": "string" +} +}, +"type": "object" +}, +"Property": { +"description": "A key-value pair attached to a file that is either public or private to an application. The following limits apply to file properties: * Maximum of 100 properties total per file * Maximum of 30 private properties per app * Maximum of 30 public properties * Maximum of 124 bytes size limit on (key + value) string in UTF-8 encoding for a single property Some resource methods (such as `properties.update`) require a `propertyKey`. Use the `properties.list` method to retrieve the key for a property.", +"id": "Property", +"properties": { +"etag": { +"description": "Output only. ETag of the property.", +"type": "string" +}, +"key": { +"annotations": { +"required": [ +"drive.properties.insert" +] +}, +"description": "The key of this property.", +"type": "string" +}, +"kind": { +"default": "drive#property", +"description": "Output only. This is always `drive#property`.", +"type": "string" +}, +"selfLink": { +"description": "Output only. The link back to this property.", +"type": "string" +}, +"value": { +"description": "The value of this property.", +"type": "string" +}, +"visibility": { +"description": "The visibility of this property. Allowed values are PRIVATE (default) and PUBLIC. Private properties can only be retrieved using an authenticated request. An authenticated request uses an access token obtained with a OAuth 2 client ID. You cannot use an API key to retrieve private properties.", +"type": "string" +} +}, +"type": "object" +}, +"PropertyList": { +"description": "A collection of properties, key-value pairs that are either public or private to an application.", +"id": "PropertyList", +"properties": { +"etag": { +"description": "The ETag of the list.", +"type": "string" +}, +"items": { +"description": "The list of properties.", +"items": { +"$ref": "Property" +}, +"type": "array" +}, +"kind": { +"default": "drive#propertyList", +"description": "This is always `drive#propertyList`.", +"type": "string" +}, +"selfLink": { +"description": "The link back to this list.", +"type": "string" +} +}, +"type": "object" +}, +"Revision": { +"description": "A revision of a file. Some resource methods (such as `revisions.update`) require a `revisionId`. Use the `revisions.list` method to retrieve the ID for a revision.", +"id": "Revision", +"properties": { +"downloadUrl": { +"description": "Output only. Short term download URL for the file. This will only be populated on files with content stored in Drive.", +"type": "string" +}, +"etag": { +"description": "Output only. The ETag of the revision.", +"type": "string" +}, +"exportLinks": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. Links for exporting Docs Editors files to specific formats.", +"type": "object" +}, +"fileSize": { +"description": "Output only. The size of the revision in bytes. This will only be populated on files with content stored in Drive.", +"format": "int64", +"type": "string" +}, +"id": { +"description": "Output only. The ID of the revision.", +"type": "string" +}, +"kind": { +"default": "drive#revision", +"description": "Output only. This is always `drive#revision`.", +"type": "string" +}, +"lastModifyingUser": { +"$ref": "User", +"description": "Output only. The last user to modify this revision. This field is only populated when the last modification was performed by a signed-in user." +}, +"lastModifyingUserName": { +"description": "Output only. Name of the last user to modify this revision.", +"type": "string" +}, +"md5Checksum": { +"description": "Output only. An MD5 checksum for the content of this revision. This will only be populated on files with content stored in Drive.", +"type": "string" +}, +"mimeType": { +"description": "Output only. The MIME type of the revision.", +"type": "string" +}, +"modifiedDate": { +"description": "Last time this revision was modified (formatted RFC 3339 timestamp).", +"format": "date-time", +"type": "string" +}, +"originalFilename": { +"description": "Output only. The original filename when this revision was created. This will only be populated on files with content stored in Drive.", +"type": "string" +}, +"pinned": { +"description": "Whether this revision is pinned to prevent automatic purging. If not set, the revision is automatically purged 30 days after newer content is uploaded. This field can only be modified on files with content stored in Drive, excluding Docs Editors files. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter. Pinned revisions are stored indefinitely using additional storage quota, up to a maximum of 200 revisions.", +"type": "boolean" +}, +"publishAuto": { +"description": "Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Docs Editors files.", +"type": "boolean" +}, +"published": { +"description": "Whether this revision is published. This is only populated and can only be modified for Docs Editors files.", +"type": "boolean" +}, +"publishedLink": { +"description": "Output only. A link to the published revision. This is only populated for Google Sites files.", +"type": "string" +}, +"publishedOutsideDomain": { +"description": "Whether this revision is published outside the domain. This is only populated and can only be modified for Docs Editors files.", +"type": "boolean" +}, +"selfLink": { +"description": "Output only. A link back to this revision.", +"type": "string" +} +}, +"type": "object" +}, +"RevisionList": { +"description": "A list of revisions of a file.", +"id": "RevisionList", +"properties": { +"etag": { +"description": "The ETag of the list.", +"type": "string" +}, +"items": { +"description": "The list of revisions. If nextPageToken is populated, then this list may be incomplete and an additional page of results should be fetched.", +"items": { +"$ref": "Revision" +}, +"type": "array" +}, +"kind": { +"default": "drive#revisionList", +"description": "This is always `drive#revisionList`.", +"type": "string" +}, +"nextPageToken": { +"description": "The page token for the next page of revisions. This field will be absent if the end of the revisions list has been reached. If the token is rejected for any reason, it should be discarded and pagination should be restarted from the first page of results.", +"type": "string" +}, +"selfLink": { +"description": "A link back to this list.", +"type": "string" +} +}, +"type": "object" +}, +"StartPageToken": { +"id": "StartPageToken", +"properties": { +"kind": { +"default": "drive#startPageToken", +"description": "Identifies what kind of resource this is. Value: the fixed string `\"drive#startPageToken\"`.", +"type": "string" +}, +"startPageToken": { +"description": "The starting page token for listing changes.", +"type": "string" +} +}, +"type": "object" +}, +"TeamDrive": { +"description": "Deprecated: Use the `drive` collection instead.", +"id": "TeamDrive", +"properties": { +"backgroundImageFile": { +"description": "An image file and cropping parameters from which a background image for this Team Drive is set. This is a write only field; it can only be set on `drive.teamdrives.update` requests that don't set `themeId`. When specified, all fields of the `backgroundImageFile` must be set.", +"properties": { +"id": { +"description": "The ID of an image file in Drive to use for the background image.", +"type": "string" +}, +"width": { +"description": "The width of the cropped image in the closed range of 0 to 1. This value represents the width of the cropped image divided by the width of the entire image. The height is computed by applying a width to height aspect ratio of 80 to 9. The resulting image must be at least 1280 pixels wide and 144 pixels high.", +"format": "float", +"type": "number" +}, +"xCoordinate": { +"description": "The X coordinate of the upper left corner of the cropping area in the background image. This is a value in the closed range of 0 to 1. This value represents the horizontal distance from the left side of the entire image to the left side of the cropping area divided by the width of the entire image.", +"format": "float", +"type": "number" +}, +"yCoordinate": { +"description": "The Y coordinate of the upper left corner of the cropping area in the background image. This is a value in the closed range of 0 to 1. This value represents the vertical distance from the top side of the entire image to the top side of the cropping area divided by the height of the entire image.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"backgroundImageLink": { +"description": "A short-lived link to this Team Drive's background image.", +"type": "string" +}, +"capabilities": { +"description": "Capabilities the current user has on this Team Drive.", +"properties": { +"canAddChildren": { +"description": "Whether the current user can add children to folders in this Team Drive.", +"type": "boolean" +}, +"canChangeCopyRequiresWriterPermissionRestriction": { +"description": "Whether the current user can change the `copyRequiresWriterPermission` restriction of this Team Drive.", +"type": "boolean" +}, +"canChangeDomainUsersOnlyRestriction": { +"description": "Whether the current user can change the `domainUsersOnly` restriction of this Team Drive.", +"type": "boolean" +}, +"canChangeSharingFoldersRequiresOrganizerPermissionRestriction": { +"description": "Whether the current user can change the `sharingFoldersRequiresOrganizerPermission` restriction of this Team Drive.", +"type": "boolean" +}, +"canChangeTeamDriveBackground": { +"description": "Whether the current user can change the background of this Team Drive.", +"type": "boolean" +}, +"canChangeTeamMembersOnlyRestriction": { +"description": "Whether the current user can change the `teamMembersOnly` restriction of this Team Drive.", +"type": "boolean" +}, +"canComment": { +"description": "Whether the current user can comment on files in this Team Drive.", +"type": "boolean" +}, +"canCopy": { +"description": "Whether the current user can copy files in this Team Drive.", +"type": "boolean" +}, +"canDeleteChildren": { +"description": "Whether the current user can delete children from folders in this Team Drive.", +"type": "boolean" +}, +"canDeleteTeamDrive": { +"description": "Whether the current user can delete this Team Drive. Attempting to delete the Team Drive may still fail if there are untrashed items inside the Team Drive.", +"type": "boolean" +}, +"canDownload": { +"description": "Whether the current user can download files in this Team Drive.", +"type": "boolean" +}, +"canEdit": { +"description": "Whether the current user can edit files in this Team Drive", +"type": "boolean" +}, +"canListChildren": { +"description": "Whether the current user can list the children of folders in this Team Drive.", +"type": "boolean" +}, +"canManageMembers": { +"description": "Whether the current user can add members to this Team Drive or remove them or change their role.", +"type": "boolean" +}, +"canReadRevisions": { +"description": "Whether the current user can read the revisions resource of files in this Team Drive.", +"type": "boolean" +}, +"canRemoveChildren": { +"deprecated": true, +"description": "Deprecated: Use `canDeleteChildren` or `canTrashChildren` instead.", +"type": "boolean" +}, +"canRename": { +"description": "Whether the current user can rename files or folders in this Team Drive.", +"type": "boolean" +}, +"canRenameTeamDrive": { +"description": "Whether the current user can rename this Team Drive.", +"type": "boolean" +}, +"canResetTeamDriveRestrictions": { +"description": "Whether the current user can reset the Team Drive restrictions to defaults.", +"type": "boolean" +}, +"canShare": { +"description": "Whether the current user can share files or folders in this Team Drive.", +"type": "boolean" +}, +"canTrashChildren": { +"description": "Whether the current user can trash children from folders in this Team Drive.", +"type": "boolean" +} +}, +"type": "object" +}, +"colorRgb": { +"description": "The color of this Team Drive as an RGB hex string. It can only be set on a `drive.teamdrives.update` request that does not set `themeId`.", +"type": "string" +}, +"createdDate": { +"description": "The time at which the Team Drive was created (RFC 3339 date-time).", +"format": "date-time", +"type": "string" +}, +"id": { +"description": "The ID of this Team Drive which is also the ID of the top level folder of this Team Drive.", +"type": "string" +}, +"kind": { +"default": "drive#teamDrive", +"description": "This is always `drive#teamDrive`", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"drive.teamdrives.insert" +] +}, +"description": "The name of this Team Drive.", +"type": "string" +}, +"orgUnitId": { +"description": "The organizational unit of this shared drive. This field is only populated on `drives.list` responses when the `useDomainAdminAccess` parameter is set to `true`.", +"type": "string" +}, +"restrictions": { +"description": "A set of restrictions that apply to this Team Drive or items inside this Team Drive.", +"properties": { +"adminManagedRestrictions": { +"description": "Whether administrative privileges on this Team Drive are required to modify restrictions.", +"type": "boolean" +}, +"copyRequiresWriterPermission": { +"description": "Whether the options to copy, print, or download files inside this Team Drive, should be disabled for readers and commenters. When this restriction is set to `true`, it will override the similarly named field to `true` for any file inside this Team Drive.", +"type": "boolean" +}, +"domainUsersOnly": { +"description": "Whether access to this Team Drive and items inside this Team Drive is restricted to users of the domain to which this Team Drive belongs. This restriction may be overridden by other sharing policies controlled outside of this Team Drive.", +"type": "boolean" +}, +"sharingFoldersRequiresOrganizerPermission": { +"description": "If true, only users with the organizer role can share folders. If false, users with either the organizer role or the file organizer role can share folders.", +"type": "boolean" +}, +"teamMembersOnly": { +"description": "Whether access to items inside this Team Drive is restricted to members of this Team Drive.", +"type": "boolean" +} +}, +"type": "object" +}, +"themeId": { +"description": "The ID of the theme from which the background image and color will be set. The set of possible `teamDriveThemes` can be retrieved from a `drive.about.get` response. When not specified on a `drive.teamdrives.insert` request, a random theme is chosen from which the background image and color are set. This is a write-only field; it can only be set on requests that don't set `colorRgb` or `backgroundImageFile`.", +"type": "string" +} +}, +"type": "object" +}, +"TeamDriveList": { +"description": "A list of Team Drives.", +"id": "TeamDriveList", +"properties": { +"items": { +"description": "The list of Team Drives.", +"items": { +"$ref": "TeamDrive" +}, +"type": "array" +}, +"kind": { +"default": "drive#teamDriveList", +"description": "This is always `drive#teamDriveList`", +"type": "string" +}, +"nextPageToken": { +"description": "The page token for the next page of Team Drives.", +"type": "string" +} +}, +"type": "object" +}, +"User": { +"description": "Information about a Drive user.", +"id": "User", +"properties": { +"displayName": { +"description": "Output only. A plain text displayable name for this user.", +"type": "string" +}, +"emailAddress": { +"description": "Output only. The email address of the user.", +"type": "string" +}, +"isAuthenticatedUser": { +"description": "Output only. Whether this user is the same as the authenticated user for whom the request was made.", +"type": "boolean" +}, +"kind": { +"default": "drive#user", +"description": "Output only. This is always `drive#user`.", +"type": "string" +}, +"permissionId": { +"description": "Output only. The user's ID as visible in the permissions collection.", +"type": "string" +}, +"picture": { +"description": "Output only. The user's profile picture.", +"properties": { +"url": { +"description": "Output Only. A URL that points to a profile picture of this user.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +} +}, +"servicePath": "drive/v2/", +"title": "Google Drive API", +"version": "v2" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/file.v1beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/file.v1beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..3f003709f2d1df2d3a2ce936046902b1dccec772 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/file.v1beta1.json @@ -0,0 +1,2733 @@ +{ +"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://file.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Cloud Filestore", +"description": "The Cloud Filestore API is used for creating and managing cloud file servers.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/filestore/", +"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": "file:v1beta1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://file.mtls.googleapis.com/", +"name": "file", +"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": "v1beta1/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "file.projects.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v1beta1/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "file.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": "v1beta1/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"backups": { +"methods": { +"create": { +"description": "Creates a backup.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backups", +"httpMethod": "POST", +"id": "file.projects.locations.backups.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"backupId": { +"description": "Required. The ID to use for the backup. The ID must be unique within the specified project and location. This value must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens, and cannot end with a hyphen.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The backup's project and location, in the format `projects/{project_id}/locations/{location}`. In Filestore, backup locations map to Google Cloud regions, for example **us-west1**.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/backups", +"request": { +"$ref": "Backup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a backup.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backups/{backupsId}", +"httpMethod": "DELETE", +"id": "file.projects.locations.backups.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The backup resource name, in the format `projects/{project_id}/locations/{location}/backups/{backup_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/backups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the details of a specific backup.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backups/{backupsId}", +"httpMethod": "GET", +"id": "file.projects.locations.backups.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The backup resource name, in the format `projects/{project_id}/locations/{location}/backups/{backup_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/backups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Backup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all backups in a project for either a specified location or for all locations.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backups", +"httpMethod": "GET", +"id": "file.projects.locations.backups.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "List filter.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Sort results. Supported values are \"name\", \"name desc\" or \"\" (unsorted).", +"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 to use if there are additional results to retrieve for this list request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The project and location for which to retrieve backup information, in the format `projects/{project_id}/locations/{location}`. In Filestore, backup locations map to Google Cloud regions, for example **us-west1**. To retrieve backup information for all locations, use \"-\" for the `{location}` value.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/backups", +"response": { +"$ref": "ListBackupsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the settings of a specific backup.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backups/{backupsId}", +"httpMethod": "PATCH", +"id": "file.projects.locations.backups.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name of the backup, in the format `projects/{project_id}/locations/{location_id}/backups/{backup_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/backups/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Mask of fields to update. At least one path must be supplied in this field.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "Backup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"instances": { +"methods": { +"create": { +"description": "Creates an instance. When creating from a backup, the capacity of the new instance needs to be equal to or larger than the capacity of the backup (and also equal to or larger than the minimum capacity of the tier).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/instances", +"httpMethod": "POST", +"id": "file.projects.locations.instances.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"instanceId": { +"description": "Required. The ID of the instance to create. The ID must be unique within the specified project and location. This value must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens, and cannot end with a hyphen.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The instance's project and location, in the format `projects/{project_id}/locations/{location}`. In Filestore, locations map to Google Cloud zones, for example **us-west1-b**.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/instances", +"request": { +"$ref": "Instance" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an instance.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", +"httpMethod": "DELETE", +"id": "file.projects.locations.instances.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "If set to true, any snapshots of the instance will also be deleted. (Otherwise, the request will only work if the instance has no snapshots.)", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The instance resource name, in the format `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the details of a specific instance.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", +"httpMethod": "GET", +"id": "file.projects.locations.instances.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The instance resource name, in the format `projects/{project_id}/locations/{location}/instances/{instance_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Instance" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all instances in a project for either a specified location or for all locations.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/instances", +"httpMethod": "GET", +"id": "file.projects.locations.instances.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "List filter.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Sort results. Supported values are \"name\", \"name desc\" or \"\" (unsorted).", +"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 to use if there are additional results to retrieve for this list request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The project and location for which to retrieve instance information, in the format `projects/{project_id}/locations/{location}`. In Cloud Filestore, locations map to Google Cloud zones, for example **us-west1-b**. To retrieve instance information for all locations, use \"-\" for the `{location}` value.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/instances", +"response": { +"$ref": "ListInstancesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the settings of a specific instance.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", +"httpMethod": "PATCH", +"id": "file.projects.locations.instances.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name of the instance, in the format `projects/{project_id}/locations/{location_id}/instances/{instance_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"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: * \"description\" * \"directory_services\" * \"file_shares\" * \"labels\" * \"performance_config\" * \"deletion_protection_enabled\" * \"deletion_protection_reason\"", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "Instance" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"promoteReplica": { +"description": "Promote the standby instance (replica).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:promoteReplica", +"httpMethod": "POST", +"id": "file.projects.locations.instances.promoteReplica", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the instance, in the format `projects/{project_id}/locations/{location_id}/instances/{instance_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:promoteReplica", +"request": { +"$ref": "PromoteReplicaRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"restore": { +"description": "Restores an existing instance's file share from a backup. The capacity of the instance needs to be equal to or larger than the capacity of the backup (and also equal to or larger than the minimum capacity of the tier).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:restore", +"httpMethod": "POST", +"id": "file.projects.locations.instances.restore", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the instance, in the format `projects/{project_id}/locations/{location_id}/instances/{instance_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:restore", +"request": { +"$ref": "RestoreInstanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"revert": { +"description": "Revert an existing instance's file system to a specified snapshot.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:revert", +"httpMethod": "POST", +"id": "file.projects.locations.instances.revert", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the instance, in the format `projects/{project_id}/locations/{location_id}/instances/{instance_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:revert", +"request": { +"$ref": "RevertInstanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"shares": { +"methods": { +"create": { +"description": "Creates a share.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/shares", +"httpMethod": "POST", +"id": "file.projects.locations.instances.shares.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The Filestore Instance to create the share for, in the format `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +}, +"shareId": { +"description": "Required. The ID to use for the share. The ID must be unique within the specified instance. This value must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens, and cannot end with a hyphen.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/shares", +"request": { +"$ref": "Share" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a share.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/shares/{sharesId}", +"httpMethod": "DELETE", +"id": "file.projects.locations.instances.shares.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The share resource name, in the format `projects/{project_id}/locations/{location}/instances/{instance_id}/share/{share_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+/shares/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the details of a specific share.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/shares/{sharesId}", +"httpMethod": "GET", +"id": "file.projects.locations.instances.shares.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The share resource name, in the format `projects/{project_id}/locations/{location}/instances/{instance_id}/shares/{share_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+/shares/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Share" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all shares for a specified instance.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/shares", +"httpMethod": "GET", +"id": "file.projects.locations.instances.shares.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "List filter.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Sort results. Supported values are \"name\", \"name desc\" or \"\" (unsorted).", +"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 to use if there are additional results to retrieve for this list request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The instance for which to retrieve share information, in the format `projects/{project_id}/locations/{location}/instances/{instance_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/shares", +"response": { +"$ref": "ListSharesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the settings of a specific share.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/shares/{sharesId}", +"httpMethod": "PATCH", +"id": "file.projects.locations.instances.shares.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name of the share, in the format `projects/{project_id}/locations/{location_id}/instances/{instance_id}/shares/{share_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+/shares/[^/]+$", +"required": true, +"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: * \"description\" * \"capacity_gb\" * \"labels\" * \"nfs_export_options\"", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "Share" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"snapshots": { +"methods": { +"create": { +"description": "Creates a snapshot.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/snapshots", +"httpMethod": "POST", +"id": "file.projects.locations.instances.snapshots.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The Filestore Instance to create the snapshots of, in the format `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +}, +"snapshotId": { +"description": "Required. The ID to use for the snapshot. The ID must be unique within the specified instance. This value must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens, and cannot end with a hyphen.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/snapshots", +"request": { +"$ref": "Snapshot" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a snapshot.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/snapshots/{snapshotsId}", +"httpMethod": "DELETE", +"id": "file.projects.locations.instances.snapshots.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The snapshot resource name, in the format `projects/{project_id}/locations/{location}/instances/{instance_id}/snapshots/{snapshot_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+/snapshots/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the details of a specific snapshot.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/snapshots/{snapshotsId}", +"httpMethod": "GET", +"id": "file.projects.locations.instances.snapshots.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The snapshot resource name, in the format `projects/{project_id}/locations/{location}/instances/{instance_id}/snapshots/{snapshot_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+/snapshots/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Snapshot" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all snapshots in a project for either a specified location or for all locations.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/snapshots", +"httpMethod": "GET", +"id": "file.projects.locations.instances.snapshots.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "List filter.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Sort results. Supported values are \"name\", \"name desc\" or \"\" (unsorted).", +"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 to use if there are additional results to retrieve for this list request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The instance for which to retrieve snapshot information, in the format `projects/{project_id}/locations/{location}/instances/{instance_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Optional. If true, allow partial responses for multi-regional Aggregated List requests.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta1/{+parent}/snapshots", +"response": { +"$ref": "ListSnapshotsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the settings of a specific snapshot.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/snapshots/{snapshotsId}", +"httpMethod": "PATCH", +"id": "file.projects.locations.instances.snapshots.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name of the snapshot, in the format `projects/{project_id}/locations/{location_id}/instances/{instance_id}/snapshots/{snapshot_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+/snapshots/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Mask of fields to update. At least one path must be supplied in this field.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "Snapshot" +}, +"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": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "file.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": "v1beta1/{+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": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "file.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": "v1beta1/{+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": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "file.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": "v1beta1/{+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": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "file.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": "v1beta1/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20241204", +"rootUrl": "https://file.googleapis.com/", +"schemas": { +"Backup": { +"description": "A Filestore backup.", +"id": "Backup", +"properties": { +"capacityGb": { +"description": "Output only. Capacity of the source file share when the backup was created.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time when the backup was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "A description of the backup with 2048 characters or less. Requests with longer descriptions will be rejected.", +"type": "string" +}, +"downloadBytes": { +"description": "Output only. Amount of bytes that will be downloaded if the backup is restored", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"fileSystemProtocol": { +"description": "Output only. The file system protocol of the source Filestore instance that this backup is created from.", +"enum": [ +"FILE_PROTOCOL_UNSPECIFIED", +"NFS_V3", +"NFS_V4_1" +], +"enumDescriptions": [ +"FILE_PROTOCOL_UNSPECIFIED serves a \"not set\" default value when a FileProtocol is a separate field in a message.", +"NFS 3.0.", +"NFS 4.1." +], +"readOnly": true, +"type": "string" +}, +"kmsKeyName": { +"description": "Immutable. KMS key name used for data encryption.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Resource labels to represent user provided metadata.", +"type": "object" +}, +"name": { +"description": "Output only. The resource name of the backup, in the format `projects/{project_id}/locations/{location_id}/backups/{backup_id}`.", +"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" +}, +"sourceFileShare": { +"description": "Name of the file share in the source Filestore instance that the backup is created from.", +"type": "string" +}, +"sourceInstance": { +"description": "The resource name of the source Filestore instance, in the format `projects/{project_id}/locations/{location_id}/instances/{instance_id}`, used to create this backup.", +"type": "string" +}, +"sourceInstanceTier": { +"description": "Output only. The service tier of the source Filestore instance that this backup is created from.", +"enum": [ +"TIER_UNSPECIFIED", +"STANDARD", +"PREMIUM", +"BASIC_HDD", +"BASIC_SSD", +"HIGH_SCALE_SSD", +"ENTERPRISE", +"ZONAL", +"REGIONAL" +], +"enumDescriptions": [ +"Not set.", +"STANDARD tier. BASIC_HDD is the preferred term for this tier.", +"PREMIUM tier. BASIC_SSD is the preferred term for this tier.", +"BASIC instances offer a maximum capacity of 63.9 TB. BASIC_HDD is an alias for STANDARD Tier, offering economical performance backed by HDD.", +"BASIC instances offer a maximum capacity of 63.9 TB. BASIC_SSD is an alias for PREMIUM Tier, and offers improved performance backed by SSD.", +"HIGH_SCALE instances offer expanded capacity and performance scaling capabilities.", +"ENTERPRISE instances offer the features and availability needed for mission-critical workloads.", +"ZONAL instances offer expanded capacity and performance scaling capabilities.", +"REGIONAL instances offer the features and availability needed for mission-critical workloads." +], +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The backup state.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"FINALIZING", +"READY", +"DELETING", +"INVALID" +], +"enumDescriptions": [ +"State not set.", +"Backup is being created.", +"Backup has been taken and the operation is being finalized. At this point, changes to the file share will not be reflected in the backup.", +"Backup is available for use.", +"Backup is being deleted.", +"Backup is not valid and cannot be used for creating new instances or restoring existing instances." +], +"readOnly": true, +"type": "string" +}, +"storageBytes": { +"description": "Output only. The size of the storage used by the backup. As backups share storage, this number is expected to change with backup creation/deletion.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"tags": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Input only. Immutable. Tag key-value pairs bound to this resource. Each key must be a namespaced name and each value a short name. Example: \"123456789012/environment\" : \"production\", \"123456789013/costCenter\" : \"marketing\" See the documentation for more information: - Namespaced name: https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing#retrieving_tag_key - Short name: https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing#retrieving_tag_value", +"type": "object" +} +}, +"type": "object" +}, +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"DailyCycle": { +"description": "Time window specified for daily operations.", +"id": "DailyCycle", +"properties": { +"duration": { +"description": "Output only. Duration of the time window, set by service producer.", +"format": "google-duration", +"type": "string" +}, +"startTime": { +"$ref": "TimeOfDay", +"description": "Time within the day to start the operations." +} +}, +"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" +}, +"DenyMaintenancePeriod": { +"description": "DenyMaintenancePeriod definition. Maintenance is forbidden within the deny period. The start_date must be less than the end_date.", +"id": "DenyMaintenancePeriod", +"properties": { +"endDate": { +"$ref": "Date", +"description": "Deny period end date. This can be: * A full date, with non-zero year, month and day values. * A month and day value, with a zero year. Allows recurring deny periods each year. Date matching this period will have to be before the end." +}, +"startDate": { +"$ref": "Date", +"description": "Deny period start date. This can be: * A full date, with non-zero year, month and day values. * A month and day value, with a zero year. Allows recurring deny periods each year. Date matching this period will have to be the same or after the start." +}, +"time": { +"$ref": "TimeOfDay", +"description": "Time in UTC when the Blackout period starts on start_date and ends on end_date. This can be: * Full time. * All zeros for 00:00:00 UTC" +} +}, +"type": "object" +}, +"DirectoryServicesConfig": { +"description": "Directory Services configuration for Kerberos-based authentication.", +"id": "DirectoryServicesConfig", +"properties": { +"managedActiveDirectory": { +"$ref": "ManagedActiveDirectoryConfig", +"description": "Configuration for Managed Service for Microsoft Active Directory." +} +}, +"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" +}, +"FileShareConfig": { +"description": "File share configuration for the instance.", +"id": "FileShareConfig", +"properties": { +"capacityGb": { +"description": "File share capacity in gigabytes (GB). Filestore defines 1 GB as 1024^3 bytes.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "Required. The name of the file share. Must use 1-16 characters for the basic service tier and 1-63 characters for all other service tiers. Must use lowercase letters, numbers, or underscores `[a-z0-9_]`. Must start with a letter. Immutable.", +"type": "string" +}, +"nfsExportOptions": { +"description": "Nfs Export Options. There is a limit of 10 export options per file share.", +"items": { +"$ref": "NfsExportOptions" +}, +"type": "array" +}, +"sourceBackup": { +"description": "The resource name of the backup, in the format `projects/{project_id}/locations/{location_id}/backups/{backup_id}`, that this file share has been restored from.", +"type": "string" +} +}, +"type": "object" +}, +"FixedIOPS": { +"description": "Fixed IOPS (input/output operations per second) parameters.", +"id": "FixedIOPS", +"properties": { +"maxIops": { +"description": "Required. Maximum IOPS.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSaasacceleratorManagementProvidersV1Instance": { +"description": "Instance represents the interface for SLM services to actuate the state of control plane resources. Example Instance in JSON, where consumer-project-number=123456, producer-project-id=cloud-sql: ```json Instance: { \"name\": \"projects/123456/locations/us-east1/instances/prod-instance\", \"create_time\": { \"seconds\": 1526406431, }, \"labels\": { \"env\": \"prod\", \"foo\": \"bar\" }, \"state\": READY, \"software_versions\": { \"software_update\": \"cloud-sql-09-28-2018\", }, \"maintenance_policy_names\": { \"UpdatePolicy\": \"projects/123456/locations/us-east1/maintenancePolicies/prod-update-policy\", } \"tenant_project_id\": \"cloud-sql-test-tenant\", \"producer_metadata\": { \"cloud-sql-tier\": \"basic\", \"cloud-sql-instance-size\": \"1G\", }, \"provisioned_resources\": [ { \"resource-type\": \"compute-instance\", \"resource-url\": \"https://www.googleapis.com/compute/v1/projects/cloud-sql/zones/us-east1-b/instances/vm-1\", } ], \"maintenance_schedules\": { \"csa_rollout\": { \"start_time\": { \"seconds\": 1526406431, }, \"end_time\": { \"seconds\": 1535406431, }, }, \"ncsa_rollout\": { \"start_time\": { \"seconds\": 1526406431, }, \"end_time\": { \"seconds\": 1535406431, }, } }, \"consumer_defined_name\": \"my-sql-instance1\", } ``` LINT.IfChange", +"id": "GoogleCloudSaasacceleratorManagementProvidersV1Instance", +"properties": { +"consumerDefinedName": { +"description": "consumer_defined_name is the name of the instance set by the service consumers. Generally this is different from the `name` field which reperesents the system-assigned id of the instance which the service consumers do not recognize. This is a required field for tenants onboarding to Maintenance Window notifications (go/slm-rollout-maintenance-policies#prerequisites).", +"type": "string" +}, +"createTime": { +"description": "Output only. Timestamp when the resource was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"instanceType": { +"description": "Optional. The instance_type of this instance of format: projects/{project_number}/locations/{location_id}/instanceTypes/{instance_type_id}. Instance Type represents a high-level tier or SKU of the service that this instance belong to. When enabled(eg: Maintenance Rollout), Rollout uses 'instance_type' along with 'software_versions' to determine whether instance needs an update or not.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Resource labels to represent user provided metadata. Each label is a key-value pair, where both the key and the value are arbitrary strings provided by the user.", +"type": "object" +}, +"maintenancePolicyNames": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The MaintenancePolicies that have been attached to the instance. The key must be of the type name of the oneof policy name defined in MaintenancePolicy, and the referenced policy must define the same policy type. For details, please refer to go/mr-user-guide. Should not be set if maintenance_settings.maintenance_policies is set.", +"type": "object" +}, +"maintenanceSchedules": { +"additionalProperties": { +"$ref": "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule" +}, +"description": "The MaintenanceSchedule contains the scheduling information of published maintenance schedule with same key as software_versions.", +"type": "object" +}, +"maintenanceSettings": { +"$ref": "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings", +"description": "Optional. The MaintenanceSettings associated with instance." +}, +"name": { +"description": "Unique name of the resource. It uses the form: `projects/{project_number}/locations/{location_id}/instances/{instance_id}` Note: This name is passed, stored and logged across the rollout system. So use of consumer project_id or any other consumer PII in the name is strongly discouraged for wipeout (go/wipeout) compliance. See go/elysium/project_ids#storage-guidance for more details.", +"type": "string" +}, +"notificationParameters": { +"additionalProperties": { +"$ref": "GoogleCloudSaasacceleratorManagementProvidersV1NotificationParameter" +}, +"description": "Optional. notification_parameter are information that service producers may like to include that is not relevant to Rollout. This parameter will only be passed to Gamma and Cloud Logging for notification/logging purpose.", +"type": "object" +}, +"producerMetadata": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. Custom string attributes used primarily to expose producer-specific information in monitoring dashboards. See go/get-instance-metadata.", +"readOnly": true, +"type": "object" +}, +"provisionedResources": { +"description": "Output only. The list of data plane resources provisioned for this instance, e.g. compute VMs. See go/get-instance-metadata.", +"items": { +"$ref": "GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource" +}, +"readOnly": true, +"type": "array" +}, +"slmInstanceTemplate": { +"description": "Link to the SLM instance template. Only populated when updating SLM instances via SSA's Actuation service adaptor. Service producers with custom control plane (e.g. Cloud SQL) doesn't need to populate this field. Instead they should use software_versions.", +"type": "string" +}, +"sloMetadata": { +"$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata", +"description": "Output only. SLO metadata for instance classification in the Standardized dataplane SLO platform. See go/cloud-ssa-standard-slo for feature description.", +"readOnly": true +}, +"softwareVersions": { +"additionalProperties": { +"type": "string" +}, +"description": "Software versions that are used to deploy this instance. This can be mutated by rollout services.", +"type": "object" +}, +"state": { +"description": "Output only. Current lifecycle state of the resource (e.g. if it's being created or ready to use).", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"READY", +"UPDATING", +"REPAIRING", +"DELETING", +"ERROR" +], +"enumDescriptions": [ +"Unspecified state.", +"Instance is being created.", +"Instance has been created and is ready to use.", +"Instance is being updated.", +"Instance is unheathy and under repair.", +"Instance is being deleted.", +"Instance encountered an error and is in indeterministic state." +], +"readOnly": true, +"type": "string" +}, +"tenantProjectId": { +"description": "Output only. ID of the associated GCP tenant project. See go/get-instance-metadata.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when the resource was last modified.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule": { +"description": "Maintenance schedule which is exposed to customer and potentially end user, indicating published upcoming future maintenance schedule", +"id": "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule", +"properties": { +"canReschedule": { +"deprecated": true, +"description": "This field is deprecated, and will be always set to true since reschedule can happen multiple times now. This field should not be removed until all service producers remove this for their customers.", +"type": "boolean" +}, +"endTime": { +"description": "The scheduled end time for the maintenance.", +"format": "google-datetime", +"type": "string" +}, +"rolloutManagementPolicy": { +"description": "The rollout management policy this maintenance schedule is associated with. When doing reschedule update request, the reschedule should be against this given policy.", +"type": "string" +}, +"scheduleDeadlineTime": { +"description": "schedule_deadline_time is the time deadline any schedule start time cannot go beyond, including reschedule. It's normally the initial schedule start time plus maintenance window length (1 day or 1 week). Maintenance cannot be scheduled to start beyond this deadline.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "The scheduled start time for the maintenance.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings": { +"description": "Maintenance settings associated with instance. Allows service producers and end users to assign settings that controls maintenance on this instance.", +"id": "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings", +"properties": { +"exclude": { +"description": "Optional. Exclude instance from maintenance. When true, rollout service will not attempt maintenance on the instance. Rollout service will include the instance in reported rollout progress as not attempted.", +"type": "boolean" +}, +"isRollback": { +"description": "Optional. If the update call is triggered from rollback, set the value as true.", +"type": "boolean" +}, +"maintenancePolicies": { +"additionalProperties": { +"$ref": "MaintenancePolicy" +}, +"description": "Optional. The MaintenancePolicies that have been attached to the instance. The key must be of the type name of the oneof policy name defined in MaintenancePolicy, and the embedded policy must define the same policy type. For details, please refer to go/mr-user-guide. Should not be set if maintenance_policy_names is set. If only the name is needed, then only populate MaintenancePolicy.name.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata": { +"description": "Node information for custom per-node SLO implementations. SSA does not support per-node SLO, but producers can populate per-node information in SloMetadata for custom precomputations. SSA Eligibility Exporter will emit per-node metric based on this information.", +"id": "GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata", +"properties": { +"location": { +"description": "The location of the node, if different from instance location.", +"type": "string" +}, +"nodeId": { +"description": "The id of the node. This should be equal to SaasInstanceNode.node_id.", +"type": "string" +}, +"perSliEligibility": { +"$ref": "GoogleCloudSaasacceleratorManagementProvidersV1PerSliSloEligibility", +"description": "If present, this will override eligibility for the node coming from instance or exclusions for specified SLIs." +} +}, +"type": "object" +}, +"GoogleCloudSaasacceleratorManagementProvidersV1NotificationParameter": { +"description": "Contains notification related data.", +"id": "GoogleCloudSaasacceleratorManagementProvidersV1NotificationParameter", +"properties": { +"values": { +"description": "Optional. Array of string values. e.g. instance's replica information.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudSaasacceleratorManagementProvidersV1PerSliSloEligibility": { +"description": "PerSliSloEligibility is a mapping from an SLI name to eligibility.", +"id": "GoogleCloudSaasacceleratorManagementProvidersV1PerSliSloEligibility", +"properties": { +"eligibilities": { +"additionalProperties": { +"$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility" +}, +"description": "An entry in the eligibilities map specifies an eligibility for a particular SLI for the given instance. The SLI key in the name must be a valid SLI name specified in the Eligibility Exporter binary flags otherwise an error will be emitted by Eligibility Exporter and the oncaller will be alerted. If an SLI has been defined in the binary flags but the eligibilities map does not contain it, the corresponding SLI time series will not be emitted by the Eligibility Exporter. This ensures a smooth rollout and compatibility between the data produced by different versions of the Eligibility Exporters. If eligibilities map contains a key for an SLI which has not been declared in the binary flags, there will be an error message emitted in the Eligibility Exporter log and the metric for the SLI in question will not be emitted.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource": { +"description": "Describes provisioned dataplane resources.", +"id": "GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource", +"properties": { +"resourceType": { +"description": "Type of the resource. This can be either a GCP resource or a custom one (e.g. another cloud provider's VM). For GCP compute resources use singular form of the names listed in GCP compute API documentation (https://cloud.google.com/compute/docs/reference/rest/v1/), prefixed with 'compute-', for example: 'compute-instance', 'compute-disk', 'compute-autoscaler'.", +"type": "string" +}, +"resourceUrl": { +"description": "URL identifying the resource, e.g. \"https://www.googleapis.com/compute/v1/projects/...)\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility": { +"description": "SloEligibility is a tuple containing eligibility value: true if an instance is eligible for SLO calculation or false if it should be excluded from all SLO-related calculations along with a user-defined reason.", +"id": "GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility", +"properties": { +"eligible": { +"description": "Whether an instance is eligible or ineligible.", +"type": "boolean" +}, +"reason": { +"description": "User-defined reason for the current value of instance eligibility. Usually, this can be directly mapped to the internal state. An empty reason is allowed.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata": { +"description": "SloMetadata contains resources required for proper SLO classification of the instance.", +"id": "GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata", +"properties": { +"nodes": { +"description": "Optional. List of nodes. Some producers need to use per-node metadata to calculate SLO. This field allows such producers to publish per-node SLO meta data, which will be consumed by SSA Eligibility Exporter and published in the form of per node metric to Monarch.", +"items": { +"$ref": "GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata" +}, +"type": "array" +}, +"perSliEligibility": { +"$ref": "GoogleCloudSaasacceleratorManagementProvidersV1PerSliSloEligibility", +"description": "Optional. Multiple per-instance SLI eligibilities which apply for individual SLIs." +}, +"tier": { +"description": "Name of the SLO tier the Instance belongs to. This name will be expected to match the tiers specified in the service SLO configuration. Field is mandatory and must not be empty.", +"type": "string" +} +}, +"type": "object" +}, +"IOPSPerTB": { +"description": "IOPS per TB. Filestore defines TB as 1024^4 bytes (TiB).", +"id": "IOPSPerTB", +"properties": { +"maxIopsPerTb": { +"description": "Required. Maximum IOPS per TiB.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"Instance": { +"description": "A Filestore instance.", +"id": "Instance", +"properties": { +"capacityGb": { +"description": "The storage capacity of the instance in gigabytes (GB = 1024^3 bytes). This capacity can be increased up to `max_capacity_gb` GB in multipliers of `capacity_step_size_gb` GB.", +"format": "int64", +"type": "string" +}, +"capacityStepSizeGb": { +"description": "Output only. The increase/decrease capacity step size.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"configurablePerformanceEnabled": { +"description": "Output only. Indicates whether this instance's performance is configurable. If enabled, adjust it using the 'performance_config' field.", +"readOnly": true, +"type": "boolean" +}, +"createTime": { +"description": "Output only. The time when the instance was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deletionProtectionEnabled": { +"description": "Optional. Indicates whether the instance is protected against deletion.", +"type": "boolean" +}, +"deletionProtectionReason": { +"description": "Optional. The reason for enabling deletion protection.", +"type": "string" +}, +"description": { +"description": "The description of the instance (2048 characters or less).", +"type": "string" +}, +"directoryServices": { +"$ref": "DirectoryServicesConfig", +"description": "Optional. Directory Services configuration for Kerberos-based authentication. Should only be set if protocol is \"NFS_V4_1\"." +}, +"etag": { +"description": "Server-specified ETag for the instance resource to prevent simultaneous updates from overwriting each other.", +"type": "string" +}, +"fileShares": { +"description": "File system shares on the instance. For this version, only a single file share is supported.", +"items": { +"$ref": "FileShareConfig" +}, +"type": "array" +}, +"kmsKeyName": { +"description": "KMS key name used for data encryption.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Resource labels to represent user provided metadata.", +"type": "object" +}, +"maxCapacityGb": { +"description": "Output only. The max capacity of the instance.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"maxShareCount": { +"description": "The max number of shares allowed.", +"format": "int64", +"type": "string" +}, +"multiShareEnabled": { +"description": "Indicates whether this instance uses a multi-share configuration with which it can have more than one file-share or none at all. File-shares are added, updated and removed through the separate file-share APIs.", +"type": "boolean" +}, +"name": { +"description": "Output only. The resource name of the instance, in the format `projects/{project_id}/locations/{location_id}/instances/{instance_id}`.", +"readOnly": true, +"type": "string" +}, +"networks": { +"description": "VPC networks to which the instance is connected. For this version, only a single network is supported.", +"items": { +"$ref": "NetworkConfig" +}, +"type": "array" +}, +"performanceConfig": { +"$ref": "PerformanceConfig", +"description": "Optional. Used to configure performance." +}, +"performanceLimits": { +"$ref": "PerformanceLimits", +"description": "Output only. Used for getting performance limits.", +"readOnly": true +}, +"protocol": { +"description": "Immutable. The protocol indicates the access protocol for all shares in the instance. This field is immutable and it cannot be changed after the instance has been created. Default value: `NFS_V3`.", +"enum": [ +"FILE_PROTOCOL_UNSPECIFIED", +"NFS_V3", +"NFS_V4_1" +], +"enumDescriptions": [ +"FILE_PROTOCOL_UNSPECIFIED serves a \"not set\" default value when a FileProtocol is a separate field in a message.", +"NFS 3.0.", +"NFS 4.1." +], +"type": "string" +}, +"replication": { +"$ref": "Replication", +"description": "Optional. Replication 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" +}, +"state": { +"description": "Output only. The instance state.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"READY", +"REPAIRING", +"DELETING", +"ERROR", +"RESTORING", +"SUSPENDED", +"REVERTING", +"SUSPENDING", +"RESUMING", +"PROMOTING" +], +"enumDescriptions": [ +"State not set.", +"The instance is being created.", +"The instance is available for use.", +"Work is being done on the instance. You can get further details from the `statusMessage` field of the `Instance` resource.", +"The instance is shutting down.", +"The instance is experiencing an issue and might be unusable. You can get further details from the `statusMessage` field of the `Instance` resource.", +"The instance is restoring a snapshot or backup to an existing file share and may be unusable during this time.", +"The instance is suspended. You can get further details from the `suspension_reasons` field of the `Instance` resource.", +"The instance is reverting to a snapshot.", +"The instance is in the process of becoming suspended.", +"The instance is in the process of becoming active.", +"The replica instance is being promoted." +], +"readOnly": true, +"type": "string" +}, +"statusMessage": { +"description": "Output only. Additional information about the instance state, if available.", +"readOnly": true, +"type": "string" +}, +"suspensionReasons": { +"description": "Output only. Field indicates all the reasons the instance is in \"SUSPENDED\" state.", +"items": { +"enum": [ +"SUSPENSION_REASON_UNSPECIFIED", +"KMS_KEY_ISSUE" +], +"enumDescriptions": [ +"Not set.", +"The KMS key used by the instance is either revoked or denied access to." +], +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"tags": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Input only. Immutable. Tag key-value pairs bound to this resource. Each key must be a namespaced name and each value a short name. Example: \"123456789012/environment\" : \"production\", \"123456789013/costCenter\" : \"marketing\" See the documentation for more information: - Namespaced name: https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing#retrieving_tag_key - Short name: https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing#retrieving_tag_value", +"type": "object" +}, +"tier": { +"description": "The service tier of the instance.", +"enum": [ +"TIER_UNSPECIFIED", +"STANDARD", +"PREMIUM", +"BASIC_HDD", +"BASIC_SSD", +"HIGH_SCALE_SSD", +"ENTERPRISE", +"ZONAL", +"REGIONAL" +], +"enumDescriptions": [ +"Not set.", +"STANDARD tier. BASIC_HDD is the preferred term for this tier.", +"PREMIUM tier. BASIC_SSD is the preferred term for this tier.", +"BASIC instances offer a maximum capacity of 63.9 TB. BASIC_HDD is an alias for STANDARD Tier, offering economical performance backed by HDD.", +"BASIC instances offer a maximum capacity of 63.9 TB. BASIC_SSD is an alias for PREMIUM Tier, and offers improved performance backed by SSD.", +"HIGH_SCALE instances offer expanded capacity and performance scaling capabilities.", +"ENTERPRISE instances offer the features and availability needed for mission-critical workloads.", +"ZONAL instances offer expanded capacity and performance scaling capabilities.", +"REGIONAL instances offer the features and availability needed for mission-critical workloads." +], +"type": "string" +} +}, +"type": "object" +}, +"ListBackupsResponse": { +"description": "ListBackupsResponse is the result of ListBackupsRequest.", +"id": "ListBackupsResponse", +"properties": { +"backups": { +"description": "A list of backups in the project for the specified location. If the `{location}` value in the request is \"-\", the response contains a list of backups from all locations. If any location is unreachable, the response will only return backups in reachable locations and the \"unreachable\" field will be populated with a list of unreachable locations.", +"items": { +"$ref": "Backup" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The token you can use to retrieve the next page of results. Not returned if there are no more results in the list.", +"type": "string" +}, +"unreachable": { +"description": "Unordered list. Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListInstancesResponse": { +"description": "ListInstancesResponse is the result of ListInstancesRequest.", +"id": "ListInstancesResponse", +"properties": { +"instances": { +"description": "A list of instances in the project for the specified location. If the `{location}` value in the request is \"-\", the response contains a list of instances from all locations. If any location is unreachable, the response will only return instances in reachable locations and the \"unreachable\" field will be populated with a list of unreachable locations.", +"items": { +"$ref": "Instance" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The token you can use to retrieve the next page of results. Not returned if there are no more results in the list.", +"type": "string" +}, +"unreachable": { +"description": "Unordered list. 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" +}, +"ListSharesResponse": { +"description": "ListSharesResponse is the result of ListSharesRequest.", +"id": "ListSharesResponse", +"properties": { +"nextPageToken": { +"description": "The token you can use to retrieve the next page of results. Not returned if there are no more results in the list.", +"type": "string" +}, +"shares": { +"description": "A list of shares in the project for the specified instance.", +"items": { +"$ref": "Share" +}, +"type": "array" +}, +"unreachable": { +"description": "Unordered list. Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListSnapshotsResponse": { +"description": "ListSnapshotsResponse is the result of ListSnapshotsRequest.", +"id": "ListSnapshotsResponse", +"properties": { +"nextPageToken": { +"description": "The token you can use to retrieve the next page of results. Not returned if there are no more results in the list.", +"type": "string" +}, +"snapshots": { +"description": "A list of snapshots in the project for the specified instance.", +"items": { +"$ref": "Snapshot" +}, +"type": "array" +}, +"unreachable": { +"description": "Unordered list. 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" +}, +"MaintenancePolicy": { +"description": "Defines policies to service maintenance events.", +"id": "MaintenancePolicy", +"properties": { +"createTime": { +"description": "Output only. The time when the resource was created.", +"format": "google-datetime", +"type": "string" +}, +"description": { +"description": "Optional. Description of what this policy is for. Create/Update methods return INVALID_ARGUMENT if the length is greater than 512.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Resource labels to represent user provided metadata. Each label is a key-value pair, where both the key and the value are arbitrary strings provided by the user.", +"type": "object" +}, +"name": { +"description": "Required. MaintenancePolicy name using the form: `projects/{project_id}/locations/{location_id}/maintenancePolicies/{maintenance_policy_id}` where {project_id} refers to a GCP consumer project ID, {location_id} refers to a GCP region/zone, {maintenance_policy_id} must be 1-63 characters long and match the regular expression `[a-z0-9]([-a-z0-9]*[a-z0-9])?`.", +"type": "string" +}, +"state": { +"description": "Optional. The state of the policy.", +"enum": [ +"STATE_UNSPECIFIED", +"READY", +"DELETING" +], +"enumDescriptions": [ +"Unspecified state.", +"Resource is ready to be used.", +"Resource is being deleted. It can no longer be attached to instances." +], +"type": "string" +}, +"updatePolicy": { +"$ref": "UpdatePolicy", +"description": "Maintenance policy applicable to instance update." +}, +"updateTime": { +"description": "Output only. The time when the resource was updated.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"MaintenanceWindow": { +"description": "MaintenanceWindow definition.", +"id": "MaintenanceWindow", +"properties": { +"dailyCycle": { +"$ref": "DailyCycle", +"description": "Daily cycle." +}, +"weeklyCycle": { +"$ref": "WeeklyCycle", +"description": "Weekly cycle." +} +}, +"type": "object" +}, +"ManagedActiveDirectoryConfig": { +"description": "ManagedActiveDirectoryConfig contains all the parameters for connecting to Managed Service for Microsoft Active Directory (Managed Microsoft AD).", +"id": "ManagedActiveDirectoryConfig", +"properties": { +"computer": { +"description": "Required. The computer name is used as a prefix in the command to mount the remote target. For example: if the computer is `my-computer`, the mount command will look like: `$mount -o vers=4.1,sec=krb5 my-computer.filestore.: `.", +"type": "string" +}, +"domain": { +"description": "Required. The domain resource name, in the format `projects/{project_id}/locations/global/domains/{domain}`.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkConfig": { +"description": "Network configuration for the instance.", +"id": "NetworkConfig", +"properties": { +"connectMode": { +"description": "The network connect mode of the Filestore instance. If not provided, the connect mode defaults to DIRECT_PEERING.", +"enum": [ +"CONNECT_MODE_UNSPECIFIED", +"DIRECT_PEERING", +"PRIVATE_SERVICE_ACCESS" +], +"enumDescriptions": [ +"ConnectMode not set.", +"Connect via direct peering to the Filestore service.", +"Connect to your Filestore instance using Private Service Access. Private services access provides an IP address range for multiple Google Cloud services, including Filestore." +], +"type": "string" +}, +"ipAddresses": { +"description": "Output only. IPv4 addresses in the format `{octet1}.{octet2}.{octet3}.{octet4}` or IPv6 addresses in the format `{block1}:{block2}:{block3}:{block4}:{block5}:{block6}:{block7}:{block8}`.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"modes": { +"description": "Internet protocol versions for which the instance has IP addresses assigned. For this version, only MODE_IPV4 is supported.", +"items": { +"enum": [ +"ADDRESS_MODE_UNSPECIFIED", +"MODE_IPV4" +], +"enumDescriptions": [ +"Internet protocol not set.", +"Use the IPv4 internet protocol." +], +"type": "string" +}, +"type": "array" +}, +"network": { +"description": "The name of the Google Compute Engine [VPC network](https://cloud.google.com/vpc/docs/vpc) to which the instance is connected.", +"type": "string" +}, +"reservedIpRange": { +"description": "Optional, reserved_ip_range can have one of the following two types of values. * CIDR range value when using DIRECT_PEERING connect mode. * [Allocated IP address range](https://cloud.google.com/compute/docs/ip-addresses/reserve-static-internal-ip-address) when using PRIVATE_SERVICE_ACCESS connect mode. When the name of an allocated IP address range is specified, it must be one of the ranges associated with the private service access connection. When specified as a direct CIDR value, it must be a /29 CIDR block for Basic tier, a /24 CIDR block for High Scale tier, or a /26 CIDR block for Enterprise tier in one of the [internal IP address ranges](https://www.arin.net/reference/research/statistics/address_filters/) that identifies the range of IP addresses reserved for this instance. For example, 10.0.0.0/29, 192.168.0.0/24, or 192.168.0.0/26, respectively. The range you specify can't overlap with either existing subnets or assigned IP address ranges for other Filestore instances in the selected VPC network.", +"type": "string" +} +}, +"type": "object" +}, +"NfsExportOptions": { +"description": "NFS export options specifications.", +"id": "NfsExportOptions", +"properties": { +"accessMode": { +"description": "Either READ_ONLY, for allowing only read requests on the exported directory, or READ_WRITE, for allowing both read and write requests. The default is READ_WRITE.", +"enum": [ +"ACCESS_MODE_UNSPECIFIED", +"READ_ONLY", +"READ_WRITE" +], +"enumDescriptions": [ +"AccessMode not set.", +"The client can only read the file share.", +"The client can read and write the file share (default)." +], +"type": "string" +}, +"anonGid": { +"description": "An integer representing the anonymous group id with a default value of 65534. Anon_gid may only be set with squash_mode of ROOT_SQUASH. An error will be returned if this field is specified for other squash_mode settings.", +"format": "int64", +"type": "string" +}, +"anonUid": { +"description": "An integer representing the anonymous user id with a default value of 65534. Anon_uid may only be set with squash_mode of ROOT_SQUASH. An error will be returned if this field is specified for other squash_mode settings.", +"format": "int64", +"type": "string" +}, +"ipRanges": { +"description": "List of either an IPv4 addresses in the format `{octet1}.{octet2}.{octet3}.{octet4}` or CIDR ranges in the format `{octet1}.{octet2}.{octet3}.{octet4}/{mask size}` which may mount the file share. Overlapping IP ranges are not allowed, both within and across NfsExportOptions. An error will be returned. The limit is 64 IP ranges/addresses for each FileShareConfig among all NfsExportOptions.", +"items": { +"type": "string" +}, +"type": "array" +}, +"securityFlavors": { +"description": "The security flavors allowed for mount operations. The default is AUTH_SYS.", +"items": { +"enum": [ +"SECURITY_FLAVOR_UNSPECIFIED", +"AUTH_SYS", +"KRB5", +"KRB5I", +"KRB5P" +], +"enumDescriptions": [ +"SecurityFlavor not set.", +"The user's UNIX user-id and group-ids are transferred \"in the clear\" (not encrypted) on the network, unauthenticated by the NFS server (default).", +"End-user authentication through Kerberos V5.", +"krb5 plus integrity protection (data packets are tamper proof).", +"krb5i plus privacy protection (data packets are tamper proof and encrypted)." +], +"type": "string" +}, +"type": "array" +}, +"squashMode": { +"description": "Either NO_ROOT_SQUASH, for allowing root access on the exported directory, or ROOT_SQUASH, for not allowing root access. The default is NO_ROOT_SQUASH.", +"enum": [ +"SQUASH_MODE_UNSPECIFIED", +"NO_ROOT_SQUASH", +"ROOT_SQUASH" +], +"enumDescriptions": [ +"SquashMode not set.", +"The Root user has root access to the file share (default).", +"The Root user has squashed access to the anonymous uid/gid." +], +"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" +}, +"cancelRequested": { +"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" +}, +"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" +}, +"PerformanceConfig": { +"description": "Used for setting the performance configuration. If the user doesn't specify PerformanceConfig, automatically provision the default performance settings as described in https://cloud.google.com/filestore/docs/performance. Larger instances will be linearly set to more IOPS. If the instance's capacity is increased or decreased, its performance will be automatically adjusted upwards or downwards accordingly (respectively).", +"id": "PerformanceConfig", +"properties": { +"fixedIops": { +"$ref": "FixedIOPS", +"description": "Choose a fixed provisioned IOPS value for the instance, which will remain constant regardless of instance capacity. Value must be a multiple of 1000. If the chosen value is outside the supported range for the instance's capacity during instance creation, instance creation will fail with an `InvalidArgument` error. Similarly, if an instance capacity update would result in a value outside the supported range, the update will fail with an `InvalidArgument` error." +}, +"iopsPerTb": { +"$ref": "IOPSPerTB", +"description": "Provision IOPS dynamically based on the capacity of the instance. Provisioned read IOPS will be calculated by multiplying the capacity of the instance in TiB by the `iops_per_tb` value. For example, for a 2 TiB instance with an `iops_per_tb` value of 17000 the provisioned read IOPS will be 34000. If the calculated value is outside the supported range for the instance's capacity during instance creation, instance creation will fail with an `InvalidArgument` error. Similarly, if an instance capacity update would result in a value outside the supported range, the update will fail with an `InvalidArgument` error." +} +}, +"type": "object" +}, +"PerformanceLimits": { +"description": "The enforced performance limits, calculated from the instance's performance configuration.", +"id": "PerformanceLimits", +"properties": { +"maxReadIops": { +"description": "Output only. The max read IOPS.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"maxReadThroughputBps": { +"description": "Output only. The max read throughput in bytes per second.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"maxWriteIops": { +"description": "Output only. The max write IOPS.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"maxWriteThroughputBps": { +"description": "Output only. The max write throughput in bytes per second.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"PromoteReplicaRequest": { +"description": "PromoteReplicaRequest promotes a Filestore standby instance (replica).", +"id": "PromoteReplicaRequest", +"properties": {}, +"type": "object" +}, +"ReplicaConfig": { +"description": "Replica configuration for the instance.", +"id": "ReplicaConfig", +"properties": { +"lastActiveSyncTime": { +"description": "Output only. The timestamp of the latest replication snapshot taken on the active instance and is already replicated safely.", +"format": "google-datetime", +"type": "string" +}, +"peerInstance": { +"description": "The peer instance.", +"type": "string" +}, +"state": { +"description": "Output only. The replica state.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"READY", +"REMOVING", +"FAILED" +], +"enumDescriptions": [ +"State not set.", +"The replica is being created.", +"The replica is ready.", +"The replica is being removed.", +"The replica is experiencing an issue and might be unusable. You can get further details from the `stateReasons` field of the `ReplicaConfig` object." +], +"type": "string" +}, +"stateReasons": { +"description": "Output only. Additional information about the replication state, if available.", +"items": { +"enum": [ +"STATE_REASON_UNSPECIFIED", +"PEER_INSTANCE_UNREACHABLE" +], +"enumDescriptions": [ +"Reason not specified.", +"The peer instance is unreachable." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Replication": { +"description": "Replication specifications.", +"id": "Replication", +"properties": { +"replicas": { +"description": "Replication configuration for the replica instance associated with this instance. Only a single replica is supported.", +"items": { +"$ref": "ReplicaConfig" +}, +"type": "array" +}, +"role": { +"description": "Output only. The replication role.", +"enum": [ +"ROLE_UNSPECIFIED", +"ACTIVE", +"STANDBY" +], +"enumDescriptions": [ +"Role not set.", +"The instance is the `ACTIVE` replication member, functions as the replication source instance.", +"The instance is the `STANDBY` replication member, functions as the replication destination instance." +], +"type": "string" +} +}, +"type": "object" +}, +"RestoreInstanceRequest": { +"description": "RestoreInstanceRequest restores an existing instance's file share from a backup.", +"id": "RestoreInstanceRequest", +"properties": { +"fileShare": { +"description": "Required. Name of the file share in the Filestore instance that the backup is being restored to.", +"type": "string" +}, +"sourceBackup": { +"description": "The resource name of the backup, in the format `projects/{project_id}/locations/{location_id}/backups/{backup_id}`.", +"type": "string" +}, +"sourceSnapshot": { +"deprecated": true, +"description": "The resource name of the snapshot, in the format `projects/{project_id}/locations/{location_id}/snapshots/{snapshot_id}`.", +"type": "string" +} +}, +"type": "object" +}, +"RevertInstanceRequest": { +"description": "RevertInstanceRequest reverts the given instance's file share to the specified snapshot.", +"id": "RevertInstanceRequest", +"properties": { +"targetSnapshotId": { +"description": "Required. The snapshot resource ID, in the format 'my-snapshot', where the specified ID is the {snapshot_id} of the fully qualified name like `projects/{project_id}/locations/{location_id}/instances/{instance_id}/snapshots/{snapshot_id}`", +"type": "string" +} +}, +"type": "object" +}, +"Schedule": { +"description": "Configure the schedule.", +"id": "Schedule", +"properties": { +"day": { +"description": "Allows to define schedule that runs specified day of the week.", +"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" +}, +"duration": { +"description": "Output only. Duration of the time window, set by service producer.", +"format": "google-duration", +"type": "string" +}, +"startTime": { +"$ref": "TimeOfDay", +"description": "Time within the window to start the operations." +} +}, +"type": "object" +}, +"Share": { +"description": "A Filestore share.", +"id": "Share", +"properties": { +"backup": { +"description": "Immutable. Full name of the Cloud Filestore Backup resource that this Share is restored from, in the format of projects/{project_id}/locations/{location_id}/backups/{backup_id}. Empty, if the Share is created from scratch and not restored from a backup.", +"type": "string" +}, +"capacityGb": { +"description": "File share capacity in gigabytes (GB). Filestore defines 1 GB as 1024^3 bytes. Must be greater than 0.", +"format": "int64", +"type": "string" +}, +"createTime": { +"description": "Output only. The time when the share was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "A description of the share with 2048 characters or less. Requests with longer descriptions will be rejected.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Resource labels to represent user provided metadata.", +"type": "object" +}, +"mountName": { +"description": "The mount name of the share. Must be 63 characters or less and consist of uppercase or lowercase letters, numbers, and underscores.", +"type": "string" +}, +"name": { +"description": "Output only. The resource name of the share, in the format `projects/{project_id}/locations/{location_id}/instances/{instance_id}/shares/{share_id}`.", +"readOnly": true, +"type": "string" +}, +"nfsExportOptions": { +"description": "Nfs Export Options. There is a limit of 10 export options per file share.", +"items": { +"$ref": "NfsExportOptions" +}, +"type": "array" +}, +"state": { +"description": "Output only. The share state.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"READY", +"DELETING" +], +"enumDescriptions": [ +"State not set.", +"Share is being created.", +"Share is ready for use.", +"Share is being deleted." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Snapshot": { +"description": "A Filestore snapshot.", +"id": "Snapshot", +"properties": { +"createTime": { +"description": "Output only. The time when the snapshot was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "A description of the snapshot with 2048 characters or less. Requests with longer descriptions will be rejected.", +"type": "string" +}, +"filesystemUsedBytes": { +"description": "Output only. The amount of bytes needed to allocate a full copy of the snapshot content", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Resource labels to represent user provided metadata.", +"type": "object" +}, +"name": { +"description": "Output only. The resource name of the snapshot, in the format `projects/{project_id}/locations/{location_id}/instances/{instance_id}/snapshots/{snapshot_id}`.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The snapshot state.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"READY", +"DELETING" +], +"enumDescriptions": [ +"State not set.", +"Snapshot is being created.", +"Snapshot is available for use.", +"Snapshot is being deleted." +], +"readOnly": true, +"type": "string" +}, +"tags": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Input only. Immutable. Tag key-value pairs bound to this resource. Each key must be a namespaced name and each value a short name. Example: \"123456789012/environment\" : \"production\", \"123456789013/costCenter\" : \"marketing\" See the documentation for more information: - Namespaced name: https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing#retrieving_tag_key - Short name: https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing#retrieving_tag_value", +"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" +}, +"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" +}, +"UpdatePolicy": { +"description": "Maintenance policy applicable to instance updates.", +"id": "UpdatePolicy", +"properties": { +"channel": { +"description": "Optional. Relative scheduling channel applied to resource.", +"enum": [ +"UPDATE_CHANNEL_UNSPECIFIED", +"EARLIER", +"LATER", +"WEEK1", +"WEEK2", +"WEEK5" +], +"enumDescriptions": [ +"Unspecified channel.", +"Early channel within a customer project.", +"Later channel within a customer project.", +"! ! The follow channels can ONLY be used if you adopt the new MW system! ! ! NOTE: all WEEK channels are assumed to be under a weekly window. ! There is currently no dedicated channel definitions for Daily windows. ! If you use Daily window, the system will assume a 1d (24Hours) advanced ! notification period b/w EARLY and LATER. ! We may consider support more flexible daily channel specifications in ! the future. WEEK1 == EARLIER with minimum 7d advanced notification. {7d, 14d} The system will treat them equally and will use WEEK1 whenever it can. New customers are encouraged to use this channel annotation.", +"WEEK2 == LATER with minimum 14d advanced notification {14d, 21d}.", +"WEEK5 == 40d support. minimum 35d advanced notification {35d, 42d}." +], +"type": "string" +}, +"denyMaintenancePeriods": { +"description": "Deny Maintenance Period that is applied to resource to indicate when maintenance is forbidden. The protocol supports zero-to-many such periods, but the current SLM Rollout implementation only supports zero-to-one.", +"items": { +"$ref": "DenyMaintenancePeriod" +}, +"type": "array" +}, +"window": { +"$ref": "MaintenanceWindow", +"description": "Optional. Maintenance window that is applied to resources covered by this policy." +} +}, +"type": "object" +}, +"WeeklyCycle": { +"description": "Time window specified for weekly operations.", +"id": "WeeklyCycle", +"properties": { +"schedule": { +"description": "User can specify multiple windows in a week. Minimum of 1 window.", +"items": { +"$ref": "Schedule" +}, +"type": "array" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Filestore 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/firebasedataconnect.v1beta.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/firebasedataconnect.v1beta.json new file mode 100644 index 0000000000000000000000000000000000000000..071481809f634a3cf662513b218ec9ac174299e6 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/firebasedataconnect.v1beta.json @@ -0,0 +1,1843 @@ +{ +"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://firebasedataconnect.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Firebase Data Connect", +"description": "Firebase Data Connect is a relational database service for mobile and web apps that lets you build and scale using a fully-managed PostgreSQL database powered by Cloud SQL. The REST API lets developers manage the connections to their database, change the schema of their database, and query the database.", +"discoveryVersion": "v1", +"documentationLink": "https://firebase.google.com/docs/data-connect", +"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": "firebasedataconnect:v1beta", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://firebasedataconnect.mtls.googleapis.com/", +"name": "firebasedataconnect", +"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": "firebasedataconnect.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": "firebasedataconnect.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": "v1beta/{+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": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "firebasedataconnect.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": "firebasedataconnect.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": "firebasedataconnect.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": "firebasedataconnect.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" +] +} +} +}, +"services": { +"methods": { +"create": { +"description": "Creates a new Service in a given project and location.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services", +"httpMethod": "POST", +"id": "firebasedataconnect.projects.locations.services.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Value of 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" +}, +"serviceId": { +"description": "Required. The ID to use for the service, which will become the final component of the service's resource name.", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validate the request and preview the Service, but do not actually create it.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta/{+parent}/services", +"request": { +"$ref": "Service" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single Service.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}", +"httpMethod": "DELETE", +"id": "firebasedataconnect.projects.locations.services.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "Optional. If true and the Service is not found, the request will succeed but no action will be taken on the server.", +"location": "query", +"type": "boolean" +}, +"etag": { +"description": "Optional. The etag of the Service. If this is provided, it must match the server's etag.", +"location": "query", +"type": "string" +}, +"force": { +"description": "Optional. If set to true, any child resources (i.e. Schema, SchemaRevisions, Connectors, and ConnectorRevisions) will also be deleted. Otherwise, the request will only work if the Service has no child resources.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the service to delete, in the format: ``` projects/{project}/locations/{location}/services/{service} ```", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"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 and preview the Service, but do not actually delete it.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"executeGraphql": { +"description": "Execute any GraphQL query and mutation against the Firebase Data Connect's generated GraphQL schema. Grants full read and write access to the connected data sources. Note: Use introspection query to explore the generated GraphQL schema.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:executeGraphql", +"httpMethod": "POST", +"id": "firebasedataconnect.projects.locations.services.executeGraphql", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of Firebase Data Connect service, in the format: ``` projects/{project}/locations/{location}/services/{service} ```", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}:executeGraphql", +"request": { +"$ref": "GraphqlRequest" +}, +"response": { +"$ref": "GraphqlResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"executeGraphqlRead": { +"description": "Execute any GraphQL query against the Firebase Data Connect's generated GraphQL schema. Grants full read to the connected data sources. `ExecuteGraphqlRead` is identical to `ExecuteGraphql` except it only accepts read-only query.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:executeGraphqlRead", +"httpMethod": "POST", +"id": "firebasedataconnect.projects.locations.services.executeGraphqlRead", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of Firebase Data Connect service, in the format: ``` projects/{project}/locations/{location}/services/{service} ```", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}:executeGraphqlRead", +"request": { +"$ref": "GraphqlRequest" +}, +"response": { +"$ref": "GraphqlResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single Service.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}", +"httpMethod": "GET", +"id": "firebasedataconnect.projects.locations.services.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the service to retrieve, in the format: ``` projects/{project}/locations/{location}/services/{service} ```", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "Service" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Services in a given project and location.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services", +"httpMethod": "GET", +"id": "firebasedataconnect.projects.locations.services.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 page token, received from a previous `ListServices` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListServices` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Value of parent.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/services", +"response": { +"$ref": "ListServicesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single Service.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}", +"httpMethod": "PATCH", +"id": "firebasedataconnect.projects.locations.services.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "Optional. If true and the Service is not found, a new Service will be created. In this case, `update_mask` is ignored.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Identifier. The relative resource name of the Firebase Data Connect service, in the format: ``` projects/{project}/locations/{location}/services/{service} ``` Note that the service ID is specific to Firebase Data Connect and does not correspond to any of the instance IDs of the underlying data source connections.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"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": "Optional. Field mask is used to specify the fields to be overwritten in the Service 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 and preview the Service, but do not actually update it.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "Service" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"connectors": { +"methods": { +"create": { +"description": "Creates a new Connector in a given project and location. The operations are validated against and must be compatible with the active schema. If the operations and schema are not compatible or if the schema is not present, this will result in an error.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/connectors", +"httpMethod": "POST", +"id": "firebasedataconnect.projects.locations.services.connectors.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"connectorId": { +"description": "Required. The ID to use for the connector, which will become the final component of the connector's resource name.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Value for parent.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"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 and preview the Connector, but do not actually create it.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta/{+parent}/connectors", +"request": { +"$ref": "Connector" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single Connector.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/connectors/{connectorsId}", +"httpMethod": "DELETE", +"id": "firebasedataconnect.projects.locations.services.connectors.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "Optional. If true and the Connector is not found, the request will succeed but no action will be taken on the server.", +"location": "query", +"type": "boolean" +}, +"etag": { +"description": "Optional. The etag of the Connector. If this is provided, it must match the server's etag.", +"location": "query", +"type": "string" +}, +"force": { +"description": "Optional. If set to true, any child resources (i.e. ConnectorRevisions) will also be deleted. Otherwise, the request will only work if the Connector has no child resources.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the connector to delete, in the format: ``` projects/{project}/locations/{location}/services/{service}/connectors/{connector} ```", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/connectors/[^/]+$", +"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 and preview the Connector, but do not actually delete it.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"executeMutation": { +"description": "Execute a predefined mutation in a Connector.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/connectors/{connectorsId}:executeMutation", +"httpMethod": "POST", +"id": "firebasedataconnect.projects.locations.services.connectors.executeMutation", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the connector to find the predefined mutation, in the format: ``` projects/{project}/locations/{location}/services/{service}/connectors/{connector} ```", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/connectors/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}:executeMutation", +"request": { +"$ref": "ExecuteMutationRequest" +}, +"response": { +"$ref": "ExecuteMutationResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"executeQuery": { +"description": "Execute a predefined query in a Connector.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/connectors/{connectorsId}:executeQuery", +"httpMethod": "POST", +"id": "firebasedataconnect.projects.locations.services.connectors.executeQuery", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the connector to find the predefined query, in the format: ``` projects/{project}/locations/{location}/services/{service}/connectors/{connector} ```", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/connectors/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}:executeQuery", +"request": { +"$ref": "ExecuteQueryRequest" +}, +"response": { +"$ref": "ExecuteQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single Connector.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/connectors/{connectorsId}", +"httpMethod": "GET", +"id": "firebasedataconnect.projects.locations.services.connectors.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the connector to retrieve, in the format: ``` projects/{project}/locations/{location}/services/{service}/connectors/{connector} ```", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/connectors/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "Connector" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Connectors in a given project and location.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/connectors", +"httpMethod": "GET", +"id": "firebasedataconnect.projects.locations.services.connectors.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 page token, received from a previous `ListConnectors` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListConnectors` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Value of parent.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/connectors", +"response": { +"$ref": "ListConnectorsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single Connector, and creates a new ConnectorRevision with the updated Connector. The operations are validated against and must be compatible with the live schema. If the operations and schema are not compatible or if the schema is not present, this will result in an error.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/connectors/{connectorsId}", +"httpMethod": "PATCH", +"id": "firebasedataconnect.projects.locations.services.connectors.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "Optional. If true and the Connector is not found, a new Connector will be created. In this case, `update_mask` is ignored.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Identifier. The relative resource name of the connector, in the format: ``` projects/{project}/locations/{location}/services/{service}/connectors/{connector} ```", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/connectors/[^/]+$", +"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": "Optional. Field mask is used to specify the fields to be overwritten in the Connector 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 and preview the Connector, but do not actually update it.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "Connector" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"schemas": { +"methods": { +"create": { +"description": "Creates a new Schema in a given project and location. Only creation of `schemas/main` is supported and calling create with any other schema ID will result in an error.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/schemas", +"httpMethod": "POST", +"id": "firebasedataconnect.projects.locations.services.schemas.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Value for parent.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"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" +}, +"schemaId": { +"description": "Required. The ID to use for the schema, which will become the final component of the schema's resource name. Currently, only `main` is supported and any other schema ID will result in an error.", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validate the request and preview the Schema, but do not actually update it.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta/{+parent}/schemas", +"request": { +"$ref": "Schema" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single Schema. Because the schema and connectors must be compatible at all times, if this is called while any connectors are active, this will result in an error.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/schemas/{schemasId}", +"httpMethod": "DELETE", +"id": "firebasedataconnect.projects.locations.services.schemas.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "Optional. If true and the Schema is not found, the request will succeed but no action will be taken on the server.", +"location": "query", +"type": "boolean" +}, +"etag": { +"description": "Optional. The etag of the Schema. If this is provided, it must match the server's etag.", +"location": "query", +"type": "string" +}, +"force": { +"description": "Optional. If set to true, any child resources (i.e. SchemaRevisions) will also be deleted.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the schema to delete, in the format: ``` projects/{project}/locations/{location}/services/{service}/schemas/{schema} ```", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/schemas/[^/]+$", +"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 and preview the Schema, but do not actually delete it.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single Schema.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/schemas/{schemasId}", +"httpMethod": "GET", +"id": "firebasedataconnect.projects.locations.services.schemas.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the schema to retrieve, in the format: ``` projects/{project}/locations/{location}/services/{service}/schemas/{schema} ```", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/schemas/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "Schema" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Schemas in a given project and location. Note that only `schemas/main` is supported, so this will always return at most one Schema.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/schemas", +"httpMethod": "GET", +"id": "firebasedataconnect.projects.locations.services.schemas.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 page token, received from a previous `ListSchemas` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSchemas` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Value of parent.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/schemas", +"response": { +"$ref": "ListSchemasResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single Schema, and creates a new SchemaRevision with the updated Schema.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/schemas/{schemasId}", +"httpMethod": "PATCH", +"id": "firebasedataconnect.projects.locations.services.schemas.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "Optional. If true and the Schema is not found, a new Schema will be created. In this case, `update_mask` is ignored.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Identifier. The relative resource name of the schema, in the format: ``` projects/{project}/locations/{location}/services/{service}/schemas/{schema} ``` Right now, the only supported schema is \"main\".", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/schemas/[^/]+$", +"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": "Optional. Field mask is used to specify the fields to be overwritten in the Schema 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 and preview the Schema, but do not actually update it.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "Schema" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +} +}, +"revision": "20250105", +"rootUrl": "https://firebasedataconnect.googleapis.com/", +"schemas": { +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"CloudSqlInstance": { +"description": "Settings for CloudSQL instance configuration.", +"id": "CloudSqlInstance", +"properties": { +"instance": { +"description": "Required. Name of the CloudSQL instance, in the format: ``` projects/{project}/locations/{location}/instances/{instance} ```", +"type": "string" +} +}, +"type": "object" +}, +"Connector": { +"description": "Connector consists of a set of operations, i.e. queries and mutations.", +"id": "Connector", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Stores small amounts of arbitrary data.", +"type": "object" +}, +"createTime": { +"description": "Output only. [Output only] Create time stamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Optional. Mutable human-readable name. 63 character limit.", +"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. [AIP-154](https://google.aip.dev/154)", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels as key value pairs.", +"type": "object" +}, +"name": { +"description": "Identifier. The relative resource name of the connector, in the format: ``` projects/{project}/locations/{location}/services/{service}/connectors/{connector} ```", +"type": "string" +}, +"reconciling": { +"description": "Output only. A field that if true, indicates that the system is working to compile and deploy the connector.", +"readOnly": true, +"type": "boolean" +}, +"source": { +"$ref": "Source", +"description": "Required. The source files that comprise the connector." +}, +"uid": { +"description": "Output only. System-assigned, unique identifier.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. [Output only] Update time stamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Datasource": { +"description": "A data source that backs Firebase Data Connect services.", +"id": "Datasource", +"properties": { +"postgresql": { +"$ref": "PostgreSql", +"description": "PostgreSQL configurations." +} +}, +"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" +}, +"ExecuteMutationRequest": { +"description": "The ExecuteMutation request to Firebase Data Connect.", +"id": "ExecuteMutationRequest", +"properties": { +"operationName": { +"description": "Required. The name of the GraphQL operation name. Required because all Connector operations must be named. See https://graphql.org/learn/queries/#operation-name.", +"type": "string" +}, +"variables": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. Values for GraphQL variables provided in this request.", +"type": "object" +} +}, +"type": "object" +}, +"ExecuteMutationResponse": { +"description": "The ExecuteMutation response from Firebase Data Connect.", +"id": "ExecuteMutationResponse", +"properties": { +"data": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The result of executing the requested operation.", +"type": "object" +}, +"errors": { +"description": "Errors of this response.", +"items": { +"$ref": "GraphqlError" +}, +"type": "array" +} +}, +"type": "object" +}, +"ExecuteQueryRequest": { +"description": "The ExecuteQuery request to Firebase Data Connect.", +"id": "ExecuteQueryRequest", +"properties": { +"operationName": { +"description": "Required. The name of the GraphQL operation name. Required because all Connector operations must be named. See https://graphql.org/learn/queries/#operation-name.", +"type": "string" +}, +"variables": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. Values for GraphQL variables provided in this request.", +"type": "object" +} +}, +"type": "object" +}, +"ExecuteQueryResponse": { +"description": "The ExecuteQuery response from Firebase Data Connect.", +"id": "ExecuteQueryResponse", +"properties": { +"data": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The result of executing the requested operation.", +"type": "object" +}, +"errors": { +"description": "Errors of this response.", +"items": { +"$ref": "GraphqlError" +}, +"type": "array" +} +}, +"type": "object" +}, +"File": { +"description": "Individual files.", +"id": "File", +"properties": { +"content": { +"description": "Required. The file's textual content.", +"type": "string" +}, +"path": { +"description": "Required. The file name including folder path, if applicable. The path should be relative to a local workspace (e.g. dataconnect/(schema|connector)/*.gql) and not an absolute path (e.g. /absolute/path/(schema|connector)/*.gql).", +"type": "string" +} +}, +"type": "object" +}, +"GraphqlError": { +"description": "GraphqlError conforms to the GraphQL error spec. https://spec.graphql.org/draft/#sec-Errors Firebase Data Connect API surfaces `GraphqlError` in various APIs: - Upon compile error, `UpdateSchema` and `UpdateConnector` return Code.Invalid_Argument with a list of `GraphqlError` in error details. - Upon query compile error, `ExecuteGraphql` and `ExecuteGraphqlRead` return Code.OK with a list of `GraphqlError` in response body. - Upon query execution error, `ExecuteGraphql`, `ExecuteGraphqlRead`, `ExecuteMutation` and `ExecuteQuery` all return Code.OK with a list of `GraphqlError` in response body.", +"id": "GraphqlError", +"properties": { +"extensions": { +"$ref": "GraphqlErrorExtensions", +"description": "Additional error information." +}, +"locations": { +"description": "The source locations where the error occurred. Locations should help developers and toolings identify the source of error quickly. Included in admin endpoints (`ExecuteGraphql`, `ExecuteGraphqlRead`, `UpdateSchema` and `UpdateConnector`) to reference the provided GraphQL GQL document. Omitted in `ExecuteMutation` and `ExecuteQuery` since the caller shouldn't have access access the underlying GQL source.", +"items": { +"$ref": "SourceLocation" +}, +"type": "array" +}, +"message": { +"description": "The detailed error message. The message should help developer understand the underlying problem without leaking internal data.", +"type": "string" +}, +"path": { +"description": "The result field which could not be populated due to error. Clients can use path to identify whether a null result is intentional or caused by a runtime error. It should be a list of string or index from the root of GraphQL query document.", +"items": { +"type": "any" +}, +"type": "array" +} +}, +"type": "object" +}, +"GraphqlErrorExtensions": { +"description": "GraphqlErrorExtensions contains additional information of `GraphqlError`.", +"id": "GraphqlErrorExtensions", +"properties": { +"file": { +"description": "The source file name where the error occurred. Included only for `UpdateSchema` and `UpdateConnector`, it corresponds to `File.path` of the provided `Source`.", +"type": "string" +} +}, +"type": "object" +}, +"GraphqlRequest": { +"description": "The GraphQL request to Firebase Data Connect. It strives to match the GraphQL over HTTP spec. https://github.com/graphql/graphql-over-http/blob/main/spec/GraphQLOverHTTP.md#post", +"id": "GraphqlRequest", +"properties": { +"extensions": { +"$ref": "GraphqlRequestExtensions", +"description": "Optional. Additional GraphQL request information." +}, +"operationName": { +"description": "Optional. The name of the GraphQL operation name. Required only if `query` contains multiple operations. See https://graphql.org/learn/queries/#operation-name.", +"type": "string" +}, +"query": { +"description": "Required. The GraphQL query document source.", +"type": "string" +}, +"variables": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. Values for GraphQL variables provided in this request.", +"type": "object" +} +}, +"type": "object" +}, +"GraphqlRequestExtensions": { +"description": "GraphqlRequestExtensions contains additional information of `GraphqlRequest`.", +"id": "GraphqlRequestExtensions", +"properties": { +"impersonate": { +"$ref": "Impersonation", +"description": "Optional. If set, impersonate a request with given Firebase Auth context and evaluate the auth policies on the operation. If omitted, bypass any defined auth policies." +} +}, +"type": "object" +}, +"GraphqlResponse": { +"description": "The GraphQL response from Firebase Data Connect. It strives to match the GraphQL over HTTP spec. Note: Firebase Data Connect always responds with `Content-Type: application/json`. https://github.com/graphql/graphql-over-http/blob/main/spec/GraphQLOverHTTP.md#body", +"id": "GraphqlResponse", +"properties": { +"data": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The result of the execution of the requested operation. If an error was raised before execution begins, the data entry should not be present in the result. (a request error: https://spec.graphql.org/draft/#sec-Errors.Request-Errors) If an error was raised during the execution that prevented a valid response, the data entry in the response should be null. (a field error: https://spec.graphql.org/draft/#sec-Errors.Error-Result-Format)", +"type": "object" +}, +"errors": { +"description": "Errors of this response. If the data entry in the response is not present, the errors entry must be present. It conforms to https://spec.graphql.org/draft/#sec-Errors.", +"items": { +"$ref": "GraphqlError" +}, +"type": "array" +} +}, +"type": "object" +}, +"Impersonation": { +"description": "Impersonation configures the Firebase Auth context to impersonate.", +"id": "Impersonation", +"properties": { +"authClaims": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Evaluate the auth policy with a customized JWT auth token. Should follow the Firebase Auth token format. https://firebase.google.com/docs/rules/rules-and-auth For example: a verified user may have auth_claims of {\"sub\": , \"email_verified\": true}", +"type": "object" +}, +"unauthenticated": { +"description": "Evaluate the auth policy as an unauthenticated request. Can only be set to true.", +"type": "boolean" +} +}, +"type": "object" +}, +"ListConnectorsResponse": { +"description": "Message for response to listing Connectors. By default, `connectors.source` will not be included in the response. To specify the fields included in the response, the response field mask can be provided by using the query parameter `$fields` or the header `X-Goog-FieldMask`.", +"id": "ListConnectorsResponse", +"properties": { +"connectors": { +"description": "The list of Connectors.", +"items": { +"$ref": "Connector" +}, +"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": "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" +}, +"ListSchemasResponse": { +"description": "Message for response to listing Schemas. By default, `schemas.source` will not be included in the response. To specify the fields included in the response, the response field mask can be provided by using the query parameter `$fields` or the header `X-Goog-FieldMask`.", +"id": "ListSchemasResponse", +"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" +}, +"schemas": { +"description": "The list of Schemas.", +"items": { +"$ref": "Schema" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListServicesResponse": { +"description": "Message for response to listing Services.", +"id": "ListServicesResponse", +"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" +}, +"services": { +"description": "The list of Services.", +"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" +}, +"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. Note: This message is auto-generated by CCFE. CCFE's storage, called Resource Metadata Store (RMS), holds metadata about long-running operations (i.e. OperationMetadata) and resources (i.e. ResourceMetadata). OperationMetadata documents the status of the operation. See [CCFE documentation for sidechannel data](https://g3doc.corp.google.com/cloud/control2/g3doc/dev/codelab_extras/sidechannel.md?cl=head#sidechannel-data) and yaqs/4289526912465764352.", +"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" +}, +"PostgreSql": { +"description": "Settings for PostgreSQL data source.", +"id": "PostgreSql", +"properties": { +"cloudSql": { +"$ref": "CloudSqlInstance", +"description": "Cloud SQL configurations." +}, +"database": { +"description": "Required. Name of the PostgreSQL database.", +"type": "string" +}, +"schemaMigration": { +"description": "Optional. Configure how to perform Postgresql schema migration.", +"enum": [ +"SQL_SCHEMA_MIGRATION_UNSPECIFIED", +"MIGRATE_COMPATIBLE" +], +"enumDescriptions": [ +"Unspecified SQL schema migration.", +"Connect to the SQL database and identify any missing SQL resources used in the given Firebase Data Connect Schema. Automatically create necessary SQL resources (SQL table, column, etc) before deploying the schema. During migration steps, the SQL Schema must comply with the previous before_deploy setting in case the migration is interrupted. Therefore, the previous before_deploy setting must not be `schema_validation=STRICT`." +], +"type": "string" +}, +"schemaValidation": { +"description": "Optional. Configure how much Postgresql schema validation to perform.", +"enum": [ +"SQL_SCHEMA_VALIDATION_UNSPECIFIED", +"NONE", +"STRICT", +"COMPATIBLE" +], +"enumDescriptions": [ +"Unspecified SQL schema validation. Default to STRICT.", +"Skip no SQL schema validation. Use it with extreme caution. CreateSchema or UpdateSchema will succeed even if SQL database is unavailable or SQL schema is incompatible. Generated SQL may fail at execution time.", +"Connect to the SQL database and validate that the SQL DDL matches the schema exactly. Surface any discrepancies as `FAILED_PRECONDITION` with an `IncompatibleSqlSchemaError` error detail.", +"Connect to the SQL database and validate that the SQL DDL has all the SQL resources used in the given Firebase Data Connect Schema. Surface any missing resources as `FAILED_PRECONDITION` with an `IncompatibleSqlSchemaError` error detail. Succeed even if there are unknown tables and columns." +], +"type": "string" +}, +"unlinked": { +"description": "No Postgres data source is linked. If set, don't allow `database` and `schema_validation` to be configured.", +"type": "boolean" +} +}, +"type": "object" +}, +"Schema": { +"description": "The application schema of a Firebase Data Connect service.", +"id": "Schema", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Stores small amounts of arbitrary data.", +"type": "object" +}, +"createTime": { +"description": "Output only. [Output only] Create time stamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"datasources": { +"description": "Required. The data sources linked in the schema.", +"items": { +"$ref": "Datasource" +}, +"type": "array" +}, +"displayName": { +"description": "Optional. Mutable human-readable name. 63 character limit.", +"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. [AIP-154](https://google.aip.dev/154)", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels as key value pairs.", +"type": "object" +}, +"name": { +"description": "Identifier. The relative resource name of the schema, in the format: ``` projects/{project}/locations/{location}/services/{service}/schemas/{schema} ``` Right now, the only supported schema is \"main\".", +"type": "string" +}, +"reconciling": { +"description": "Output only. A field that if true, indicates that the system is working to compile and deploy the schema.", +"readOnly": true, +"type": "boolean" +}, +"source": { +"$ref": "Source", +"description": "Required. The source files that comprise the application schema." +}, +"uid": { +"description": "Output only. System-assigned, unique identifier.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. [Output only] Update time stamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Service": { +"description": "A Firebase Data Connect service.", +"id": "Service", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Stores small amounts of arbitrary data.", +"type": "object" +}, +"createTime": { +"description": "Output only. [Output only] Create time stamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Optional. Mutable human-readable name. 63 character limit.", +"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. [AIP-154](https://google.aip.dev/154)", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels as key value pairs.", +"type": "object" +}, +"name": { +"description": "Identifier. The relative resource name of the Firebase Data Connect service, in the format: ``` projects/{project}/locations/{location}/services/{service} ``` Note that the service ID is specific to Firebase Data Connect and does not correspond to any of the instance IDs of the underlying data source connections.", +"type": "string" +}, +"reconciling": { +"description": "Output only. A field that if true, indicates that the system is working update the service.", +"readOnly": true, +"type": "boolean" +}, +"uid": { +"description": "Output only. System-assigned, unique identifier.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. [Output only] Update time stamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Source": { +"description": "Used to represent a set of source files.", +"id": "Source", +"properties": { +"files": { +"description": "Required. The files that comprise the source set.", +"items": { +"$ref": "File" +}, +"type": "array" +} +}, +"type": "object" +}, +"SourceLocation": { +"description": "SourceLocation references a location in a GraphQL source.", +"id": "SourceLocation", +"properties": { +"column": { +"description": "Column number starting at 1.", +"format": "int32", +"type": "integer" +}, +"line": { +"description": "Line number starting at 1.", +"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": "Firebase Data Connect 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/firestore.v1beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/firestore.v1beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..317f3ce580fb6d2d7a3cba70346be30dcd39a9b6 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/firestore.v1beta1.json @@ -0,0 +1,3025 @@ +{ +"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:v1beta1", +"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": "v1beta1/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": "v1beta1/{+name}:exportDocuments", +"request": { +"$ref": "GoogleFirestoreAdminV1beta1ExportDocumentsRequest" +}, +"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": "v1beta1/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": "v1beta1/{+name}:importDocuments", +"request": { +"$ref": "GoogleFirestoreAdminV1beta1ImportDocumentsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +} +}, +"resources": { +"documents": { +"methods": { +"batchGet": { +"description": "Gets multiple documents. Documents returned by this method are not guaranteed to be returned in the same order that they were requested.", +"flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/documents:batchGet", +"httpMethod": "POST", +"id": "firestore.projects.databases.documents.batchGet", +"parameterOrder": [ +"database" +], +"parameters": { +"database": { +"description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/databases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+database}/documents:batchGet", +"request": { +"$ref": "BatchGetDocumentsRequest" +}, +"response": { +"$ref": "BatchGetDocumentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +}, +"batchWrite": { +"description": "Applies a batch of write operations. The BatchWrite method does not apply the write operations atomically and can apply them out of order. Method does not allow more than one write per document. Each write succeeds or fails independently. See the BatchWriteResponse for the success status of each write. If you require an atomically applied set of writes, use Commit instead.", +"flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/documents:batchWrite", +"httpMethod": "POST", +"id": "firestore.projects.databases.documents.batchWrite", +"parameterOrder": [ +"database" +], +"parameters": { +"database": { +"description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/databases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+database}/documents:batchWrite", +"request": { +"$ref": "BatchWriteRequest" +}, +"response": { +"$ref": "BatchWriteResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +}, +"beginTransaction": { +"description": "Starts a new transaction.", +"flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/documents:beginTransaction", +"httpMethod": "POST", +"id": "firestore.projects.databases.documents.beginTransaction", +"parameterOrder": [ +"database" +], +"parameters": { +"database": { +"description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/databases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+database}/documents:beginTransaction", +"request": { +"$ref": "BeginTransactionRequest" +}, +"response": { +"$ref": "BeginTransactionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +}, +"commit": { +"description": "Commits a transaction, while optionally updating documents.", +"flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/documents:commit", +"httpMethod": "POST", +"id": "firestore.projects.databases.documents.commit", +"parameterOrder": [ +"database" +], +"parameters": { +"database": { +"description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/databases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+database}/documents:commit", +"request": { +"$ref": "CommitRequest" +}, +"response": { +"$ref": "CommitResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +}, +"createDocument": { +"description": "Creates a new document.", +"flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/documents/{documentsId}/{collectionId}", +"httpMethod": "POST", +"id": "firestore.projects.databases.documents.createDocument", +"parameterOrder": [ +"parent", +"collectionId" +], +"parameters": { +"collectionId": { +"description": "Required. The collection ID, relative to `parent`, to list. For example: `chatrooms`.", +"location": "path", +"required": true, +"type": "string" +}, +"documentId": { +"description": "The client-assigned document ID to use for this document. Optional. If not specified, an ID will be assigned by the service.", +"location": "query", +"type": "string" +}, +"mask.fieldPaths": { +"description": "The list of field paths in the mask. See Document.fields for a field path syntax reference.", +"location": "query", +"repeated": true, +"type": "string" +}, +"parent": { +"description": "Required. The parent resource. For example: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/chatrooms/{chatroom_id}`", +"location": "path", +"pattern": "^projects/[^/]+/databases/[^/]+/documents/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/{collectionId}", +"request": { +"$ref": "Document" +}, +"response": { +"$ref": "Document" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +}, +"delete": { +"description": "Deletes a document.", +"flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/documents/{documentsId}/{documentsId1}", +"httpMethod": "DELETE", +"id": "firestore.projects.databases.documents.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"currentDocument.exists": { +"description": "When set to `true`, the target document must exist. When set to `false`, the target document must not exist.", +"location": "query", +"type": "boolean" +}, +"currentDocument.updateTime": { +"description": "When set, the target document must exist and have been last updated at that time. Timestamp must be microsecond aligned.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The resource name of the Document to delete. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.", +"location": "path", +"pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +}, +"get": { +"description": "Gets a single document.", +"flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/documents/{documentsId}/{documentsId1}", +"httpMethod": "GET", +"id": "firestore.projects.databases.documents.get", +"parameterOrder": [ +"name" +], +"parameters": { +"mask.fieldPaths": { +"description": "The list of field paths in the mask. See Document.fields for a field path syntax reference.", +"location": "query", +"repeated": true, +"type": "string" +}, +"name": { +"description": "Required. The resource name of the Document to get. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.", +"location": "path", +"pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$", +"required": true, +"type": "string" +}, +"readTime": { +"description": "Reads the version of the document at the given time. This must be a microsecond precision timestamp within the past one hour, or if Point-in-Time Recovery is enabled, can additionally be a whole minute timestamp within the past 7 days.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"transaction": { +"description": "Reads the document in a transaction.", +"format": "byte", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Document" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +}, +"list": { +"description": "Lists documents.", +"flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/documents/{documentsId}/{documentsId1}/{collectionId}", +"httpMethod": "GET", +"id": "firestore.projects.databases.documents.list", +"parameterOrder": [ +"parent", +"collectionId" +], +"parameters": { +"collectionId": { +"description": "Optional. The collection ID, relative to `parent`, to list. For example: `chatrooms` or `messages`. This is optional, and when not provided, Firestore will list documents from all collections under the provided `parent`.", +"location": "path", +"required": true, +"type": "string" +}, +"mask.fieldPaths": { +"description": "The list of field paths in the mask. See Document.fields for a field path syntax reference.", +"location": "query", +"repeated": true, +"type": "string" +}, +"orderBy": { +"description": "Optional. The optional ordering of the documents to return. For example: `priority desc, __name__ desc`. This mirrors the `ORDER BY` used in Firestore queries but in a string representation. When absent, documents are ordered based on `__name__ ASC`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of documents to return in a single response. Firestore may return fewer than this value.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListDocuments` response. Provide this to retrieve the subsequent page. When paginating, all other parameters (with the exception of `page_size`) must match the values set in the request that generated the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents` or `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`", +"location": "path", +"pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$", +"required": true, +"type": "string" +}, +"readTime": { +"description": "Perform the read at the provided time. This must be a microsecond precision timestamp within the past one hour, or if Point-in-Time Recovery is enabled, can additionally be a whole minute timestamp within the past 7 days.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"showMissing": { +"description": "If the list should show missing documents. A document is missing if it does not exist, but there are sub-documents nested underneath it. When true, such missing documents will be returned with a key but will not have fields, `create_time`, or `update_time` set. Requests with `show_missing` may not specify `where` or `order_by`.", +"location": "query", +"type": "boolean" +}, +"transaction": { +"description": "Perform the read as part of an already active transaction.", +"format": "byte", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/{collectionId}", +"response": { +"$ref": "ListDocumentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +}, +"listCollectionIds": { +"description": "Lists all the collection IDs underneath a document.", +"flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/documents/{documentsId}/{documentsId1}:listCollectionIds", +"httpMethod": "POST", +"id": "firestore.projects.databases.documents.listCollectionIds", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent document. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`", +"location": "path", +"pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}:listCollectionIds", +"request": { +"$ref": "ListCollectionIdsRequest" +}, +"response": { +"$ref": "ListCollectionIdsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +}, +"listDocuments": { +"description": "Lists documents.", +"flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/documents/{collectionId}", +"httpMethod": "GET", +"id": "firestore.projects.databases.documents.listDocuments", +"parameterOrder": [ +"parent", +"collectionId" +], +"parameters": { +"collectionId": { +"description": "Optional. The collection ID, relative to `parent`, to list. For example: `chatrooms` or `messages`. This is optional, and when not provided, Firestore will list documents from all collections under the provided `parent`.", +"location": "path", +"required": true, +"type": "string" +}, +"mask.fieldPaths": { +"description": "The list of field paths in the mask. See Document.fields for a field path syntax reference.", +"location": "query", +"repeated": true, +"type": "string" +}, +"orderBy": { +"description": "Optional. The optional ordering of the documents to return. For example: `priority desc, __name__ desc`. This mirrors the `ORDER BY` used in Firestore queries but in a string representation. When absent, documents are ordered based on `__name__ ASC`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of documents to return in a single response. Firestore may return fewer than this value.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListDocuments` response. Provide this to retrieve the subsequent page. When paginating, all other parameters (with the exception of `page_size`) must match the values set in the request that generated the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents` or `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`", +"location": "path", +"pattern": "^projects/[^/]+/databases/[^/]+/documents$", +"required": true, +"type": "string" +}, +"readTime": { +"description": "Perform the read at the provided time. This must be a microsecond precision timestamp within the past one hour, or if Point-in-Time Recovery is enabled, can additionally be a whole minute timestamp within the past 7 days.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"showMissing": { +"description": "If the list should show missing documents. A document is missing if it does not exist, but there are sub-documents nested underneath it. When true, such missing documents will be returned with a key but will not have fields, `create_time`, or `update_time` set. Requests with `show_missing` may not specify `where` or `order_by`.", +"location": "query", +"type": "boolean" +}, +"transaction": { +"description": "Perform the read as part of an already active transaction.", +"format": "byte", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/{collectionId}", +"response": { +"$ref": "ListDocumentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +}, +"listen": { +"description": "Listens to changes. This method is only available via gRPC or WebChannel (not REST).", +"flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/documents:listen", +"httpMethod": "POST", +"id": "firestore.projects.databases.documents.listen", +"parameterOrder": [ +"database" +], +"parameters": { +"database": { +"description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/databases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+database}/documents:listen", +"request": { +"$ref": "ListenRequest" +}, +"response": { +"$ref": "ListenResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +}, +"partitionQuery": { +"description": "Partitions a query by returning partition cursors that can be used to run the query in parallel. The returned partition cursors are split points that can be used by RunQuery as starting/end points for the query results.", +"flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/documents/{documentsId}/{documentsId1}:partitionQuery", +"httpMethod": "POST", +"id": "firestore.projects.databases.documents.partitionQuery", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents`. Document resource names are not supported; only database resource names can be specified.", +"location": "path", +"pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}:partitionQuery", +"request": { +"$ref": "PartitionQueryRequest" +}, +"response": { +"$ref": "PartitionQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +}, +"patch": { +"description": "Updates or inserts a document.", +"flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/documents/{documentsId}/{documentsId1}", +"httpMethod": "PATCH", +"id": "firestore.projects.databases.documents.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"currentDocument.exists": { +"description": "When set to `true`, the target document must exist. When set to `false`, the target document must not exist.", +"location": "query", +"type": "boolean" +}, +"currentDocument.updateTime": { +"description": "When set, the target document must exist and have been last updated at that time. Timestamp must be microsecond aligned.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"mask.fieldPaths": { +"description": "The list of field paths in the mask. See Document.fields for a field path syntax reference.", +"location": "query", +"repeated": true, +"type": "string" +}, +"name": { +"description": "The resource name of the document, for example `projects/{project_id}/databases/{database_id}/documents/{document_path}`.", +"location": "path", +"pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$", +"required": true, +"type": "string" +}, +"updateMask.fieldPaths": { +"description": "The list of field paths in the mask. See Document.fields for a field path syntax reference.", +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "Document" +}, +"response": { +"$ref": "Document" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +}, +"rollback": { +"description": "Rolls back a transaction.", +"flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/documents:rollback", +"httpMethod": "POST", +"id": "firestore.projects.databases.documents.rollback", +"parameterOrder": [ +"database" +], +"parameters": { +"database": { +"description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/databases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+database}/documents:rollback", +"request": { +"$ref": "RollbackRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +}, +"runAggregationQuery": { +"description": "Runs an aggregation query. Rather than producing Document results like Firestore.RunQuery, this API allows running an aggregation to produce a series of AggregationResult server-side. High-Level Example: ``` -- Return the number of documents in table given a filter. SELECT COUNT(*) FROM ( SELECT * FROM k where a = true ); ```", +"flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/documents/{documentsId}/{documentsId1}:runAggregationQuery", +"httpMethod": "POST", +"id": "firestore.projects.databases.documents.runAggregationQuery", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents` or `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`", +"location": "path", +"pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}:runAggregationQuery", +"request": { +"$ref": "RunAggregationQueryRequest" +}, +"response": { +"$ref": "RunAggregationQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +}, +"runQuery": { +"description": "Runs a query.", +"flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/documents/{documentsId}/{documentsId1}:runQuery", +"httpMethod": "POST", +"id": "firestore.projects.databases.documents.runQuery", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents` or `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`", +"location": "path", +"pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}:runQuery", +"request": { +"$ref": "RunQueryRequest" +}, +"response": { +"$ref": "RunQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +}, +"write": { +"description": "Streams batches of document updates and deletes, in order. This method is only available via gRPC or WebChannel (not REST).", +"flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/documents:write", +"httpMethod": "POST", +"id": "firestore.projects.databases.documents.write", +"parameterOrder": [ +"database" +], +"parameters": { +"database": { +"description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`. This is only required in the first message.", +"location": "path", +"pattern": "^projects/[^/]+/databases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+database}/documents:write", +"request": { +"$ref": "WriteRequest" +}, +"response": { +"$ref": "WriteResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +} +} +}, +"indexes": { +"methods": { +"create": { +"description": "Creates the specified index. A newly created index's initial state is `CREATING`. On completion of the returned google.longrunning.Operation, the state will be `READY`. If the index already exists, the call will return an `ALREADY_EXISTS` status. During creation, the process could result in an error, in which case the index will move to the `ERROR` state. The process can be recovered by fixing the data that caused the error, removing the index with delete, then re-creating the index with create. Indexes with a single field cannot be created.", +"flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/indexes", +"httpMethod": "POST", +"id": "firestore.projects.databases.indexes.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "The name of the database this index will apply to. For example: `projects/{project_id}/databases/{database_id}`", +"location": "path", +"pattern": "^projects/[^/]+/databases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/indexes", +"request": { +"$ref": "GoogleFirestoreAdminV1beta1Index" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +}, +"delete": { +"description": "Deletes an index.", +"flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/indexes/{indexesId}", +"httpMethod": "DELETE", +"id": "firestore.projects.databases.indexes.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The index name. For example: `projects/{project_id}/databases/{database_id}/indexes/{index_id}`", +"location": "path", +"pattern": "^projects/[^/]+/databases/[^/]+/indexes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +}, +"get": { +"description": "Gets an index.", +"flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/indexes/{indexesId}", +"httpMethod": "GET", +"id": "firestore.projects.databases.indexes.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the index. For example: `projects/{project_id}/databases/{database_id}/indexes/{index_id}`", +"location": "path", +"pattern": "^projects/[^/]+/databases/[^/]+/indexes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleFirestoreAdminV1beta1Index" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +}, +"list": { +"description": "Lists the indexes that match the specified filters.", +"flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/indexes", +"httpMethod": "GET", +"id": "firestore.projects.databases.indexes.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"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" +}, +"parent": { +"description": "The database name. For example: `projects/{project_id}/databases/{database_id}`", +"location": "path", +"pattern": "^projects/[^/]+/databases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/indexes", +"response": { +"$ref": "GoogleFirestoreAdminV1beta1ListIndexesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +} +} +} +} +} +} +} +}, +"revision": "20241018", +"rootUrl": "https://firestore.googleapis.com/", +"schemas": { +"Aggregation": { +"description": "Defines an aggregation that produces a single result.", +"id": "Aggregation", +"properties": { +"alias": { +"description": "Optional. Optional name of the field to store the result of the aggregation into. If not provided, Firestore will pick a default name following the format `field_`. For example: ``` AGGREGATE COUNT_UP_TO(1) AS count_up_to_1, COUNT_UP_TO(2), COUNT_UP_TO(3) AS count_up_to_3, COUNT(*) OVER ( ... ); ``` becomes: ``` AGGREGATE COUNT_UP_TO(1) AS count_up_to_1, COUNT_UP_TO(2) AS field_1, COUNT_UP_TO(3) AS count_up_to_3, COUNT(*) AS field_2 OVER ( ... ); ``` Requires: * Must be unique across all aggregation aliases. * Conform to document field name limitations.", +"type": "string" +}, +"avg": { +"$ref": "Avg", +"description": "Average aggregator." +}, +"count": { +"$ref": "Count", +"description": "Count aggregator." +}, +"sum": { +"$ref": "Sum", +"description": "Sum aggregator." +} +}, +"type": "object" +}, +"AggregationResult": { +"description": "The result of a single bucket from a Firestore aggregation query. The keys of `aggregate_fields` are the same for all results in an aggregation query, unlike document queries which can have different fields present for each result.", +"id": "AggregationResult", +"properties": { +"aggregateFields": { +"additionalProperties": { +"$ref": "Value" +}, +"description": "The result of the aggregation functions, ex: `COUNT(*) AS total_docs`. The key is the alias assigned to the aggregation function on input and the size of this map equals the number of aggregation functions in the query.", +"type": "object" +} +}, +"type": "object" +}, +"ArrayValue": { +"description": "An array value.", +"id": "ArrayValue", +"properties": { +"values": { +"description": "Values in the array.", +"items": { +"$ref": "Value" +}, +"type": "array" +} +}, +"type": "object" +}, +"Avg": { +"description": "Average of the values of the requested field. * Only numeric values will be aggregated. All non-numeric values including `NULL` are skipped. * If the aggregated values contain `NaN`, returns `NaN`. Infinity math follows IEEE-754 standards. * If the aggregated value set is empty, returns `NULL`. * Always returns the result as a double.", +"id": "Avg", +"properties": { +"field": { +"$ref": "FieldReference", +"description": "The field to aggregate on." +} +}, +"type": "object" +}, +"BatchGetDocumentsRequest": { +"description": "The request for Firestore.BatchGetDocuments.", +"id": "BatchGetDocumentsRequest", +"properties": { +"documents": { +"description": "The names of the documents to retrieve. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. The request will fail if any of the document is not a child resource of the given `database`. Duplicate names will be elided.", +"items": { +"type": "string" +}, +"type": "array" +}, +"mask": { +"$ref": "DocumentMask", +"description": "The fields to return. If not set, returns all fields. If a document has a field that is not present in this mask, that field will not be returned in the response." +}, +"newTransaction": { +"$ref": "TransactionOptions", +"description": "Starts a new transaction and reads the documents. Defaults to a read-only transaction. The new transaction ID will be returned as the first response in the stream." +}, +"readTime": { +"description": "Reads documents as they were at the given time. This must be a microsecond precision timestamp within the past one hour, or if Point-in-Time Recovery is enabled, can additionally be a whole minute timestamp within the past 7 days.", +"format": "google-datetime", +"type": "string" +}, +"transaction": { +"description": "Reads documents in a transaction.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"BatchGetDocumentsResponse": { +"description": "The streamed response for Firestore.BatchGetDocuments.", +"id": "BatchGetDocumentsResponse", +"properties": { +"found": { +"$ref": "Document", +"description": "A document that was requested." +}, +"missing": { +"description": "A document name that was requested but does not exist. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.", +"type": "string" +}, +"readTime": { +"description": "The time at which the document was read. This may be monotically increasing, in this case the previous documents in the result stream are guaranteed not to have changed between their read_time and this one.", +"format": "google-datetime", +"type": "string" +}, +"transaction": { +"description": "The transaction that was started as part of this request. Will only be set in the first response, and only if BatchGetDocumentsRequest.new_transaction was set in the request.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"BatchWriteRequest": { +"description": "The request for Firestore.BatchWrite.", +"id": "BatchWriteRequest", +"properties": { +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels associated with this batch write.", +"type": "object" +}, +"writes": { +"description": "The writes to apply. Method does not apply writes atomically and does not guarantee ordering. Each write succeeds or fails independently. You cannot write to the same document more than once per request.", +"items": { +"$ref": "Write" +}, +"type": "array" +} +}, +"type": "object" +}, +"BatchWriteResponse": { +"description": "The response from Firestore.BatchWrite.", +"id": "BatchWriteResponse", +"properties": { +"status": { +"description": "The status of applying the writes. This i-th write status corresponds to the i-th write in the request.", +"items": { +"$ref": "Status" +}, +"type": "array" +}, +"writeResults": { +"description": "The result of applying the writes. This i-th write result corresponds to the i-th write in the request.", +"items": { +"$ref": "WriteResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"BeginTransactionRequest": { +"description": "The request for Firestore.BeginTransaction.", +"id": "BeginTransactionRequest", +"properties": { +"options": { +"$ref": "TransactionOptions", +"description": "The options for the transaction. Defaults to a read-write transaction." +} +}, +"type": "object" +}, +"BeginTransactionResponse": { +"description": "The response for Firestore.BeginTransaction.", +"id": "BeginTransactionResponse", +"properties": { +"transaction": { +"description": "The transaction that was started.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"BitSequence": { +"description": "A sequence of bits, encoded in a byte array. Each byte in the `bitmap` byte array stores 8 bits of the sequence. The only exception is the last byte, which may store 8 _or fewer_ bits. The `padding` defines the number of bits of the last byte to be ignored as \"padding\". The values of these \"padding\" bits are unspecified and must be ignored. To retrieve the first bit, bit 0, calculate: `(bitmap[0] & 0x01) != 0`. To retrieve the second bit, bit 1, calculate: `(bitmap[0] & 0x02) != 0`. To retrieve the third bit, bit 2, calculate: `(bitmap[0] & 0x04) != 0`. To retrieve the fourth bit, bit 3, calculate: `(bitmap[0] & 0x08) != 0`. To retrieve bit n, calculate: `(bitmap[n / 8] & (0x01 << (n % 8))) != 0`. The \"size\" of a `BitSequence` (the number of bits it contains) is calculated by this formula: `(bitmap.length * 8) - padding`.", +"id": "BitSequence", +"properties": { +"bitmap": { +"description": "The bytes that encode the bit sequence. May have a length of zero.", +"format": "byte", +"type": "string" +}, +"padding": { +"description": "The number of bits of the last byte in `bitmap` to ignore as \"padding\". If the length of `bitmap` is zero, then this value must be `0`. Otherwise, this value must be between 0 and 7, inclusive.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"BloomFilter": { +"description": "A bloom filter (https://en.wikipedia.org/wiki/Bloom_filter). The bloom filter hashes the entries with MD5 and treats the resulting 128-bit hash as 2 distinct 64-bit hash values, interpreted as unsigned integers using 2's complement encoding. These two hash values, named `h1` and `h2`, are then used to compute the `hash_count` hash values using the formula, starting at `i=0`: h(i) = h1 + (i * h2) These resulting values are then taken modulo the number of bits in the bloom filter to get the bits of the bloom filter to test for the given entry.", +"id": "BloomFilter", +"properties": { +"bits": { +"$ref": "BitSequence", +"description": "The bloom filter data." +}, +"hashCount": { +"description": "The number of hashes used by the algorithm.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"CollectionSelector": { +"description": "A selection of a collection, such as `messages as m1`.", +"id": "CollectionSelector", +"properties": { +"allDescendants": { +"description": "When false, selects only collections that are immediate children of the `parent` specified in the containing `RunQueryRequest`. When true, selects all descendant collections.", +"type": "boolean" +}, +"collectionId": { +"description": "The collection ID. When set, selects only collections with this ID.", +"type": "string" +} +}, +"type": "object" +}, +"CommitRequest": { +"description": "The request for Firestore.Commit.", +"id": "CommitRequest", +"properties": { +"transaction": { +"description": "If set, applies all writes in this transaction, and commits it.", +"format": "byte", +"type": "string" +}, +"writes": { +"description": "The writes to apply. Always executed atomically and in order.", +"items": { +"$ref": "Write" +}, +"type": "array" +} +}, +"type": "object" +}, +"CommitResponse": { +"description": "The response for Firestore.Commit.", +"id": "CommitResponse", +"properties": { +"commitTime": { +"description": "The time at which the commit occurred. Any read with an equal or greater `read_time` is guaranteed to see the effects of the commit.", +"format": "google-datetime", +"type": "string" +}, +"writeResults": { +"description": "The result of applying the writes. This i-th write result corresponds to the i-th write in the request.", +"items": { +"$ref": "WriteResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"CompositeFilter": { +"description": "A filter that merges multiple other filters using the given operator.", +"id": "CompositeFilter", +"properties": { +"filters": { +"description": "The list of filters to combine. Requires: * At least one filter is present.", +"items": { +"$ref": "Filter" +}, +"type": "array" +}, +"op": { +"description": "The operator for combining multiple filters.", +"enum": [ +"OPERATOR_UNSPECIFIED", +"AND", +"OR" +], +"enumDescriptions": [ +"Unspecified. This value must not be used.", +"Documents are required to satisfy all of the combined filters.", +"Documents are required to satisfy at least one of the combined filters." +], +"type": "string" +} +}, +"type": "object" +}, +"Count": { +"description": "Count of documents that match the query. The `COUNT(*)` aggregation function operates on the entire document so it does not require a field reference.", +"id": "Count", +"properties": { +"upTo": { +"description": "Optional. Optional constraint on the maximum number of documents to count. This provides a way to set an upper bound on the number of documents to scan, limiting latency, and cost. Unspecified is interpreted as no bound. High-Level Example: ``` AGGREGATE COUNT_UP_TO(1000) OVER ( SELECT * FROM k ); ``` Requires: * Must be greater than zero when present.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"Cursor": { +"description": "A position in a query result set.", +"id": "Cursor", +"properties": { +"before": { +"description": "If the position is just before or just after the given values, relative to the sort order defined by the query.", +"type": "boolean" +}, +"values": { +"description": "The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause.", +"items": { +"$ref": "Value" +}, +"type": "array" +} +}, +"type": "object" +}, +"Document": { +"description": "A Firestore document. Must not exceed 1 MiB - 4 bytes.", +"id": "Document", +"properties": { +"createTime": { +"description": "Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.", +"format": "google-datetime", +"type": "string" +}, +"fields": { +"additionalProperties": { +"$ref": "Value" +}, +"description": "The document's fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The field names, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by a dot-delimited (`.`) string of segments. Each segment is either a simple field name (defined below) or a quoted field name. For example, the structured field `\"foo\" : { map_value: { \"x&y\" : { string_value: \"hello\" }}}` would be represented by the field path `` foo.`x&y` ``. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. A quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\\`. For example, `` `x&y` `` represents `x&y` and `` `bak\\`tik` `` represents `` bak`tik ``.", +"type": "object" +}, +"name": { +"description": "The resource name of the document, for example `projects/{project_id}/databases/{database_id}/documents/{document_path}`.", +"type": "string" +}, +"updateTime": { +"description": "Output only. The time at which the document was last changed. This value is initially set to the `create_time` then increases monotonically with each change to the document. It can also be compared to values from other documents and the `read_time` of a query.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"DocumentChange": { +"description": "A Document has changed. May be the result of multiple writes, including deletes, that ultimately resulted in a new value for the Document. Multiple DocumentChange messages may be returned for the same logical change, if multiple targets are affected.", +"id": "DocumentChange", +"properties": { +"document": { +"$ref": "Document", +"description": "The new state of the Document. If `mask` is set, contains only fields that were updated or added." +}, +"removedTargetIds": { +"description": "A set of target IDs for targets that no longer match this document.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"targetIds": { +"description": "A set of target IDs of targets that match this document.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +} +}, +"type": "object" +}, +"DocumentDelete": { +"description": "A Document has been deleted. May be the result of multiple writes, including updates, the last of which deleted the Document. Multiple DocumentDelete messages may be returned for the same logical delete, if multiple targets are affected.", +"id": "DocumentDelete", +"properties": { +"document": { +"description": "The resource name of the Document that was deleted.", +"type": "string" +}, +"readTime": { +"description": "The read timestamp at which the delete was observed. Greater or equal to the `commit_time` of the delete.", +"format": "google-datetime", +"type": "string" +}, +"removedTargetIds": { +"description": "A set of target IDs for targets that previously matched this entity.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +} +}, +"type": "object" +}, +"DocumentMask": { +"description": "A set of field paths on a document. Used to restrict a get or update operation on a document to a subset of its fields. This is different from standard field masks, as this is always scoped to a Document, and takes in account the dynamic nature of Value.", +"id": "DocumentMask", +"properties": { +"fieldPaths": { +"description": "The list of field paths in the mask. See Document.fields for a field path syntax reference.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"DocumentRemove": { +"description": "A Document has been removed from the view of the targets. Sent if the document is no longer relevant to a target and is out of view. Can be sent instead of a DocumentDelete or a DocumentChange if the server can not send the new value of the document. Multiple DocumentRemove messages may be returned for the same logical write or delete, if multiple targets are affected.", +"id": "DocumentRemove", +"properties": { +"document": { +"description": "The resource name of the Document that has gone out of view.", +"type": "string" +}, +"readTime": { +"description": "The read timestamp at which the remove was observed. Greater or equal to the `commit_time` of the change/delete/remove.", +"format": "google-datetime", +"type": "string" +}, +"removedTargetIds": { +"description": "A set of target IDs for targets that previously matched this document.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +} +}, +"type": "object" +}, +"DocumentTransform": { +"description": "A transformation of a document.", +"id": "DocumentTransform", +"properties": { +"document": { +"description": "The name of the document to transform.", +"type": "string" +}, +"fieldTransforms": { +"description": "The list of transformations to apply to the fields of the document, in order. This must not be empty.", +"items": { +"$ref": "FieldTransform" +}, +"type": "array" +} +}, +"type": "object" +}, +"DocumentsTarget": { +"description": "A target specified by a set of documents names.", +"id": "DocumentsTarget", +"properties": { +"documents": { +"description": "The names of the documents to retrieve. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. The request will fail if any of the document is not a child resource of the given `database`. Duplicate names will be elided.", +"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" +}, +"ExecutionStats": { +"description": "Execution statistics for the query.", +"id": "ExecutionStats", +"properties": { +"debugStats": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Debugging statistics from the execution of the query. Note that the debugging stats are subject to change as Firestore evolves. It could include: { \"indexes_entries_scanned\": \"1000\", \"documents_scanned\": \"20\", \"billing_details\" : { \"documents_billable\": \"20\", \"index_entries_billable\": \"1000\", \"min_query_cost\": \"0\" } }", +"type": "object" +}, +"executionDuration": { +"description": "Total time to execute the query in the backend.", +"format": "google-duration", +"type": "string" +}, +"readOperations": { +"description": "Total billable read operations.", +"format": "int64", +"type": "string" +}, +"resultsReturned": { +"description": "Total number of results returned, including documents, projections, aggregation results, keys.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ExistenceFilter": { +"description": "A digest of all the documents that match a given target.", +"id": "ExistenceFilter", +"properties": { +"count": { +"description": "The total count of documents that match target_id. If different from the count of documents in the client that match, the client must manually determine which documents no longer match the target. The client can use the `unchanged_names` bloom filter to assist with this determination by testing ALL the document names against the filter; if the document name is NOT in the filter, it means the document no longer matches the target.", +"format": "int32", +"type": "integer" +}, +"targetId": { +"description": "The target ID to which this filter applies.", +"format": "int32", +"type": "integer" +}, +"unchangedNames": { +"$ref": "BloomFilter", +"description": "A bloom filter that, despite its name, contains the UTF-8 byte encodings of the resource names of ALL the documents that match target_id, in the form `projects/{project_id}/databases/{database_id}/documents/{document_path}`. This bloom filter may be omitted at the server's discretion, such as if it is deemed that the client will not make use of it or if it is too computationally expensive to calculate or transmit. Clients must gracefully handle this field being absent by falling back to the logic used before this field existed; that is, re-add the target without a resume token to figure out which documents in the client's cache are out of sync." +} +}, +"type": "object" +}, +"ExplainMetrics": { +"description": "Explain metrics for the query.", +"id": "ExplainMetrics", +"properties": { +"executionStats": { +"$ref": "ExecutionStats", +"description": "Aggregated stats from the execution of the query. Only present when ExplainOptions.analyze is set to true." +}, +"planSummary": { +"$ref": "PlanSummary", +"description": "Planning phase information for the query." +} +}, +"type": "object" +}, +"ExplainOptions": { +"description": "Explain options for the query.", +"id": "ExplainOptions", +"properties": { +"analyze": { +"description": "Optional. Whether to execute this query. When false (the default), the query will be planned, returning only metrics from the planning stages. When true, the query will be planned and executed, returning the full query results along with both planning and execution stage metrics.", +"type": "boolean" +} +}, +"type": "object" +}, +"FieldFilter": { +"description": "A filter on a specific field.", +"id": "FieldFilter", +"properties": { +"field": { +"$ref": "FieldReference", +"description": "The field to filter by." +}, +"op": { +"description": "The operator to filter by.", +"enum": [ +"OPERATOR_UNSPECIFIED", +"LESS_THAN", +"LESS_THAN_OR_EQUAL", +"GREATER_THAN", +"GREATER_THAN_OR_EQUAL", +"EQUAL", +"NOT_EQUAL", +"ARRAY_CONTAINS", +"IN", +"ARRAY_CONTAINS_ANY", +"NOT_IN" +], +"enumDescriptions": [ +"Unspecified. This value must not be used.", +"The given `field` is less than the given `value`. Requires: * That `field` come first in `order_by`.", +"The given `field` is less than or equal to the given `value`. Requires: * That `field` come first in `order_by`.", +"The given `field` is greater than the given `value`. Requires: * That `field` come first in `order_by`.", +"The given `field` is greater than or equal to the given `value`. Requires: * That `field` come first in `order_by`.", +"The given `field` is equal to the given `value`.", +"The given `field` is not equal to the given `value`. Requires: * No other `NOT_EQUAL`, `NOT_IN`, `IS_NOT_NULL`, or `IS_NOT_NAN`. * That `field` comes first in the `order_by`.", +"The given `field` is an array that contains the given `value`.", +"The given `field` is equal to at least one value in the given array. Requires: * That `value` is a non-empty `ArrayValue`, subject to disjunction limits. * No `NOT_IN` filters in the same query.", +"The given `field` is an array that contains any of the values in the given array. Requires: * That `value` is a non-empty `ArrayValue`, subject to disjunction limits. * No other `ARRAY_CONTAINS_ANY` filters within the same disjunction. * No `NOT_IN` filters in the same query.", +"The value of the `field` is not in the given array. Requires: * That `value` is a non-empty `ArrayValue` with at most 10 values. * No other `OR`, `IN`, `ARRAY_CONTAINS_ANY`, `NOT_IN`, `NOT_EQUAL`, `IS_NOT_NULL`, or `IS_NOT_NAN`. * That `field` comes first in the `order_by`." +], +"type": "string" +}, +"value": { +"$ref": "Value", +"description": "The value to compare to." +} +}, +"type": "object" +}, +"FieldReference": { +"description": "A reference to a field in a document, ex: `stats.operations`.", +"id": "FieldReference", +"properties": { +"fieldPath": { +"description": "A reference to a field in a document. Requires: * MUST be a dot-delimited (`.`) string of segments, where each segment conforms to document field name limitations.", +"type": "string" +} +}, +"type": "object" +}, +"FieldTransform": { +"description": "A transformation of a field of the document.", +"id": "FieldTransform", +"properties": { +"appendMissingElements": { +"$ref": "ArrayValue", +"description": "Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value." +}, +"fieldPath": { +"description": "The path of the field. See Document.fields for the field path syntax reference.", +"type": "string" +}, +"increment": { +"$ref": "Value", +"description": "Adds the given value to the field's current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer." +}, +"maximum": { +"$ref": "Value", +"description": "Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN." +}, +"minimum": { +"$ref": "Value", +"description": "Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN." +}, +"removeAllFromArray": { +"$ref": "ArrayValue", +"description": "Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value." +}, +"setToServerValue": { +"description": "Sets the field to the given server value.", +"enum": [ +"SERVER_VALUE_UNSPECIFIED", +"REQUEST_TIME" +], +"enumDescriptions": [ +"Unspecified. This value must not be used.", +"The time at which the server processed the request, with millisecond precision. If used on multiple fields (same or different documents) in a transaction, all the fields will get the same server timestamp." +], +"type": "string" +} +}, +"type": "object" +}, +"Filter": { +"description": "A filter.", +"id": "Filter", +"properties": { +"compositeFilter": { +"$ref": "CompositeFilter", +"description": "A composite filter." +}, +"fieldFilter": { +"$ref": "FieldFilter", +"description": "A filter on a document field." +}, +"unaryFilter": { +"$ref": "UnaryFilter", +"description": "A filter that takes exactly one argument." +} +}, +"type": "object" +}, +"FindNearest": { +"description": "Nearest Neighbors search config. The ordering provided by FindNearest supersedes the order_by stage. If multiple documents have the same vector distance, the returned document order is not guaranteed to be stable between queries.", +"id": "FindNearest", +"properties": { +"distanceMeasure": { +"description": "Required. The distance measure to use, required.", +"enum": [ +"DISTANCE_MEASURE_UNSPECIFIED", +"EUCLIDEAN", +"COSINE", +"DOT_PRODUCT" +], +"enumDescriptions": [ +"Should not be set.", +"Measures the EUCLIDEAN distance between the vectors. See [Euclidean](https://en.wikipedia.org/wiki/Euclidean_distance) to learn more. The resulting distance decreases the more similar two vectors are.", +"COSINE distance compares vectors based on the angle between them, which allows you to measure similarity that isn't based on the vectors magnitude. We recommend using DOT_PRODUCT with unit normalized vectors instead of COSINE distance, which is mathematically equivalent with better performance. See [Cosine Similarity](https://en.wikipedia.org/wiki/Cosine_similarity) to learn more about COSINE similarity and COSINE distance. The resulting COSINE distance decreases the more similar two vectors are.", +"Similar to cosine but is affected by the magnitude of the vectors. See [Dot Product](https://en.wikipedia.org/wiki/Dot_product) to learn more. The resulting distance increases the more similar two vectors are." +], +"type": "string" +}, +"distanceResultField": { +"description": "Optional. Optional name of the field to output the result of the vector distance calculation. Must conform to document field name limitations.", +"type": "string" +}, +"distanceThreshold": { +"description": "Optional. Option to specify a threshold for which no less similar documents will be returned. The behavior of the specified `distance_measure` will affect the meaning of the distance threshold. Since DOT_PRODUCT distances increase when the vectors are more similar, the comparison is inverted. * For EUCLIDEAN, COSINE: WHERE distance <= distance_threshold * For DOT_PRODUCT: WHERE distance >= distance_threshold", +"format": "double", +"type": "number" +}, +"limit": { +"description": "Required. The number of nearest neighbors to return. Must be a positive integer of no more than 1000.", +"format": "int32", +"type": "integer" +}, +"queryVector": { +"$ref": "Value", +"description": "Required. The query vector that we are searching on. Must be a vector of no more than 2048 dimensions." +}, +"vectorField": { +"$ref": "FieldReference", +"description": "Required. An indexed vector field to search upon. Only documents which contain vectors whose dimensionality match the query_vector can be returned." +} +}, +"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" +}, +"GoogleFirestoreAdminV1beta1ExportDocumentsMetadata": { +"description": "Metadata for ExportDocuments operations.", +"id": "GoogleFirestoreAdminV1beta1ExportDocumentsMetadata", +"properties": { +"collectionIds": { +"description": "Which collection ids are being exported.", +"items": { +"type": "string" +}, +"type": "array" +}, +"endTime": { +"description": "The time the operation ended, either successfully or otherwise. Unset if the operation is still active.", +"format": "google-datetime", +"type": "string" +}, +"operationState": { +"description": "The state of the export operation.", +"enum": [ +"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": "GoogleFirestoreAdminV1beta1Progress", +"description": "An estimate of the number of bytes processed." +}, +"progressDocuments": { +"$ref": "GoogleFirestoreAdminV1beta1Progress", +"description": "An estimate of the number of documents processed." +}, +"startTime": { +"description": "The time that work began on the operation.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirestoreAdminV1beta1ExportDocumentsRequest": { +"description": "The request for FirestoreAdmin.ExportDocuments.", +"id": "GoogleFirestoreAdminV1beta1ExportDocumentsRequest", +"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" +}, +"GoogleFirestoreAdminV1beta1ExportDocumentsResponse": { +"description": "Returned in the google.longrunning.Operation response field.", +"id": "GoogleFirestoreAdminV1beta1ExportDocumentsResponse", +"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" +}, +"GoogleFirestoreAdminV1beta1ImportDocumentsMetadata": { +"description": "Metadata for ImportDocuments operations.", +"id": "GoogleFirestoreAdminV1beta1ImportDocumentsMetadata", +"properties": { +"collectionIds": { +"description": "Which collection ids are being imported.", +"items": { +"type": "string" +}, +"type": "array" +}, +"endTime": { +"description": "The time the operation ended, either successfully or otherwise. Unset if the operation is still active.", +"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": [ +"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": "GoogleFirestoreAdminV1beta1Progress", +"description": "An estimate of the number of bytes processed." +}, +"progressDocuments": { +"$ref": "GoogleFirestoreAdminV1beta1Progress", +"description": "An estimate of the number of documents processed." +}, +"startTime": { +"description": "The time that work began on the operation.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirestoreAdminV1beta1ImportDocumentsRequest": { +"description": "The request for FirestoreAdmin.ImportDocuments.", +"id": "GoogleFirestoreAdminV1beta1ImportDocumentsRequest", +"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.v1beta1.ExportDocumentsResponse.output_uri_prefix.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirestoreAdminV1beta1Index": { +"description": "An index definition.", +"id": "GoogleFirestoreAdminV1beta1Index", +"properties": { +"collectionId": { +"description": "The collection ID to which this index applies. Required.", +"type": "string" +}, +"fields": { +"description": "The fields to index.", +"items": { +"$ref": "GoogleFirestoreAdminV1beta1IndexField" +}, +"type": "array" +}, +"name": { +"description": "The resource name of the index. Output only.", +"type": "string" +}, +"state": { +"description": "The state of the index. Output only.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"READY", +"ERROR" +], +"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." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirestoreAdminV1beta1IndexField": { +"description": "A field of an index.", +"id": "GoogleFirestoreAdminV1beta1IndexField", +"properties": { +"fieldPath": { +"description": "The path of the field. Must match the field path specification described by google.firestore.v1beta1.Document.fields. Special field path `__name__` may be used by itself or at the end of a path. `__type__` may be used only at the end of path.", +"type": "string" +}, +"mode": { +"description": "The field's mode.", +"enum": [ +"MODE_UNSPECIFIED", +"ASCENDING", +"DESCENDING", +"ARRAY_CONTAINS" +], +"enumDescriptions": [ +"The mode is unspecified.", +"The field's values are indexed so as to support sequencing in ascending order and also query by <, >, <=, >=, and =.", +"The field's values are indexed so as to support sequencing in descending order and also query by <, >, <=, >=, and =.", +"The field's array values are indexed so as to support membership using ARRAY_CONTAINS queries." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirestoreAdminV1beta1IndexOperationMetadata": { +"description": "Metadata for index operations. This metadata populates the metadata field of google.longrunning.Operation.", +"id": "GoogleFirestoreAdminV1beta1IndexOperationMetadata", +"properties": { +"cancelled": { +"description": "True if the [google.longrunning.Operation] was cancelled. If the cancellation is in progress, cancelled will be true but google.longrunning.Operation.done will be false.", +"type": "boolean" +}, +"documentProgress": { +"$ref": "GoogleFirestoreAdminV1beta1Progress", +"description": "Progress of the existing operation, measured in number of documents." +}, +"endTime": { +"description": "The time the operation ended, either successfully or otherwise. Unset if the operation is still active.", +"format": "google-datetime", +"type": "string" +}, +"index": { +"description": "The index resource that this operation is acting on. For example: `projects/{project_id}/databases/{database_id}/indexes/{index_id}`", +"type": "string" +}, +"operationType": { +"description": "The type of index operation.", +"enum": [ +"OPERATION_TYPE_UNSPECIFIED", +"CREATING_INDEX" +], +"enumDescriptions": [ +"Unspecified. Never set by server.", +"The operation is creating the index. Initiated by a `CreateIndex` call." +], +"type": "string" +}, +"startTime": { +"description": "The time that work began on the operation.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirestoreAdminV1beta1ListIndexesResponse": { +"description": "The response for FirestoreAdmin.ListIndexes.", +"id": "GoogleFirestoreAdminV1beta1ListIndexesResponse", +"properties": { +"indexes": { +"description": "The indexes.", +"items": { +"$ref": "GoogleFirestoreAdminV1beta1Index" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirestoreAdminV1beta1LocationMetadata": { +"description": "The metadata message for google.cloud.location.Location.metadata.", +"id": "GoogleFirestoreAdminV1beta1LocationMetadata", +"properties": {}, +"type": "object" +}, +"GoogleFirestoreAdminV1beta1Progress": { +"description": "Measures the progress of a particular metric.", +"id": "GoogleFirestoreAdminV1beta1Progress", +"properties": { +"workCompleted": { +"description": "An estimate of how much work has been completed. Note that this may be greater than `work_estimated`.", +"format": "int64", +"type": "string" +}, +"workEstimated": { +"description": "An estimate of how much work needs to be performed. Zero if the work estimate is unavailable. May change as work progresses.", +"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" +}, +"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" +}, +"ListCollectionIdsRequest": { +"description": "The request for Firestore.ListCollectionIds.", +"id": "ListCollectionIdsRequest", +"properties": { +"pageSize": { +"description": "The maximum number of results to return.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "A page token. Must be a value from ListCollectionIdsResponse.", +"type": "string" +}, +"readTime": { +"description": "Reads documents as they were at the given time. This must be a microsecond precision timestamp within the past one hour, or if Point-in-Time Recovery is enabled, can additionally be a whole minute timestamp within the past 7 days.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"ListCollectionIdsResponse": { +"description": "The response from Firestore.ListCollectionIds.", +"id": "ListCollectionIdsResponse", +"properties": { +"collectionIds": { +"description": "The collection ids.", +"items": { +"type": "string" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A page token that may be used to continue the list.", +"type": "string" +} +}, +"type": "object" +}, +"ListDocumentsResponse": { +"description": "The response for Firestore.ListDocuments.", +"id": "ListDocumentsResponse", +"properties": { +"documents": { +"description": "The Documents found.", +"items": { +"$ref": "Document" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of documents. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"ListenRequest": { +"description": "A request for Firestore.Listen", +"id": "ListenRequest", +"properties": { +"addTarget": { +"$ref": "Target", +"description": "A target to add to this stream." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels associated with this target change.", +"type": "object" +}, +"removeTarget": { +"description": "The ID of a target to remove from this stream.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ListenResponse": { +"description": "The response for Firestore.Listen.", +"id": "ListenResponse", +"properties": { +"documentChange": { +"$ref": "DocumentChange", +"description": "A Document has changed." +}, +"documentDelete": { +"$ref": "DocumentDelete", +"description": "A Document has been deleted." +}, +"documentRemove": { +"$ref": "DocumentRemove", +"description": "A Document has been removed from a target (because it is no longer relevant to that target)." +}, +"filter": { +"$ref": "ExistenceFilter", +"description": "A filter to apply to the set of documents previously returned for the given target. Returned when documents may have been removed from the given target, but the exact documents are unknown." +}, +"targetChange": { +"$ref": "TargetChange", +"description": "Targets have changed." +} +}, +"type": "object" +}, +"MapValue": { +"description": "A map value.", +"id": "MapValue", +"properties": { +"fields": { +"additionalProperties": { +"$ref": "Value" +}, +"description": "The map's fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.", +"type": "object" +} +}, +"type": "object" +}, +"Order": { +"description": "An order on a field.", +"id": "Order", +"properties": { +"direction": { +"description": "The direction to order by. Defaults to `ASCENDING`.", +"enum": [ +"DIRECTION_UNSPECIFIED", +"ASCENDING", +"DESCENDING" +], +"enumDescriptions": [ +"Unspecified.", +"Ascending.", +"Descending." +], +"type": "string" +}, +"field": { +"$ref": "FieldReference", +"description": "The field to order by." +} +}, +"type": "object" +}, +"PartitionQueryRequest": { +"description": "The request for Firestore.PartitionQuery.", +"id": "PartitionQueryRequest", +"properties": { +"pageSize": { +"description": "The maximum number of partitions to return in this call, subject to `partition_count`. For example, if `partition_count` = 10 and `page_size` = 8, the first call to PartitionQuery will return up to 8 partitions and a `next_page_token` if more results exist. A second call to PartitionQuery will return up to 2 partitions, to complete the total of 10 specified in `partition_count`.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "The `next_page_token` value returned from a previous call to PartitionQuery that may be used to get an additional set of results. There are no ordering guarantees between sets of results. Thus, using multiple sets of results will require merging the different result sets. For example, two subsequent calls using a page_token may return: * cursor B, cursor M, cursor Q * cursor A, cursor U, cursor W To obtain a complete result set ordered with respect to the results of the query supplied to PartitionQuery, the results sets should be merged: cursor A, cursor B, cursor M, cursor Q, cursor U, cursor W", +"type": "string" +}, +"partitionCount": { +"description": "The desired maximum number of partition points. The partitions may be returned across multiple pages of results. The number must be positive. The actual number of partitions returned may be fewer. For example, this may be set to one fewer than the number of parallel queries to be run, or in running a data pipeline job, one fewer than the number of workers or compute instances available.", +"format": "int64", +"type": "string" +}, +"readTime": { +"description": "Reads documents as they were at the given time. This must be a microsecond precision timestamp within the past one hour, or if Point-in-Time Recovery is enabled, can additionally be a whole minute timestamp within the past 7 days.", +"format": "google-datetime", +"type": "string" +}, +"structuredQuery": { +"$ref": "StructuredQuery", +"description": "A structured query. Query must specify collection with all descendants and be ordered by name ascending. Other filters, order bys, limits, offsets, and start/end cursors are not supported." +} +}, +"type": "object" +}, +"PartitionQueryResponse": { +"description": "The response for Firestore.PartitionQuery.", +"id": "PartitionQueryResponse", +"properties": { +"nextPageToken": { +"description": "A page token that may be used to request an additional set of results, up to the number specified by `partition_count` in the PartitionQuery request. If blank, there are no more results.", +"type": "string" +}, +"partitions": { +"description": "Partition results. Each partition is a split point that can be used by RunQuery as a starting or end point for the query results. The RunQuery requests must be made with the same query supplied to this PartitionQuery request. The partition cursors will be ordered according to same ordering as the results of the query supplied to PartitionQuery. For example, if a PartitionQuery request returns partition cursors A and B, running the following three queries will return the entire result set of the original query: * query, end_at A * query, start_at A, end_at B * query, start_at B An empty result may indicate that the query has too few results to be partitioned, or that the query is not yet supported for partitioning.", +"items": { +"$ref": "Cursor" +}, +"type": "array" +} +}, +"type": "object" +}, +"PlanSummary": { +"description": "Planning phase information for the query.", +"id": "PlanSummary", +"properties": { +"indexesUsed": { +"description": "The indexes selected for the query. For example: [ {\"query_scope\": \"Collection\", \"properties\": \"(foo ASC, __name__ ASC)\"}, {\"query_scope\": \"Collection\", \"properties\": \"(bar ASC, __name__ ASC)\"} ]", +"items": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"Precondition": { +"description": "A precondition on a document, used for conditional operations.", +"id": "Precondition", +"properties": { +"exists": { +"description": "When set to `true`, the target document must exist. When set to `false`, the target document must not exist.", +"type": "boolean" +}, +"updateTime": { +"description": "When set, the target document must exist and have been last updated at that time. Timestamp must be microsecond aligned.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"Projection": { +"description": "The projection of document's fields to return.", +"id": "Projection", +"properties": { +"fields": { +"description": "The fields to return. If empty, all fields are returned. To only return the name of the document, use `['__name__']`.", +"items": { +"$ref": "FieldReference" +}, +"type": "array" +} +}, +"type": "object" +}, +"QueryTarget": { +"description": "A target specified by a query.", +"id": "QueryTarget", +"properties": { +"parent": { +"description": "The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents` or `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`", +"type": "string" +}, +"structuredQuery": { +"$ref": "StructuredQuery", +"description": "A structured query." +} +}, +"type": "object" +}, +"ReadOnly": { +"description": "Options for a transaction that can only be used to read documents.", +"id": "ReadOnly", +"properties": { +"readTime": { +"description": "Reads documents at the given time. This must be a microsecond precision timestamp within the past one hour, or if Point-in-Time Recovery is enabled, can additionally be a whole minute timestamp within the past 7 days.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"ReadWrite": { +"description": "Options for a transaction that can be used to read and write documents. Firestore does not allow 3rd party auth requests to create read-write. transactions.", +"id": "ReadWrite", +"properties": { +"retryTransaction": { +"description": "An optional transaction to retry.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"RollbackRequest": { +"description": "The request for Firestore.Rollback.", +"id": "RollbackRequest", +"properties": { +"transaction": { +"description": "Required. The transaction to roll back.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"RunAggregationQueryRequest": { +"description": "The request for Firestore.RunAggregationQuery.", +"id": "RunAggregationQueryRequest", +"properties": { +"explainOptions": { +"$ref": "ExplainOptions", +"description": "Optional. Explain options for the query. If set, additional query statistics will be returned. If not, only query results will be returned." +}, +"newTransaction": { +"$ref": "TransactionOptions", +"description": "Starts a new transaction as part of the query, defaulting to read-only. The new transaction ID will be returned as the first response in the stream." +}, +"readTime": { +"description": "Executes the query at the given timestamp. This must be a microsecond precision timestamp within the past one hour, or if Point-in-Time Recovery is enabled, can additionally be a whole minute timestamp within the past 7 days.", +"format": "google-datetime", +"type": "string" +}, +"structuredAggregationQuery": { +"$ref": "StructuredAggregationQuery", +"description": "An aggregation query." +}, +"transaction": { +"description": "Run the aggregation within an already active transaction. The value here is the opaque transaction ID to execute the query in.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"RunAggregationQueryResponse": { +"description": "The response for Firestore.RunAggregationQuery.", +"id": "RunAggregationQueryResponse", +"properties": { +"explainMetrics": { +"$ref": "ExplainMetrics", +"description": "Query explain metrics. This is only present when the RunAggregationQueryRequest.explain_options is provided, and it is sent only once with the last response in the stream." +}, +"readTime": { +"description": "The time at which the aggregate result was computed. This is always monotonically increasing; in this case, the previous AggregationResult in the result stream are guaranteed not to have changed between their `read_time` and this one. If the query returns no results, a response with `read_time` and no `result` will be sent, and this represents the time at which the query was run.", +"format": "google-datetime", +"type": "string" +}, +"result": { +"$ref": "AggregationResult", +"description": "A single aggregation result. Not present when reporting partial progress." +}, +"transaction": { +"description": "The transaction that was started as part of this request. Only present on the first response when the request requested to start a new transaction.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"RunQueryRequest": { +"description": "The request for Firestore.RunQuery.", +"id": "RunQueryRequest", +"properties": { +"explainOptions": { +"$ref": "ExplainOptions", +"description": "Optional. Explain options for the query. If set, additional query statistics will be returned. If not, only query results will be returned." +}, +"newTransaction": { +"$ref": "TransactionOptions", +"description": "Starts a new transaction and reads the documents. Defaults to a read-only transaction. The new transaction ID will be returned as the first response in the stream." +}, +"readTime": { +"description": "Reads documents as they were at the given time. This must be a microsecond precision timestamp within the past one hour, or if Point-in-Time Recovery is enabled, can additionally be a whole minute timestamp within the past 7 days.", +"format": "google-datetime", +"type": "string" +}, +"structuredQuery": { +"$ref": "StructuredQuery", +"description": "A structured query." +}, +"transaction": { +"description": "Run the query within an already active transaction. The value here is the opaque transaction ID to execute the query in.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"RunQueryResponse": { +"description": "The response for Firestore.RunQuery.", +"id": "RunQueryResponse", +"properties": { +"document": { +"$ref": "Document", +"description": "A query result, not set when reporting partial progress." +}, +"done": { +"description": "If present, Firestore has completely finished the request and no more documents will be returned.", +"type": "boolean" +}, +"explainMetrics": { +"$ref": "ExplainMetrics", +"description": "Query explain metrics. This is only present when the RunQueryRequest.explain_options is provided, and it is sent only once with the last response in the stream." +}, +"readTime": { +"description": "The time at which the document was read. This may be monotonically increasing; in this case, the previous documents in the result stream are guaranteed not to have changed between their `read_time` and this one. If the query returns no results, a response with `read_time` and no `document` will be sent, and this represents the time at which the query was run.", +"format": "google-datetime", +"type": "string" +}, +"skippedResults": { +"description": "The number of results that have been skipped due to an offset between the last response and the current response.", +"format": "int32", +"type": "integer" +}, +"transaction": { +"description": "The transaction that was started as part of this request. Can only be set in the first response, and only if RunQueryRequest.new_transaction was set in the request. If set, no other fields will be set in this response.", +"format": "byte", +"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" +}, +"StructuredAggregationQuery": { +"description": "Firestore query for running an aggregation over a StructuredQuery.", +"id": "StructuredAggregationQuery", +"properties": { +"aggregations": { +"description": "Optional. Series of aggregations to apply over the results of the `structured_query`. Requires: * A minimum of one and maximum of five aggregations per query.", +"items": { +"$ref": "Aggregation" +}, +"type": "array" +}, +"structuredQuery": { +"$ref": "StructuredQuery", +"description": "Nested structured query." +} +}, +"type": "object" +}, +"StructuredQuery": { +"description": "A Firestore query. The query stages are executed in the following order: 1. from 2. where 3. select 4. order_by + start_at + end_at 5. offset 6. limit 7. find_nearest", +"id": "StructuredQuery", +"properties": { +"endAt": { +"$ref": "Cursor", +"description": "A potential prefix of a position in the result set to end the query at. This is similar to `START_AT` but with it controlling the end position rather than the start position. Requires: * The number of values cannot be greater than the number of fields specified in the `ORDER BY` clause." +}, +"findNearest": { +"$ref": "FindNearest", +"description": "Optional. A potential nearest neighbors search. Applies after all other filters and ordering. Finds the closest vector embeddings to the given query vector." +}, +"from": { +"description": "The collections to query.", +"items": { +"$ref": "CollectionSelector" +}, +"type": "array" +}, +"limit": { +"description": "The maximum number of results to return. Applies after all other constraints. Requires: * The value must be greater than or equal to zero if specified.", +"format": "int32", +"type": "integer" +}, +"offset": { +"description": "The number of documents to skip before returning the first result. This applies after the constraints specified by the `WHERE`, `START AT`, & `END AT` but before the `LIMIT` clause. Requires: * The value must be greater than or equal to zero if specified.", +"format": "int32", +"type": "integer" +}, +"orderBy": { +"description": "The order to apply to the query results. Firestore allows callers to provide a full ordering, a partial ordering, or no ordering at all. In all cases, Firestore guarantees a stable ordering through the following rules: * The `order_by` is required to reference all fields used with an inequality filter. * All fields that are required to be in the `order_by` but are not already present are appended in lexicographical ordering of the field name. * If an order on `__name__` is not specified, it is appended by default. Fields are appended with the same sort direction as the last order specified, or 'ASCENDING' if no order was specified. For example: * `ORDER BY a` becomes `ORDER BY a ASC, __name__ ASC` * `ORDER BY a DESC` becomes `ORDER BY a DESC, __name__ DESC` * `WHERE a > 1` becomes `WHERE a > 1 ORDER BY a ASC, __name__ ASC` * `WHERE __name__ > ... AND a > 1` becomes `WHERE __name__ > ... AND a > 1 ORDER BY a ASC, __name__ ASC`", +"items": { +"$ref": "Order" +}, +"type": "array" +}, +"select": { +"$ref": "Projection", +"description": "Optional sub-set of the fields to return. This acts as a DocumentMask over the documents returned from a query. When not set, assumes that the caller wants all fields returned." +}, +"startAt": { +"$ref": "Cursor", +"description": "A potential prefix of a position in the result set to start the query at. The ordering of the result set is based on the `ORDER BY` clause of the original query. ``` SELECT * FROM k WHERE a = 1 AND b > 2 ORDER BY b ASC, __name__ ASC; ``` This query's results are ordered by `(b ASC, __name__ ASC)`. Cursors can reference either the full ordering or a prefix of the location, though it cannot reference more fields than what are in the provided `ORDER BY`. Continuing off the example above, attaching the following start cursors will have varying impact: - `START BEFORE (2, /k/123)`: start the query right before `a = 1 AND b > 2 AND __name__ > /k/123`. - `START AFTER (10)`: start the query right after `a = 1 AND b > 10`. Unlike `OFFSET` which requires scanning over the first N results to skip, a start cursor allows the query to begin at a logical position. This position is not required to match an actual result, it will scan forward from this position to find the next document. Requires: * The number of values cannot be greater than the number of fields specified in the `ORDER BY` clause." +}, +"where": { +"$ref": "Filter", +"description": "The filter to apply." +} +}, +"type": "object" +}, +"Sum": { +"description": "Sum of the values of the requested field. * Only numeric values will be aggregated. All non-numeric values including `NULL` are skipped. * If the aggregated values contain `NaN`, returns `NaN`. Infinity math follows IEEE-754 standards. * If the aggregated value set is empty, returns 0. * Returns a 64-bit integer if all aggregated numbers are integers and the sum result does not overflow. Otherwise, the result is returned as a double. Note that even if all the aggregated values are integers, the result is returned as a double if it cannot fit within a 64-bit signed integer. When this occurs, the returned value will lose precision. * When underflow occurs, floating-point aggregation is non-deterministic. This means that running the same query repeatedly without any changes to the underlying values could produce slightly different results each time. In those cases, values should be stored as integers over floating-point numbers.", +"id": "Sum", +"properties": { +"field": { +"$ref": "FieldReference", +"description": "The field to aggregate on." +} +}, +"type": "object" +}, +"Target": { +"description": "A specification of a set of documents to listen to.", +"id": "Target", +"properties": { +"documents": { +"$ref": "DocumentsTarget", +"description": "A target specified by a set of document names." +}, +"expectedCount": { +"description": "The number of documents that last matched the query at the resume token or read time. This value is only relevant when a `resume_type` is provided. This value being present and greater than zero signals that the client wants `ExistenceFilter.unchanged_names` to be included in the response.", +"format": "int32", +"type": "integer" +}, +"once": { +"description": "If the target should be removed once it is current and consistent.", +"type": "boolean" +}, +"query": { +"$ref": "QueryTarget", +"description": "A target specified by a query." +}, +"readTime": { +"description": "Start listening after a specific `read_time`. The client must know the state of matching documents at this time.", +"format": "google-datetime", +"type": "string" +}, +"resumeToken": { +"description": "A resume token from a prior TargetChange for an identical target. Using a resume token with a different target is unsupported and may fail.", +"format": "byte", +"type": "string" +}, +"targetId": { +"description": "The target ID that identifies the target on the stream. Must be a positive number and non-zero. If `target_id` is 0 (or unspecified), the server will assign an ID for this target and return that in a `TargetChange::ADD` event. Once a target with `target_id=0` is added, all subsequent targets must also have `target_id=0`. If an `AddTarget` request with `target_id != 0` is sent to the server after a target with `target_id=0` is added, the server will immediately send a response with a `TargetChange::Remove` event. Note that if the client sends multiple `AddTarget` requests without an ID, the order of IDs returned in `TargetChage.target_ids` are undefined. Therefore, clients should provide a target ID instead of relying on the server to assign one. If `target_id` is non-zero, there must not be an existing active target on this stream with the same ID.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"TargetChange": { +"description": "Targets being watched have changed.", +"id": "TargetChange", +"properties": { +"cause": { +"$ref": "Status", +"description": "The error that resulted in this change, if applicable." +}, +"readTime": { +"description": "The consistent `read_time` for the given `target_ids` (omitted when the target_ids are not at a consistent snapshot). The stream is guaranteed to send a `read_time` with `target_ids` empty whenever the entire stream reaches a new consistent snapshot. ADD, CURRENT, and RESET messages are guaranteed to (eventually) result in a new consistent snapshot (while NO_CHANGE and REMOVE messages are not). For a given stream, `read_time` is guaranteed to be monotonically increasing.", +"format": "google-datetime", +"type": "string" +}, +"resumeToken": { +"description": "A token that can be used to resume the stream for the given `target_ids`, or all targets if `target_ids` is empty. Not set on every target change.", +"format": "byte", +"type": "string" +}, +"targetChangeType": { +"description": "The type of change that occurred.", +"enum": [ +"NO_CHANGE", +"ADD", +"REMOVE", +"CURRENT", +"RESET" +], +"enumDescriptions": [ +"No change has occurred. Used only to send an updated `resume_token`.", +"The targets have been added.", +"The targets have been removed.", +"The targets reflect all changes committed before the targets were added to the stream. This will be sent after or with a `read_time` that is greater than or equal to the time at which the targets were added. Listeners can wait for this change if read-after-write semantics are desired.", +"The targets have been reset, and a new initial state for the targets will be returned in subsequent changes. After the initial state is complete, `CURRENT` will be returned even if the target was previously indicated to be `CURRENT`." +], +"type": "string" +}, +"targetIds": { +"description": "The target IDs of targets that have changed. If empty, the change applies to all targets. The order of the target IDs is not defined.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +} +}, +"type": "object" +}, +"TransactionOptions": { +"description": "Options for creating a new transaction.", +"id": "TransactionOptions", +"properties": { +"readOnly": { +"$ref": "ReadOnly", +"description": "The transaction can only be used for read operations." +}, +"readWrite": { +"$ref": "ReadWrite", +"description": "The transaction can be used for both read and write operations." +} +}, +"type": "object" +}, +"UnaryFilter": { +"description": "A filter with a single operand.", +"id": "UnaryFilter", +"properties": { +"field": { +"$ref": "FieldReference", +"description": "The field to which to apply the operator." +}, +"op": { +"description": "The unary operator to apply.", +"enum": [ +"OPERATOR_UNSPECIFIED", +"IS_NAN", +"IS_NULL", +"IS_NOT_NAN", +"IS_NOT_NULL" +], +"enumDescriptions": [ +"Unspecified. This value must not be used.", +"The given `field` is equal to `NaN`.", +"The given `field` is equal to `NULL`.", +"The given `field` is not equal to `NaN`. Requires: * No other `NOT_EQUAL`, `NOT_IN`, `IS_NOT_NULL`, or `IS_NOT_NAN`. * That `field` comes first in the `order_by`.", +"The given `field` is not equal to `NULL`. Requires: * A single `NOT_EQUAL`, `NOT_IN`, `IS_NOT_NULL`, or `IS_NOT_NAN`. * That `field` comes first in the `order_by`." +], +"type": "string" +} +}, +"type": "object" +}, +"Value": { +"description": "A message that can hold any of the supported value types.", +"id": "Value", +"properties": { +"arrayValue": { +"$ref": "ArrayValue", +"description": "An array value. Cannot directly contain another array value, though can contain a map which contains another array." +}, +"booleanValue": { +"description": "A boolean value.", +"type": "boolean" +}, +"bytesValue": { +"description": "A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.", +"format": "byte", +"type": "string" +}, +"doubleValue": { +"description": "A double value.", +"format": "double", +"type": "number" +}, +"geoPointValue": { +"$ref": "LatLng", +"description": "A geo point value representing a point on the surface of Earth." +}, +"integerValue": { +"description": "An integer value.", +"format": "int64", +"type": "string" +}, +"mapValue": { +"$ref": "MapValue", +"description": "A map value." +}, +"nullValue": { +"description": "A null value.", +"enum": [ +"NULL_VALUE" +], +"enumDescriptions": [ +"Null value." +], +"type": "string" +}, +"referenceValue": { +"description": "A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.", +"type": "string" +}, +"stringValue": { +"description": "A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.", +"type": "string" +}, +"timestampValue": { +"description": "A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"Write": { +"description": "A write on a document.", +"id": "Write", +"properties": { +"currentDocument": { +"$ref": "Precondition", +"description": "An optional precondition on the document. The write will fail if this is set and not met by the target document." +}, +"delete": { +"description": "A document name to delete. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.", +"type": "string" +}, +"transform": { +"$ref": "DocumentTransform", +"description": "Applies a transformation to a document." +}, +"update": { +"$ref": "Document", +"description": "A document to write." +}, +"updateMask": { +"$ref": "DocumentMask", +"description": "The fields to update in this write. This field can be set only when the operation is `update`. If the mask is not set for an `update` and the document exists, any existing data will be overwritten. If the mask is set and the document on the server has fields not covered by the mask, they are left unchanged. Fields referenced in the mask, but not present in the input document, are deleted from the document on the server. The field paths in this mask must not contain a reserved field name." +}, +"updateTransforms": { +"description": "The transforms to perform after update. This field can be set only when the operation is `update`. If present, this write is equivalent to performing `update` and `transform` to the same document atomically and in order.", +"items": { +"$ref": "FieldTransform" +}, +"type": "array" +} +}, +"type": "object" +}, +"WriteRequest": { +"description": "The request for Firestore.Write. The first request creates a stream, or resumes an existing one from a token. When creating a new stream, the server replies with a response containing only an ID and a token, to use in the next request. When resuming a stream, the server first streams any responses later than the given token, then a response containing only an up-to-date token, to use in the next request.", +"id": "WriteRequest", +"properties": { +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels associated with this write request.", +"type": "object" +}, +"streamId": { +"description": "The ID of the write stream to resume. This may only be set in the first message. When left empty, a new write stream will be created.", +"type": "string" +}, +"streamToken": { +"description": "A stream token that was previously sent by the server. The client should set this field to the token from the most recent WriteResponse it has received. This acknowledges that the client has received responses up to this token. After sending this token, earlier tokens may not be used anymore. The server may close the stream if there are too many unacknowledged responses. Leave this field unset when creating a new stream. To resume a stream at a specific point, set this field and the `stream_id` field. Leave this field unset when creating a new stream.", +"format": "byte", +"type": "string" +}, +"writes": { +"description": "The writes to apply. Always executed atomically and in order. This must be empty on the first request. This may be empty on the last request. This must not be empty on all other requests.", +"items": { +"$ref": "Write" +}, +"type": "array" +} +}, +"type": "object" +}, +"WriteResponse": { +"description": "The response for Firestore.Write.", +"id": "WriteResponse", +"properties": { +"commitTime": { +"description": "The time at which the commit occurred. Any read with an equal or greater `read_time` is guaranteed to see the effects of the write.", +"format": "google-datetime", +"type": "string" +}, +"streamId": { +"description": "The ID of the stream. Only set on the first message, when a new stream was created.", +"type": "string" +}, +"streamToken": { +"description": "A token that represents the position of this response in the stream. This can be used by a client to resume the stream at this point. This field is always set.", +"format": "byte", +"type": "string" +}, +"writeResults": { +"description": "The result of applying the writes. This i-th write result corresponds to the i-th write in the request.", +"items": { +"$ref": "WriteResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"WriteResult": { +"description": "The result of applying a write.", +"id": "WriteResult", +"properties": { +"transformResults": { +"description": "The results of applying each DocumentTransform.FieldTransform, in the same order.", +"items": { +"$ref": "Value" +}, +"type": "array" +}, +"updateTime": { +"description": "The last update time of the document after applying the write. Not set after a `delete`. If the write did not actually change the document, this will be the previous update_time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Firestore 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/forms.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/forms.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..3ca6dadc267c0e697385323d0bddd6cd343ee439 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/forms.v1.json @@ -0,0 +1,1652 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/drive": { +"description": "See, edit, create, and delete all of your Google Drive files" +}, +"https://www.googleapis.com/auth/drive.file": { +"description": "See, edit, create, and delete only the specific Google Drive files you use with this app" +}, +"https://www.googleapis.com/auth/drive.readonly": { +"description": "See and download all your Google Drive files" +}, +"https://www.googleapis.com/auth/forms.body": { +"description": "See, edit, create, and delete all your Google Forms forms" +}, +"https://www.googleapis.com/auth/forms.body.readonly": { +"description": "See all your Google Forms forms" +}, +"https://www.googleapis.com/auth/forms.responses.readonly": { +"description": "See all responses to your Google Forms forms" +} +} +} +}, +"basePath": "", +"baseUrl": "https://forms.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Forms", +"description": "Reads and writes Google Forms and responses.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/forms/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": "forms:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://forms.mtls.googleapis.com/", +"name": "forms", +"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": { +"forms": { +"methods": { +"batchUpdate": { +"description": "Change the form with a batch of updates.", +"flatPath": "v1/forms/{formId}:batchUpdate", +"httpMethod": "POST", +"id": "forms.forms.batchUpdate", +"parameterOrder": [ +"formId" +], +"parameters": { +"formId": { +"description": "Required. The form ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/forms/{formId}:batchUpdate", +"request": { +"$ref": "BatchUpdateFormRequest" +}, +"response": { +"$ref": "BatchUpdateFormResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/forms.body" +] +}, +"create": { +"description": "Create a new form using the title given in the provided form message in the request. *Important:* Only the form.info.title and form.info.document_title fields are copied to the new form. All other fields including the form description, items and settings are disallowed. To create a new form and add items, you must first call forms.create to create an empty form with a title and (optional) document title, and then call forms.update to add the items.", +"flatPath": "v1/forms", +"httpMethod": "POST", +"id": "forms.forms.create", +"parameterOrder": [], +"parameters": {}, +"path": "v1/forms", +"request": { +"$ref": "Form" +}, +"response": { +"$ref": "Form" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/forms.body" +] +}, +"get": { +"description": "Get a form.", +"flatPath": "v1/forms/{formId}", +"httpMethod": "GET", +"id": "forms.forms.get", +"parameterOrder": [ +"formId" +], +"parameters": { +"formId": { +"description": "Required. The form ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/forms/{formId}", +"response": { +"$ref": "Form" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.readonly", +"https://www.googleapis.com/auth/forms.body", +"https://www.googleapis.com/auth/forms.body.readonly" +] +} +}, +"resources": { +"responses": { +"methods": { +"get": { +"description": "Get one response from the form.", +"flatPath": "v1/forms/{formId}/responses/{responseId}", +"httpMethod": "GET", +"id": "forms.forms.responses.get", +"parameterOrder": [ +"formId", +"responseId" +], +"parameters": { +"formId": { +"description": "Required. The form ID.", +"location": "path", +"required": true, +"type": "string" +}, +"responseId": { +"description": "Required. The response ID within the form.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/forms/{formId}/responses/{responseId}", +"response": { +"$ref": "FormResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/forms.responses.readonly" +] +}, +"list": { +"description": "List a form's responses.", +"flatPath": "v1/forms/{formId}/responses", +"httpMethod": "GET", +"id": "forms.forms.responses.list", +"parameterOrder": [ +"formId" +], +"parameters": { +"filter": { +"description": "Which form responses to return. Currently, the only supported filters are: * timestamp > *N* which means to get all form responses submitted after (but not at) timestamp *N*. * timestamp >= *N* which means to get all form responses submitted at and after timestamp *N*. For both supported filters, timestamp must be formatted in RFC3339 UTC \"Zulu\" format. Examples: \"2014-10-02T15:01:23Z\" and \"2014-10-02T15:01:23.045123456Z\".", +"location": "query", +"type": "string" +}, +"formId": { +"description": "Required. ID of the Form whose responses to list.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of responses to return. The service may return fewer than this value. If unspecified or zero, at most 5000 responses are returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token returned by a previous list response. If this field is set, the form and the values of the filter must be the same as for the original request.", +"location": "query", +"type": "string" +} +}, +"path": "v1/forms/{formId}/responses", +"response": { +"$ref": "ListFormResponsesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/forms.responses.readonly" +] +} +} +}, +"watches": { +"methods": { +"create": { +"description": "Create a new watch. If a watch ID is provided, it must be unused. For each invoking project, the per form limit is one watch per Watch.EventType. A watch expires seven days after it is created (see Watch.expire_time).", +"flatPath": "v1/forms/{formId}/watches", +"httpMethod": "POST", +"id": "forms.forms.watches.create", +"parameterOrder": [ +"formId" +], +"parameters": { +"formId": { +"description": "Required. ID of the Form to watch.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/forms/{formId}/watches", +"request": { +"$ref": "CreateWatchRequest" +}, +"response": { +"$ref": "Watch" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.readonly", +"https://www.googleapis.com/auth/forms.body", +"https://www.googleapis.com/auth/forms.body.readonly", +"https://www.googleapis.com/auth/forms.responses.readonly" +] +}, +"delete": { +"description": "Delete a watch.", +"flatPath": "v1/forms/{formId}/watches/{watchId}", +"httpMethod": "DELETE", +"id": "forms.forms.watches.delete", +"parameterOrder": [ +"formId", +"watchId" +], +"parameters": { +"formId": { +"description": "Required. The ID of the Form.", +"location": "path", +"required": true, +"type": "string" +}, +"watchId": { +"description": "Required. The ID of the Watch to delete.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/forms/{formId}/watches/{watchId}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.readonly", +"https://www.googleapis.com/auth/forms.body", +"https://www.googleapis.com/auth/forms.body.readonly", +"https://www.googleapis.com/auth/forms.responses.readonly" +] +}, +"list": { +"description": "Return a list of the watches owned by the invoking project. The maximum number of watches is two: For each invoker, the limit is one for each event type per form.", +"flatPath": "v1/forms/{formId}/watches", +"httpMethod": "GET", +"id": "forms.forms.watches.list", +"parameterOrder": [ +"formId" +], +"parameters": { +"formId": { +"description": "Required. ID of the Form whose watches to list.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/forms/{formId}/watches", +"response": { +"$ref": "ListWatchesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.readonly", +"https://www.googleapis.com/auth/forms.body", +"https://www.googleapis.com/auth/forms.body.readonly", +"https://www.googleapis.com/auth/forms.responses.readonly" +] +}, +"renew": { +"description": "Renew an existing watch for seven days. The state of the watch after renewal is `ACTIVE`, and the `expire_time` is seven days from the renewal. Renewing a watch in an error state (e.g. `SUSPENDED`) succeeds if the error is no longer present, but fail otherwise. After a watch has expired, RenewWatch returns `NOT_FOUND`.", +"flatPath": "v1/forms/{formId}/watches/{watchId}:renew", +"httpMethod": "POST", +"id": "forms.forms.watches.renew", +"parameterOrder": [ +"formId", +"watchId" +], +"parameters": { +"formId": { +"description": "Required. The ID of the Form.", +"location": "path", +"required": true, +"type": "string" +}, +"watchId": { +"description": "Required. The ID of the Watch to renew.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/forms/{formId}/watches/{watchId}:renew", +"request": { +"$ref": "RenewWatchRequest" +}, +"response": { +"$ref": "Watch" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.readonly", +"https://www.googleapis.com/auth/forms.body", +"https://www.googleapis.com/auth/forms.body.readonly", +"https://www.googleapis.com/auth/forms.responses.readonly" +] +} +} +} +} +} +}, +"revision": "20241112", +"rootUrl": "https://forms.googleapis.com/", +"schemas": { +"Answer": { +"description": "The submitted answer for a question.", +"id": "Answer", +"properties": { +"fileUploadAnswers": { +"$ref": "FileUploadAnswers", +"description": "Output only. The answers to a file upload question.", +"readOnly": true +}, +"grade": { +"$ref": "Grade", +"description": "Output only. The grade for the answer if the form was a quiz.", +"readOnly": true +}, +"questionId": { +"description": "Output only. The question's ID. See also Question.question_id.", +"readOnly": true, +"type": "string" +}, +"textAnswers": { +"$ref": "TextAnswers", +"description": "Output only. The specific answers as text.", +"readOnly": true +} +}, +"type": "object" +}, +"BatchUpdateFormRequest": { +"description": "A batch of updates to perform on a form. All the specified updates are made or none of them are.", +"id": "BatchUpdateFormRequest", +"properties": { +"includeFormInResponse": { +"description": "Whether to return an updated version of the model in the response.", +"type": "boolean" +}, +"requests": { +"description": "Required. The update requests of this batch.", +"items": { +"$ref": "Request" +}, +"type": "array" +}, +"writeControl": { +"$ref": "WriteControl", +"description": "Provides control over how write requests are executed." +} +}, +"type": "object" +}, +"BatchUpdateFormResponse": { +"description": "Response to a BatchUpdateFormRequest.", +"id": "BatchUpdateFormResponse", +"properties": { +"form": { +"$ref": "Form", +"description": "Based on the bool request field `include_form_in_response`, a form with all applied mutations/updates is returned or not. This may be later than the revision ID created by these changes." +}, +"replies": { +"description": "The reply of the updates. This maps 1:1 with the update requests, although replies to some requests may be empty.", +"items": { +"$ref": "Response" +}, +"type": "array" +}, +"writeControl": { +"$ref": "WriteControl", +"description": "The updated write control after applying the request." +} +}, +"type": "object" +}, +"ChoiceQuestion": { +"description": "A radio/checkbox/dropdown question.", +"id": "ChoiceQuestion", +"properties": { +"options": { +"description": "Required. List of options that a respondent must choose from.", +"items": { +"$ref": "Option" +}, +"type": "array" +}, +"shuffle": { +"description": "Whether the options should be displayed in random order for different instances of the quiz. This is often used to prevent cheating by respondents who might be looking at another respondent's screen, or to address bias in a survey that might be introduced by always putting the same options first or last.", +"type": "boolean" +}, +"type": { +"description": "Required. The type of choice question.", +"enum": [ +"CHOICE_TYPE_UNSPECIFIED", +"RADIO", +"CHECKBOX", +"DROP_DOWN" +], +"enumDescriptions": [ +"Default value. Unused.", +"Radio buttons: All choices are shown to the user, who can only pick one of them.", +"Checkboxes: All choices are shown to the user, who can pick any number of them.", +"Drop-down menu: The choices are only shown to the user on demand, otherwise only the current choice is shown. Only one option can be chosen." +], +"type": "string" +} +}, +"type": "object" +}, +"CloudPubsubTopic": { +"description": "A Pub/Sub topic.", +"id": "CloudPubsubTopic", +"properties": { +"topicName": { +"description": "Required. A fully qualified Pub/Sub topic name to publish the events to. This topic must be owned by the calling project and already exist in Pub/Sub.", +"type": "string" +} +}, +"type": "object" +}, +"CorrectAnswer": { +"description": "A single correct answer for a question. For multiple-valued (`CHECKBOX`) questions, several `CorrectAnswer`s may be needed to represent a single correct response option.", +"id": "CorrectAnswer", +"properties": { +"value": { +"description": "Required. The correct answer value. See the documentation for TextAnswer.value for details on how various value types are formatted.", +"type": "string" +} +}, +"type": "object" +}, +"CorrectAnswers": { +"description": "The answer key for a question.", +"id": "CorrectAnswers", +"properties": { +"answers": { +"description": "A list of correct answers. A quiz response can be automatically graded based on these answers. For single-valued questions, a response is marked correct if it matches any value in this list (in other words, multiple correct answers are possible). For multiple-valued (`CHECKBOX`) questions, a response is marked correct if it contains exactly the values in this list.", +"items": { +"$ref": "CorrectAnswer" +}, +"type": "array" +} +}, +"type": "object" +}, +"CreateItemRequest": { +"description": "Create an item in a form.", +"id": "CreateItemRequest", +"properties": { +"item": { +"$ref": "Item", +"description": "Required. The item to create." +}, +"location": { +"$ref": "Location", +"description": "Required. Where to place the new item." +} +}, +"type": "object" +}, +"CreateItemResponse": { +"description": "The result of creating an item.", +"id": "CreateItemResponse", +"properties": { +"itemId": { +"description": "The ID of the created item.", +"type": "string" +}, +"questionId": { +"description": "The ID of the question created as part of this item, for a question group it lists IDs of all the questions created for this item.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"CreateWatchRequest": { +"description": "Create a new watch.", +"id": "CreateWatchRequest", +"properties": { +"watch": { +"$ref": "Watch", +"description": "Required. The watch object. No ID should be set on this object; use `watch_id` instead." +}, +"watchId": { +"description": "The ID to use for the watch. If specified, the ID must not already be in use. If not specified, an ID is generated. This value should be 4-63 characters, and valid characters are /a-z-/.", +"type": "string" +} +}, +"type": "object" +}, +"DateQuestion": { +"description": "A date question. Date questions default to just month + day.", +"id": "DateQuestion", +"properties": { +"includeTime": { +"description": "Whether to include the time as part of the question.", +"type": "boolean" +}, +"includeYear": { +"description": "Whether to include the year as part of the question.", +"type": "boolean" +} +}, +"type": "object" +}, +"DeleteItemRequest": { +"description": "Delete an item in a form.", +"id": "DeleteItemRequest", +"properties": { +"location": { +"$ref": "Location", +"description": "Required. The location of the item to delete." +} +}, +"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" +}, +"ExtraMaterial": { +"description": "Supplementary material to the feedback.", +"id": "ExtraMaterial", +"properties": { +"link": { +"$ref": "TextLink", +"description": "Text feedback." +}, +"video": { +"$ref": "VideoLink", +"description": "Video feedback." +} +}, +"type": "object" +}, +"Feedback": { +"description": "Feedback for a respondent about their response to a question.", +"id": "Feedback", +"properties": { +"material": { +"description": "Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.", +"items": { +"$ref": "ExtraMaterial" +}, +"type": "array" +}, +"text": { +"description": "Required. The main text of the feedback.", +"type": "string" +} +}, +"type": "object" +}, +"FileUploadAnswer": { +"description": "Info for a single file submitted to a file upload question.", +"id": "FileUploadAnswer", +"properties": { +"fileId": { +"description": "Output only. The ID of the Google Drive file.", +"readOnly": true, +"type": "string" +}, +"fileName": { +"description": "Output only. The file name, as stored in Google Drive on upload.", +"readOnly": true, +"type": "string" +}, +"mimeType": { +"description": "Output only. The MIME type of the file, as stored in Google Drive on upload.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"FileUploadAnswers": { +"description": "All submitted files for a FileUpload question.", +"id": "FileUploadAnswers", +"properties": { +"answers": { +"description": "Output only. All submitted files for a FileUpload question.", +"items": { +"$ref": "FileUploadAnswer" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"FileUploadQuestion": { +"description": "A file upload question. The API currently does not support creating file upload questions.", +"id": "FileUploadQuestion", +"properties": { +"folderId": { +"description": "Required. The ID of the Drive folder where uploaded files are stored.", +"type": "string" +}, +"maxFileSize": { +"description": "Maximum number of bytes allowed for any single file uploaded to this question.", +"format": "int64", +"type": "string" +}, +"maxFiles": { +"description": "Maximum number of files that can be uploaded for this question in a single response.", +"format": "int32", +"type": "integer" +}, +"types": { +"description": "File types accepted by this question.", +"items": { +"enum": [ +"FILE_TYPE_UNSPECIFIED", +"ANY", +"DOCUMENT", +"PRESENTATION", +"SPREADSHEET", +"DRAWING", +"PDF", +"IMAGE", +"VIDEO", +"AUDIO" +], +"enumDescriptions": [ +"Default value. Unused.", +"No restrictions on type.", +"A Google Docs document.", +"A Google Slides presentation.", +"A Google Sheets spreadsheet.", +"A drawing.", +"A PDF.", +"An image.", +"A video.", +"An audio file." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Form": { +"description": "A Google Forms document. A form is created in Drive, and deleting a form or changing its access protections is done via the [Drive API](https://developers.google.com/drive/api/v3/about-sdk).", +"id": "Form", +"properties": { +"formId": { +"description": "Output only. The form ID.", +"readOnly": true, +"type": "string" +}, +"info": { +"$ref": "Info", +"description": "Required. The title and description of the form." +}, +"items": { +"description": "Required. A list of the form's items, which can include section headers, questions, embedded media, etc.", +"items": { +"$ref": "Item" +}, +"type": "array" +}, +"linkedSheetId": { +"description": "Output only. The ID of the linked Google Sheet which is accumulating responses from this Form (if such a Sheet exists).", +"readOnly": true, +"type": "string" +}, +"responderUri": { +"description": "Output only. The form URI to share with responders. This opens a page that allows the user to submit responses but not edit the questions.", +"readOnly": true, +"type": "string" +}, +"revisionId": { +"description": "Output only. The revision ID of the form. Used in the WriteControl in update requests to identify the revision on which the changes are based. The format of the revision ID may change over time, so it should be treated opaquely. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the form has not changed. Conversely, a changed ID (for the same form and user) usually means the form has been updated; however, a changed ID can also be due to internal factors such as ID format changes.", +"readOnly": true, +"type": "string" +}, +"settings": { +"$ref": "FormSettings", +"description": "The form's settings. This must be updated with UpdateSettingsRequest; it is ignored during `forms.create` and UpdateFormInfoRequest." +} +}, +"type": "object" +}, +"FormResponse": { +"description": "A form response.", +"id": "FormResponse", +"properties": { +"answers": { +"additionalProperties": { +"$ref": "Answer" +}, +"description": "Output only. The actual answers to the questions, keyed by question_id.", +"readOnly": true, +"type": "object" +}, +"createTime": { +"description": "Output only. Timestamp for the first time the response was submitted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"formId": { +"description": "Output only. The form ID.", +"readOnly": true, +"type": "string" +}, +"lastSubmittedTime": { +"description": "Output only. Timestamp for the most recent time the response was submitted. Does not track changes to grades.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"respondentEmail": { +"description": "Output only. The email address (if collected) for the respondent.", +"readOnly": true, +"type": "string" +}, +"responseId": { +"description": "Output only. The response ID.", +"readOnly": true, +"type": "string" +}, +"totalScore": { +"description": "Output only. The total number of points the respondent received for their submission Only set if the form was a quiz and the response was graded. This includes points automatically awarded via autograding adjusted by any manual corrections entered by the form owner.", +"format": "double", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"FormSettings": { +"description": "A form's settings.", +"id": "FormSettings", +"properties": { +"quizSettings": { +"$ref": "QuizSettings", +"description": "Settings related to quiz forms and grading." +} +}, +"type": "object" +}, +"Grade": { +"description": "Grade information associated with a respondent's answer to a question.", +"id": "Grade", +"properties": { +"correct": { +"description": "Output only. Whether the question was answered correctly or not. A zero-point score is not enough to infer incorrectness, since a correctly answered question could be worth zero points.", +"readOnly": true, +"type": "boolean" +}, +"feedback": { +"$ref": "Feedback", +"description": "Output only. Additional feedback given for an answer.", +"readOnly": true +}, +"score": { +"description": "Output only. The numeric score awarded for the answer.", +"format": "double", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"Grading": { +"description": "Grading for a single question", +"id": "Grading", +"properties": { +"correctAnswers": { +"$ref": "CorrectAnswers", +"description": "Required. The answer key for the question. Responses are automatically graded based on this field." +}, +"generalFeedback": { +"$ref": "Feedback", +"description": "The feedback displayed for all answers. This is commonly used for short answer questions when a quiz owner wants to quickly give respondents some sense of whether they answered the question correctly before they've had a chance to officially grade the response. General feedback cannot be set for automatically graded multiple choice questions." +}, +"pointValue": { +"description": "Required. The maximum number of points a respondent can automatically get for a correct answer. This must not be negative.", +"format": "int32", +"type": "integer" +}, +"whenRight": { +"$ref": "Feedback", +"description": "The feedback displayed for correct responses. This feedback can only be set for multiple choice questions that have correct answers provided." +}, +"whenWrong": { +"$ref": "Feedback", +"description": "The feedback displayed for incorrect responses. This feedback can only be set for multiple choice questions that have correct answers provided." +} +}, +"type": "object" +}, +"Grid": { +"description": "A grid of choices (radio or check boxes) with each row constituting a separate question. Each row has the same choices, which are shown as the columns.", +"id": "Grid", +"properties": { +"columns": { +"$ref": "ChoiceQuestion", +"description": "Required. The choices shared by each question in the grid. In other words, the values of the columns. Only `CHECK_BOX` and `RADIO` choices are allowed." +}, +"shuffleQuestions": { +"description": "If `true`, the questions are randomly ordered. In other words, the rows appear in a different order for every respondent.", +"type": "boolean" +} +}, +"type": "object" +}, +"Image": { +"description": "Data representing an image.", +"id": "Image", +"properties": { +"altText": { +"description": "A description of the image that is shown on hover and read by screenreaders.", +"type": "string" +}, +"contentUri": { +"description": "Output only. A URI from which you can download the image; this is valid only for a limited time.", +"readOnly": true, +"type": "string" +}, +"properties": { +"$ref": "MediaProperties", +"description": "Properties of an image." +}, +"sourceUri": { +"description": "Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.", +"type": "string" +} +}, +"type": "object" +}, +"ImageItem": { +"description": "An item containing an image.", +"id": "ImageItem", +"properties": { +"image": { +"$ref": "Image", +"description": "Required. The image displayed in the item." +} +}, +"type": "object" +}, +"Info": { +"description": "The general information for a form.", +"id": "Info", +"properties": { +"description": { +"description": "The description of the form.", +"type": "string" +}, +"documentTitle": { +"description": "Output only. The title of the document which is visible in Drive. If `Info.title` is empty, `document_title` may appear in its place in the Google Forms UI and be visible to responders. `document_title` can be set on create, but cannot be modified by a batchUpdate request. Please use the [Google Drive API](https://developers.google.com/drive/api/v3/reference/files/update) if you need to programmatically update `document_title`.", +"readOnly": true, +"type": "string" +}, +"title": { +"description": "Required. The title of the form which is visible to responders.", +"type": "string" +} +}, +"type": "object" +}, +"Item": { +"description": "A single item of the form. `kind` defines which kind of item it is.", +"id": "Item", +"properties": { +"description": { +"description": "The description of the item.", +"type": "string" +}, +"imageItem": { +"$ref": "ImageItem", +"description": "Displays an image on the page." +}, +"itemId": { +"description": "The item ID. On creation, it can be provided but the ID must not be already used in the form. If not provided, a new ID is assigned.", +"type": "string" +}, +"pageBreakItem": { +"$ref": "PageBreakItem", +"description": "Starts a new page with a title." +}, +"questionGroupItem": { +"$ref": "QuestionGroupItem", +"description": "Poses one or more questions to the user with a single major prompt." +}, +"questionItem": { +"$ref": "QuestionItem", +"description": "Poses a question to the user." +}, +"textItem": { +"$ref": "TextItem", +"description": "Displays a title and description on the page." +}, +"title": { +"description": "The title of the item.", +"type": "string" +}, +"videoItem": { +"$ref": "VideoItem", +"description": "Displays a video on the page." +} +}, +"type": "object" +}, +"ListFormResponsesResponse": { +"description": "Response to a ListFormResponsesRequest.", +"id": "ListFormResponsesResponse", +"properties": { +"nextPageToken": { +"description": "If set, there are more responses. To get the next page of responses, provide this as `page_token` in a future request.", +"type": "string" +}, +"responses": { +"description": "The returned form responses. Note: The `formId` field is not returned in the `FormResponse` object for list requests.", +"items": { +"$ref": "FormResponse" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListWatchesResponse": { +"description": "The response of a ListWatchesRequest.", +"id": "ListWatchesResponse", +"properties": { +"watches": { +"description": "The returned watches.", +"items": { +"$ref": "Watch" +}, +"type": "array" +} +}, +"type": "object" +}, +"Location": { +"description": "A specific location in a form.", +"id": "Location", +"properties": { +"index": { +"description": "The index of an item in the form. This must be in the range [0..*N*), where *N* is the number of items in the form.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"MediaProperties": { +"description": "Properties of the media.", +"id": "MediaProperties", +"properties": { +"alignment": { +"description": "Position of the media.", +"enum": [ +"ALIGNMENT_UNSPECIFIED", +"LEFT", +"RIGHT", +"CENTER" +], +"enumDescriptions": [ +"Default value. Unused.", +"Left align.", +"Right align.", +"Center." +], +"type": "string" +}, +"width": { +"description": "The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"MoveItemRequest": { +"description": "Move an item in a form.", +"id": "MoveItemRequest", +"properties": { +"newLocation": { +"$ref": "Location", +"description": "Required. The new location for the item." +}, +"originalLocation": { +"$ref": "Location", +"description": "Required. The location of the item to move." +} +}, +"type": "object" +}, +"Option": { +"description": "An option for a Choice question.", +"id": "Option", +"properties": { +"goToAction": { +"description": "Section navigation type.", +"enum": [ +"GO_TO_ACTION_UNSPECIFIED", +"NEXT_SECTION", +"RESTART_FORM", +"SUBMIT_FORM" +], +"enumDescriptions": [ +"Default value. Unused.", +"Go to the next section.", +"Go back to the beginning of the form.", +"Submit form immediately." +], +"type": "string" +}, +"goToSectionId": { +"description": "Item ID of section header to go to.", +"type": "string" +}, +"image": { +"$ref": "Image", +"description": "Display image as an option." +}, +"isOther": { +"description": "Whether the option is \"other\". Currently only applies to `RADIO` and `CHECKBOX` choice types, but is not allowed in a QuestionGroupItem.", +"type": "boolean" +}, +"value": { +"description": "Required. The choice as presented to the user.", +"type": "string" +} +}, +"type": "object" +}, +"PageBreakItem": { +"description": "A page break. The title and description of this item are shown at the top of the new page.", +"id": "PageBreakItem", +"properties": {}, +"type": "object" +}, +"Question": { +"description": "Any question. The specific type of question is known by its `kind`.", +"id": "Question", +"properties": { +"choiceQuestion": { +"$ref": "ChoiceQuestion", +"description": "A respondent can choose from a pre-defined set of options." +}, +"dateQuestion": { +"$ref": "DateQuestion", +"description": "A respondent can enter a date." +}, +"fileUploadQuestion": { +"$ref": "FileUploadQuestion", +"description": "A respondent can upload one or more files." +}, +"grading": { +"$ref": "Grading", +"description": "Grading setup for the question." +}, +"questionId": { +"description": "Read only. The question ID. On creation, it can be provided but the ID must not be already used in the form. If not provided, a new ID is assigned.", +"type": "string" +}, +"ratingQuestion": { +"$ref": "RatingQuestion", +"description": "A respondent can choose a rating from a pre-defined set of icons." +}, +"required": { +"description": "Whether the question must be answered in order for a respondent to submit their response.", +"type": "boolean" +}, +"rowQuestion": { +"$ref": "RowQuestion", +"description": "A row of a QuestionGroupItem." +}, +"scaleQuestion": { +"$ref": "ScaleQuestion", +"description": "A respondent can choose a number from a range." +}, +"textQuestion": { +"$ref": "TextQuestion", +"description": "A respondent can enter a free text response." +}, +"timeQuestion": { +"$ref": "TimeQuestion", +"description": "A respondent can enter a time." +} +}, +"type": "object" +}, +"QuestionGroupItem": { +"description": "Defines a question that comprises multiple questions grouped together.", +"id": "QuestionGroupItem", +"properties": { +"grid": { +"$ref": "Grid", +"description": "The question group is a grid with rows of multiple choice questions that share the same options. When `grid` is set, all questions in the group must be of kind `row`." +}, +"image": { +"$ref": "Image", +"description": "The image displayed within the question group above the specific questions." +}, +"questions": { +"description": "Required. A list of questions that belong in this question group. A question must only belong to one group. The `kind` of the group may affect what types of questions are allowed.", +"items": { +"$ref": "Question" +}, +"type": "array" +} +}, +"type": "object" +}, +"QuestionItem": { +"description": "A form item containing a single question.", +"id": "QuestionItem", +"properties": { +"image": { +"$ref": "Image", +"description": "The image displayed within the question." +}, +"question": { +"$ref": "Question", +"description": "Required. The displayed question." +} +}, +"type": "object" +}, +"QuizSettings": { +"description": "Settings related to quiz forms and grading. These must be updated with the UpdateSettingsRequest.", +"id": "QuizSettings", +"properties": { +"isQuiz": { +"description": "Whether this form is a quiz or not. When true, responses are graded based on question Grading. Upon setting to false, all question Grading is deleted.", +"type": "boolean" +} +}, +"type": "object" +}, +"RatingQuestion": { +"description": "A rating question. The user has a range of icons to choose from.", +"id": "RatingQuestion", +"properties": { +"iconType": { +"description": "Required. The icon type to use for the rating.", +"enum": [ +"RATING_ICON_TYPE_UNSPECIFIED", +"STAR", +"HEART", +"THUMB_UP" +], +"enumDescriptions": [ +"Default value. Unused.", +"A star icon.", +"A heart icon.", +"A thumbs down icon." +], +"type": "string" +}, +"ratingScaleLevel": { +"description": "Required. The rating scale level of the rating question.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"RenewWatchRequest": { +"description": "Renew an existing Watch for seven days.", +"id": "RenewWatchRequest", +"properties": {}, +"type": "object" +}, +"Request": { +"description": "The kinds of update requests that can be made.", +"id": "Request", +"properties": { +"createItem": { +"$ref": "CreateItemRequest", +"description": "Create a new item." +}, +"deleteItem": { +"$ref": "DeleteItemRequest", +"description": "Delete an item." +}, +"moveItem": { +"$ref": "MoveItemRequest", +"description": "Move an item to a specified location." +}, +"updateFormInfo": { +"$ref": "UpdateFormInfoRequest", +"description": "Update Form's Info." +}, +"updateItem": { +"$ref": "UpdateItemRequest", +"description": "Update an item." +}, +"updateSettings": { +"$ref": "UpdateSettingsRequest", +"description": "Updates the Form's settings." +} +}, +"type": "object" +}, +"Response": { +"description": "A single response from an update.", +"id": "Response", +"properties": { +"createItem": { +"$ref": "CreateItemResponse", +"description": "The result of creating an item." +} +}, +"type": "object" +}, +"RowQuestion": { +"description": "Configuration for a question that is part of a question group.", +"id": "RowQuestion", +"properties": { +"title": { +"description": "Required. The title for the single row in the QuestionGroupItem.", +"type": "string" +} +}, +"type": "object" +}, +"ScaleQuestion": { +"description": "A scale question. The user has a range of numeric values to choose from.", +"id": "ScaleQuestion", +"properties": { +"high": { +"description": "Required. The highest possible value for the scale.", +"format": "int32", +"type": "integer" +}, +"highLabel": { +"description": "The label to display describing the highest point on the scale.", +"type": "string" +}, +"low": { +"description": "Required. The lowest possible value for the scale.", +"format": "int32", +"type": "integer" +}, +"lowLabel": { +"description": "The label to display describing the lowest point on the scale.", +"type": "string" +} +}, +"type": "object" +}, +"TextAnswer": { +"description": "An answer to a question represented as text.", +"id": "TextAnswer", +"properties": { +"value": { +"description": "Output only. The answer value. Formatting used for different kinds of question: * ChoiceQuestion * `RADIO` or `DROP_DOWN`: A single string corresponding to the option that was selected. * `CHECKBOX`: Multiple strings corresponding to each option that was selected. * TextQuestion: The text that the user entered. * ScaleQuestion: A string containing the number that was selected. * DateQuestion * Without time or year: MM-DD e.g. \"05-19\" * With year: YYYY-MM-DD e.g. \"1986-05-19\" * With time: MM-DD HH:MM e.g. \"05-19 14:51\" * With year and time: YYYY-MM-DD HH:MM e.g. \"1986-05-19 14:51\" * TimeQuestion: String with time or duration in HH:MM format e.g. \"14:51\" * RowQuestion within QuestionGroupItem: The answer for each row of a QuestionGroupItem is represented as a separate Answer. Each will contain one string for `RADIO`-type choices or multiple strings for `CHECKBOX` choices.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"TextAnswers": { +"description": "A question's answers as text.", +"id": "TextAnswers", +"properties": { +"answers": { +"description": "Output only. Answers to a question. For multiple-value ChoiceQuestions, each answer is a separate value.", +"items": { +"$ref": "TextAnswer" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"TextItem": { +"description": "A text item.", +"id": "TextItem", +"properties": {}, +"type": "object" +}, +"TextLink": { +"description": "Link for text.", +"id": "TextLink", +"properties": { +"displayText": { +"description": "Required. Display text for the URI.", +"type": "string" +}, +"uri": { +"description": "Required. The URI.", +"type": "string" +} +}, +"type": "object" +}, +"TextQuestion": { +"description": "A text-based question.", +"id": "TextQuestion", +"properties": { +"paragraph": { +"description": "Whether the question is a paragraph question or not. If not, the question is a short text question.", +"type": "boolean" +} +}, +"type": "object" +}, +"TimeQuestion": { +"description": "A time question.", +"id": "TimeQuestion", +"properties": { +"duration": { +"description": "`true` if the question is about an elapsed time. Otherwise it is about a time of day.", +"type": "boolean" +} +}, +"type": "object" +}, +"UpdateFormInfoRequest": { +"description": "Update Form's Info.", +"id": "UpdateFormInfoRequest", +"properties": { +"info": { +"$ref": "Info", +"description": "The info to update." +}, +"updateMask": { +"description": "Required. Only values named in this mask are changed. At least one field must be specified. The root `info` 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" +}, +"UpdateItemRequest": { +"description": "Update an item in a form.", +"id": "UpdateItemRequest", +"properties": { +"item": { +"$ref": "Item", +"description": "Required. New values for the item. Note that item and question IDs are used if they are provided (and are in the field mask). If an ID is blank (and in the field mask) a new ID is generated. This means you can modify an item by getting the form via forms.get, modifying your local copy of that item to be how you want it, and using UpdateItemRequest to write it back, with the IDs being the same (or not in the field mask)." +}, +"location": { +"$ref": "Location", +"description": "Required. The location identifying the item to update." +}, +"updateMask": { +"description": "Required. Only values named in this mask are changed.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"UpdateSettingsRequest": { +"description": "Update Form's FormSettings.", +"id": "UpdateSettingsRequest", +"properties": { +"settings": { +"$ref": "FormSettings", +"description": "Required. The settings to update with." +}, +"updateMask": { +"description": "Required. Only values named in this mask are changed. At least one field must be specified. The root `settings` 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" +}, +"Video": { +"description": "Data representing a video.", +"id": "Video", +"properties": { +"properties": { +"$ref": "MediaProperties", +"description": "Properties of a video." +}, +"youtubeUri": { +"description": "Required. A YouTube URI.", +"type": "string" +} +}, +"type": "object" +}, +"VideoItem": { +"description": "An item containing a video.", +"id": "VideoItem", +"properties": { +"caption": { +"description": "The text displayed below the video.", +"type": "string" +}, +"video": { +"$ref": "Video", +"description": "Required. The video displayed in the item." +} +}, +"type": "object" +}, +"VideoLink": { +"description": "Link to a video.", +"id": "VideoLink", +"properties": { +"displayText": { +"description": "Required. The display text for the link.", +"type": "string" +}, +"youtubeUri": { +"description": "The URI of a YouTube video.", +"type": "string" +} +}, +"type": "object" +}, +"Watch": { +"description": "A watch for events for a form. When the designated event happens, a notification will be published to the specified target. The notification's attributes will include a `formId` key that has the ID of the watched form and an `eventType` key that has the string of the type. Messages are sent with at-least-once delivery and are only dropped in extraordinary circumstances. Typically all notifications should be reliably delivered within a few seconds; however, in some situations notifications may be delayed. A watch expires seven days after it is created unless it is renewed with watches.renew", +"id": "Watch", +"properties": { +"createTime": { +"description": "Output only. Timestamp of when this was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"errorType": { +"description": "Output only. The most recent error type for an attempted delivery. To begin watching the form again a call can be made to watches.renew which also clears this error information.", +"enum": [ +"ERROR_TYPE_UNSPECIFIED", +"PROJECT_NOT_AUTHORIZED", +"NO_USER_ACCESS", +"OTHER_ERRORS" +], +"enumDescriptions": [ +"Unspecified error type.", +"The cloud project does not have access to the form being watched. This occurs if the user has revoked the authorization for your project to access their form(s). Watches with this error will not be retried. To attempt to begin watching the form again a call can be made to watches.renew", +"The user that granted access no longer has access to the form being watched. Watches with this error will not be retried. To attempt to begin watching the form again a call can be made to watches.renew", +"Another type of error has occurred. Whether notifications will continue depends on the watch state." +], +"readOnly": true, +"type": "string" +}, +"eventType": { +"description": "Required. Which event type to watch for.", +"enum": [ +"EVENT_TYPE_UNSPECIFIED", +"SCHEMA", +"RESPONSES" +], +"enumDescriptions": [ +"Unspecified event type. This value should not be used.", +"The schema event type. A watch with this event type will be notified about changes to form content and settings.", +"The responses event type. A watch with this event type will be notified when form responses are submitted." +], +"type": "string" +}, +"expireTime": { +"description": "Output only. Timestamp for when this will expire. Each watches.renew call resets this to seven days in the future.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"id": { +"description": "Output only. The ID of this watch. See notes on CreateWatchRequest.watch_id.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The current state of the watch. Additional details about suspended watches can be found by checking the `error_type`.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"SUSPENDED" +], +"enumDescriptions": [ +"Unspecified state.", +"Watch is active.", +"The watch is suspended due to an error that may be resolved. The watch will continue to exist until it expires. To attempt to reactivate the watch a call can be made to watches.renew" +], +"readOnly": true, +"type": "string" +}, +"target": { +"$ref": "WatchTarget", +"description": "Required. Where to send the notification." +} +}, +"type": "object" +}, +"WatchTarget": { +"description": "The target for notification delivery.", +"id": "WatchTarget", +"properties": { +"topic": { +"$ref": "CloudPubsubTopic", +"description": "A Pub/Sub topic. To receive notifications, the topic must grant publish privileges to the Forms service account `serviceAccount:forms-notifications@system.gserviceaccount.com`. Only the project that owns a topic may create a watch with it. Pub/Sub delivery guarantees should be considered." +} +}, +"type": "object" +}, +"WriteControl": { +"description": "Provides control over how write requests are executed.", +"id": "WriteControl", +"properties": { +"requiredRevisionId": { +"description": "The revision ID of the form that the write request is applied to. If this is not the latest revision of the form, the request is not processed and returns a 400 bad request error.", +"type": "string" +}, +"targetRevisionId": { +"description": "The target revision ID of the form that the write request is applied to. If changes have occurred after this revision, the changes in this update request are transformed against those changes. This results in a new revision of the form that incorporates both the changes in the request and the intervening changes, with the server resolving conflicting changes. The target revision ID may only be used to write to recent versions of a form. If the target revision is too far behind the latest revision, the request is not processed and returns a 400 (Bad Request Error). The request may be retried after reading the latest version of the form. In most cases a target revision ID remains valid for several minutes after it is read, but for frequently-edited forms this window may be shorter.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Google Forms 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/genomics.v2alpha1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/genomics.v2alpha1.json new file mode 100644 index 0000000000000000000000000000000000000000..b34ec2944555581ee48e4e9262a00910718d9737 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/genomics.v2alpha1.json @@ -0,0 +1,1257 @@ +{ + "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/genomics": { + "description": "View and manage Genomics data" + } + } + } + }, + "basePath": "", + "baseUrl": "https://genomics.googleapis.com/", + "batchPath": "batch", + "description": "Uploads, processes, queries, and searches Genomics data in the cloud.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/genomics", + "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": "genomics:v2alpha1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://genomics.mtls.googleapis.com/", + "name": "genomics", + "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": { + "pipelines": { + "methods": { + "run": { + "description": "Runs a pipeline. The returned Operation's metadata field will contain a google.genomics.v2alpha1.Metadata object describing the status of the pipeline execution. The [response] field will contain a google.genomics.v2alpha1.RunPipelineResponse object if the pipeline completes successfully. **Note:** Before you can use this method, the Genomics Service Agent must have access to your project. This is done automatically when the Cloud Genomics API is first enabled, but if you delete this permission, or if you enabled the Cloud Genomics API before the v2alpha1 API launch, you must disable and re-enable the API to grant the Genomics Service Agent the required permissions. Authorization requires the following [Google IAM](https://cloud.google.com/iam/) permission: * `genomics.operations.create` [1]: /genomics/gsa", + "flatPath": "v2alpha1/pipelines:run", + "httpMethod": "POST", + "id": "genomics.pipelines.run", + "parameterOrder": [], + "parameters": {}, + "path": "v2alpha1/pipelines:run", + "request": { + "$ref": "RunPipelineRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ] + } + } + }, + "projects": { + "resources": { + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. Clients may use Operations.GetOperation or Operations.ListOperations to check whether the cancellation succeeded or the operation completed despite cancellation. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission: * `genomics.operations.cancel`", + "flatPath": "v2alpha1/projects/{projectsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "genomics.projects.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha1/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission: * `genomics.operations.get`", + "flatPath": "v2alpha1/projects/{projectsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "genomics.projects.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission: * `genomics.operations.list`", + "flatPath": "v2alpha1/projects/{projectsId}/operations", + "httpMethod": "GET", + "id": "genomics.projects.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "A string for filtering Operations. In v2alpha1, the following filter fields are supported: * createTime: The time this job was created * events: The set of event (names) that have occurred while running the pipeline. The : operator can be used to determine if a particular event has occurred. * error: If the pipeline is running, this value is NULL. Once the pipeline finishes, the value is the standard Google error code. * labels.key or labels.\"key with space\" where key is a label key. * done: If the pipeline is running, this value is false. Once the pipeline finishes, the value is true. Examples: * `projectId = my-project AND createTime >= 1432140000` * `projectId = my-project AND createTime >= 1432140000 AND createTime <= 1432150000 AND status = RUNNING` * `projectId = my-project AND labels.color = *` * `projectId = my-project AND labels.color = red`", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/operations$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return. The maximum value is 256.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v2alpha1/{+name}", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ] + } + } + }, + "workers": { + "methods": { + "checkIn": { + "description": "The worker uses this method to retrieve the assigned operation and provide periodic status updates.", + "flatPath": "v2alpha1/projects/{projectsId}/workers/{workersId}:checkIn", + "httpMethod": "POST", + "id": "genomics.projects.workers.checkIn", + "parameterOrder": [ + "id" + ], + "parameters": { + "id": { + "description": "The VM identity token for authenticating the VM instance. https://cloud.google.com/compute/docs/instances/verifying-instance-identity", + "location": "path", + "pattern": "^projects/[^/]+/workers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha1/{+id}:checkIn", + "request": { + "$ref": "CheckInRequest" + }, + "response": { + "$ref": "CheckInResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ] + } + } + } + } + }, + "workers": { + "methods": { + "checkIn": { + "description": "The worker uses this method to retrieve the assigned operation and provide periodic status updates.", + "flatPath": "v2alpha1/workers/{id}:checkIn", + "httpMethod": "POST", + "id": "genomics.workers.checkIn", + "parameterOrder": [ + "id" + ], + "parameters": { + "id": { + "description": "The VM identity token for authenticating the VM instance. https://cloud.google.com/compute/docs/instances/verifying-instance-identity", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v2alpha1/workers/{id}:checkIn", + "request": { + "$ref": "CheckInRequest" + }, + "response": { + "$ref": "CheckInResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ] + } + } + } + }, + "revision": "20230619", + "rootUrl": "https://genomics.googleapis.com/", + "schemas": { + "Accelerator": { + "description": "Carries information about an accelerator that can be attached to a VM.", + "id": "Accelerator", + "properties": { + "count": { + "description": "How many accelerators of this type to attach.", + "format": "int64", + "type": "string" + }, + "type": { + "description": "The accelerator type string (for example, \"nvidia-tesla-k80\"). Only NVIDIA GPU accelerators are currently supported. If an NVIDIA GPU is attached, the required runtime libraries will be made available to all containers under `/usr/local/nvidia`. The driver version to install must be specified using the NVIDIA driver version parameter on the virtual machine specification. Note that attaching a GPU increases the worker VM startup time by a few minutes.", + "type": "string" + } + }, + "type": "object" + }, + "Action": { + "description": "Specifies a single action that runs a Docker container.", + "id": "Action", + "properties": { + "commands": { + "description": "If specified, overrides the `CMD` specified in the container. If the container also has an `ENTRYPOINT` the values are used as entrypoint arguments. Otherwise, they are used as a command and arguments to run inside the container.", + "items": { + "type": "string" + }, + "type": "array" + }, + "credentials": { + "$ref": "Secret", + "description": "If the specified image is hosted on a private registry other than Google Container Registry, the credentials required to pull the image must be specified here as an encrypted secret. The secret must decrypt to a JSON-encoded dictionary containing both `username` and `password` keys." + }, + "encryptedEnvironment": { + "$ref": "Secret", + "description": "The encrypted environment to pass into the container. This environment is merged with values specified in the google.genomics.v2alpha1.Pipeline message, overwriting any duplicate values. The secret must decrypt to a JSON-encoded dictionary where key-value pairs serve as environment variable names and their values. The decoded environment variables can overwrite the values specified by the `environment` field." + }, + "entrypoint": { + "description": "If specified, overrides the `ENTRYPOINT` specified in the container.", + "type": "string" + }, + "environment": { + "additionalProperties": { + "type": "string" + }, + "description": "The environment to pass into the container. This environment is merged with values specified in the google.genomics.v2alpha1.Pipeline message, overwriting any duplicate values. In addition to the values passed here, a few other values are automatically injected into the environment. These cannot be hidden or overwritten. `GOOGLE_PIPELINE_FAILED` will be set to \"1\" if the pipeline failed because an action has exited with a non-zero status (and did not have the `IGNORE_EXIT_STATUS` flag set). This can be used to determine if additional debug or logging actions should execute. `GOOGLE_LAST_EXIT_STATUS` will be set to the exit status of the last non-background action that executed. This can be used by workflow engine authors to determine whether an individual action has succeeded or failed.", + "type": "object" + }, + "flags": { + "description": "The set of flags to apply to this action.", + "items": { + "enum": [ + "FLAG_UNSPECIFIED", + "IGNORE_EXIT_STATUS", + "RUN_IN_BACKGROUND", + "ALWAYS_RUN", + "ENABLE_FUSE", + "PUBLISH_EXPOSED_PORTS", + "DISABLE_IMAGE_PREFETCH", + "DISABLE_STANDARD_ERROR_CAPTURE", + "BLOCK_EXTERNAL_NETWORK" + ], + "enumDescriptions": [ + "Unspecified flag.", + "Normally, a non-zero exit status causes the pipeline to fail. This flag allows execution of other actions to continue instead.", + "This flag allows an action to continue running in the background while executing subsequent actions. This is useful to provide services to other actions (or to provide debugging support tools like SSH servers).", + "By default, after an action fails, no further actions are run. This flag indicates that this action must be run even if the pipeline has already failed. This is useful for actions that copy output files off of the VM or for debugging. Note that no actions will be run if image prefetching fails.", + "Enable access to the FUSE device for this action. Filesystems can then be mounted into disks shared with other actions. The other actions do not need the `ENABLE_FUSE` flag to access the mounted filesystem. This has the effect of causing the container to be executed with `CAP_SYS_ADMIN` and exposes `/dev/fuse` to the container, so use it only for containers you trust.", + "Exposes all ports specified by `EXPOSE` statements in the container. To discover the host side port numbers, consult the `ACTION_STARTED` event in the operation metadata.", + "All container images are typically downloaded before any actions are executed. This helps prevent typos in URIs or issues like lack of disk space from wasting large amounts of compute resources. If set, this flag prevents the worker from downloading the image until just before the action is executed.", + "A small portion of the container's standard error stream is typically captured and returned inside the `ContainerStoppedEvent`. Setting this flag disables this functionality.", + "Prevents the container from accessing the external network." + ], + "type": "string" + }, + "type": "array" + }, + "imageUri": { + "description": "Required. The URI to pull the container image from. Note that all images referenced by actions in the pipeline are pulled before the first action runs. If multiple actions reference the same image, it is only pulled once, ensuring that the same image is used for all actions in a single pipeline. The image URI can be either a complete host and image specification (e.g., quay.io/biocontainers/samtools), a library and image name (e.g., google/cloud-sdk) or a bare image name ('bash') to pull from the default library. No schema is required in any of these cases. If the specified image is not public, the service account specified for the Virtual Machine must have access to pull the images from GCR, or appropriate credentials must be specified in the google.genomics.v2alpha1.Action.credentials field.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels to associate with the action. This field is provided to assist workflow engine authors in identifying actions (for example, to indicate what sort of action they perform, such as localization or debugging). They are returned in the operation metadata, but are otherwise ignored.", + "type": "object" + }, + "mounts": { + "description": "A list of mounts to make available to the action. In addition to the values specified here, every action has a special virtual disk mounted under `/google` that contains log files and other operational components. - /google/logs All logs written during the pipeline execution. - /google/logs/output The combined standard output and standard error of all actions run as part of the pipeline execution. - /google/logs/action/*/stdout The complete contents of each individual action's standard output. - /google/logs/action/*/stderr The complete contents of each individual action's standard error output. ", + "items": { + "$ref": "Mount" + }, + "type": "array" + }, + "name": { + "description": "An optional name for the container. The container hostname will be set to this name, making it useful for inter-container communication. The name must contain only upper and lowercase alphanumeric characters and hyphens and cannot start with a hyphen.", + "type": "string" + }, + "pidNamespace": { + "description": "An optional identifier for a PID namespace to run the action inside. Multiple actions should use the same string to share a namespace. If unspecified, a separate isolated namespace is used.", + "type": "string" + }, + "portMappings": { + "additionalProperties": { + "format": "int32", + "type": "integer" + }, + "description": "A map of containers to host port mappings for this container. If the container already specifies exposed ports, use the `PUBLISH_EXPOSED_PORTS` flag instead. The host port number must be less than 65536. If it is zero, an unused random port is assigned. To determine the resulting port number, consult the `ContainerStartedEvent` in the operation metadata.", + "type": "object" + }, + "timeout": { + "description": "The maximum amount of time to give the action to complete. If the action fails to complete before the timeout, it will be terminated and the exit status will be non-zero. The pipeline will continue or terminate based on the rules defined by the `ALWAYS_RUN` and `IGNORE_EXIT_STATUS` flags.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "CheckInRequest": { + "description": "The parameters to the CheckIn method.", + "id": "CheckInRequest", + "properties": { + "deadlineExpired": { + "$ref": "Empty", + "description": "The deadline has expired and the worker needs more time." + }, + "event": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "A workflow specific event occurred.", + "type": "object" + }, + "events": { + "description": "A list of timestamped events.", + "items": { + "$ref": "TimestampedEvent" + }, + "type": "array" + }, + "result": { + "$ref": "Status", + "description": "The operation has finished with the given result." + }, + "sosReport": { + "description": "An SOS report for an unexpected VM failure.", + "format": "byte", + "type": "string" + }, + "workerStatus": { + "$ref": "WorkerStatus", + "description": "Data about the status of the worker VM." + } + }, + "type": "object" + }, + "CheckInResponse": { + "description": "The response to the CheckIn method.", + "id": "CheckInResponse", + "properties": { + "deadline": { + "description": "The deadline by which the worker must request an extension. The backend will allow for network transmission time and other delays, but the worker must attempt to transmit the extension request no later than the deadline.", + "format": "google-datetime", + "type": "string" + }, + "features": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Feature configuration for the operation.", + "type": "object" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The metadata that describes the operation assigned to the worker.", + "type": "object" + } + }, + "type": "object" + }, + "ContainerKilledEvent": { + "description": "An event generated when a container is forcibly terminated by the worker. Currently, this only occurs when the container outlives the timeout specified by the user.", + "id": "ContainerKilledEvent", + "properties": { + "actionId": { + "description": "The numeric ID of the action that started the container.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ContainerStartedEvent": { + "description": "An event generated when a container starts.", + "id": "ContainerStartedEvent", + "properties": { + "actionId": { + "description": "The numeric ID of the action that started this container.", + "format": "int32", + "type": "integer" + }, + "ipAddress": { + "description": "The public IP address that can be used to connect to the container. This field is only populated when at least one port mapping is present. If the instance was created with a private address, this field will be empty even if port mappings exist.", + "type": "string" + }, + "portMappings": { + "additionalProperties": { + "format": "int32", + "type": "integer" + }, + "description": "The container-to-host port mappings installed for this container. This set will contain any ports exposed using the `PUBLISH_EXPOSED_PORTS` flag as well as any specified in the `Action` definition.", + "type": "object" + } + }, + "type": "object" + }, + "ContainerStoppedEvent": { + "description": "An event generated when a container exits.", + "id": "ContainerStoppedEvent", + "properties": { + "actionId": { + "description": "The numeric ID of the action that started this container.", + "format": "int32", + "type": "integer" + }, + "exitStatus": { + "description": "The exit status of the container.", + "format": "int32", + "type": "integer" + }, + "stderr": { + "description": "The tail end of any content written to standard error by the container. If the content emits large amounts of debugging noise or contains sensitive information, you can prevent the content from being printed by setting the `DISABLE_STANDARD_ERROR_CAPTURE` flag. Note that only a small amount of the end of the stream is captured here. The entire stream is stored in the `/google/logs` directory mounted into each action, and can be copied off the machine as described elsewhere.", + "type": "string" + } + }, + "type": "object" + }, + "DelayedEvent": { + "description": "An event generated whenever a resource limitation or transient error delays execution of a pipeline that was otherwise ready to run.", + "id": "DelayedEvent", + "properties": { + "cause": { + "description": "A textual description of the cause of the delay. The string can change without notice because it is often generated by another service (such as Compute Engine).", + "type": "string" + }, + "metrics": { + "description": "If the delay was caused by a resource shortage, this field lists the Compute Engine metrics that are preventing this operation from running (for example, `CPUS` or `INSTANCES`). If the particular metric is not known, a single `UNKNOWN` metric will be present.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Disk": { + "description": "Carries information about a disk that can be attached to a VM. See https://cloud.google.com/compute/docs/disks/performance for more information about disk type, size, and performance considerations. Specify either `Volume` or `Disk`, but not both.", + "id": "Disk", + "properties": { + "name": { + "description": "A user-supplied name for the disk. Used when mounting the disk into actions. The name must contain only upper and lowercase alphanumeric characters and hyphens and cannot start with a hyphen.", + "type": "string" + }, + "sizeGb": { + "description": "The size, in GB, of the disk to attach. If the size is not specified, a default is chosen to ensure reasonable I/O performance. If the disk type is specified as `local-ssd`, multiple local drives are automatically combined to provide the requested size. Note, however, that each physical SSD is 375GB in size, and no more than 8 drives can be attached to a single instance.", + "format": "int32", + "type": "integer" + }, + "sourceImage": { + "description": "An optional image to put on the disk before attaching it to the VM.", + "type": "string" + }, + "type": { + "description": "The Compute Engine disk type. If unspecified, `pd-standard` is used.", + "type": "string" + } + }, + "type": "object" + }, + "DiskStatus": { + "description": "The status of a disk on a VM.", + "id": "DiskStatus", + "properties": { + "freeSpaceBytes": { + "description": "Free disk space.", + "format": "uint64", + "type": "string" + }, + "totalSpaceBytes": { + "description": "Total disk space.", + "format": "uint64", + "type": "string" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "Event": { + "description": "Carries information about events that occur during pipeline execution.", + "id": "Event", + "properties": { + "description": { + "description": "A human-readable description of the event. Note that these strings can change at any time without notice. Any application logic must use the information in the `details` field.", + "type": "string" + }, + "details": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Machine-readable details about the event.", + "type": "object" + }, + "timestamp": { + "description": "The time at which the event occurred.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "ExistingDisk": { + "description": "Configuration for an existing disk to be attached to the VM.", + "id": "ExistingDisk", + "properties": { + "disk": { + "description": "If `disk` contains slashes, the Cloud Life Sciences API assumes that it is a complete URL for the disk. If `disk` does not contain slashes, the Cloud Life Sciences API assumes that the disk is a zonal disk and a URL will be generated of the form `zones//disks/`, where `` is the zone in which the instance is allocated. The disk must be ext4 formatted. If all `Mount` references to this disk have the `read_only` flag set to true, the disk will be attached in `read-only` mode and can be shared with other instances. Otherwise, the disk will be available for writing but cannot be shared.", + "type": "string" + } + }, + "type": "object" + }, + "FailedEvent": { + "description": "An event generated when the execution of a pipeline has failed. Note that other events can continue to occur after this event.", + "id": "FailedEvent", + "properties": { + "cause": { + "description": "The human-readable description of the cause of the failure.", + "type": "string" + }, + "code": { + "description": "The Google standard error code that best describes this failure.", + "enum": [ + "OK", + "CANCELLED", + "UNKNOWN", + "INVALID_ARGUMENT", + "DEADLINE_EXCEEDED", + "NOT_FOUND", + "ALREADY_EXISTS", + "PERMISSION_DENIED", + "UNAUTHENTICATED", + "RESOURCE_EXHAUSTED", + "FAILED_PRECONDITION", + "ABORTED", + "OUT_OF_RANGE", + "UNIMPLEMENTED", + "INTERNAL", + "UNAVAILABLE", + "DATA_LOSS" + ], + "enumDescriptions": [ + "Not an error; returned on success. HTTP Mapping: 200 OK", + "The operation was cancelled, typically by the caller. HTTP Mapping: 499 Client Closed Request", + "Unknown error. For example, this error may be returned when a `Status` value received from another address space belongs to an error space that is not known in this address space. Also errors raised by APIs that do not return enough error information may be converted to this error. HTTP Mapping: 500 Internal Server Error", + "The client specified an invalid argument. Note that this differs from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates arguments that are problematic regardless of the state of the system (e.g., a malformed file name). HTTP Mapping: 400 Bad Request", + "The deadline expired before the operation could complete. For operations that change the state of the system, this error may be returned even if the operation has completed successfully. For example, a successful response from a server could have been delayed long enough for the deadline to expire. HTTP Mapping: 504 Gateway Timeout", + "Some requested entity (e.g., file or directory) was not found. Note to server developers: if a request is denied for an entire class of users, such as gradual feature rollout or undocumented allowlist, `NOT_FOUND` may be used. If a request is denied for some users within a class of users, such as user-based access control, `PERMISSION_DENIED` must be used. HTTP Mapping: 404 Not Found", + "The entity that a client attempted to create (e.g., file or directory) already exists. HTTP Mapping: 409 Conflict", + "The caller does not have permission to execute the specified operation. `PERMISSION_DENIED` must not be used for rejections caused by exhausting some resource (use `RESOURCE_EXHAUSTED` instead for those errors). `PERMISSION_DENIED` must not be used if the caller can not be identified (use `UNAUTHENTICATED` instead for those errors). This error code does not imply the request is valid or the requested entity exists or satisfies other pre-conditions. HTTP Mapping: 403 Forbidden", + "The request does not have valid authentication credentials for the operation. HTTP Mapping: 401 Unauthorized", + "Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space. HTTP Mapping: 429 Too Many Requests", + "The operation was rejected because the system is not in a state required for the operation's execution. For example, the directory to be deleted is non-empty, an rmdir operation is applied to a non-directory, etc. Service implementors can use the following guidelines to decide between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`: (a) Use `UNAVAILABLE` if the client can retry just the failing call. (b) Use `ABORTED` if the client should retry at a higher level. For example, when a client-specified test-and-set fails, indicating the client should restart a read-modify-write sequence. (c) Use `FAILED_PRECONDITION` if the client should not retry until the system state has been explicitly fixed. For example, if an \"rmdir\" fails because the directory is non-empty, `FAILED_PRECONDITION` should be returned since the client should not retry unless the files are deleted from the directory. HTTP Mapping: 400 Bad Request", + "The operation was aborted, typically due to a concurrency issue such as a sequencer check failure or transaction abort. See the guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 409 Conflict", + "The operation was attempted past the valid range. E.g., seeking or reading past end-of-file. Unlike `INVALID_ARGUMENT`, this error indicates a problem that may be fixed if the system state changes. For example, a 32-bit file system will generate `INVALID_ARGUMENT` if asked to read at an offset that is not in the range [0,2^32-1], but it will generate `OUT_OF_RANGE` if asked to read from an offset past the current file size. There is a fair bit of overlap between `FAILED_PRECONDITION` and `OUT_OF_RANGE`. We recommend using `OUT_OF_RANGE` (the more specific error) when it applies so that callers who are iterating through a space can easily look for an `OUT_OF_RANGE` error to detect when they are done. HTTP Mapping: 400 Bad Request", + "The operation is not implemented or is not supported/enabled in this service. HTTP Mapping: 501 Not Implemented", + "Internal errors. This means that some invariants expected by the underlying system have been broken. This error code is reserved for serious errors. HTTP Mapping: 500 Internal Server Error", + "The service is currently unavailable. This is most likely a transient condition, which can be corrected by retrying with a backoff. Note that it is not always safe to retry non-idempotent operations. See the guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 503 Service Unavailable", + "Unrecoverable data loss or corruption. HTTP Mapping: 500 Internal Server Error" + ], + "type": "string" + } + }, + "type": "object" + }, + "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" + }, + "Metadata": { + "description": "Carries information about the pipeline execution that is returned in the long running operation's metadata field.", + "id": "Metadata", + "properties": { + "createTime": { + "description": "The time at which the operation was created by the API.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "The time at which execution was completed and resources were cleaned up.", + "format": "google-datetime", + "type": "string" + }, + "events": { + "description": "The list of events that have happened so far during the execution of this operation.", + "items": { + "$ref": "Event" + }, + "type": "array" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "The user-defined labels associated with this operation.", + "type": "object" + }, + "pipeline": { + "$ref": "Pipeline", + "description": "The pipeline this operation represents." + }, + "startTime": { + "description": "The first time at which resources were allocated to execute the pipeline.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "Mount": { + "description": "Carries information about a particular disk mount inside a container.", + "id": "Mount", + "properties": { + "disk": { + "description": "The name of the disk to mount, as specified in the resources section.", + "type": "string" + }, + "path": { + "description": "The path to mount the disk inside the container.", + "type": "string" + }, + "readOnly": { + "description": "If true, the disk is mounted read-only inside the container.", + "type": "boolean" + } + }, + "type": "object" + }, + "NFSMount": { + "description": "Configuration for an `NFSMount` to be attached to the VM.", + "id": "NFSMount", + "properties": { + "target": { + "description": "A target NFS mount. The target must be specified as `address:/mount\".", + "type": "string" + } + }, + "type": "object" + }, + "Network": { + "description": "VM networking options.", + "id": "Network", + "properties": { + "name": { + "description": "The network name to attach the VM's network interface to. The value will be prefixed with `global/networks/` unless it contains a `/`, in which case it is assumed to be a fully specified network resource URL. If unspecified, the global default network is used.", + "type": "string" + }, + "subnetwork": { + "description": "If the specified network is configured for custom subnet creation, the name of the subnetwork to attach the instance to must be specified here. The value is prefixed with `regions/*/subnetworks/` unless it contains a `/`, in which case it is assumed to be a fully specified subnetwork resource URL. If the `*` character appears in the value, it is replaced with the region that the virtual machine has been allocated in.", + "type": "string" + }, + "usePrivateAddress": { + "description": "If set to true, do not attach a public IP address to the VM. Note that without a public IP address, additional configuration is required to allow the VM to access Google services. See https://cloud.google.com/vpc/docs/configure-private-google-access for more information.", + "type": "boolean" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "An OperationMetadata or Metadata object. This will always be returned with the Operation.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. For example: `operations/CJHU7Oi_ChDrveSpBRjfuL-qzoWAgEw`", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "An Empty object.", + "type": "object" + } + }, + "type": "object" + }, + "PersistentDisk": { + "description": "Configuration for a persistent disk to be attached to the VM. See https://cloud.google.com/compute/docs/disks/performance for more information about disk type, size, and performance considerations.", + "id": "PersistentDisk", + "properties": { + "sizeGb": { + "description": "The size, in GB, of the disk to attach. If the size is not specified, a default is chosen to ensure reasonable I/O performance. If the disk type is specified as `local-ssd`, multiple local drives are automatically combined to provide the requested size. Note, however, that each physical SSD is 375GB in size, and no more than 8 drives can be attached to a single instance.", + "format": "int32", + "type": "integer" + }, + "sourceImage": { + "description": "An image to put on the disk before attaching it to the VM.", + "type": "string" + }, + "type": { + "description": "The Compute Engine disk type. If unspecified, `pd-standard` is used.", + "type": "string" + } + }, + "type": "object" + }, + "Pipeline": { + "description": "Specifies a series of actions to execute, expressed as Docker containers.", + "id": "Pipeline", + "properties": { + "actions": { + "description": "The list of actions to execute, in the order they are specified.", + "items": { + "$ref": "Action" + }, + "type": "array" + }, + "encryptedEnvironment": { + "$ref": "Secret", + "description": "The encrypted environment to pass into every action. Each action can also specify its own encrypted environment. The secret must decrypt to a JSON-encoded dictionary where key-value pairs serve as environment variable names and their values. The decoded environment variables can overwrite the values specified by the `environment` field." + }, + "environment": { + "additionalProperties": { + "type": "string" + }, + "description": "The environment to pass into every action. Each action can also specify additional environment variables but cannot delete an entry from this map (though they can overwrite it with a different value).", + "type": "object" + }, + "resources": { + "$ref": "Resources", + "description": "The resources required for execution." + }, + "timeout": { + "description": "The maximum amount of time to give the pipeline to complete. This includes the time spent waiting for a worker to be allocated. If the pipeline fails to complete before the timeout, it will be cancelled and the error code will be set to DEADLINE_EXCEEDED. If unspecified, it will default to 7 days.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "PullStartedEvent": { + "description": "An event generated when the worker starts pulling an image.", + "id": "PullStartedEvent", + "properties": { + "imageUri": { + "description": "The URI of the image that was pulled.", + "type": "string" + } + }, + "type": "object" + }, + "PullStoppedEvent": { + "description": "An event generated when the worker stops pulling an image.", + "id": "PullStoppedEvent", + "properties": { + "imageUri": { + "description": "The URI of the image that was pulled.", + "type": "string" + } + }, + "type": "object" + }, + "Resources": { + "description": "The system resources for the pipeline run. At least one zone or region must be specified or the pipeline run will fail.", + "id": "Resources", + "properties": { + "projectId": { + "description": "The project ID to allocate resources in.", + "type": "string" + }, + "regions": { + "description": "The list of regions allowed for VM allocation. If set, the `zones` field must not be set.", + "items": { + "type": "string" + }, + "type": "array" + }, + "virtualMachine": { + "$ref": "VirtualMachine", + "description": "The virtual machine specification." + }, + "zones": { + "description": "The list of zones allowed for VM allocation. If set, the `regions` field must not be set.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "RunPipelineRequest": { + "description": "The arguments to the `RunPipeline` method. The requesting user must have the `iam.serviceAccounts.actAs` permission for the Cloud Genomics service account or the request will fail.", + "id": "RunPipelineRequest", + "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "User-defined labels to associate with the returned operation. These labels are not propagated to any Google Cloud Platform resources used by the operation, and can be modified at any time. To associate labels with resources created while executing the operation, see the appropriate resource message (for example, `VirtualMachine`).", + "type": "object" + }, + "pipeline": { + "$ref": "Pipeline", + "description": "Required. The description of the pipeline to run." + }, + "pubSubTopic": { + "description": "The name of an existing Pub/Sub topic. The server will publish messages to this topic whenever the status of the operation changes. The Genomics Service Agent account must have publisher permissions to the specified topic or notifications will not be sent.", + "type": "string" + } + }, + "type": "object" + }, + "RunPipelineResponse": { + "description": "The response to the RunPipeline method, returned in the operation's result field on success.", + "id": "RunPipelineResponse", + "properties": {}, + "type": "object" + }, + "Secret": { + "description": "Holds encrypted information that is only decrypted and stored in RAM by the worker VM when running the pipeline.", + "id": "Secret", + "properties": { + "cipherText": { + "description": "The value of the cipherText response from the `encrypt` method. This field is intentionally unaudited.", + "type": "string" + }, + "keyName": { + "description": "The name of the Cloud KMS key that will be used to decrypt the secret value. The VM service account must have the required permissions and authentication scopes to invoke the `decrypt` method on the specified key.", + "type": "string" + } + }, + "type": "object" + }, + "ServiceAccount": { + "description": "Carries information about a Google Cloud service account.", + "id": "ServiceAccount", + "properties": { + "email": { + "description": "Email address of the service account. If not specified, the default Compute Engine service account for the project will be used.", + "type": "string" + }, + "scopes": { + "description": "List of scopes to be enabled for this service account on the VM, in addition to the cloud-platform API scope that will be added by default.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "TimestampedEvent": { + "description": "An event that occured in the operation assigned to the worker and the time of occurance.", + "id": "TimestampedEvent", + "properties": { + "data": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The event data.", + "type": "object" + }, + "timestamp": { + "description": "The time when the event happened.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "UnexpectedExitStatusEvent": { + "description": "An event generated when the execution of a container results in a non-zero exit status that was not otherwise ignored. Execution will continue, but only actions that are flagged as `ALWAYS_RUN` will be executed. Other actions will be skipped.", + "id": "UnexpectedExitStatusEvent", + "properties": { + "actionId": { + "description": "The numeric ID of the action that started the container.", + "format": "int32", + "type": "integer" + }, + "exitStatus": { + "description": "The exit status of the container.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "VirtualMachine": { + "description": "Carries information about a Compute Engine VM resource.", + "id": "VirtualMachine", + "properties": { + "accelerators": { + "description": "The list of accelerators to attach to the VM.", + "items": { + "$ref": "Accelerator" + }, + "type": "array" + }, + "bootDiskSizeGb": { + "description": "The size of the boot disk, in GB. The boot disk must be large enough to accommodate all of the Docker images from each action in the pipeline at the same time. If not specified, a small but reasonable default value is used.", + "format": "int32", + "type": "integer" + }, + "bootImage": { + "description": "The host operating system image to use. Currently, only Container-Optimized OS images can be used. The default value is `projects/cos-cloud/global/images/family/cos-stable`, which selects the latest stable release of Container-Optimized OS. This option is provided to allow testing against the beta release of the operating system to ensure that the new version does not interact negatively with production pipelines. To test a pipeline against the beta release of Container-Optimized OS, use the value `projects/cos-cloud/global/images/family/cos-beta`.", + "type": "string" + }, + "cpuPlatform": { + "description": "The CPU platform to request. An instance based on a newer platform can be allocated, but never one with fewer capabilities. The value of this parameter must be a valid Compute Engine CPU platform name (such as \"Intel Skylake\"). This parameter is only useful for carefully optimized work loads where the CPU platform has a significant impact. For more information about the effect of this parameter, see https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform.", + "type": "string" + }, + "disks": { + "description": "The list of disks to create and attach to the VM. Specify either the `volumes[]` field or the `disks[]` field, but not both.", + "items": { + "$ref": "Disk" + }, + "type": "array" + }, + "dockerCacheImages": { + "description": "The Compute Engine Disk Images to use as a Docker cache. The disks will be mounted into the Docker folder in a way that the images present in the cache will not need to be pulled. The digests of the cached images must match those of the tags used or the latest version will still be pulled. The root directory of the ext4 image must contain `image` and `overlay2` directories copied from the Docker directory of a VM where the desired Docker images have already been pulled. Any images pulled that are not cached will be stored on the first cache disk instead of the boot disk. Only a single image is supported.", + "items": { + "type": "string" + }, + "type": "array" + }, + "enableStackdriverMonitoring": { + "description": "Whether Stackdriver monitoring should be enabled on the VM.", + "type": "boolean" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional set of labels to apply to the VM and any attached disk resources. These labels must adhere to the [name and value restrictions](https://cloud.google.com/compute/docs/labeling-resources) on VM labels imposed by Compute Engine. Labels keys with the prefix 'google-' are reserved for use by Google. Labels applied at creation time to the VM. Applied on a best-effort basis to attached disk resources shortly after VM creation.", + "type": "object" + }, + "machineType": { + "description": "Required. The machine type of the virtual machine to create. Must be the short name of a standard machine type (such as \"n1-standard-1\") or a custom machine type (such as \"custom-1-4096\", where \"1\" indicates the number of vCPUs and \"4096\" indicates the memory in MB). See [Creating an instance with a custom machine type](https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#create) for more specifications on creating a custom machine type.", + "type": "string" + }, + "network": { + "$ref": "Network", + "description": "The VM network configuration." + }, + "nvidiaDriverVersion": { + "description": "The NVIDIA driver version to use when attaching an NVIDIA GPU accelerator. The version specified here must be compatible with the GPU libraries contained in the container being executed, and must be one of the drivers hosted in the `nvidia-drivers-us-public` bucket on Google Cloud Storage.", + "type": "string" + }, + "preemptible": { + "description": "If true, allocate a preemptible VM.", + "type": "boolean" + }, + "reservation": { + "description": "If specified, the VM will only be allocated inside the matching reservation. It will fail if the VM parameters don't match the reservation.", + "type": "string" + }, + "serviceAccount": { + "$ref": "ServiceAccount", + "description": "The service account to install on the VM. This account does not need any permissions other than those required by the pipeline." + }, + "volumes": { + "description": "The list of disks and other storage to create or attach to the VM. Specify either the `volumes[]` field or the `disks[]` field, but not both.", + "items": { + "$ref": "Volume" + }, + "type": "array" + } + }, + "type": "object" + }, + "Volume": { + "description": "Carries information about storage that can be attached to a VM. Specify either `Volume` or `Disk`, but not both.", + "id": "Volume", + "properties": { + "existingDisk": { + "$ref": "ExistingDisk", + "description": "Configuration for a existing disk." + }, + "nfsMount": { + "$ref": "NFSMount", + "description": "Configuration for an NFS mount." + }, + "persistentDisk": { + "$ref": "PersistentDisk", + "description": "Configuration for a persistent disk." + }, + "volume": { + "description": "A user-supplied name for the volume. Used when mounting the volume into `Actions`. The name must contain only upper and lowercase alphanumeric characters and hyphens and cannot start with a hyphen.", + "type": "string" + } + }, + "type": "object" + }, + "WorkerAssignedEvent": { + "description": "An event generated after a worker VM has been assigned to run the pipeline.", + "id": "WorkerAssignedEvent", + "properties": { + "instance": { + "description": "The worker's instance name.", + "type": "string" + }, + "machineType": { + "description": "The machine type that was assigned for the worker.", + "type": "string" + }, + "zone": { + "description": "The zone the worker is running in.", + "type": "string" + } + }, + "type": "object" + }, + "WorkerReleasedEvent": { + "description": "An event generated when the worker VM that was assigned to the pipeline has been released (deleted).", + "id": "WorkerReleasedEvent", + "properties": { + "instance": { + "description": "The worker's instance name.", + "type": "string" + }, + "zone": { + "description": "The zone the worker was running in.", + "type": "string" + } + }, + "type": "object" + }, + "WorkerStatus": { + "description": "The status of the worker VM.", + "id": "WorkerStatus", + "properties": { + "attachedDisks": { + "additionalProperties": { + "$ref": "DiskStatus" + }, + "description": "Status of attached disks.", + "type": "object" + }, + "bootDisk": { + "$ref": "DiskStatus", + "description": "Status of the boot disk." + }, + "freeRamBytes": { + "description": "Free RAM.", + "format": "uint64", + "type": "string" + }, + "totalRamBytes": { + "description": "Total RAM.", + "format": "uint64", + "type": "string" + }, + "uptimeSeconds": { + "description": "System uptime.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Genomics 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/gkehub.v1alpha.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json new file mode 100644 index 0000000000000000000000000000000000000000..69a20fd21222009335f7a453abe69afc01b44429 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json @@ -0,0 +1,7281 @@ +{ +"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:v1alpha", +"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": { +"organizations": { +"resources": { +"locations": { +"resources": { +"fleets": { +"methods": { +"list": { +"description": "Returns all fleets within an organization or a project that the caller has access to.", +"flatPath": "v1alpha/organizations/{organizationsId}/locations/{locationsId}/fleets", +"httpMethod": "GET", +"id": "gkehub.organizations.locations.fleets.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of fleets to return. The service may return fewer than this value. If unspecified, at most 200 fleets 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 `ListFleets` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFleets` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The organization or project to list for Fleets under, in the format `organizations/*/locations/*` or `projects/*/locations/*`.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/fleets", +"response": { +"$ref": "ListFleetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"projects": { +"resources": { +"locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v1alpha/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": "v1alpha/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v1alpha/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": "v1alpha/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"features": { +"methods": { +"create": { +"description": "Adds a new Feature.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/features", +"httpMethod": "POST", +"id": "gkehub.projects.locations.features.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"featureId": { +"description": "The ID of the feature to create.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent (project and location) where the Feature will be created. Specified in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "A 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": "v1alpha/{+parent}/features", +"request": { +"$ref": "Feature" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Removes a Feature.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/features/{featuresId}", +"httpMethod": "DELETE", +"id": "gkehub.projects.locations.features.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "If set to true, the delete will ignore any outstanding resources for this Feature (that is, `FeatureState.has_resources` is set to true). These resources will NOT be cleaned up or modified in any way.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The Feature resource name in the format `projects/*/locations/*/features/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A 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": "v1alpha/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single Feature.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/features/{featuresId}", +"httpMethod": "GET", +"id": "gkehub.projects.locations.features.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Feature resource name in the format `projects/*/locations/*/features/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Optional. If set to true, the response will return partial results when some regions are unreachable and the unreachable field in Feature proto will be populated. If set to false, the request will fail when some regions are unreachable.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "Feature" +}, +"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": "v1alpha/projects/{projectsId}/locations/{locationsId}/features/{featuresId}:getIamPolicy", +"httpMethod": "GET", +"id": "gkehub.projects.locations.features.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/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Features in a given project and location.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/features", +"httpMethod": "GET", +"id": "gkehub.projects.locations.features.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists Features that match the filter expression, following the syntax outlined in https://google.aip.dev/160. Examples: - Feature with the name \"servicemesh\" in project \"foo-proj\": name = \"projects/foo-proj/locations/global/features/servicemesh\" - 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 (project and location) where the Features will be listed. Specified in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Optional. If set to true, the response will return partial results when some regions are unreachable and the unreachable field in Feature proto will be populated. If set to false, the request will fail when some regions are unreachable.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1alpha/{+parent}/features", +"response": { +"$ref": "ListFeaturesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an existing Feature.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/features/{featuresId}", +"httpMethod": "PATCH", +"id": "gkehub.projects.locations.features.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Feature resource name in the format `projects/*/locations/*/features/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "A 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" +}, +"updateMask": { +"description": "Mask of fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "Feature" +}, +"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": "v1alpha/projects/{projectsId}/locations/{locationsId}/features/{featuresId}:setIamPolicy", +"httpMethod": "POST", +"id": "gkehub.projects.locations.features.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/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+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": "v1alpha/projects/{projectsId}/locations/{locationsId}/features/{featuresId}:testIamPermissions", +"httpMethod": "POST", +"id": "gkehub.projects.locations.features.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/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"fleets": { +"methods": { +"create": { +"description": "Creates a fleet.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/fleets", +"httpMethod": "POST", +"id": "gkehub.projects.locations.fleets.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent (project and location) where the Fleet will be created. Specified in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/fleets", +"request": { +"$ref": "Fleet" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Removes a Fleet. There must be no memberships remaining in the Fleet.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/fleets/{fleetsId}", +"httpMethod": "DELETE", +"id": "gkehub.projects.locations.fleets.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Fleet resource name in the format `projects/*/locations/*/fleets/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/fleets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns the details of a fleet.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/fleets/{fleetsId}", +"httpMethod": "GET", +"id": "gkehub.projects.locations.fleets.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Fleet resource name in the format `projects/*/locations/*/fleets/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/fleets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "Fleet" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Returns all fleets within an organization or a project that the caller has access to.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/fleets", +"httpMethod": "GET", +"id": "gkehub.projects.locations.fleets.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of fleets to return. The service may return fewer than this value. If unspecified, at most 200 fleets 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 `ListFleets` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFleets` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The organization or project to list for Fleets under, in the format `organizations/*/locations/*` or `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/fleets", +"response": { +"$ref": "ListFleetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a fleet.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/fleets/{fleetsId}", +"httpMethod": "PATCH", +"id": "gkehub.projects.locations.fleets.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The full, unique resource name of this fleet in the format of `projects/{project}/locations/{location}/fleets/{fleet}`. Each Google Cloud project can have at most one fleet resource, named \"default\".", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/fleets/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The fields to be updated;", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "Fleet" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"memberships": { +"methods": { +"create": { +"description": "Creates a new Membership. **This is currently only supported for GKE clusters on Google Cloud**. To register other clusters, follow the instructions at https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/memberships", +"httpMethod": "POST", +"id": "gkehub.projects.locations.memberships.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"membershipId": { +"description": "Required. Client chosen ID for the membership. `membership_id` must be a valid RFC 1123 compliant DNS label: 1. At most 63 characters in length 2. It must consist of lower case alphanumeric characters or `-` 3. It must start and end with an alphanumeric character Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent (project and location) where the Memberships will be created. Specified in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A 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": "v1alpha/{+parent}/memberships", +"request": { +"$ref": "Membership" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Removes a Membership. **This is currently only supported for GKE clusters on Google Cloud**. To unregister other clusters, follow the instructions at https://cloud.google.com/anthos/multicluster-management/connect/unregistering-a-cluster.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}", +"httpMethod": "DELETE", +"id": "gkehub.projects.locations.memberships.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "Optional. If set to true, any subresource from this Membership will also be deleted. Otherwise, the request will only work if the Membership has no subresource.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The Membership resource name in the format `projects/*/locations/*/memberships/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A 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": "v1alpha/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"generateConnectManifest": { +"description": "Generates the manifest for deployment of the GKE connect agent. **This method is used internally by Google-provided libraries.** Most clients should not need to call this method directly.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}:generateConnectManifest", +"httpMethod": "GET", +"id": "gkehub.projects.locations.memberships.generateConnectManifest", +"parameterOrder": [ +"name" +], +"parameters": { +"imagePullSecretContent": { +"description": "Optional. The image pull secret content for the registry, if not public.", +"format": "byte", +"location": "query", +"type": "string" +}, +"isUpgrade": { +"description": "Optional. If true, generate the resources for upgrade only. Some resources generated only for installation (e.g. secrets) will be excluded.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The Membership resource name the Agent will associate with, in the format `projects/*/locations/*/memberships/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +}, +"namespace": { +"description": "Optional. Namespace for GKE Connect agent resources. Defaults to `gke-connect`. The Connect Agent is authorized automatically when run in the default namespace. Otherwise, explicit authorization must be granted with an additional IAM binding.", +"location": "query", +"type": "string" +}, +"proxy": { +"description": "Optional. URI of a proxy if connectivity from the agent to gkeconnect.googleapis.com requires the use of a proxy. Format must be in the form `http(s)://{proxy_address}`, depending on the HTTP/HTTPS protocol supported by the proxy. This will direct the connect agent's outbound traffic through a HTTP(S) proxy.", +"format": "byte", +"location": "query", +"type": "string" +}, +"registry": { +"description": "Optional. The registry to fetch the connect agent image from. Defaults to gcr.io/gkeconnect.", +"location": "query", +"type": "string" +}, +"version": { +"description": "Optional. The Connect agent version to use. Defaults to the most current version.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}:generateConnectManifest", +"response": { +"$ref": "GenerateConnectManifestResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"generateExclusivityManifest": { +"description": "GenerateExclusivityManifest generates the manifests to update the exclusivity artifacts in the cluster if needed. Exclusivity artifacts include the Membership custom resource definition (CRD) and the singleton Membership custom resource (CR). Combined with ValidateExclusivity, exclusivity artifacts guarantee that a Kubernetes cluster is only registered to a single GKE Hub. The Membership CRD is versioned, and may require conversion when the GKE Hub API server begins serving a newer version of the CRD and corresponding CR. The response will be the converted CRD and CR if there are any differences between the versions.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}:generateExclusivityManifest", +"httpMethod": "GET", +"id": "gkehub.projects.locations.memberships.generateExclusivityManifest", +"parameterOrder": [ +"name" +], +"parameters": { +"crManifest": { +"description": "Optional. The YAML manifest of the membership CR retrieved by `kubectl get memberships membership`. Leave empty if the resource does not exist.", +"location": "query", +"type": "string" +}, +"crdManifest": { +"description": "Optional. The YAML manifest of the membership CRD retrieved by `kubectl get customresourcedefinitions membership`. Leave empty if the resource does not exist.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The Membership resource name in the format `projects/*/locations/*/memberships/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:generateExclusivityManifest", +"response": { +"$ref": "GenerateExclusivityManifestResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the details of a Membership.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}", +"httpMethod": "GET", +"id": "gkehub.projects.locations.memberships.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Membership resource name in the format `projects/*/locations/*/memberships/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "Membership" +}, +"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": "v1alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}:getIamPolicy", +"httpMethod": "GET", +"id": "gkehub.projects.locations.memberships.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/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Memberships in a given project and location.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/memberships", +"httpMethod": "GET", +"id": "gkehub.projects.locations.memberships.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Lists Memberships that match the filter expression, following the syntax outlined in https://google.aip.dev/160. Examples: - Name is `bar` in project `foo-proj` and location `global`: name = \"projects/foo-proj/locations/global/membership/bar\" - Memberships that have a label called `foo`: labels.foo:* - Memberships that have a label called `foo` whose value is `bar`: labels.foo = bar - Memberships in the CREATING state: state = CREATING", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. 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": "Optional. 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": "Optional. Token returned by previous call to `ListMemberships` which specifies the position in the list from where to continue listing the resources.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent (project and location) where the Memberships will be listed. Specified in the format `projects/*/locations/*`. `projects/*/locations/-` list memberships in all the regions.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/memberships", +"response": { +"$ref": "ListMembershipsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"listAdmin": { +"description": "Lists Memberships of admin clusters in a given project and location. **This method is only used internally**.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/memberships:listAdmin", +"httpMethod": "GET", +"id": "gkehub.projects.locations.memberships.listAdmin", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Lists Memberships of admin clusters that match the filter expression.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. 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": "Optional. 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": "Optional. Token returned by previous call to `ListAdminClusterMemberships` which specifies the position in the list from where to continue listing the resources.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent (project and location) where the Memberships of admin cluster will be listed. Specified in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/memberships:listAdmin", +"response": { +"$ref": "ListAdminClusterMembershipsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an existing Membership.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}", +"httpMethod": "PATCH", +"id": "gkehub.projects.locations.memberships.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Membership resource name in the format `projects/*/locations/*/memberships/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A 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" +}, +"updateMask": { +"description": "Required. Mask of fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "Membership" +}, +"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": "v1alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}:setIamPolicy", +"httpMethod": "POST", +"id": "gkehub.projects.locations.memberships.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/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+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": "v1alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}:testIamPermissions", +"httpMethod": "POST", +"id": "gkehub.projects.locations.memberships.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/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"validateCreate": { +"description": "ValidateCreateMembership is a preflight check for CreateMembership. It checks the following: 1. Caller has the required `gkehub.memberships.create` permission. 2. The membership_id is still available.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/memberships:validateCreate", +"httpMethod": "POST", +"id": "gkehub.projects.locations.memberships.validateCreate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent (project and location) where the Memberships will be created. Specified in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/memberships:validateCreate", +"request": { +"$ref": "ValidateCreateMembershipRequest" +}, +"response": { +"$ref": "ValidateCreateMembershipResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"validateExclusivity": { +"description": "ValidateExclusivity validates the state of exclusivity in the cluster. The validation does not depend on an existing Hub membership resource.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/memberships:validateExclusivity", +"httpMethod": "GET", +"id": "gkehub.projects.locations.memberships.validateExclusivity", +"parameterOrder": [ +"parent" +], +"parameters": { +"crManifest": { +"description": "Optional. The YAML of the membership CR in the cluster. Empty if the membership CR does not exist.", +"location": "query", +"type": "string" +}, +"intendedMembership": { +"description": "Required. The intended membership name under the `parent`. This method only does validation in anticipation of a CreateMembership call with the same name.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent (project and location) where the Memberships will be created. Specified in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/memberships:validateExclusivity", +"response": { +"$ref": "ValidateExclusivityResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"bindings": { +"methods": { +"create": { +"description": "Creates a MembershipBinding.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/bindings", +"httpMethod": "POST", +"id": "gkehub.projects.locations.memberships.bindings.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"membershipBindingId": { +"description": "Required. The ID to use for the MembershipBinding.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent (project and location) where the MembershipBinding will be created. Specified in the format `projects/*/locations/*/memberships/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/bindings", +"request": { +"$ref": "MembershipBinding" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a MembershipBinding.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/bindings/{bindingsId}", +"httpMethod": "DELETE", +"id": "gkehub.projects.locations.memberships.bindings.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The MembershipBinding resource name in the format `projects/*/locations/*/memberships/*/bindings/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/bindings/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns the details of a MembershipBinding.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/bindings/{bindingsId}", +"httpMethod": "GET", +"id": "gkehub.projects.locations.memberships.bindings.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The MembershipBinding resource name in the format `projects/*/locations/*/memberships/*/bindings/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/bindings/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "MembershipBinding" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists MembershipBindings.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/bindings", +"httpMethod": "GET", +"id": "gkehub.projects.locations.memberships.bindings.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Lists MembershipBindings that match the filter expression, following the syntax outlined in https://google.aip.dev/160.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. 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": "Optional. Token returned by previous call to `ListMembershipBindings` which specifies the position in the list from where to continue listing the resources.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent Membership for which the MembershipBindings will be listed. Specified in the format `projects/*/locations/*/memberships/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/bindings", +"response": { +"$ref": "ListMembershipBindingsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a MembershipBinding.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/bindings/{bindingsId}", +"httpMethod": "PATCH", +"id": "gkehub.projects.locations.memberships.bindings.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name for the membershipbinding itself `projects/{project}/locations/{location}/memberships/{membership}/bindings/{membershipbinding}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/bindings/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "MembershipBinding" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"rbacrolebindings": { +"methods": { +"create": { +"description": "Creates a Membership RBACRoleBinding.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/rbacrolebindings", +"httpMethod": "POST", +"id": "gkehub.projects.locations.memberships.rbacrolebindings.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent (project and location) where the RBACRoleBinding will be created. Specified in the format `projects/*/locations/*/memberships/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +}, +"rbacrolebindingId": { +"description": "Required. Client chosen ID for the RBACRoleBinding. `rbacrolebinding_id` must be a valid RFC 1123 compliant DNS label: 1. At most 63 characters in length 2. It must consist of lower case alphanumeric characters or `-` 3. It must start and end with an alphanumeric character Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+parent}/rbacrolebindings", +"request": { +"$ref": "RBACRoleBinding" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Membership RBACRoleBinding.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/rbacrolebindings/{rbacrolebindingsId}", +"httpMethod": "DELETE", +"id": "gkehub.projects.locations.memberships.rbacrolebindings.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The RBACRoleBinding resource name in the format `projects/*/locations/*/memberships/*/rbacrolebindings/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/rbacrolebindings/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"generateMembershipRBACRoleBindingYAML": { +"description": "Generates a YAML of the RBAC policies for the specified RoleBinding and its associated impersonation resources.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/rbacrolebindings:generateMembershipRBACRoleBindingYAML", +"httpMethod": "POST", +"id": "gkehub.projects.locations.memberships.rbacrolebindings.generateMembershipRBACRoleBindingYAML", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent (project and location) where the RBACRoleBinding will be created. Specified in the format `projects/*/locations/*/memberships/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +}, +"rbacrolebindingId": { +"description": "Required. Client chosen ID for the RBACRoleBinding. `rbacrolebinding_id` must be a valid RFC 1123 compliant DNS label: 1. At most 63 characters in length 2. It must consist of lower case alphanumeric characters or `-` 3. It must start and end with an alphanumeric character Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+parent}/rbacrolebindings:generateMembershipRBACRoleBindingYAML", +"request": { +"$ref": "RBACRoleBinding" +}, +"response": { +"$ref": "GenerateMembershipRBACRoleBindingYAMLResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns the details of a Membership RBACRoleBinding.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/rbacrolebindings/{rbacrolebindingsId}", +"httpMethod": "GET", +"id": "gkehub.projects.locations.memberships.rbacrolebindings.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The RBACRoleBinding resource name in the format `projects/*/locations/*/memberships/*/rbacrolebindings/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/rbacrolebindings/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "RBACRoleBinding" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Membership RBACRoleBindings.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/rbacrolebindings", +"httpMethod": "GET", +"id": "gkehub.projects.locations.memberships.rbacrolebindings.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. 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": "Optional. Token returned by previous call to `ListMembershipRBACRoleBindings` which specifies the position in the list from where to continue listing the resources.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent (project and location) where the Features will be listed. Specified in the format `projects/*/locations/*/memberships/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/rbacrolebindings", +"response": { +"$ref": "ListMembershipRBACRoleBindingsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Membership RBACRoleBinding.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/rbacrolebindings/{rbacrolebindingsId}", +"httpMethod": "PATCH", +"id": "gkehub.projects.locations.memberships.rbacrolebindings.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name for the rbacrolebinding `projects/{project}/locations/{location}/scopes/{scope}/rbacrolebindings/{rbacrolebinding}` or `projects/{project}/locations/{location}/memberships/{membership}/rbacrolebindings/{rbacrolebinding}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/rbacrolebindings/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "RBACRoleBinding" +}, +"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": "v1alpha/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": "v1alpha/{+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": "v1alpha/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "gkehub.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": "v1alpha/{+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": "v1alpha/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": "v1alpha/{+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": "v1alpha/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": "v1alpha/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"scopes": { +"methods": { +"create": { +"description": "Creates a Scope.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/scopes", +"httpMethod": "POST", +"id": "gkehub.projects.locations.scopes.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent (project and location) where the Scope will be created. Specified in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"scopeId": { +"description": "Required. Client chosen ID for the Scope. `scope_id` must be a ????", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+parent}/scopes", +"request": { +"$ref": "Scope" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Scope.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}", +"httpMethod": "DELETE", +"id": "gkehub.projects.locations.scopes.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Scope resource name in the format `projects/*/locations/*/scopes/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns the details of a Scope.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}", +"httpMethod": "GET", +"id": "gkehub.projects.locations.scopes.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Scope resource name in the format `projects/*/locations/*/scopes/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "Scope" +}, +"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": "v1alpha/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}:getIamPolicy", +"httpMethod": "GET", +"id": "gkehub.projects.locations.scopes.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/[^/]+/scopes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Scopes.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/scopes", +"httpMethod": "GET", +"id": "gkehub.projects.locations.scopes.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. 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": "Optional. Token returned by previous call to `ListScopes` which specifies the position in the list from where to continue listing the resources.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent (project and location) where the Scope will be listed. Specified in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/scopes", +"response": { +"$ref": "ListScopesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"listMemberships": { +"description": "Lists Memberships bound to a Scope. The response includes relevant Memberships from all regions.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}:listMemberships", +"httpMethod": "GET", +"id": "gkehub.projects.locations.scopes.listMemberships", +"parameterOrder": [ +"scopeName" +], +"parameters": { +"filter": { +"description": "Optional. Lists Memberships that match the filter expression, following the syntax outlined in https://google.aip.dev/160. Currently, filtering can be done only based on Memberships's `name`, `labels`, `create_time`, `update_time`, and `unique_id`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. 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. Pagination is currently not supported; therefore, setting this field does not have any impact for now.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Token returned by previous call to `ListBoundMemberships` which specifies the position in the list from where to continue listing the resources.", +"location": "query", +"type": "string" +}, +"scopeName": { +"description": "Required. Name of the Scope, in the format `projects/*/locations/global/scopes/*`, to which the Memberships are bound.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+scopeName}:listMemberships", +"response": { +"$ref": "ListBoundMembershipsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"listPermitted": { +"description": "Lists permitted Scopes.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/scopes:listPermitted", +"httpMethod": "GET", +"id": "gkehub.projects.locations.scopes.listPermitted", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. 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": "Optional. Token returned by previous call to `ListPermittedScopes` which specifies the position in the list from where to continue listing the resources.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent (project and location) where the Scope will be listed. Specified in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/scopes:listPermitted", +"response": { +"$ref": "ListPermittedScopesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a scopes.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}", +"httpMethod": "PATCH", +"id": "gkehub.projects.locations.scopes.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name for the scope `projects/{project}/locations/{location}/scopes/{scope}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "Scope" +}, +"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": "v1alpha/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}:setIamPolicy", +"httpMethod": "POST", +"id": "gkehub.projects.locations.scopes.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/[^/]+/scopes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+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": "v1alpha/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}:testIamPermissions", +"httpMethod": "POST", +"id": "gkehub.projects.locations.scopes.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/[^/]+/scopes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"namespaces": { +"methods": { +"create": { +"description": "Creates a fleet namespace.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}/namespaces", +"httpMethod": "POST", +"id": "gkehub.projects.locations.scopes.namespaces.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent (project and location) where the Namespace will be created. Specified in the format `projects/*/locations/*/scopes/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", +"required": true, +"type": "string" +}, +"scopeNamespaceId": { +"description": "Required. Client chosen ID for the Namespace. `namespace_id` must be a valid RFC 1123 compliant DNS label: 1. At most 63 characters in length 2. It must consist of lower case alphanumeric characters or `-` 3. It must start and end with an alphanumeric character Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+parent}/namespaces", +"request": { +"$ref": "Namespace" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a fleet namespace.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}/namespaces/{namespacesId}", +"httpMethod": "DELETE", +"id": "gkehub.projects.locations.scopes.namespaces.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Namespace resource name in the format `projects/*/locations/*/scopes/*/namespaces/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/scopes/[^/]+/namespaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns the details of a fleet namespace.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}/namespaces/{namespacesId}", +"httpMethod": "GET", +"id": "gkehub.projects.locations.scopes.namespaces.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Namespace resource name in the format `projects/*/locations/*/scopes/*/namespaces/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/scopes/[^/]+/namespaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "Namespace" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists fleet namespaces.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}/namespaces", +"httpMethod": "GET", +"id": "gkehub.projects.locations.scopes.namespaces.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. 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": "Optional. 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 (project and location) where the Features will be listed. Specified in the format `projects/*/locations/*/scopes/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/namespaces", +"response": { +"$ref": "ListScopeNamespacesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a fleet namespace.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}/namespaces/{namespacesId}", +"httpMethod": "PATCH", +"id": "gkehub.projects.locations.scopes.namespaces.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name for the namespace `projects/{project}/locations/{location}/namespaces/{namespace}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/scopes/[^/]+/namespaces/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "Namespace" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"rbacrolebindings": { +"methods": { +"create": { +"description": "Creates a Scope RBACRoleBinding.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}/rbacrolebindings", +"httpMethod": "POST", +"id": "gkehub.projects.locations.scopes.rbacrolebindings.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent (project and location) where the RBACRoleBinding will be created. Specified in the format `projects/*/locations/*/scopes/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", +"required": true, +"type": "string" +}, +"rbacrolebindingId": { +"description": "Required. Client chosen ID for the RBACRoleBinding. `rbacrolebinding_id` must be a valid RFC 1123 compliant DNS label: 1. At most 63 characters in length 2. It must consist of lower case alphanumeric characters or `-` 3. It must start and end with an alphanumeric character Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+parent}/rbacrolebindings", +"request": { +"$ref": "RBACRoleBinding" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Scope RBACRoleBinding.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}/rbacrolebindings/{rbacrolebindingsId}", +"httpMethod": "DELETE", +"id": "gkehub.projects.locations.scopes.rbacrolebindings.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The RBACRoleBinding resource name in the format `projects/*/locations/*/scopes/*/rbacrolebindings/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/scopes/[^/]+/rbacrolebindings/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns the details of a Scope RBACRoleBinding.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}/rbacrolebindings/{rbacrolebindingsId}", +"httpMethod": "GET", +"id": "gkehub.projects.locations.scopes.rbacrolebindings.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The RBACRoleBinding resource name in the format `projects/*/locations/*/scopes/*/rbacrolebindings/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/scopes/[^/]+/rbacrolebindings/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "RBACRoleBinding" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Scope RBACRoleBindings.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}/rbacrolebindings", +"httpMethod": "GET", +"id": "gkehub.projects.locations.scopes.rbacrolebindings.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. 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": "Optional. Token returned by previous call to `ListScopeRBACRoleBindings` which specifies the position in the list from where to continue listing the resources.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent (project and location) where the Features will be listed. Specified in the format `projects/*/locations/*/scopes/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/rbacrolebindings", +"response": { +"$ref": "ListScopeRBACRoleBindingsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Scope RBACRoleBinding.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/scopes/{scopesId}/rbacrolebindings/{rbacrolebindingsId}", +"httpMethod": "PATCH", +"id": "gkehub.projects.locations.scopes.rbacrolebindings.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name for the rbacrolebinding `projects/{project}/locations/{location}/scopes/{scope}/rbacrolebindings/{rbacrolebinding}` or `projects/{project}/locations/{location}/memberships/{membership}/rbacrolebindings/{rbacrolebinding}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/scopes/[^/]+/rbacrolebindings/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "RBACRoleBinding" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +} +}, +"revision": "20250103", +"rootUrl": "https://gkehub.googleapis.com/", +"schemas": { +"AnthosObservabilityFeatureSpec": { +"description": "**Anthos Observability**: Spec", +"id": "AnthosObservabilityFeatureSpec", +"properties": { +"defaultMembershipSpec": { +"$ref": "AnthosObservabilityMembershipSpec", +"description": "Default membership spec for unconfigured memberships" +} +}, +"type": "object" +}, +"AnthosObservabilityMembershipSpec": { +"description": "**Anthosobservability**: Per-Membership Feature spec.", +"id": "AnthosObservabilityMembershipSpec", +"properties": { +"doNotOptimizeMetrics": { +"description": "Use full of metrics rather than optimized metrics. See https://cloud.google.com/anthos/clusters/docs/on-prem/1.8/concepts/logging-and-monitoring#optimized_metrics_default_metrics", +"type": "boolean" +}, +"enableStackdriverOnApplications": { +"description": "Enable collecting and reporting metrics and logs from user apps.", +"type": "boolean" +}, +"version": { +"description": "the version of stackdriver operator used by this feature", +"type": "string" +} +}, +"type": "object" +}, +"AppDevExperienceFeatureSpec": { +"description": "Spec for App Dev Experience Feature.", +"id": "AppDevExperienceFeatureSpec", +"properties": {}, +"type": "object" +}, +"AppDevExperienceFeatureState": { +"description": "State for App Dev Exp Feature.", +"id": "AppDevExperienceFeatureState", +"properties": { +"networkingInstallSucceeded": { +"$ref": "Status", +"description": "Status of subcomponent that detects configured Service Mesh resources." +} +}, +"type": "object" +}, +"ApplianceCluster": { +"description": "ApplianceCluster contains information specific to GDC Edge Appliance Clusters.", +"id": "ApplianceCluster", +"properties": { +"resourceLink": { +"description": "Immutable. Self-link of the Google Cloud resource for the Appliance Cluster. For example: //transferappliance.googleapis.com/projects/my-project/locations/us-west1-a/appliances/my-appliance", +"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" +}, +"Authority": { +"description": "Authority encodes how Google will recognize identities from this Membership. See the workload identity documentation for more details: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity", +"id": "Authority", +"properties": { +"identityProvider": { +"description": "Output only. An identity provider that reflects the `issuer` in the workload identity pool.", +"readOnly": true, +"type": "string" +}, +"issuer": { +"description": "Optional. A JSON Web Token (JWT) issuer URI. `issuer` must start with `https://` and be a valid URL with length <2000 characters, it must use `location` rather than `zone` for GKE clusters. If set, then Google will allow valid OIDC tokens from this issuer to authenticate within the workload_identity_pool. OIDC discovery will be performed on this URI to validate tokens from the issuer. Clearing `issuer` disables Workload Identity. `issuer` cannot be directly modified; it must be cleared (and Workload Identity disabled) before using a new issuer (and re-enabling Workload Identity).", +"type": "string" +}, +"oidcJwks": { +"description": "Optional. OIDC verification keys for this Membership in JWKS format (RFC 7517). When this field is set, OIDC discovery will NOT be performed on `issuer`, and instead OIDC tokens will be validated using this field.", +"format": "byte", +"type": "string" +}, +"scopeTenancyIdentityProvider": { +"description": "Optional. Output only. The identity provider for the scope-tenancy workload identity pool.", +"readOnly": true, +"type": "string" +}, +"scopeTenancyWorkloadIdentityPool": { +"description": "Optional. Output only. The name of the scope-tenancy workload identity pool. This pool is set in the fleet-level feature.", +"readOnly": true, +"type": "string" +}, +"workloadIdentityPool": { +"description": "Output only. The name of the workload identity pool in which `issuer` will be recognized. There is a single Workload Identity Pool per Hub that is shared between all Memberships that belong to that Hub. For a Hub hosted in {PROJECT_ID}, the workload pool format is `{PROJECT_ID}.hub.id.goog`, although this is subject to change in newer versions of this API.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"BinaryAuthorizationConfig": { +"description": "BinaryAuthorizationConfig defines the fleet level configuration of binary authorization feature.", +"id": "BinaryAuthorizationConfig", +"properties": { +"evaluationMode": { +"description": "Optional. Mode of operation for binauthz policy evaluation.", +"enum": [ +"EVALUATION_MODE_UNSPECIFIED", +"DISABLED", +"POLICY_BINDINGS" +], +"enumDescriptions": [ +"Default value", +"Disable BinaryAuthorization", +"Use Binary Authorization with the policies specified in policy_bindings." +], +"type": "string" +}, +"policyBindings": { +"description": "Optional. Binauthz policies that apply to this cluster.", +"items": { +"$ref": "PolicyBinding" +}, +"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" +}, +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"CloudAuditLoggingFeatureSpec": { +"description": "**Cloud Audit Logging**: Spec for Audit Logging Allowlisting.", +"id": "CloudAuditLoggingFeatureSpec", +"properties": { +"allowlistedServiceAccounts": { +"description": "Service account that should be allowlisted to send the audit logs; eg cloudauditlogging@gcp-project.iam.gserviceaccount.com. These accounts must already exist, but do not need to have any permissions granted to them. The customer's entitlements will be checked prior to allowlisting (i.e. the customer must be an Anthos customer.)", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"CloudBuildMembershipSpec": { +"description": "**Cloud Build**: Configurations for each Cloud Build enabled cluster.", +"id": "CloudBuildMembershipSpec", +"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" +}, +"ClusterUpgradeFleetSpec": { +"description": "**ClusterUpgrade**: The configuration for the fleet-level ClusterUpgrade feature.", +"id": "ClusterUpgradeFleetSpec", +"properties": { +"gkeUpgradeOverrides": { +"description": "Allow users to override some properties of each GKE upgrade.", +"items": { +"$ref": "ClusterUpgradeGKEUpgradeOverride" +}, +"type": "array" +}, +"postConditions": { +"$ref": "ClusterUpgradePostConditions", +"description": "Required. Post conditions to evaluate to mark an upgrade COMPLETE. Required." +}, +"upstreamFleets": { +"description": "This fleet consumes upgrades that have COMPLETE status code in the upstream fleets. See UpgradeStatus.Code for code definitions. The fleet name should be either fleet project number or id. This is defined as repeated for future proof reasons. Initial implementation will enforce at most one upstream fleet.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ClusterUpgradeFleetState": { +"description": "**ClusterUpgrade**: The state for the fleet-level ClusterUpgrade feature.", +"id": "ClusterUpgradeFleetState", +"properties": { +"downstreamFleets": { +"description": "This fleets whose upstream_fleets contain the current fleet. The fleet name should be either fleet project number or id.", +"items": { +"type": "string" +}, +"type": "array" +}, +"gkeState": { +"$ref": "ClusterUpgradeGKEUpgradeFeatureState", +"description": "Feature state for GKE clusters." +}, +"ignored": { +"additionalProperties": { +"$ref": "ClusterUpgradeIgnoredMembership" +}, +"description": "A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`.", +"type": "object" +} +}, +"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\". It should be a valid upgrade name. It must not exceet 99 characters.", +"type": "string" +}, +"version": { +"description": "Version of the upgrade, e.g., \"1.22.1-gke.100\". It should be a valid version. It must not exceet 99 characters.", +"type": "string" +} +}, +"type": "object" +}, +"ClusterUpgradeGKEUpgradeFeatureCondition": { +"description": "GKEUpgradeFeatureCondition describes the condition of the feature for GKE clusters at a certain point of time.", +"id": "ClusterUpgradeGKEUpgradeFeatureCondition", +"properties": { +"reason": { +"description": "Reason why the feature is in this status.", +"type": "string" +}, +"status": { +"description": "Status of the condition, one of True, False, Unknown.", +"type": "string" +}, +"type": { +"description": "Type of the condition, for example, \"ready\".", +"type": "string" +}, +"updateTime": { +"description": "Last timestamp the condition was updated.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"ClusterUpgradeGKEUpgradeFeatureState": { +"description": "GKEUpgradeFeatureState contains feature states for GKE clusters in the scope.", +"id": "ClusterUpgradeGKEUpgradeFeatureState", +"properties": { +"conditions": { +"description": "Current conditions of the feature.", +"items": { +"$ref": "ClusterUpgradeGKEUpgradeFeatureCondition" +}, +"type": "array" +}, +"upgradeState": { +"description": "Upgrade state. It will eventually replace `state`.", +"items": { +"$ref": "ClusterUpgradeGKEUpgradeState" +}, +"type": "array" +} +}, +"type": "object" +}, +"ClusterUpgradeGKEUpgradeOverride": { +"description": "Properties of a GKE upgrade that can be overridden by the user. For example, a user can skip soaking by overriding the soaking to 0.", +"id": "ClusterUpgradeGKEUpgradeOverride", +"properties": { +"postConditions": { +"$ref": "ClusterUpgradePostConditions", +"description": "Required. Post conditions to override for the specified upgrade (name + version). Required." +}, +"upgrade": { +"$ref": "ClusterUpgradeGKEUpgrade", +"description": "Required. Which upgrade to override. Required." +} +}, +"type": "object" +}, +"ClusterUpgradeGKEUpgradeState": { +"description": "GKEUpgradeState is a GKEUpgrade and its state at the scope and fleet level.", +"id": "ClusterUpgradeGKEUpgradeState", +"properties": { +"stats": { +"additionalProperties": { +"format": "int64", +"type": "string" +}, +"description": "Number of GKE clusters in each status code.", +"type": "object" +}, +"status": { +"$ref": "ClusterUpgradeUpgradeStatus", +"description": "Status of the upgrade." +}, +"upgrade": { +"$ref": "ClusterUpgradeGKEUpgrade", +"description": "Which upgrade to track the state." +} +}, +"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": "ScopeGKEUpgradeState 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" +}, +"ClusterUpgradeMembershipState": { +"description": "Per-membership state for this feature.", +"id": "ClusterUpgradeMembershipState", +"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." +}, +"scopes": { +"description": "Fully qualified scope names that this clusters is bound to which also have rollout sequencing enabled.", +"items": { +"type": "string" +}, +"type": "array" +}, +"upgrades": { +"description": "Actual upgrade state against desired.", +"items": { +"$ref": "ClusterUpgradeMembershipGKEUpgradeState" +}, +"type": "array" +} +}, +"type": "object" +}, +"ClusterUpgradePostConditions": { +"description": "Post conditional checks after an upgrade has been applied on all eligible clusters.", +"id": "ClusterUpgradePostConditions", +"properties": { +"soaking": { +"description": "Required. Amount of time to \"soak\" after a rollout has been finished before marking it COMPLETE. Cannot exceed 30 days. Required.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"ClusterUpgradeScopeSpec": { +"description": "**ClusterUpgrade**: The configuration for the scope-level ClusterUpgrade feature.", +"id": "ClusterUpgradeScopeSpec", +"properties": { +"gkeUpgradeOverrides": { +"description": "Allow users to override some properties of each GKE upgrade.", +"items": { +"$ref": "ClusterUpgradeGKEUpgradeOverride" +}, +"type": "array" +}, +"postConditions": { +"$ref": "ClusterUpgradePostConditions", +"description": "Required. Post conditions to evaluate to mark an upgrade COMPLETE. Required." +}, +"upstreamScopes": { +"description": "This scope consumes upgrades that have COMPLETE status code in the upstream scopes. See UpgradeStatus.Code for code definitions. The scope name should be in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. This is defined as repeated for future proof reasons. Initial implementation will enforce at most one upstream scope.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ClusterUpgradeScopeState": { +"description": "**ClusterUpgrade**: The state for the scope-level ClusterUpgrade feature.", +"id": "ClusterUpgradeScopeState", +"properties": { +"downstreamScopes": { +"description": "This scopes whose upstream_scopes contain the current scope. The scope name should be in the form: `projects/{p}/locations/gloobal/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project.", +"items": { +"type": "string" +}, +"type": "array" +}, +"gkeState": { +"$ref": "ClusterUpgradeGKEUpgradeFeatureState", +"description": "Feature state for GKE clusters." +}, +"ignored": { +"additionalProperties": { +"$ref": "ClusterUpgradeIgnoredMembership" +}, +"description": "A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`.", +"type": "object" +} +}, +"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" +}, +"CommonFeatureSpec": { +"description": "CommonFeatureSpec contains Fleet-wide configuration information", +"id": "CommonFeatureSpec", +"properties": { +"anthosobservability": { +"$ref": "AnthosObservabilityFeatureSpec", +"description": "Anthos Observability spec" +}, +"appdevexperience": { +"$ref": "AppDevExperienceFeatureSpec", +"description": "Appdevexperience specific spec." +}, +"cloudauditlogging": { +"$ref": "CloudAuditLoggingFeatureSpec", +"description": "Cloud Audit Logging-specific spec." +}, +"clusterupgrade": { +"$ref": "ClusterUpgradeFleetSpec", +"description": "ClusterUpgrade (fleet-based) feature spec." +}, +"dataplanev2": { +"$ref": "DataplaneV2FeatureSpec", +"description": "DataplaneV2 feature spec." +}, +"fleetobservability": { +"$ref": "FleetObservabilityFeatureSpec", +"description": "FleetObservability feature spec." +}, +"multiclusteringress": { +"$ref": "MultiClusterIngressFeatureSpec", +"description": "Multicluster Ingress-specific spec." +}, +"namespaceactuation": { +"$ref": "NamespaceActuationFeatureSpec", +"description": "Namespace Actuation feature spec" +}, +"workloadcertificate": { +"$ref": "FeatureSpec", +"description": "Workload Certificate spec." +} +}, +"type": "object" +}, +"CommonFeatureState": { +"description": "CommonFeatureState contains Fleet-wide Feature status information.", +"id": "CommonFeatureState", +"properties": { +"appdevexperience": { +"$ref": "AppDevExperienceFeatureState", +"description": "Appdevexperience specific state." +}, +"clusterupgrade": { +"$ref": "ClusterUpgradeFleetState", +"description": "ClusterUpgrade fleet-level state." +}, +"fleetobservability": { +"$ref": "FleetObservabilityFeatureState", +"description": "FleetObservability feature state." +}, +"namespaceactuation": { +"$ref": "NamespaceActuationFeatureState", +"description": "Namespace Actuation feature state." +}, +"servicemesh": { +"$ref": "ServiceMeshFeatureState", +"description": "Service Mesh-specific state." +}, +"state": { +"$ref": "FeatureState", +"description": "Output only. The \"running state\" of the Feature in this Fleet.", +"readOnly": true +} +}, +"type": "object" +}, +"CommonFleetDefaultMemberConfigSpec": { +"description": "CommonFleetDefaultMemberConfigSpec contains default configuration information for memberships of a fleet", +"id": "CommonFleetDefaultMemberConfigSpec", +"properties": { +"configmanagement": { +"$ref": "ConfigManagementMembershipSpec", +"description": "Config Management-specific spec." +}, +"identityservice": { +"$ref": "IdentityServiceMembershipSpec", +"description": "Identity Service-specific spec." +}, +"mesh": { +"$ref": "ServiceMeshMembershipSpec", +"description": "Anthos Service Mesh-specific spec" +}, +"policycontroller": { +"$ref": "PolicyControllerMembershipSpec", +"description": "Policy Controller spec." +} +}, +"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": { +"id": "ComplianceStandard", +"properties": { +"standard": { +"description": "Name of the compliance standard.", +"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" +}, +"ConfigManagementMembershipSpec": { +"description": "**Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR.", +"id": "ConfigManagementMembershipSpec", +"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" +}, +"ConfigManagementMembershipState": { +"description": "**Anthos Config Management**: State for a single cluster.", +"id": "ConfigManagementMembershipState", +"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": "ConfigManagementMembershipSpec", +"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" +}, +"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" +}, +"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" +}, +"ConnectAgentResource": { +"description": "ConnectAgentResource represents a Kubernetes resource manifest for Connect Agent deployment.", +"id": "ConnectAgentResource", +"properties": { +"manifest": { +"description": "YAML manifest of the resource.", +"type": "string" +}, +"type": { +"$ref": "TypeMeta", +"description": "Kubernetes type of the resource." +} +}, +"type": "object" +}, +"DataplaneV2FeatureSpec": { +"description": "**Dataplane V2**: Spec", +"id": "DataplaneV2FeatureSpec", +"properties": { +"enableEncryption": { +"description": "Enable dataplane-v2 based encryption for multiple clusters.", +"type": "boolean" +} +}, +"type": "object" +}, +"DefaultClusterConfig": { +"description": "DefaultClusterConfig describes the default cluster configurations to be applied to all clusters born-in-fleet.", +"id": "DefaultClusterConfig", +"properties": { +"binaryAuthorizationConfig": { +"$ref": "BinaryAuthorizationConfig", +"description": "Optional. Enable/Disable binary authorization features for the cluster." +}, +"compliancePostureConfig": { +"$ref": "CompliancePostureConfig", +"description": "Optional. Enable/Disable Compliance Posture features for the cluster. Note that on UpdateFleet, only full replacement of this field is allowed. Users are not allowed for partial updates through field mask." +}, +"securityPostureConfig": { +"$ref": "SecurityPostureConfig", +"description": "Enable/Disable Security Posture features for the cluster." +} +}, +"type": "object" +}, +"EdgeCluster": { +"description": "EdgeCluster contains information specific to Google Edge Clusters.", +"id": "EdgeCluster", +"properties": { +"resourceLink": { +"description": "Immutable. Self-link of the Google Cloud resource for the Edge Cluster. For example: //edgecontainer.googleapis.com/projects/my-project/locations/us-west1-a/clusters/my-cluster", +"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" +}, +"Feature": { +"description": "Feature represents the settings and status of any Fleet Feature.", +"id": "Feature", +"properties": { +"createTime": { +"description": "Output only. When the Feature resource was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deleteTime": { +"description": "Output only. When the Feature resource was deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"fleetDefaultMemberConfig": { +"$ref": "CommonFleetDefaultMemberConfigSpec", +"description": "Optional. Feature configuration applicable to all memberships of the fleet." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels for this Feature.", +"type": "object" +}, +"membershipSpecs": { +"additionalProperties": { +"$ref": "MembershipFeatureSpec" +}, +"description": "Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature.", +"type": "object" +}, +"membershipStates": { +"additionalProperties": { +"$ref": "MembershipFeatureState" +}, +"description": "Output only. Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number.", +"readOnly": true, +"type": "object" +}, +"name": { +"description": "Output only. The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`.", +"readOnly": true, +"type": "string" +}, +"resourceState": { +"$ref": "FeatureResourceState", +"description": "Output only. State of the Feature resource itself.", +"readOnly": true +}, +"scopeSpecs": { +"additionalProperties": { +"$ref": "ScopeFeatureSpec" +}, +"description": "Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature.", +"type": "object" +}, +"scopeStates": { +"additionalProperties": { +"$ref": "ScopeFeatureState" +}, +"description": "Output only. Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project.", +"readOnly": true, +"type": "object" +}, +"spec": { +"$ref": "CommonFeatureSpec", +"description": "Optional. Fleet-wide Feature configuration. If this Feature does not support any Fleet-wide configuration, this field may be unused." +}, +"state": { +"$ref": "CommonFeatureState", +"description": "Output only. The Fleet-wide Feature state.", +"readOnly": true +}, +"unreachable": { +"description": "Output only. List of locations that could not be reached while fetching this feature.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"updateTime": { +"description": "Output only. When the Feature resource was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"FeatureResourceState": { +"description": "FeatureResourceState describes the state of a Feature *resource* in the GkeHub API. See `FeatureState` for the \"running state\" of the Feature in the Fleet and across Memberships.", +"id": "FeatureResourceState", +"properties": { +"state": { +"description": "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 Feature is being enabled, and the Feature resource is being created. Once complete, the corresponding Feature will be enabled in this Fleet.", +"The Feature is enabled in this Fleet, and the Feature resource is fully available.", +"The Feature is being disabled in this Fleet, and the Feature resource is being deleted.", +"The Feature resource is being updated.", +"The Feature resource is being updated by the Hub Service." +], +"type": "string" +} +}, +"type": "object" +}, +"FeatureSpec": { +"description": "**Workload Certificate**: The Hub-wide input for the WorkloadCertificate feature.", +"id": "FeatureSpec", +"properties": { +"defaultConfig": { +"$ref": "MembershipSpec", +"description": "Specifies default membership spec. Users can override the default in the member_configs for each member." +}, +"provisionGoogleCa": { +"description": "Immutable. Specifies CA configuration.", +"enum": [ +"GOOGLE_CA_PROVISIONING_UNSPECIFIED", +"DISABLED", +"ENABLED", +"ENABLED_WITH_MANAGED_CA", +"ENABLED_WITH_DEFAULT_CA" +], +"enumDescriptions": [ +"Disable default Google managed CA.", +"Disable default Google managed CA.", +"Use default Google managed CA.", +"Workload certificate feature is enabled, and the entire certificate provisioning process is managed by Google with managed CAS which is more secure than the default CA.", +"Workload certificate feature is enabled, and the entire certificate provisioning process is using the default CA which is free." +], +"type": "string" +} +}, +"type": "object" +}, +"FeatureState": { +"description": "FeatureState describes the high-level state of a Feature. It may be used to describe a Feature's state at the environ-level, or per-membershop, depending on the context.", +"id": "FeatureState", +"properties": { +"code": { +"description": "The high-level, machine-readable status of this Feature.", +"enum": [ +"CODE_UNSPECIFIED", +"OK", +"WARNING", +"ERROR" +], +"enumDescriptions": [ +"Unknown or not set.", +"The Feature is operating normally.", +"The Feature has encountered an issue, and is operating in a degraded state. The Feature may need intervention to return to normal operation. See the description and any associated Feature-specific details for more information.", +"The Feature is not operating or is in a severely degraded state. The Feature may need intervention to return to normal operation. See the description and any associated Feature-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" +}, +"Fleet": { +"description": "Fleet contains the Fleet-wide metadata and configuration.", +"id": "Fleet", +"properties": { +"createTime": { +"description": "Output only. When the Fleet was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"defaultClusterConfig": { +"$ref": "DefaultClusterConfig", +"description": "Optional. The default cluster configurations to apply across the fleet." +}, +"deleteTime": { +"description": "Output only. When the Fleet was deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Optional. A user-assigned display name of the Fleet. When present, it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote, space, and exclamation point. Example: `Production Fleet`", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels for this Fleet.", +"type": "object" +}, +"name": { +"description": "Output only. The full, unique resource name of this fleet in the format of `projects/{project}/locations/{location}/fleets/{fleet}`. Each Google Cloud project can have at most one fleet resource, named \"default\".", +"readOnly": true, +"type": "string" +}, +"state": { +"$ref": "FleetLifecycleState", +"description": "Output only. State of the namespace resource.", +"readOnly": true +}, +"uid": { +"description": "Output only. Google-generated UUID for this resource. This is unique across all Fleet resources. If a Fleet resource is deleted and another resource with the same name is created, it gets a different uid.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. When the Fleet was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"FleetLifecycleState": { +"description": "FleetLifecycleState describes the state of a Fleet resource.", +"id": "FleetLifecycleState", +"properties": { +"code": { +"description": "Output only. The current state of the Fleet resource.", +"enum": [ +"CODE_UNSPECIFIED", +"CREATING", +"READY", +"DELETING", +"UPDATING" +], +"enumDescriptions": [ +"The code is not set.", +"The fleet is being created.", +"The fleet active.", +"The fleet is being deleted.", +"The fleet is being updated." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"FleetObservabilityFeatureError": { +"description": "All error details of the fleet observability feature.", +"id": "FleetObservabilityFeatureError", +"properties": { +"code": { +"description": "The code of the error.", +"type": "string" +}, +"description": { +"description": "A human-readable description of the current status.", +"type": "string" +} +}, +"type": "object" +}, +"FleetObservabilityFeatureSpec": { +"description": "**Fleet Observability**: The Hub-wide input for the FleetObservability feature.", +"id": "FleetObservabilityFeatureSpec", +"properties": { +"loggingConfig": { +"$ref": "FleetObservabilityLoggingConfig", +"description": "Specified if fleet logging feature is enabled for the entire fleet. If UNSPECIFIED, fleet logging feature is disabled for the entire fleet." +} +}, +"type": "object" +}, +"FleetObservabilityFeatureState": { +"description": "**FleetObservability**: Hub-wide Feature for FleetObservability feature. state.", +"id": "FleetObservabilityFeatureState", +"properties": { +"logging": { +"$ref": "FleetObservabilityFleetObservabilityLoggingState", +"description": "The feature state of default logging." +}, +"monitoring": { +"$ref": "FleetObservabilityFleetObservabilityMonitoringState", +"description": "The feature state of fleet monitoring." +} +}, +"type": "object" +}, +"FleetObservabilityFleetObservabilityBaseFeatureState": { +"description": "Base state for fleet observability feature.", +"id": "FleetObservabilityFleetObservabilityBaseFeatureState", +"properties": { +"code": { +"description": "The high-level, machine-readable status of this Feature.", +"enum": [ +"CODE_UNSPECIFIED", +"OK", +"ERROR" +], +"enumDescriptions": [ +"Unknown or not set.", +"The Feature is operating normally.", +"The Feature is encountering errors in the reconciliation. The Feature may need intervention to return to normal operation. See the description and any associated Feature-specific details for more information." +], +"type": "string" +}, +"errors": { +"description": "Errors after reconciling the monitoring and logging feature if the code is not OK.", +"items": { +"$ref": "FleetObservabilityFeatureError" +}, +"type": "array" +} +}, +"type": "object" +}, +"FleetObservabilityFleetObservabilityLoggingState": { +"description": "Feature state for logging feature.", +"id": "FleetObservabilityFleetObservabilityLoggingState", +"properties": { +"defaultLog": { +"$ref": "FleetObservabilityFleetObservabilityBaseFeatureState", +"description": "The base feature state of fleet default log." +}, +"scopeLog": { +"$ref": "FleetObservabilityFleetObservabilityBaseFeatureState", +"description": "The base feature state of fleet scope log." +} +}, +"type": "object" +}, +"FleetObservabilityFleetObservabilityMonitoringState": { +"description": "Feature state for monitoring feature.", +"id": "FleetObservabilityFleetObservabilityMonitoringState", +"properties": { +"state": { +"$ref": "FleetObservabilityFleetObservabilityBaseFeatureState", +"description": "The base feature state of fleet monitoring feature." +} +}, +"type": "object" +}, +"FleetObservabilityLoggingConfig": { +"description": "LoggingConfig defines the configuration for different types of logs.", +"id": "FleetObservabilityLoggingConfig", +"properties": { +"defaultConfig": { +"$ref": "FleetObservabilityRoutingConfig", +"description": "Specified if applying the default routing config to logs not specified in other configs." +}, +"fleetScopeLogsConfig": { +"$ref": "FleetObservabilityRoutingConfig", +"description": "Specified if applying the routing config to all logs for all fleet scopes." +} +}, +"type": "object" +}, +"FleetObservabilityMembershipSpec": { +"description": "**FleetObservability**: The membership-specific input for FleetObservability feature.", +"id": "FleetObservabilityMembershipSpec", +"properties": {}, +"type": "object" +}, +"FleetObservabilityMembershipState": { +"description": "**FleetObservability**: Membership-specific Feature state for fleetobservability.", +"id": "FleetObservabilityMembershipState", +"properties": {}, +"type": "object" +}, +"FleetObservabilityRoutingConfig": { +"description": "RoutingConfig configures the behaviour of fleet logging feature.", +"id": "FleetObservabilityRoutingConfig", +"properties": { +"mode": { +"description": "mode configures the logs routing mode.", +"enum": [ +"MODE_UNSPECIFIED", +"COPY", +"MOVE" +], +"enumDescriptions": [ +"If UNSPECIFIED, fleet logging feature is disabled.", +"logs will be copied to the destination project.", +"logs will be moved to the destination project." +], +"type": "string" +} +}, +"type": "object" +}, +"GenerateConnectManifestResponse": { +"description": "GenerateConnectManifestResponse contains manifest information for installing/upgrading a Connect agent.", +"id": "GenerateConnectManifestResponse", +"properties": { +"manifest": { +"description": "The ordered list of Kubernetes resources that need to be applied to the cluster for GKE Connect agent installation/upgrade.", +"items": { +"$ref": "ConnectAgentResource" +}, +"type": "array" +} +}, +"type": "object" +}, +"GenerateExclusivityManifestResponse": { +"description": "The response of the exclusivity artifacts manifests for the client to apply.", +"id": "GenerateExclusivityManifestResponse", +"properties": { +"crManifest": { +"description": "The YAML manifest of the membership CR to apply if a new version of the CR is available. Empty if no update needs to be applied.", +"type": "string" +}, +"crdManifest": { +"description": "The YAML manifest of the membership CRD to apply if a newer version of the CRD is available. Empty if no update needs to be applied.", +"type": "string" +} +}, +"type": "object" +}, +"GenerateMembershipRBACRoleBindingYAMLResponse": { +"description": "Response for GenerateRBACRoleBindingYAML.", +"id": "GenerateMembershipRBACRoleBindingYAMLResponse", +"properties": { +"roleBindingsYaml": { +"description": "a yaml text blob including the RBAC policies.", +"type": "string" +} +}, +"type": "object" +}, +"GkeCluster": { +"description": "GkeCluster contains information specific to GKE clusters.", +"id": "GkeCluster", +"properties": { +"clusterMissing": { +"description": "Output only. If cluster_missing is set then it denotes that the GKE cluster no longer exists in the GKE Control Plane.", +"readOnly": true, +"type": "boolean" +}, +"resourceLink": { +"description": "Immutable. Self-link of the Google Cloud resource for the GKE cluster. For example: //container.googleapis.com/projects/my-project/locations/us-west1-a/clusters/my-cluster Zonal clusters are also supported.", +"type": "string" +} +}, +"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" +}, +"IdentityServiceMembershipSpec": { +"description": "**Anthos Identity Service**: Configuration for a single Membership.", +"id": "IdentityServiceMembershipSpec", +"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" +}, +"IdentityServiceMembershipState": { +"description": "**Anthos Identity Service**: State for a single Membership.", +"id": "IdentityServiceMembershipState", +"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": "IdentityServiceMembershipSpec", +"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" +}, +"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" +}, +"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" +}, +"KubernetesMetadata": { +"description": "KubernetesMetadata provides informational metadata for Memberships representing Kubernetes clusters.", +"id": "KubernetesMetadata", +"properties": { +"kubernetesApiServerVersion": { +"description": "Output only. Kubernetes API server version string as reported by `/version`.", +"readOnly": true, +"type": "string" +}, +"memoryMb": { +"description": "Output only. The total memory capacity as reported by the sum of all Kubernetes nodes resources, defined in MB.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"nodeCount": { +"description": "Output only. Node count as reported by Kubernetes nodes resources.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"nodeProviderId": { +"description": "Output only. Node providerID as reported by the first node in the list of nodes on the Kubernetes endpoint. On Kubernetes platforms that support zero-node clusters (like GKE-on-GCP), the node_count will be zero and the node_provider_id will be empty.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The time at which these details were last updated. This update_time is different from the Membership-level update_time since EndpointDetails are updated internally for API consumers.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"vcpuCount": { +"description": "Output only. vCPU count as reported by Kubernetes nodes resources.", +"format": "int32", +"readOnly": true, +"type": "integer" +} +}, +"type": "object" +}, +"KubernetesResource": { +"description": "KubernetesResource contains the YAML manifests and configuration for Membership Kubernetes resources in the cluster. After CreateMembership or UpdateMembership, these resources should be re-applied in the cluster.", +"id": "KubernetesResource", +"properties": { +"connectResources": { +"description": "Output only. The Kubernetes resources for installing the GKE Connect agent This field is only populated in the Membership returned from a successful long-running operation from CreateMembership or UpdateMembership. It is not populated during normal GetMembership or ListMemberships requests. To get the resource manifest after the initial registration, the caller should make a UpdateMembership call with an empty field mask.", +"items": { +"$ref": "ResourceManifest" +}, +"readOnly": true, +"type": "array" +}, +"membershipCrManifest": { +"description": "Input only. The YAML representation of the Membership CR. This field is ignored for GKE clusters where Hub can read the CR directly. Callers should provide the CR that is currently present in the cluster during CreateMembership or UpdateMembership, or leave this field empty if none exists. The CR manifest is used to validate the cluster has not been registered with another Membership.", +"type": "string" +}, +"membershipResources": { +"description": "Output only. Additional Kubernetes resources that need to be applied to the cluster after Membership creation, and after every update. This field is only populated in the Membership returned from a successful long-running operation from CreateMembership or UpdateMembership. It is not populated during normal GetMembership or ListMemberships requests. To get the resource manifest after the initial registration, the caller should make a UpdateMembership call with an empty field mask.", +"items": { +"$ref": "ResourceManifest" +}, +"readOnly": true, +"type": "array" +}, +"resourceOptions": { +"$ref": "ResourceOptions", +"description": "Optional. Options for Kubernetes resource generation." +} +}, +"type": "object" +}, +"ListAdminClusterMembershipsResponse": { +"description": "Response message for the `GkeHub.ListAdminClusterMemberships` method.", +"id": "ListAdminClusterMembershipsResponse", +"properties": { +"adminClusterMemberships": { +"description": "The list of matching Memberships of admin clusters.", +"items": { +"$ref": "Membership" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to request the next page of resources from the `ListAdminClusterMemberships` 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" +}, +"ListBoundMembershipsResponse": { +"description": "List of Memberships bound to a Scope.", +"id": "ListBoundMembershipsResponse", +"properties": { +"memberships": { +"description": "The list of Memberships bound to the given Scope.", +"items": { +"$ref": "Membership" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to request the next page of resources from the `ListBoundMemberships` 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" +}, +"ListFeaturesResponse": { +"description": "Response message for the `GkeHub.ListFeatures` method.", +"id": "ListFeaturesResponse", +"properties": { +"nextPageToken": { +"description": "A token to request the next page of resources from the `ListFeatures` method. The value of an empty string means that there are no more resources to return.", +"type": "string" +}, +"resources": { +"description": "The list of matching Features", +"items": { +"$ref": "Feature" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListFleetsResponse": { +"description": "Response message for the `GkeHub.ListFleetsResponse` method.", +"id": "ListFleetsResponse", +"properties": { +"fleets": { +"description": "The list of matching fleets.", +"items": { +"$ref": "Fleet" +}, +"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. The token is only valid for 1h.", +"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" +}, +"ListMembershipBindingsResponse": { +"description": "List of MembershipBindings.", +"id": "ListMembershipBindingsResponse", +"properties": { +"membershipBindings": { +"description": "The list of membership_bindings", +"items": { +"$ref": "MembershipBinding" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to request the next page of resources from the `ListMembershipBindings` 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" +}, +"ListMembershipRBACRoleBindingsResponse": { +"description": "List of Membership RBACRoleBindings.", +"id": "ListMembershipRBACRoleBindingsResponse", +"properties": { +"nextPageToken": { +"description": "A token to request the next page of resources from the `ListMembershipRBACRoleBindings` method. The value of an empty string means that there are no more resources to return.", +"type": "string" +}, +"rbacrolebindings": { +"description": "The list of Membership RBACRoleBindings.", +"items": { +"$ref": "RBACRoleBinding" +}, +"type": "array" +}, +"unreachable": { +"description": "List of locations that could not be reached while fetching this list.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListMembershipsResponse": { +"description": "Response message for the `GkeHub.ListMemberships` method.", +"id": "ListMembershipsResponse", +"properties": { +"nextPageToken": { +"description": "A token to request the next page of resources from the `ListMemberships` method. The value of an empty string means that there are no more resources to return.", +"type": "string" +}, +"resources": { +"description": "The list of matching Memberships.", +"items": { +"$ref": "Membership" +}, +"type": "array" +}, +"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" +}, +"ListPermittedScopesResponse": { +"description": "List of permitted Scopes.", +"id": "ListPermittedScopesResponse", +"properties": { +"nextPageToken": { +"description": "A token to request the next page of resources from the `ListPermittedScopes` method. The value of an empty string means that there are no more resources to return.", +"type": "string" +}, +"scopes": { +"description": "The list of permitted Scopes", +"items": { +"$ref": "Scope" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListScopeNamespacesResponse": { +"description": "List of fleet namespaces.", +"id": "ListScopeNamespacesResponse", +"properties": { +"nextPageToken": { +"description": "A token to request the next page of resources from the `ListNamespaces` method. The value of an empty string means that there are no more resources to return.", +"type": "string" +}, +"scopeNamespaces": { +"description": "The list of fleet namespaces", +"items": { +"$ref": "Namespace" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListScopeRBACRoleBindingsResponse": { +"description": "List of Scope RBACRoleBindings.", +"id": "ListScopeRBACRoleBindingsResponse", +"properties": { +"nextPageToken": { +"description": "A token to request the next page of resources from the `ListScopeRBACRoleBindings` method. The value of an empty string means that there are no more resources to return.", +"type": "string" +}, +"rbacrolebindings": { +"description": "The list of Scope RBACRoleBindings.", +"items": { +"$ref": "RBACRoleBinding" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListScopesResponse": { +"description": "List of Scopes.", +"id": "ListScopesResponse", +"properties": { +"nextPageToken": { +"description": "A token to request the next page of resources from the `ListScopes` method. The value of an empty string means that there are no more resources to return.", +"type": "string" +}, +"scopes": { +"description": "The list of Scopes", +"items": { +"$ref": "Scope" +}, +"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" +}, +"Membership": { +"description": "Membership contains information about a member cluster.", +"id": "Membership", +"properties": { +"authority": { +"$ref": "Authority", +"description": "Optional. How to identify workloads from this Membership. See the documentation on Workload Identity for more details: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity" +}, +"clusterTier": { +"description": "Output only. The tier of the cluster.", +"enum": [ +"CLUSTER_TIER_UNSPECIFIED", +"STANDARD", +"ENTERPRISE" +], +"enumDescriptions": [ +"The ClusterTier is not set.", +"The ClusterTier is standard.", +"The ClusterTier is enterprise." +], +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. When the Membership was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deleteTime": { +"description": "Output only. When the Membership was deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Output only. Description of this membership, limited to 63 characters. Must match the regex: `a-zA-Z0-9*` This field is present for legacy purposes.", +"readOnly": true, +"type": "string" +}, +"endpoint": { +"$ref": "MembershipEndpoint", +"description": "Optional. Endpoint information to reach this member." +}, +"externalId": { +"description": "Optional. An externally-generated and managed ID for this Membership. This ID may be modified after creation, but this is not recommended. The ID must match the regex: `a-zA-Z0-9*` If this Membership represents a Kubernetes cluster, this value should be set to the UID of the `kube-system` namespace object.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels for this membership.", +"type": "object" +}, +"lastConnectionTime": { +"description": "Output only. For clusters using Connect, the timestamp of the most recent connection established with Google Cloud. This time is updated every several minutes, not continuously. For clusters that do not use GKE Connect, or that have never connected successfully, this field will be unset.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"monitoringConfig": { +"$ref": "MonitoringConfig", +"description": "Optional. The monitoring config information for this membership." +}, +"name": { +"description": "Output only. The full, unique name of this Membership resource in the format `projects/*/locations/*/memberships/{membership_id}`, set during creation. `membership_id` must be a valid RFC 1123 compliant DNS label: 1. At most 63 characters in length 2. It must consist of lower case alphanumeric characters or `-` 3. It must start and end with an alphanumeric character Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters.", +"readOnly": true, +"type": "string" +}, +"state": { +"$ref": "MembershipState", +"description": "Output only. State of the Membership resource.", +"readOnly": true +}, +"uniqueId": { +"description": "Output only. Google-generated UUID for this resource. This is unique across all Membership resources. If a Membership resource is deleted and another resource with the same name is created, it gets a different unique_id.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. When the Membership was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"MembershipBinding": { +"description": "MembershipBinding is a subresource of a Membership, representing what Fleet Scopes (or other, future Fleet resources) a Membership is bound to.", +"id": "MembershipBinding", +"properties": { +"createTime": { +"description": "Output only. When the membership binding was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deleteTime": { +"description": "Output only. When the membership binding was deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels for this MembershipBinding.", +"type": "object" +}, +"name": { +"description": "The resource name for the membershipbinding itself `projects/{project}/locations/{location}/memberships/{membership}/bindings/{membershipbinding}`", +"type": "string" +}, +"scope": { +"description": "A Scope resource name in the format `projects/*/locations/*/scopes/*`.", +"type": "string" +}, +"state": { +"$ref": "MembershipBindingLifecycleState", +"description": "Output only. State of the membership binding resource.", +"readOnly": true +}, +"uid": { +"description": "Output only. Google-generated UUID for this resource. This is unique across all membershipbinding resources. If a membershipbinding resource is deleted and another resource with the same name is created, it gets a different uid.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. When the membership binding was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"MembershipBindingLifecycleState": { +"description": "MembershipBindingLifecycleState describes the state of a Binding resource.", +"id": "MembershipBindingLifecycleState", +"properties": { +"code": { +"description": "Output only. The current state of the MembershipBinding resource.", +"enum": [ +"CODE_UNSPECIFIED", +"CREATING", +"READY", +"DELETING", +"UPDATING" +], +"enumDescriptions": [ +"The code is not set.", +"The membershipbinding is being created.", +"The membershipbinding active.", +"The membershipbinding is being deleted.", +"The membershipbinding is being updated." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"MembershipEndpoint": { +"description": "MembershipEndpoint contains information needed to contact a Kubernetes API, endpoint and any additional Kubernetes metadata.", +"id": "MembershipEndpoint", +"properties": { +"applianceCluster": { +"$ref": "ApplianceCluster", +"description": "Optional. Specific information for a GDC Edge Appliance cluster." +}, +"edgeCluster": { +"$ref": "EdgeCluster", +"description": "Optional. Specific information for a Google Edge cluster." +}, +"gkeCluster": { +"$ref": "GkeCluster", +"description": "Optional. Specific information for a GKE-on-GCP cluster." +}, +"googleManaged": { +"description": "Output only. Whether the lifecycle of this membership is managed by a google cluster platform service.", +"readOnly": true, +"type": "boolean" +}, +"kubernetesMetadata": { +"$ref": "KubernetesMetadata", +"description": "Output only. Useful Kubernetes-specific metadata.", +"readOnly": true +}, +"kubernetesResource": { +"$ref": "KubernetesResource", +"description": "Optional. The in-cluster Kubernetes Resources that should be applied for a correctly registered cluster, in the steady state. These resources: * Ensure that the cluster is exclusively registered to one and only one Hub Membership. * Propagate Workload Pool Information available in the Membership Authority field. * Ensure proper initial configuration of default Hub Features." +}, +"multiCloudCluster": { +"$ref": "MultiCloudCluster", +"description": "Optional. Specific information for a GKE Multi-Cloud cluster." +}, +"onPremCluster": { +"$ref": "OnPremCluster", +"description": "Optional. Specific information for a GKE On-Prem cluster. An onprem user-cluster who has no resourceLink is not allowed to use this field, it should have a nil \"type\" instead." +} +}, +"type": "object" +}, +"MembershipFeatureSpec": { +"description": "MembershipFeatureSpec contains configuration information for a single Membership.", +"id": "MembershipFeatureSpec", +"properties": { +"anthosobservability": { +"$ref": "AnthosObservabilityMembershipSpec", +"description": "Anthos Observability-specific spec" +}, +"cloudbuild": { +"$ref": "CloudBuildMembershipSpec", +"description": "Cloud Build-specific spec" +}, +"configmanagement": { +"$ref": "ConfigManagementMembershipSpec", +"description": "Config Management-specific spec." +}, +"fleetobservability": { +"$ref": "FleetObservabilityMembershipSpec", +"description": "Fleet observability membership spec" +}, +"identityservice": { +"$ref": "IdentityServiceMembershipSpec", +"description": "Identity Service-specific spec." +}, +"mesh": { +"$ref": "ServiceMeshMembershipSpec", +"description": "Anthos Service Mesh-specific spec" +}, +"namespaceactuation": { +"$ref": "NamespaceActuationMembershipSpec", +"description": "FNS Actuation membership spec" +}, +"origin": { +"$ref": "Origin", +"description": "Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly." +}, +"policycontroller": { +"$ref": "PolicyControllerMembershipSpec", +"description": "Policy Controller spec." +}, +"workloadcertificate": { +"$ref": "MembershipSpec", +"description": "Workload Certificate spec." +} +}, +"type": "object" +}, +"MembershipFeatureState": { +"description": "MembershipFeatureState contains Feature status information for a single Membership.", +"id": "MembershipFeatureState", +"properties": { +"appdevexperience": { +"$ref": "AppDevExperienceFeatureState", +"description": "Appdevexperience specific state." +}, +"clusterupgrade": { +"$ref": "ClusterUpgradeMembershipState", +"description": "ClusterUpgrade state." +}, +"configmanagement": { +"$ref": "ConfigManagementMembershipState", +"description": "Config Management-specific state." +}, +"fleetobservability": { +"$ref": "FleetObservabilityMembershipState", +"description": "Fleet observability membership state." +}, +"identityservice": { +"$ref": "IdentityServiceMembershipState", +"description": "Identity Service-specific state." +}, +"metering": { +"$ref": "MeteringMembershipState", +"description": "Metering-specific state." +}, +"namespaceactuation": { +"$ref": "NamespaceActuationMembershipState", +"description": "FNS Actuation membership state" +}, +"policycontroller": { +"$ref": "PolicyControllerMembershipState", +"description": "Policycontroller-specific state." +}, +"servicemesh": { +"$ref": "ServiceMeshMembershipState", +"description": "Service Mesh-specific state." +}, +"state": { +"$ref": "FeatureState", +"description": "The high-level state of this Feature for a single membership." +} +}, +"type": "object" +}, +"MembershipSpec": { +"description": "**Workload Certificate**: The membership-specific input for WorkloadCertificate feature.", +"id": "MembershipSpec", +"properties": { +"certificateManagement": { +"description": "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" +}, +"MembershipState": { +"description": "MembershipState describes the state of a Membership resource.", +"id": "MembershipState", +"properties": { +"code": { +"description": "Output only. The current state of the Membership resource.", +"enum": [ +"CODE_UNSPECIFIED", +"CREATING", +"READY", +"DELETING", +"UPDATING", +"SERVICE_UPDATING" +], +"enumDescriptions": [ +"The code is not set.", +"The cluster is being registered.", +"The cluster is registered.", +"The cluster is being unregistered.", +"The Membership is being updated.", +"The Membership is being updated by the Hub Service." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"MeteringMembershipState": { +"description": "**Metering**: Per-Membership Feature State.", +"id": "MeteringMembershipState", +"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" +}, +"MonitoringConfig": { +"description": "MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to prevent accidentally breaking the constinousty of metrics.", +"id": "MonitoringConfig", +"properties": { +"cluster": { +"description": "Optional. Cluster name used to report metrics. For Anthos on VMWare/Baremetal/MultiCloud clusters, it would be in format {cluster_type}/{cluster_name}, e.g., \"awsClusters/cluster_1\".", +"type": "string" +}, +"clusterHash": { +"description": "Optional. For GKE and Multicloud clusters, this is the UUID of the cluster resource. For VMWare and Baremetal clusters, this is the kube-system UID.", +"type": "string" +}, +"kubernetesMetricsPrefix": { +"description": "Optional. Kubernetes system metrics, if available, are written to this prefix. This defaults to kubernetes.io for GKE, and kubernetes.io/anthos for Anthos eventually. Noted: Anthos MultiCloud will have kubernetes.io prefix today but will migration to be under kubernetes.io/anthos.", +"type": "string" +}, +"location": { +"description": "Optional. Location used to report Metrics", +"type": "string" +}, +"projectId": { +"description": "Optional. Project used to report Metrics", +"type": "string" +} +}, +"type": "object" +}, +"MultiCloudCluster": { +"description": "MultiCloudCluster contains information specific to GKE Multi-Cloud clusters.", +"id": "MultiCloudCluster", +"properties": { +"clusterMissing": { +"description": "Output only. If cluster_missing is set then it denotes that API(gkemulticloud.googleapis.com) resource for this GKE Multi-Cloud cluster no longer exists.", +"readOnly": true, +"type": "boolean" +}, +"resourceLink": { +"description": "Immutable. Self-link of the Google Cloud resource for the GKE Multi-Cloud cluster. For example: //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/awsClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/azureClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/attachedClusters/my-cluster", +"type": "string" +} +}, +"type": "object" +}, +"MultiClusterIngressFeatureSpec": { +"description": "**Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature.", +"id": "MultiClusterIngressFeatureSpec", +"properties": { +"billing": { +"deprecated": true, +"description": "Deprecated: This field will be ignored and should not be set. Customer's billing structure.", +"enum": [ +"BILLING_UNSPECIFIED", +"PAY_AS_YOU_GO", +"ANTHOS_LICENSE" +], +"enumDescriptions": [ +"Unknown", +"User pays a fee per-endpoint.", +"User is paying for Anthos as a whole." +], +"type": "string" +}, +"configMembership": { +"description": "Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar`", +"type": "string" +} +}, +"type": "object" +}, +"Namespace": { +"description": "Namespace represents a namespace across the Fleet", +"id": "Namespace", +"properties": { +"createTime": { +"description": "Output only. When the namespace was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deleteTime": { +"description": "Output only. When the namespace was deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels for this Namespace.", +"type": "object" +}, +"name": { +"description": "The resource name for the namespace `projects/{project}/locations/{location}/namespaces/{namespace}`", +"type": "string" +}, +"namespaceLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Namespace-level cluster namespace labels. These labels are applied to the related namespace of the member clusters bound to the parent Scope. Scope-level labels (`namespace_labels` in the Fleet Scope resource) take precedence over Namespace-level labels if they share a key. Keys and values must be Kubernetes-conformant.", +"type": "object" +}, +"scope": { +"description": "Required. Scope associated with the namespace", +"type": "string" +}, +"state": { +"$ref": "NamespaceLifecycleState", +"description": "Output only. State of the namespace resource.", +"readOnly": true +}, +"uid": { +"description": "Output only. Google-generated UUID for this resource. This is unique across all namespace resources. If a namespace resource is deleted and another resource with the same name is created, it gets a different uid.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. When the namespace was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"NamespaceActuationFeatureSpec": { +"description": "An empty spec for actuation feature. This is required since Feature proto requires a spec.", +"id": "NamespaceActuationFeatureSpec", +"properties": { +"actuationMode": { +"description": "actuation_mode controls the behavior of the controller", +"enum": [ +"ACTUATION_MODE_UNSPECIFIED", +"ACTUATION_MODE_CREATE_AND_DELETE_IF_CREATED", +"ACTUATION_MODE_ADD_AND_REMOVE_FLEET_LABELS" +], +"enumDescriptions": [ +"ACTUATION_MODE_UNSPECIFIED is similar to CREATE_AND_DELETE_IF_CREATED in the default controller behavior.", +"ACTUATION_MODE_CREATE_AND_DELETE_IF_CREATED has the controller create cluster namespaces for each fleet namespace and it deletes only the ones it created, which are identified by a label.", +"ACTUATION_MODE_ADD_AND_REMOVE_FLEET_LABELS has the controller only apply labels to cluster namespaces to signal fleet namespace enablement. It doesn't create or delete cluster namespaces." +], +"type": "string" +} +}, +"type": "object" +}, +"NamespaceActuationFeatureState": { +"description": "NamespaceActuation Feature State.", +"id": "NamespaceActuationFeatureState", +"properties": {}, +"type": "object" +}, +"NamespaceActuationMembershipSpec": { +"description": "**Namespace Actuation**: The membership-specific input for NamespaceActuation feature.", +"id": "NamespaceActuationMembershipSpec", +"properties": {}, +"type": "object" +}, +"NamespaceActuationMembershipState": { +"description": "**Namespace Actuation**: An empty state left as an example membership-specific Feature state.", +"id": "NamespaceActuationMembershipState", +"properties": {}, +"type": "object" +}, +"NamespaceLifecycleState": { +"description": "NamespaceLifecycleState describes the state of a Namespace resource.", +"id": "NamespaceLifecycleState", +"properties": { +"code": { +"description": "Output only. The current state of the Namespace resource.", +"enum": [ +"CODE_UNSPECIFIED", +"CREATING", +"READY", +"DELETING", +"UPDATING" +], +"enumDescriptions": [ +"The code is not set.", +"The namespace is being created.", +"The namespace active.", +"The namespace is being deleted.", +"The namespace is being updated." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"OnPremCluster": { +"description": "OnPremCluster contains information specific to GKE On-Prem clusters.", +"id": "OnPremCluster", +"properties": { +"adminCluster": { +"description": "Immutable. Whether the cluster is an admin cluster.", +"type": "boolean" +}, +"clusterMissing": { +"description": "Output only. If cluster_missing is set then it denotes that API(gkeonprem.googleapis.com) resource for this GKE On-Prem cluster no longer exists.", +"readOnly": true, +"type": "boolean" +}, +"clusterType": { +"description": "Immutable. The on prem cluster's type.", +"enum": [ +"CLUSTERTYPE_UNSPECIFIED", +"BOOTSTRAP", +"HYBRID", +"STANDALONE", +"USER" +], +"enumDescriptions": [ +"The ClusterType is not set.", +"The ClusterType is bootstrap cluster.", +"The ClusterType is baremetal hybrid cluster.", +"The ClusterType is baremetal standalone cluster.", +"The ClusterType is user cluster." +], +"type": "string" +}, +"resourceLink": { +"description": "Immutable. Self-link of the Google Cloud resource for the GKE On-Prem cluster. For example: //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/vmwareClusters/my-cluster //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/bareMetalClusters/my-cluster", +"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": "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": "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 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" +}, +"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 MembershipFeatureSpec 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-Membership spec was inherited from the fleet-level default.", +"Per-Membership spec was inherited from the fleet-level default but is now out of sync with the current default.", +"Per-Membership spec was inherited from a user specification." +], +"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" +}, +"PolicyBinding": { +"description": "Binauthz policy that applies to this cluster.", +"id": "PolicyBinding", +"properties": { +"name": { +"description": "The relative resource name of the binauthz platform policy to audit. GKE platform policies have the following format: `projects/{project_number}/platforms/gke/policies/{policy_id}`.", +"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 (\"admission\", \"audit\", \"mutation').", +"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" +}, +"PolicyControllerMembershipSpec": { +"description": "**Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR.", +"id": "PolicyControllerMembershipSpec", +"properties": { +"policyControllerHubConfig": { +"$ref": "PolicyControllerHubConfig", +"description": "Policy Controller configuration for the cluster." +}, +"version": { +"description": "Version of Policy Controller installed.", +"type": "string" +} +}, +"type": "object" +}, +"PolicyControllerMembershipState": { +"description": "**Policy Controller**: State for a single cluster.", +"id": "PolicyControllerMembershipState", +"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 'install').", +"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 'take 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" +}, +"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 'install').", +"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 'take 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" +}, +"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" +}, +"RBACRoleBinding": { +"description": "RBACRoleBinding represents a rbacrolebinding across the Fleet", +"id": "RBACRoleBinding", +"properties": { +"createTime": { +"description": "Output only. When the rbacrolebinding was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deleteTime": { +"description": "Output only. When the rbacrolebinding was deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"group": { +"description": "group is the group, as seen by the kubernetes cluster.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels for this RBACRolebinding.", +"type": "object" +}, +"name": { +"description": "The resource name for the rbacrolebinding `projects/{project}/locations/{location}/scopes/{scope}/rbacrolebindings/{rbacrolebinding}` or `projects/{project}/locations/{location}/memberships/{membership}/rbacrolebindings/{rbacrolebinding}`", +"type": "string" +}, +"role": { +"$ref": "Role", +"description": "Required. Role to bind to the principal" +}, +"state": { +"$ref": "RBACRoleBindingLifecycleState", +"description": "Output only. State of the rbacrolebinding resource.", +"readOnly": true +}, +"uid": { +"description": "Output only. Google-generated UUID for this resource. This is unique across all rbacrolebinding resources. If a rbacrolebinding resource is deleted and another resource with the same name is created, it gets a different uid.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. When the rbacrolebinding was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"user": { +"description": "user is the name of the user as seen by the kubernetes cluster, example \"alice\" or \"alice@domain.tld\"", +"type": "string" +} +}, +"type": "object" +}, +"RBACRoleBindingLifecycleState": { +"description": "RBACRoleBindingLifecycleState describes the state of a RbacRoleBinding resource.", +"id": "RBACRoleBindingLifecycleState", +"properties": { +"code": { +"description": "Output only. The current state of the rbacrolebinding resource.", +"enum": [ +"CODE_UNSPECIFIED", +"CREATING", +"READY", +"DELETING", +"UPDATING" +], +"enumDescriptions": [ +"The code is not set.", +"The rbacrolebinding is being created.", +"The rbacrolebinding active.", +"The rbacrolebinding is being deleted.", +"The rbacrolebinding is being updated." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ResourceManifest": { +"description": "ResourceManifest represents a single Kubernetes resource to be applied to the cluster.", +"id": "ResourceManifest", +"properties": { +"clusterScoped": { +"description": "Output only. Whether the resource provided in the manifest is `cluster_scoped`. If unset, the manifest is assumed to be namespace scoped. This field is used for REST mapping when applying the resource in a cluster.", +"readOnly": true, +"type": "boolean" +}, +"manifest": { +"description": "Output only. YAML manifest of the resource.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ResourceOptions": { +"description": "ResourceOptions represent options for Kubernetes resource generation.", +"id": "ResourceOptions", +"properties": { +"connectVersion": { +"description": "Optional. The Connect agent version to use for connect_resources. Defaults to the latest GKE Connect version. The version must be a currently supported version, obsolete versions will be rejected.", +"type": "string" +}, +"k8sVersion": { +"description": "Optional. Major version of the Kubernetes cluster. This is only used to determine which version to use for the CustomResourceDefinition resources, `apiextensions/v1beta1` or`apiextensions/v1`.", +"type": "string" +}, +"v1beta1Crd": { +"description": "Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for CustomResourceDefinition resources. This option should be set for clusters with Kubernetes apiserver versions <1.16.", +"type": "boolean" +} +}, +"type": "object" +}, +"Role": { +"description": "Role is the type for Kubernetes roles", +"id": "Role", +"properties": { +"predefinedRole": { +"description": "predefined_role is the Kubernetes default role to use", +"enum": [ +"UNKNOWN", +"ADMIN", +"EDIT", +"VIEW", +"ANTHOS_SUPPORT" +], +"enumDescriptions": [ +"UNKNOWN", +"ADMIN has EDIT and RBAC permissions", +"EDIT can edit all resources except RBAC", +"VIEW can only read resources", +"ANTHOS_SUPPORT gives Google Support read-only access to a number of cluster resources." +], +"type": "string" +} +}, +"type": "object" +}, +"Scope": { +"description": "Scope represents a Scope in a Fleet.", +"id": "Scope", +"properties": { +"createTime": { +"description": "Output only. When the scope was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deleteTime": { +"description": "Output only. When the scope was deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels for this Scope.", +"type": "object" +}, +"name": { +"description": "The resource name for the scope `projects/{project}/locations/{location}/scopes/{scope}`", +"type": "string" +}, +"namespaceLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Scope-level cluster namespace labels. For the member clusters bound to the Scope, these labels are applied to each namespace under the Scope. Scope-level labels take precedence over Namespace-level labels (`namespace_labels` in the Fleet Namespace resource) if they share a key. Keys and values must be Kubernetes-conformant.", +"type": "object" +}, +"state": { +"$ref": "ScopeLifecycleState", +"description": "Output only. State of the scope resource.", +"readOnly": true +}, +"uid": { +"description": "Output only. Google-generated UUID for this resource. This is unique across all scope resources. If a scope resource is deleted and another resource with the same name is created, it gets a different uid.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. When the scope was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ScopeFeatureSpec": { +"description": "ScopeFeatureSpec contains feature specs for a fleet scope.", +"id": "ScopeFeatureSpec", +"properties": { +"clusterupgrade": { +"$ref": "ClusterUpgradeScopeSpec", +"description": "Spec for the ClusterUpgrade feature at the scope level" +} +}, +"type": "object" +}, +"ScopeFeatureState": { +"description": "ScopeFeatureState contains Scope-wide Feature status information.", +"id": "ScopeFeatureState", +"properties": { +"clusterupgrade": { +"$ref": "ClusterUpgradeScopeState", +"description": "State for the ClusterUpgrade feature at the scope level" +}, +"state": { +"$ref": "FeatureState", +"description": "Output only. The \"running state\" of the Feature in this Scope.", +"readOnly": true +} +}, +"type": "object" +}, +"ScopeLifecycleState": { +"description": "ScopeLifecycleState describes the state of a Scope resource.", +"id": "ScopeLifecycleState", +"properties": { +"code": { +"description": "Output only. The current state of the scope resource.", +"enum": [ +"CODE_UNSPECIFIED", +"CREATING", +"READY", +"DELETING", +"UPDATING" +], +"enumDescriptions": [ +"The code is not set.", +"The scope is being created.", +"The scope active.", +"The scope is being deleted.", +"The scope is being updated." +], +"readOnly": true, +"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" +}, +"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" +}, +"ServiceMeshFeatureState": { +"description": "**Service Mesh**: State for the whole Hub, as analyzed by the Service Mesh Hub Controller.", +"id": "ServiceMeshFeatureState", +"properties": { +"analysisMessages": { +"description": "Output only. Results of running Service Mesh analyzers.", +"items": { +"$ref": "ServiceMeshAnalysisMessage" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"ServiceMeshMembershipSpec": { +"description": "**Service Mesh**: Spec for a single Membership for the servicemesh feature", +"id": "ServiceMeshMembershipSpec", +"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" +}, +"ServiceMeshMembershipState": { +"description": "**Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller.", +"id": "ServiceMeshMembershipState", +"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" +}, +"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": "Status specifies state for the subcomponent.", +"id": "Status", +"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" +}, +"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" +}, +"TypeMeta": { +"description": "TypeMeta is the type information needed for content unmarshalling of Kubernetes resources in the manifest.", +"id": "TypeMeta", +"properties": { +"apiVersion": { +"description": "APIVersion of the resource (e.g. v1).", +"type": "string" +}, +"kind": { +"description": "Kind of the resource (e.g. Deployment).", +"type": "string" +} +}, +"type": "object" +}, +"ValidateCreateMembershipRequest": { +"description": "Request message for the `GkeHub.ValidateCreateMembership` method.", +"id": "ValidateCreateMembershipRequest", +"properties": { +"membership": { +"$ref": "Membership", +"description": "Required. Membership resource to be created." +}, +"membershipId": { +"description": "Required. Client chosen membership id.", +"type": "string" +} +}, +"type": "object" +}, +"ValidateCreateMembershipResponse": { +"description": "Response message for the `GkeHub.ValidateCreateMembership` method.", +"id": "ValidateCreateMembershipResponse", +"properties": { +"validationResults": { +"description": "Wraps all the validator results.", +"items": { +"$ref": "ValidationResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"ValidateExclusivityResponse": { +"description": "The response of exclusivity artifacts validation result status.", +"id": "ValidateExclusivityResponse", +"properties": { +"status": { +"$ref": "GoogleRpcStatus", +"description": "The validation result. * `OK` means that exclusivity is validated, assuming the manifest produced by GenerateExclusivityManifest is successfully applied. * `ALREADY_EXISTS` means that the Membership CRD is already owned by another Hub. See `status.message` for more information." +} +}, +"type": "object" +}, +"ValidationResult": { +"description": "ValidationResults are results set by each validator running during ValidateCreateMembership.", +"id": "ValidationResult", +"properties": { +"result": { +"description": "Additional information for the validation.", +"type": "string" +}, +"success": { +"description": "Whether the validation is passed or not.", +"type": "boolean" +}, +"validator": { +"description": "Validator type to validate membership with.", +"enum": [ +"VALIDATOR_TYPE_UNSPECIFIED", +"MEMBERSHIP_ID", +"CROSS_PROJECT_PERMISSION", +"FLEET_ALLOWED_FOR_PROJECT_GUARDRAIL" +], +"enumDescriptions": [ +"UNSPECIFIED validator.", +"MEMBERSHIP_ID validator validates that the membership_id is still available.", +"CROSS_PROJECT_PERMISSION validator validates that the cross-project role binding for the service agent is in place.", +"FLEET_ALLOWED_FOR_PROJECT_GUARDRAIL validator validates that the fleet project is allowed for the project guardrail." +], +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "GKE Hub 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/gkehub.v1alpha2.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/gkehub.v1alpha2.json new file mode 100644 index 0000000000000000000000000000000000000000..5da862b096d5fd92711f2ee8f62af5d1a4006fd2 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/gkehub.v1alpha2.json @@ -0,0 +1,1517 @@ +{ +"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:v1alpha2", +"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": "v1alpha2/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": "v1alpha2/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v1alpha2/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": "v1alpha2/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"global": { +"resources": { +"memberships": { +"methods": { +"initializeHub": { +"description": "Initializes the Hub in this project, which includes creating the default Hub Service Account and the Hub Workload Identity Pool. Initialization is optional, and happens automatically when the first Membership is created. InitializeHub should be called when the first Membership cannot be registered without these resources. A common example is granting the Hub Service Account access to another project, which requires the account to exist first.", +"flatPath": "v1alpha2/projects/{projectsId}/locations/global/memberships:initializeHub", +"httpMethod": "POST", +"id": "gkehub.projects.locations.global.memberships.initializeHub", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Required. The Hub to initialize, in the format `projects/*/locations/*/memberships/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/global/memberships$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha2/{+project}:initializeHub", +"request": { +"$ref": "InitializeHubRequest" +}, +"response": { +"$ref": "InitializeHubResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"memberships": { +"methods": { +"create": { +"description": "Creates a new Membership. **This is currently only supported for GKE clusters on Google Cloud**. To register other clusters, follow the instructions at https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster.", +"flatPath": "v1alpha2/projects/{projectsId}/locations/{locationsId}/memberships", +"httpMethod": "POST", +"id": "gkehub.projects.locations.memberships.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"membershipId": { +"description": "Required. Client chosen ID for the membership. `membership_id` must be a valid RFC 1123 compliant DNS label: 1. At most 63 characters in length 2. It must consist of lower case alphanumeric characters or `-` 3. It must start and end with an alphanumeric character Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent (project and location) where the Memberships will be created. Specified in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha2/{+parent}/memberships", +"request": { +"$ref": "Membership" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Removes a Membership. **This is currently only supported for GKE clusters on Google Cloud**. To unregister other clusters, follow the instructions at https://cloud.google.com/anthos/multicluster-management/connect/unregistering-a-cluster.", +"flatPath": "v1alpha2/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}", +"httpMethod": "DELETE", +"id": "gkehub.projects.locations.memberships.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "Optional. If set to true, any subresource from this Membership will also be deleted. Otherwise, the request will only work if the Membership has no subresource.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The Membership resource name in the format `projects/*/locations/*/memberships/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha2/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"generateConnectManifest": { +"description": "Generates the manifest for deployment of the GKE connect agent. **This method is used internally by Google-provided libraries.** Most clients should not need to call this method directly.", +"flatPath": "v1alpha2/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}:generateConnectManifest", +"httpMethod": "GET", +"id": "gkehub.projects.locations.memberships.generateConnectManifest", +"parameterOrder": [ +"name" +], +"parameters": { +"imagePullSecretContent": { +"description": "Optional. The image pull secret content for the registry, if not public.", +"format": "byte", +"location": "query", +"type": "string" +}, +"isUpgrade": { +"description": "Optional. If true, generate the resources for upgrade only. Some resources generated only for installation (e.g. secrets) will be excluded.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The Membership resource name the Agent will associate with, in the format `projects/*/locations/*/memberships/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +}, +"namespace": { +"description": "Optional. Namespace for GKE Connect agent resources. Defaults to `gke-connect`. The Connect Agent is authorized automatically when run in the default namespace. Otherwise, explicit authorization must be granted with an additional IAM binding.", +"location": "query", +"type": "string" +}, +"proxy": { +"description": "Optional. URI of a proxy if connectivity from the agent to gkeconnect.googleapis.com requires the use of a proxy. Format must be in the form `http(s)://{proxy_address}`, depending on the HTTP/HTTPS protocol supported by the proxy. This will direct the connect agent's outbound traffic through a HTTP(S) proxy.", +"format": "byte", +"location": "query", +"type": "string" +}, +"registry": { +"description": "Optional. The registry to fetch the connect agent image from. Defaults to gcr.io/gkeconnect.", +"location": "query", +"type": "string" +}, +"version": { +"description": "Optional. The Connect agent version to use. Defaults to the most current version.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha2/{+name}:generateConnectManifest", +"response": { +"$ref": "GenerateConnectManifestResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the details of a Membership.", +"flatPath": "v1alpha2/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}", +"httpMethod": "GET", +"id": "gkehub.projects.locations.memberships.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Membership resource name in the format `projects/*/locations/*/memberships/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha2/{+name}", +"response": { +"$ref": "Membership" +}, +"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": "v1alpha2/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}:getIamPolicy", +"httpMethod": "GET", +"id": "gkehub.projects.locations.memberships.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/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha2/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Memberships in a given project and location.", +"flatPath": "v1alpha2/projects/{projectsId}/locations/{locationsId}/memberships", +"httpMethod": "GET", +"id": "gkehub.projects.locations.memberships.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Lists Memberships that match the filter expression, following the syntax outlined in https://google.aip.dev/160. Examples: - Name is `bar` in project `foo-proj` and location `global`: name = \"projects/foo-proj/locations/global/membership/bar\" - Memberships that have a label called `foo`: labels.foo:* - Memberships that have a label called `foo` whose value is `bar`: labels.foo = bar - Memberships in the CREATING state: state = CREATING", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. 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": "Optional. 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": "Optional. Token returned by previous call to `ListMemberships` which specifies the position in the list from where to continue listing the resources.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent (project and location) where the Memberships will be listed. Specified in the format `projects/*/locations/*`. `projects/*/locations/-` list memberships in all the regions.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha2/{+parent}/memberships", +"response": { +"$ref": "ListMembershipsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an existing Membership.", +"flatPath": "v1alpha2/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}", +"httpMethod": "PATCH", +"id": "gkehub.projects.locations.memberships.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Membership resource name in the format `projects/*/locations/*/memberships/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Mask of fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha2/{+name}", +"request": { +"$ref": "Membership" +}, +"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": "v1alpha2/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}:setIamPolicy", +"httpMethod": "POST", +"id": "gkehub.projects.locations.memberships.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/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha2/{+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": "v1alpha2/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}:testIamPermissions", +"httpMethod": "POST", +"id": "gkehub.projects.locations.memberships.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/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha2/{+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": "v1alpha2/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": "v1alpha2/{+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": "v1alpha2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "gkehub.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": "v1alpha2/{+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": "v1alpha2/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": "v1alpha2/{+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": "v1alpha2/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": "v1alpha2/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20240229", +"rootUrl": "https://gkehub.googleapis.com/", +"schemas": { +"ApplianceCluster": { +"description": "ApplianceCluster contains information specific to GDC Edge Appliance Clusters.", +"id": "ApplianceCluster", +"properties": { +"resourceLink": { +"description": "Immutable. Self-link of the Google Cloud resource for the Appliance Cluster. For example: //transferappliance.googleapis.com/projects/my-project/locations/us-west1-a/appliances/my-appliance", +"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" +}, +"Authority": { +"description": "Authority encodes how Google will recognize identities from this Membership. See the workload identity documentation for more details: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity", +"id": "Authority", +"properties": { +"identityProvider": { +"description": "Output only. An identity provider that reflects the `issuer` in the workload identity pool.", +"readOnly": true, +"type": "string" +}, +"issuer": { +"description": "Optional. A JSON Web Token (JWT) issuer URI. `issuer` must start with `https://` and be a valid URL with length <2000 characters. If set, then Google will allow valid OIDC tokens from this issuer to authenticate within the workload_identity_pool. OIDC discovery will be performed on this URI to validate tokens from the issuer, unless `oidc_jwks` is set. Clearing `issuer` disables Workload Identity. `issuer` cannot be directly modified; it must be cleared (and Workload Identity disabled) before using a new issuer (and re-enabling Workload Identity).", +"type": "string" +}, +"oidcJwks": { +"description": "Optional. OIDC verification keys for this Membership in JWKS format (RFC 7517). When this field is set, OIDC discovery will NOT be performed on `issuer`, and instead OIDC tokens will be validated using this field.", +"format": "byte", +"type": "string" +}, +"workloadIdentityPool": { +"description": "Output only. The name of the workload identity pool in which `issuer` will be recognized. There is a single Workload Identity Pool per Hub that is shared between all Memberships that belong to that Hub. For a Hub hosted in {PROJECT_ID}, the workload pool format is `{PROJECT_ID}.hub.id.goog`, although this is subject to change in newer versions of this API.", +"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" +}, +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"ConnectAgentResource": { +"description": "ConnectAgentResource represents a Kubernetes resource manifest for Connect Agent deployment.", +"id": "ConnectAgentResource", +"properties": { +"manifest": { +"description": "YAML manifest of the resource.", +"type": "string" +}, +"type": { +"$ref": "TypeMeta", +"description": "Kubernetes type of the resource." +} +}, +"type": "object" +}, +"EdgeCluster": { +"description": "EdgeCluster contains information specific to Google Edge Clusters.", +"id": "EdgeCluster", +"properties": { +"resourceLink": { +"description": "Immutable. Self-link of the Google Cloud resource for the Edge Cluster. For example: //edgecontainer.googleapis.com/projects/my-project/locations/us-west1-a/clusters/my-cluster", +"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" +}, +"GenerateConnectManifestResponse": { +"description": "GenerateConnectManifestResponse contains manifest information for installing/upgrading a Connect agent.", +"id": "GenerateConnectManifestResponse", +"properties": { +"manifest": { +"description": "The ordered list of Kubernetes resources that need to be applied to the cluster for GKE Connect agent installation/upgrade.", +"items": { +"$ref": "ConnectAgentResource" +}, +"type": "array" +} +}, +"type": "object" +}, +"GkeCluster": { +"description": "GkeCluster contains information specific to GKE clusters.", +"id": "GkeCluster", +"properties": { +"clusterMissing": { +"description": "Output only. If cluster_missing is set then it denotes that the GKE cluster no longer exists in the GKE Control Plane.", +"readOnly": true, +"type": "boolean" +}, +"resourceLink": { +"description": "Immutable. Self-link of the Google Cloud resource for the GKE cluster. For example: //container.googleapis.com/projects/my-project/locations/us-west1-a/clusters/my-cluster Zonal clusters are also supported.", +"type": "string" +} +}, +"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" +}, +"InitializeHubRequest": { +"description": "Request message for the InitializeHub method.", +"id": "InitializeHubRequest", +"properties": {}, +"type": "object" +}, +"InitializeHubResponse": { +"description": "Response message for the InitializeHub method.", +"id": "InitializeHubResponse", +"properties": { +"serviceIdentity": { +"description": "Name of the Hub default service identity, in the format: service-@gcp-sa-gkehub.iam.gserviceaccount.com The service account has `roles/gkehub.serviceAgent` in the Hub project.", +"type": "string" +}, +"workloadIdentityPool": { +"description": "The Workload Identity Pool used for Workload Identity-enabled clusters registered with this Hub. Format: `.hub.id.goog`", +"type": "string" +} +}, +"type": "object" +}, +"KubernetesMetadata": { +"description": "KubernetesMetadata provides informational metadata for Memberships that are created from Kubernetes Endpoints (currently, these are equivalent to Kubernetes clusters).", +"id": "KubernetesMetadata", +"properties": { +"kubernetesApiServerVersion": { +"description": "Output only. Kubernetes API server version string as reported by '/version'.", +"readOnly": true, +"type": "string" +}, +"memoryMb": { +"description": "Output only. The total memory capacity as reported by the sum of all Kubernetes nodes resources, defined in MB.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"nodeCount": { +"description": "Output only. Node count as reported by Kubernetes nodes resources.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"nodeProviderId": { +"description": "Output only. Node providerID as reported by the first node in the list of nodes on the Kubernetes endpoint. On Kubernetes platforms that support zero-node clusters (like GKE-on-GCP), the node_count will be zero and the node_provider_id will be empty.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The time at which these details were last updated. This update_time is different from the Membership-level update_time since EndpointDetails are updated internally for API consumers.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"vcpuCount": { +"description": "Output only. vCPU count as reported by Kubernetes nodes resources.", +"format": "int32", +"readOnly": true, +"type": "integer" +} +}, +"type": "object" +}, +"KubernetesResource": { +"description": "KubernetesResource contains the YAML manifests and configuration for Membership Kubernetes resources in the cluster. After CreateMembership or UpdateMembership, these resources should be re-applied in the cluster.", +"id": "KubernetesResource", +"properties": { +"connectResources": { +"description": "Output only. The Kubernetes resources for installing the GKE Connect agent. This field is only populated in the Membership returned from a successful long-running operation from CreateMembership or UpdateMembership. It is not populated during normal GetMembership or ListMemberships requests. To get the resource manifest after the initial registration, the caller should make a UpdateMembership call with an empty field mask.", +"items": { +"$ref": "ResourceManifest" +}, +"readOnly": true, +"type": "array" +}, +"membershipCrManifest": { +"description": "Input only. The YAML representation of the Membership CR. This field is ignored for GKE clusters where Hub can read the CR directly. Callers should provide the CR that is currently present in the cluster during Create or Update, or leave this field empty if none exists. The CR manifest is used to validate the cluster has not been registered with another Membership.", +"type": "string" +}, +"membershipResources": { +"description": "Output only. Additional Kubernetes resources that need to be applied to the cluster after Membership creation, and after every update. This field is only populated in the Membership returned from a successful long-running operation from CreateMembership or UpdateMembership. It is not populated during normal GetMembership or ListMemberships requests. To get the resource manifest after the initial registration, the caller should make a UpdateMembership call with an empty field mask.", +"items": { +"$ref": "ResourceManifest" +}, +"readOnly": true, +"type": "array" +}, +"resourceOptions": { +"$ref": "ResourceOptions", +"description": "Optional. Options for Kubernetes resource generation." +} +}, +"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" +}, +"ListMembershipsResponse": { +"description": "Response message for the `GkeHub.ListMemberships` method.", +"id": "ListMembershipsResponse", +"properties": { +"nextPageToken": { +"description": "A token to request the next page of resources from the `ListMemberships` method. The value of an empty string means that there are no more resources to return.", +"type": "string" +}, +"resources": { +"description": "The list of matching Memberships.", +"items": { +"$ref": "Membership" +}, +"type": "array" +}, +"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" +}, +"Membership": { +"description": "Membership contains information about a member cluster.", +"id": "Membership", +"properties": { +"authority": { +"$ref": "Authority", +"description": "Optional. How to identify workloads from this Membership. See the documentation on Workload Identity for more details: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity" +}, +"createTime": { +"description": "Output only. When the Membership was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deleteTime": { +"description": "Output only. When the Membership was deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Output only. Description of this membership, limited to 63 characters. Must match the regex: `a-zA-Z0-9*` This field is present for legacy purposes.", +"readOnly": true, +"type": "string" +}, +"endpoint": { +"$ref": "MembershipEndpoint", +"description": "Optional. Endpoint information to reach this member." +}, +"externalId": { +"description": "Optional. An externally-generated and managed ID for this Membership. This ID may be modified after creation, but this is not recommended. For GKE clusters, external_id is managed by the Hub API and updates will be ignored. The ID must match the regex: `a-zA-Z0-9*` If this Membership represents a Kubernetes cluster, this value should be set to the UID of the `kube-system` namespace object.", +"type": "string" +}, +"infrastructureType": { +"description": "Optional. The infrastructure type this Membership is running on.", +"enum": [ +"INFRASTRUCTURE_TYPE_UNSPECIFIED", +"ON_PREM", +"MULTI_CLOUD" +], +"enumDescriptions": [ +"No type was specified. Some Hub functionality may require a type be specified, and will not support Memberships with this value.", +"Private infrastructure that is owned or operated by customer. This includes GKE distributions such as GKE-OnPrem and GKE-OnBareMetal.", +"Public cloud infrastructure." +], +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels for this membership.", +"type": "object" +}, +"lastConnectionTime": { +"description": "Output only. For clusters using Connect, the timestamp of the most recent connection established with Google Cloud. This time is updated every several minutes, not continuously. For clusters that do not use GKE Connect, or that have never connected successfully, this field will be unset.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"monitoringConfig": { +"$ref": "MonitoringConfig", +"description": "Optional. The monitoring config information for this membership." +}, +"name": { +"description": "Output only. The full, unique name of this Membership resource in the format `projects/*/locations/*/memberships/{membership_id}`, set during creation. `membership_id` must be a valid RFC 1123 compliant DNS label: 1. At most 63 characters in length 2. It must consist of lower case alphanumeric characters or `-` 3. It must start and end with an alphanumeric character Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters.", +"readOnly": true, +"type": "string" +}, +"state": { +"$ref": "MembershipState", +"description": "Output only. State of the Membership resource.", +"readOnly": true +}, +"uniqueId": { +"description": "Output only. Google-generated UUID for this resource. This is unique across all Membership resources. If a Membership resource is deleted and another resource with the same name is created, it gets a different unique_id.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. When the Membership was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"MembershipEndpoint": { +"description": "MembershipEndpoint contains information needed to contact a Kubernetes API, endpoint and any additional Kubernetes metadata.", +"id": "MembershipEndpoint", +"properties": { +"applianceCluster": { +"$ref": "ApplianceCluster", +"description": "Optional. Specific information for a GDC Edge Appliance cluster." +}, +"edgeCluster": { +"$ref": "EdgeCluster", +"description": "Optional. Specific information for a Google Edge cluster." +}, +"gkeCluster": { +"$ref": "GkeCluster", +"description": "Optional. Specific information for a GKE-on-GCP cluster." +}, +"kubernetesMetadata": { +"$ref": "KubernetesMetadata", +"description": "Output only. Useful Kubernetes-specific metadata.", +"readOnly": true +}, +"kubernetesResource": { +"$ref": "KubernetesResource", +"description": "Optional. The in-cluster Kubernetes Resources that should be applied for a correctly registered cluster, in the steady state. These resources: * Ensure that the cluster is exclusively registered to one and only one Hub Membership. * Propagate Workload Pool Information available in the Membership Authority field. * Ensure proper initial configuration of default Hub Features." +}, +"multiCloudCluster": { +"$ref": "MultiCloudCluster", +"description": "Optional. Specific information for a GKE Multi-Cloud cluster." +}, +"onPremCluster": { +"$ref": "OnPremCluster", +"description": "Optional. Specific information for a GKE On-Prem cluster. An onprem user-cluster who has no resourceLink is not allowed to use this field, it should have a nil \"type\" instead." +} +}, +"type": "object" +}, +"MembershipState": { +"description": "MembershipState describes the state of a Membership resource.", +"id": "MembershipState", +"properties": { +"code": { +"description": "Output only. The current state of the Membership resource.", +"enum": [ +"CODE_UNSPECIFIED", +"CREATING", +"READY", +"DELETING", +"UPDATING", +"SERVICE_UPDATING" +], +"enumDescriptions": [ +"The code is not set.", +"The cluster is being registered.", +"The cluster is registered.", +"The cluster is being unregistered.", +"The Membership is being updated.", +"The Membership is being updated by the Hub Service." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"MonitoringConfig": { +"description": "MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to prevent accidentally breaking the constinousty of metrics.", +"id": "MonitoringConfig", +"properties": { +"cluster": { +"description": "Optional. Cluster name used to report metrics. For Anthos on VMWare/Baremetal/MultiCloud clusters, it would be in format {cluster_type}/{cluster_name}, e.g., \"awsClusters/cluster_1\".", +"type": "string" +}, +"clusterHash": { +"description": "Optional. For GKE and Multicloud clusters, this is the UUID of the cluster resource. For VMWare and Baremetal clusters, this is the kube-system UID.", +"type": "string" +}, +"kubernetesMetricsPrefix": { +"description": "Optional. Kubernetes system metrics, if available, are written to this prefix. This defaults to kubernetes.io for GKE, and kubernetes.io/anthos for Anthos eventually. Noted: Anthos MultiCloud will have kubernetes.io prefix today but will migration to be under kubernetes.io/anthos.", +"type": "string" +}, +"location": { +"description": "Optional. Location used to report Metrics", +"type": "string" +}, +"projectId": { +"description": "Optional. Project used to report Metrics", +"type": "string" +} +}, +"type": "object" +}, +"MultiCloudCluster": { +"description": "MultiCloudCluster contains information specific to GKE Multi-Cloud clusters.", +"id": "MultiCloudCluster", +"properties": { +"clusterMissing": { +"description": "Output only. If cluster_missing is set then it denotes that API(gkemulticloud.googleapis.com) resource for this GKE Multi-Cloud cluster no longer exists.", +"readOnly": true, +"type": "boolean" +}, +"resourceLink": { +"description": "Immutable. Self-link of the Google Cloud resource for the GKE Multi-Cloud cluster. For example: //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/awsClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/azureClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/attachedClusters/my-cluster", +"type": "string" +} +}, +"type": "object" +}, +"OnPremCluster": { +"description": "OnPremCluster contains information specific to GKE On-Prem clusters.", +"id": "OnPremCluster", +"properties": { +"adminCluster": { +"description": "Immutable. Whether the cluster is an admin cluster.", +"type": "boolean" +}, +"clusterMissing": { +"description": "Output only. If cluster_missing is set then it denotes that API(gkeonprem.googleapis.com) resource for this GKE On-Prem cluster no longer exists.", +"readOnly": true, +"type": "boolean" +}, +"clusterType": { +"description": "Immutable. The on prem cluster's type.", +"enum": [ +"CLUSTERTYPE_UNSPECIFIED", +"BOOTSTRAP", +"HYBRID", +"STANDALONE", +"USER" +], +"enumDescriptions": [ +"The ClusterType is not set.", +"The ClusterType is bootstrap cluster.", +"The ClusterType is baremetal hybrid cluster.", +"The ClusterType is baremetal standalone cluster.", +"The ClusterType is user cluster." +], +"type": "string" +}, +"resourceLink": { +"description": "Immutable. Self-link of the Google Cloud resource for the GKE On-Prem cluster. For example: //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/vmwareClusters/my-cluster //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/bareMetalClusters/my-cluster", +"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": "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": "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 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" +}, +"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" +}, +"ResourceManifest": { +"description": "ResourceManifest represents a single Kubernetes resource to be applied to the cluster.", +"id": "ResourceManifest", +"properties": { +"clusterScoped": { +"description": "Whether the resource provided in the manifest is `cluster_scoped`. If unset, the manifest is assumed to be namespace scoped. This field is used for REST mapping when applying the resource in a cluster.", +"type": "boolean" +}, +"manifest": { +"description": "YAML manifest of the resource.", +"type": "string" +} +}, +"type": "object" +}, +"ResourceOptions": { +"description": "ResourceOptions represent options for Kubernetes resource generation.", +"id": "ResourceOptions", +"properties": { +"connectVersion": { +"description": "Optional. The Connect agent version to use for connect_resources. Defaults to the latest GKE Connect version. The version must be a currently supported version, obsolete versions will be rejected.", +"type": "string" +}, +"k8sVersion": { +"description": "Optional. Major version of the Kubernetes cluster. This is only used to determine which version to use for the CustomResourceDefinition resources, `apiextensions/v1beta1` or`apiextensions/v1`.", +"type": "string" +}, +"v1beta1Crd": { +"description": "Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for CustomResourceDefinition resources. This option should be set for clusters with Kubernetes apiserver versions <1.16.", +"type": "boolean" +} +}, +"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" +}, +"TypeMeta": { +"description": "TypeMeta is the type information needed for content unmarshalling of Kubernetes resources in the manifest.", +"id": "TypeMeta", +"properties": { +"apiVersion": { +"description": "APIVersion of the resource (e.g. v1).", +"type": "string" +}, +"kind": { +"description": "Kind of the resource (e.g. Deployment).", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "GKE Hub 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/healthcare.v1beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/healthcare.v1beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..cf2066eda9b3274f0dcd21d654eb94331a5b074c --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/healthcare.v1beta1.json @@ -0,0 +1,10613 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/cloud-healthcare": { +"description": "Read, write and manage healthcare data" +}, +"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://healthcare.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Cloud Healthcare", +"description": "Manage, store, and access healthcare data in Google Cloud Platform.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/healthcare", +"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": "healthcare:v1beta1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://healthcare.mtls.googleapis.com/", +"name": "healthcare", +"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": "v1beta1/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "healthcare.projects.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v1beta1/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "healthcare.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": "v1beta1/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"datasets": { +"methods": { +"create": { +"description": "Creates a new health dataset. Results are returned through the Operation interface which returns either an `Operation.response` which contains a Dataset or `Operation.error`. The metadata field type is OperationMetadata.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"datasetId": { +"description": "Required. The ID of the dataset that is being created. The string must match the following regex: `[\\p{L}\\p{N}_\\-\\.]{1,256}`.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the project where the server creates the dataset. For example, `projects/{project_id}/locations/{location_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/datasets", +"request": { +"$ref": "Dataset" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"deidentify": { +"description": "Creates a new dataset containing de-identified data from the source dataset. The metadata field type is OperationMetadata. If the request is successful, the response field type is DeidentifySummary. The LRO result may still be successful if de-identification fails for some resources. The new de-identified dataset will not contain these failed resources. The number of resources processed are tracked in Operation.metadata. Error details are logged to Cloud Logging. For more information, see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:deidentify", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.deidentify", +"parameterOrder": [ +"sourceDataset" +], +"parameters": { +"sourceDataset": { +"description": "Required. Source dataset resource name. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+sourceDataset}:deidentify", +"request": { +"$ref": "DeidentifyDatasetRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes the specified health dataset and all data contained in the dataset. Deleting a dataset does not affect the sources from which the dataset was imported (if any).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}", +"httpMethod": "DELETE", +"id": "healthcare.projects.locations.datasets.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the dataset to delete. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets any metadata associated with a dataset.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the dataset to read. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Dataset" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:getIamPolicy", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists the health datasets in the current project.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of items to return. If not specified, 100 is used. May not be larger than 1000.", +"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 name of the project whose datasets should be listed. For example, `projects/{project_id}/locations/{location_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/datasets", +"response": { +"$ref": "ListDatasetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates dataset metadata.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}", +"httpMethod": "PATCH", +"id": "healthcare.projects.locations.datasets.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Resource name of the dataset, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.", +"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 https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "Dataset" +}, +"response": { +"$ref": "Dataset" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:setIamPolicy", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:testIamPermissions", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.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/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"annotationStores": { +"methods": { +"create": { +"description": "Creates a new Annotation store within the parent dataset.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.annotationStores.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"annotationStoreId": { +"description": "Required. The ID of the Annotation store that is being created. The string must match the following regex: `[\\p{L}\\p{N}_\\-\\.]{1,256}`.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the dataset this Annotation store belongs to.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/annotationStores", +"request": { +"$ref": "AnnotationStore" +}, +"response": { +"$ref": "AnnotationStore" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes the specified Annotation store and removes all annotations that are contained within it.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}", +"httpMethod": "DELETE", +"id": "healthcare.projects.locations.datasets.annotationStores.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Annotation store to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"evaluate": { +"description": "Evaluate an Annotation store against a ground truth Annotation store. When the operation finishes successfully, a detailed response is returned of type EvaluateAnnotationStoreResponse, contained in the response. The metadata field type is OperationMetadata. Errors are logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:evaluate", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.annotationStores.evaluate", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Annotation store to compare against `golden_store`, in the format of `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:evaluate", +"request": { +"$ref": "EvaluateAnnotationStoreRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"export": { +"description": "Export Annotations from the Annotation store. If the request is successful, a detailed response is returned of type ExportAnnotationsResponse, contained in the response field when the operation finishes. The metadata field type is OperationMetadata. Errors are logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:export", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.annotationStores.export", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Annotation store to export annotations to, in the format of `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:export", +"request": { +"$ref": "ExportAnnotationsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the specified Annotation store or returns NOT_FOUND if it does not exist.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.annotationStores.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Annotation store to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "AnnotationStore" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:getIamPolicy", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.annotationStores.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Import Annotations to the Annotation store by loading data from the specified sources. If the request is successful, a detailed response is returned as of type ImportAnnotationsResponse, contained in the response field when the operation finishes. The metadata field type is OperationMetadata. Errors are logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:import", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.annotationStores.import", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Annotation store to which the server imports annotations, in the format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:import", +"request": { +"$ref": "ImportAnnotationsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists the Annotation stores in the given dataset for a source store.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.annotationStores.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Restricts stores returned to those matching a filter. The following syntax is available: * A string field value can be written as text inside quotation marks, for example `\"query text\"`. The only valid relational operation for text fields is equality (`=`), where text is searched within the field, rather than having the field be equal to the text. For example, `\"Comment = great\"` returns messages with `great` in the comment field. * A number field value can be written as an integer, a decimal, or an exponential. The valid relational operators for number fields are the equality operator (`=`), along with the less than/greater than operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * A date field value must be written in `yyyy-mm-dd` form. Fields with date and time use the RFC3339 time format. Leading zeros are required for one-digit months and days. The valid relational operators for date fields are the equality operator (`=`) , along with the less than/greater than operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * Multiple field query expressions can be combined in one query by adding `AND` or `OR` operators between the expressions. If a boolean operator appears within a quoted string, it is not treated as special, it's just another part of the character string to be matched. You can prepend the `NOT` operator to an expression to negate it. Only filtering on labels is supported, for example `labels.key=value`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Limit on the number of Annotation stores to return in a single response. If not specified, 100 is used. May not be larger than 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from the previous List request, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Name of the dataset.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/annotationStores", +"response": { +"$ref": "ListAnnotationStoresResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the specified Annotation store.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}", +"httpMethod": "PATCH", +"id": "healthcare.projects.locations.datasets.annotationStores.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Resource name of the Annotation store, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "AnnotationStore" +}, +"response": { +"$ref": "AnnotationStore" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:setIamPolicy", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.annotationStores.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:testIamPermissions", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.annotationStores.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/[^/]+/datasets/[^/]+/annotationStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"annotations": { +"methods": { +"create": { +"description": "Creates a new Annotation record. It is valid to create Annotation objects for the same source more than once since a unique ID is assigned to each record by this service.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}/annotations", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.annotationStores.annotations.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the Annotation store this annotation belongs to. For example, `projects/my-project/locations/us-central1/datasets/mydataset/annotationStores/myannotationstore`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/annotations", +"request": { +"$ref": "Annotation" +}, +"response": { +"$ref": "Annotation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an Annotation or returns NOT_FOUND if it does not exist.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}/annotations/{annotationsId}", +"httpMethod": "DELETE", +"id": "healthcare.projects.locations.datasets.annotationStores.annotations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Annotation to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+/annotations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets an Annotation.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}/annotations/{annotationsId}", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.annotationStores.annotations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Annotation to retrieve.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+/annotations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Annotation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists the Annotations in the given Annotation store for a source resource.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}/annotations", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.annotationStores.annotations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Restricts Annotations returned to those matching a filter. Functions available for filtering are: - `matches(\"annotation_source.cloud_healthcare_source.name\", substring)`. Filter on `cloud_healthcare_source.name`. For example: `matches(\"annotation_source.cloud_healthcare_source.name\", \"some source\")`. - `matches(\"annotation\", substring)`. Filter on all fields of annotation. For example: `matches(\"annotation\", \"some-content\")`. - `type(\"text\")`, `type(\"image\")`, `type(\"resource\")`. Filter on the type of annotation `data`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Limit on the number of Annotations to return in a single response. If not specified, 100 is used. May not be larger than 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from the previous List request, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Name of the Annotation store to retrieve Annotations from.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Controls which fields are populated in the response.", +"enum": [ +"ANNOTATION_VIEW_UNSPECIFIED", +"ANNOTATION_VIEW_BASIC", +"ANNOTATION_VIEW_FULL" +], +"enumDescriptions": [ +"Same as BASIC.", +"Only `name`, `annotation_source` and `custom_data` fields are populated.", +"All fields are populated." +], +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/annotations", +"response": { +"$ref": "ListAnnotationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the Annotation.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}/annotations/{annotationsId}", +"httpMethod": "PATCH", +"id": "healthcare.projects.locations.datasets.annotationStores.annotations.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Resource name of the Annotation, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}/annotations/{annotation_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+/annotations/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "Annotation" +}, +"response": { +"$ref": "Annotation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"consentStores": { +"methods": { +"checkDataAccess": { +"description": "Checks if a particular data_id of a User data mapping in the specified consent store is consented for the specified use.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:checkDataAccess", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.consentStores.checkDataAccess", +"parameterOrder": [ +"consentStore" +], +"parameters": { +"consentStore": { +"description": "Required. Name of the consent store where the requested data_id is stored, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+consentStore}:checkDataAccess", +"request": { +"$ref": "CheckDataAccessRequest" +}, +"response": { +"$ref": "CheckDataAccessResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a new consent store in the parent dataset. Attempting to create a consent store with the same ID as an existing store fails with an ALREADY_EXISTS error.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.consentStores.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"consentStoreId": { +"description": "Required. The ID of the consent store to create. The string must match the following regex: `[\\p{L}\\p{N}_\\-\\.]{1,256}`. Cannot be changed after creation.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the dataset this consent store belongs to.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/consentStores", +"request": { +"$ref": "ConsentStore" +}, +"response": { +"$ref": "ConsentStore" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes the specified consent store and removes all the consent store's data.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}", +"httpMethod": "DELETE", +"id": "healthcare.projects.locations.datasets.consentStores.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the consent store to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"evaluateUserConsents": { +"description": "Evaluates the user's Consents for all matching User data mappings. Note: User data mappings are indexed asynchronously, which can cause a slight delay between the time mappings are created or updated and when they are included in EvaluateUserConsents results.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:evaluateUserConsents", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.consentStores.evaluateUserConsents", +"parameterOrder": [ +"consentStore" +], +"parameters": { +"consentStore": { +"description": "Required. Name of the consent store to retrieve User data mappings from.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+consentStore}:evaluateUserConsents", +"request": { +"$ref": "EvaluateUserConsentsRequest" +}, +"response": { +"$ref": "EvaluateUserConsentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the specified consent store.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.consentStores.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the consent store to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "ConsentStore" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:getIamPolicy", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.consentStores.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists the consent stores in the specified dataset.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.consentStores.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Restricts the stores returned to those matching a filter. The following syntax is available: * A string field value can be written as text inside quotation marks, for example `\"query text\"`. The only valid relational operation for text fields is equality (`=`), where text is searched within the field, rather than having the field be equal to the text. For example, `\"Comment = great\"` returns messages with `great` in the comment field. * A number field value can be written as an integer, a decimal, or an exponential. The valid relational operators for number fields are the equality operator (`=`), along with the less than/greater than operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * A date field value must be written in `yyyy-mm-dd` form. Fields with date and time use the RFC3339 time format. Leading zeros are required for one-digit months and days. The valid relational operators for date fields are the equality operator (`=`) , along with the less than/greater than operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * Multiple field query expressions can be combined in one query by adding `AND` or `OR` operators between the expressions. If a boolean operator appears within a quoted string, it is not treated as special, it's just another part of the character string to be matched. You can prepend the `NOT` operator to an expression to negate it. Only filtering on labels is supported. For example, `filter=labels.key=value`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Limit on the number of consent stores to return in a single response. If not specified, 100 is used. May not be larger than 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Token to retrieve the next page of results, or empty to get the first page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Name of the dataset.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/consentStores", +"response": { +"$ref": "ListConsentStoresResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the specified consent store.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}", +"httpMethod": "PATCH", +"id": "healthcare.projects.locations.datasets.consentStores.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name of the consent store, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}`. Cannot be changed after creation.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The update mask that applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask. Only the `labels`, `default_consent_ttl`, and `enable_consent_create_on_update` fields are allowed to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "ConsentStore" +}, +"response": { +"$ref": "ConsentStore" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"queryAccessibleData": { +"description": "Queries all data_ids that are consented for a specified use in the given consent store and writes them to a specified destination. The returned Operation includes a progress counter for the number of User data mappings processed. If the request is successful, a detailed response is returned of type QueryAccessibleDataResponse, contained in the response field when the operation finishes. The metadata field type is OperationMetadata. Errors are logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). For example, the following sample log entry shows a `failed to evaluate consent policy` error that occurred during a QueryAccessibleData call to consent store `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}`. ```json jsonPayload: { @type: \"type.googleapis.com/google.cloud.healthcare.logging.QueryAccessibleDataLogEntry\" error: { code: 9 message: \"failed to evaluate consent policy\" } resourceName: \"projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consents/{consent_id}\" } logName: \"projects/{project_id}/logs/healthcare.googleapis.com%2Fquery_accessible_data\" operation: { id: \"projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/operations/{operation_id}\" producer: \"healthcare.googleapis.com/QueryAccessibleData\" } receiveTimestamp: \"TIMESTAMP\" resource: { labels: { consent_store_id: \"{consent_store_id}\" dataset_id: \"{dataset_id}\" location: \"{location_id}\" project_id: \"{project_id}\" } type: \"healthcare_consent_store\" } severity: \"ERROR\" timestamp: \"TIMESTAMP\" ```", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:queryAccessibleData", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.consentStores.queryAccessibleData", +"parameterOrder": [ +"consentStore" +], +"parameters": { +"consentStore": { +"description": "Required. Name of the consent store to retrieve User data mappings from.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+consentStore}:queryAccessibleData", +"request": { +"$ref": "QueryAccessibleDataRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:setIamPolicy", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.consentStores.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:testIamPermissions", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.consentStores.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/[^/]+/datasets/[^/]+/consentStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"attributeDefinitions": { +"methods": { +"create": { +"description": "Creates a new Attribute definition in the parent consent store.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/attributeDefinitions", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"attributeDefinitionId": { +"description": "Required. The ID of the Attribute definition to create. The string must match the following regex: `_a-zA-Z{0,255}` and must not be a reserved keyword within the Common Expression Language as listed on https://github.com/google/cel-spec/blob/master/doc/langdef.md.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the consent store that this Attribute definition belongs to.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/attributeDefinitions", +"request": { +"$ref": "AttributeDefinition" +}, +"response": { +"$ref": "AttributeDefinition" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes the specified Attribute definition. Fails if the Attribute definition is referenced by any User data mapping, or the latest revision of any Consent.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/attributeDefinitions/{attributeDefinitionsId}", +"httpMethod": "DELETE", +"id": "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Attribute definition to delete. To preserve referential integrity, Attribute definitions referenced by a User data mapping or the latest revision of a Consent cannot be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/attributeDefinitions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the specified Attribute definition.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/attributeDefinitions/{attributeDefinitionsId}", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Attribute definition to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/attributeDefinitions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "AttributeDefinition" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists the Attribute definitions in the specified consent store.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/attributeDefinitions", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Restricts the attributes returned to those matching a filter. The following syntax is available: * A string field value can be written as text inside quotation marks, for example `\"query text\"`. The only valid relational operation for text fields is equality (`=`), where text is searched within the field, rather than having the field be equal to the text. For example, `\"Comment = great\"` returns messages with `great` in the comment field. * A number field value can be written as an integer, a decimal, or an exponential. The valid relational operators for number fields are the equality operator (`=`), along with the less than/greater than operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * A date field value must be written in `yyyy-mm-dd` form. Fields with date and time use the RFC3339 time format. Leading zeros are required for one-digit months and days. The valid relational operators for date fields are the equality operator (`=`) , along with the less than/greater than operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * Multiple field query expressions can be combined in one query by adding `AND` or `OR` operators between the expressions. If a boolean operator appears within a quoted string, it is not treated as special, it's just another part of the character string to be matched. You can prepend the `NOT` operator to an expression to negate it. The only field available for filtering is `category`. For example, `filter=category=\\\"REQUEST\\\"`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Limit on the number of Attribute definitions to return in a single response. If not specified, 100 is used. May not be larger than 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Token to retrieve the next page of results or empty to get the first page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Name of the consent store to retrieve Attribute definitions from.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/attributeDefinitions", +"response": { +"$ref": "ListAttributeDefinitionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the specified Attribute definition.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/attributeDefinitions/{attributeDefinitionsId}", +"httpMethod": "PATCH", +"id": "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Resource name of the Attribute definition, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/attributeDefinitions/{attribute_definition_id}`. Cannot be changed after creation.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/attributeDefinitions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The update mask that applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask. Only the `description`, `allowed_values`, `consent_default_values` and `data_mapping_default_value` fields can be updated. The updated `allowed_values` must contain all values from the previous `allowed_values`.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "AttributeDefinition" +}, +"response": { +"$ref": "AttributeDefinition" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"consentArtifacts": { +"methods": { +"create": { +"description": "Creates a new Consent artifact in the parent consent store.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consentArtifacts", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.consentStores.consentArtifacts.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the consent store this Consent artifact belongs to.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/consentArtifacts", +"request": { +"$ref": "ConsentArtifact" +}, +"response": { +"$ref": "ConsentArtifact" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes the specified Consent artifact. Fails if the artifact is referenced by the latest revision of any Consent.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consentArtifacts/{consentArtifactsId}", +"httpMethod": "DELETE", +"id": "healthcare.projects.locations.datasets.consentStores.consentArtifacts.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Consent artifact to delete. To preserve referential integrity, Consent artifacts referenced by the latest revision of a Consent cannot be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consentArtifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the specified Consent artifact.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consentArtifacts/{consentArtifactsId}", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.consentStores.consentArtifacts.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Consent artifact to retrieve.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consentArtifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "ConsentArtifact" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists the Consent artifacts in the specified consent store.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consentArtifacts", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.consentStores.consentArtifacts.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Restricts the artifacts returned to those matching a filter. The following syntax is available: * A string field value can be written as text inside quotation marks, for example `\"query text\"`. The only valid relational operation for text fields is equality (`=`), where text is searched within the field, rather than having the field be equal to the text. For example, `\"Comment = great\"` returns messages with `great` in the comment field. * A number field value can be written as an integer, a decimal, or an exponential. The valid relational operators for number fields are the equality operator (`=`), along with the less than/greater than operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * A date field value must be written in `yyyy-mm-dd` form. Fields with date and time use the RFC3339 time format. Leading zeros are required for one-digit months and days. The valid relational operators for date fields are the equality operator (`=`) , along with the less than/greater than operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * Multiple field query expressions can be combined in one query by adding `AND` or `OR` operators between the expressions. If a boolean operator appears within a quoted string, it is not treated as special, it's just another part of the character string to be matched. You can prepend the `NOT` operator to an expression to negate it. The fields available for filtering are: - user_id. For example, `filter=user_id=\\\"user123\\\"`. - consent_content_version - metadata. For example, `filter=Metadata(\\\"testkey\\\")=\\\"value\\\"` or `filter=HasMetadata(\\\"testkey\\\")`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Limit on the number of consent artifacts to return in a single response. If not specified, 100 is used. May not be larger than 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The next_page_token value returned from the previous List request, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Name of the consent store to retrieve consent artifacts from.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/consentArtifacts", +"response": { +"$ref": "ListConsentArtifactsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"consents": { +"methods": { +"activate": { +"description": "Activates the latest revision of the specified Consent by committing a new revision with `state` updated to `ACTIVE`. If the latest revision of the specified Consent is in the `ACTIVE` state, no new revision is committed. A FAILED_PRECONDITION error occurs if the latest revision of the specified consent is in the `REJECTED` or `REVOKED` state.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}:activate", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.consentStores.consents.activate", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Consent to activate, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consents/{consent_id}`. An INVALID_ARGUMENT error occurs if `revision_id` is specified in the name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:activate", +"request": { +"$ref": "ActivateConsentRequest" +}, +"response": { +"$ref": "Consent" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a new Consent in the parent consent store.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.consentStores.consents.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Name of the consent store.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/consents", +"request": { +"$ref": "Consent" +}, +"response": { +"$ref": "Consent" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes the Consent and its revisions. To keep a record of the Consent but mark it inactive, see [RevokeConsent]. To delete a revision of a Consent, see [DeleteConsentRevision]. This operation does not delete the related Consent artifact.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}", +"httpMethod": "DELETE", +"id": "healthcare.projects.locations.datasets.consentStores.consents.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Consent to delete, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consents/{consent_id}`. An INVALID_ARGUMENT error occurs if `revision_id` is specified in the name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"deleteRevision": { +"description": "Deletes the specified revision of a Consent. An INVALID_ARGUMENT error occurs if the specified revision is the latest revision.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}:deleteRevision", +"httpMethod": "DELETE", +"id": "healthcare.projects.locations.datasets.consentStores.consents.deleteRevision", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Consent revision to delete, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consents/{consent_id}@{revision_id}`. An INVALID_ARGUMENT error occurs if `revision_id` is not specified in the name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:deleteRevision", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the specified revision of a Consent, or the latest revision if `revision_id` is not specified in the resource name.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.consentStores.consents.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Consent to retrieve, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consents/{consent_id}`. In order to retrieve a previous revision of the Consent, also provide the revision ID: `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consents/{consent_id}@{revision_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Consent" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists the Consent in the given consent store, returning each Consent's latest revision.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.consentStores.consents.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Restricts the consents returned to those matching a filter. The following syntax is available: * A string field value can be written as text inside quotation marks, for example `\"query text\"`. The only valid relational operation for text fields is equality (`=`), where text is searched within the field, rather than having the field be equal to the text. For example, `\"Comment = great\"` returns messages with `great` in the comment field. * A number field value can be written as an integer, a decimal, or an exponential. The valid relational operators for number fields are the equality operator (`=`), along with the less than/greater than operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * A date field value must be written in `yyyy-mm-dd` form. Fields with date and time use the RFC3339 time format. Leading zeros are required for one-digit months and days. The valid relational operators for date fields are the equality operator (`=`) , along with the less than/greater than operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * Multiple field query expressions can be combined in one query by adding `AND` or `OR` operators between the expressions. If a boolean operator appears within a quoted string, it is not treated as special, it's just another part of the character string to be matched. You can prepend the `NOT` operator to an expression to negate it. The fields available for filtering are: - user_id. For example, `filter='user_id=\"user123\"'`. - consent_artifact - state - revision_create_time - metadata. For example, `filter=Metadata(\\\"testkey\\\")=\\\"value\\\"` or `filter=HasMetadata(\\\"testkey\\\")`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Limit on the number of Consents to return in a single response. If not specified, 100 is used. May not be larger than 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The next_page_token value returned from the previous List request, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Name of the consent store to retrieve Consents from.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/consents", +"response": { +"$ref": "ListConsentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"listRevisions": { +"description": "Lists the revisions of the specified Consent in reverse chronological order.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}:listRevisions", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.consentStores.consents.listRevisions", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "Optional. Restricts the revisions returned to those matching a filter. The following syntax is available: * A string field value can be written as text inside quotation marks, for example `\"query text\"`. The only valid relational operation for text fields is equality (`=`), where text is searched within the field, rather than having the field be equal to the text. For example, `\"Comment = great\"` returns messages with `great` in the comment field. * A number field value can be written as an integer, a decimal, or an exponential. The valid relational operators for number fields are the equality operator (`=`), along with the less than/greater than operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * A date field value must be written in `yyyy-mm-dd` form. Fields with date and time use the RFC3339 time format. Leading zeros are required for one-digit months and days. The valid relational operators for date fields are the equality operator (`=`) , along with the less than/greater than operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * Multiple field query expressions can be combined in one query by adding `AND` or `OR` operators between the expressions. If a boolean operator appears within a quoted string, it is not treated as special, it's just another part of the character string to be matched. You can prepend the `NOT` operator to an expression to negate it. Fields/functions available for filtering are: - user_id. For example, `filter='user_id=\"user123\"'`. - consent_artifact - state - revision_create_time - metadata. For example, `filter=Metadata(\\\"testkey\\\")=\\\"value\\\"` or `filter=HasMetadata(\\\"testkey\\\")`.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The resource name of the Consent to retrieve revisions for.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Optional. Limit on the number of revisions to return in a single response. If not specified, 100 is used. May not be larger than 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Token to retrieve the next page of results or empty if there are no more results in the list.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:listRevisions", +"response": { +"$ref": "ListConsentRevisionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the latest revision of the specified Consent by committing a new revision with the changes. A FAILED_PRECONDITION error occurs if the latest revision of the specified Consent is in the `REJECTED` or `REVOKED` state.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}", +"httpMethod": "PATCH", +"id": "healthcare.projects.locations.datasets.consentStores.consents.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Resource name of the Consent, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consents/{consent_id}`. Cannot be changed after creation.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The update mask to apply to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask. Only the `user_id`, `policies`, `consent_artifact`, and `metadata` fields can be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "Consent" +}, +"response": { +"$ref": "Consent" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"reject": { +"description": "Rejects the latest revision of the specified Consent by committing a new revision with `state` updated to `REJECTED`. If the latest revision of the specified Consent is in the `REJECTED` state, no new revision is committed. A FAILED_PRECONDITION error occurs if the latest revision of the specified Consent is in the `ACTIVE` or `REVOKED` state.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}:reject", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.consentStores.consents.reject", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Consent to reject, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consents/{consent_id}`. An INVALID_ARGUMENT error occurs if `revision_id` is specified in the name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:reject", +"request": { +"$ref": "RejectConsentRequest" +}, +"response": { +"$ref": "Consent" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"revoke": { +"description": "Revokes the latest revision of the specified Consent by committing a new revision with `state` updated to `REVOKED`. If the latest revision of the specified Consent is in the `REVOKED` state, no new revision is committed. A FAILED_PRECONDITION error occurs if the latest revision of the given consent is in `DRAFT` or `REJECTED` state.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}:revoke", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.consentStores.consents.revoke", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Consent to revoke, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consents/{consent_id}`. An INVALID_ARGUMENT error occurs if `revision_id` is specified in the name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:revoke", +"request": { +"$ref": "RevokeConsentRequest" +}, +"response": { +"$ref": "Consent" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"userDataMappings": { +"methods": { +"archive": { +"description": "Archives the specified User data mapping.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings/{userDataMappingsId}:archive", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.consentStores.userDataMappings.archive", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the User data mapping to archive.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/userDataMappings/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:archive", +"request": { +"$ref": "ArchiveUserDataMappingRequest" +}, +"response": { +"$ref": "ArchiveUserDataMappingResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a new User data mapping in the parent consent store.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.consentStores.userDataMappings.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Name of the consent store.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/userDataMappings", +"request": { +"$ref": "UserDataMapping" +}, +"response": { +"$ref": "UserDataMapping" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes the specified User data mapping.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings/{userDataMappingsId}", +"httpMethod": "DELETE", +"id": "healthcare.projects.locations.datasets.consentStores.userDataMappings.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the User data mapping to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/userDataMappings/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the specified User data mapping.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings/{userDataMappingsId}", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.consentStores.userDataMappings.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the User data mapping to retrieve.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/userDataMappings/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "UserDataMapping" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists the User data mappings in the specified consent store.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.consentStores.userDataMappings.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Restricts the user data mappings returned to those matching a filter. The following syntax is available: * A string field value can be written as text inside quotation marks, for example `\"query text\"`. The only valid relational operation for text fields is equality (`=`), where text is searched within the field, rather than having the field be equal to the text. For example, `\"Comment = great\"` returns messages with `great` in the comment field. * A number field value can be written as an integer, a decimal, or an exponential. The valid relational operators for number fields are the equality operator (`=`), along with the less than/greater than operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * A date field value must be written in `yyyy-mm-dd` form. Fields with date and time use the RFC3339 time format. Leading zeros are required for one-digit months and days. The valid relational operators for date fields are the equality operator (`=`) , along with the less than/greater than operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * Multiple field query expressions can be combined in one query by adding `AND` or `OR` operators between the expressions. If a boolean operator appears within a quoted string, it is not treated as special, it's just another part of the character string to be matched. You can prepend the `NOT` operator to an expression to negate it. The fields available for filtering are: - data_id - user_id. For example, `filter=user_id=\\\"user123\\\"`. - archived - archive_time", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Limit on the number of User data mappings to return in a single response. If not specified, 100 is used. May not be larger than 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Token to retrieve the next page of results, or empty to get the first page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Name of the consent store to retrieve User data mappings from.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/userDataMappings", +"response": { +"$ref": "ListUserDataMappingsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the specified User data mapping.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings/{userDataMappingsId}", +"httpMethod": "PATCH", +"id": "healthcare.projects.locations.datasets.consentStores.userDataMappings.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name of the User data mapping, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/userDataMappings/{user_data_mapping_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/userDataMappings/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The update mask that applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask. Only the `data_id`, `user_id` and `resource_attributes` fields can be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "UserDataMapping" +}, +"response": { +"$ref": "UserDataMapping" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"dataMapperWorkspaces": { +"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": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataMapperWorkspaces/{dataMapperWorkspacesId}:getIamPolicy", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.dataMapperWorkspaces.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataMapperWorkspaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataMapperWorkspaces/{dataMapperWorkspacesId}:setIamPolicy", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.dataMapperWorkspaces.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataMapperWorkspaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataMapperWorkspaces/{dataMapperWorkspacesId}:testIamPermissions", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.dataMapperWorkspaces.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/[^/]+/datasets/[^/]+/dataMapperWorkspaces/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"dicomStores": { +"methods": { +"create": { +"description": "Creates a new DICOM store within the parent dataset.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.dicomStores.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"dicomStoreId": { +"description": "Required. The ID of the DICOM store that is being created. Any string value up to 256 characters in length.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the dataset this DICOM store belongs to.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/dicomStores", +"request": { +"$ref": "DicomStore" +}, +"response": { +"$ref": "DicomStore" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"deidentify": { +"description": "De-identifies data from the source store and writes it to the destination store. The metadata field type is OperationMetadata. If the request is successful, the response field type is DeidentifyDicomStoreSummary. The LRO result may still be successful if de-identification fails for some DICOM instances. The output DICOM store will not contain these failed resources. The number of resources processed are tracked in Operation.metadata. Error details are logged to Cloud Logging. For more information, see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:deidentify", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.dicomStores.deidentify", +"parameterOrder": [ +"sourceStore" +], +"parameters": { +"sourceStore": { +"description": "Required. Source DICOM store resource name. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+sourceStore}:deidentify", +"request": { +"$ref": "DeidentifyDicomStoreRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes the specified DICOM store and removes all images that are contained within it.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}", +"httpMethod": "DELETE", +"id": "healthcare.projects.locations.datasets.dicomStores.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the DICOM store to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"export": { +"description": "Exports data to the specified destination by copying it from the DICOM store. Errors are also logged to Cloud Logging. For more information, see [Viewing errors in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging). The metadata field type is OperationMetadata.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:export", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.dicomStores.export", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The DICOM store resource name from which to export the data. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:export", +"request": { +"$ref": "ExportDicomDataRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the specified DICOM store.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.dicomStores.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the DICOM store to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "DicomStore" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getDICOMStoreMetrics": { +"description": "Gets metrics associated with the DICOM store.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:getDICOMStoreMetrics", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.dicomStores.getDICOMStoreMetrics", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the DICOM store to get metrics for.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:getDICOMStoreMetrics", +"response": { +"$ref": "DicomStoreMetrics" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:getIamPolicy", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.dicomStores.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Imports data into the DICOM store by copying it from the specified source. Errors are logged to Cloud Logging. For more information, see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging). The metadata field type is OperationMetadata.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:import", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.dicomStores.import", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the DICOM store resource into which the data is imported. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:import", +"request": { +"$ref": "ImportDicomDataRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists the DICOM stores in the given dataset.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.dicomStores.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Restricts stores returned to those matching a filter. The following syntax is available: * A string field value can be written as text inside quotation marks, for example `\"query text\"`. The only valid relational operation for text fields is equality (`=`), where text is searched within the field, rather than having the field be equal to the text. For example, `\"Comment = great\"` returns messages with `great` in the comment field. * A number field value can be written as an integer, a decimal, or an exponential. The valid relational operators for number fields are the equality operator (`=`), along with the less than/greater than operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * A date field value must be written in `yyyy-mm-dd` form. Fields with date and time use the RFC3339 time format. Leading zeros are required for one-digit months and days. The valid relational operators for date fields are the equality operator (`=`) , along with the less than/greater than operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * Multiple field query expressions can be combined in one query by adding `AND` or `OR` operators between the expressions. If a boolean operator appears within a quoted string, it is not treated as special, it's just another part of the character string to be matched. You can prepend the `NOT` operator to an expression to negate it. Only filtering on labels is supported. For example, `labels.key=value`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Limit on the number of DICOM stores to return in a single response. If not specified, 100 is used. May not be larger than 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from the previous List request, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Name of the dataset.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/dicomStores", +"response": { +"$ref": "ListDicomStoresResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the specified DICOM store.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}", +"httpMethod": "PATCH", +"id": "healthcare.projects.locations.datasets.dicomStores.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Resource name of the DICOM store, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "DicomStore" +}, +"response": { +"$ref": "DicomStore" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchForInstances": { +"description": "SearchForInstances returns a list of matching instances. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of SearchForInstances, see [Search transaction](https://cloud.google.com/healthcare/docs/dicom#search_transaction) in the Cloud Healthcare API conformance statement. For samples that show how to call SearchForInstances, see [Search for DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#search-dicom).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/instances", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.dicomStores.searchForInstances", +"parameterOrder": [ +"parent", +"dicomWebPath" +], +"parameters": { +"dicomWebPath": { +"description": "Required. The path of the SearchForInstancesRequest DICOMweb request. For example, `instances`, `series/{series_uid}/instances`, or `studies/{study_uid}/instances`.", +"location": "path", +"pattern": "^instances$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchForSeries": { +"description": "SearchForSeries returns a list of matching series. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of SearchForSeries, see [Search transaction](https://cloud.google.com/healthcare/docs/dicom#search_transaction) in the Cloud Healthcare API conformance statement. For samples that show how to call SearchForSeries, see [Search for DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#search-dicom).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/series", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.dicomStores.searchForSeries", +"parameterOrder": [ +"parent", +"dicomWebPath" +], +"parameters": { +"dicomWebPath": { +"description": "Required. The path of the SearchForSeries DICOMweb request. For example, `series` or `studies/{study_uid}/series`.", +"location": "path", +"pattern": "^series$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchForStudies": { +"description": "SearchForStudies returns a list of matching studies. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of SearchForStudies, see [Search transaction](https://cloud.google.com/healthcare/docs/dicom#search_transaction) in the Cloud Healthcare API conformance statement. For samples that show how to call SearchForStudies, see [Search for DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#search-dicom).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.dicomStores.searchForStudies", +"parameterOrder": [ +"parent", +"dicomWebPath" +], +"parameters": { +"dicomWebPath": { +"description": "Required. The path of the SearchForStudies DICOMweb request. For example, `studies`.", +"location": "path", +"pattern": "^studies$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setBlobStorageSettings": { +"description": "SetBlobStorageSettings sets the blob storage settings of the specified resources.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:setBlobStorageSettings", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.dicomStores.setBlobStorageSettings", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "Required. The path of the resource to update the blob storage settings in the format of `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStores/{dicomStoreID}/dicomWeb/studies/{studyUID}`, `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStores/{dicomStoreID}/dicomWeb/studies/{studyUID}/series/{seriesUID}/`, or `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStores/{dicomStoreID}/dicomWeb/studies/{studyUID}/series/{seriesUID}/instances/{instanceUID}`. If `filter_config` is specified, set the value of `resource` to the resource name of a DICOM store in the format `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStores/{dicomStoreID}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:setBlobStorageSettings", +"request": { +"$ref": "SetBlobStorageSettingsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:setIamPolicy", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.dicomStores.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"storeInstances": { +"description": "StoreInstances stores DICOM instances associated with study instance unique identifiers (SUID). See [Store Transaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.5). For details on the implementation of StoreInstances, see [Store transaction](https://cloud.google.com/healthcare/docs/dicom#store_transaction) in the Cloud Healthcare API conformance statement. For samples that show how to call StoreInstances, see [Store DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#store-dicom).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.dicomStores.storeInstances", +"parameterOrder": [ +"parent", +"dicomWebPath" +], +"parameters": { +"dicomWebPath": { +"description": "Required. The path of the StoreInstances DICOMweb request. For example, `studies/[{study_uid}]`. Note that the `study_uid` is optional.", +"location": "path", +"pattern": "^studies$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}", +"request": { +"$ref": "HttpBody" +}, +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:testIamPermissions", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.dicomStores.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/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"dicomWeb": { +"resources": { +"studies": { +"methods": { +"getStudyMetrics": { +"description": "GetStudyMetrics returns metrics for a study.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}:getStudyMetrics", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.dicomStores.dicomWeb.studies.getStudyMetrics", +"parameterOrder": [ +"study" +], +"parameters": { +"study": { +"description": "Required. The study resource path. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}/dicomWeb/studies/{study_uid}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+/dicomWeb/studies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+study}:getStudyMetrics", +"response": { +"$ref": "StudyMetrics" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setBlobStorageSettings": { +"description": "SetBlobStorageSettings sets the blob storage settings of the specified resources.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}:setBlobStorageSettings", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.dicomStores.dicomWeb.studies.setBlobStorageSettings", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "Required. The path of the resource to update the blob storage settings in the format of `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStores/{dicomStoreID}/dicomWeb/studies/{studyUID}`, `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStores/{dicomStoreID}/dicomWeb/studies/{studyUID}/series/{seriesUID}/`, or `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStores/{dicomStoreID}/dicomWeb/studies/{studyUID}/series/{seriesUID}/instances/{instanceUID}`. If `filter_config` is specified, set the value of `resource` to the resource name of a DICOM store in the format `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStores/{dicomStoreID}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+/dicomWeb/studies/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:setBlobStorageSettings", +"request": { +"$ref": "SetBlobStorageSettingsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"series": { +"methods": { +"getSeriesMetrics": { +"description": "GetSeriesMetrics returns metrics for a series.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}:getSeriesMetrics", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.dicomStores.dicomWeb.studies.series.getSeriesMetrics", +"parameterOrder": [ +"series" +], +"parameters": { +"series": { +"description": "Required. The series resource path. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}/dicomWeb/studies/{study_uid}/series/{series_uid}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+/dicomWeb/studies/[^/]+/series/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+series}:getSeriesMetrics", +"response": { +"$ref": "SeriesMetrics" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"instances": { +"methods": { +"getStorageInfo": { +"description": "GetStorageInfo returns the storage info of the specified resource.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}:getStorageInfo", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.dicomStores.dicomWeb.studies.series.instances.getStorageInfo", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "Required. The path of the instance to return storage info for, in the form: `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStores/{dicomStoreID}/dicomWeb/studies/{studyUID}/series/{seriesUID}/instances/{instanceUID}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+/dicomWeb/studies/[^/]+/series/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:getStorageInfo", +"response": { +"$ref": "StorageInfo" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +}, +"studies": { +"methods": { +"delete": { +"description": "DeleteStudy deletes all instances within the given study using a long running operation. The method returns an Operation which will be marked successful when the deletion is complete. Warning: Instances cannot be inserted into a study that is being deleted by an operation until the operation completes. For samples that show how to call DeleteStudy, see [Delete a study, series, or instance](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#delete-dicom).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}", +"httpMethod": "DELETE", +"id": "healthcare.projects.locations.datasets.dicomStores.studies.delete", +"parameterOrder": [ +"parent", +"dicomWebPath" +], +"parameters": { +"dicomWebPath": { +"description": "Required. The path of the DeleteStudy request. For example, `studies/{study_uid}`.", +"location": "path", +"pattern": "^studies/[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"retrieveMetadata": { +"description": "RetrieveStudyMetadata returns instance associated with the given study presented as metadata with the bulk data removed. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveStudyMetadata, see [Metadata resources](https://cloud.google.com/healthcare/docs/dicom#metadata_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveStudyMetadata, see [Retrieve metadata](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-metadata).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/metadata", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.dicomStores.studies.retrieveMetadata", +"parameterOrder": [ +"parent", +"dicomWebPath" +], +"parameters": { +"dicomWebPath": { +"description": "Required. The path of the RetrieveStudyMetadata DICOMweb request. For example, `studies/{study_uid}/metadata`.", +"location": "path", +"pattern": "^studies/[^/]+/metadata$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"retrieveStudy": { +"description": "RetrieveStudy returns all instances within the given study. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveStudy, see [DICOM study/series/instances](https://cloud.google.com/healthcare/docs/dicom#dicom_studyseriesinstances) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveStudy, see [Retrieve DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-dicom).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.dicomStores.studies.retrieveStudy", +"parameterOrder": [ +"parent", +"dicomWebPath" +], +"parameters": { +"dicomWebPath": { +"description": "Required. The path of the RetrieveStudy DICOMweb request. For example, `studies/{study_uid}`.", +"location": "path", +"pattern": "^studies/[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchForInstances": { +"description": "SearchForInstances returns a list of matching instances. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of SearchForInstances, see [Search transaction](https://cloud.google.com/healthcare/docs/dicom#search_transaction) in the Cloud Healthcare API conformance statement. For samples that show how to call SearchForInstances, see [Search for DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#search-dicom).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/instances", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.dicomStores.studies.searchForInstances", +"parameterOrder": [ +"parent", +"dicomWebPath" +], +"parameters": { +"dicomWebPath": { +"description": "Required. The path of the SearchForInstancesRequest DICOMweb request. For example, `instances`, `series/{series_uid}/instances`, or `studies/{study_uid}/instances`.", +"location": "path", +"pattern": "^studies/[^/]+/instances$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchForSeries": { +"description": "SearchForSeries returns a list of matching series. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of SearchForSeries, see [Search transaction](https://cloud.google.com/healthcare/docs/dicom#search_transaction) in the Cloud Healthcare API conformance statement. For samples that show how to call SearchForSeries, see [Search for DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#search-dicom).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.dicomStores.studies.searchForSeries", +"parameterOrder": [ +"parent", +"dicomWebPath" +], +"parameters": { +"dicomWebPath": { +"description": "Required. The path of the SearchForSeries DICOMweb request. For example, `series` or `studies/{study_uid}/series`.", +"location": "path", +"pattern": "^studies/[^/]+/series$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"storeInstances": { +"description": "StoreInstances stores DICOM instances associated with study instance unique identifiers (SUID). See [Store Transaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.5). For details on the implementation of StoreInstances, see [Store transaction](https://cloud.google.com/healthcare/docs/dicom#store_transaction) in the Cloud Healthcare API conformance statement. For samples that show how to call StoreInstances, see [Store DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#store-dicom).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.dicomStores.studies.storeInstances", +"parameterOrder": [ +"parent", +"dicomWebPath" +], +"parameters": { +"dicomWebPath": { +"description": "Required. The path of the StoreInstances DICOMweb request. For example, `studies/[{study_uid}]`. Note that the `study_uid` is optional.", +"location": "path", +"pattern": "^studies/[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}", +"request": { +"$ref": "HttpBody" +}, +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"series": { +"methods": { +"delete": { +"description": "DeleteSeries deletes all instances within the given study and series using a long running operation. The method returns an Operation which will be marked successful when the deletion is complete. Warning: Instances cannot be inserted into a series that is being deleted by an operation until the operation completes. For samples that show how to call DeleteSeries, see [Delete a study, series, or instance](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#delete-dicom).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}", +"httpMethod": "DELETE", +"id": "healthcare.projects.locations.datasets.dicomStores.studies.series.delete", +"parameterOrder": [ +"parent", +"dicomWebPath" +], +"parameters": { +"dicomWebPath": { +"description": "Required. The path of the DeleteSeries request. For example, `studies/{study_uid}/series/{series_uid}`.", +"location": "path", +"pattern": "^studies/[^/]+/series/[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"retrieveMetadata": { +"description": "RetrieveSeriesMetadata returns instance associated with the given study and series, presented as metadata with the bulk data removed. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveSeriesMetadata, see [Metadata resources](https://cloud.google.com/healthcare/docs/dicom#metadata_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveSeriesMetadata, see [Retrieve metadata](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-metadata).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/metadata", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveMetadata", +"parameterOrder": [ +"parent", +"dicomWebPath" +], +"parameters": { +"dicomWebPath": { +"description": "Required. The path of the RetrieveSeriesMetadata DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}/metadata`.", +"location": "path", +"pattern": "^studies/[^/]+/series/[^/]+/metadata$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"retrieveSeries": { +"description": "RetrieveSeries returns all instances within the given study and series. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveSeries, see [DICOM study/series/instances](https://cloud.google.com/healthcare/docs/dicom#dicom_studyseriesinstances) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveSeries, see [Retrieve DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-dicom).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveSeries", +"parameterOrder": [ +"parent", +"dicomWebPath" +], +"parameters": { +"dicomWebPath": { +"description": "Required. The path of the RetrieveSeries DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}`.", +"location": "path", +"pattern": "^studies/[^/]+/series/[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchForInstances": { +"description": "SearchForInstances returns a list of matching instances. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of SearchForInstances, see [Search transaction](https://cloud.google.com/healthcare/docs/dicom#search_transaction) in the Cloud Healthcare API conformance statement. For samples that show how to call SearchForInstances, see [Search for DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#search-dicom).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.dicomStores.studies.series.searchForInstances", +"parameterOrder": [ +"parent", +"dicomWebPath" +], +"parameters": { +"dicomWebPath": { +"description": "Required. The path of the SearchForInstancesRequest DICOMweb request. For example, `instances`, `series/{series_uid}/instances`, or `studies/{study_uid}/instances`.", +"location": "path", +"pattern": "^studies/[^/]+/series/[^/]+/instances$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"instances": { +"methods": { +"delete": { +"description": "DeleteInstance deletes an instance associated with the given study, series, and SOP Instance UID. Delete requests are equivalent to the GET requests specified in the Retrieve transaction. Study and series search results can take a few seconds to be updated after an instance is deleted using DeleteInstance. For samples that show how to call DeleteInstance, see [Delete a study, series, or instance](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#delete-dicom).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}", +"httpMethod": "DELETE", +"id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.delete", +"parameterOrder": [ +"parent", +"dicomWebPath" +], +"parameters": { +"dicomWebPath": { +"description": "Required. The path of the DeleteInstance request. For example, `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}`.", +"location": "path", +"pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"retrieveInstance": { +"description": "RetrieveInstance returns instance associated with the given study, series, and SOP Instance UID. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveInstance, see [DICOM study/series/instances](https://cloud.google.com/healthcare/docs/dicom#dicom_studyseriesinstances) and [DICOM instances](https://cloud.google.com/healthcare/docs/dicom#dicom_instances) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveInstance, see [Retrieve an instance](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-instance).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveInstance", +"parameterOrder": [ +"parent", +"dicomWebPath" +], +"parameters": { +"dicomWebPath": { +"description": "Required. The path of the RetrieveInstance DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}`.", +"location": "path", +"pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"retrieveMetadata": { +"description": "RetrieveInstanceMetadata returns instance associated with the given study, series, and SOP Instance UID presented as metadata with the bulk data removed. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveInstanceMetadata, see [Metadata resources](https://cloud.google.com/healthcare/docs/dicom#metadata_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveInstanceMetadata, see [Retrieve metadata](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-metadata).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/metadata", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveMetadata", +"parameterOrder": [ +"parent", +"dicomWebPath" +], +"parameters": { +"dicomWebPath": { +"description": "Required. The path of the RetrieveInstanceMetadata DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/metadata`.", +"location": "path", +"pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+/metadata$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"retrieveRendered": { +"description": "RetrieveRenderedInstance returns instance associated with the given study, series, and SOP Instance UID in an acceptable Rendered Media Type. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveRenderedInstance, see [Rendered resources](https://cloud.google.com/healthcare/docs/dicom#rendered_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveRenderedInstance, see [Retrieve consumer image formats](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-consumer).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/rendered", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveRendered", +"parameterOrder": [ +"parent", +"dicomWebPath" +], +"parameters": { +"dicomWebPath": { +"description": "Required. The path of the RetrieveRenderedInstance DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/rendered`.", +"location": "path", +"pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+/rendered$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"bulkdata": { +"methods": { +"retrieveBulkdata": { +"description": "Returns uncompressed, unencoded bytes representing the referenced bulkdata tag from an instance. See [Retrieve Transaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4){: .external}. For details on the implementation of RetrieveBulkdata, see [Bulkdata resources](https://cloud.google.com/healthcare/docs/dicom#bulkdata-resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveBulkdata, see [Retrieve bulkdata](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-bulkdata).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/bulkdata/{bulkdataId}/{bulkdataId1}", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.bulkdata.retrieveBulkdata", +"parameterOrder": [ +"parent", +"dicomWebPath" +], +"parameters": { +"dicomWebPath": { +"description": "Required. The path for the `RetrieveBulkdata` DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/bukdata/{bulkdata_uri}`.", +"location": "path", +"pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+/bulkdata/[^/]+/.*$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"frames": { +"methods": { +"retrieveFrames": { +"description": "RetrieveFrames returns instances associated with the given study, series, SOP Instance UID and frame numbers. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveFrames, see [DICOM frames](https://cloud.google.com/healthcare/docs/dicom#dicom_frames) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveFrames, see [Retrieve DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-dicom).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/frames/{framesId}", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveFrames", +"parameterOrder": [ +"parent", +"dicomWebPath" +], +"parameters": { +"dicomWebPath": { +"description": "Required. The path of the RetrieveFrames DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/frames/{frame_list}`.", +"location": "path", +"pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+/frames/[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"retrieveRendered": { +"description": "RetrieveRenderedFrames returns instances associated with the given study, series, SOP Instance UID and frame numbers in an acceptable Rendered Media Type. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveRenderedFrames, see [Rendered resources](https://cloud.google.com/healthcare/docs/dicom#rendered_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveRenderedFrames, see [Retrieve consumer image formats](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-consumer).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/frames/{framesId}/rendered", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveRendered", +"parameterOrder": [ +"parent", +"dicomWebPath" +], +"parameters": { +"dicomWebPath": { +"description": "Required. The path of the RetrieveRenderedFrames DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/frames/{frame_list}/rendered`.", +"location": "path", +"pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+/frames/[^/]+/rendered$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +} +} +}, +"fhirStores": { +"methods": { +"applyAdminConsents": { +"description": "Applies the admin Consent resources for the FHIR store and reindexes the underlying resources in the FHIR store according to the aggregate consents. This method also updates the `consent_config.enforced_admin_consents` field of the FhirStore unless `validate_only=true` in ApplyAdminConsentsRequest. Any admin Consent resource change after this operation execution (including deletion) requires you to call ApplyAdminConsents again for the change to take effect. This method returns an Operation that can be used to track the progress of the resources that were reindexed, by calling GetOperation. Upon completion, the ApplyAdminConsentsResponse additionally contains the number of resources that were reindexed. If at least one Consent resource contains an error or fails be be enforced for any reason, the method returns an error instead of an Operation. No resources will be reindexed and the `consent_config.enforced_admin_consents` field will be unchanged. To enforce a consent check for data access, `consent_config.access_enforced` must be set to true for the FhirStore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:applyAdminConsents", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.fhirStores.applyAdminConsents", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the FHIR store to enforce, in the format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:applyAdminConsents", +"request": { +"$ref": "ApplyAdminConsentsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"applyConsents": { +"description": "Apply the Consent resources for the FHIR store and reindex the underlying resources in the FHIR store according to the aggregate consent. The aggregate consent of the patient in scope in this request replaces any previous call of this method. Any Consent resource change after this operation execution (including deletion) requires you to call ApplyConsents again to have effect. This method returns an Operation that can be used to track the progress of the consent resources that were processed by calling GetOperation. Upon completion, the ApplyConsentsResponse additionally contains the number of resources that was reindexed. Errors are logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). To enforce consent check for data access, `consent_config.access_enforced` must be set to true for the FhirStore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:applyConsents", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.fhirStores.applyConsents", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the FHIR store to enforce, in the format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:applyConsents", +"request": { +"$ref": "ApplyConsentsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"configureSearch": { +"description": "Configure the search parameters for the FHIR store and reindex resources in the FHIR store according to the defined search parameters. The search parameters provided in this request will replace any previous search configuration. The target SearchParameter resources need to exist in the store before calling ConfigureSearch, otherwise an error will occur. This method returns an Operation that can be used to track the progress of the reindexing by calling GetOperation.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:configureSearch", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.fhirStores.configureSearch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the FHIR store to configure, in the format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:configureSearch", +"request": { +"$ref": "ConfigureSearchRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a new FHIR store within the parent dataset.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.fhirStores.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"fhirStoreId": { +"description": "Required. The ID of the FHIR store that is being created. The string must match the following regex: `[\\p{L}\\p{N}_\\-\\.]{1,256}`.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the dataset this FHIR store belongs to.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/fhirStores", +"request": { +"$ref": "FhirStore" +}, +"response": { +"$ref": "FhirStore" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"deidentify": { +"description": "De-identifies data from the source store and writes it to the destination store. The metadata field type is OperationMetadata. If the request is successful, the response field type is DeidentifyFhirStoreSummary. The number of resources processed are tracked in Operation.metadata. Error details are logged to Cloud Logging. For more information, see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:deidentify", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.fhirStores.deidentify", +"parameterOrder": [ +"sourceStore" +], +"parameters": { +"sourceStore": { +"description": "Required. Source FHIR store resource name. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+sourceStore}:deidentify", +"request": { +"$ref": "DeidentifyFhirStoreRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes the specified FHIR store and removes all resources within it.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}", +"httpMethod": "DELETE", +"id": "healthcare.projects.locations.datasets.fhirStores.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the FHIR store to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"explainDataAccess": { +"description": "Explains all the permitted/denied actor, purpose and environment for a given resource.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:explainDataAccess", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.fhirStores.explainDataAccess", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the FHIR store to enforce, in the format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", +"required": true, +"type": "string" +}, +"resourceId": { +"description": "Required. The ID (`{resourceType}/{id}`) of the resource to explain data access on.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:explainDataAccess", +"response": { +"$ref": "ExplainDataAccessResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"export": { +"description": "Export resources from the FHIR store to the specified destination. This method returns an Operation that can be used to track the status of the export by calling GetOperation. Immediate fatal errors appear in the error field, errors are also logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). Otherwise, when the operation finishes, a detailed response of type ExportResourcesResponse is returned in the response field. The metadata field type for this operation is OperationMetadata.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:export", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.fhirStores.export", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the FHIR store to export resource from, in the format of `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:export", +"request": { +"$ref": "ExportResourcesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"exportHistory": { +"description": "Export resources including historical versions from the FHIR store to the specified destination. The exported resource, along with previous versions, will be exported in one or more FHIR history bundles. This method returns an Operation that can be used to track the status of the export by calling GetOperation. Immediate fatal errors appear in the error field, errors are also logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). Otherwise, when the operation finishes, a detailed response of type ExportResourcesResponse is returned in the response field. The metadata field type for this operation is OperationMetadata.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:exportHistory", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.fhirStores.exportHistory", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the FHIR store to export resource from, in the format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:exportHistory", +"request": { +"$ref": "ExportResourcesHistoryRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the configuration of the specified FHIR store.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.fhirStores.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the FHIR store to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "FhirStore" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getFHIRStoreMetrics": { +"description": "Gets metrics associated with the FHIR store.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:getFHIRStoreMetrics", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.fhirStores.getFHIRStoreMetrics", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the FHIR store to get metrics for.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:getFHIRStoreMetrics", +"response": { +"$ref": "FhirStoreMetrics" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:getIamPolicy", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.fhirStores.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Import resources to the FHIR store by loading data from the specified sources. This method is optimized to load large quantities of data using import semantics that ignore some FHIR store configuration options and are not suitable for all use cases. It is primarily intended to load data into an empty FHIR store that is not being used by other clients. In cases where this method is not appropriate, consider using ExecuteBundle to load data. Every resource in the input must contain a client-supplied ID. Each resource is stored using the supplied ID regardless of the enable_update_create setting on the FHIR store. It is strongly advised not to include or encode any sensitive data such as patient identifiers in client-specified resource IDs. Those IDs are part of the FHIR resource path recorded in Cloud Audit Logs and Cloud Pub/Sub notifications. Those IDs can also be contained in reference fields within other resources. The import process does not enforce referential integrity, regardless of the disable_referential_integrity setting on the FHIR store. This allows the import of resources with arbitrary interdependencies without considering grouping or ordering, but if the input data contains invalid references or if some resources fail to be imported, the FHIR store might be left in a state that violates referential integrity. The import process does not trigger Pub/Sub notification or BigQuery streaming update, regardless of how those are configured on the FHIR store. If a resource with the specified ID already exists, the most recent version of the resource is overwritten without creating a new historical version, regardless of the disable_resource_versioning setting on the FHIR store. If transient failures occur during the import, it is possible that successfully imported resources will be overwritten more than once. The import operation is idempotent unless the input data contains multiple valid resources with the same ID but different contents. In that case, after the import completes, the store contains exactly one resource with that ID but there is no ordering guarantee on which version of the contents it will have. The operation result counters do not count duplicate IDs as an error and count one success for each resource in the input, which might result in a success count larger than the number of resources in the FHIR store. This often occurs when importing data organized in bundles produced by Patient-everything where each bundle contains its own copy of a resource such as Practitioner that might be referred to by many patients. If some resources fail to import, for example due to parsing errors, successfully imported resources are not rolled back. The location and format of the input data are specified by the parameters in ImportResourcesRequest. Note that if no format is specified, this method assumes the `BUNDLE` format. When using the `BUNDLE` format this method ignores the `Bundle.type` field, except that `history` bundles are rejected, and does not apply any of the bundle processing semantics for batch or transaction bundles. Unlike in ExecuteBundle, transaction bundles are not executed as a single transaction and bundle-internal references are not rewritten. The bundle is treated as a collection of resources to be written as provided in `Bundle.entry.resource`, ignoring `Bundle.entry.request`. As an example, this allows the import of `searchset` bundles produced by a FHIR search or Patient-everything operation. This method returns an Operation that can be used to track the status of the import by calling GetOperation. Immediate fatal errors appear in the error field, errors are also logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). Otherwise, when the operation finishes, a detailed response of type ImportResourcesResponse is returned in the response field. The metadata field type for this operation is OperationMetadata.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:import", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.fhirStores.import", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the FHIR store to import FHIR resources to, in the format of `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:import", +"request": { +"$ref": "ImportResourcesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"importHistory": { +"description": "Import resource historical versions from Cloud Storage source to destination fhir store. The exported resource, along with previous versions, will be exported in one or more FHIR history bundles. This method returns an Operation that can be used to track the status of the export by calling GetOperation. Immediate fatal errors appear in the error field, errors are also logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). Otherwise, when the operation finishes, a detailed response of type ImportResourcesResponse is returned in the response field. The metadata field type for this operation is OperationMetadata.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:importHistory", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.fhirStores.importHistory", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the FHIR store to import FHIR resources to, in the format of `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:importHistory", +"request": { +"$ref": "ImportResourcesHistoryRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists the FHIR stores in the given dataset.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.fhirStores.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Restricts stores returned to those matching a filter. The following syntax is available: * A string field value can be written as text inside quotation marks, for example `\"query text\"`. The only valid relational operation for text fields is equality (`=`), where text is searched within the field, rather than having the field be equal to the text. For example, `\"Comment = great\"` returns messages with `great` in the comment field. * A number field value can be written as an integer, a decimal, or an exponential. The valid relational operators for number fields are the equality operator (`=`), along with the less than/greater than operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * A date field value must be written in `yyyy-mm-dd` form. Fields with date and time use the RFC3339 time format. Leading zeros are required for one-digit months and days. The valid relational operators for date fields are the equality operator (`=`) , along with the less than/greater than operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * Multiple field query expressions can be combined in one query by adding `AND` or `OR` operators between the expressions. If a boolean operator appears within a quoted string, it is not treated as special, it's just another part of the character string to be matched. You can prepend the `NOT` operator to an expression to negate it. Only filtering on labels is supported, for example `labels.key=value`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Limit on the number of FHIR stores to return in a single response. If not specified, 100 is used. May not be larger than 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from the previous List request, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Name of the dataset.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/fhirStores", +"response": { +"$ref": "ListFhirStoresResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the configuration of the specified FHIR store.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}", +"httpMethod": "PATCH", +"id": "healthcare.projects.locations.datasets.fhirStores.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Identifier. Resource name of the FHIR store, of the form `projects/{project_id}/locations/{location}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "FhirStore" +}, +"response": { +"$ref": "FhirStore" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"rollback": { +"description": "Rolls back resources from the FHIR store to the specified time. This method returns an Operation that can be used to track the status of the rollback by calling GetOperation. Immediate fatal errors appear in the error field, errors are also logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). Otherwise, when the operation finishes, a detailed response of type RollbackFhirResourcesResponse is returned in the response field. The metadata field type for this operation is OperationMetadata.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:rollback", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.fhirStores.rollback", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the FHIR store to rollback, in the format of \"projects/{project_id}/locations/{location_id}/datasets/{dataset_id} /fhirStores/{fhir_store_id}\".", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:rollback", +"request": { +"$ref": "RollbackFhirResourcesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:setIamPolicy", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.fhirStores.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:testIamPermissions", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.fhirStores.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/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"fhir": { +"methods": { +"Binary-create": { +"description": "Creates a FHIR Binary resource. This method can be used to create a Binary resource either by using one of the accepted FHIR JSON content types, or as a raw data stream. If a resource is created with this method using the FHIR content type this method's behavior is the same as [`fhir.create`](https://cloud.google.com/healthcare-api/docs/reference/rest/v1/projects.locations.datasets.fhirStores.fhir/create). If a resource type other than Binary is used in the request it's treated in the same way as non-FHIR data (e.g., images, zip archives, pdf files, documents). When a non-FHIR content type is used in the request, a Binary resource will be generated, and the uploaded data will be stored in the `content` field (`DSTU2` and `STU3`), or the `data` field (`R4`). The Binary resource's `contentType` will be filled in using the value of the `Content-Type` header, and the `securityContext` field (not present in `DSTU2`) will be populated from the `X-Security-Context` header if it exists. At this time `securityContext` has no special behavior in the Cloud Healthcare API. Note: the limit on data ingested through this method is 1 GB. For best performance, use a non-FHIR data type instead of wrapping the data in a Binary resource. Some of the Healthcare API features, such as [exporting to BigQuery](https://cloud.google.com/healthcare-api/docs/how-tos/fhir-export-bigquery) or [Pub/Sub notifications](https://cloud.google.com/healthcare-api/docs/fhir-pubsub#behavior_when_a_fhir_resource_is_too_large_or_traffic_is_high) with full resource content, do not support Binary resources that are larger than 10 MB. In these cases the resource's `data` field will be omitted. Instead, the \"http://hl7.org/fhir/StructureDefinition/data-absent-reason\" extension will be present to indicate that including the data is `unsupported`. On success, an empty `201 Created` response is returned. The newly created resource's ID and version are returned in the Location header. Using `Prefer: representation=resource` is not allowed for this method. The definition of the Binary REST API can be found at https://hl7.org/fhir/binary.html#rest.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/Binary", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.fhirStores.fhir.Binary-create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the FHIR store this resource belongs to.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/fhir/Binary", +"request": { +"$ref": "HttpBody" +}, +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"Binary-read": { +"description": "Gets the contents of a FHIR Binary resource. This method can be used to retrieve a Binary resource either by using the FHIR JSON mimetype as the value for the Accept header, or as a raw data stream. If the FHIR Accept type is used this method will return a Binary resource with the data base64-encoded, regardless of how the resource was created. The resource data can be retrieved in base64-decoded form if the Accept type of the request matches the value of the resource's `contentType` field. The definition of the Binary REST API can be found at https://hl7.org/fhir/binary.html#rest.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/Binary/{BinaryId}", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.fhirStores.fhir.Binary-read", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Binary resource to retrieve.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/Binary/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"Binary-update": { +"description": "Updates the entire contents of a Binary resource. If the specified resource does not exist and the FHIR store has enable_update_create set, creates the resource with the client-specified ID. It is strongly advised not to include or encode any sensitive data such as patient identifiers in client-specified resource IDs. Those IDs are part of the FHIR resource path recorded in Cloud Audit Logs and Pub/Sub notifications. Those IDs can also be contained in reference fields within other resources. This method can be used to update a Binary resource either by using one of the accepted FHIR JSON content types, or as a raw data stream. If a resource is updated with this method using the FHIR content type this method's behavior is the same as `update`. If a resource type other than Binary is used in the request it will be treated in the same way as non-FHIR data. When a non-FHIR content type is used in the request, a Binary resource will be generated using the ID from the resource path, and the uploaded data will be stored in the `content` field (`DSTU2` and `STU3`), or the `data` field (`R4`). The Binary resource's `contentType` will be filled in using the value of the `Content-Type` header, and the `securityContext` field (not present in `DSTU2`) will be populated from the `X-Security-Context` header if it exists. At this time `securityContext` has no special behavior in the Cloud Healthcare API. Note: the limit on data ingested through this method is 2 GB. For best performance, use a non-FHIR data type instead of wrapping the data in a Binary resource. Some of the Healthcare API features, such as [exporting to BigQuery](https://cloud.google.com/healthcare-api/docs/how-tos/fhir-export-bigquery) or [Pub/Sub notifications](https://cloud.google.com/healthcare-api/docs/fhir-pubsub#behavior_when_a_fhir_resource_is_too_large_or_traffic_is_high) with full resource content, do not support Binary resources that are larger than 10 MB. In these cases the resource's `data` field will be omitted. Instead, the \"http://hl7.org/fhir/StructureDefinition/data-absent-reason\" extension will be present to indicate that including the data is `unsupported`. On success, an empty 200 OK response will be returned, or a 201 Created if the resource did not exit. The resource's ID and version are returned in the Location header. Using `Prefer: representation=resource` is not allowed for this method. The definition of the Binary REST API can be found at https://hl7.org/fhir/binary.html#rest.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/Binary/{BinaryId}", +"httpMethod": "PUT", +"id": "healthcare.projects.locations.datasets.fhirStores.fhir.Binary-update", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the resource to update.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/Binary/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "HttpBody" +}, +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"Binary-vread": { +"description": "Gets the contents of a version (current or historical) of a FHIR Binary resource by version ID. This method can be used to retrieve a Binary resource version either by using the FHIR JSON mimetype as the value for the Accept header, or as a raw data stream. If the FHIR Accept type is used this method will return a Binary resource with the data base64-encoded, regardless of how the resource version was created. The resource data can be retrieved in base64-decoded form if the Accept type of the request matches the value of the resource version's `contentType` field. The definition of the Binary REST API can be found at https://hl7.org/fhir/binary.html#rest.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/Binary/{BinaryId}/_history/{_historyId}", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.fhirStores.fhir.Binary-vread", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Binary resource version to retrieve.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/Binary/[^/]+/_history/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"ConceptMap-search-translate": { +"description": "Translates a code from one value set to another by searching for appropriate concept maps. Implements the FHIR standard $translate operation ([DSTU2](https://www.hl7.org/fhir/DSTU2/operation-conceptmap-translate.html), [STU3](https://www.hl7.org/fhir/STU3/operation-conceptmap-translate.html), [R4](https://www.hl7.org/fhir/R4/operation-conceptmap-translate.html)). On success, the response body contains a JSON-encoded representation of a FHIR Parameters resource, which includes the translation result. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/ConceptMap/$translate", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.fhirStores.fhir.ConceptMap-search-translate", +"parameterOrder": [ +"parent" +], +"parameters": { +"code": { +"description": "Required. The code to translate.", +"location": "query", +"type": "string" +}, +"conceptMapVersion": { +"description": "The version of the concept map to use. If unset, the most current version is used.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name for the FHIR store containing the concept map(s) to use for the translation.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", +"required": true, +"type": "string" +}, +"source": { +"description": "The source value set of the concept map to be used. If unset, target is used to search for concept maps.", +"location": "query", +"type": "string" +}, +"system": { +"description": "Required. The system for the code to be translated.", +"location": "query", +"type": "string" +}, +"target": { +"description": "The target value set of the concept map to be used. If unset, source is used to search for concept maps.", +"location": "query", +"type": "string" +}, +"url": { +"description": "The canonical url of the concept map to use. If unset, the source and target is used to search for concept maps.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/fhir/ConceptMap/$translate", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"ConceptMap-translate": { +"description": "Translates a code from one value set to another using a concept map. You can provide your own concept maps to translate any code system to another code system. Implements the FHIR standard $translate operation ([DSTU2](https://www.hl7.org/fhir/DSTU2/operation-conceptmap-translate.html), [STU3](https://www.hl7.org/fhir/STU3/operation-conceptmap-translate.html), [R4](https://www.hl7.org/fhir/R4/operation-conceptmap-translate.html)). On success, the response body contains a JSON-encoded representation of a FHIR Parameters resource, which includes the translation result. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/ConceptMap/{ConceptMapId}/$translate", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.fhirStores.fhir.ConceptMap-translate", +"parameterOrder": [ +"name" +], +"parameters": { +"code": { +"description": "Required. The code to translate.", +"location": "query", +"type": "string" +}, +"conceptMapVersion": { +"description": "The version of the concept map to use. If unset, the most current version is used.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The URL for the concept map to use for the translation.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/ConceptMap/[^/]+$", +"required": true, +"type": "string" +}, +"system": { +"description": "Required. The system for the code to be translated.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/$translate", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"Consent-enforcement-status": { +"description": "Returns the consent enforcement status of a single consent resource. On success, the response body contains a JSON-encoded representation of a `Parameters` (http://hl7.org/fhir/parameters.html) FHIR resource, containing the current enforcement status. Does not support DSTU2.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/Consent/{ConsentId}/$consent-enforcement-status", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.fhirStores.fhir.Consent-enforcement-status", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the consent resource to find enforcement status, in the format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/fhir/Consent/{consent_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/Consent/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}/$consent-enforcement-status", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"Encounter-everything": { +"description": "Retrieves an Encounter resource and resources related to that Encounter. Implements the FHIR extended operation Encounter-everything ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/encounter-operations.html#everything), [STU3](http://hl7.org/implement/standards/fhir/STU3/encounter-operations.html#everything), or [R4](https://hl7.org/implement/standards/fhir/R4/encounter-operation-everything.html). On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the operation. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The resources in scope for the response are: * The Encounter resource itself. * All the resources directly referenced by the Encounter resource, including attachments and binaries. * Resources directly referencing the Encounter resource that meet the inclusion criteria. The inclusion criteria are based on the membership rules in the Encounter Compartment definition ([DSTU2](http://hl7.org/fhir/DSTU2/compartment-encounter.html), [STU3](http://www.hl7.org/fhir/stu3/compartmentdefinition-encounter.html), [R4](http://hl7.org/fhir/R4/compartmentdefinition-encounter.html)), which details the eligible resource types and referencing search parameters. * Resources referencing to the Encounter resource through the \"http://hl7.org/fhir/StructureDefinition/encounter-associatedEncounter\" extension.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/Encounter/{EncounterId}/$everything", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.fhirStores.fhir.Encounter-everything", +"parameterOrder": [ +"name" +], +"parameters": { +"_count": { +"description": "Optional. Maximum number of resources in a page. If not specified, 100 is used. May not be larger than 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"_page_token": { +"description": "Optional. Used to retrieve the next or previous page of results when using pagination. Set `_page_token` to the value of _page_token set in next or previous page links' url. Next and previous page are returned in the response bundle's links field, where `link.relation` is \"previous\" or \"next\". Omit `_page_token` if no previous request has been made.", +"location": "query", +"type": "string" +}, +"_since": { +"description": "Optional. If provided, only resources updated after this time are returned. The time uses the format YYYY-MM-DDThh:mm:ss.sss+zz:zz. For example, `2015-02-07T13:28:17.239+02:00` or `2017-01-01T00:00:00Z`. The time must be specified to the second and include a time zone.", +"location": "query", +"type": "string" +}, +"_type": { +"description": "Optional. String of comma-delimited FHIR resource types. If provided, only resources of the specified resource type(s) are returned. Specifying multiple `_type` parameters isn't supported. For example, the result of `_type=Observation&_type=Encounter` is undefined. Use `_type=Observation,Encounter` instead.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. Name of the Encounter resource for which the information is required.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/Encounter/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}/$everything", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"Observation-lastn": { +"description": "Retrieves the N most recent `Observation` resources for a subject matching search criteria specified as query parameters, grouped by `Observation.code`, sorted from most recent to oldest. Implements the FHIR extended operation Observation-lastn ([STU3](https://hl7.org/implement/standards/fhir/STU3/observation-operations.html#lastn), [R4](https://hl7.org/implement/standards/fhir/R4/observation-operations.html#lastn)). DSTU2 doesn't define the Observation-lastn method, but the server supports it the same way it supports STU3. Search terms are provided as query parameters following the same pattern as the search method. The following search parameters must be provided: - `subject` or `patient` to specify a subject for the Observation. - `code`, `category` or any of the composite parameters that include `code`. Any other valid Observation search parameters can also be provided. This operation accepts an additional query parameter `max`, which specifies N, the maximum number of Observations to return from each group, with a default of 1. Searches with over 1000 results are rejected. Results are counted before grouping and limiting the results with `max`. To stay within the limit, constrain these searches using Observation search parameters such as `_lastUpdated` or `date`. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the operation. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/Observation/$lastn", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.fhirStores.fhir.Observation-lastn", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Name of the FHIR store to retrieve resources from.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/fhir/Observation/$lastn", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"Patient-consent-enforcement-status": { +"description": "Returns the consent enforcement status of all consent resources for a patient. On success, the response body contains a JSON-encoded representation of a bundle of `Parameters` (http://hl7.org/fhir/parameters.html) FHIR resources, containing the current enforcement status for each consent resource of the patient. Does not support DSTU2.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/Patient/{PatientId}/$consent-enforcement-status", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.fhirStores.fhir.Patient-consent-enforcement-status", +"parameterOrder": [ +"name" +], +"parameters": { +"_count": { +"description": "Optional. The maximum number of results on a page. If not specified, 100 is used. May not be larger than 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"_page_token": { +"description": "Optional. Used to retrieve the first, previous, next, or last page of consent enforcement statuses when using pagination. Value should be set to the value of `_page_token` set in next or previous page links' URLs. Next and previous page are returned in the response bundle's links field, where `link.relation` is \"previous\" or \"next\". Omit `_page_token` if no previous request has been made.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The name of the patient to find enforcement statuses, in the format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/fhir/Patient/{patient_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/Patient/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}/$consent-enforcement-status", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"Patient-everything": { +"description": "Retrieves a Patient resource and resources related to that patient. Implements the FHIR extended operation Patient-everything ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/patient-operations.html#everything), [STU3](https://hl7.org/implement/standards/fhir/STU3/patient-operations.html#everything), [R4](https://hl7.org/implement/standards/fhir/R4/patient-operations.html#everything)). On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the operation. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The resources in scope for the response are: * The patient resource itself. * All the resources directly referenced by the patient resource. * Resources directly referencing the patient resource that meet the inclusion criteria. The inclusion criteria are based on the membership rules in the patient compartment definition ([DSTU2](https://hl7.org/fhir/DSTU2/compartment-patient.html), [STU3](http://www.hl7.org/fhir/stu3/compartmentdefinition-patient.html), [R4](https://hl7.org/fhir/R4/compartmentdefinition-patient.html)), which details the eligible resource types and referencing search parameters. For samples that show how to call `Patient-everything`, see [Getting all patient compartment resources](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#getting_all_patient_compartment_resources).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/Patient/{PatientId}/$everything", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.fhirStores.fhir.Patient-everything", +"parameterOrder": [ +"name" +], +"parameters": { +"_count": { +"description": "Maximum number of resources in a page. If not specified, 100 is used. May not be larger than 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"_page_token": { +"description": "Used to retrieve the next or previous page of results when using pagination. Set `_page_token` to the value of _page_token set in next or previous page links' url. Next and previous page are returned in the response bundle's links field, where `link.relation` is \"previous\" or \"next\". Omit `_page_token` if no previous request has been made.", +"location": "query", +"type": "string" +}, +"_since": { +"description": "If provided, only resources updated after this time are returned. The time uses the format YYYY-MM-DDThh:mm:ss.sss+zz:zz. For example, `2015-02-07T13:28:17.239+02:00` or `2017-01-01T00:00:00Z`. The time must be specified to the second and include a time zone.", +"location": "query", +"type": "string" +}, +"_type": { +"description": "String of comma-delimited FHIR resource types. If provided, only resources of the specified resource type(s) are returned. Specifying multiple `_type` parameters isn't supported. For example, the result of `_type=Observation&_type=Encounter` is undefined. Use `_type=Observation,Encounter` instead.", +"location": "query", +"type": "string" +}, +"end": { +"description": "The response includes records prior to the end date. The date uses the format YYYY-MM-DD. If no end date is provided, all records subsequent to the start date are in scope.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. Name of the `Patient` resource for which the information is required.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/Patient/[^/]+$", +"required": true, +"type": "string" +}, +"start": { +"description": "The response includes records subsequent to the start date. The date uses the format YYYY-MM-DD. If no start date is provided, all records prior to the end date are in scope.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/$everything", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"Resource-incoming-references": { +"description": "Lists all the resources that directly refer to the given target FHIR resource. Can also support the case when the target resource doesn't exist, for example, if the target has been deleted. On success, the response body contains a Bundle with type `searchset`, where each entry in the Bundle contains the full content of the resource. If the operation fails, an `OperationOutcome` is returned describing the failure. If the request cannot be mapped to a valid API method on a FHIR store, a generic Google Cloud error might be returned instead.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/$references", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.fhirStores.fhir.Resource-incoming-references", +"parameterOrder": [ +"parent" +], +"parameters": { +"_count": { +"description": "Maximum number of resources in a page. If not specified, 100 is used. May not be larger than 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"_page_token": { +"description": "Used to retrieve the next page of results when using pagination. Set `_page_token` to the value of _page_token set in next page links' url. Next page are returned in the response bundle's links field, where `link.relation` is \"next\". Omit `_page_token` if no previous request has been made.", +"location": "query", +"type": "string" +}, +"_summary": { +"description": "Used to simplify the representation of the returned resources. `_summary=text` returns only the `text`, `id`, and `meta` top-level fields. `_summary=data` removes the `text` field and returns all other fields. `_summary=false` returns all parts of the resource(s). Either not providing this parameter or providing an empty value to this parameter also returns all parts of the resource(s).", +"location": "query", +"type": "string" +}, +"_type": { +"description": "String of comma-delimited FHIR resource types. If provided, only resources of the specified resource type(s) are returned. If not provided or an empty value is provided, no filter on the returned resource type(s) is applied.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the FHIR store that holds the target resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", +"required": true, +"type": "string" +}, +"target": { +"description": "Required. The target whose incoming references are requested. This param is required and must not be empty. It uses the format \"ResourceType/ResourceID\", for example, target=ResourceType/ResourceID.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/fhir/$references", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"Resource-purge": { +"description": "Deletes all the historical versions of a resource (excluding the current version) from the FHIR store. To remove all versions of a resource, first delete the current version and then call this method. This is not a FHIR standard operation. For samples that show how to call `Resource-purge`, see [Deleting historical versions of a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#deleting_historical_versions_of_a_fhir_resource).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}/$purge", +"httpMethod": "DELETE", +"id": "healthcare.projects.locations.datasets.fhirStores.fhir.Resource-purge", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the resource to purge.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}/$purge", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"Resource-validate": { +"description": "Validates an input FHIR resource's conformance to its profiles and the profiles configured on the FHIR store. Implements the FHIR extended operation $validate ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/resource-operations.html#validate), [STU3](http://hl7.org/implement/standards/fhir/STU3/resource-operations.html#validate), or [R4](http://hl7.org/implement/standards/fhir/R4/resource-operation-validate.html)). The request body must contain a JSON-encoded FHIR resource, and the request headers must contain `Content-Type: application/fhir+json`. The `Parameters` input syntax is not supported. The `profile` query parameter can be used to request that the resource only be validated against a specific profile. If a profile with the given URL cannot be found in the FHIR store then an error is returned. Errors generated by validation contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/$validate", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.fhirStores.fhir.Resource-validate", +"parameterOrder": [ +"parent", +"type" +], +"parameters": { +"parent": { +"description": "Required. The name of the FHIR store that holds the profiles being used for validation.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", +"required": true, +"type": "string" +}, +"profile": { +"description": "Required. The canonical URL of a profile that this resource should be validated against. For example, to validate a Patient resource against the US Core Patient profile this parameter would be `http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient`. A StructureDefinition with this canonical URL must exist in the FHIR store.", +"location": "query", +"type": "string" +}, +"type": { +"description": "Required. The FHIR resource type of the resource being validated. For a complete list, see the FHIR Resource Index ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/resourcelist.html), or [R4](http://hl7.org/implement/standards/fhir/R4/resourcelist.html)). Must match the resource type in the provided content.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/fhir/{+type}/$validate", +"request": { +"$ref": "HttpBody" +}, +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"capabilities": { +"description": "Gets the FHIR capability statement ([STU3](https://hl7.org/implement/standards/fhir/STU3/capabilitystatement.html), [R4](https://hl7.org/implement/standards/fhir/R4/capabilitystatement.html)), or the [conformance statement](https://hl7.org/implement/standards/fhir/DSTU2/conformance.html) in the DSTU2 case for the store, which contains a description of functionality supported by the server. Implements the FHIR standard capabilities interaction ([STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#capabilities), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#capabilities)), or the [conformance interaction](https://hl7.org/implement/standards/fhir/DSTU2/http.html#conformance) in the DSTU2 case. On success, the response body contains a JSON-encoded representation of a `CapabilityStatement` resource.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/metadata", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.fhirStores.fhir.capabilities", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the FHIR store to retrieve the capabilities for.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}/fhir/metadata", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"conditionalDelete": { +"description": "Deletes FHIR resources that match a search query. Implements the FHIR standard conditional delete interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.12.1), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.13.1), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#3.1.0.7.1)). If multiple resources match, all matching resources are deleted. Search terms are provided as query parameters following the same pattern as the search method. Not all FHIR resources that match the search query might be deleted because, by default, a maximum of 100 FHIR resources can be deleted. The number of FHIR resources that can be deleted depends on the page size of the returned resources, which you can control using the `_count` query parameter. Even when using `_count`, you can delete a maximum 1,000 FHIR resources per each call of `conditionalDelete`. Note: Unless resource versioning is disabled by setting the disable_resource_versioning flag on the FHIR store, the deleted resources are moved to a history repository that can still be retrieved through vread and related methods, unless they are removed by the purge method. This method requires the`healthcare.fhirStores.searchResources` and `healthcare.fhirResources.delete` permissions on the parent FHIR store. For samples that show how to call `conditionalDelete`, see [Conditionally deleting a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#conditionally_deleting_a_fhir_resource).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}", +"httpMethod": "DELETE", +"id": "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalDelete", +"parameterOrder": [ +"parent", +"type" +], +"parameters": { +"parent": { +"description": "Required. The name of the FHIR store this resource belongs to.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", +"required": true, +"type": "string" +}, +"type": { +"description": "Required. The FHIR resource type to delete, such as Patient or Observation. For a complete list, see the FHIR Resource Index ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/resourcelist.html), [R4](https://hl7.org/implement/standards/fhir/R4/resourcelist.html)).", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/fhir/{+type}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"conditionalPatch": { +"description": "If a resource is found based on the search criteria specified in the query parameters, updates part of that resource by applying the operations specified in a [JSON Patch](http://jsonpatch.com/) document. Implements the FHIR standard conditional patch interaction ([STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#patch), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#patch)). DSTU2 doesn't define a conditional patch method, but the server supports it in the same way it supports STU3. Search terms are provided as query parameters following the same pattern as the search method. If the search criteria identify more than one match, the request returns a `412 Precondition Failed` error. The request body must contain a JSON Patch document, and the request headers must contain `Content-Type: application/json-patch+json`. On success, the response body contains a JSON-encoded representation of the updated resource, including the server-assigned version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. This method requires the`healthcare.fhirStores.searchResources` permission on the parent FHIR store and the `healthcare.fhirResources.patch` permission on the requested FHIR store resource. For samples that show how to call `conditionalPatch`, see [Conditionally patching a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#conditionally_patching_a_fhir_resource).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}", +"httpMethod": "PATCH", +"id": "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalPatch", +"parameterOrder": [ +"parent", +"type" +], +"parameters": { +"parent": { +"description": "Required. The name of the FHIR store this resource belongs to.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", +"required": true, +"type": "string" +}, +"type": { +"description": "Required. The FHIR resource type to update, such as Patient or Observation. For a complete list, see the FHIR Resource Index ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/resourcelist.html), [R4](https://hl7.org/implement/standards/fhir/R4/resourcelist.html)).", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/fhir/{+type}", +"request": { +"$ref": "HttpBody" +}, +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"conditionalUpdate": { +"description": "If a resource is found based on the search criteria specified in the query parameters, updates the entire contents of that resource. Implements the FHIR standard conditional update interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.10.2), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#cond-update), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#cond-update)). Search terms are provided as query parameters following the same pattern as the search method. If the search criteria identify more than one match, the request returns a `412 Precondition Failed` error. If the search criteria identify zero matches, and the supplied resource body contains an `id`, and the FHIR store has enable_update_create set, creates the resource with the client-specified ID. It is strongly advised not to include or encode any sensitive data such as patient identifiers in client-specified resource IDs. Those IDs are part of the FHIR resource path recorded in Cloud Audit Logs and Pub/Sub notifications. Those IDs can also be contained in reference fields within other resources. If the search criteria identify zero matches, and the supplied resource body does not contain an `id`, the resource is created with a server-assigned ID as per the create method. The request body must contain a JSON-encoded FHIR resource, and the request headers must contain `Content-Type: application/fhir+json`. On success, the response body contains a JSON-encoded representation of the updated resource, including the server-assigned version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. This method requires the`healthcare.fhirStores.searchResources` and `healthcare.fhirResources.update` permissions on the parent FHIR store. For samples that show how to call `conditionalUpdate`, see [Conditionally updating a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#conditionally_updating_a_fhir_resource).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}", +"httpMethod": "PUT", +"id": "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalUpdate", +"parameterOrder": [ +"parent", +"type" +], +"parameters": { +"parent": { +"description": "Required. The name of the FHIR store this resource belongs to.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", +"required": true, +"type": "string" +}, +"type": { +"description": "Required. The FHIR resource type to update, such as Patient or Observation. For a complete list, see the FHIR Resource Index ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/resourcelist.html), [R4](https://hl7.org/implement/standards/fhir/R4/resourcelist.html)). Must match the resource type in the provided content.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/fhir/{+type}", +"request": { +"$ref": "HttpBody" +}, +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a FHIR resource. Implements the FHIR standard create interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#create), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#create), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#create)), which creates a new resource with a server-assigned resource ID. Also supports the FHIR standard conditional create interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#ccreate), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#ccreate), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#ccreate)), specified by supplying an `If-None-Exist` header containing a FHIR search query. If no resources match this search query, the server processes the create operation as normal. The request body must contain a JSON-encoded FHIR resource, and the request headers must contain `Content-Type: application/fhir+json`. On success, the response body contains a JSON-encoded representation of the resource as it was created on the server, including the server-assigned resource ID and version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `create`, see [Creating a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#creating_a_fhir_resource).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.fhirStores.fhir.create", +"parameterOrder": [ +"parent", +"type" +], +"parameters": { +"parent": { +"description": "Required. The name of the FHIR store this resource belongs to.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", +"required": true, +"type": "string" +}, +"type": { +"description": "Required. The FHIR resource type to create, such as Patient or Observation. For a complete list, see the FHIR Resource Index ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/resourcelist.html), [R4](https://hl7.org/implement/standards/fhir/R4/resourcelist.html)). Must match the resource type in the provided content.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/fhir/{+type}", +"request": { +"$ref": "HttpBody" +}, +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a FHIR resource. Implements the FHIR standard delete interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#delete), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#delete), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#delete)). Note: Unless resource versioning is disabled by setting the disable_resource_versioning flag on the FHIR store, the deleted resources are moved to a history repository that can still be retrieved through vread and related methods, unless they are removed by the purge method. For samples that show how to call `delete`, see [Deleting a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#deleting_a_fhir_resource).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}", +"httpMethod": "DELETE", +"id": "healthcare.projects.locations.datasets.fhirStores.fhir.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the resource to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"executeBundle": { +"description": "Executes all the requests in the given Bundle. Implements the FHIR standard batch/transaction interaction and history operations. ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#transaction), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#transaction), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#transaction)). Supports all interactions within a bundle, except search. This method accepts Bundles of type `batch`, `transaction` and `history`, processing `batch` and `transaction` bundles according to the batch processing rules ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.16.1), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.17.1), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#brules)) and transaction processing rules ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.16.2), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.17.2), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#trules)). The request body must contain a JSON-encoded FHIR `Bundle` resource, and the request headers must contain `Content-Type: application/fhir+json`. For a batch bundle or a successful transaction, the response body contains a JSON-encoded representation of a `Bundle` resource of type `batch-response` or `transaction-response` containing one entry for each entry in the request, with the outcome of processing the entry. In the case of an error for a `transaction` or `history` bundle, the response body contains a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. This method checks permissions for each request in the bundle. The `executeBundle` permission is required to call this method, but you must also grant sufficient permissions to execute the individual requests in the bundle. For example, if the bundle contains a request to create a FHIR resource, the caller must also have been granted the `healthcare.fhirResources.create` permission. `history` bundles also check the `import` permission. You can use audit logs to view the permissions for `executeBundle` and each request in the bundle. For more information, see [Viewing Cloud Audit logs](https://cloud.google.com/healthcare-api/docs/how-tos/audit-logging). For samples that show how to call `executeBundle`, see [Managing FHIR resources using FHIR bundles](https://cloud.google.com/healthcare/docs/how-tos/fhir-bundles).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.fhirStores.fhir.executeBundle", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Name of the FHIR store in which this bundle will be executed.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/fhir", +"request": { +"$ref": "HttpBody" +}, +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"history": { +"description": "Lists all the versions of a resource (including the current version and deleted versions) from the FHIR store. Implements the per-resource form of the FHIR standard history interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#history), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#history), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#history)). On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `history`, containing the version history sorted from most recent to oldest versions. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `history`, see [Listing FHIR resource versions](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#listing_fhir_resource_versions).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}/_history", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.fhirStores.fhir.history", +"parameterOrder": [ +"name" +], +"parameters": { +"_at": { +"description": "Only include resource versions that were current at some point during the time period specified in the date time value. The date parameter format is yyyy-mm-ddThh:mm:ss[Z|(+|-)hh:mm] Clients may specify any of the following: * An entire year: `_at=2019` * An entire month: `_at=2019-01` * A specific day: `_at=2019-01-20` * A specific second: `_at=2018-12-31T23:59:58Z`", +"location": "query", +"type": "string" +}, +"_count": { +"description": "The maximum number of search results on a page. If not specified, 100 is used. May not be larger than 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"_page_token": { +"description": "Used to retrieve the first, previous, next, or last page of resource versions when using pagination. Value should be set to the value of `_page_token` set in next or previous page links' URLs. Next and previous page are returned in the response bundle's links field, where `link.relation` is \"previous\" or \"next\". Omit `_page_token` if no previous request has been made.", +"location": "query", +"type": "string" +}, +"_since": { +"description": "Only include resource versions that were created at or after the given instant in time. The instant in time uses the format YYYY-MM-DDThh:mm:ss.sss+zz:zz (for example 2015-02-07T13:28:17.239+02:00 or 2017-01-01T00:00:00Z). The time must be specified to the second and include a time zone.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The name of the resource to retrieve.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}/_history", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates part of an existing resource by applying the operations specified in a [JSON Patch](http://jsonpatch.com/) document. Implements the FHIR standard patch interaction ([STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#patch), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#patch)). DSTU2 doesn't define a patch method, but the server supports it in the same way it supports STU3. The request body must contain a JSON Patch document, and the request headers must contain `Content-Type: application/json-patch+json`. On success, the response body contains a JSON-encoded representation of the updated resource, including the server-assigned version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `patch`, see [Patching a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#patching_a_fhir_resource).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}", +"httpMethod": "PATCH", +"id": "healthcare.projects.locations.datasets.fhirStores.fhir.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the resource to update.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "HttpBody" +}, +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"read": { +"description": "Gets the contents of a FHIR resource. Implements the FHIR standard read interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#read), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#read), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#read)). Also supports the FHIR standard conditional read interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#cread), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#cread), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#cread)) specified by supplying an `If-Modified-Since` header with a date/time value or an `If-None-Match` header with an ETag value. On success, the response body contains a JSON-encoded representation of the resource. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `read`, see [Getting a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#getting_a_fhir_resource).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.fhirStores.fhir.read", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the resource to retrieve.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"search": { +"description": "Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/search.html), [R4](https://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `recurse` (DSTU2 and STU3) or `:iterate` (R4). Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. The server might return fewer resources than requested to prevent excessively large responses. If there are additional results, the returned `Bundle` contains a link of `relation` \"next\", which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changed, and the time when the change reflects in search results. The only exception is resource identifier data, which is indexed synchronously as a special index. As a result, searching using resource identifier is not subject to indexing delay. To use the special synchronous index, the search term for identifier should be in the pattern `identifier=[system]|[value]` or `identifier=[value]`, and any of the following search result parameters can be used: * `_count` * `_include` * `_revinclude` * `_summary` * `_elements` If your query contains any other search parameters, the standard asynchronous index will be used instead. Note that searching against the special index is optimized for resolving a small number of matches. The search isn't optimized if your identifier search criteria matches a large number (i.e. more than 2,000) of resources. For a search query that will match a large number of resources, you can avoiding using the special synchronous index by including an additional `_sort` parameter in your query. Use `_sort=-_lastUpdated` if you want to keep the default sorting order. Note: The special synchronous identifier index are currently disabled for DocumentReference and DocumentManifest searches. For samples and detailed information, see [Searching for FHIR resources](https://cloud.google.com/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](https://cloud.google.com/healthcare/docs/how-tos/fhir-advanced-search).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/_search", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.fhirStores.fhir.search", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Name of the FHIR store to retrieve resources from.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/fhir/_search", +"request": { +"$ref": "SearchResourcesRequest" +}, +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"search-type": { +"description": "Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/search.html), [R4](https://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `recurse` (DSTU2 and STU3) or `:iterate` (R4). Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. The server might return fewer resources than requested to prevent excessively large responses. If there are additional results, the returned `Bundle` contains a link of `relation` \"next\", which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changed, and the time when the change reflects in search results. The only exception is resource identifier data, which is indexed synchronously as a special index. As a result, searching using resource identifier is not subject to indexing delay. To use the special synchronous index, the search term for identifier should be in the pattern `identifier=[system]|[value]` or `identifier=[value]`, and any of the following search result parameters can be used: * `_count` * `_include` * `_revinclude` * `_summary` * `_elements` If your query contains any other search parameters, the standard asynchronous index will be used instead. Note that searching against the special index is optimized for resolving a small number of matches. The search isn't optimized if your identifier search criteria matches a large number (i.e. more than 2,000) of resources. For a search query that will match a large number of resources, you can avoiding using the special synchronous index by including an additional `_sort` parameter in your query. Use `_sort=-_lastUpdated` if you want to keep the default sorting order. Note: The special synchronous identifier index are currently disabled for DocumentReference and DocumentManifest searches. For samples and detailed information, see [Searching for FHIR resources](https://cloud.google.com/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](https://cloud.google.com/healthcare/docs/how-tos/fhir-advanced-search).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{resourceType}/_search", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.fhirStores.fhir.search-type", +"parameterOrder": [ +"parent", +"resourceType" +], +"parameters": { +"parent": { +"description": "Required. Name of the FHIR store to retrieve resources from.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", +"required": true, +"type": "string" +}, +"resourceType": { +"description": "Required. The FHIR resource type to search, such as Patient or Observation. For a complete list, see the FHIR Resource Index ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/resourcelist.html), [R4](https://hl7.org/implement/standards/fhir/R4/resourcelist.html)).", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/fhir/{resourceType}/_search", +"request": { +"$ref": "SearchResourcesRequest" +}, +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"update": { +"description": "Updates the entire contents of a resource. Implements the FHIR standard update interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#update), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#update), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#update)). If the specified resource does not exist and the FHIR store has enable_update_create set, creates the resource with the client-specified ID. It is strongly advised not to include or encode any sensitive data such as patient identifiers in client-specified resource IDs. Those IDs are part of the FHIR resource path recorded in Cloud Audit Logs and Pub/Sub notifications. Those IDs can also be contained in reference fields within other resources. The request body must contain a JSON-encoded FHIR resource, and the request headers must contain `Content-Type: application/fhir+json`. The resource must contain an `id` element having an identical value to the ID in the REST path of the request. On success, the response body contains a JSON-encoded representation of the updated resource, including the server-assigned version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `update`, see [Updating a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#updating_a_fhir_resource).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}", +"httpMethod": "PUT", +"id": "healthcare.projects.locations.datasets.fhirStores.fhir.update", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the resource to update.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "HttpBody" +}, +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"vread": { +"description": "Gets the contents of a version (current or historical) of a FHIR resource by version ID. Implements the FHIR standard vread interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#vread), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#vread), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#vread)). On success, the response body contains a JSON-encoded representation of the resource. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `vread`, see [Retrieving a FHIR resource version](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#retrieving_a_fhir_resource_version).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}/_history/{_historyId}", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.fhirStores.fhir.vread", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the resource version to retrieve.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+/_history/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"hl7V2Stores": { +"methods": { +"create": { +"description": "Creates a new HL7v2 store within the parent dataset.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.hl7V2Stores.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"hl7V2StoreId": { +"description": "Required. The ID of the HL7v2 store that is being created. The string must match the following regex: `[\\p{L}\\p{N}_\\-\\.]{1,256}`.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the dataset this HL7v2 store belongs to.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/hl7V2Stores", +"request": { +"$ref": "Hl7V2Store" +}, +"response": { +"$ref": "Hl7V2Store" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes the specified HL7v2 store and removes all messages that it contains.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}", +"httpMethod": "DELETE", +"id": "healthcare.projects.locations.datasets.hl7V2Stores.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the HL7v2 store to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"export": { +"description": "Exports the messages to a destination. To filter messages to be exported, define a filter using the start and end time, relative to the message generation time (MSH.7). This API returns an Operation that can be used to track the status of the job by calling GetOperation. Immediate fatal errors appear in the error field. Otherwise, when the operation finishes, a detailed response of type ExportMessagesResponse is returned in the response field. The metadata field type for this operation is OperationMetadata.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:export", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.hl7V2Stores.export", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the source HL7v2 store, in the format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/hl7v2Stores/{hl7v2_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:export", +"request": { +"$ref": "ExportMessagesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the specified HL7v2 store.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.hl7V2Stores.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the HL7v2 store to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Hl7V2Store" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getHL7v2StoreMetrics": { +"description": "Gets metrics associated with the HL7v2 store.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:getHL7v2StoreMetrics", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.hl7V2Stores.getHL7v2StoreMetrics", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the HL7v2 store to get metrics for, in the format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:getHL7v2StoreMetrics", +"response": { +"$ref": "Hl7V2StoreMetrics" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:getIamPolicy", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.hl7V2Stores.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Import messages to the HL7v2 store by loading data from the specified sources. This method is optimized to load large quantities of data using import semantics that ignore some HL7v2 store configuration options and are not suitable for all use cases. It is primarily intended to load data into an empty HL7v2 store that is not being used by other clients. An existing message will be overwritten if a duplicate message is imported. A duplicate message is a message with the same raw bytes as a message that already exists in this HL7v2 store. When a message is overwritten, its labels will also be overwritten. The import operation is idempotent unless the input data contains multiple valid messages with the same raw bytes but different labels. In that case, after the import completes, the store contains exactly one message with those raw bytes but there is no ordering guarantee on which version of the labels it has. The operation result counters do not count duplicated raw bytes as an error and count one success for each message in the input, which might result in a success count larger than the number of messages in the HL7v2 store. If some messages fail to import, for example due to parsing errors, successfully imported messages are not rolled back. This method returns an Operation that can be used to track the status of the import by calling GetOperation. Immediate fatal errors appear in the error field, errors are also logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). Otherwise, when the operation finishes, a response of type ImportMessagesResponse is returned in the response field. The metadata field type for this operation is OperationMetadata.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:import", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.hl7V2Stores.import", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the target HL7v2 store, in the format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/hl7v2Stores/{hl7v2_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:import", +"request": { +"$ref": "ImportMessagesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists the HL7v2 stores in the given dataset.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.hl7V2Stores.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Restricts stores returned to those matching a filter. The following syntax is available: * A string field value can be written as text inside quotation marks, for example `\"query text\"`. The only valid relational operation for text fields is equality (`=`), where text is searched within the field, rather than having the field be equal to the text. For example, `\"Comment = great\"` returns messages with `great` in the comment field. * A number field value can be written as an integer, a decimal, or an exponential. The valid relational operators for number fields are the equality operator (`=`), along with the less than/greater than operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * A date field value must be written in `yyyy-mm-dd` form. Fields with date and time use the RFC3339 time format. Leading zeros are required for one-digit months and days. The valid relational operators for date fields are the equality operator (`=`) , along with the less than/greater than operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * Multiple field query expressions can be combined in one query by adding `AND` or `OR` operators between the expressions. If a boolean operator appears within a quoted string, it is not treated as special, it's just another part of the character string to be matched. You can prepend the `NOT` operator to an expression to negate it. Only filtering on labels is supported. For example, `labels.key=value`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Limit on the number of HL7v2 stores to return in a single response. If not specified, 100 is used. May not be larger than 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from the previous List request, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Name of the dataset.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/hl7V2Stores", +"response": { +"$ref": "ListHl7V2StoresResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the HL7v2 store.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}", +"httpMethod": "PATCH", +"id": "healthcare.projects.locations.datasets.hl7V2Stores.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Resource name of the HL7v2 store, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "Hl7V2Store" +}, +"response": { +"$ref": "Hl7V2Store" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"rollback": { +"description": "Rolls back messages from the HL7v2 store to the specified time. This method returns an Operation that can be used to track the status of the rollback by calling GetOperation. Immediate fatal errors appear in the error field, errors are also logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). Otherwise, when the operation finishes, a detailed response of type RollbackHl7V2MessagesResponse is returned in the response field. The metadata field type for this operation is OperationMetadata.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:rollback", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.hl7V2Stores.rollback", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the HL7v2 store to rollback, in the format of \"projects/{project_id}/locations/{location_id}/datasets/{dataset_id} /hl7V2Stores/{hl7v2_store_id}\".", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:rollback", +"request": { +"$ref": "RollbackHl7V2MessagesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:setIamPolicy", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.hl7V2Stores.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:testIamPermissions", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.hl7V2Stores.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/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"messages": { +"methods": { +"batchGet": { +"description": "Gets multiple messages in the given HL7v2 store.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages:batchGet", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.batchGet", +"parameterOrder": [ +"parent" +], +"parameters": { +"ids": { +"description": "The resource id of the HL7v2 messages to retrieve in the format: `{message_id}`, where the full resource name is `{parent}/messages/{message_id}` A maximum of 100 messages can be retrieved in a batch. All 'ids' have to be under parent.", +"location": "query", +"repeated": true, +"type": "string" +}, +"parent": { +"description": "Required. Name of the HL7v2 store to retrieve messages from, in the format: `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/hl7v2Stores/{hl7v2_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Specifies the parts of the Messages resource to return in the response. When unspecified, equivalent to BASIC.", +"enum": [ +"MESSAGE_VIEW_UNSPECIFIED", +"RAW_ONLY", +"PARSED_ONLY", +"FULL", +"SCHEMATIZED_ONLY", +"BASIC" +], +"enumDescriptions": [ +"Not specified, equivalent to FULL for getMessage, equivalent to BASIC for listMessages.", +"Server responses include all the message fields except parsed_data, and schematized_data fields.", +"Server responses include all the message fields except data and schematized_data fields.", +"Server responses include all the message fields.", +"Server responses include all the message fields except data and parsed_data fields.", +"Server responses include only the name field." +], +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/messages:batchGet", +"response": { +"$ref": "BatchGetMessagesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Parses and stores an HL7v2 message. This method triggers an asynchronous notification to any Pub/Sub topic configured in Hl7V2Store.Hl7V2NotificationConfig, if the filtering matches the message. If an MLLP adapter is configured to listen to a Pub/Sub topic, the adapter transmits the message when a notification is received.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the HL7v2 store this message belongs to.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/messages", +"request": { +"$ref": "CreateMessageRequest" +}, +"response": { +"$ref": "Message" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an HL7v2 message.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages/{messagesId}", +"httpMethod": "DELETE", +"id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the HL7v2 message to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+/messages/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets an HL7v2 message.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages/{messagesId}", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the HL7v2 message to retrieve.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+/messages/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Specifies which parts of the Message resource to return in the response. When unspecified, equivalent to FULL.", +"enum": [ +"MESSAGE_VIEW_UNSPECIFIED", +"RAW_ONLY", +"PARSED_ONLY", +"FULL", +"SCHEMATIZED_ONLY", +"BASIC" +], +"enumDescriptions": [ +"Not specified, equivalent to FULL for getMessage, equivalent to BASIC for listMessages.", +"Server responses include all the message fields except parsed_data, and schematized_data fields.", +"Server responses include all the message fields except data and schematized_data fields.", +"Server responses include all the message fields.", +"Server responses include all the message fields except data and parsed_data fields.", +"Server responses include only the name field." +], +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Message" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"ingest": { +"description": "Parses and stores an HL7v2 message. This method triggers an asynchronous notification to any Pub/Sub topic configured in Hl7V2Store.Hl7V2NotificationConfig, if the filtering matches the message. If an MLLP adapter is configured to listen to a Pub/Sub topic, the adapter transmits the message when a notification is received. If the method is successful, it generates a response containing an HL7v2 acknowledgment (`ACK`) message. If the method encounters an error, it returns a negative acknowledgment (`NACK`) message. This behavior is suitable for replying to HL7v2 interface systems that expect these acknowledgments.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages:ingest", +"httpMethod": "POST", +"id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.ingest", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the HL7v2 store this message belongs to.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/messages:ingest", +"request": { +"$ref": "IngestMessageRequest" +}, +"response": { +"$ref": "IngestMessageResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all the messages in the given HL7v2 store with support for filtering. Note: HL7v2 messages are indexed asynchronously, so there might be a slight delay between the time a message is created and when it can be found through a filter.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages", +"httpMethod": "GET", +"id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Restricts messages returned to those matching a filter. The following syntax is available: * A string field value can be written as text inside quotation marks, for example `\"query text\"`. The only valid relational operation for text fields is equality (`=`), where text is searched within the field, rather than having the field be equal to the text. For example, `\"Comment = great\"` returns messages with `great` in the comment field. * A number field value can be written as an integer, a decimal, or an exponential. The valid relational operators for number fields are the equality operator (`=`), along with the less than/greater than operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * A date field value must be written in `yyyy-mm-dd` form. Fields with date and time use the RFC3339 time format. Leading zeros are required for one-digit months and days. The valid relational operators for date fields are the equality operator (`=`) , along with the less than/greater than operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * Multiple field query expressions can be combined in one query by adding `AND` or `OR` operators between the expressions. If a boolean operator appears within a quoted string, it is not treated as special, it's just another part of the character string to be matched. You can prepend the `NOT` operator to an expression to negate it. Fields/functions available for filtering are: * `message_type`, from the MSH-9.1 field. For example, `NOT message_type = \"ADT\"`. * `send_date` or `sendDate`, the YYYY-MM-DD date the message was sent in the dataset's time_zone, from the MSH-7 segment. For example, `send_date < \"2017-01-02\"`. * `send_time`, the timestamp when the message was sent, using the RFC3339 time format for comparisons, from the MSH-7 segment. For example, `send_time < \"2017-01-02T00:00:00-05:00\"`. * `create_time`, the timestamp when the message was created in the HL7v2 store. Use the RFC3339 time format for comparisons. For example, `create_time < \"2017-01-02T00:00:00-05:00\"`. * `send_facility`, the care center that the message came from, from the MSH-4 segment. For example, `send_facility = \"ABC\"`. * `PatientId(value, type)`, which matches if the message lists a patient having an ID of the given value and type in the PID-2, PID-3, or PID-4 segments. For example, `PatientId(\"123456\", \"MRN\")`. * `labels.x`, a string value of the label with key `x` as set using the Message.labels map. For example, `labels.\"priority\"=\"high\"`. The operator `:*` can be used to assert the existence of a label. For example, `labels.\"priority\":*`.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Orders messages returned by the specified order_by clause. Syntax: https://cloud.google.com/apis/design/design_patterns#sorting_order Fields available for ordering are: * `send_time`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Limit on the number of messages to return in a single response. If not specified, 100 is used. May not be larger than 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from the previous List request, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Name of the HL7v2 store to retrieve messages from.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Specifies the parts of the Message to return in the response. When unspecified, equivalent to BASIC. Setting this to anything other than BASIC with a `page_size` larger than the default can generate a large response, which impacts the performance of this method.", +"enum": [ +"MESSAGE_VIEW_UNSPECIFIED", +"RAW_ONLY", +"PARSED_ONLY", +"FULL", +"SCHEMATIZED_ONLY", +"BASIC" +], +"enumDescriptions": [ +"Not specified, equivalent to FULL for getMessage, equivalent to BASIC for listMessages.", +"Server responses include all the message fields except parsed_data, and schematized_data fields.", +"Server responses include all the message fields except data and schematized_data fields.", +"Server responses include all the message fields.", +"Server responses include all the message fields except data and parsed_data fields.", +"Server responses include only the name field." +], +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/messages", +"response": { +"$ref": "ListMessagesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Update the message. The contents of the message in Message.data and data extracted from the contents such as Message.create_time can't be altered. Only the Message.labels field is allowed to be updated. The labels in the request are merged with the existing set of labels. Existing labels with the same keys are updated.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages/{messagesId}", +"httpMethod": "PATCH", +"id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name of the Message, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/hl7V2Stores/{hl7_v2_store_id}/messages/{message_id}`. Assigned by the server.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+/messages/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "Message" +}, +"response": { +"$ref": "Message" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "healthcare.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": "v1beta1/{+name}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "healthcare.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": "v1beta1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations", +"httpMethod": "GET", +"id": "healthcare.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": "v1beta1/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"services": { +"resources": { +"nlp": { +"methods": { +"analyzeEntities": { +"description": "Analyze heathcare entity in a document. Its response includes the recognized entity mentions and the relationships between them. AnalyzeEntities uses context aware models to detect entities. This method can only analyze documents written in English.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/services/nlp:analyzeEntities", +"httpMethod": "POST", +"id": "healthcare.projects.locations.services.nlp.analyzeEntities", +"parameterOrder": [ +"nlpService" +], +"parameters": { +"nlpService": { +"description": "The resource name of the service of the form: \"projects/{project_id}/locations/{location_id}/services/nlp\".", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/nlp$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+nlpService}:analyzeEntities", +"request": { +"$ref": "AnalyzeEntitiesRequest" +}, +"response": { +"$ref": "AnalyzeEntitiesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-healthcare", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +} +}, +"revision": "20241205", +"rootUrl": "https://healthcare.googleapis.com/", +"schemas": { +"AccessDeterminationLogConfig": { +"description": "Configures consent audit log config for FHIR create, read, update, and delete (CRUD) operations. Cloud audit log for healthcare API must be [enabled](https://cloud.google.com/logging/docs/audit/configure-data-access#config-console-enable). The consent-related logs are included as part of `protoPayload.metadata`.", +"id": "AccessDeterminationLogConfig", +"properties": { +"logLevel": { +"description": "Optional. Controls the amount of detail to include as part of the audit logs.", +"enum": [ +"LOG_LEVEL_UNSPECIFIED", +"DISABLED", +"MINIMUM", +"VERBOSE" +], +"enumDescriptions": [ +"No log level specified. This value is unused.", +"No additional consent-related logging is added to audit logs.", +"The following information is included: * One of the following [`consentMode`](https://cloud.google.com/healthcare-api/docs/fhir-consent#audit_logs) fields: (`off`|`emptyScope`|`enforced`|`btg`|`bypass`). * The accessor's request headers * The `log_level` of the AccessDeterminationLogConfig * The final consent evaluation (`PERMIT`, `DENY`, or `NO_CONSENT`) * A human-readable summary of the evaluation", +"Includes `MINIMUM` and, for each resource owner, returns: * The resource owner's name * Most specific part of the `X-Consent-Scope` resulting in consensual determination * Timestamp of the applied enforcement leading to the decision * Enforcement version at the time the applicable consents were applied * The Consent resource name * The timestamp of the Consent resource used for enforcement * Policy type (`PATIENT` or `ADMIN`) Note that this mode adds some overhead to CRUD operations." +], +"type": "string" +} +}, +"type": "object" +}, +"Action": { +"description": "Specifies a selection of tags and an `Action` to apply to each one.", +"id": "Action", +"properties": { +"cleanImageTag": { +"$ref": "ImageConfig", +"description": "Inspect image and transform sensitive burnt-in text. Doesn't apply to elements nested in a sequence, which revert to `Keep`. Supported [tags](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html): PixelData" +}, +"cleanTextTag": { +"$ref": "CleanTextTag", +"description": "Inspect text and transform sensitive text. Configurable via TextConfig. Supported Value Representations: AE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS" +}, +"deleteTag": { +"$ref": "DeleteTag", +"description": "Delete tag." +}, +"keepTag": { +"$ref": "KeepTag", +"description": "Keep tag unchanged." +}, +"queries": { +"description": "Select all tags with the listed tag IDs, names, or Value Representations (VRs). Examples: ID: \"00100010\" Keyword: \"PatientName\" VR: \"PN\"", +"items": { +"type": "string" +}, +"type": "array" +}, +"recurseTag": { +"$ref": "RecurseTag", +"description": "Recursively apply DICOM de-id to tags nested in a sequence. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): SQ" +}, +"regenUidTag": { +"$ref": "RegenUidTag", +"description": "Replace UID with a new generated UID. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): UI" +}, +"removeTag": { +"$ref": "RemoveTag", +"description": "Replace with empty tag." +}, +"resetTag": { +"$ref": "ResetTag", +"description": "Reset tag to a placeholder value." +} +}, +"type": "object" +}, +"ActivateConsentRequest": { +"description": "Activates the latest revision of the specified Consent by committing a new revision with `state` updated to `ACTIVE`. If the latest revision of the given Consent is in the `ACTIVE` state, no new revision is committed. A FAILED_PRECONDITION error occurs if the latest revision of the given consent is in the `REJECTED` or `REVOKED` state.", +"id": "ActivateConsentRequest", +"properties": { +"consentArtifact": { +"description": "Required. The resource name of the Consent artifact that contains documentation of the user's consent, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consentArtifacts/{consent_artifact_id}`. If the draft Consent had a Consent artifact, this Consent artifact overwrites it.", +"type": "string" +}, +"expireTime": { +"description": "Timestamp in UTC of when this Consent is considered expired.", +"format": "google-datetime", +"type": "string" +}, +"ttl": { +"description": "The time to live for this Consent from when it is marked as active.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"AdminConsents": { +"description": "List of admin Consent resources to be applied.", +"id": "AdminConsents", +"properties": { +"names": { +"description": "The versioned names of the admin Consent resource(s), in the format `projects/{project_id}/locations/{location}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/fhir/Consent/{resource_id}/_history/{version_id}`. For FHIR stores with `disable_resource_versioning=true`, the format is `projects/{project_id}/locations/{location}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/fhir/Consent/{resource_id}`.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"AnalyzeEntitiesRequest": { +"description": "The request to analyze healthcare entities in a document.", +"id": "AnalyzeEntitiesRequest", +"properties": { +"alternativeOutputFormat": { +"description": "Optional. Alternative output format to be generated based on the results of analysis.", +"enum": [ +"ALTERNATIVE_OUTPUT_FORMAT_UNSPECIFIED", +"FHIR_BUNDLE" +], +"enumDescriptions": [ +"No alternative output format is specified.", +"FHIR bundle output." +], +"type": "string" +}, +"documentContent": { +"description": "document_content is a document to be annotated.", +"type": "string" +}, +"licensedVocabularies": { +"description": "A list of licensed vocabularies to use in the request, in addition to the default unlicensed vocabularies.", +"items": { +"enum": [ +"LICENSED_VOCABULARY_UNSPECIFIED", +"ICD10CM", +"SNOMEDCT_US" +], +"enumDescriptions": [ +"No licensed vocabulary specified.", +"ICD-10-CM vocabulary", +"SNOMED CT (US version) vocabulary" +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"AnalyzeEntitiesResponse": { +"description": "Includes recognized entity mentions and relationships between them.", +"id": "AnalyzeEntitiesResponse", +"properties": { +"entities": { +"description": "The union of all the candidate entities that the entity_mentions in this response could link to. These are UMLS concepts or normalized mention content.", +"items": { +"$ref": "Entity" +}, +"type": "array" +}, +"entityMentions": { +"description": "The `entity_mentions` field contains all the annotated medical entities that were mentioned in the provided document.", +"items": { +"$ref": "EntityMention" +}, +"type": "array" +}, +"fhirBundle": { +"description": "The FHIR bundle ([`R4`](http://hl7.org/fhir/R4/bundle.html)) that includes all the entities, the entity mentions, and the relationships in JSON format.", +"type": "string" +}, +"relationships": { +"description": "relationships contains all the binary relationships that were identified between entity mentions within the provided document.", +"items": { +"$ref": "EntityMentionRelationship" +}, +"type": "array" +} +}, +"type": "object" +}, +"Annotation": { +"description": "An annotation record.", +"id": "Annotation", +"properties": { +"annotationSource": { +"$ref": "AnnotationSource", +"description": "Required. Details of the source." +}, +"customData": { +"additionalProperties": { +"type": "string" +}, +"description": "Additional information for this annotation record, such as annotator and verifier information or study campaign.", +"type": "object" +}, +"imageAnnotation": { +"$ref": "ImageAnnotation", +"description": "Annotations for images. For example, bounding polygons." +}, +"name": { +"description": "Identifier. Resource name of the Annotation, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}/annotations/{annotation_id}`.", +"type": "string" +}, +"resourceAnnotation": { +"$ref": "ResourceAnnotation", +"description": "Annotations for resource. For example, classification tags." +}, +"textAnnotation": { +"$ref": "SensitiveTextAnnotation", +"description": "Annotations for sensitive texts. For example, a range that describes the location of sensitive text." +} +}, +"type": "object" +}, +"AnnotationConfig": { +"description": "Specifies how to store annotations during de-identification operation.", +"id": "AnnotationConfig", +"properties": { +"annotationStoreName": { +"description": "The name of the annotation store, in the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}`). * The destination annotation store must be in the same project as the source data. De-identifying data across multiple projects is not supported. * The destination annotation store must exist when using DeidentifyDicomStore or DeidentifyFhirStore. DeidentifyDataset automatically creates the destination annotation store.", +"type": "string" +}, +"storeQuote": { +"description": "If set to true, the sensitive texts are included in SensitiveTextAnnotation of Annotation.", +"type": "boolean" +} +}, +"type": "object" +}, +"AnnotationSource": { +"description": "AnnotationSource holds the source information of the annotation.", +"id": "AnnotationSource", +"properties": { +"cloudHealthcareSource": { +"$ref": "CloudHealthcareSource", +"description": "Cloud Healthcare API resource." +} +}, +"type": "object" +}, +"AnnotationStore": { +"description": "An Annotation store that can store annotation resources such as labels and tags for text, image and audio.", +"id": "AnnotationStore", +"properties": { +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. User-supplied key-value pairs used to organize Annotation stores. 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 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}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store.", +"type": "object" +}, +"name": { +"description": "Identifier. Resource name of the Annotation store, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}`.", +"type": "string" +} +}, +"type": "object" +}, +"ApplyAdminConsentsErrorDetail": { +"description": "Contains the error details of the unsupported admin Consent resources for when the ApplyAdminConsents method fails to apply one or more Consent resources.", +"id": "ApplyAdminConsentsErrorDetail", +"properties": { +"consentErrors": { +"description": "The list of Consent resources that are unsupported or cannot be applied and the error associated with each of them.", +"items": { +"$ref": "ConsentErrors" +}, +"type": "array" +}, +"existingOperationId": { +"description": "The currently in progress non-validate-only ApplyAdminConsents operation ID if exist.", +"format": "uint64", +"type": "string" +} +}, +"type": "object" +}, +"ApplyAdminConsentsRequest": { +"description": "Request to apply the admin Consent resources for the specified FHIR store.", +"id": "ApplyAdminConsentsRequest", +"properties": { +"newConsentsList": { +"$ref": "AdminConsents", +"description": "A new list of admin Consent resources to be applied. Any existing enforced Consents, which are specified in `consent_config.enforced_admin_consents` of the FhirStore, that are not part of this list will be disabled. An empty list is equivalent to clearing or disabling all Consents enforced on the FHIR store. When a FHIR store has `disable_resource_versioning=true` and this list contains a Consent resource that exists in `consent_config.enforced_admin_consents`, the method enforces any updates to the existing resource since the last enforcement. If the existing resource hasn't been updated since the last enforcement, the resource is unaffected. After the method finishes, the resulting consent enforcement model is determined by the contents of the Consent resource(s) when the method was called: * When `disable_resource_versioning=true`, the result is identical to the current resource(s) in the FHIR store. * When `disable_resource_versioning=false`, the result is based on the historical version(s) of the Consent resource(s) at the point in time when the method was called. At most 200 Consents can be specified." +}, +"validateOnly": { +"description": "If true, the method only validates Consent resources to make sure they are supported. Otherwise, the method applies the aggregate consent information to update the enforcement model and reindex the FHIR resources. If all Consent resources can be applied successfully, the ApplyAdminConsentsResponse is returned containing the following fields: * `consent_apply_success` to indicate the number of Consent resources applied. * `affected_resources` to indicate the number of resources that might have had their consent access changed. If, however, one or more Consent resources are unsupported or cannot be applied, the method fails and ApplyAdminConsentsErrorDetail is is returned with details about the unsupported Consent resources.", +"type": "boolean" +} +}, +"type": "object" +}, +"ApplyAdminConsentsResponse": { +"description": "Response when all admin Consent resources in scope were processed and all affected resources were reindexed successfully. This structure will be included in the response when the operation finishes successfully.", +"id": "ApplyAdminConsentsResponse", +"properties": { +"affectedResources": { +"description": "The number of resources (including the Consent resources) that may have consent access change.", +"format": "int64", +"type": "string" +}, +"consentApplySuccess": { +"description": "If `validate_only=false` in ApplyAdminConsentsRequest, this counter contains the number of Consent resources that were successfully applied. Otherwise, it is the number of Consent resources that are supported.", +"format": "int64", +"type": "string" +}, +"failedResources": { +"description": "The number of resources (including the Consent resources) that ApplyAdminConsents failed to re-index.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ApplyConsentsRequest": { +"description": "Request to apply the Consent resources for the specified FHIR store.", +"id": "ApplyConsentsRequest", +"properties": { +"patientScope": { +"$ref": "PatientScope", +"description": "Optional. Scope down to a list of patients." +}, +"timeRange": { +"$ref": "TimeRange", +"description": "Optional. Scope down to patients whose most recent consent changes are in the time range. Can only be used with a versioning store (i.e. when disable_resource_versioning is set to false)." +}, +"validateOnly": { +"description": "Optional. If true, the method only validates Consent resources to make sure they are supported. When the operation completes, ApplyConsentsResponse is returned where `consent_apply_success` and `consent_apply_failure` indicate supported and unsupported (or invalid) Consent resources, respectively. Otherwise, the method propagates the aggregate consensual information to the patient's resources. Upon success, `affected_resources` in the ApplyConsentsResponse indicates the number of resources that may have consensual access changed.", +"type": "boolean" +} +}, +"type": "object" +}, +"ApplyConsentsResponse": { +"description": "Response when all Consent resources in scope were processed and all affected resources were reindexed successfully. This structure is included in the response when the operation finishes successfully.", +"id": "ApplyConsentsResponse", +"properties": { +"affectedResources": { +"description": "The number of resources (including the Consent resources) that may have consensual access change.", +"format": "int64", +"type": "string" +}, +"consentApplyFailure": { +"description": "If `validate_only = false` in ApplyConsentsRequest, this counter is the number of Consent resources that were failed to apply. Otherwise, it is the number of Consent resources that are not supported or invalid.", +"format": "int64", +"type": "string" +}, +"consentApplySuccess": { +"description": "If `validate_only = false` in ApplyConsentsRequest, this counter is the number of Consent resources that were successfully applied. Otherwise, it is the number of Consent resources that are supported.", +"format": "int64", +"type": "string" +}, +"failedResources": { +"description": "The number of resources (including the Consent resources) that ApplyConsents failed to re-index.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ArchiveUserDataMappingRequest": { +"description": "Archives the specified User data mapping.", +"id": "ArchiveUserDataMappingRequest", +"properties": {}, +"type": "object" +}, +"ArchiveUserDataMappingResponse": { +"description": "Archives the specified User data mapping.", +"id": "ArchiveUserDataMappingResponse", +"properties": {}, +"type": "object" +}, +"Attribute": { +"description": "An attribute value for a Consent or User data mapping. Each Attribute must have a corresponding AttributeDefinition in the consent store that defines the default and allowed values.", +"id": "Attribute", +"properties": { +"attributeDefinitionId": { +"description": "Indicates the name of an attribute defined in the consent store.", +"type": "string" +}, +"values": { +"description": "The value of the attribute. Must be an acceptable value as defined in the consent store. For example, if the consent store defines \"data type\" with acceptable values \"questionnaire\" and \"step-count\", when the attribute name is data type, this field must contain one of those values.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"AttributeDefinition": { +"description": "A client-defined consent attribute.", +"id": "AttributeDefinition", +"properties": { +"allowedValues": { +"description": "Required. Possible values for the attribute. The number of allowed values must not exceed 500. An empty list is invalid. The list can only be expanded after creation.", +"items": { +"type": "string" +}, +"type": "array" +}, +"category": { +"description": "Required. The category of the attribute. The value of this field cannot be changed after creation.", +"enum": [ +"CATEGORY_UNSPECIFIED", +"RESOURCE", +"REQUEST" +], +"enumDescriptions": [ +"No category specified. This option is invalid.", +"Specify this category when this attribute describes the properties of resources. For example, data anonymity or data type.", +"Specify this category when this attribute describes the properties of requests. For example, requester's role or requester's organization." +], +"type": "string" +}, +"consentDefaultValues": { +"description": "Optional. Default values of the attribute in Consents. If no default values are specified, it defaults to an empty value.", +"items": { +"type": "string" +}, +"type": "array" +}, +"dataMappingDefaultValue": { +"description": "Optional. Default value of the attribute in User data mappings. If no default value is specified, it defaults to an empty value. This field is only applicable to attributes of the category `RESOURCE`.", +"type": "string" +}, +"description": { +"description": "Optional. A description of the attribute.", +"type": "string" +}, +"name": { +"description": "Identifier. Resource name of the Attribute definition, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/attributeDefinitions/{attribute_definition_id}`. Cannot be changed after creation.", +"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" +}, +"BatchGetMessagesResponse": { +"description": "Gets multiple messages in a specified HL7v2 store.", +"id": "BatchGetMessagesResponse", +"properties": { +"messages": { +"description": "The returned Messages. See `MessageView` for populated fields.", +"items": { +"$ref": "Message" +}, +"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" +}, +"BlobStorageInfo": { +"description": "BlobStorageInfo contains details about the data stored in Blob Storage for the referenced resource. Note: Storage class is only valid for DICOM and hence will only be populated for DICOM resources.", +"id": "BlobStorageInfo", +"properties": { +"sizeBytes": { +"description": "Size in bytes of data stored in Blob Storage.", +"format": "int64", +"type": "string" +}, +"storageClass": { +"description": "The storage class in which the Blob data is stored.", +"enum": [ +"BLOB_STORAGE_CLASS_UNSPECIFIED", +"STANDARD", +"NEARLINE", +"COLDLINE", +"ARCHIVE" +], +"enumDescriptions": [ +"If unspecified in CreateDataset, the StorageClass defaults to STANDARD. If unspecified in UpdateDataset and the StorageClass is set in the field mask, an InvalidRequest error is thrown.", +"This stores the Object in Blob Standard Storage: https://cloud.google.com/storage/docs/storage-classes#standard", +"This stores the Object in Blob Nearline Storage: https://cloud.google.com/storage/docs/storage-classes#nearline", +"This stores the Object in Blob Coldline Storage: https://cloud.google.com/storage/docs/storage-classes#coldline", +"This stores the Object in Blob Archive Storage: https://cloud.google.com/storage/docs/storage-classes#archive" +], +"type": "string" +}, +"storageClassUpdateTime": { +"description": "The time at which the storage class was updated. This is used to compute early deletion fees of the resource.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"BlobStorageSettings": { +"description": "Settings for data stored in Blob storage.", +"id": "BlobStorageSettings", +"properties": { +"blobStorageClass": { +"description": "The Storage class in which the Blob data is stored.", +"enum": [ +"BLOB_STORAGE_CLASS_UNSPECIFIED", +"STANDARD", +"NEARLINE", +"COLDLINE", +"ARCHIVE" +], +"enumDescriptions": [ +"If unspecified in CreateDataset, the StorageClass defaults to STANDARD. If unspecified in UpdateDataset and the StorageClass is set in the field mask, an InvalidRequest error is thrown.", +"This stores the Object in Blob Standard Storage: https://cloud.google.com/storage/docs/storage-classes#standard", +"This stores the Object in Blob Nearline Storage: https://cloud.google.com/storage/docs/storage-classes#nearline", +"This stores the Object in Blob Coldline Storage: https://cloud.google.com/storage/docs/storage-classes#coldline", +"This stores the Object in Blob Archive Storage: https://cloud.google.com/storage/docs/storage-classes#archive" +], +"type": "string" +} +}, +"type": "object" +}, +"BoundingPoly": { +"description": "A bounding polygon for the detected image annotation.", +"id": "BoundingPoly", +"properties": { +"label": { +"description": "A description of this polygon.", +"type": "string" +}, +"vertices": { +"description": "List of the vertices of this polygon.", +"items": { +"$ref": "Vertex" +}, +"type": "array" +} +}, +"type": "object" +}, +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"CharacterMaskConfig": { +"description": "Mask a string by replacing its characters with a fixed character.", +"id": "CharacterMaskConfig", +"properties": { +"maskingCharacter": { +"description": "Character to mask the sensitive values. If not supplied, defaults to \"*\".", +"type": "string" +} +}, +"type": "object" +}, +"CharacterMaskField": { +"description": "Replace field value with masking character. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml.", +"id": "CharacterMaskField", +"properties": {}, +"type": "object" +}, +"CheckDataAccessRequest": { +"description": "Checks if a particular data_id of a User data mapping in the given consent store is consented for a given use.", +"id": "CheckDataAccessRequest", +"properties": { +"consentList": { +"$ref": "ConsentList", +"description": "Optional. Specific Consents to evaluate the access request against. These Consents must have the same `user_id` as the evaluated User data mapping, must exist in the current `consent_store`, and have a `state` of either `ACTIVE` or `DRAFT`. A maximum of 100 Consents can be provided here. If no selection is specified, the access request is evaluated against all `ACTIVE` unexpired Consents with the same `user_id` as the evaluated User data mapping." +}, +"dataId": { +"description": "Required. The unique identifier of the resource to check access for. This identifier must correspond to a User data mapping in the given consent store.", +"type": "string" +}, +"requestAttributes": { +"additionalProperties": { +"type": "string" +}, +"description": "The values of request attributes associated with this access request.", +"type": "object" +}, +"responseView": { +"description": "Optional. The view for CheckDataAccessResponse. If unspecified, defaults to `BASIC` and returns `consented` as `TRUE` or `FALSE`.", +"enum": [ +"RESPONSE_VIEW_UNSPECIFIED", +"BASIC", +"FULL" +], +"enumDescriptions": [ +"No response view specified. The API will default to the BASIC view.", +"Only the `consented` field is populated in CheckDataAccessResponse.", +"All fields within CheckDataAccessResponse are populated. When set to `FULL`, all `ACTIVE` Consents are evaluated even if a matching policy is found during evaluation." +], +"type": "string" +} +}, +"type": "object" +}, +"CheckDataAccessResponse": { +"description": "Checks if a particular data_id of a User data mapping in the given consent store is consented for a given use.", +"id": "CheckDataAccessResponse", +"properties": { +"consentDetails": { +"additionalProperties": { +"$ref": "ConsentEvaluation" +}, +"description": "The resource names of all evaluated Consents mapped to their evaluation.", +"type": "object" +}, +"consented": { +"description": "Whether the requested resource is consented for the given use.", +"type": "boolean" +} +}, +"type": "object" +}, +"CleanDescriptorsOption": { +"description": "This option is based on the DICOM Standard's [Clean Descriptors Option](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/sect_E.3.5.html), and the `CleanText` `Action` is applied to all the specified fields. When cleaning text, the process attempts to transform phrases matching any of the tags marked for removal (action codes D, Z, X, and U) in the [Basic Profile](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/chapter_E.html). These contextual phrases are replaced with the token \"[CTX]\". This option uses an additional infoType during inspection.", +"id": "CleanDescriptorsOption", +"properties": {}, +"type": "object" +}, +"CleanTextField": { +"description": "Inspect text and transform sensitive text. Configure using TextConfig. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml.", +"id": "CleanTextField", +"properties": {}, +"type": "object" +}, +"CleanTextTag": { +"description": "Inspect text and transform sensitive text. Configurable using TextConfig. Supported [Value Representations] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): AE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS", +"id": "CleanTextTag", +"properties": {}, +"type": "object" +}, +"CloudHealthcareSource": { +"description": "Cloud Healthcare API resource.", +"id": "CloudHealthcareSource", +"properties": { +"name": { +"description": "Full path of a Cloud Healthcare API resource.", +"type": "string" +} +}, +"type": "object" +}, +"ConfigureSearchRequest": { +"description": "Request to configure the search parameters for the specified FHIR store.", +"id": "ConfigureSearchRequest", +"properties": { +"canonicalUrls": { +"description": "The canonical URLs of the search parameters that are intended to be used for the FHIR store. See https://www.hl7.org/fhir/references.html#canonical for explanation on FHIR canonical urls", +"items": { +"type": "string" +}, +"type": "array" +}, +"validateOnly": { +"description": "If `validate_only` is set to true, the method will compile all the search parameters without actually setting the search config for the store and triggering the reindex.", +"type": "boolean" +} +}, +"type": "object" +}, +"Consent": { +"description": "Represents a user's consent.", +"id": "Consent", +"properties": { +"consentArtifact": { +"description": "Required. The resource name of the Consent artifact that contains proof of the end user's consent, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consentArtifacts/{consent_artifact_id}`.", +"type": "string" +}, +"expireTime": { +"description": "Timestamp in UTC of when this Consent is considered expired.", +"format": "google-datetime", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. User-supplied key-value pairs used to organize Consent resources. Metadata keys must: - be between 1 and 63 characters long - have a UTF-8 encoding of maximum 128 bytes - begin with a letter - consist of up to 63 characters including lowercase letters, numeric characters, underscores, and dashes Metadata values must be: - be between 1 and 63 characters long - have a UTF-8 encoding of maximum 128 bytes - consist of up to 63 characters including lowercase letters, numeric characters, underscores, and dashes No more than 64 metadata entries can be associated with a given consent.", +"type": "object" +}, +"name": { +"description": "Identifier. Resource name of the Consent, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consents/{consent_id}`. Cannot be changed after creation.", +"type": "string" +}, +"policies": { +"description": "Optional. Represents a user's consent in terms of the resources that can be accessed and under what conditions.", +"items": { +"$ref": "GoogleCloudHealthcareV1beta1ConsentPolicy" +}, +"type": "array" +}, +"revisionCreateTime": { +"description": "Output only. The timestamp that the revision was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"revisionId": { +"description": "Output only. The revision ID of the Consent. The format is an 8-character hexadecimal string. Refer to a specific revision of a Consent by appending `@{revision_id}` to the Consent's resource name.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Required. Indicates the current state of this Consent.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"ARCHIVED", +"REVOKED", +"DRAFT", +"REJECTED" +], +"enumDescriptions": [ +"No state specified. Treated as ACTIVE only at the time of resource creation.", +"The Consent is active and is considered when evaluating a user's consent on resources.", +"The archived state is currently not being used.", +"A revoked Consent is not considered when evaluating a user's consent on resources.", +"A draft Consent is not considered when evaluating a user's consent on resources unless explicitly specified.", +"When a draft Consent is rejected by a user, it is set to a rejected state. A rejected Consent is not considered when evaluating a user's consent on resources." +], +"type": "string" +}, +"ttl": { +"description": "Input only. The time to live for this Consent from when it is created.", +"format": "google-duration", +"type": "string" +}, +"userId": { +"description": "Required. User's UUID provided by the client.", +"type": "string" +} +}, +"type": "object" +}, +"ConsentAccessorScope": { +"description": "The accessor scope that describes who can access, for what purpose, in which environment.", +"id": "ConsentAccessorScope", +"properties": { +"actor": { +"description": "An individual, group, or access role that identifies the accessor or a characteristic of the accessor. This can be a resource ID (such as `{resourceType}/{id}`) or an external URI. This value must be present.", +"type": "string" +}, +"environment": { +"description": "An abstract identifier that describes the environment or conditions under which the accessor is acting. Can be \"*\" if it applies to all environments.", +"type": "string" +}, +"purpose": { +"description": "The intent of data use. Can be \"*\" if it applies to all purposes.", +"type": "string" +} +}, +"type": "object" +}, +"ConsentArtifact": { +"description": "Documentation of a user's consent.", +"id": "ConsentArtifact", +"properties": { +"consentContentScreenshots": { +"description": "Optional. Screenshots, PDFs, or other binary information documenting the user's consent.", +"items": { +"$ref": "Image" +}, +"type": "array" +}, +"consentContentVersion": { +"description": "Optional. An string indicating the version of the consent information shown to the user.", +"type": "string" +}, +"guardianSignature": { +"$ref": "Signature", +"description": "Optional. A signature from a guardian." +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Metadata associated with the Consent artifact. For example, the consent locale or user agent version.", +"type": "object" +}, +"name": { +"description": "Identifier. Resource name of the Consent artifact, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consentArtifacts/{consent_artifact_id}`. Cannot be changed after creation.", +"type": "string" +}, +"userId": { +"description": "Required. User's UUID provided by the client.", +"type": "string" +}, +"userSignature": { +"$ref": "Signature", +"description": "Optional. User's signature." +}, +"witnessSignature": { +"$ref": "Signature", +"description": "Optional. A signature from a witness." +} +}, +"type": "object" +}, +"ConsentConfig": { +"description": "Configures whether to enforce consent for the FHIR store and which consent enforcement version is being used.", +"id": "ConsentConfig", +"properties": { +"accessDeterminationLogConfig": { +"$ref": "AccessDeterminationLogConfig", +"description": "Optional. Specifies how the server logs the consent-aware requests. If not specified, the `AccessDeterminationLogConfig.LogLevel.MINIMUM` option is used." +}, +"accessEnforced": { +"description": "Optional. The default value is false. If set to true, when accessing FHIR resources, the consent headers will be verified against consents given by patients. See the ConsentEnforcementVersion for the supported consent headers.", +"type": "boolean" +}, +"consentHeaderHandling": { +"$ref": "ConsentHeaderHandling", +"description": "Optional. Different options to configure the behaviour of the server when handling the `X-Consent-Scope` header." +}, +"enforcedAdminConsents": { +"description": "The versioned names of the enforced admin Consent resource(s), in the format `projects/{project_id}/locations/{location}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/fhir/Consent/{resource_id}/_history/{version_id}`. For FHIR stores with `disable_resource_versioning=true`, the format is `projects/{project_id}/locations/{location}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/fhir/Consent/{resource_id}`. This field can only be updated using ApplyAdminConsents.", +"items": { +"type": "string" +}, +"type": "array" +}, +"version": { +"description": "Required. Specifies which consent enforcement version is being used for this FHIR store. This field can only be set once by either CreateFhirStore or UpdateFhirStore. After that, you must call ApplyConsents to change the version.", +"enum": [ +"CONSENT_ENFORCEMENT_VERSION_UNSPECIFIED", +"V1" +], +"enumDescriptions": [ +"Users must specify an enforcement version or an error is returned.", +"Enforcement version 1. See the [FHIR Consent resources in the Cloud Healthcare API](https://cloud.google.com/healthcare-api/docs/fhir-consent) guide for more details." +], +"type": "string" +} +}, +"type": "object" +}, +"ConsentErrors": { +"description": "The Consent resource name and error.", +"id": "ConsentErrors", +"properties": { +"error": { +"$ref": "Status", +"description": "The error code and message." +}, +"name": { +"description": "The versioned name of the admin Consent resource, in the format `projects/{project_id}/locations/{location}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/fhir/Consent/{resource_id}/_history/{version_id}`. For FHIR stores with `disable_resource_versioning=true`, the format is `projects/{project_id}/locations/{location}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/fhir/Consent/{resource_id}`.", +"type": "string" +} +}, +"type": "object" +}, +"ConsentEvaluation": { +"description": "The detailed evaluation of a particular Consent.", +"id": "ConsentEvaluation", +"properties": { +"evaluationResult": { +"description": "The evaluation result.", +"enum": [ +"EVALUATION_RESULT_UNSPECIFIED", +"NOT_APPLICABLE", +"NO_MATCHING_POLICY", +"NO_SATISFIED_POLICY", +"HAS_SATISFIED_POLICY" +], +"enumDescriptions": [ +"No evaluation result specified. This option is invalid.", +"The Consent is not applicable to the requested access determination. For example, the Consent does not apply to the user for which the access determination is requested, or it has a `state` of `REVOKED`, or it has expired.", +"The Consent does not have a policy that matches the `resource_attributes` of the evaluated resource.", +"The Consent has at least one policy that matches the `resource_attributes` of the evaluated resource, but no `authorization_rule` was satisfied.", +"The Consent has at least one policy that matches the `resource_attributes` of the evaluated resource, and at least one `authorization_rule` was satisfied." +], +"type": "string" +} +}, +"type": "object" +}, +"ConsentHeaderHandling": { +"description": "How the server handles the consent header.", +"id": "ConsentHeaderHandling", +"properties": { +"profile": { +"description": "Optional. Specifies the default server behavior when the header is empty. If not specified, the `ScopeProfile.PERMIT_EMPTY_SCOPE` option is used.", +"enum": [ +"SCOPE_PROFILE_UNSPECIFIED", +"PERMIT_EMPTY_SCOPE", +"REQUIRED_ON_READ" +], +"enumDescriptions": [ +"If not specified, the default value `PERMIT_EMPTY_SCOPE` is used.", +"When no consent scopes are provided (for example, if there's an empty or missing header), then consent check is disabled, similar to when `access_enforced` is `false`. You can use audit logs to differentiate these two cases by looking at the value of `protopayload.metadata.consentMode`. If consents scopes are present, they must be valid and within the allowed limits, otherwise the request will be rejected with a `4xx` code.", +"The consent header must be non-empty when performing read and search operations, otherwise the request is rejected with a `4xx` code. Additionally, invalid consent scopes or scopes exceeding the allowed limits are rejected." +], +"type": "string" +} +}, +"type": "object" +}, +"ConsentList": { +"description": "List of resource names of Consent resources.", +"id": "ConsentList", +"properties": { +"consents": { +"description": "The resource names of the Consents to evaluate against, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consents/{consent_id}`.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ConsentStore": { +"description": "Represents a consent store.", +"id": "ConsentStore", +"properties": { +"defaultConsentTtl": { +"description": "Optional. Default time to live for Consents created in this store. Must be at least 24 hours. Updating this field will not affect the expiration time of existing consents.", +"format": "google-duration", +"type": "string" +}, +"enableConsentCreateOnUpdate": { +"description": "Optional. If `true`, UpdateConsent creates the Consent if it does not already exist. If unspecified, defaults to `false`.", +"type": "boolean" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. User-supplied key-value pairs used to organize consent stores. 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 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}\\p{N}_-]{0,63}. No more than 64 labels can be associated with a given store. For more information: https://cloud.google.com/healthcare/docs/how-tos/labeling-resources", +"type": "object" +}, +"name": { +"description": "Resource name of the consent store, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}`. Cannot be changed after creation.", +"type": "string" +} +}, +"type": "object" +}, +"ContextualDeidConfig": { +"description": "Fields that don't match a KeepField or CleanTextField `action` in the BASIC profile are collected into a contextual phrase list. For fields that match a CleanTextField `action` in FieldMetadata or ProfileType, the process attempts to transform phrases matching these contextual entries. These contextual phrases are replaced with the token \"[CTX]\". This feature uses an additional InfoType during inspection.", +"id": "ContextualDeidConfig", +"properties": {}, +"type": "object" +}, +"CreateMessageRequest": { +"description": "Creates a new message.", +"id": "CreateMessageRequest", +"properties": { +"message": { +"$ref": "Message", +"description": "Required. HL7v2 message." +} +}, +"type": "object" +}, +"CryptoHashConfig": { +"description": "Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. Outputs a base64-encoded representation of the hashed output. For example, `L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=`.", +"id": "CryptoHashConfig", +"properties": { +"cryptoKey": { +"description": "An AES 128/192/256 bit key. Causes the hash to be computed based on this key. A default key is generated for each Deidentify operation and is used when neither crypto_key nor kms_wrapped is specified. Must not be set if kms_wrapped is set.", +"format": "byte", +"type": "string" +}, +"kmsWrapped": { +"$ref": "KmsWrappedCryptoKey", +"description": "KMS wrapped key. Must not be set if crypto_key is set." +} +}, +"type": "object" +}, +"CryptoHashField": { +"description": "Replace field value with a hash of that value. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml.", +"id": "CryptoHashField", +"properties": {}, +"type": "object" +}, +"Dataset": { +"description": "A message representing a health dataset. A health dataset represents a collection of healthcare data pertaining to one or more patients. This may include multiple modalities of healthcare data, such as electronic medical records or medical imaging data.", +"id": "Dataset", +"properties": { +"encryptionSpec": { +"$ref": "EncryptionSpec", +"description": "Customer-managed encryption key spec for a Dataset. If set, this Dataset and all of its sub-resources will be secured by this key. If empty, the Dataset is secured by the default Google encryption key." +}, +"name": { +"description": "Identifier. Resource name of the dataset, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.", +"type": "string" +}, +"timeZone": { +"description": "The default timezone used by this dataset. Must be a either a valid IANA time zone name such as \"America/New_York\" or empty, which defaults to UTC. This is used for parsing times in resources, such as HL7 messages, where no explicit timezone is specified.", +"type": "string" +} +}, +"type": "object" +}, +"DateShiftConfig": { +"description": "Shift a date forward or backward in time by a random amount which is consistent for a given patient and crypto key combination.", +"id": "DateShiftConfig", +"properties": { +"cryptoKey": { +"description": "An AES 128/192/256 bit key. The date shift is computed based on this key and the patient ID. If the patient ID is empty for a DICOM resource, the date shift is computed based on this key and the study instance UID. If crypto_key is not set, then kms_wrapped is used to calculate the date shift. If neither is set, a default key is generated for each de-identify operation. Must not be set if kms_wrapped is set.", +"format": "byte", +"type": "string" +}, +"kmsWrapped": { +"$ref": "KmsWrappedCryptoKey", +"description": "KMS wrapped key. If kms_wrapped is not set, then crypto_key is used to calculate the date shift. If neither is set, a default key is generated for each de-identify operation. Must not be set if crypto_key is set." +} +}, +"type": "object" +}, +"DateShiftField": { +"description": "Shift the date by a randomized number of days. See [date shifting](https://cloud.google.com/dlp/docs/concepts-date-shifting) for more information. Supported [types](https://www.hl7.org/fhir/datatypes.html): Date, DateTime.", +"id": "DateShiftField", +"properties": {}, +"type": "object" +}, +"DeidentifiedStoreDestination": { +"description": "Contains configuration for streaming de-identified FHIR export.", +"id": "DeidentifiedStoreDestination", +"properties": { +"config": { +"$ref": "DeidentifyConfig", +"description": "The configuration to use when de-identifying resources that are added to this store." +}, +"store": { +"description": "The full resource name of a Cloud Healthcare FHIR store, for example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.", +"type": "string" +} +}, +"type": "object" +}, +"DeidentifyConfig": { +"description": "Configures de-id options specific to different types of content. Each submessage customizes the handling of an https://tools.ietf.org/html/rfc6838 media type or subtype. Configs are applied in a nested manner at runtime.", +"id": "DeidentifyConfig", +"properties": { +"annotation": { +"$ref": "AnnotationConfig", +"description": "Configures how annotations, meaning that the location and infoType of sensitive information findings, are created during de-identification. If unspecified, no annotations are created." +}, +"dicom": { +"$ref": "DicomConfig", +"deprecated": true, +"description": "Configures de-id of application/DICOM content. Deprecated. Use `dicom_tag_config` instead." +}, +"dicomTagConfig": { +"$ref": "DicomTagConfig", +"description": "Configures de-id of application/DICOM content." +}, +"fhir": { +"$ref": "FhirConfig", +"deprecated": true, +"description": "Configures de-id of application/FHIR content. Deprecated. Use `fhir_field_config` instead." +}, +"fhirFieldConfig": { +"$ref": "FhirFieldConfig", +"description": "Configures de-id of application/FHIR content." +}, +"image": { +"$ref": "ImageConfig", +"deprecated": true, +"description": "Configures the de-identification of image pixels in the source_dataset. Deprecated. Use `dicom_tag_config.options.clean_image` instead." +}, +"operationMetadata": { +"$ref": "DeidentifyOperationMetadata", +"description": "Details about the work the de-identify operation performed." +}, +"text": { +"$ref": "TextConfig", +"description": "Configures de-identification of text wherever it is found in the source_dataset." +}, +"useRegionalDataProcessing": { +"description": "Ensures in-flight data remains in the region of origin during de-identification. The default value is false. Using this option results in a significant reduction of throughput, and is not compatible with `LOCATION` or `ORGANIZATION_NAME` infoTypes. If the deprecated DicomConfig or FhirConfig are used, then `LOCATION` must be excluded within TextConfig, and must also be excluded within ImageConfig if image redaction is required.", +"type": "boolean" +} +}, +"type": "object" +}, +"DeidentifyDatasetRequest": { +"description": "Redacts identifying information from the specified dataset.", +"id": "DeidentifyDatasetRequest", +"properties": { +"config": { +"$ref": "DeidentifyConfig", +"description": "Deidentify configuration. Only one of `config` and `gcs_config_uri` can be specified." +}, +"destinationDataset": { +"description": "Required. The name of the dataset resource to create and write the redacted data to. * The destination dataset must not exist. * The destination dataset must be in the same location as the source dataset. De-identifying data across multiple locations is not supported.", +"type": "string" +}, +"gcsConfigUri": { +"description": "Cloud Storage location to read the JSON cloud.healthcare.deidentify.DeidentifyConfig from, overriding the default config. Must be of the form `gs://{bucket_id}/path/to/object`. The Cloud Storage location must grant the Cloud IAM role `roles/storage.objectViewer` to the project's Cloud Healthcare Service Agent service account. Only one of `config` and `gcs_config_uri` can be specified.", +"type": "string" +} +}, +"type": "object" +}, +"DeidentifyDicomStoreRequest": { +"description": "Creates a new DICOM store with sensitive information de-identified.", +"id": "DeidentifyDicomStoreRequest", +"properties": { +"config": { +"$ref": "DeidentifyConfig", +"description": "Deidentify configuration. Only one of `config` and `gcs_config_uri` can be specified." +}, +"destinationStore": { +"description": "Required. The name of the DICOM store to create and write the redacted data to. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`. * The destination dataset must exist. * The source dataset and destination dataset must both reside in the same location. De-identifying data across multiple locations is not supported. * The destination DICOM store must not exist. * The caller must have the necessary permissions to create the destination DICOM store.", +"type": "string" +}, +"filterConfig": { +"$ref": "DicomFilterConfig", +"description": "Filter configuration." +}, +"gcsConfigUri": { +"description": "Cloud Storage location to read the JSON cloud.healthcare.deidentify.DeidentifyConfig from, overriding the default config. Must be of the form `gs://{bucket_id}/path/to/object`. The Cloud Storage location must grant the Cloud IAM role `roles/storage.objectViewer` to the project's Cloud Healthcare Service Agent service account. Only one of `config` and `gcs_config_uri` can be specified.", +"type": "string" +} +}, +"type": "object" +}, +"DeidentifyFhirStoreRequest": { +"description": "Creates a new FHIR store with sensitive information de-identified.", +"id": "DeidentifyFhirStoreRequest", +"properties": { +"config": { +"$ref": "DeidentifyConfig", +"description": "Deidentify configuration. Only one of `config` and `gcs_config_uri` can be specified." +}, +"destinationStore": { +"description": "Required. The name of the FHIR store to create and write the redacted data to. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`. * The destination dataset must exist. * The source dataset and destination dataset must both reside in the same location. De-identifying data across multiple locations is not supported. * The destination FHIR store must exist. * The caller must have the healthcare.fhirResources.update permission to write to the destination FHIR store.", +"type": "string" +}, +"gcsConfigUri": { +"description": "Cloud Storage location to read the JSON cloud.healthcare.deidentify.DeidentifyConfig from, overriding the default config. Must be of the form `gs://{bucket_id}/path/to/object`. The Cloud Storage location must grant the Cloud IAM role `roles/storage.objectViewer` to the project's Cloud Healthcare Service Agent service account. Only one of `config` and `gcs_config_uri` can be specified.", +"type": "string" +}, +"resourceFilter": { +"$ref": "FhirFilter", +"description": "A filter specifying the resources to include in the output. If not specified, all resources are included in the output." +}, +"skipModifiedResources": { +"description": "If true, skips resources that are created or modified after the de-identify operation is created.", +"type": "boolean" +} +}, +"type": "object" +}, +"DeidentifyOperationMetadata": { +"description": "Details about the work the de-identify operation performed.", +"id": "DeidentifyOperationMetadata", +"properties": { +"fhirOutput": { +"$ref": "FhirOutput", +"description": "Details about the FHIR store to write the output to." +} +}, +"type": "object" +}, +"DeidentifySummary": { +"description": "Contains a detailed summary of the Deidentify operation.", +"id": "DeidentifySummary", +"properties": {}, +"type": "object" +}, +"DeleteTag": { +"description": "Delete tag.", +"id": "DeleteTag", +"properties": {}, +"type": "object" +}, +"Detail": { +"description": "Contains multiple sensitive information findings for each resource slice.", +"id": "Detail", +"properties": { +"findings": { +"items": { +"$ref": "Finding" +}, +"type": "array" +} +}, +"type": "object" +}, +"DicomConfig": { +"description": "Specifies the parameters needed for de-identification of DICOM stores.", +"id": "DicomConfig", +"properties": { +"filterProfile": { +"description": "Tag filtering profile that determines which tags to keep/remove.", +"enum": [ +"TAG_FILTER_PROFILE_UNSPECIFIED", +"MINIMAL_KEEP_LIST_PROFILE", +"ATTRIBUTE_CONFIDENTIALITY_BASIC_PROFILE", +"KEEP_ALL_PROFILE", +"DEIDENTIFY_TAG_CONTENTS" +], +"enumDescriptions": [ +"No tag filtration profile provided. Same as KEEP_ALL_PROFILE.", +"Keep only the tags required to produce valid DICOM objects.", +"Remove tags based on DICOM Standard's Attribute Confidentiality Basic Profile (DICOM Standard Edition 2018e) http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/chapter_E.html.", +"Keep all tags.", +"Inspect within tag contents and replace sensitive text. The process can be configured using the TextConfig. Applies to all tags with the following Value Representation names: AE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS" +], +"type": "string" +}, +"keepList": { +"$ref": "TagFilterList", +"description": "List of tags to keep. Remove all other tags." +}, +"removeList": { +"$ref": "TagFilterList", +"description": "List of tags to remove. Keep all other tags." +}, +"skipIdRedaction": { +"description": "If true, skip replacing StudyInstanceUID, SeriesInstanceUID, SOPInstanceUID, and MediaStorageSOPInstanceUID and leave them untouched. The Cloud Healthcare API regenerates these UIDs by default based on the DICOM Standard's reasoning: \"Whilst these UIDs cannot be mapped directly to an individual out of context, given access to the original images, or to a database of the original images containing the UIDs, it would be possible to recover the individual's identity.\" http://dicom.nema.org/medical/dicom/current/output/chtml/part15/sect_E.3.9.html", +"type": "boolean" +} +}, +"type": "object" +}, +"DicomFilterConfig": { +"description": "Specifies the filter configuration for DICOM resources.", +"id": "DicomFilterConfig", +"properties": { +"resourcePathsGcsUri": { +"description": "The Cloud Storage location of the filter configuration file. The `gcs_uri` must be in the format `gs://bucket/path/to/object`. The filter configuration file must contain a list of resource paths separated by newline characters (\\n or \\r\\n). Each resource path must be in the format \"/studies/{studyUID}[/series/{seriesUID}[/instances/{instanceUID}]]\" The Cloud Healthcare API service account must have the `roles/storage.objectViewer` Cloud IAM role for this Cloud Storage location.", +"type": "string" +} +}, +"type": "object" +}, +"DicomStore": { +"description": "Represents a DICOM store.", +"id": "DicomStore", +"properties": { +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "User-supplied key-value pairs used to organize DICOM stores. 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 are optional, 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}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store.", +"type": "object" +}, +"name": { +"description": "Identifier. Resource name of the DICOM store, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", +"type": "string" +}, +"notificationConfig": { +"$ref": "NotificationConfig", +"description": "Notification destination for new DICOM instances. Supplied by the client." +}, +"streamConfigs": { +"description": "Optional. A list of streaming configs used to configure the destination of streaming exports for every DICOM instance insertion in this DICOM store. After a new config is added to `stream_configs`, DICOM instance insertions are streamed to the new destination. When a config is removed from `stream_configs`, the server stops streaming to that destination. Each config must contain a unique destination.", +"items": { +"$ref": "GoogleCloudHealthcareV1beta1DicomStreamConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"DicomStoreMetrics": { +"description": "DicomStoreMetrics contains metrics describing a DICOM store.", +"id": "DicomStoreMetrics", +"properties": { +"blobStorageSizeBytes": { +"description": "Total blob storage bytes for all instances in the store.", +"format": "int64", +"type": "string" +}, +"instanceCount": { +"description": "Number of instances in the store.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "Resource name of the DICOM store, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", +"type": "string" +}, +"seriesCount": { +"description": "Number of series in the store.", +"format": "int64", +"type": "string" +}, +"structuredStorageSizeBytes": { +"description": "Total structured storage bytes for all instances in the store.", +"format": "int64", +"type": "string" +}, +"studyCount": { +"description": "Number of studies in the store.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"DicomTagConfig": { +"description": "Specifies the parameters needed for the de-identification of DICOM stores.", +"id": "DicomTagConfig", +"properties": { +"actions": { +"description": "Specifies custom tag selections and `Actions` to apply to them. Overrides `options` and `profile`. Conflicting `Actions` are applied in the order given.", +"items": { +"$ref": "Action" +}, +"type": "array" +}, +"options": { +"$ref": "Options", +"description": "Specifies additional options to apply, overriding the base `profile`." +}, +"profileType": { +"description": "Base profile type for handling DICOM tags.", +"enum": [ +"PROFILE_TYPE_UNSPECIFIED", +"MINIMAL_KEEP_LIST_PROFILE", +"ATTRIBUTE_CONFIDENTIALITY_BASIC_PROFILE", +"KEEP_ALL_PROFILE", +"DEIDENTIFY_TAG_CONTENTS" +], +"enumDescriptions": [ +"No profile provided. Same as `ATTRIBUTE_CONFIDENTIALITY_BASIC_PROFILE`.", +"Keep only the tags required to produce valid DICOM objects.", +"Remove tags based on DICOM Standard's [Attribute Confidentiality Basic Profile (DICOM Standard Edition 2018e)](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/chapter_E.html).", +"Keep all tags.", +"Inspect tag contents and replace sensitive text. The process can be configured using the TextConfig. Applies to all tags with the following [Value Representations] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): AE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS" +], +"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" +}, +"EncryptionSpec": { +"description": "Represents a customer-managed encryption key spec that can be applied to a resource.", +"id": "EncryptionSpec", +"properties": { +"kmsKeyName": { +"description": "Required. The resource name of customer-managed encryption key that is used to secure a resource and its sub-resources. Only the key in the same location as this dataset is allowed to be used for encryption. Format is: `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{key}`", +"type": "string" +} +}, +"type": "object" +}, +"Entity": { +"description": "The candidate entities that an entity mention could link to.", +"id": "Entity", +"properties": { +"entityId": { +"description": "entity_id is a first class field entity_id uniquely identifies this concept and its meta-vocabulary. For example, \"UMLS/C0000970\".", +"type": "string" +}, +"preferredTerm": { +"description": "preferred_term is the preferred term for this concept. For example, \"Acetaminophen\". For ad hoc entities formed by normalization, this is the most popular unnormalized string.", +"type": "string" +}, +"vocabularyCodes": { +"description": "Vocabulary codes are first-class fields and differentiated from the concept unique identifier (entity_id). vocabulary_codes contains the representation of this concept in particular vocabularies, such as ICD-10, SNOMED-CT and RxNORM. These are prefixed by the name of the vocabulary, followed by the unique code within that vocabulary. For example, \"RXNORM/A10334543\".", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"EntityMention": { +"description": "An entity mention in the document.", +"id": "EntityMention", +"properties": { +"additionalInfo": { +"description": "Additional information about the entity mention. For example, for an entity mention of type `DATE` this can be its more specific date types from the following list: `ADMISSION_DATE`, `CONSULTATION_DATE`, `DISCHARGE_DATE`, `SERVICE_DATE`, `VISIT_DATE`, `DIAGNOSIS_DATE`, `MED_STARTED_DATE`, `MED_ENDED_DATE`, `NOTE_DATE`, `PROCEDURE_DATE`, `RADIATION_STARTED_DATE`, `RADIATION_ENDED_DATE`, `STAGE_DATE`", +"items": { +"$ref": "Feature" +}, +"type": "array" +}, +"certaintyAssessment": { +"$ref": "Feature", +"description": "The certainty assessment of the entity mention. Its value is one of: LIKELY, SOMEWHAT_LIKELY, UNCERTAIN, SOMEWHAT_UNLIKELY, UNLIKELY, CONDITIONAL" +}, +"confidence": { +"description": "The model's confidence in this entity mention annotation. A number between 0 and 1.", +"format": "double", +"type": "number" +}, +"linkedEntities": { +"description": "linked_entities are candidate ontological concepts that this entity mention may refer to. They are sorted by decreasing confidence.", +"items": { +"$ref": "LinkedEntity" +}, +"type": "array" +}, +"mentionId": { +"description": "mention_id uniquely identifies each entity mention in a single response.", +"type": "string" +}, +"subject": { +"$ref": "Feature", +"description": "The subject this entity mention relates to. Its value is one of: PATIENT, FAMILY_MEMBER, OTHER" +}, +"temporalAssessment": { +"$ref": "Feature", +"description": "How this entity mention relates to the subject temporally. Its value is one of: CURRENT, CLINICAL_HISTORY, FAMILY_HISTORY, UPCOMING, ALLERGY" +}, +"text": { +"$ref": "TextSpan", +"description": "text is the location of the entity mention in the document." +}, +"type": { +"description": "The semantic type of the entity: UNKNOWN_ENTITY_TYPE, ALONE, ANATOMICAL_STRUCTURE, ASSISTED_LIVING, BF_RESULT, BM_RESULT, BM_UNIT, BM_VALUE, BODY_FUNCTION, BODY_MEASUREMENT, COMPLIANT, DOESNOT_FOLLOWUP, FAMILY, FOLLOWSUP, LABORATORY_DATA, LAB_RESULT, LAB_UNIT, LAB_VALUE, MEDICAL_DEVICE, MEDICINE, MED_DOSE, MED_DURATION, MED_FORM, MED_FREQUENCY, MED_ROUTE, MED_STATUS, MED_STRENGTH, MED_TOTALDOSE, MED_UNIT, NON_COMPLIANT, OTHER_LIVINGSTATUS, PROBLEM, PROCEDURE, PROCEDURE_RESULT, PROC_METHOD, REASON_FOR_NONCOMPLIANCE, SEVERITY, SUBSTANCE_ABUSE, UNCLEAR_FOLLOWUP.", +"type": "string" +} +}, +"type": "object" +}, +"EntityMentionRelationship": { +"description": "Defines directed relationship from one entity mention to another.", +"id": "EntityMentionRelationship", +"properties": { +"confidence": { +"description": "The model's confidence in this annotation. A number between 0 and 1.", +"format": "double", +"type": "number" +}, +"objectId": { +"description": "object_id is the id of the object entity mention.", +"type": "string" +}, +"subjectId": { +"description": "subject_id is the id of the subject entity mention.", +"type": "string" +} +}, +"type": "object" +}, +"EvaluateAnnotationStoreRequest": { +"description": "Request to evaluate an Annotation store against a ground truth [Annotation store].", +"id": "EvaluateAnnotationStoreRequest", +"properties": { +"bigqueryDestination": { +"$ref": "GoogleCloudHealthcareV1beta1AnnotationBigQueryDestination", +"description": "The BigQuery table where the server writes the output. BigQueryDestination requires the `roles/bigquery.dataEditor` and `roles/bigquery.jobUser` Cloud IAM roles." +}, +"evalInfoTypeMapping": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. InfoType mapping for `eval_store`. Different resources can map to the same infoType. For example, `PERSON_NAME`, `PERSON`, `NAME`, and `HUMAN` are different. To map all of these into a single infoType (such as `PERSON_NAME`), specify the following mapping: ``` info_type_mapping[\"PERSON\"] = \"PERSON_NAME\" info_type_mapping[\"NAME\"] = \"PERSON_NAME\" info_type_mapping[\"HUMAN\"] = \"PERSON_NAME\" ``` Unmentioned infoTypes, such as `DATE`, are treated as identity mapping. For example: ``` info_type_mapping[\"DATE\"] = \"DATE\" ``` InfoTypes are case-insensitive.", +"type": "object" +}, +"goldenInfoTypeMapping": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Similar to `eval_info_type_mapping`, infoType mapping for `golden_store`.", +"type": "object" +}, +"goldenStore": { +"description": "Required. The Annotation store to use as ground truth, in the format of `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}`.", +"type": "string" +}, +"infoTypeConfig": { +"$ref": "InfoTypeConfig" +} +}, +"type": "object" +}, +"EvaluateAnnotationStoreResponse": { +"description": "Response for successful Annotation store evaluation operations. This structure is included in the response upon operation completion.", +"id": "EvaluateAnnotationStoreResponse", +"properties": {}, +"type": "object" +}, +"EvaluateUserConsentsRequest": { +"description": "Evaluate a user's Consents for all matching User data mappings. Note: User data mappings are indexed asynchronously, causing slight delays between the time mappings are created or updated and when they are included in EvaluateUserConsents results.", +"id": "EvaluateUserConsentsRequest", +"properties": { +"consentList": { +"$ref": "ConsentList", +"description": "Optional. Specific Consents to evaluate the access request against. These Consents must have the same `user_id` as the User data mappings being evalauted, must exist in the current `consent_store`, and must have a `state` of either `ACTIVE` or `DRAFT`. A maximum of 100 Consents can be provided here. If unspecified, all `ACTIVE` unexpired Consents in the current `consent_store` will be evaluated." +}, +"pageSize": { +"description": "Optional. Limit on the number of User data mappings to return in a single response. If not specified, 100 is used. May not be larger than 1000.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Token to retrieve the next page of results, or empty to get the first page.", +"type": "string" +}, +"requestAttributes": { +"additionalProperties": { +"type": "string" +}, +"description": "Required. The values of request attributes associated with this access request.", +"type": "object" +}, +"resourceAttributes": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The values of resource attributes associated with the resources being requested. If no values are specified, then all resources are queried.", +"type": "object" +}, +"responseView": { +"description": "Optional. The view for EvaluateUserConsentsResponse. If unspecified, defaults to `BASIC` and returns `consented` as `TRUE` or `FALSE`.", +"enum": [ +"RESPONSE_VIEW_UNSPECIFIED", +"BASIC", +"FULL" +], +"enumDescriptions": [ +"No response view specified. The API will default to the BASIC view.", +"Only the `data_id` and `consented` fields are populated in the response.", +"All fields within the response are populated. When set to `FULL`, all `ACTIVE` Consents are evaluated even if a matching policy is found during evaluation." +], +"type": "string" +}, +"userId": { +"description": "Required. User ID to evaluate consents for.", +"type": "string" +} +}, +"type": "object" +}, +"EvaluateUserConsentsResponse": { +"id": "EvaluateUserConsentsResponse", +"properties": { +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list. This token is valid for 72 hours after it is created.", +"type": "string" +}, +"results": { +"description": "The consent evaluation result for each `data_id`.", +"items": { +"$ref": "Result" +}, +"type": "array" +} +}, +"type": "object" +}, +"ExplainDataAccessConsentInfo": { +"description": "The enforcing consent's metadata.", +"id": "ExplainDataAccessConsentInfo", +"properties": { +"cascadeOrigins": { +"description": "The compartment base resources that matched a cascading policy. Each resource has the following format: `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/fhir/{resource_type}/{resource_id}`", +"items": { +"type": "string" +}, +"type": "array" +}, +"consentResource": { +"description": "The resource name of this consent resource, in the format: `projects/{project_id}/locations/{location}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/fhir/Consent/{resource_id}`.", +"type": "string" +}, +"enforcementTime": { +"description": "Last enforcement timestamp of this consent resource.", +"format": "google-datetime", +"type": "string" +}, +"matchingAccessorScopes": { +"description": "A list of all the matching accessor scopes of this consent policy that enforced ExplainDataAccessConsentScope.accessor_scope.", +"items": { +"$ref": "ConsentAccessorScope" +}, +"type": "array" +}, +"patientConsentOwner": { +"description": "The patient owning the consent (only applicable for patient consents), in the format: `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/fhir/Patient/{patient_id}`", +"type": "string" +}, +"type": { +"description": "The policy type of consent resource (e.g. PATIENT, ADMIN).", +"enum": [ +"CONSENT_POLICY_TYPE_UNSPECIFIED", +"CONSENT_POLICY_TYPE_PATIENT", +"CONSENT_POLICY_TYPE_ADMIN" +], +"enumDescriptions": [ +"Unspecified policy type.", +"Consent represent a patient consent.", +"Consent represent an admin consent." +], +"type": "string" +}, +"variants": { +"description": "The consent's variant combinations. A single consent may have multiple variants.", +"items": { +"enum": [ +"CONSENT_VARIANT_UNSPECIFIED", +"CONSENT_VARIANT_STANDARD", +"CONSENT_VARIANT_CASCADE" +], +"enumDescriptions": [ +"Consent variant unspecified.", +"Consent is a standard patient or admin consent.", +"Consent is a cascading consent." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ExplainDataAccessConsentScope": { +"description": "A single consent scope that provides info on who has access to the requested resource scope for a particular purpose and environment, enforced by which consent.", +"id": "ExplainDataAccessConsentScope", +"properties": { +"accessorScope": { +"$ref": "ConsentAccessorScope", +"description": "The accessor scope that describes who can access, for what purpose, and in which environment." +}, +"decision": { +"description": "Whether the current consent scope is permitted or denied access on the requested resource.", +"enum": [ +"CONSENT_DECISION_TYPE_UNSPECIFIED", +"CONSENT_DECISION_TYPE_PERMIT", +"CONSENT_DECISION_TYPE_DENY" +], +"enumDescriptions": [ +"Unspecified consent decision type.", +"Consent permitted access.", +"Consent denied access." +], +"type": "string" +}, +"enforcingConsents": { +"description": "Metadata of the consent resources that enforce the consent scope's access.", +"items": { +"$ref": "ExplainDataAccessConsentInfo" +}, +"type": "array" +}, +"exceptions": { +"description": "Other consent scopes that created exceptions within this scope.", +"items": { +"$ref": "ExplainDataAccessConsentScope" +}, +"type": "array" +} +}, +"type": "object" +}, +"ExplainDataAccessResponse": { +"description": "List of consent scopes that are applicable to the explained access on a given resource.", +"id": "ExplainDataAccessResponse", +"properties": { +"consentScopes": { +"description": "List of applicable consent scopes. Sorted in order of actor such that scopes belonging to the same actor will be adjacent to each other in the list.", +"items": { +"$ref": "ExplainDataAccessConsentScope" +}, +"type": "array" +}, +"warning": { +"description": "Warnings associated with this response. It inform user with exceeded scope limit errors.", +"type": "string" +} +}, +"type": "object" +}, +"ExportAnnotationsRequest": { +"description": "Request to export Annotations. The export operation is not atomic. If a failure occurs, any annotations already exported are not removed.", +"id": "ExportAnnotationsRequest", +"properties": { +"bigqueryDestination": { +"$ref": "GoogleCloudHealthcareV1beta1AnnotationBigQueryDestination", +"description": "The BigQuery output destination, which requires two IAM roles: `roles/bigquery.dataEditor` and `roles/bigquery.jobUser`." +}, +"gcsDestination": { +"$ref": "GoogleCloudHealthcareV1beta1AnnotationGcsDestination", +"description": "The Cloud Storage destination, which requires the `roles/storage.objectAdmin` Cloud IAM role." +} +}, +"type": "object" +}, +"ExportAnnotationsResponse": { +"description": "Response for successful annotation export operations. This structure is included in response upon operation completion.", +"id": "ExportAnnotationsResponse", +"properties": {}, +"type": "object" +}, +"ExportDicomDataRequest": { +"description": "Exports data from the specified DICOM store. If a given resource, such as a DICOM object with the same SOPInstance UID, already exists in the output, it is overwritten with the version in the source dataset. Exported DICOM data persists when the DICOM store from which it was exported is deleted.", +"id": "ExportDicomDataRequest", +"properties": { +"bigqueryDestination": { +"$ref": "GoogleCloudHealthcareV1beta1DicomBigQueryDestination", +"description": "The BigQuery output destination. You can only export to a BigQuery dataset that's in the same project as the DICOM store you're exporting from. The Cloud Healthcare Service Agent requires two IAM roles on the BigQuery location: `roles/bigquery.dataEditor` and `roles/bigquery.jobUser`." +}, +"filterConfig": { +"$ref": "DicomFilterConfig", +"description": "Specifies the filter configuration." +}, +"gcsDestination": { +"$ref": "GoogleCloudHealthcareV1beta1DicomGcsDestination", +"description": "The Cloud Storage output destination. The Cloud Healthcare Service Agent requires the `roles/storage.objectAdmin` Cloud IAM roles on the Cloud Storage location." +} +}, +"type": "object" +}, +"ExportDicomDataResponse": { +"description": "Returns additional information in regards to a completed DICOM store export.", +"id": "ExportDicomDataResponse", +"properties": {}, +"type": "object" +}, +"ExportMessagesRequest": { +"description": "Request to schedule an export.", +"id": "ExportMessagesRequest", +"properties": { +"endTime": { +"description": "The end of the range in `send_time` (MSH.7, https://www.hl7.org/documentcenter/public_temp_2E58C1F9-1C23-BA17-0C6126475344DA9D/wg/conf/HL7MSH.htm) to process. If not specified, the time when the export is scheduled is used. This value has to come after the `start_time` defined below. Only messages whose `send_time` lies in the range `start_time` (inclusive) to `end_time` (exclusive) are exported.", +"format": "google-datetime", +"type": "string" +}, +"filter": { +"description": "Restricts messages exported to those matching a filter, only applicable to PubsubDestination and GcsDestination. The following syntax is available: * A string field value can be written as text inside quotation marks, for example `\"query text\"`. The only valid relational operation for text fields is equality (`=`), where text is searched within the field, rather than having the field be equal to the text. For example, `\"Comment = great\"` returns messages with `great` in the comment field. * A number field value can be written as an integer, a decimal, or an exponential. The valid relational operators for number fields are the equality operator (`=`), along with the less than/greater than operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * A date field value must be written in the `yyyy-mm-dd` format. Fields with date and time use the RFC3339 time format. Leading zeros are required for one-digit months and days. The valid relational operators for date fields are the equality operator (`=`) , along with the less than/greater than operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * Multiple field query expressions can be combined in one query by adding `AND` or `OR` operators between the expressions. If a boolean operator appears within a quoted string, it is not treated as special, and is just another part of the character string to be matched. You can prepend the `NOT` operator to an expression to negate it. The following fields and functions are available for filtering: * `message_type`, from the MSH-9.1 field. For example, `NOT message_type = \"ADT\"`. * `send_date` or `sendDate`, the YYYY-MM-DD date the message was sent in the dataset's time_zone, from the MSH-7 segment. For example, `send_date < \"2017-01-02\"`. * `send_time`, the timestamp when the message was sent, using the RFC3339 time format for comparisons, from the MSH-7 segment. For example, `send_time < \"2017-01-02T00:00:00-05:00\"`. * `create_time`, the timestamp when the message was created in the HL7v2 store. Use the RFC3339 time format for comparisons. For example, `create_time < \"2017-01-02T00:00:00-05:00\"`. * `send_facility`, the care center that the message came from, from the MSH-4 segment. For example, `send_facility = \"ABC\"`. Note: The filter will be applied to every message in the HL7v2 store whose `send_time` lies in the range defined by the `start_time` and the `end_time`. Even if the filter only matches a small set of messages, the export operation can still take a long time to finish when a lot of messages are between the specified `start_time` and `end_time` range.", +"type": "string" +}, +"gcsDestination": { +"$ref": "GcsDestination", +"description": "Export to a Cloud Storage destination." +}, +"pubsubDestination": { +"$ref": "PubsubDestination", +"description": "Export messages to a Pub/Sub topic." +}, +"startTime": { +"description": "The start of the range in `send_time` (MSH.7, https://www.hl7.org/documentcenter/public_temp_2E58C1F9-1C23-BA17-0C6126475344DA9D/wg/conf/HL7MSH.htm) to process. If not specified, the UNIX epoch (1970-01-01T00:00:00Z) is used. This value has to come before the `end_time` defined below. Only messages whose `send_time` lies in the range `start_time` (inclusive) to `end_time` (exclusive) are exported.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"ExportMessagesResponse": { +"description": "Final response for the export operation. This structure is included in the response to describe the detailed outcome.", +"id": "ExportMessagesResponse", +"properties": {}, +"type": "object" +}, +"ExportResourcesHistoryRequest": { +"description": "Request to export the history of resources.", +"id": "ExportResourcesHistoryRequest", +"properties": { +"_since": { +"description": "If provided, only resources versions updated after this time are exported. The time uses the format YYYY-MM-DDThh:mm:ss.sss+zz:zz. For example, `2015-02-07T13:28:17.239+02:00` or `2017-01-01T00:00:00Z`. The time must be specified to the second and include a time zone.", +"type": "string" +}, +"_type": { +"description": "String of comma-delimited FHIR resource types. If provided, only resources of the specified resource type(s) are exported.", +"type": "string" +}, +"gcsDestination": { +"$ref": "GoogleCloudHealthcareV1beta1FhirGcsDestination", +"description": "The Cloud Storage output destination. The Healthcare Service Agent account requires the `roles/storage.objectAdmin` role on the Cloud Storage location. The exported outputs are organized by FHIR resource types. The server creates one or more objects per resource type depending on the volume of the resources exported. When there is only one object per resource type, the object name is in the form of `{operation_id})_history_{resource_type}`. When there are multiple objects for a given resource type, the object names are in the form of `{operation_id}_history_{resource_type}-{index}-of-{total}`. Each object contains newline delimited JSON, and each line is a FHIR history bundle containing the history for a single resource." +}, +"maxResourceVersions": { +"description": "If provided and non-zero, places a limit on the number of resource versions that are returned for a given resource. For example, if the limit is `100` and a resource has over 100 versions, only the 100 most recent versions will be returned. Must be positive.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ExportResourcesRequest": { +"description": "Request to export resources.", +"id": "ExportResourcesRequest", +"properties": { +"_since": { +"description": "If provided, only resources updated after this time are exported. The time uses the format YYYY-MM-DDThh:mm:ss.sss+zz:zz. For example, `2015-02-07T13:28:17.239+02:00` or `2017-01-01T00:00:00Z`. The time must be specified to the second and include a time zone.", +"type": "string" +}, +"_type": { +"description": "String of comma-delimited FHIR resource types. If provided, only resources of the specified resource type(s) are exported.", +"type": "string" +}, +"bigqueryDestination": { +"$ref": "GoogleCloudHealthcareV1beta1FhirBigQueryDestination", +"description": "The BigQuery output destination. The Cloud Healthcare Service Agent requires two IAM roles on the BigQuery location: `roles/bigquery.dataEditor` and `roles/bigquery.jobUser`. The output is one BigQuery table per resource type. Unlike when setting `BigQueryDestination` for `StreamConfig`, `ExportResources` does not create BigQuery views." +}, +"gcsDestination": { +"$ref": "GoogleCloudHealthcareV1beta1FhirGcsDestination", +"description": "The Cloud Storage output destination. The Cloud Healthcare Service Agent requires the `roles/storage.objectAdmin` Cloud IAM roles on the Cloud Storage location. The exported outputs are organized by FHIR resource types. The server creates one object per resource type. Each object contains newline delimited JSON, and each line is a FHIR resource." +} +}, +"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" +}, +"Feature": { +"description": "A feature of an entity mention.", +"id": "Feature", +"properties": { +"confidence": { +"description": "The model's confidence in this feature annotation. A number between 0 and 1.", +"format": "double", +"type": "number" +}, +"value": { +"description": "The value of this feature annotation. Its range depends on the type of the feature.", +"type": "string" +} +}, +"type": "object" +}, +"FhirConfig": { +"description": "Specifies how to handle de-identification of a FHIR store.", +"id": "FhirConfig", +"properties": { +"defaultKeepExtensions": { +"description": "The behaviour for handling FHIR extensions that aren't otherwise specified for de-identification. If true, all extensions are preserved during de-identification by default. If false or unspecified, all extensions are removed during de-identification by default.", +"type": "boolean" +}, +"fieldMetadataList": { +"description": "Specifies FHIR paths to match and how to transform them. Any field that is not matched by a FieldMetadata is passed through to the output dataset unmodified. All extensions will be processed according to `default_keep_extensions`. If a field can be matched by more than one FieldMetadata, the first FieldMetadata.Action is applied.", +"items": { +"$ref": "FieldMetadata" +}, +"type": "array" +} +}, +"type": "object" +}, +"FhirFieldConfig": { +"description": "Specifies how to handle the de-identification of a FHIR store.", +"id": "FhirFieldConfig", +"properties": { +"fieldMetadataList": { +"description": "Specifies FHIR paths to match and how to transform them. Any field that is not matched by a FieldMetadata `action` is passed through to the output dataset unmodified. All extensions will be processed according to keep_extensions. If a field can be matched by more than one FieldMetadata `action`, the first `action` option is applied. Overrides options and the union field `profile` in FhirFieldConfig.", +"items": { +"$ref": "GoogleCloudHealthcareV1beta1DeidentifyFieldMetadata" +}, +"type": "array" +}, +"options": { +"$ref": "GoogleCloudHealthcareV1beta1DeidentifyOptions", +"description": "Specifies additional options, overriding the base ProfileType." +}, +"profileType": { +"description": "Base profile type for handling FHIR fields.", +"enum": [ +"PROFILE_TYPE_UNSPECIFIED", +"KEEP_ALL", +"BASIC", +"CLEAN_ALL" +], +"enumDescriptions": [ +"No profile provided. Same as `BASIC`.", +"Keep all fields.", +"Transforms known [HIPAA 18](https://www.hhs.gov/hipaa/for-professionals/privacy/special-topics/de-identification/index.html#standard) fields and cleans known unstructured text fields.", +"Cleans all supported tags. Applies to types: Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml." +], +"type": "string" +} +}, +"type": "object" +}, +"FhirFilter": { +"description": "Filter configuration.", +"id": "FhirFilter", +"properties": { +"resources": { +"$ref": "Resources", +"description": "List of resources to include in the output. If this list is empty or not specified, all resources are included in the output." +} +}, +"type": "object" +}, +"FhirNotificationConfig": { +"description": "Contains the configuration for FHIR notifications.", +"id": "FhirNotificationConfig", +"properties": { +"pubsubTopic": { +"description": "The [Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that notifications of changes are published on. Supplied by the client. The notification is a `PubsubMessage` with the following fields: * `PubsubMessage.Data` contains the resource name. * `PubsubMessage.MessageId` is the ID of this notification. It is guaranteed to be unique within the topic. * `PubsubMessage.PublishTime` is the time when the message was published. Note that notifications are only sent if the topic is non-empty. [Topic names](https://cloud.google.com/pubsub/docs/overview#names) must be scoped to a project. The Cloud Healthcare API service account, service-@gcp-sa-healthcare.iam.gserviceaccount.com, must have publisher permissions on the given Pub/Sub topic. Not having adequate permissions causes the calls that send notifications to fail (https://cloud.google.com/healthcare-api/docs/permissions-healthcare-api-gcp-products#dicom_fhir_and_hl7v2_store_cloud_pubsub_permissions). If a notification can't be published to Pub/Sub, errors are logged to Cloud Logging. For more information, see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare-api/docs/how-tos/logging).", +"type": "string" +}, +"sendFullResource": { +"description": "Whether to send full FHIR resource to this Pub/Sub topic for Create and Update operation. The default value is false. Note that setting this to true does not guarantee that all resources will be sent in the format of full FHIR resource. When a resource change is too large or during heavy traffic, only the resource name will be sent. Clients should always check the \"payloadType\" label from a Pub/Sub message to determine whether it needs to fetch the full resource as a separate operation.", +"type": "boolean" +}, +"sendPreviousResourceOnDelete": { +"description": "Whether to send full FHIR resource to this Pub/Sub topic for deleting FHIR resource. The default value is false. Note that setting this to true does not guarantee that all previous resources will be sent in the format of full FHIR resource. When a resource change is too large or during heavy traffic, only the resource name will be sent. Clients should always check the \"payloadType\" label from a Pub/Sub message to determine whether it needs to fetch the full previous resource as a separate operation.", +"type": "boolean" +} +}, +"type": "object" +}, +"FhirOutput": { +"description": "Details about the FHIR store to write the output to.", +"id": "FhirOutput", +"properties": { +"fhirStore": { +"description": "Name of the output FHIR store, which must already exist. You must grant the healthcare.fhirResources.update permission on the destination store to your project's **Cloud Healthcare Service Agent** [service account](https://cloud.google.com/healthcare/docs/how-tos/permissions-healthcare-api-gcp-products#the_cloud_healthcare_service_agent). The destination store must set enableUpdateCreate to true. The destination store must use FHIR version R4. Writing these resources will consume FHIR operations quota from the project containing the source data. De-identify operation metadata is only generated for DICOM de-identification operations.", +"type": "string" +} +}, +"type": "object" +}, +"FhirStore": { +"description": "Represents a FHIR store.", +"id": "FhirStore", +"properties": { +"complexDataTypeReferenceParsing": { +"description": "Enable parsing of references within complex FHIR data types such as Extensions. If this value is set to ENABLED, then features like referential integrity and Bundle reference rewriting apply to all references. If this flag has not been specified the behavior of the FHIR store will not change, references in complex data types will not be parsed. New stores will have this value set to ENABLED after a notification period. Warning: turning on this flag causes processing existing resources to fail if they contain references to non-existent resources.", +"enum": [ +"COMPLEX_DATA_TYPE_REFERENCE_PARSING_UNSPECIFIED", +"DISABLED", +"ENABLED" +], +"enumDescriptions": [ +"No parsing behavior specified. This is the same as DISABLED for backwards compatibility.", +"References in complex data types are ignored.", +"References in complex data types are parsed." +], +"type": "string" +}, +"consentConfig": { +"$ref": "ConsentConfig", +"description": "Optional. Specifies whether this store has consent enforcement. Not available for DSTU2 FHIR version due to absence of Consent resources." +}, +"defaultSearchHandlingStrict": { +"description": "If true, overrides the default search behavior for this FHIR store to `handling=strict` which returns an error for unrecognized search parameters. If false, uses the FHIR specification default `handling=lenient` which ignores unrecognized search parameters. The handling can always be changed from the default on an individual API call by setting the HTTP header `Prefer: handling=strict` or `Prefer: handling=lenient`. Defaults to false.", +"type": "boolean" +}, +"disableReferentialIntegrity": { +"description": "Immutable. Whether to disable referential integrity in this FHIR store. This field is immutable after FHIR store creation. The default value is false, meaning that the API enforces referential integrity and fails the requests that result in inconsistent state in the FHIR store. When this field is set to true, the API skips referential integrity checks. Consequently, operations that rely on references, such as GetPatientEverything, do not return all the results if broken references exist.", +"type": "boolean" +}, +"disableResourceVersioning": { +"description": "Immutable. Whether to disable resource versioning for this FHIR store. This field can not be changed after the creation of FHIR store. If set to false, all write operations cause historical versions to be recorded automatically. The historical versions can be fetched through the history APIs, but cannot be updated. If set to true, no historical versions are kept. The server sends errors for attempts to read the historical versions. Defaults to false.", +"type": "boolean" +}, +"enableHistoryModifications": { +"description": "Optional. Whether to allow ExecuteBundle to accept history bundles, and directly insert and overwrite historical resource versions into the FHIR store. If set to false, using history bundles fails with an error. Defaults to false.", +"type": "boolean" +}, +"enableUpdateCreate": { +"description": "Whether this FHIR store has the [updateCreate capability](https://www.hl7.org/fhir/capabilitystatement-definitions.html#CapabilityStatement.rest.resource.updateCreate). This determines if the client can use an Update operation to create a new resource with a client-specified ID. If false, all IDs are server-assigned through the Create operation and attempts to update a non-existent resource return errors. It is strongly advised not to include or encode any sensitive data such as patient identifiers in client-specified resource IDs. Those IDs are part of the FHIR resource path recorded in Cloud audit logs and Pub/Sub notifications. Those IDs can also be contained in reference fields within other resources. Defaults to false.", +"type": "boolean" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "User-supplied key-value pairs used to organize FHIR stores. 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 are optional, 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}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store.", +"type": "object" +}, +"name": { +"description": "Output only. Identifier. Resource name of the FHIR store, of the form `projects/{project_id}/locations/{location}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.", +"type": "string" +}, +"notificationConfig": { +"$ref": "NotificationConfig", +"deprecated": true, +"description": "Deprecated. Use `notification_configs` instead. If non-empty, publish all resource modifications of this FHIR store to this destination. The Pub/Sub message attributes contain a map with a string describing the action that has triggered the notification. For example, \"action\":\"CreateResource\"." +}, +"notificationConfigs": { +"description": "Specifies where and whether to send notifications upon changes to a Fhir store.", +"items": { +"$ref": "FhirNotificationConfig" +}, +"type": "array" +}, +"searchConfig": { +"$ref": "SearchConfig", +"description": "Configuration for how FHIR resources can be searched." +}, +"streamConfigs": { +"description": "A list of streaming configs that configure the destinations of streaming export for every resource mutation in this FHIR store. Each store is allowed to have up to 10 streaming configs. After a new config is added, the next resource mutation is streamed to the new location in addition to the existing ones. When a location is removed from the list, the server stops streaming to that location. Before adding a new config, you must add the required [`bigquery.dataEditor`](https://cloud.google.com/bigquery/docs/access-control#bigquery.dataEditor) role to your project's **Cloud Healthcare Service Agent** [service account](https://cloud.google.com/iam/docs/service-accounts). Some lag (typically on the order of dozens of seconds) is expected before the results show up in the streaming destination.", +"items": { +"$ref": "StreamConfig" +}, +"type": "array" +}, +"validationConfig": { +"$ref": "ValidationConfig", +"description": "Configuration for how to validate incoming FHIR resources against configured profiles." +}, +"version": { +"description": "Required. Immutable. The FHIR specification version that this FHIR store supports natively. This field is immutable after store creation. Requests are rejected if they contain FHIR resources of a different version. Version is required for every FHIR store.", +"enum": [ +"VERSION_UNSPECIFIED", +"DSTU2", +"STU3", +"R4" +], +"enumDescriptions": [ +"VERSION_UNSPECIFIED is treated as STU3 to accommodate the existing FHIR stores.", +"Draft Standard for Trial Use, [Release 2](https://www.hl7.org/fhir/DSTU2)", +"Standard for Trial Use, [Release 3](https://www.hl7.org/fhir/STU3)", +"[Release 4](https://www.hl7.org/fhir/R4)" +], +"type": "string" +} +}, +"type": "object" +}, +"FhirStoreMetric": { +"description": "Count of resources and total storage size by type for a given FHIR store.", +"id": "FhirStoreMetric", +"properties": { +"count": { +"description": "The total count of FHIR resources in the store of this resource type.", +"format": "int64", +"type": "string" +}, +"resourceType": { +"description": "The FHIR resource type this metric applies to.", +"type": "string" +}, +"structuredStorageSizeBytes": { +"description": "The total amount of structured storage used by FHIR resources of this resource type in the store.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"FhirStoreMetrics": { +"description": "List of metrics for a given FHIR store.", +"id": "FhirStoreMetrics", +"properties": { +"metrics": { +"description": "List of FhirStoreMetric by resource type.", +"items": { +"$ref": "FhirStoreMetric" +}, +"type": "array" +}, +"name": { +"description": "The resource name of the FHIR store to get metrics for, in the format `projects/{project_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.", +"type": "string" +} +}, +"type": "object" +}, +"Field": { +"description": "A (sub) field of a type.", +"id": "Field", +"properties": { +"maxOccurs": { +"description": "The maximum number of times this field can be repeated. 0 or -1 means unbounded.", +"format": "int32", +"type": "integer" +}, +"minOccurs": { +"description": "The minimum number of times this field must be present/repeated.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "The name of the field. For example, \"PID-1\" or just \"1\".", +"type": "string" +}, +"table": { +"description": "The HL7v2 table this field refers to. For example, PID-15 (Patient's Primary Language) usually refers to table \"0296\".", +"type": "string" +}, +"type": { +"description": "The type of this field. A Type with this name must be defined in an Hl7TypesConfig.", +"type": "string" +} +}, +"type": "object" +}, +"FieldMetadata": { +"description": "Specifies FHIR paths to match, and how to handle de-identification of matching fields.", +"id": "FieldMetadata", +"properties": { +"action": { +"description": "Deidentify action for one field.", +"enum": [ +"ACTION_UNSPECIFIED", +"TRANSFORM", +"INSPECT_AND_TRANSFORM", +"DO_NOT_TRANSFORM" +], +"enumDescriptions": [ +"No action specified.", +"Transform the entire field based on transformations specified in TextConfig. When the specified transformation cannot be applied to a field, RedactConfig is used. For example, a Crypto Hash transformation can't be applied to a FHIR Date field.", +"Inspect and transform any found PHI. When `AnnotationConfig` is provided, annotations of PHI will be generated, except for Date and Datetime.", +"Do not transform." +], +"type": "string" +}, +"paths": { +"description": "List of paths to FHIR fields to redact. Each path is a period-separated list where each component is either a field name or FHIR type name. All types begin with an upper case letter. For example, the resource field \"Patient.Address.city\", which uses a string type, can be matched by \"Patient.Address.String\". Path also supports partial matching. For example, \"Patient.Address.city\" can be matched by \"Address.city\" (Patient omitted). Partial matching and type matching can be combined. For example, \"Patient.Address.city\" can be matched by \"Address.String\". For \"choice\" types (those defined in the FHIR spec with the form: field[x]), use two separate components. For example, \"deceasedAge.unit\" is matched by \"Deceased.Age.unit\". Supported types are: AdministrativeGenderCode, Base64Binary, Boolean, Code, Date, DateTime, Decimal, HumanName, Id, Instant, Integer, LanguageCode, Markdown, Oid, PositiveInt, String, UnsignedInt, Uri, Uuid, Xhtml. The sub-type for HumanName(for example HumanName.given, HumanName.family) can be omitted.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"FilterList": { +"description": "List of infoTypes to be filtered.", +"id": "FilterList", +"properties": { +"infoTypes": { +"description": "These infoTypes are based on after the `eval_info_type_mapping` and `golden_info_type_mapping`.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Finding": { +"id": "Finding", +"properties": { +"end": { +"description": "Zero-based ending index of the found text, exclusively.", +"format": "int64", +"type": "string" +}, +"infoType": { +"description": "The type of information stored in this text range. For example, HumanName, BirthDate, or Address.", +"type": "string" +}, +"quote": { +"description": "The snippet of the sensitive text. This field is only populated during deidentification if `store_quote` is set to true in DeidentifyConfig.", +"type": "string" +}, +"start": { +"description": "Zero-based starting index of the found text, inclusively.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GcsDestination": { +"description": "The Cloud Storage output destination. The Cloud Healthcare Service Agent requires the `roles/storage.objectAdmin` Cloud IAM roles on the Cloud Storage location.", +"id": "GcsDestination", +"properties": { +"contentStructure": { +"description": "The format of the exported HL7v2 message files.", +"enum": [ +"CONTENT_STRUCTURE_UNSPECIFIED", +"MESSAGE_JSON" +], +"enumDescriptions": [ +"If the content structure is not specified, the default value `MESSAGE_JSON` will be used.", +"Messages are printed using the JSON format returned from the `GetMessage` API. Messages are delimited with newlines." +], +"type": "string" +}, +"messageView": { +"description": "Specifies the parts of the Message resource to include in the export. If not specified, FULL is used.", +"enum": [ +"MESSAGE_VIEW_UNSPECIFIED", +"RAW_ONLY", +"PARSED_ONLY", +"FULL", +"SCHEMATIZED_ONLY", +"BASIC" +], +"enumDescriptions": [ +"Not specified, equivalent to FULL for getMessage, equivalent to BASIC for listMessages.", +"Server responses include all the message fields except parsed_data, and schematized_data fields.", +"Server responses include all the message fields except data and schematized_data fields.", +"Server responses include all the message fields.", +"Server responses include all the message fields except data and parsed_data fields.", +"Server responses include only the name field." +], +"type": "string" +}, +"uriPrefix": { +"description": "URI of an existing Cloud Storage directory where the server writes result files, in the format `gs://{bucket-id}/{path/to/destination/dir}`. If there is no trailing slash, the service appends one when composing the object path.", +"type": "string" +} +}, +"type": "object" +}, +"GcsSource": { +"description": "Specifies the configuration for importing data from Cloud Storage.", +"id": "GcsSource", +"properties": { +"uri": { +"description": "Points to a Cloud Storage URI containing file(s) to import. The URI must be in the following format: `gs://{bucket_id}/{object_id}`. The URI can include wildcards in `object_id` and thus identify multiple files. Supported wildcards: * `*` to match 0 or more non-separator characters * `**` to match 0 or more characters (including separators). Must be used at the end of a path and with no other wildcards in the path. Can also be used with a file extension (such as .ndjson), which imports all files with the extension in the specified directory and its sub-directories. For example, `gs://my-bucket/my-directory/**.ndjson` imports all files with `.ndjson` extensions in `my-directory/` and its sub-directories. * `?` to match 1 character Files matching the wildcard are expected to contain content only, no metadata.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudHealthcareV1beta1AnnotationBigQueryDestination": { +"description": "The BigQuery table for export.", +"id": "GoogleCloudHealthcareV1beta1AnnotationBigQueryDestination", +"properties": { +"force": { +"description": "Use `write_disposition` instead. If `write_disposition` is specified, this parameter is ignored. force=false is equivalent to write_disposition=WRITE_EMPTY and force=true is equivalent to write_disposition=WRITE_TRUNCATE.", +"type": "boolean" +}, +"schemaType": { +"description": "Specifies the schema format to export.", +"enum": [ +"SCHEMA_TYPE_UNSPECIFIED", +"SIMPLE" +], +"enumDescriptions": [ +"Same as SIMPLE.", +"A flatterned version of Annotation." +], +"type": "string" +}, +"tableUri": { +"description": "BigQuery URI to a table, up to 2000 characters long, must be of the form bq://projectId.bqDatasetId.tableId.", +"type": "string" +}, +"writeDisposition": { +"description": "Determines if existing data in the destination dataset is overwritten, appended to, or not written if the tables contain data. If a write_disposition is specified, the `force` parameter is ignored.", +"enum": [ +"WRITE_DISPOSITION_UNSPECIFIED", +"WRITE_EMPTY", +"WRITE_TRUNCATE", +"WRITE_APPEND" +], +"enumDescriptions": [ +"Default behavior is the same as WRITE_EMPTY.", +"Only export data if the destination table is empty.", +"Erase all existing data in a table before writing the instances.", +"Append data to the existing table." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudHealthcareV1beta1AnnotationGcsDestination": { +"description": "The Cloud Storage location for export.", +"id": "GoogleCloudHealthcareV1beta1AnnotationGcsDestination", +"properties": { +"uriPrefix": { +"description": "The Cloud Storage destination to export to. URI for a Cloud Storage directory where the server writes result files, in the format `gs://{bucket-id}/{path/to/destination/dir}`. If there is no trailing slash, the service appends one when composing the object path. The user is responsible for creating the Cloud Storage bucket referenced in `uri_prefix`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudHealthcareV1beta1AnnotationGcsSource": { +"description": "Specifies the configuration for importing data from Cloud Storage.", +"id": "GoogleCloudHealthcareV1beta1AnnotationGcsSource", +"properties": { +"uri": { +"description": "Points to a Cloud Storage URI containing file(s) with content only. The URI must be in the following format: `gs://{bucket_id}/{object_id}`. The URI can include wildcards in `object_id` and thus identify multiple files. Supported wildcards: '*' to match 0 or more non-separator characters '**' to match 0 or more characters (including separators). Must be used at the end of a path and with no other wildcards in the path. Can also be used with a file extension (such as .dcm), which imports all files with the extension in the specified directory and its sub-directories. For example, `gs://my-bucket/my-directory/**.json` imports all files with .json extensions in `my-directory/` and its sub-directories. '?' to match 1 character All other URI formats are invalid. Files matching the wildcard are expected to contain content only, no metadata.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudHealthcareV1beta1ConsentGcsDestination": { +"description": "The Cloud Storage location for export.", +"id": "GoogleCloudHealthcareV1beta1ConsentGcsDestination", +"properties": { +"uriPrefix": { +"description": "URI for a Cloud Storage directory where the server writes result files, in the format `gs://{bucket-id}/{path/to/destination/dir}`. If there is no trailing slash, the service appends one when composing the object path. The user is responsible for creating the Cloud Storage bucket and directory referenced in `uri_prefix`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudHealthcareV1beta1ConsentPolicy": { +"description": "Represents a user's consent in terms of the resources that can be accessed and under what conditions.", +"id": "GoogleCloudHealthcareV1beta1ConsentPolicy", +"properties": { +"authorizationRule": { +"$ref": "Expr", +"description": "Required. The request conditions to meet to grant access. In addition to any supported comparison operators, authorization rules may have `IN` operator as well as at most 10 logical operators that are limited to `AND` (`&&`), `OR` (`||`)." +}, +"resourceAttributes": { +"description": "The resources that this policy applies to. A resource is a match if it matches all the attributes listed here. If empty, this policy applies to all User data mappings for the given user.", +"items": { +"$ref": "Attribute" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudHealthcareV1beta1DeidentifyDeidentifyDicomStoreSummary": { +"description": "Contains a summary of the DeidentifyDicomStore operation.", +"id": "GoogleCloudHealthcareV1beta1DeidentifyDeidentifyDicomStoreSummary", +"properties": {}, +"type": "object" +}, +"GoogleCloudHealthcareV1beta1DeidentifyDeidentifyFhirStoreSummary": { +"description": "Contains a summary of the DeidentifyFhirStore operation.", +"id": "GoogleCloudHealthcareV1beta1DeidentifyDeidentifyFhirStoreSummary", +"properties": {}, +"type": "object" +}, +"GoogleCloudHealthcareV1beta1DeidentifyFieldMetadata": { +"description": "Specifies the FHIR paths to match and how to handle the de-identification of matching fields.", +"id": "GoogleCloudHealthcareV1beta1DeidentifyFieldMetadata", +"properties": { +"characterMaskField": { +"$ref": "CharacterMaskField", +"description": "Replace the field's value with a masking character. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml." +}, +"cleanTextField": { +"$ref": "CleanTextField", +"description": "Inspect the field's text and transform sensitive text. Configure using TextConfig. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml." +}, +"cryptoHashField": { +"$ref": "CryptoHashField", +"description": "Replace field value with a hash of that value. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml." +}, +"dateShiftField": { +"$ref": "DateShiftField", +"description": "Shift the date by a randomized number of days. See [date shifting](https://cloud.google.com/dlp/docs/concepts-date-shifting) for more information. Supported [types](https://www.hl7.org/fhir/datatypes.html): Date, DateTime." +}, +"keepField": { +"$ref": "KeepField", +"description": "Keep the field unchanged." +}, +"paths": { +"description": "List of paths to FHIR fields to redact. Each path is a period-separated list where each component is either a field name or FHIR [type](https://www.hl7.org/fhir/datatypes.html) name. All types begin with an upper case letter. For example, the resource field `Patient.Address.city`, which uses a [string](https://www.hl7.org/fhir/datatypes-definitions.html#Address.city) type, can be matched by `Patient.Address.String`. Partial matching is supported. For example, `Patient.Address.city` can be matched by `Address.city` (with `Patient` omitted). Partial matching and type matching can be combined, for example `Patient.Address.city` can be matched by `Address.String`. For \"choice\" types (those defined in the FHIR spec with the format `field[x]`), use two separate components. For example, `deceasedAge.unit` is matched by `Deceased.Age.unit`. The following types are supported: AdministrativeGenderCode, Base64Binary, Boolean, Code, Date, DateTime, Decimal, HumanName, Id, Instant, Integer, LanguageCode, Markdown, Oid, PositiveInt, String, UnsignedInt, Uri, Uuid, Xhtml. The sub-type for HumanName (for example `HumanName.given`, `HumanName.family`) can be omitted.", +"items": { +"type": "string" +}, +"type": "array" +}, +"removeField": { +"$ref": "RemoveField", +"description": "Remove the field." +} +}, +"type": "object" +}, +"GoogleCloudHealthcareV1beta1DeidentifyOptions": { +"description": "Specifies additional options to apply to the base ProfileType.", +"id": "GoogleCloudHealthcareV1beta1DeidentifyOptions", +"properties": { +"characterMaskConfig": { +"$ref": "CharacterMaskConfig", +"description": "Character mask config for CharacterMaskField." +}, +"contextualDeid": { +"$ref": "ContextualDeidConfig", +"description": "Configure contextual de-id." +}, +"cryptoHashConfig": { +"$ref": "CryptoHashConfig", +"description": "Crypto hash config for CharacterMaskField." +}, +"dateShiftConfig": { +"$ref": "DateShiftConfig", +"description": "Date shifting config for CharacterMaskField." +}, +"keepExtensions": { +"$ref": "KeepExtensionsConfig", +"description": "Configure keeping extensions by default." +} +}, +"type": "object" +}, +"GoogleCloudHealthcareV1beta1DicomBigQueryDestination": { +"description": "The BigQuery table where the server writes output.", +"id": "GoogleCloudHealthcareV1beta1DicomBigQueryDestination", +"properties": { +"force": { +"description": "Use `write_disposition` instead. If `write_disposition` is specified, this parameter is ignored. force=false is equivalent to write_disposition=WRITE_EMPTY and force=true is equivalent to write_disposition=WRITE_TRUNCATE.", +"type": "boolean" +}, +"tableUri": { +"description": "BigQuery URI to a table, up to 2000 characters long, in the format `bq://projectId.bqDatasetId.tableId`", +"type": "string" +}, +"writeDisposition": { +"description": "Determines whether the existing table in the destination is to be overwritten or appended to. If a write_disposition is specified, the `force` parameter is ignored.", +"enum": [ +"WRITE_DISPOSITION_UNSPECIFIED", +"WRITE_EMPTY", +"WRITE_TRUNCATE", +"WRITE_APPEND" +], +"enumDescriptions": [ +"Default behavior is the same as WRITE_EMPTY.", +"Only export data if the destination table is empty.", +"Erase all existing data in the destination table before writing the instances.", +"Append data to the destination table." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudHealthcareV1beta1DicomGcsDestination": { +"description": "The Cloud Storage location where the server writes the output and the export configuration.", +"id": "GoogleCloudHealthcareV1beta1DicomGcsDestination", +"properties": { +"mimeType": { +"description": "MIME types supported by DICOM spec. Each file is written in the following format: `.../{study_id}/{series_id}/{instance_id}[/{frame_number}].{extension}` The frame_number component exists only for multi-frame instances. Supported MIME types are consistent with supported formats in DICOMweb: https://cloud.google.com/healthcare/docs/dicom#retrieve_transaction. Specifically, the following are supported: - application/dicom; transfer-syntax=1.2.840.10008.1.2.1 (uncompressed DICOM) - application/dicom; transfer-syntax=1.2.840.10008.1.2.4.50 (DICOM with embedded JPEG Baseline) - application/dicom; transfer-syntax=1.2.840.10008.1.2.4.90 (DICOM with embedded JPEG 2000 Lossless Only) - application/dicom; transfer-syntax=1.2.840.10008.1.2.4.91 (DICOM with embedded JPEG 2000)h - application/dicom; transfer-syntax=* (DICOM with no transcoding) - application/octet-stream; transfer-syntax=1.2.840.10008.1.2.1 (raw uncompressed PixelData) - application/octet-stream; transfer-syntax=* (raw PixelData in whatever format it was uploaded in) - image/jpeg; transfer-syntax=1.2.840.10008.1.2.4.50 (Consumer JPEG) - image/png The following extensions are used for output files: - application/dicom -> .dcm - image/jpeg -> .jpg - image/png -> .png - application/octet-stream -> no extension If unspecified, the instances are exported in the original DICOM format they were uploaded in.", +"type": "string" +}, +"uriPrefix": { +"description": "The Cloud Storage destination to export to. URI for a Cloud Storage directory where the server writes the result files, in the format `gs://{bucket-id}/{path/to/destination/dir}`). If there is no trailing slash, the service appends one when composing the object path. The user is responsible for creating the Cloud Storage bucket referenced in `uri_prefix`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudHealthcareV1beta1DicomGcsSource": { +"description": "Specifies the configuration for importing data from Cloud Storage.", +"id": "GoogleCloudHealthcareV1beta1DicomGcsSource", +"properties": { +"uri": { +"description": "Points to a Cloud Storage URI containing file(s) with content only. The URI must be in the following format: `gs://{bucket_id}/{object_id}`. The URI can include wildcards in `object_id` and thus identify multiple files. Supported wildcards: * '*' to match 0 or more non-separator characters * '**' to match 0 or more characters (including separators). Must be used at the end of a path and with no other wildcards in the path. Can also be used with a file extension (such as .dcm), which imports all files with the extension in the specified directory and its sub-directories. For example, `gs://my-bucket/my-directory/**.dcm` imports all files with .dcm extensions in `my-directory/` and its sub-directories. * '?' to match 1 character. All other URI formats are invalid. Files matching the wildcard are expected to contain content only, no metadata.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudHealthcareV1beta1DicomStreamConfig": { +"description": "StreamConfig specifies configuration for a streaming DICOM export.", +"id": "GoogleCloudHealthcareV1beta1DicomStreamConfig", +"properties": { +"bigqueryDestination": { +"$ref": "GoogleCloudHealthcareV1beta1DicomBigQueryDestination", +"description": "Results are appended to this table. The server creates a new table in the given BigQuery dataset if the specified table does not exist. To enable the Cloud Healthcare API to write to your BigQuery table, you must give the Cloud Healthcare API service account the bigquery.dataEditor role. The service account is: `service-{PROJECT_NUMBER}@gcp-sa-healthcare.iam.gserviceaccount.com`. The PROJECT_NUMBER identifies the project that the DICOM store resides in. To get the project number, go to the Cloud Console Dashboard. It is recommended to not have a custom schema in the destination table which could conflict with the schema created by the Cloud Healthcare API. Instance deletions are not applied to the destination table. The destination's table schema will be automatically updated in case a new instance's data is incompatible with the current schema. The schema should not be updated manually as this can cause incompatibilies that cannot be resolved automatically. One resolution in this case is to delete the incompatible table and let the server recreate one, though the newly created table only contains data after the table recreation. BigQuery imposes a 1 MB limit on streaming insert row size, therefore any instance that generates more than 1 MB of BigQuery data will not be streamed. If an instance cannot be streamed to BigQuery, errors will be logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging))." +} +}, +"type": "object" +}, +"GoogleCloudHealthcareV1beta1FhirBigQueryDestination": { +"description": "The configuration for exporting to BigQuery.", +"id": "GoogleCloudHealthcareV1beta1FhirBigQueryDestination", +"properties": { +"changeDataCaptureConfig": { +"$ref": "GoogleCloudHealthcareV1beta1FhirChangeDataCaptureConfig", +"description": "Optional. Setting this field will enable BigQuery's Change Data Capture (CDC) on the destination tables. Use this field if you: - Want to only keep the latest version of each resource. Updates and deletes to an existing resource will overwrite the corresponding row. - Have a store with enabled history modifications and want to keep the entire history of resource versions but want the history to be mutable. Updates and deletes to a specific resource version will overwrite the corresponding row. See https://cloud.google.com/bigquery/docs/change-data-capture for details." +}, +"datasetUri": { +"description": "BigQuery URI to an existing dataset, up to 2000 characters long, in the format `bq://projectId.bqDatasetId`.", +"type": "string" +}, +"force": { +"description": "Use `write_disposition` instead. If `write_disposition` is specified, this parameter is ignored. force=false is equivalent to write_disposition=WRITE_EMPTY and force=true is equivalent to write_disposition=WRITE_TRUNCATE.", +"type": "boolean" +}, +"schemaConfig": { +"$ref": "SchemaConfig", +"description": "The configuration for the exported BigQuery schema." +}, +"writeDisposition": { +"description": "Determines if existing data in the destination dataset is overwritten, appended to, or not written if the tables contain data. If a write_disposition is specified, the `force` parameter is ignored.", +"enum": [ +"WRITE_DISPOSITION_UNSPECIFIED", +"WRITE_EMPTY", +"WRITE_TRUNCATE", +"WRITE_APPEND" +], +"enumDescriptions": [ +"Default behavior is the same as WRITE_EMPTY.", +"Only export data if the destination tables are empty.", +"Erase all existing data in the destination tables before writing the FHIR resources.", +"Append data to the destination tables." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudHealthcareV1beta1FhirChangeDataCaptureConfig": { +"description": "BigQuery Change Data Capture configuration.", +"id": "GoogleCloudHealthcareV1beta1FhirChangeDataCaptureConfig", +"properties": { +"historyMode": { +"description": "Optional. Configures how historical versions of FHIR resources will be reflected in the destination table through updates and deletes. Defaults to `HistoryMode.KEEP_LATEST_VERSION` if unspecified.", +"enum": [ +"HISTORY_MODE_UNSPECIFIED", +"KEEP_LATEST_VERSION", +"KEEP_ALL_VERSIONS" +], +"enumDescriptions": [ +"Default behavior is the same as KEEP_LATEST_VERSION.", +"The table will have a unique entry for each resource ID. Updates and deletes will overwrite the row matching the resource ID if it exists in the table.", +"Historical versions of resources will be maintained. However, history mutation is allowed. Updates will overwrite the row matching the resource ID and version if it exists in the table. This option is only supported for stores with history enabled." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudHealthcareV1beta1FhirExportResourcesResponse": { +"description": "Response when all resources export successfully. This structure is included in the response to describe the detailed outcome after the operation finishes successfully.", +"id": "GoogleCloudHealthcareV1beta1FhirExportResourcesResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudHealthcareV1beta1FhirGcsDestination": { +"description": "The configuration for exporting to Cloud Storage.", +"id": "GoogleCloudHealthcareV1beta1FhirGcsDestination", +"properties": { +"uriPrefix": { +"description": "URI for a Cloud Storage directory where result files should be written (in the format `gs://{bucket-id}/{path/to/destination/dir}`). If there is no trailing slash, the service appends one when composing the object path. The Cloud Storage bucket referenced in `uri_prefix` must exist or an error occurs.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudHealthcareV1beta1FhirGcsSource": { +"description": "Specifies the configuration for importing data from Cloud Storage.", +"id": "GoogleCloudHealthcareV1beta1FhirGcsSource", +"properties": { +"uri": { +"description": "Points to a Cloud Storage URI containing file(s) to import. The URI must be in the following format: `gs://{bucket_id}/{object_id}`. The URI can include wildcards in `object_id` and thus identify multiple files. Supported wildcards: * `*` to match 0 or more non-separator characters * `**` to match 0 or more characters (including separators). Must be used at the end of a path and with no other wildcards in the path. Can also be used with a file extension (such as .ndjson), which imports all files with the extension in the specified directory and its sub-directories. For example, `gs://my-bucket/my-directory/**.ndjson` imports all files with `.ndjson` extensions in `my-directory/` and its sub-directories. * `?` to match 1 character Files matching the wildcard are expected to contain content only, no metadata.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudHealthcareV1beta1FhirImportResourcesResponse": { +"description": "Final response of importing resources. This structure is included in the response to describe the detailed outcome after the operation finishes successfully.", +"id": "GoogleCloudHealthcareV1beta1FhirImportResourcesResponse", +"properties": {}, +"type": "object" +}, +"GroupOrSegment": { +"description": "Construct representing a logical group or a segment.", +"id": "GroupOrSegment", +"properties": { +"group": { +"$ref": "SchemaGroup" +}, +"segment": { +"$ref": "SchemaSegment" +} +}, +"type": "object" +}, +"Hl7SchemaConfig": { +"description": "Root config message for HL7v2 schema. This contains a schema structure of groups and segments, and filters that determine which messages to apply the schema structure to.", +"id": "Hl7SchemaConfig", +"properties": { +"messageSchemaConfigs": { +"additionalProperties": { +"$ref": "SchemaGroup" +}, +"description": "Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group.", +"type": "object" +}, +"version": { +"description": "Each VersionSource is tested and only if they all match is the schema used for the message.", +"items": { +"$ref": "VersionSource" +}, +"type": "array" +} +}, +"type": "object" +}, +"Hl7TypesConfig": { +"description": "Root config for HL7v2 datatype definitions for a specific HL7v2 version.", +"id": "Hl7TypesConfig", +"properties": { +"type": { +"description": "The HL7v2 type definitions.", +"items": { +"$ref": "Type" +}, +"type": "array" +}, +"version": { +"description": "The version selectors that this config applies to. A message must match ALL version sources to apply.", +"items": { +"$ref": "VersionSource" +}, +"type": "array" +} +}, +"type": "object" +}, +"Hl7V2NotificationConfig": { +"description": "Specifies where and whether to send notifications upon changes to a data store.", +"id": "Hl7V2NotificationConfig", +"properties": { +"filter": { +"description": "Restricts notifications sent for messages matching a filter. If this is empty, all messages are matched. The following syntax is available: * A string field value can be written as text inside quotation marks, for example `\"query text\"`. The only valid relational operation for text fields is equality (`=`), where text is searched within the field, rather than having the field be equal to the text. For example, `\"Comment = great\"` returns messages with `great` in the comment field. * A number field value can be written as an integer, a decimal, or an exponential. The valid relational operators for number fields are the equality operator (`=`), along with the less than/greater than operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * A date field value must be written in `yyyy-mm-dd` form. Fields with date and time use the RFC3339 time format. Leading zeros are required for one-digit months and days. The valid relational operators for date fields are the equality operator (`=`) , along with the less than/greater than operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * Multiple field query expressions can be combined in one query by adding `AND` or `OR` operators between the expressions. If a boolean operator appears within a quoted string, it is not treated as special, it's just another part of the character string to be matched. You can prepend the `NOT` operator to an expression to negate it. Fields/functions available for filtering are: * `message_type`, from the MSH-9.1 field. For example, `NOT message_type = \"ADT\"`. * `send_date` or `sendDate`, the YYYY-MM-DD date the message was sent in the dataset's time_zone, from the MSH-7 segment. For example, `send_date < \"2017-01-02\"`. * `send_time`, the timestamp when the message was sent, using the RFC3339 time format for comparisons, from the MSH-7 segment. For example, `send_time < \"2017-01-02T00:00:00-05:00\"`. * `create_time`, the timestamp when the message was created in the HL7v2 store. Use the RFC3339 time format for comparisons. For example, `create_time < \"2017-01-02T00:00:00-05:00\"`. * `send_facility`, the care center that the message came from, from the MSH-4 segment. For example, `send_facility = \"ABC\"`. * `PatientId(value, type)`, which matches if the message lists a patient having an ID of the given value and type in the PID-2, PID-3, or PID-4 segments. For example, `PatientId(\"123456\", \"MRN\")`. * `labels.x`, a string value of the label with key `x` as set using the Message.labels map. For example, `labels.\"priority\"=\"high\"`. The operator `:*` can be used to assert the existence of a label. For example, `labels.\"priority\":*`.", +"type": "string" +}, +"pubsubTopic": { +"description": "The [Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that notifications of changes are published on. Supplied by the client. The notification is a `PubsubMessage` with the following fields: * `PubsubMessage.Data` contains the resource name. * `PubsubMessage.MessageId` is the ID of this notification. It is guaranteed to be unique within the topic. * `PubsubMessage.PublishTime` is the time when the message was published. Note that notifications are only sent if the topic is non-empty. [Topic names](https://cloud.google.com/pubsub/docs/overview#names) must be scoped to a project. Cloud Healthcare API service account must have publisher permissions on the given Pub/Sub topic. Not having adequate permissions causes the calls that send notifications to fail. If a notification can't be published to Pub/Sub, errors are logged to Cloud Logging. For more information, see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging).", +"type": "string" +} +}, +"type": "object" +}, +"Hl7V2Store": { +"description": "Represents an HL7v2 store.", +"id": "Hl7V2Store", +"properties": { +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "User-supplied key-value pairs used to organize HL7v2 stores. 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 are optional, 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}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store.", +"type": "object" +}, +"name": { +"description": "Identifier. Resource name of the HL7v2 store, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_id}`.", +"type": "string" +}, +"notificationConfig": { +"$ref": "NotificationConfig", +"deprecated": true, +"description": "The notification destination all messages (both Ingest & Create) are published on. Only the message name is sent as part of the notification. If this is unset, no notifications are sent. Supplied by the client." +}, +"notificationConfigs": { +"description": "A list of notification configs. Each configuration uses a filter to determine whether to publish a message (both Ingest & Create) on the corresponding notification destination. Only the message name is sent as part of the notification. Supplied by the client.", +"items": { +"$ref": "Hl7V2NotificationConfig" +}, +"type": "array" +}, +"parserConfig": { +"$ref": "ParserConfig", +"description": "The configuration for the parser. It determines how the server parses the messages." +}, +"rejectDuplicateMessage": { +"description": "Determines whether to reject duplicate messages. A duplicate message is a message with the same raw bytes as a message that has already been ingested/created in this HL7v2 store. The default value is false, meaning that the store accepts the duplicate messages and it also returns the same ACK message in the IngestMessageResponse as has been returned previously. Note that only one resource is created in the store. When this field is set to true, CreateMessage/IngestMessage requests with a duplicate message will be rejected by the store, and IngestMessageErrorDetail returns a NACK message upon rejection.", +"type": "boolean" +} +}, +"type": "object" +}, +"Hl7V2StoreMetric": { +"description": "Count of messages and total storage size by type for a given HL7 store.", +"id": "Hl7V2StoreMetric", +"properties": { +"count": { +"description": "The total count of HL7v2 messages in the store for the given message type.", +"format": "int64", +"type": "string" +}, +"messageType": { +"description": "The Hl7v2 message type this metric applies to, such as `ADT` or `ORU`.", +"type": "string" +}, +"structuredStorageSizeBytes": { +"description": "The total amount of structured storage used by HL7v2 messages of this message type in the store.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"Hl7V2StoreMetrics": { +"description": "List of metrics for a given HL7v2 store.", +"id": "Hl7V2StoreMetrics", +"properties": { +"metrics": { +"description": "List of HL7v2 store metrics by message type.", +"items": { +"$ref": "Hl7V2StoreMetric" +}, +"type": "array" +}, +"name": { +"description": "The resource name of the HL7v2 store to get metrics for, in the format `projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_id}`.", +"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" +}, +"Image": { +"description": "Raw bytes representing consent artifact content.", +"id": "Image", +"properties": { +"gcsUri": { +"description": "Input only. Points to a Cloud Storage URI containing the consent artifact content. The URI must be in the following format: `gs://{bucket_id}/{object_id}`. The Cloud Healthcare API service account must have the `roles/storage.objectViewer` Cloud IAM role for this Cloud Storage location. The consent artifact content at this URI is copied to a Cloud Storage location managed by the Cloud Healthcare API. Responses to fetching requests return the consent artifact content in raw_bytes.", +"type": "string" +}, +"rawBytes": { +"description": "Consent artifact content represented as a stream of bytes. This field is populated when returned in GetConsentArtifact response, but not included in CreateConsentArtifact and ListConsentArtifact response.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"ImageAnnotation": { +"description": "Image annotation.", +"id": "ImageAnnotation", +"properties": { +"boundingPolys": { +"description": "The list of polygons outlining the sensitive regions in the image.", +"items": { +"$ref": "BoundingPoly" +}, +"type": "array" +}, +"frameIndex": { +"description": "0-based index of the image frame. For example, an image frame in a DICOM instance.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ImageConfig": { +"description": "Specifies how to handle de-identification of image pixels.", +"id": "ImageConfig", +"properties": { +"additionalInfoTypes": { +"description": "Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"excludeInfoTypes": { +"description": "InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"textRedactionMode": { +"description": "Determines how to redact text from image.", +"enum": [ +"TEXT_REDACTION_MODE_UNSPECIFIED", +"REDACT_ALL_TEXT", +"REDACT_SENSITIVE_TEXT", +"REDACT_NO_TEXT", +"REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS" +], +"enumDescriptions": [ +"No text redaction specified. Same as REDACT_NO_TEXT.", +"Redact all text.", +"Redact sensitive text. Uses the set of [Default DICOM InfoTypes](https://cloud.google.com/healthcare-api/docs/how-tos/dicom-deidentify#default_dicom_infotypes).", +"Do not redact text.", +"This mode is like `REDACT_SENSITIVE_TEXT` with the addition of the [Clean Descriptors Option] (https://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/sect_E.3.5.html) enabled: When cleaning text, the process attempts to transform phrases matching any of the tags marked for removal (action codes D, Z, X, and U) in the [Basic Profile] (https://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/chapter_E.html). These contextual phrases are replaced with the token \"[CTX]\". This mode uses an additional InfoType during inspection." +], +"type": "string" +} +}, +"type": "object" +}, +"ImportAnnotationsRequest": { +"description": "Request to import Annotations. The Annotations to be imported must have client-supplied resource names which indicate the annotation resource. The import operation is not atomic. If a failure occurs, any annotations already imported are not removed.", +"id": "ImportAnnotationsRequest", +"properties": { +"gcsSource": { +"$ref": "GoogleCloudHealthcareV1beta1AnnotationGcsSource" +} +}, +"type": "object" +}, +"ImportAnnotationsResponse": { +"description": "Final response of importing Annotations in successful case. This structure is included in the response. It is only included when the operation finishes.", +"id": "ImportAnnotationsResponse", +"properties": {}, +"type": "object" +}, +"ImportDicomDataRequest": { +"description": "Imports data into the specified DICOM store. Returns an error if any of the files to import are not DICOM files. This API accepts duplicate DICOM instances by ignoring the newly-pushed instance. It does not overwrite.", +"id": "ImportDicomDataRequest", +"properties": { +"blobStorageSettings": { +"$ref": "BlobStorageSettings", +"description": "Optional. The blob storage settings for the data imported by this operation." +}, +"gcsSource": { +"$ref": "GoogleCloudHealthcareV1beta1DicomGcsSource", +"description": "Cloud Storage source data location and import configuration. The Cloud Healthcare Service Agent requires the `roles/storage.objectViewer` Cloud IAM roles on the Cloud Storage location." +} +}, +"type": "object" +}, +"ImportDicomDataResponse": { +"description": "Returns additional information in regards to a completed DICOM store import.", +"id": "ImportDicomDataResponse", +"properties": {}, +"type": "object" +}, +"ImportMessagesRequest": { +"description": "Request to import messages.", +"id": "ImportMessagesRequest", +"properties": { +"gcsSource": { +"$ref": "GcsSource", +"description": "Cloud Storage source data location and import configuration. The Cloud Healthcare Service Agent requires the `roles/storage.objectViewer` Cloud IAM roles on the Cloud Storage location." +} +}, +"type": "object" +}, +"ImportMessagesResponse": { +"description": "Final response of importing messages. This structure is included in the response to describe the detailed outcome. It is only included when the operation finishes successfully.", +"id": "ImportMessagesResponse", +"properties": {}, +"type": "object" +}, +"ImportResourcesHistoryRequest": { +"description": "Request to import the history of resources.", +"id": "ImportResourcesHistoryRequest", +"properties": { +"contentStructure": { +"description": "The content structure in the source location. If not specified, the server treats the input source files as BUNDLE.", +"enum": [ +"CONTENT_STRUCTURE_UNSPECIFIED", +"BUNDLE", +"RESOURCE", +"BUNDLE_PRETTY", +"RESOURCE_PRETTY" +], +"enumDescriptions": [ +"If the content structure is not specified, the default value `BUNDLE` is used.", +"The source file contains one or more lines of newline-delimited JSON (ndjson). Each line is a bundle that contains one or more resources.", +"The source file contains one or more lines of newline-delimited JSON (ndjson). Each line is a single resource.", +"The entire file is one JSON bundle. The JSON can span multiple lines.", +"The entire file is one JSON resource. The JSON can span multiple lines." +], +"type": "string" +}, +"gcsSource": { +"$ref": "GoogleCloudHealthcareV1beta1FhirGcsSource", +"description": "Cloud Storage source data location and import configuration. The Cloud Healthcare Service Agent requires the `roles/storage.objectAdmin` Cloud IAM roles on the Cloud Storage location. The Healthcare Service Agent Each Cloud Storage object should be a text file that contains the format specified in ContentStructure." +}, +"maxErrorCount": { +"description": "The maximum number of errors before the server cancels the operation. If not specified or set to 0, defaults to 100. -1 means no maximum, the server tries to process all input. Since the server executes the operation in parallel, it might not stop the operation after exactly this number of errors occur.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ImportResourcesRequest": { +"description": "Request to import resources.", +"id": "ImportResourcesRequest", +"properties": { +"contentStructure": { +"description": "The content structure in the source location. If not specified, the server treats the input source files as BUNDLE.", +"enum": [ +"CONTENT_STRUCTURE_UNSPECIFIED", +"BUNDLE", +"RESOURCE", +"BUNDLE_PRETTY", +"RESOURCE_PRETTY" +], +"enumDescriptions": [ +"If the content structure is not specified, the default value `BUNDLE` is used.", +"The source file contains one or more lines of newline-delimited JSON (ndjson). Each line is a bundle that contains one or more resources.", +"The source file contains one or more lines of newline-delimited JSON (ndjson). Each line is a single resource.", +"The entire file is one JSON bundle. The JSON can span multiple lines.", +"The entire file is one JSON resource. The JSON can span multiple lines." +], +"type": "string" +}, +"gcsSource": { +"$ref": "GoogleCloudHealthcareV1beta1FhirGcsSource", +"description": "Cloud Storage source data location and import configuration. The Cloud Healthcare Service Agent requires the `roles/storage.objectViewer` Cloud IAM roles on the Cloud Storage location. The Healthcare Service Agent Each Cloud Storage object should be a text file that contains the format specified in ContentStructure." +} +}, +"type": "object" +}, +"InfoTypeConfig": { +"description": "Specifies how to use infoTypes for evaluation. For example, a user might only want to evaluate `PERSON`, `LOCATION`, and `AGE`.", +"id": "InfoTypeConfig", +"properties": { +"evaluateList": { +"$ref": "FilterList" +}, +"ignoreList": { +"$ref": "FilterList" +}, +"strictMatching": { +"description": "If `TRUE`, infoTypes described by `filter` are used for evaluation. Otherwise, infoTypes are not considered for evaluation. For example: * Annotated text: \"Toronto is a location\" * Finding 1: `{\"infoType\": \"PERSON\", \"quote\": \"Toronto\", \"start\": 0, \"end\": 7}` * Finding 2: `{\"infoType\": \"CITY\", \"quote\": \"Toronto\", \"start\": 0, \"end\": 7}` * Finding 3: `{}` * Ground truth: `{\"infoType\": \"LOCATION\", \"quote\": \"Toronto\", \"start\": 0, \"end\": 7}` When `strict_matching` is `TRUE`: * Finding 1: 1 false positive * Finding 2: 1 false positive * Finding 3: 1 false negative When `strict_matching` is `FALSE`: * Finding 1: 1 true positive * Finding 2: 1 true positive * Finding 3: 1 false negative", +"type": "boolean" +} +}, +"type": "object" +}, +"InfoTypeTransformation": { +"description": "A transformation to apply to text that is identified as a specific info_type.", +"id": "InfoTypeTransformation", +"properties": { +"characterMaskConfig": { +"$ref": "CharacterMaskConfig", +"description": "Config for character mask." +}, +"cryptoHashConfig": { +"$ref": "CryptoHashConfig", +"description": "Config for crypto hash." +}, +"dateShiftConfig": { +"$ref": "DateShiftConfig", +"description": "Config for date shift." +}, +"infoTypes": { +"description": "`InfoTypes` to apply this transformation to. If this is not specified, this transformation becomes the default transformation, and is used for any `info_type` that is not specified in another transformation.", +"items": { +"type": "string" +}, +"type": "array" +}, +"redactConfig": { +"$ref": "RedactConfig", +"description": "Config for text redaction." +}, +"replaceWithInfoTypeConfig": { +"$ref": "ReplaceWithInfoTypeConfig", +"description": "Config for replace with InfoType." +} +}, +"type": "object" +}, +"IngestMessageRequest": { +"description": "Ingests a message into the specified HL7v2 store.", +"id": "IngestMessageRequest", +"properties": { +"message": { +"$ref": "Message", +"description": "Required. HL7v2 message to ingest." +} +}, +"type": "object" +}, +"IngestMessageResponse": { +"description": "Acknowledges that a message has been ingested into the specified HL7v2 store.", +"id": "IngestMessageResponse", +"properties": { +"hl7Ack": { +"description": "HL7v2 ACK message.", +"format": "byte", +"type": "string" +}, +"message": { +"$ref": "Message", +"description": "Created message resource." +} +}, +"type": "object" +}, +"KeepExtensionsConfig": { +"description": "The behavior for handling FHIR extensions that aren't otherwise specified for de-identification. If provided, all extensions are preserved during de-identification by default. If unspecified, all extensions are removed during de-identification by default.", +"id": "KeepExtensionsConfig", +"properties": {}, +"type": "object" +}, +"KeepField": { +"description": "Keep field unchanged.", +"id": "KeepField", +"properties": {}, +"type": "object" +}, +"KeepTag": { +"description": "Keep tag unchanged.", +"id": "KeepTag", +"properties": {}, +"type": "object" +}, +"KmsWrappedCryptoKey": { +"description": "Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key).", +"id": "KmsWrappedCryptoKey", +"properties": { +"cryptoKey": { +"description": "Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`.", +"type": "string" +}, +"wrappedKey": { +"description": "Required. The wrapped data crypto key.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"LinkedEntity": { +"description": "EntityMentions can be linked to multiple entities using a LinkedEntity message lets us add other fields, e.g. confidence.", +"id": "LinkedEntity", +"properties": { +"entityId": { +"description": "entity_id is a concept unique identifier. These are prefixed by a string that identifies the entity coding system, followed by the unique identifier within that system. For example, \"UMLS/C0000970\". This also supports ad hoc entities, which are formed by normalizing entity mention content.", +"type": "string" +} +}, +"type": "object" +}, +"ListAnnotationStoresResponse": { +"description": "Lists the Annotation stores in the given dataset.", +"id": "ListAnnotationStoresResponse", +"properties": { +"annotationStores": { +"description": "The returned Annotation stores. Won't be more Annotation stores than the value of page_size in the request.", +"items": { +"$ref": "AnnotationStore" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"ListAnnotationsResponse": { +"description": "Lists the Annotations in the specified Annotation store.", +"id": "ListAnnotationsResponse", +"properties": { +"annotations": { +"description": "The returned Annotations. Won't be more values than the value of page_size in the request. See `AnnotationView` in the request for populated fields.", +"items": { +"$ref": "Annotation" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"ListAttributeDefinitionsResponse": { +"id": "ListAttributeDefinitionsResponse", +"properties": { +"attributeDefinitions": { +"description": "The returned Attribute definitions. The maximum number of attributes returned is determined by the value of page_size in the ListAttributeDefinitionsRequest.", +"items": { +"$ref": "AttributeDefinition" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"ListConsentArtifactsResponse": { +"id": "ListConsentArtifactsResponse", +"properties": { +"consentArtifacts": { +"description": "The returned Consent artifacts. The maximum number of artifacts returned is determined by the value of page_size in the ListConsentArtifactsRequest.", +"items": { +"$ref": "ConsentArtifact" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"ListConsentRevisionsResponse": { +"id": "ListConsentRevisionsResponse", +"properties": { +"consents": { +"description": "The returned Consent revisions. The maximum number of revisions returned is determined by the value of `page_size` in the ListConsentRevisionsRequest.", +"items": { +"$ref": "Consent" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"ListConsentStoresResponse": { +"id": "ListConsentStoresResponse", +"properties": { +"consentStores": { +"description": "The returned consent stores. The maximum number of stores returned is determined by the value of page_size in the ListConsentStoresRequest.", +"items": { +"$ref": "ConsentStore" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"ListConsentsResponse": { +"id": "ListConsentsResponse", +"properties": { +"consents": { +"description": "The returned Consents. The maximum number of Consents returned is determined by the value of page_size in the ListConsentsRequest.", +"items": { +"$ref": "Consent" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"ListDatasetsResponse": { +"description": "Lists the available datasets.", +"id": "ListDatasetsResponse", +"properties": { +"datasets": { +"description": "The first page of datasets.", +"items": { +"$ref": "Dataset" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"ListDicomStoresResponse": { +"description": "Lists the DICOM stores in the given dataset.", +"id": "ListDicomStoresResponse", +"properties": { +"dicomStores": { +"description": "The returned DICOM stores. Won't be more DICOM stores than the value of page_size in the request.", +"items": { +"$ref": "DicomStore" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"ListFhirStoresResponse": { +"description": "Lists the FHIR stores in the given dataset.", +"id": "ListFhirStoresResponse", +"properties": { +"fhirStores": { +"description": "The returned FHIR stores. Won't be more FHIR stores than the value of page_size in the request.", +"items": { +"$ref": "FhirStore" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"ListHl7V2StoresResponse": { +"description": "Lists the HL7v2 stores in the given dataset.", +"id": "ListHl7V2StoresResponse", +"properties": { +"hl7V2Stores": { +"description": "The returned HL7v2 stores. Won't be more HL7v2 stores than the value of page_size in the request.", +"items": { +"$ref": "Hl7V2Store" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"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" +}, +"ListMessagesResponse": { +"description": "Lists the messages in the specified HL7v2 store.", +"id": "ListMessagesResponse", +"properties": { +"hl7V2Messages": { +"description": "The returned Messages. Won't be more Messages than the value of page_size in the request. See view for populated fields.", +"items": { +"$ref": "Message" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results or empty if there are no more results in the list.", +"type": "string" +} +}, +"type": "object" +}, +"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" +}, +"ListUserDataMappingsResponse": { +"id": "ListUserDataMappingsResponse", +"properties": { +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"userDataMappings": { +"description": "The returned User data mappings. The maximum number of User data mappings returned is determined by the value of page_size in the ListUserDataMappingsRequest.", +"items": { +"$ref": "UserDataMapping" +}, +"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" +}, +"Message": { +"description": "A complete HL7v2 message. See [Introduction to HL7 Standards] (https://www.hl7.org/implement/standards/index.cfm?ref=common) for details on the standard.", +"id": "Message", +"properties": { +"createTime": { +"description": "Output only. The datetime when the message was created. Set by the server.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"data": { +"description": "Required. Raw message bytes.", +"format": "byte", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "User-supplied key-value pairs used to organize HL7v2 stores. 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 are optional, 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}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store.", +"type": "object" +}, +"messageType": { +"description": "The message type for this message. MSH-9.1.", +"type": "string" +}, +"name": { +"description": "Output only. Resource name of the Message, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/hl7V2Stores/{hl7_v2_store_id}/messages/{message_id}`. Assigned by the server.", +"readOnly": true, +"type": "string" +}, +"parsedData": { +"$ref": "ParsedData", +"description": "Output only. The parsed version of the raw message data.", +"readOnly": true +}, +"patientIds": { +"description": "All patient IDs listed in the PID-2, PID-3, and PID-4 segments of this message.", +"items": { +"$ref": "PatientId" +}, +"type": "array" +}, +"schematizedData": { +"$ref": "SchematizedData", +"description": "The parsed version of the raw message data schematized according to this store's schemas and type definitions." +}, +"sendFacility": { +"description": "The hospital that this message came from. MSH-4.", +"type": "string" +}, +"sendTime": { +"description": "The datetime the sending application sent this message. MSH-7.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"NotificationConfig": { +"description": "Specifies where to send notifications upon changes to a data store.", +"id": "NotificationConfig", +"properties": { +"pubsubTopic": { +"description": "The [Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that notifications of changes are published on. Supplied by the client. PubsubMessage.Data contains the resource name. PubsubMessage.MessageId is the ID of this message. It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message was published. Notifications are only sent if the topic is non-empty. [Topic names](https://cloud.google.com/pubsub/docs/overview#names) must be scoped to a project. Cloud Healthcare API service account must have publisher permissions on the given Pub/Sub topic. Not having adequate permissions causes the calls that send notifications to fail. If a notification can't be published to Pub/Sub, errors are logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). If the number of errors exceeds a certain rate, some aren't submitted. Note that not all operations trigger notifications, see [Configuring Pub/Sub notifications](https://cloud.google.com/healthcare/docs/how-tos/pubsub) for specific details.", +"type": "string" +}, +"sendForBulkImport": { +"description": "Indicates whether or not to send Pub/Sub notifications on bulk import. Only supported for DICOM imports.", +"type": "boolean" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"done": { +"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", +"type": "boolean" +}, +"error": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "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": "OperationMetadata provides information about the operation execution. Returned in the long-running operation's metadata field.", +"id": "OperationMetadata", +"properties": { +"apiMethodName": { +"description": "The name of the API method that initiated the operation.", +"type": "string" +}, +"cancelRequested": { +"description": "Specifies if cancellation was requested for the operation.", +"type": "boolean" +}, +"counter": { +"$ref": "ProgressCounter" +}, +"createTime": { +"description": "The time at which the operation was created by the API.", +"format": "google-datetime", +"type": "string" +}, +"endTime": { +"description": "The time at which execution workloads were completed. Some tasks will complete after this time such as logging audit logs.", +"format": "google-datetime", +"type": "string" +}, +"logsUrl": { +"description": "A link to audit and error logs in the log viewer. Error logs are generated only by some operations, listed at [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging). The `end_time` specified in this URL may not match the end time on the metadata because logs are written asynchronously from execution.", +"type": "string" +} +}, +"type": "object" +}, +"Options": { +"description": "Specifies additional options to apply to the base profile.", +"id": "Options", +"properties": { +"cleanDescriptors": { +"$ref": "CleanDescriptorsOption", +"description": "Set Clean Descriptors Option." +}, +"cleanImage": { +"$ref": "ImageConfig", +"description": "Apply `Action.clean_image` to [`PixelData`](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html) as configured." +}, +"primaryIds": { +"description": "Set `Action` for [`StudyInstanceUID`, `SeriesInstanceUID`, `SOPInstanceUID`, and `MediaStorageSOPInstanceUID`](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html).", +"enum": [ +"PRIMARY_IDS_OPTION_UNSPECIFIED", +"KEEP", +"REGEN" +], +"enumDescriptions": [ +"No value provided. Default to the behavior specified by the base profile.", +"Keep primary IDs.", +"Regenerate primary IDs." +], +"type": "string" +} +}, +"type": "object" +}, +"ParsedData": { +"description": "The content of an HL7v2 message in a structured format.", +"id": "ParsedData", +"properties": { +"segments": { +"items": { +"$ref": "Segment" +}, +"type": "array" +} +}, +"type": "object" +}, +"ParserConfig": { +"description": "The configuration for the parser. It determines how the server parses the messages.", +"id": "ParserConfig", +"properties": { +"allowNullHeader": { +"description": "Determines whether messages with no header are allowed.", +"type": "boolean" +}, +"schema": { +"$ref": "SchemaPackage", +"description": "Schemas used to parse messages in this store, if schematized parsing is desired." +}, +"segmentTerminator": { +"description": "Byte(s) to use as the segment terminator. If this is unset, '\\r' is used as segment terminator, matching the HL7 version 2 specification.", +"format": "byte", +"type": "string" +}, +"version": { +"description": "Immutable. Determines the version of both the default parser to be used when `schema` is not given, as well as the schematized parser used when `schema` is specified. This field is immutable after HL7v2 store creation.", +"enum": [ +"PARSER_VERSION_UNSPECIFIED", +"V1", +"V2", +"V3" +], +"enumDescriptions": [ +"Unspecified parser version, equivalent to V1.", +"The `parsed_data` includes every given non-empty message field except the Field Separator (MSH-1) field. As a result, the parsed MSH segment starts with the MSH-2 field and the field numbers are off-by-one with respect to the HL7 standard.", +"The `parsed_data` includes every given non-empty message field.", +"This version is the same as V2, with the following change. The `parsed_data` contains unescaped escaped field separators, component separators, sub-component separators, repetition separators, escape characters, and truncation characters. If `schema` is specified, the schematized parser uses improved parsing heuristics compared to previous versions." +], +"type": "string" +} +}, +"type": "object" +}, +"PatientId": { +"description": "A patient identifier and associated type.", +"id": "PatientId", +"properties": { +"type": { +"description": "ID type. For example, MRN or NHS.", +"type": "string" +}, +"value": { +"description": "The patient's unique identifier.", +"type": "string" +} +}, +"type": "object" +}, +"PatientScope": { +"description": "Apply consents given by a list of patients.", +"id": "PatientScope", +"properties": { +"patientIds": { +"description": "Optional. The list of patient IDs whose Consent resources will be enforced. At most 10,000 patients can be specified. An empty list is equivalent to all patients (meaning the entire FHIR store).", +"items": { +"type": "string" +}, +"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" +}, +"ProgressCounter": { +"description": "ProgressCounter provides counters to describe an operation's progress.", +"id": "ProgressCounter", +"properties": { +"failure": { +"description": "The number of units that failed in the operation.", +"format": "int64", +"type": "string" +}, +"pending": { +"description": "The number of units that are pending in the operation.", +"format": "int64", +"type": "string" +}, +"secondaryFailure": { +"description": "The number of secondary units that failed in the operation.", +"format": "int64", +"type": "string" +}, +"secondarySuccess": { +"description": "The number of secondary units that succeeded in the operation.", +"format": "int64", +"type": "string" +}, +"success": { +"description": "The number of units that succeeded in the operation.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"PubsubDestination": { +"description": "The Pub/Sub output destination. The Cloud Healthcare Service Agent requires the `roles/pubsub.publisher` Cloud IAM role on the Pub/Sub topic.", +"id": "PubsubDestination", +"properties": { +"pubsubTopic": { +"description": "The [Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that Pub/Sub messages are published on. Supplied by the client. The `PubsubMessage` contains the following fields: * `PubsubMessage.Data` contains the resource name. * `PubsubMessage.MessageId` is the ID of this notification. It is guaranteed to be unique within the topic. * `PubsubMessage.PublishTime` is the time when the message was published. [Topic names](https://cloud.google.com/pubsub/docs/overview#names) must be scoped to a project. The Cloud Healthcare API service account, service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com, must have publisher permissions on the given Pub/Sub topic. Not having adequate permissions causes the calls that send notifications to fail.", +"type": "string" +} +}, +"type": "object" +}, +"QueryAccessibleDataRequest": { +"description": "Queries all data_ids that are consented for a given use in the given consent store and writes them to a specified destination. The returned Operation includes a progress counter for the number of User data mappings processed. Errors are logged to Cloud Logging (see [Viewing error logs in Cloud Logging] (https://cloud.google.com/healthcare/docs/how-tos/logging) and [QueryAccessibleData] for a sample log entry).", +"id": "QueryAccessibleDataRequest", +"properties": { +"gcsDestination": { +"$ref": "GoogleCloudHealthcareV1beta1ConsentGcsDestination", +"description": "The Cloud Storage destination. The Cloud Healthcare API service account must have the `roles/storage.objectAdmin` Cloud IAM role for this Cloud Storage location. The object name is in the following format: query-accessible-data-result-{operation_id}.txt where each line contains a single data_id." +}, +"requestAttributes": { +"additionalProperties": { +"type": "string" +}, +"description": "The values of request attributes associated with this access request.", +"type": "object" +}, +"resourceAttributes": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The values of resource attributes associated with the type of resources being requested. If no values are specified, then all resource types are included in the output.", +"type": "object" +} +}, +"type": "object" +}, +"QueryAccessibleDataResponse": { +"description": "Response for successful QueryAccessibleData operations. This structure is included in the response upon operation completion.", +"id": "QueryAccessibleDataResponse", +"properties": { +"gcsUris": { +"description": "List of files, each of which contains a list of data_id(s) that are consented for a specified use in the request.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RecurseTag": { +"description": "Recursively apply DICOM de-id to tags nested in a sequence. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): SQ", +"id": "RecurseTag", +"properties": {}, +"type": "object" +}, +"RedactConfig": { +"description": "Define how to redact sensitive values. Default behaviour is erase. For example, \"My name is Jane.\" becomes \"My name is .\"", +"id": "RedactConfig", +"properties": {}, +"type": "object" +}, +"RegenUidTag": { +"description": "Replace UID with a new generated UID. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): UI", +"id": "RegenUidTag", +"properties": {}, +"type": "object" +}, +"RejectConsentRequest": { +"description": "Rejects the latest revision of the specified Consent by committing a new revision with `state` updated to `REJECTED`. If the latest revision of the given Consent is in the `REJECTED` state, no new revision is committed.", +"id": "RejectConsentRequest", +"properties": { +"consentArtifact": { +"description": "Optional. The resource name of the Consent artifact that contains documentation of the user's rejection of the draft Consent, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consentArtifacts/{consent_artifact_id}`. If the draft Consent had a Consent artifact, this Consent artifact overwrites it.", +"type": "string" +} +}, +"type": "object" +}, +"RemoveField": { +"description": "Remove field.", +"id": "RemoveField", +"properties": {}, +"type": "object" +}, +"RemoveTag": { +"description": "Replace with empty tag.", +"id": "RemoveTag", +"properties": {}, +"type": "object" +}, +"ReplaceWithInfoTypeConfig": { +"description": "When using the INSPECT_AND_TRANSFORM action, each match is replaced with the name of the info_type. For example, \"My name is Jane\" becomes \"My name is [PERSON_NAME].\" The TRANSFORM action is equivalent to redacting.", +"id": "ReplaceWithInfoTypeConfig", +"properties": {}, +"type": "object" +}, +"ResetTag": { +"description": "Reset tag to a placeholder value.", +"id": "ResetTag", +"properties": {}, +"type": "object" +}, +"ResourceAnnotation": { +"description": "Resource level annotation.", +"id": "ResourceAnnotation", +"properties": { +"label": { +"description": "A description of the annotation record.", +"type": "string" +} +}, +"type": "object" +}, +"Resources": { +"description": "A list of FHIR resources.", +"id": "Resources", +"properties": { +"resources": { +"description": "List of resources IDs. For example, \"Patient/1234\".", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Result": { +"description": "The consent evaluation result for a single `data_id`.", +"id": "Result", +"properties": { +"consentDetails": { +"additionalProperties": { +"$ref": "ConsentEvaluation" +}, +"description": "The resource names of all evaluated Consents mapped to their evaluation.", +"type": "object" +}, +"consented": { +"description": "Whether the resource is consented for the given use.", +"type": "boolean" +}, +"dataId": { +"description": "The unique identifier of the evaluated resource.", +"type": "string" +} +}, +"type": "object" +}, +"RevokeConsentRequest": { +"description": "Revokes the latest revision of the specified Consent by committing a new revision with `state` updated to `REVOKED`. If the latest revision of the given Consent is in the `REVOKED` state, no new revision is committed.", +"id": "RevokeConsentRequest", +"properties": { +"consentArtifact": { +"description": "Optional. The resource name of the Consent artifact that contains proof of the user's revocation of the Consent, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consentArtifacts/{consent_artifact_id}`.", +"type": "string" +} +}, +"type": "object" +}, +"RollbackFhirResourceFilteringFields": { +"description": "Filters to select resources that need to be rolled back.", +"id": "RollbackFhirResourceFilteringFields", +"properties": { +"metadataFilter": { +"description": "Optional. A filter expression that matches data in the `Resource.meta` element. Supports all filters in [AIP-160](https://google.aip.dev/160) except the \"has\" (`:`) operator. Supports the following custom functions: * `tag(\"\") = \"\"` for tag filtering. * `extension_value_ts(\"\") = ` for filtering extensions with a timestamp, where `` is a Unix timestamp. Supports the `>`, `<`, `<=`, `>=`, and `!=` comparison operators.", +"type": "string" +}, +"operationIds": { +"description": "Optional. A list of operation IDs to roll back. Only changes made by these operations will be rolled back.", +"items": { +"format": "uint64", +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RollbackFhirResourcesRequest": { +"description": "Request to roll back resources.", +"id": "RollbackFhirResourcesRequest", +"properties": { +"changeType": { +"description": "Optional. CREATE/UPDATE/DELETE/ALL for reverting all txns of a certain type.", +"enum": [ +"CHANGE_TYPE_UNSPECIFIED", +"ALL", +"CREATE", +"UPDATE", +"DELETE" +], +"enumDescriptions": [ +"When unspecified, revert all transactions", +"All transactions", +"Revert only CREATE transactions", +"Revert only Update transactions", +"Revert only Delete transactions" +], +"type": "string" +}, +"excludeRollbacks": { +"description": "Optional. Specifies whether to exclude earlier rollbacks.", +"type": "boolean" +}, +"filteringFields": { +"$ref": "RollbackFhirResourceFilteringFields", +"description": "Optional. Tag represents fields that HDE needs to identify resources that will be reverted. Parameters for filtering resources" +}, +"force": { +"description": "Optional. When enabled, changes will be reverted without explicit confirmation", +"type": "boolean" +}, +"inputGcsObject": { +"description": "Optional. Cloud Storage object containing list of {resourceType}/{resourceId} lines, identifying resources to be reverted", +"type": "string" +}, +"resultGcsBucket": { +"description": "Required. Bucket to deposit result", +"type": "string" +}, +"rollbackTime": { +"description": "Required. Time point to rollback to.", +"format": "google-datetime", +"type": "string" +}, +"type": { +"description": "Optional. If specified, revert only resources of these types", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RollbackFhirResourcesResponse": { +"description": "Final response of rollback FHIR resources request.", +"id": "RollbackFhirResourcesResponse", +"properties": { +"fhirStore": { +"description": "The name of the FHIR store to rollback, in the format of \"projects/{project_id}/locations/{location_id}/datasets/{dataset_id} /fhirStores/{fhir_store_id}\".", +"type": "string" +} +}, +"type": "object" +}, +"RollbackHL7MessagesFilteringFields": { +"description": "Filtering fields for an HL7v2 rollback. Currently only supports a list of operation ids to roll back.", +"id": "RollbackHL7MessagesFilteringFields", +"properties": { +"operationIds": { +"description": "Optional. A list of operation IDs to roll back.", +"items": { +"format": "uint64", +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RollbackHl7V2MessagesRequest": { +"description": "Point in time recovery rollback request.", +"id": "RollbackHl7V2MessagesRequest", +"properties": { +"changeType": { +"description": "Optional. CREATE/UPDATE/DELETE/ALL for reverting all txns of a certain type.", +"enum": [ +"CHANGE_TYPE_UNSPECIFIED", +"ALL", +"CREATE", +"UPDATE", +"DELETE" +], +"enumDescriptions": [ +"When unspecified, revert all transactions", +"All transactions", +"Revert only CREATE transactions", +"Revert only Update transactions", +"Revert only Delete transactions" +], +"type": "string" +}, +"excludeRollbacks": { +"description": "Optional. Specifies whether to exclude earlier rollbacks.", +"type": "boolean" +}, +"filteringFields": { +"$ref": "RollbackHL7MessagesFilteringFields", +"description": "Optional. Parameters for filtering." +}, +"force": { +"description": "Optional. When enabled, changes will be reverted without explicit confirmation.", +"type": "boolean" +}, +"inputGcsObject": { +"description": "Optional. Cloud storage object containing list of {resourceId} lines, identifying resources to be reverted", +"type": "string" +}, +"resultGcsBucket": { +"description": "Required. Bucket to deposit result", +"type": "string" +}, +"rollbackTime": { +"description": "Required. Times point to rollback to.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"RollbackHl7V2MessagesResponse": { +"description": "Final response of rollback FHIR resources request.", +"id": "RollbackHl7V2MessagesResponse", +"properties": { +"hl7v2Store": { +"description": "The name of the HL7v2 store to rollback, in the format of \"projects/{project_id}/locations/{location_id}/datasets/{dataset_id} /hl7v2Stores/{fhir_store_id}\".", +"type": "string" +} +}, +"type": "object" +}, +"SchemaConfig": { +"description": "Configuration for the FHIR BigQuery schema. Determines how the server generates the schema.", +"id": "SchemaConfig", +"properties": { +"lastUpdatedPartitionConfig": { +"$ref": "TimePartitioning", +"description": "The configuration for exported BigQuery tables to be partitioned by FHIR resource's last updated time column." +}, +"recursiveStructureDepth": { +"description": "The depth for all recursive structures in the output analytics schema. For example, `concept` in the CodeSystem resource is a recursive structure; when the depth is 2, the CodeSystem table will have a column called `concept.concept` but not `concept.concept.concept`. If not specified or set to 0, the server will use the default value 2. The maximum depth allowed is 5.", +"format": "int64", +"type": "string" +}, +"schemaType": { +"description": "Specifies the output schema type. Schema type is required.", +"enum": [ +"SCHEMA_TYPE_UNSPECIFIED", +"LOSSLESS", +"ANALYTICS", +"ANALYTICS_V2" +], +"enumDescriptions": [ +"No schema type specified. This type is unsupported.", +"A data-driven schema generated from the fields present in the FHIR data being exported, with no additional simplification. This type cannot be used for streaming to BigQuery.", +"Analytics schema defined by the FHIR community. See https://github.com/FHIR/sql-on-fhir/blob/master/sql-on-fhir.md. BigQuery only allows a maximum of 10,000 columns per table. Due to this limitation, the server will not generate schemas for fields of type `Resource`, which can hold any resource type. The affected fields are `Parameters.parameter.resource`, `Bundle.entry.resource`, and `Bundle.entry.response.outcome`. Analytics schema does not gracefully handle extensions with one or more occurrences, anaytics schema also does not handle contained resource. Additionally, extensions with a URL ending in \"/{existing_resource_field_name}\" may cause undefined behavior.", +"Analytics V2, similar to schema defined by the FHIR community, with added support for extensions with one or more occurrences and contained resources in stringified JSON. Extensions with a URL ending in \"/{existing_resource_field_name}\" will cause conflict and prevent the resource from being sent to BigQuery. Analytics V2 uses more space in the destination table than Analytics V1. It is generally recommended to use Analytics V2 over Analytics." +], +"type": "string" +} +}, +"type": "object" +}, +"SchemaGroup": { +"description": "An HL7v2 logical group construct.", +"id": "SchemaGroup", +"properties": { +"choice": { +"description": "True indicates that this is a choice group, meaning that only one of its segments can exist in a given message.", +"type": "boolean" +}, +"maxOccurs": { +"description": "The maximum number of times this group can be repeated. 0 or -1 means unbounded.", +"format": "int32", +"type": "integer" +}, +"members": { +"description": "Nested groups and/or segments.", +"items": { +"$ref": "GroupOrSegment" +}, +"type": "array" +}, +"minOccurs": { +"description": "The minimum number of times this group must be present/repeated.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "The name of this group. For example, \"ORDER_DETAIL\".", +"type": "string" +} +}, +"type": "object" +}, +"SchemaPackage": { +"description": "A schema package contains a set of schemas and type definitions.", +"id": "SchemaPackage", +"properties": { +"ignoreMinOccurs": { +"description": "Flag to ignore all min_occurs restrictions in the schema. This means that incoming messages can omit any group, segment, field, component, or subcomponent.", +"type": "boolean" +}, +"schemas": { +"description": "Schema configs that are layered based on their VersionSources that match the incoming message. Schema configs present in higher indices override those in lower indices with the same message type and trigger event if their VersionSources all match an incoming message.", +"items": { +"$ref": "Hl7SchemaConfig" +}, +"type": "array" +}, +"schematizedParsingType": { +"description": "Determines how messages that fail to parse are handled.", +"enum": [ +"SCHEMATIZED_PARSING_TYPE_UNSPECIFIED", +"SOFT_FAIL", +"HARD_FAIL" +], +"enumDescriptions": [ +"Unspecified schematized parsing type, equivalent to `SOFT_FAIL`.", +"Messages that fail to parse are still stored and ACKed but a parser error is stored in place of the schematized data.", +"Messages that fail to parse are rejected from ingestion/insertion and return an error code." +], +"type": "string" +}, +"types": { +"description": "Schema type definitions that are layered based on their VersionSources that match the incoming message. Type definitions present in higher indices override those in lower indices with the same type name if their VersionSources all match an incoming message.", +"items": { +"$ref": "Hl7TypesConfig" +}, +"type": "array" +}, +"unexpectedSegmentHandling": { +"description": "Determines how unexpected segments (segments not matched to the schema) are handled.", +"enum": [ +"UNEXPECTED_SEGMENT_HANDLING_MODE_UNSPECIFIED", +"FAIL", +"SKIP", +"PARSE" +], +"enumDescriptions": [ +"Unspecified handling mode, equivalent to FAIL.", +"Unexpected segments fail to parse and return an error.", +"Unexpected segments do not fail, but are omitted from the output.", +"Unexpected segments do not fail, but are parsed in place and added to the current group. If a segment has a type definition, it is used, otherwise it is parsed as VARIES." +], +"type": "string" +} +}, +"type": "object" +}, +"SchemaSegment": { +"description": "An HL7v2 Segment.", +"id": "SchemaSegment", +"properties": { +"maxOccurs": { +"description": "The maximum number of times this segment can be present in this group. 0 or -1 means unbounded.", +"format": "int32", +"type": "integer" +}, +"minOccurs": { +"description": "The minimum number of times this segment can be present in this group.", +"format": "int32", +"type": "integer" +}, +"type": { +"description": "The Segment type. For example, \"PID\".", +"type": "string" +} +}, +"type": "object" +}, +"SchematizedData": { +"description": "The content of an HL7v2 message in a structured format as specified by a schema.", +"id": "SchematizedData", +"properties": { +"data": { +"description": "JSON output of the parser.", +"type": "string" +}, +"error": { +"description": "The error output of the parser.", +"type": "string" +} +}, +"type": "object" +}, +"SearchConfig": { +"description": "Contains the configuration for FHIR search.", +"id": "SearchConfig", +"properties": { +"searchParameters": { +"description": "A list of search parameters in this FHIR store that are used to configure this FHIR store.", +"items": { +"$ref": "SearchParameter" +}, +"type": "array" +} +}, +"type": "object" +}, +"SearchParameter": { +"description": "Contains the versioned name and the URL for one SearchParameter.", +"id": "SearchParameter", +"properties": { +"canonicalUrl": { +"description": "The canonical url of the search parameter resource.", +"type": "string" +}, +"parameter": { +"description": "The versioned name of the search parameter resource. The format is projects/{project-id}/locations/{location}/datasets/{dataset-id}/fhirStores/{fhirStore-id}/fhir/SearchParameter/{resource-id}/_history/{version-id} For fhir stores with disable_resource_versioning=true, the format is projects/{project-id}/locations/{location}/datasets/{dataset-id}/fhirStores/{fhirStore-id}/fhir/SearchParameter/{resource-id}/", +"type": "string" +} +}, +"type": "object" +}, +"SearchResourcesRequest": { +"description": "Request to search the resources in the specified FHIR store.", +"id": "SearchResourcesRequest", +"properties": { +"resourceType": { +"description": "Required. The FHIR resource type to search, such as Patient or Observation. For a complete list, see the FHIR Resource Index ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/resourcelist.html), [R4](https://hl7.org/implement/standards/fhir/R4/resourcelist.html)).", +"type": "string" +} +}, +"type": "object" +}, +"Segment": { +"description": "A segment in a structured format.", +"id": "Segment", +"properties": { +"fields": { +"additionalProperties": { +"type": "string" +}, +"description": "A mapping from the positional location to the value. The key string uses zero-based indexes separated by dots to identify Fields, components and sub-components. A bracket notation is also used to identify different instances of a repeated field. Regex for key: (\\d+)(\\[\\d+\\])?(.\\d+)?(.\\d+)? Examples of (key, value) pairs: * (0.1, \"hemoglobin\") denotes that the first component of Field 0 has the value \"hemoglobin\". * (1.1.2, \"CBC\") denotes that the second sub-component of the first component of Field 1 has the value \"CBC\". * (1[0].1, \"HbA1c\") denotes that the first component of the first Instance of Field 1, which is repeated, has the value \"HbA1c\".", +"type": "object" +}, +"segmentId": { +"description": "A string that indicates the type of segment. For example, EVN or PID.", +"type": "string" +}, +"setId": { +"description": "Set ID for segments that can be in a set. This can be empty if it's missing or isn't applicable.", +"type": "string" +} +}, +"type": "object" +}, +"SensitiveTextAnnotation": { +"description": "A TextAnnotation specifies a text range that includes sensitive information.", +"id": "SensitiveTextAnnotation", +"properties": { +"details": { +"additionalProperties": { +"$ref": "Detail" +}, +"description": "Maps from a resource slice. For example, FHIR resource field path to a set of sensitive text findings. For example, Appointment.Narrative text1 --> {findings_1, findings_2, findings_3}", +"type": "object" +} +}, +"type": "object" +}, +"SeriesMetrics": { +"description": "SeriesMetrics contains metrics describing a DICOM series.", +"id": "SeriesMetrics", +"properties": { +"blobStorageSizeBytes": { +"description": "Total blob storage bytes for all instances in the series.", +"format": "int64", +"type": "string" +}, +"instanceCount": { +"description": "Number of instances in the series.", +"format": "int64", +"type": "string" +}, +"series": { +"description": "The series resource path. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}/dicomWeb/studies/{study_uid}/series/{series_uid}`.", +"type": "string" +}, +"structuredStorageSizeBytes": { +"description": "Total structured storage bytes for all instances in the series.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"SetBlobStorageSettingsRequest": { +"description": "Request message for `SetBlobStorageSettings` method.", +"id": "SetBlobStorageSettingsRequest", +"properties": { +"blobStorageSettings": { +"$ref": "BlobStorageSettings", +"description": "The blob storage settings to update for the specified resources. Only fields listed in `update_mask` are applied." +}, +"filterConfig": { +"$ref": "DicomFilterConfig", +"description": "Optional. A filter configuration. If `filter_config` is specified, set the value of `resource` to the resource name of a DICOM store in the format `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStores/{dicomStoreID}`." +} +}, +"type": "object" +}, +"SetBlobStorageSettingsResponse": { +"description": "Returns additional info in regards to a completed set blob storage settings API.", +"id": "SetBlobStorageSettingsResponse", +"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" +}, +"Signature": { +"description": "User signature.", +"id": "Signature", +"properties": { +"image": { +"$ref": "Image", +"description": "Optional. An image of the user's signature." +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Metadata associated with the user's signature. For example, the user's name or the user's title.", +"type": "object" +}, +"signatureTime": { +"description": "Optional. Timestamp of the signature.", +"format": "google-datetime", +"type": "string" +}, +"userId": { +"description": "Required. User's UUID provided by the client.", +"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" +}, +"StorageInfo": { +"description": "StorageInfo encapsulates all the storage info of a resource.", +"id": "StorageInfo", +"properties": { +"blobStorageInfo": { +"$ref": "BlobStorageInfo", +"description": "Info about the data stored in blob storage for the resource." +}, +"referencedResource": { +"description": "The resource whose storage info is returned. For example: `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStores/{dicomStoreID}/dicomWeb/studies/{studyUID}/series/{seriesUID}/instances/{instanceUID}`", +"type": "string" +}, +"structuredStorageInfo": { +"$ref": "StructuredStorageInfo", +"description": "Info about the data stored in structured storage for the resource." +} +}, +"type": "object" +}, +"StreamConfig": { +"description": "Contains configuration for streaming FHIR export.", +"id": "StreamConfig", +"properties": { +"bigqueryDestination": { +"$ref": "GoogleCloudHealthcareV1beta1FhirBigQueryDestination", +"description": "The destination BigQuery structure that contains both the dataset location and corresponding schema config. The output is organized in one table per resource type. The server reuses the existing tables (if any) that are named after the resource types, e.g. \"Patient\", \"Observation\". When there is no existing table for a given resource type, the server attempts to create one. When a table schema doesn't align with the schema config, either because of existing incompatible schema or out of band incompatible modification, the server does not stream in new data. One resolution in this case is to delete the incompatible table and let the server recreate one, though the newly created table only contains data after the table recreation. BigQuery imposes a 1 MB limit on streaming insert row size, therefore any resource mutation that generates more than 1 MB of BigQuery data will not be streamed. Results are written to BigQuery tables according to the parameters in BigQueryDestination.WriteDisposition. Different versions of the same resource are distinguishable by the meta.versionId and meta.lastUpdated columns. The operation (CREATE/UPDATE/DELETE) that results in the new version is recorded in the meta.tag. The tables contain all historical resource versions since streaming was enabled. For query convenience, the server also creates one view per table of the same name containing only the current resource version. The streamed data in the BigQuery dataset is not guaranteed to be completely unique. The combination of the id and meta.versionId columns should ideally identify a single unique row. But in rare cases, duplicates may exist. At query time, users may use the SQL select statement to keep only one of the duplicate rows given an id and meta.versionId pair. Alternatively, the server created view mentioned above also filters out duplicates. If a resource mutation cannot be streamed to BigQuery, errors will be logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging))." +}, +"deidentifiedStoreDestination": { +"$ref": "DeidentifiedStoreDestination", +"description": "The destination FHIR store for de-identified resources. After this field is added, all subsequent creates/updates/patches to the source store will be de-identified using the provided configuration and applied to the destination store. Resources deleted from the source store will be deleted from the destination store. Importing resources to the source store will not trigger the streaming. If the source store already contains resources when this option is enabled, those resources will not be copied to the destination store unless they are subsequently updated. This may result in invalid references in the destination store. Before adding this config, you must grant the healthcare.fhirResources.update permission on the destination store to your project's **Cloud Healthcare Service Agent** [service account](https://cloud.google.com/healthcare/docs/how-tos/permissions-healthcare-api-gcp-products#the_cloud_healthcare_service_agent). The destination store must set enable_update_create to true. The destination store must have disable_referential_integrity set to true. If a resource cannot be de-identified, errors will be logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging))." +}, +"resourceTypes": { +"description": "Supply a FHIR resource type (such as \"Patient\" or \"Observation\"). See https://www.hl7.org/fhir/valueset-resource-types.html for a list of all FHIR resource types. The server treats an empty list as an intent to stream all the supported resource types in this FHIR store.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"StructuredStorageInfo": { +"description": "StructuredStorageInfo contains details about the data stored in Structured Storage for the referenced resource.", +"id": "StructuredStorageInfo", +"properties": { +"sizeBytes": { +"description": "Size in bytes of data stored in structured storage.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"StudyMetrics": { +"description": "StudyMetrics contains metrics describing a DICOM study.", +"id": "StudyMetrics", +"properties": { +"blobStorageSizeBytes": { +"description": "Total blob storage bytes for all instances in the study.", +"format": "int64", +"type": "string" +}, +"instanceCount": { +"description": "Number of instances in the study.", +"format": "int64", +"type": "string" +}, +"seriesCount": { +"description": "Number of series in the study.", +"format": "int64", +"type": "string" +}, +"structuredStorageSizeBytes": { +"description": "Total structured storage bytes for all instances in the study.", +"format": "int64", +"type": "string" +}, +"study": { +"description": "The study resource path. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}/dicomWeb/studies/{study_uid}`.", +"type": "string" +} +}, +"type": "object" +}, +"TagFilterList": { +"description": "List of tags to be filtered.", +"id": "TagFilterList", +"properties": { +"tags": { +"description": "Tags to be filtered. Tags must be DICOM Data Elements, File Meta Elements, or Directory Structuring Elements, as defined at: http://dicom.nema.org/medical/dicom/current/output/html/part06.html#table_6-1,. They may be provided by \"Keyword\" or \"Tag\". For example, \"PatientID\", \"00100010\".", +"items": { +"type": "string" +}, +"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" +}, +"TextConfig": { +"description": "Configures how to transform sensitive text `InfoTypes`.", +"id": "TextConfig", +"properties": { +"additionalTransformations": { +"description": "Additional transformations to apply to the detected data, overriding `profile`.", +"items": { +"$ref": "InfoTypeTransformation" +}, +"type": "array" +}, +"excludeInfoTypes": { +"description": "InfoTypes to skip transforming, overriding `profile`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"profileType": { +"description": "Base profile type for text transformation.", +"enum": [ +"PROFILE_TYPE_UNSPECIFIED", +"EMPTY", +"BASIC" +], +"enumDescriptions": [ +"No profile provided. Same as BASIC.", +"Empty profile which does not perform any transformations.", +"Automatically converts \"DATE\" infoTypes using a DateShiftConfig, and all other infoTypes using a ReplaceWithInfoTypeConfig." +], +"type": "string" +}, +"transformations": { +"deprecated": true, +"description": "The transformations to apply to the detected data. Deprecated. Use `additional_transformations` instead.", +"items": { +"$ref": "InfoTypeTransformation" +}, +"type": "array" +} +}, +"type": "object" +}, +"TextSpan": { +"description": "A span of text in the provided document.", +"id": "TextSpan", +"properties": { +"beginOffset": { +"description": "The unicode codepoint index of the beginning of this span.", +"format": "int32", +"type": "integer" +}, +"content": { +"description": "The original text contained in this span.", +"type": "string" +} +}, +"type": "object" +}, +"TimePartitioning": { +"description": "Configuration for FHIR BigQuery time-partitioned tables.", +"id": "TimePartitioning", +"properties": { +"expirationMs": { +"description": "Number of milliseconds for which to keep the storage for a partition.", +"format": "int64", +"type": "string" +}, +"type": { +"description": "Type of partitioning.", +"enum": [ +"PARTITION_TYPE_UNSPECIFIED", +"HOUR", +"DAY", +"MONTH", +"YEAR" +], +"enumDescriptions": [ +"Default unknown time.", +"Data partitioned by hour.", +"Data partitioned by day.", +"Data partitioned by month.", +"Data partitioned by year." +], +"type": "string" +} +}, +"type": "object" +}, +"TimeRange": { +"description": "Apply consents given by patients whose most recent consent changes are in the time range. Note that after identifying these patients, the server applies all Consent resources given by those patients, not just the Consent resources within the timestamp in the range.", +"id": "TimeRange", +"properties": { +"end": { +"description": "Optional. The latest consent change time, in format YYYY-MM-DDThh:mm:ss.sss+zz:zz If not specified, the system uses the time when ApplyConsents was called.", +"type": "string" +}, +"start": { +"description": "Optional. The earliest consent change time, in format YYYY-MM-DDThh:mm:ss.sss+zz:zz If not specified, the system uses the FHIR store creation time.", +"type": "string" +} +}, +"type": "object" +}, +"Type": { +"description": "A type definition for some HL7v2 type (incl. Segments and Datatypes).", +"id": "Type", +"properties": { +"fields": { +"description": "The (sub) fields this type has (if not primitive).", +"items": { +"$ref": "Field" +}, +"type": "array" +}, +"name": { +"description": "The name of this type. This would be the segment or datatype name. For example, \"PID\" or \"XPN\".", +"type": "string" +}, +"primitive": { +"description": "If this is a primitive type then this field is the type of the primitive For example, STRING. Leave unspecified for composite types.", +"enum": [ +"PRIMITIVE_UNSPECIFIED", +"STRING", +"VARIES", +"UNESCAPED_STRING" +], +"enumDescriptions": [ +"Not a primitive.", +"String primitive.", +"Element that can have unschematized children.", +"Like STRING, but all delimiters below this element are ignored." +], +"type": "string" +} +}, +"type": "object" +}, +"UserDataMapping": { +"description": "Maps a resource to the associated user and Attributes.", +"id": "UserDataMapping", +"properties": { +"archiveTime": { +"description": "Output only. Indicates the time when this mapping was archived.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"archived": { +"description": "Output only. Indicates whether this mapping is archived.", +"readOnly": true, +"type": "boolean" +}, +"dataId": { +"description": "Required. A unique identifier for the mapped resource.", +"type": "string" +}, +"name": { +"description": "Resource name of the User data mapping, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/userDataMappings/{user_data_mapping_id}`.", +"type": "string" +}, +"resourceAttributes": { +"description": "Attributes of the resource. Only explicitly set attributes are displayed here. Attribute definitions with defaults set implicitly apply to these User data mappings. Attributes listed here must be single valued, that is, exactly one value is specified for the field \"values\" in each Attribute.", +"items": { +"$ref": "Attribute" +}, +"type": "array" +}, +"userId": { +"description": "Required. User's UUID provided by the client.", +"type": "string" +} +}, +"type": "object" +}, +"ValidationConfig": { +"description": "Contains the configuration for FHIR profiles and validation.", +"id": "ValidationConfig", +"properties": { +"disableFhirpathValidation": { +"description": "Whether to disable FHIRPath validation for incoming resources. The default value is false. Set this to true to disable checking incoming resources for conformance against FHIRPath requirement defined in the FHIR specification. This property only affects resource types that do not have profiles configured for them, any rules in enabled implementation guides will still be enforced.", +"type": "boolean" +}, +"disableProfileValidation": { +"description": "Whether to disable profile validation for this FHIR store. The default value is false. Set this to true to disable checking incoming resources for conformance against StructureDefinitions in this FHIR store.", +"type": "boolean" +}, +"disableReferenceTypeValidation": { +"description": "Whether to disable reference type validation for incoming resources. The default value is false. Set this to true to disable checking incoming resources for conformance against reference type requirement defined in the FHIR specification. This property only affects resource types that do not have profiles configured for them, any rules in enabled implementation guides will still be enforced.", +"type": "boolean" +}, +"disableRequiredFieldValidation": { +"description": "Whether to disable required fields validation for incoming resources. The default value is false. Set this to true to disable checking incoming resources for conformance against required fields requirement defined in the FHIR specification. This property only affects resource types that do not have profiles configured for them, any rules in enabled implementation guides will still be enforced.", +"type": "boolean" +}, +"enabledImplementationGuides": { +"description": "A list of ImplementationGuide URLs in this FHIR store that are used to configure the profiles to use for validation. For example, to use the US Core profiles for validation, set `enabled_implementation_guides` to `[\"http://hl7.org/fhir/us/core/ImplementationGuide/ig\"]`. If `enabled_implementation_guides` is empty or omitted, then incoming resources are only required to conform to the base FHIR profiles. Otherwise, a resource must conform to at least one profile listed in the `global` property of one of the enabled ImplementationGuides. The Cloud Healthcare API does not currently enforce all of the rules in a StructureDefinition. The following rules are supported: - min/max - minValue/maxValue - maxLength - type - fixed[x] - pattern[x] on simple types - slicing, when using \"value\" as the discriminator type When a URL cannot be resolved (for example, in a type assertion), the server does not return an error.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"VersionSource": { +"description": "Describes a selector for extracting and matching an MSH field to a value.", +"id": "VersionSource", +"properties": { +"mshField": { +"description": "The field to extract from the MSH segment. For example, \"3.1\" or \"18[1].1\".", +"type": "string" +}, +"value": { +"description": "The value to match with the field. For example, \"My Application Name\" or \"2.3\".", +"type": "string" +} +}, +"type": "object" +}, +"Vertex": { +"description": "A 2D coordinate in an image. The origin is the top-left.", +"id": "Vertex", +"properties": { +"x": { +"description": "X coordinate.", +"format": "float", +"type": "number" +}, +"y": { +"description": "Y coordinate.", +"format": "float", +"type": "number" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Healthcare 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/ideahub.v1alpha.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/ideahub.v1alpha.json new file mode 100644 index 0000000000000000000000000000000000000000..2669c3f8e11a04d68aea358af0c1741d83be334a --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/ideahub.v1alpha.json @@ -0,0 +1,518 @@ +{ + "basePath": "", + "baseUrl": "https://ideahub.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Ideahub", + "description": "This is an invitation-only API.", + "discoveryVersion": "v1", + "documentationLink": "https://console.cloud.google.com/apis/library/ideahub.googleapis.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": "ideahub:v1alpha", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://ideahub.mtls.googleapis.com/", + "name": "ideahub", + "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": { + "ideas": { + "methods": { + "list": { + "description": "List ideas for a given Creator and filter and sort options.", + "flatPath": "v1alpha/ideas", + "httpMethod": "GET", + "id": "ideahub.ideas.list", + "parameterOrder": [], + "parameters": { + "filter": { + "description": "Allows filtering. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions are implicitly combined, as if the `AND` operator was always used. The `OR` operator is currently unsupported. * Supported functions: - `saved(bool)`: If set to true, fetches only saved ideas. If set to false, fetches all except saved ideas. Can't be simultaneously used with `dismissed(bool)`. - `dismissed(bool)`: If set to true, fetches only dismissed ideas. Can't be simultaneously used with `saved(bool)`. The `false` value is currently unsupported. Examples: * `saved(true)` * `saved(false)` * `dismissed(true)` The length of this field should be no more than 500 characters.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Order semantics described below.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of ideas per page. If unspecified, at most 10 ideas will be returned. The maximum value is 2000; values above 2000 will be coerced to 2000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Used to fetch next page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "If defined, specifies the creator for which to filter by. Format: publishers/{publisher}/properties/{property}", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha/ideas", + "response": { + "$ref": "GoogleSearchIdeahubV1alphaListIdeasResponse" + } + } + } + }, + "platforms": { + "resources": { + "properties": { + "resources": { + "ideaActivities": { + "methods": { + "create": { + "description": "Creates an idea activity entry.", + "flatPath": "v1alpha/platforms/{platformsId}/properties/{propertiesId}/ideaActivities", + "httpMethod": "POST", + "id": "ideahub.platforms.properties.ideaActivities.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource where this idea activity will be created. Format: platforms/{platform}/property/{property}", + "location": "path", + "pattern": "^platforms/[^/]+/properties/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/ideaActivities", + "request": { + "$ref": "GoogleSearchIdeahubV1alphaIdeaActivity" + }, + "response": { + "$ref": "GoogleSearchIdeahubV1alphaIdeaActivity" + } + } + } + }, + "ideaStates": { + "methods": { + "patch": { + "description": "Update an idea state resource.", + "flatPath": "v1alpha/platforms/{platformsId}/properties/{propertiesId}/ideaStates/{ideaStatesId}", + "httpMethod": "PATCH", + "id": "ideahub.platforms.properties.ideaStates.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Unique identifier for the idea state. Format: platforms/{platform}/properties/{property}/ideaStates/{idea_state}", + "location": "path", + "pattern": "^platforms/[^/]+/properties/[^/]+/ideaStates/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The list of fields to be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "request": { + "$ref": "GoogleSearchIdeahubV1alphaIdeaState" + }, + "response": { + "$ref": "GoogleSearchIdeahubV1alphaIdeaState" + } + } + } + }, + "ideas": { + "methods": { + "list": { + "description": "List ideas for a given Creator and filter and sort options.", + "flatPath": "v1alpha/platforms/{platformsId}/properties/{propertiesId}/ideas", + "httpMethod": "GET", + "id": "ideahub.platforms.properties.ideas.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Allows filtering. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions are implicitly combined, as if the `AND` operator was always used. The `OR` operator is currently unsupported. * Supported functions: - `saved(bool)`: If set to true, fetches only saved ideas. If set to false, fetches all except saved ideas. Can't be simultaneously used with `dismissed(bool)`. - `dismissed(bool)`: If set to true, fetches only dismissed ideas. Can't be simultaneously used with `saved(bool)`. The `false` value is currently unsupported. Examples: * `saved(true)` * `saved(false)` * `dismissed(true)` The length of this field should be no more than 500 characters.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Order semantics described below.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of ideas per page. If unspecified, at most 10 ideas will be returned. The maximum value is 2000; values above 2000 will be coerced to 2000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Used to fetch next page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "If defined, specifies the creator for which to filter by. Format: publishers/{publisher}/properties/{property}", + "location": "path", + "pattern": "^platforms/[^/]+/properties/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/ideas", + "response": { + "$ref": "GoogleSearchIdeahubV1alphaListIdeasResponse" + } + } + } + }, + "locales": { + "methods": { + "list": { + "description": "Returns which locales ideas are available in for a given Creator.", + "flatPath": "v1alpha/platforms/{platformsId}/properties/{propertiesId}/locales", + "httpMethod": "GET", + "id": "ideahub.platforms.properties.locales.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of locales to return. The service may return fewer than this value. If unspecified, at most 100 locales will be returned. The maximum value is 100; values above 100 will be coerced to 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListAvailableLocales` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAvailableLocales` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The web property to check idea availability for Format: platforms/{platform}/property/{property}", + "location": "path", + "pattern": "^platforms/[^/]+/properties/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/locales", + "response": { + "$ref": "GoogleSearchIdeahubV1alphaListAvailableLocalesResponse" + } + } + } + }, + "topicStates": { + "methods": { + "patch": { + "description": "Update a topic state resource.", + "flatPath": "v1alpha/platforms/{platformsId}/properties/{propertiesId}/topicStates/{topicStatesId}", + "httpMethod": "PATCH", + "id": "ideahub.platforms.properties.topicStates.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Unique identifier for the topic state. Format: platforms/{platform}/properties/{property}/topicStates/{topic_state}", + "location": "path", + "pattern": "^platforms/[^/]+/properties/[^/]+/topicStates/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The list of fields to be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "request": { + "$ref": "GoogleSearchIdeahubV1alphaTopicState" + }, + "response": { + "$ref": "GoogleSearchIdeahubV1alphaTopicState" + } + } + } + } + } + } + } + } + }, + "revision": "20221203", + "rootUrl": "https://ideahub.googleapis.com/", + "schemas": { + "GoogleSearchIdeahubV1alphaAvailableLocale": { + "description": "Represents locales that are available for a web property.", + "id": "GoogleSearchIdeahubV1alphaAvailableLocale", + "properties": { + "locale": { + "description": "A string in BCP 47 format, without a resource prefix.", + "type": "string" + }, + "name": { + "description": "A string in BCP 47 format, prefixed with the platform and property name, and \"locales/\". Format: platforms/{platform}/properties/{property}/locales/{locale}", + "type": "string" + } + }, + "type": "object" + }, + "GoogleSearchIdeahubV1alphaIdea": { + "description": "A single Idea that we want to show the end user.", + "id": "GoogleSearchIdeahubV1alphaIdea", + "properties": { + "name": { + "description": "Unique identifier for the idea. Format: ideas/{ideaId}", + "type": "string" + }, + "text": { + "description": "The idea\u2019s text.", + "type": "string" + }, + "topics": { + "description": "The Topics that match the idea.", + "items": { + "$ref": "GoogleSearchIdeahubV1alphaTopic" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleSearchIdeahubV1alphaIdeaActivity": { + "description": "An idea activity entry.", + "id": "GoogleSearchIdeahubV1alphaIdeaActivity", + "properties": { + "ideas": { + "description": "The Idea IDs for this entry. If empty, topics should be set.", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Unique identifier for the idea activity. The name is ignored when creating an idea activity. Format: platforms/{platform}/properties/{property}/ideaActivities/{idea_activity}", + "type": "string" + }, + "topics": { + "description": "The Topic IDs for this entry. If empty, ideas should be set.", + "items": { + "type": "string" + }, + "type": "array" + }, + "type": { + "description": "The type of activity performed.", + "enum": [ + "TYPE_UNSPECIFIED", + "POST_DRAFTED", + "POST_PUBLISHED", + "POST_DELETED", + "POST_UNPUBLISHED" + ], + "enumDescriptions": [ + "An unspecified, unknown type of idea activity.", + "An idea activity type indicating a post has been drafted.", + "An idea activity type indicating a post has been published.", + "An idea activity type indicating a post has been deleted.", + "An idea activity type indicating a post has been unpublished." + ], + "type": "string" + }, + "uri": { + "description": "The uri the activity relates to.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleSearchIdeahubV1alphaIdeaState": { + "description": "Represents idea state specific to a web property.", + "id": "GoogleSearchIdeahubV1alphaIdeaState", + "properties": { + "dismissed": { + "description": "Whether the idea is dismissed.", + "type": "boolean" + }, + "name": { + "description": "Unique identifier for the idea state. Format: platforms/{platform}/properties/{property}/ideaStates/{idea_state}", + "type": "string" + }, + "saved": { + "description": "Whether the idea is saved.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleSearchIdeahubV1alphaListAvailableLocalesResponse": { + "description": "Response for whether ideas are available for a given web property on a platform, for the currently logged-in user.", + "id": "GoogleSearchIdeahubV1alphaListAvailableLocalesResponse", + "properties": { + "availableLocales": { + "description": "Locales for which ideas are available for the given Creator.", + "items": { + "$ref": "GoogleSearchIdeahubV1alphaAvailableLocale" + }, + "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" + }, + "GoogleSearchIdeahubV1alphaListIdeasResponse": { + "id": "GoogleSearchIdeahubV1alphaListIdeasResponse", + "properties": { + "ideas": { + "description": "Results for the ListIdeasRequest.", + "items": { + "$ref": "GoogleSearchIdeahubV1alphaIdea" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Used to fetch the next page in a subsequent request.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleSearchIdeahubV1alphaTopic": { + "description": "Represents a Topic umbrella for a list of questions that a Creator may want to respond to.", + "id": "GoogleSearchIdeahubV1alphaTopic", + "properties": { + "displayName": { + "description": "String displayed to the creator indicating the name of the Topic.", + "type": "string" + }, + "mid": { + "description": "The mID of the topic.", + "type": "string" + }, + "name": { + "description": "Unique identifier for the topic. Format: topics/{topic}", + "type": "string" + } + }, + "type": "object" + }, + "GoogleSearchIdeahubV1alphaTopicState": { + "description": "Represents topic state specific to a web property.", + "id": "GoogleSearchIdeahubV1alphaTopicState", + "properties": { + "dismissed": { + "description": "Whether the topic is dismissed.", + "type": "boolean" + }, + "name": { + "description": "Unique identifier for the topic state. Format: platforms/{platform}/properties/{property}/topicStates/{topic_state}", + "type": "string" + }, + "saved": { + "description": "Whether the topic is saved.", + "type": "boolean" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Idea Hub 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/integrations.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/integrations.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..692abd0eb4d490baf78e3417d5c2571633b96de3 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/integrations.v1.json @@ -0,0 +1,14613 @@ +{ +"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:v1", +"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": "v1/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": "v1/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": "v1/connectorPlatformRegions:enumerate", +"httpMethod": "GET", +"id": "integrations.connectorPlatformRegions.enumerate", +"parameterOrder": [], +"parameters": {}, +"path": "v1/connectorPlatformRegions:enumerate", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaEnumerateConnectorPlatformRegionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"projects": { +"methods": { +"getClientmetadata": { +"description": "Gets the metadata info for the requested client", +"flatPath": "v1/projects/{projectsId}/clientmetadata", +"httpMethod": "GET", +"id": "integrations.projects.getClientmetadata", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Required: The ID of the GCP Project to be provisioned.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/clientmetadata", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaGetClientMetadataResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"locations": { +"methods": { +"generateOpenApiSpec": { +"description": "Generate OpenAPI spec for the requested integrations and api triggers", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}:generateOpenApiSpec", +"httpMethod": "POST", +"id": "integrations.projects.locations.generateOpenApiSpec", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Project and location from which the integrations should be fetched. Format: projects/{project}/location/{location}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:generateOpenApiSpec", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaGenerateOpenApiSpecRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaGenerateOpenApiSpecResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getClients": { +"description": "Gets the client configuration for the given project and location resource name", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clients", +"httpMethod": "GET", +"id": "integrations.projects.locations.getClients", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Required: The ID of the GCP Project to be provisioned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/clients", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaGetClientResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"appsScriptProjects": { +"methods": { +"create": { +"description": "Creates an Apps Script project.", +"flatPath": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+parent}/authConfigs", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaAuthConfig" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaAuthConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an auth config.", +"flatPath": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/projects/{projectsId}/locations/{locationsId}/certificates", +"httpMethod": "POST", +"id": "integrations.projects.locations.certificates.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. \"projects/{project}/locations/{location}\" format.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/certificates", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaCertificate" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaCertificate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Delete a certificate", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/certificates/{certificatesId}", +"httpMethod": "DELETE", +"id": "integrations.projects.locations.certificates.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name that is associated with the Certificate.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/certificates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Get a certificates in the specified project.", +"flatPath": "v1/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": "v1/{+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": "v1/projects/{projectsId}/locations/{locationsId}/certificates", +"httpMethod": "GET", +"id": "integrations.projects.locations.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/[^/]+$", +"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": "v1/{+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": "v1/projects/{projectsId}/locations/{locationsId}/certificates/{certificatesId}", +"httpMethod": "PATCH", +"id": "integrations.projects.locations.certificates.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Auto generated primary key", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/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": "v1/{+name}", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaCertificate" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaCertificate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"clients": { +"methods": { +"deprovision": { +"description": "Perform the deprovisioning steps to disable a user GCP project to use IP and purge all related data in a wipeout-compliant way.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clients:deprovision", +"httpMethod": "POST", +"id": "integrations.projects.locations.clients.deprovision", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Required: The ID of the GCP Project to be deprovisioned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/clients:deprovision", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaDeprovisionClientRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"provision": { +"description": "Perform the provisioning steps to enable a user GCP project to use IP. If GCP project already registered on IP end via Apigee Integration, provisioning will fail.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clients:provision", +"httpMethod": "POST", +"id": "integrations.projects.locations.clients.provision", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Required: The ID of the GCP Project to be provisioned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/clients:provision", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaProvisionClientRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"replace": { +"description": "Update run-as service account for provisioned client", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clients:replace", +"httpMethod": "POST", +"id": "integrations.projects.locations.clients.replace", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Required: The ID of the GCP Project to be provisioned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/clients:replace", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaReplaceServiceAccountRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"switch": { +"description": "Update client from GMEK to CMEK", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clients:switch", +"httpMethod": "POST", +"id": "integrations.projects.locations.clients.switch", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Required: The ID of the GCP Project to be provisioned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/clients:switch", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaSwitchEncryptionRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"switchVariableMasking": { +"description": "Update variable masking for provisioned client", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clients:switchVariableMasking", +"httpMethod": "POST", +"id": "integrations.projects.locations.clients.switchVariableMasking", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Required: The ID of the GCP Project to be provisioned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/clients:switchVariableMasking", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaSwitchVariableMaskingRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"cloudFunctions": { +"methods": { +"create": { +"description": "Creates a cloud function project.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/cloudFunctions", +"httpMethod": "POST", +"id": "integrations.projects.locations.cloudFunctions.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": "v1/{+parent}/cloudFunctions", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaCreateCloudFunctionRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaCreateCloudFunctionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"connections": { +"methods": { +"getConnectionSchemaMetadata": { +"description": "Lists the available entities and actions associated with a Connection.", +"flatPath": "v1/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": "v1/{+name}", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaConnectionSchemaMetadata" +}, +"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": "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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+name}:schedule", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaScheduleIntegrationsRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaScheduleIntegrationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"test": { +"description": "Execute the integration in draft state", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}:test", +"httpMethod": "POST", +"id": "integrations.projects.locations.integrations.test", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Auto-generated primary key.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:test", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaTestIntegrationsRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaTestIntegrationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"executions": { +"methods": { +"cancel": { +"description": "Cancellation of an execution and associated sub-executions. This will not cancel an IN_PROCESS or completed(SUCCESSFUL, FAILED or CANCELLED) executions.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/executions/{executionsId}:cancel", +"httpMethod": "POST", +"id": "integrations.projects.locations.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/[^/]+/integrations/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaCancelExecutionRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaCancelExecutionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"download": { +"description": "Download the execution.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/executions/{executionsId}:download", +"httpMethod": "GET", +"id": "integrations.projects.locations.integrations.executions.download", +"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/[^/]+/integrations/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:download", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaDownloadExecutionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Get an execution in the specified project.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/executions/{executionsId}", +"httpMethod": "GET", +"id": "integrations.projects.locations.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/[^/]+/integrations/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+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": "v1/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 \"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 Execution will be filled and returned. Supported fields: trigger_id execution_method create_time update_time execution_details execution_details.state execution_details.execution_snapshots execution_details.attempt_stats execution_details.event_execution_snapshots_size request_parameters cloud_logging_details snapshot_number replay_info", +"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": "v1/{+parent}/executions", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaListExecutionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"replay": { +"description": "Re-execute an existing execution, with same request parameters and execution strategy.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/executions/{executionsId}:replay", +"httpMethod": "POST", +"id": "integrations.projects.locations.integrations.executions.replay", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Next ID: 6 The execution resource name. Format: projects/{gcp_project_id}/locations/{location}/integrations/{integration}/executions/{execution_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:replay", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaReplayExecutionRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaReplayExecutionResponse" +}, +"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": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+name}:download", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaDownloadIntegrationVersionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"downloadJsonPackage": { +"description": "Downloads an Integration version package like IntegrationVersion,Integration Config etc. Retrieves the IntegrationVersion package for a given `integration_id` and returns the response as a JSON.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}:downloadJsonPackage", +"httpMethod": "GET", +"id": "integrations.projects.locations.integrations.versions.downloadJsonPackage", +"parameterOrder": [ +"name" +], +"parameters": { +"files": { +"description": "Optional. Integration related file to download like Integration Version, 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. Integration version name Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{version}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:downloadJsonPackage", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaDownloadJsonPackageResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Get a integration in the specified project.", +"flatPath": "v1/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": "v1/{+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": "v1/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\", and \"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\".", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+name}:publish", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaPublishIntegrationVersionRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaPublishIntegrationVersionResponse" +}, +"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": "v1/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": "v1/{+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": "v1/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": "v1/{+parent}/versions:upload", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaUploadIntegrationVersionRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaUploadIntegrationVersionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"testCases": { +"methods": { +"create": { +"description": "Creates a new test case", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}/testCases", +"httpMethod": "POST", +"id": "integrations.projects.locations.integrations.versions.testCases.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource where this test case will be created. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{integration_version}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +}, +"testCaseId": { +"description": "Required. Required", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/testCases", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaTestCase" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaTestCase" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a test case", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}/testCases/{testCasesId}", +"httpMethod": "DELETE", +"id": "integrations.projects.locations.integrations.versions.testCases.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. ID for the test case to be deleted", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+/testCases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"download": { +"description": "Downloads a test case. Retrieves the `TestCase` for a given `test_case_id` and returns the response as a string.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}/testCases/{testCasesId}:download", +"httpMethod": "GET", +"id": "integrations.projects.locations.integrations.versions.testCases.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" +}, +"name": { +"description": "Required. The test case to download. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{integration_version}/testCases/{test_case_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+/testCases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:download", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaDownloadTestCaseResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"executeTest": { +"description": "Executes functional test", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}/testCases/{testCasesId}:executeTest", +"httpMethod": "POST", +"id": "integrations.projects.locations.integrations.versions.testCases.executeTest", +"parameterOrder": [ +"testCaseName" +], +"parameters": { +"testCaseName": { +"description": "Required. Test case resource name", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+/testCases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+testCaseName}:executeTest", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaExecuteTestCaseRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaExecuteTestCaseResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Get a test case", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}/testCases/{testCasesId}", +"httpMethod": "GET", +"id": "integrations.projects.locations.integrations.versions.testCases.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The ID of the test case to retrieve", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+/testCases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaTestCase" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all the test cases that satisfy the filters.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}/testCases", +"httpMethod": "GET", +"id": "integrations.projects.locations.integrations.versions.testCases.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Standard filter field. Filtering as supported in https://developers.google.com/authorized-buyers/apis/guides/list-filters.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. The results would be returned in order specified here. Currently supported sort keys are: Descending sort order for \"last_modified_time\", \"created_time\". Ascending sort order for \"name\".", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of test cases to return. The service may return fewer than this value. If unspecified, at most 100 test cases will be returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListTestCases` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListTestCases` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource where this TestCase was created.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Optional. The mask which specifies fields that need to be returned in the TestCases's response.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/testCases", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaListTestCasesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"listExecutions": { +"description": "Lists the results of all functional test 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": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}/testCases/{testCasesId}:executions", +"httpMethod": "GET", +"id": "integrations.projects.locations.integrations.versions.testCases.listExecutions", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Standard filter field, we support filtering on following fields: test_case_id: the ID of the test case. 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 test_case_id=\\\"testCaseId\\\"", +"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 test case execution.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+/testCases/[^/]+$", +"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" +}, +"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": "v1/{+parent}:executions", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a test case", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}/testCases/{testCasesId}", +"httpMethod": "PATCH", +"id": "integrations.projects.locations.integrations.versions.testCases.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Auto-generated primary key.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+/testCases/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. 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": "v1/{+name}", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaTestCase" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaTestCase" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"takeoverEditLock": { +"description": "Clear the lock fields and assign them to current user", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}/testCases/{testCasesId}:takeoverEditLock", +"httpMethod": "POST", +"id": "integrations.projects.locations.integrations.versions.testCases.takeoverEditLock", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The ID of test case to takeover edit lock. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{integration_version}/testCases/{test_case_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+/testCases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:takeoverEditLock", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaTakeoverTestCaseEditLockRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaTestCase" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"upload": { +"description": "Uploads a test case. The content can be a previously downloaded test case. Performs the same function as CreateTestCase, but accepts input in a string format, which holds the complete representation of the TestCase content.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}/testCases:upload", +"httpMethod": "POST", +"id": "integrations.projects.locations.integrations.versions.testCases.upload", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The test case to upload. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{integration_version}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/testCases:upload", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaUploadTestCaseRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaUploadTestCaseResponse" +}, +"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": "v1/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": "v1/{+parent}/authConfigs", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaAuthConfig" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaAuthConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an auth config.", +"flatPath": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+parent}/certificates", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaCertificate" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaCertificate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Delete a certificate", +"flatPath": "v1/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": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Get a certificates in the specified project.", +"flatPath": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+name}", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaCertificate" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaCertificate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"cloudFunctions": { +"methods": { +"create": { +"description": "Creates a cloud function project.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/cloudFunctions", +"httpMethod": "POST", +"id": "integrations.projects.locations.products.cloudFunctions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The project that the executed integration belongs to.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/cloudFunctions", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaCreateCloudFunctionRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaCreateCloudFunctionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"integrations": { +"methods": { +"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": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+name}:schedule", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaScheduleIntegrationsRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaScheduleIntegrationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"test": { +"description": "Execute the integration in draft state", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}:test", +"httpMethod": "POST", +"id": "integrations.projects.locations.products.integrations.test", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Auto-generated primary key.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:test", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaTestIntegrationsRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaTestIntegrationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"executions": { +"methods": { +"download": { +"description": "Download the execution.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/executions/{executionsId}:download", +"httpMethod": "GET", +"id": "integrations.projects.locations.products.integrations.executions.download", +"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": "v1/{+name}:download", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaDownloadExecutionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Get an execution in the specified project.", +"flatPath": "v1/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": "v1/{+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": "v1/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 \"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 Execution will be filled and returned. Supported fields: trigger_id execution_method create_time update_time execution_details execution_details.state execution_details.execution_snapshots execution_details.attempt_stats execution_details.event_execution_snapshots_size request_parameters cloud_logging_details snapshot_number replay_info", +"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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+name}:download", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaDownloadIntegrationVersionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Get a integration in the specified project.", +"flatPath": "v1/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": "v1/{+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": "v1/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\", and \"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\".", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+parent}/versions:upload", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaUploadIntegrationVersionRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaUploadIntegrationVersionResponse" +}, +"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": "v1/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": "v1/{+parent}/sfdcInstances", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaSfdcInstance" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaSfdcInstance" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an sfdc instance.", +"flatPath": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+parent}/sfdcChannels", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaSfdcChannel" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaSfdcChannel" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an sfdc channel.", +"flatPath": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+parent}/sfdcInstances", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaSfdcInstance" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaSfdcInstance" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an sfdc instance.", +"flatPath": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+parent}/sfdcChannels", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaSfdcChannel" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaSfdcChannel" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an sfdc channel.", +"flatPath": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+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": "v1/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": "v1/{+name}", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaSfdcChannel" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaSfdcChannel" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"templates": { +"methods": { +"create": { +"description": "Creates a new template", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/templates", +"httpMethod": "POST", +"id": "integrations.projects.locations.templates.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. \"projects/{project}/locations/{location}\" format.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/templates", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaTemplate" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaTemplate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a template", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/templates/{templatesId}", +"httpMethod": "DELETE", +"id": "integrations.projects.locations.templates.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name that is associated with the Template.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/templates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"download": { +"description": "Downloads a template. Retrieves the `Template` and returns the response as a string.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/templates/{templatesId}:download", +"httpMethod": "GET", +"id": "integrations.projects.locations.templates.download", +"parameterOrder": [ +"name" +], +"parameters": { +"fileFormat": { +"description": "Required. 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" +}, +"name": { +"description": "Required. The template to download. Format: projects/{project}/locations/{location}/template/{template_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/templates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:download", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaDownloadTemplateResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Get a template in the specified project.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/templates/{templatesId}", +"httpMethod": "GET", +"id": "integrations.projects.locations.templates.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The template to retrieve. Format: projects/{project}/locations/{location}/templates/{template}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/templates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaTemplate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Import the template to an existing integration. This api would keep track of usage_count and last_used_time. PERMISSION_DENIED would be thrown if template is not accessible by client.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/templates/{templatesId}:import", +"httpMethod": "POST", +"id": "integrations.projects.locations.templates.import", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name that is associated with the Template.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/templates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:import", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaImportTemplateRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaImportTemplateResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all templates matching the filter.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/templates", +"httpMethod": "GET", +"id": "integrations.projects.locations.templates.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Standard filter field to filter templates. client_id filter won't be supported and will restrict to templates belonging to the current client only. Return all templates of the current client if the filter is empty. Also supports operators like AND, OR, NOT For example, \"status=\\\"ACTIVE\\\"", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. The results would be returned in the order you specified here.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The size of the response entries. If unspecified, defaults to 100. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The token returned in the previous response.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The client, which owns this collection of Templates.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Optional. The mask which specifies fields that need to be returned in the template's response.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/templates", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaListTemplatesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the template by given id.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/templates/{templatesId}", +"httpMethod": "PATCH", +"id": "integrations.projects.locations.templates.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Resource name of the template.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/templates/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask specifying the fields in the above template that have been modified and must be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaTemplate" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaTemplate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"search": { +"description": "Search templates based on user query and filters. This api would query the templates and return a list of templates based on the user filter.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/templates:search", +"httpMethod": "GET", +"id": "integrations.projects.locations.templates.search", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Standard filter field to filter templates. client_id filter won't be supported and will restrict to templates belonging to the current client only. Return all templates of the current client if the filter is empty. Also supports operators like AND, OR, NOT For example, \"status=\\\"ACTIVE\\\"", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. The results would be returned in the order you specified here.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The size of the response entries. If unspecified, defaults to 100. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The token returned in the previous response.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The client, which owns this collection of Templates.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Optional. The mask which specifies fields that need to be returned in the template's response.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/templates:search", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaSearchTemplatesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"share": { +"description": "Share a template with other clients. Only the template owner can share the templates with other projects. PERMISSION_DENIED would be thrown if the request is not from the owner.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/templates/{templatesId}:share", +"httpMethod": "POST", +"id": "integrations.projects.locations.templates.share", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name that is associated with the Template.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/templates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:share", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaShareTemplateRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"unshare": { +"description": "Unshare a template from given clients. Owner of the template can unshare template with clients. Shared client can only unshare the template from itself. PERMISSION_DENIED would be thrown if request is not from owner or for unsharing itself.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/templates/{templatesId}:unshare", +"httpMethod": "POST", +"id": "integrations.projects.locations.templates.unshare", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name that is associated with the Template.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/templates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:unshare", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaUnshareTemplateRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"upload": { +"description": "Uploads a template. The content can be a previously downloaded template. Performs the same function as CreateTemplate, but accepts input in a string format, which holds the complete representation of the Template content.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/templates:upload", +"httpMethod": "POST", +"id": "integrations.projects.locations.templates.upload", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The template to upload. Format: projects/{project}/locations/{location}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/templates:upload", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaUploadTemplateRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaUploadTemplateResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"use": { +"description": "Use the template to create integration. This api would keep track of usage_count and last_used_time. PERMISSION_DENIED would be thrown if template is not accessible by client.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/templates/{templatesId}:use", +"httpMethod": "POST", +"id": "integrations.projects.locations.templates.use", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name that is associated with the Template.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/templates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:use", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaUseTemplateRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaUseTemplateResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20250106", +"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" +}, +"EnterpriseCrmEventbusProtoCloudLoggingDetails": { +"description": "Cloud Logging details, selected by the user for the integration version (workflow). This message field will be also used in ExecutionInfo, to indicate the CloudLoggingDetails config at the time of workflow (integration version) execution, since this field value can be changed for an unpublished workflow.", +"id": "EnterpriseCrmEventbusProtoCloudLoggingDetails", +"properties": { +"cloudLoggingSeverity": { +"description": "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": "Status of whether Cloud Logging is enabled or not for the integration version getting executed.", +"type": "boolean" +} +}, +"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" +}, +"EnterpriseCrmEventbusProtoConditionalFailurePolicies": { +"id": "EnterpriseCrmEventbusProtoConditionalFailurePolicies", +"properties": { +"defaultFailurePolicy": { +"$ref": "EnterpriseCrmEventbusProtoFailurePolicy", +"description": "The default failure policy to be applied if no conditional failure policy matches" +}, +"failurePolicies": { +"description": "The list of failure policies that will be applied to the task in order.", +"items": { +"$ref": "EnterpriseCrmEventbusProtoFailurePolicy" +}, +"type": "array" +} +}, +"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" +}, +"host": { +"description": "The name of the Hostname of the Service Directory service with TLS if used.", +"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: 12", +"id": "EnterpriseCrmEventbusProtoEventExecutionDetails", +"properties": { +"cancelReason": { +"description": "If the execution is manually canceled, this field will contain the reason for cancellation.", +"type": "string" +}, +"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: 15", +"id": "EnterpriseCrmEventbusProtoEventExecutionSnapshot", +"properties": { +"checkpointTaskNumber": { +"description": "Indicates \"right after which checkpoint task's execution\" this snapshot is taken.", +"type": "string" +}, +"clientId": { +"description": "Client that the execution snapshot is associated to.", +"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" +}, +"workflowName": { +"description": "Name of the workflow this event execution snapshot belongs to.", +"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": { +"enableInternalIp": { +"description": "Indicates the client enables internal IP feature, this is applicable for internal clients only.", +"type": "boolean" +}, +"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" +}, +"retryRequestForQuota": { +"description": "Enqueue the execution request due to quota issue", +"type": "boolean" +}, +"source": { +"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" +}, +"retryCondition": { +"description": "Optional. The retry condition that will be evaluated for this failure policy with the corresponding retry strategy.", +"type": "string" +}, +"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" +}, +"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": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"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" +}, +"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" +} +}, +"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", +"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: 12", +"id": "EnterpriseCrmFrontendsEventbusProtoEventExecutionDetails", +"properties": { +"cancelReason": { +"description": "If the execution is manually canceled, this field will contain the reason for cancellation.", +"type": "string" +}, +"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: 27", +"id": "EnterpriseCrmFrontendsEventbusProtoEventExecutionInfo", +"properties": { +"clientId": { +"description": "The event data user sends as request.", +"type": "string" +}, +"cloudLoggingDetails": { +"$ref": "EnterpriseCrmEventbusProtoCloudLoggingDetails", +"description": "Cloud Logging details for execution info" +}, +"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." +}, +"integrationVersionUserLabel": { +"description": "User-defined label that annotates the executed integration version.", +"type": "string" +}, +"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" +}, +"replayInfo": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoEventExecutionInfoReplayInfo", +"description": "Replay info for the execution" +}, +"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" +}, +"EnterpriseCrmFrontendsEventbusProtoEventExecutionInfoReplayInfo": { +"description": "Contains the details of the execution info: this includes the replay reason and replay tree connecting executions in a parent-child relationship", +"id": "EnterpriseCrmFrontendsEventbusProtoEventExecutionInfoReplayInfo", +"properties": { +"originalExecutionInfoId": { +"description": "If this execution is a replay of another execution, then this field contains the original execution id.", +"type": "string" +}, +"replayMode": { +"description": "Replay mode for the execution", +"enum": [ +"REPLAY_MODE_UNSPECIFIED", +"REPLAY_MODE_FROM_BEGINNING", +"REPLAY_MODE_POINT_OF_FAILURE" +], +"enumDescriptions": [ +"", +"Replay the original execution from the beginning.", +"Replay the execution from the first failed task." +], +"type": "string" +}, +"replayReason": { +"description": "reason for replay", +"type": "string" +}, +"replayedExecutionInfoIds": { +"description": "If this execution has been replayed, then this field contains the execution ids of the replayed executions.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"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" +}, +"conditionalFailurePolicies": { +"$ref": "EnterpriseCrmEventbusProtoConditionalFailurePolicies", +"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)." +}, +"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: 22", +"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" +}, +"inputVariables": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoTriggerConfigVariables", +"description": "Optional. List of input variables for the api trigger." +}, +"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" +}, +"outputVariables": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoTriggerConfigVariables", +"description": "Optional. List of output variables for the api trigger." +}, +"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", +"EVENTARC_TRIGGER" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmFrontendsEventbusProtoTriggerConfigVariables": { +"description": "Variables names mapped to api trigger.", +"id": "EnterpriseCrmFrontendsEventbusProtoTriggerConfigVariables", +"properties": { +"names": { +"description": "Optional. List of variable names.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"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" +}, +"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", +"OAUTH2_AUTH_CODE_FLOW_GOOGLE_MANAGED" +], +"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", +"Oauth 2.0 Authorization Code Flow with Google Provided OAuth Client" +], +"type": "string" +}, +"oauth2AuthCodeFlow": { +"$ref": "GoogleCloudConnectorsV1AuthConfigOauth2AuthCodeFlow", +"description": "Oauth2AuthCodeFlow." +}, +"oauth2AuthCodeFlowGoogleManaged": { +"$ref": "GoogleCloudConnectorsV1AuthConfigOauth2AuthCodeFlowGoogleManaged", +"description": "Oauth2AuthCodeFlowGoogleManaged." +}, +"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" +}, +"GoogleCloudConnectorsV1AuthConfigOauth2AuthCodeFlowGoogleManaged": { +"description": "Parameters to support Oauth 2.0 Auth Code Grant Authentication using Google Provided OAuth Client. See https://tools.ietf.org/html/rfc6749#section-1.3.1 for more details.", +"id": "GoogleCloudConnectorsV1AuthConfigOauth2AuthCodeFlowGoogleManaged", +"properties": { +"authCode": { +"description": "Optional. Authorization code to be exchanged for access and refresh tokens.", +"type": "string" +}, +"redirectUri": { +"description": "Optional. Redirect URI to be provided during the auth code exchange.", +"type": "string" +}, +"scopes": { +"description": "Required. 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": { +"asyncOperationsEnabled": { +"description": "Optional. Async operations enabled for the connection. If Async Operations is enabled, Connection allows the customers to initiate async long running operations using the actions API.", +"type": "boolean" +}, +"authConfig": { +"$ref": "GoogleCloudConnectorsV1AuthConfig", +"description": "Optional. Configuration for establishing the connection's authentication with an external system." +}, +"authOverrideEnabled": { +"description": "Optional. Auth override enabled for the connection. If Auth Override is enabled, Connection allows the backend service auth to be overridden in the entities/actions API.", +"type": "boolean" +}, +"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", +"TEST", +"PRIVATE_PREVIEW" +], +"enumDescriptions": [ +"LAUNCH_STAGE_UNSPECIFIED.", +"PREVIEW.", +"GA.", +"DEPRECATED.", +"TEST.", +"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 +}, +"host": { +"description": "Output only. The name of the Hostname of the Service Directory service with TLS.", +"readOnly": true, +"type": "string" +}, +"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" +}, +"tlsServiceDirectory": { +"description": "Output only. The name of the Service Directory service with TLS.", +"readOnly": true, +"type": "string" +}, +"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": "Output only. 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." +], +"readOnly": true, +"type": "string" +}, +"deploymentModelMigrationState": { +"description": "Output only. Status of the deployment model migration.", +"enum": [ +"DEPLOYMENT_MODEL_MIGRATION_STATE_UNSPECIFIED", +"IN_PROGRESS", +"COMPLETED", +"ROLLEDBACK", +"ROLLBACK_IN_PROGRESS" +], +"enumDescriptions": [ +"Deployment model migration state is not specified.", +"Deployment model migration is in progress.", +"Deployment model migration is completed.", +"Deployment model migration rolledback.", +"Deployment model migration rollback in progress." +], +"readOnly": true, +"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" +}, +"maxInstanceRequestConcurrency": { +"description": "Output only. Max instance request concurrency.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"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" +}, +"tlsMigrationState": { +"description": "Output only. Status of the TLS migration.", +"enum": [ +"TLS_MIGRATION_STATE_UNSPECIFIED", +"TLS_MIGRATION_NOT_STARTED", +"TLS_MIGRATION_COMPLETED" +], +"enumDescriptions": [ +"TLS migration state is not specified.", +"TLS migration is in progress.", +"TLS migration is completed." +], +"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": "Optional. Additional eventing related field values", +"items": { +"$ref": "GoogleCloudConnectorsV1ConfigVariable" +}, +"type": "array" +}, +"authConfig": { +"$ref": "GoogleCloudConnectorsV1AuthConfig", +"description": "Optional. Auth details for the webhook adapter." +}, +"deadLetterConfig": { +"$ref": "GoogleCloudConnectorsV1EventingConfigDeadLetterConfig", +"description": "Optional. Dead letter configuration for eventing of a connection." +}, +"enrichmentEnabled": { +"description": "Optional. 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": "Optional. 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 +}, +"webhookSubscriptions": { +"$ref": "GoogleCloudConnectorsV1EventingRuntimeDataWebhookSubscriptions", +"description": "Output only. Webhook subscriptions.", +"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" +}, +"GoogleCloudConnectorsV1EventingRuntimeDataWebhookSubscriptions": { +"description": "WebhookSubscriptions has details of webhook subscriptions.", +"id": "GoogleCloudConnectorsV1EventingRuntimeDataWebhookSubscriptions", +"properties": { +"webhookData": { +"description": "Output only. Webhook data.", +"items": { +"$ref": "GoogleCloudConnectorsV1EventingRuntimeDataWebhookData" +}, +"readOnly": true, +"type": "array" +} +}, +"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" +}, +"level": { +"description": "Optional. Log configuration level.", +"enum": [ +"LOG_LEVEL_UNSPECIFIED", +"ERROR", +"INFO", +"DEBUG" +], +"enumDescriptions": [ +"Log level unspecified.", +"Only error logs are enabled.", +"Info and error logs are enabled.", +"Debug and high verbosity logs are enabled." +], +"type": "string" +} +}, +"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": "Optional. Additional SSL related field values", +"items": { +"$ref": "GoogleCloudConnectorsV1ConfigVariable" +}, +"type": "array" +}, +"clientCertType": { +"description": "Optional. 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": "Optional. Client Certificate" +}, +"clientPrivateKey": { +"$ref": "GoogleCloudConnectorsV1Secret", +"description": "Optional. Client Private Key" +}, +"clientPrivateKeyPass": { +"$ref": "GoogleCloudConnectorsV1Secret", +"description": "Optional. Secret containing the passphrase protecting the Client Private Key" +}, +"privateServerCertificate": { +"$ref": "GoogleCloudConnectorsV1Secret", +"description": "Optional. Private Server Certificate. Needs to be specified if trust model is `PRIVATE`." +}, +"serverCertType": { +"description": "Optional. 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": "Optional. 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": "Optional. 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": "Optional. 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" +}, +"GoogleCloudIntegrationsV1alphaApiTriggerResource": { +"description": "List of API triggerID and their workflow resource name.", +"id": "GoogleCloudIntegrationsV1alphaApiTriggerResource", +"properties": { +"integrationResource": { +"description": "Required. Integration where the API is published", +"type": "string" +}, +"triggerId": { +"description": "Required. Trigger Id of the API trigger(s) in the integration", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaAssertion": { +"description": "An assertion which will check for a condition over task execution status or an expression for task output variables", +"id": "GoogleCloudIntegrationsV1alphaAssertion", +"properties": { +"assertionStrategy": { +"description": "Optional. The type of assertion to perform.", +"enum": [ +"ASSERTION_STRATEGY_UNSPECIFIED", +"ASSERT_SUCCESSFUL_EXECUTION", +"ASSERT_FAILED_EXECUTION", +"ASSERT_NO_EXECUTION", +"ASSERT_EQUALS", +"ASSERT_NOT_EQUALS", +"ASSERT_CONTAINS", +"ASSERT_CONDITION" +], +"enumDescriptions": [ +"Unspecified Assertion strategy", +"Test a successful execution", +"Test a failed execution", +"Test that the task was never executed", +"Test the parameter selected is equal to the expected value", +"Test the parameter selected is not equal to the expected value", +"Test the parameter selected contains the configured value", +"Test a specific condition" +], +"type": "string" +}, +"condition": { +"description": "Optional. Standard filter expression for ASSERT_CONDITION to succeed", +"type": "string" +}, +"parameter": { +"$ref": "GoogleCloudIntegrationsV1alphaEventParameter", +"description": "Optional. Key-value pair for ASSERT_EQUALS, ASSERT_NOT_EQUALS, ASSERT_CONTAINS to succeed" +}, +"retryCount": { +"description": "Number of times given task should be retried in case of ASSERT_FAILED_EXECUTION", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaAssertionResult": { +"description": "The result of an assertion.", +"id": "GoogleCloudIntegrationsV1alphaAssertionResult", +"properties": { +"assertion": { +"$ref": "GoogleCloudIntegrationsV1alphaAssertion", +"description": "Assertion that was run." +}, +"failureMessage": { +"description": "Details of the assertion failure", +"type": "string" +}, +"status": { +"description": "Status of assertion to signify if the assertion succeeded or failed", +"enum": [ +"ASSERTION_STATUS_UNSPECIFIED", +"SUCCEEDED", +"FAILED" +], +"enumDescriptions": [ +"Unspecified assertion status", +"Assertion succeeded", +"Assertion failed" +], +"type": "string" +}, +"taskName": { +"description": "Task name of task where the assertion was run.", +"type": "string" +}, +"taskNumber": { +"description": "Task number of task where the assertion was run.", +"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": { +"cancelReason": { +"description": "Required. Reason for cancelling the execution. This is provided by the client requesting the cancellation, and is not used by the Platform.", +"type": "string" +} +}, +"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", +"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" +}, +"GoogleCloudIntegrationsV1alphaClientConfig": { +"description": "The configuration information for the Client", +"id": "GoogleCloudIntegrationsV1alphaClientConfig", +"properties": { +"billingType": { +"description": "Indicates the billing type of the client", +"enum": [ +"BILLING_TYPE_UNSPECIFIED", +"BILLING_TYPE_APIGEE_TRIALS", +"BILLING_TYPE_APIGEE_SUBSCRIPTION", +"BILLING_TYPE_PAYG" +], +"enumDescriptions": [ +"Unspecified billing type", +"A trial org provisioned through Apigee Provisioning Wizard", +"Subscription based users of Apigee", +"Consumption based users of IP" +], +"type": "string" +}, +"clientState": { +"description": "Indicates the activity state the client", +"enum": [ +"CLIENT_STATE_UNSPECIFIED", +"CLIENT_STATE_ACTIVE", +"CLIENT_STATE_DISABLED" +], +"enumDescriptions": [ +"The client state is unspecified", +"The client is active and able to make calls to the IP APIs", +"The client is disabled and will soon be deleted" +], +"type": "string" +}, +"cloudKmsConfig": { +"$ref": "GoogleCloudIntegrationsV1alphaCloudKmsConfig", +"description": "Cloud KMS config for Auth Module to encrypt/decrypt credentials." +}, +"createTime": { +"description": "The timestamp when the client was first created.", +"format": "google-datetime", +"type": "string" +}, +"description": { +"description": "Description of what the client is used for", +"type": "string" +}, +"enableInternalIp": { +"description": "Optional. Indicates the client enables internal IP feature, this is applicable for internal clients only.", +"type": "boolean" +}, +"enableVariableMasking": { +"description": "Optional. True if variable masking feature should be turned on for this region", +"type": "boolean" +}, +"id": { +"description": "Globally unique ID (project_id + region)", +"type": "string" +}, +"isGmek": { +"description": "Optional. Indicates the client is provisioned with CMEK or GMEK.", +"type": "boolean" +}, +"p4ServiceAccount": { +"description": "The service agent associated with this client", +"type": "string" +}, +"projectId": { +"description": "The GCP project id of the client associated with", +"type": "string" +}, +"region": { +"description": "The region the client is linked to.", +"type": "string" +}, +"runAsServiceAccount": { +"description": "Default run-as service account email, set up during project provision time, that will be used to generate auth token to be used in Connector task, Rest caller task, Cloud function task and Subworkflows.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaCloudKmsConfig": { +"description": "Configuration information for Client's Cloud KMS information", +"id": "GoogleCloudIntegrationsV1alphaCloudKmsConfig", +"properties": { +"key": { +"description": "Required. 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" +}, +"keyVersion": { +"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" +}, +"kmsLocation": { +"description": "Required. Location name of the key ring, e.g. \"us-west1\".", +"type": "string" +}, +"kmsProjectId": { +"description": "Optional. The gcp project id of the project where the kms key stored. If empty, the kms key is stored at the same project as customer's project and ecrypted with CMEK, otherwise, the kms key is stored in the tenant project and encrypted with GMEK", +"type": "string" +}, +"kmsRing": { +"description": "Required. 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" +} +}, +"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" +}, +"GoogleCloudIntegrationsV1alphaConditionalFailurePolicies": { +"description": "Conditional task failur retry strategies", +"id": "GoogleCloudIntegrationsV1alphaConditionalFailurePolicies", +"properties": { +"defaultFailurePolicy": { +"$ref": "GoogleCloudIntegrationsV1alphaFailurePolicy", +"description": "The default failure policy to be applied if no conditional failure policy matches." +}, +"failurePolicies": { +"description": "The list of failure policies that will be applied to the task in order.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaFailurePolicy" +}, +"type": "array" +} +}, +"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" +}, +"GoogleCloudIntegrationsV1alphaCreateCloudFunctionRequest": { +"description": "Request for Creating Cloud Function rpc call.", +"id": "GoogleCloudIntegrationsV1alphaCreateCloudFunctionRequest", +"properties": { +"functionName": { +"description": "The function name of CF to be created", +"type": "string" +}, +"functionRegion": { +"description": "The function region of CF to be created", +"type": "string" +}, +"projectId": { +"description": "Indicates the id of the GCP project that the function will be created in.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaCreateCloudFunctionResponse": { +"description": "Response for Creating Cloud Function rpc call.", +"id": "GoogleCloudIntegrationsV1alphaCreateCloudFunctionResponse", +"properties": { +"triggerUrl": { +"description": "The trigger url that will be returned", +"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" +}, +"GoogleCloudIntegrationsV1alphaDeprovisionClientRequest": { +"description": "Request for the Deprovision rpc", +"id": "GoogleCloudIntegrationsV1alphaDeprovisionClientRequest", +"properties": {}, +"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" +}, +"GoogleCloudIntegrationsV1alphaDownloadExecutionResponse": { +"description": "Response for downloading an execution.", +"id": "GoogleCloudIntegrationsV1alphaDownloadExecutionResponse", +"properties": { +"content": { +"description": "The content of downloaded execution.", +"type": "string" +} +}, +"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" +}, +"GoogleCloudIntegrationsV1alphaDownloadJsonPackageResponse": { +"description": "Response for DownloadJsonPackage.", +"id": "GoogleCloudIntegrationsV1alphaDownloadJsonPackageResponse", +"properties": { +"files": { +"description": "List containing JSON for multiple file with type information.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaFile" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaDownloadTemplateResponse": { +"description": "Response for DownloadTemplate.", +"id": "GoogleCloudIntegrationsV1alphaDownloadTemplateResponse", +"properties": { +"content": { +"description": "String representation of the template.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaDownloadTestCaseResponse": { +"description": "Response for DownloadTestCase.", +"id": "GoogleCloudIntegrationsV1alphaDownloadTestCaseResponse", +"properties": { +"content": { +"description": "String representation of the test case.", +"type": "string" +} +}, +"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": { +"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" +}, +"GoogleCloudIntegrationsV1alphaExecuteTestCaseRequest": { +"description": "The request for executing a functional test.", +"id": "GoogleCloudIntegrationsV1alphaExecuteTestCaseRequest", +"properties": { +"inputParameters": { +"additionalProperties": { +"$ref": "GoogleCloudIntegrationsV1alphaValueType" +}, +"description": "Optional. Input parameters used by test case execution.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaExecuteTestCaseResponse": { +"description": "The response for executing a functional test.", +"id": "GoogleCloudIntegrationsV1alphaExecuteTestCaseResponse", +"properties": { +"assertionResults": { +"description": "Results of each assertions ran during execution of test case.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaAssertionResult" +}, +"type": "array" +}, +"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" +}, +"testExecutionState": { +"description": "State of the test case execution", +"enum": [ +"STATE_UNSPECIFIED", +"PASSED", +"FAILED" +], +"enumDescriptions": [ +"Unspecified state", +"Test case execution passed", +"Test case execution failed" +], +"type": "string" +} +}, +"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" +}, +"replayInfo": { +"$ref": "GoogleCloudIntegrationsV1alphaExecutionReplayInfo", +"description": "Output only. Replay info for the execution", +"readOnly": true +}, +"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. In the case of error, the `ErrorInfo` field is returned in the following format: { \"ErrorInfo\": { \"message\": String, \"code\": Number } } ", +"type": "object" +}, +"responseParams": { +"deprecated": true, +"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" +}, +"GoogleCloudIntegrationsV1alphaExecutionReplayInfo": { +"description": "Contains the details of the execution info: this includes the replay reason and replay tree connecting executions in a parent-child relationship", +"id": "GoogleCloudIntegrationsV1alphaExecutionReplayInfo", +"properties": { +"originalExecutionInfoId": { +"description": "If this execution is a replay of another execution, then this field contains the original execution id.", +"type": "string" +}, +"replayMode": { +"description": "Replay mode for the execution", +"enum": [ +"REPLAY_MODE_UNSPECIFIED", +"REPLAY_MODE_FROM_BEGINNING", +"REPLAY_MODE_POINT_OF_FAILURE" +], +"enumDescriptions": [ +"Default value.", +"Replay the original execution from the beginning.", +"Replay the execution from the first failed task." +], +"type": "string" +}, +"replayReason": { +"description": "reason for replay", +"type": "string" +}, +"replayedExecutionInfoIds": { +"description": "If this execution has been replayed, then this field contains the execution ids of the replayed executions.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"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": { +"condition": { +"description": "Optional. The string condition that will be evaluated to determine if the task should be retried with this failure policy.", +"type": "string" +}, +"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" +}, +"GoogleCloudIntegrationsV1alphaFile": { +"description": "To store Integration version related file i.e. Integration Version, Config variable etc.", +"id": "GoogleCloudIntegrationsV1alphaFile", +"properties": { +"integrationConfig": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Integration version config file", +"type": "object" +}, +"integrationVersion": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion", +"description": "Integration version" +}, +"type": { +"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" +}, +"GoogleCloudIntegrationsV1alphaGenerateOpenApiSpecRequest": { +"description": "Request for GenerateOpenApiSpec.", +"id": "GoogleCloudIntegrationsV1alphaGenerateOpenApiSpecRequest", +"properties": { +"apiTriggerResources": { +"description": "Required. List of api triggers", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaApiTriggerResource" +}, +"type": "array" +}, +"fileFormat": { +"description": "Required. File format for generated spec.", +"enum": [ +"FILE_FORMAT_UNSPECIFIED", +"JSON", +"YAML" +], +"enumDescriptions": [ +"Unspecified file format", +"JSON File Format", +"YAML File Format" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaGenerateOpenApiSpecResponse": { +"description": "Response of the GenerateOpenApiSpec API.", +"id": "GoogleCloudIntegrationsV1alphaGenerateOpenApiSpecResponse", +"properties": { +"openApiSpec": { +"description": "Open API spec as per the required format", +"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" +}, +"GoogleCloudIntegrationsV1alphaGetClientMetadataResponse": { +"description": "Response for the GetClientMetadata rpc", +"id": "GoogleCloudIntegrationsV1alphaGetClientMetadataResponse", +"properties": { +"properties": { +"$ref": "GoogleCloudIntegrationsV1alphaProjectProperties", +"description": "Required. Required: The client configuration that was requested" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaGetClientResponse": { +"description": "Response for the GetClient rpc", +"id": "GoogleCloudIntegrationsV1alphaGetClientResponse", +"properties": { +"client": { +"$ref": "GoogleCloudIntegrationsV1alphaClientConfig", +"description": "Required. Required: The client configuration that was requested" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaImportTemplateRequest": { +"description": "Request to Import template", +"id": "GoogleCloudIntegrationsV1alphaImportTemplateRequest", +"properties": { +"integration": { +"description": "Required. Name of the integration where template needs to be imported.", +"type": "string" +}, +"integrationRegion": { +"description": "Required. The region of the Integration to be created.", +"type": "string" +}, +"subIntegrations": { +"additionalProperties": { +"$ref": "GoogleCloudIntegrationsV1alphaUseTemplateRequestIntegrationDetails" +}, +"description": "Optional. Sub Integration which would be created via templates.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaImportTemplateResponse": { +"description": "Response for import template", +"id": "GoogleCloudIntegrationsV1alphaImportTemplateResponse", +"properties": { +"integrationVersion": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion", +"description": "IntegrationVersion after the import." +}, +"subIntegrationVersions": { +"description": "Sub integration versions which are imported.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion" +}, +"type": "array" +} +}, +"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" +}, +"createTime": { +"description": "Required. Output only. Auto-generated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"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", +"NON_SERIALIZABLE_OBJECT", +"PROTO_ENUM", +"SERIALIZED_OBJECT_VALUE", +"PROTO_ENUM_ARRAY", +"BYTES", +"BYTES_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).", +"// Non-serializable object (Internal use only).", +"Proto Enum (Internal use only).", +"Serialized object (Internal use only).", +"Proto Enum Array (Internal use only).", +"BYTES data types are not allowed for top-level params. They're only meant to support protobufs with BYTES (sub)fields.", +"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": "GoogleCloudIntegrationsV1alphaValueType", +"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. Description of the parameter.", +"type": "string" +}, +"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" +}, +"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" +}, +"GoogleCloudIntegrationsV1alphaIntegrationVersionTemplate": { +"description": "Define the template of IntegrationVersion.", +"id": "GoogleCloudIntegrationsV1alphaIntegrationVersionTemplate", +"properties": { +"integrationVersion": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion", +"description": "Required. Templatized version of integration." +}, +"key": { +"description": "Required. Unique Key of the IntegrationVersion.", +"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" +}, +"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" +}, +"GoogleCloudIntegrationsV1alphaListTemplatesResponse": { +"description": "Response for a request to list templates", +"id": "GoogleCloudIntegrationsV1alphaListTemplatesResponse", +"properties": { +"nextPageToken": { +"description": "The token used to retrieve the next page results.", +"type": "string" +}, +"templates": { +"description": "List of templates retrieved.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaTemplate" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse": { +"description": "The response for listing the functional test execution data.", +"id": "GoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse", +"properties": { +"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" +}, +"GoogleCloudIntegrationsV1alphaListTestCasesResponse": { +"description": "Response for ListTestCases", +"id": "GoogleCloudIntegrationsV1alphaListTestCasesResponse", +"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" +}, +"testCases": { +"description": "The test cases corresponding to the specified filter", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaTestCase" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaMockConfig": { +"description": "The configuration for mocking of a task during test execution Next available id: 4", +"id": "GoogleCloudIntegrationsV1alphaMockConfig", +"properties": { +"failedExecutions": { +"description": "Optional. Number of times the given task should fail for failure mock strategy", +"format": "int64", +"type": "string" +}, +"mockStrategy": { +"description": "Mockstrategy defines how the particular task should be mocked during test execution", +"enum": [ +"MOCK_STRATEGY_UNSPECIFIED", +"NO_MOCK_STRATEGY", +"SPECIFIC_MOCK_STRATEGY", +"FAILURE_MOCK_STRATEGY", +"SKIP_MOCK_STRATEGY" +], +"enumDescriptions": [ +"This should never be used to annotate a field", +"Execute actual task", +"Don't execute actual task, instead use the values specified by user for output of the task", +"Don't execute actual task, instead return task failure", +"Don't execute actual task, instead mark it as successful" +], +"type": "string" +}, +"parameters": { +"description": "Optional. List of key-value pairs for specific mock strategy", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaEventParameter" +}, +"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", +"NON_SERIALIZABLE_OBJECT", +"PROTO_ENUM", +"SERIALIZED_OBJECT_VALUE", +"PROTO_ENUM_ARRAY", +"BYTES", +"BYTES_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).", +"// Non-serializable object (Internal use only).", +"Proto Enum (Internal use only).", +"Serialized object (Internal use only).", +"Proto Enum Array (Internal use only).", +"BYTES data types are not allowed for top-level params. They're only meant to support protobufs with BYTES (sub)fields.", +"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": { +"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", +"NON_SERIALIZABLE_OBJECT", +"PROTO_ENUM", +"SERIALIZED_OBJECT_VALUE", +"PROTO_ENUM_ARRAY", +"BYTES", +"BYTES_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).", +"// Non-serializable object (Internal use only).", +"Proto Enum (Internal use only).", +"Serialized object (Internal use only).", +"Proto Enum Array (Internal use only).", +"BYTES data types are not allowed for top-level params. They're only meant to support protobufs with BYTES (sub)fields.", +"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" +}, +"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" +}, +"GoogleCloudIntegrationsV1alphaProjectProperties": { +"description": "Metadata information for the given project", +"id": "GoogleCloudIntegrationsV1alphaProjectProperties", +"properties": { +"billingType": { +"description": "Required. Required: The client billing type that was requested", +"enum": [ +"BILLING_TYPE_UNSPECIFIED", +"APIGEE_TRIALS", +"APIGEE_SUBSCRIPTION", +"PAYG", +"SUBSCRIPTION", +"NO_BILLING" +], +"enumDescriptions": [ +"", +"A trial org provisioned through Apigee Provisioning Wizard", +"Subscription based on concurrency model for Apigee and Application Integration users.", +"Consumption based users of IP", +"Argentum subscription for Application Integration users. To be used in the future.", +"Special billing type to avoid any billing to clients (eg: trusted tester program). This should not be used without consulting with the leads." +], +"type": "string" +}, +"ipEnablementState": { +"description": "An enum value of what the enablement state is for the given project", +"enum": [ +"IP_ENABLEMENT_STATE_UNSPECIFIED", +"IP_ENABLEMENT_STATE_STANDALONE", +"IP_ENABLEMENT_STATE_APIGEE", +"IP_ENABLEMENT_STATE_APIGEE_ENTITLED" +], +"enumDescriptions": [ +"The client enablement status is unspecified", +"The client is enabled on Standalone IP", +"The client is enabled on Apigee", +"The client is entitled for Apigee but not enabled" +], +"type": "string" +}, +"provisionedRegions": { +"description": "A list of provisioned regions on the current project", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaProvisionClientRequest": { +"description": "Request for the Provision rpc", +"id": "GoogleCloudIntegrationsV1alphaProvisionClientRequest", +"properties": { +"cloudKmsConfig": { +"$ref": "GoogleCloudIntegrationsV1alphaCloudKmsConfig", +"description": "Optional. OPTIONAL: Cloud KMS config for AuthModule to encrypt/decrypt credentials." +}, +"createSampleWorkflows": { +"description": "Optional. Indicates if sample workflow should be created along with provisioning", +"type": "boolean" +}, +"provisionGmek": { +"deprecated": true, +"description": "Optional. Deprecated. Indicates provision with GMEK or CMEK. This field is deprecated and the provision would always be GMEK if cloud_kms_config is not present in the request.", +"type": "boolean" +}, +"runAsServiceAccount": { +"description": "Optional. User input run-as service account, if empty, will bring up a new default service account", +"type": "string" +}, +"skipCpProvision": { +"description": "Optional. Indicates if skip CP provision or not", +"type": "boolean" +} +}, +"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" +}, +"GoogleCloudIntegrationsV1alphaReplaceServiceAccountRequest": { +"description": "Request for the ReplaceServiceAccount rpc", +"id": "GoogleCloudIntegrationsV1alphaReplaceServiceAccountRequest", +"properties": { +"runAsServiceAccount": { +"description": "Required. REQUIRED: Run-as service account to be updated", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaReplayExecutionRequest": { +"description": "Request for replaying an execution.", +"id": "GoogleCloudIntegrationsV1alphaReplayExecutionRequest", +"properties": { +"replayReason": { +"description": "Required. The user provided reason for replaying the execution.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaReplayExecutionResponse": { +"description": "Response for replaying an execution.", +"id": "GoogleCloudIntegrationsV1alphaReplayExecutionResponse", +"properties": { +"executionId": { +"description": "Next ID: 4 The id of the execution corresponding to this run of the 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. The parameters would only be present in case of synchrounous execution. Note: Name of the system generated parameters are wrapped by backtick(`) to distinguish them from the user defined parameters.", +"type": "object" +}, +"replayedExecutionId": { +"description": "The execution id which is replayed.", +"type": "string" +} +}, +"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.", +"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" +}, +"GoogleCloudIntegrationsV1alphaSearchTemplatesResponse": { +"description": "Response for a request to search templates", +"id": "GoogleCloudIntegrationsV1alphaSearchTemplatesResponse", +"properties": { +"nextPageToken": { +"description": "The token used to retrieve the next page results.", +"type": "string" +}, +"templates": { +"description": "List of templates retrieved.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaTemplate" +}, +"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" +}, +"GoogleCloudIntegrationsV1alphaShareTemplateRequest": { +"description": "Request to Share template", +"id": "GoogleCloudIntegrationsV1alphaShareTemplateRequest", +"properties": { +"resourceNames": { +"description": "Optional. Project name resources to share the template. The project names is expected in resource format Ex: projects/{project-number} or organization/{org-id}", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"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" +}, +"GoogleCloudIntegrationsV1alphaSwitchEncryptionRequest": { +"description": "Request for the SwitchEncryption rpc", +"id": "GoogleCloudIntegrationsV1alphaSwitchEncryptionRequest", +"properties": { +"cloudKmsConfig": { +"$ref": "GoogleCloudIntegrationsV1alphaCloudKmsConfig", +"description": "Required. REQUIRED: Cloud KMS config for AuthModule to encrypt/decrypt credentials." +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaSwitchVariableMaskingRequest": { +"description": "Request to enable/disable variable masking for a provisioned client", +"id": "GoogleCloudIntegrationsV1alphaSwitchVariableMaskingRequest", +"properties": { +"enableVariableMasking": { +"description": "Required. REQUIRED: True if variable masking feature should be turned on for this region", +"type": "boolean" +} +}, +"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" +}, +"GoogleCloudIntegrationsV1alphaTakeoverTestCaseEditLockRequest": { +"description": "Request for TakeoverTestCaseEditLock.", +"id": "GoogleCloudIntegrationsV1alphaTakeoverTestCaseEditLockRequest", +"properties": {}, +"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": { +"conditionalFailurePolicies": { +"$ref": "GoogleCloudIntegrationsV1alphaConditionalFailurePolicies", +"description": "Optional. The list of conditional failure policies that will be applied to the task in order." +}, +"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" +}, +"GoogleCloudIntegrationsV1alphaTemplate": { +"description": "Defines the template for Application Integration", +"id": "GoogleCloudIntegrationsV1alphaTemplate", +"properties": { +"author": { +"description": "Optional. Creator of the template.", +"type": "string" +}, +"categories": { +"description": "Required. Categories associated with the Template. The categories listed below will be utilized for the Template listing.", +"items": { +"enum": [ +"CATEGORY_UNSPECIFIED", +"AI_MACHINE_LEARNING", +"BUSINESS_INTELLIGENCE", +"COLLABORATION", +"CUSTOMER_SERVICE", +"DATABASES", +"DEVOPS_IT", +"CONTENT_AND_FILES", +"FINANCE_AND_ACCOUNTING", +"HUMAN_RESOURCES", +"OPERATIONS", +"PRODUCT_PROJECT_MANAGEMENT", +"PRODUCTIVITY", +"SALES_AND_MARKETING", +"UNIVERSAL_CONNECTORS", +"UTILITY", +"OTHERS" +], +"enumDescriptions": [ +"Category is unspecified", +"AI_MACHINE_LEARNING", +"BUSINESS_INTELLIGENCE", +"COLLABORATION", +"CUSTOMER_SERVICE", +"DATAABASES", +"DEVOPS_IT", +"CONTENT_AND_FILES", +"FINANCE_AND_ACCOUNTING", +"HUMAN_RESOURCES", +"OPERATIONS", +"PRODUCT_PROJECT_MANAGEMENT", +"PRODUCTIVITY", +"SALES_AND_MARKETING", +"UNIVERSAL_CONNECTORS", +"UTILITY", +"OTHERS" +], +"type": "string" +}, +"type": "array" +}, +"components": { +"description": "Optional. Components being used in the template. This could be used to categorize and filter.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaTemplateComponent" +}, +"type": "array" +}, +"createTime": { +"description": "Output only. Auto-generated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. Description of the template. The length should not be more than 255 characters", +"type": "string" +}, +"displayName": { +"description": "Required. The name of the template", +"type": "string" +}, +"docLink": { +"description": "Optional. Link to template documentation.", +"type": "string" +}, +"lastUsedTime": { +"description": "Optional. Time the template was last used.", +"format": "google-datetime", +"type": "string" +}, +"name": { +"description": "Identifier. Resource name of the template.", +"type": "string" +}, +"sharedWith": { +"description": "Required. Resource names with which the template is shared for example ProjectNumber/Ord id", +"items": { +"type": "string" +}, +"type": "array" +}, +"tags": { +"description": "Required. Tags which are used to identify templates. These tags could be for business use case, connectors etc.", +"items": { +"type": "string" +}, +"type": "array" +}, +"templateBundle": { +"$ref": "GoogleCloudIntegrationsV1alphaTemplateBundle", +"description": "Required. Bundle which is part of the templates. The template entities in the bundle would be converted to an actual entity." +}, +"updateTime": { +"description": "Output only. Auto-generated", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"usageCount": { +"description": "Optional. Number of template usages.", +"format": "int64", +"type": "string" +}, +"usageInfo": { +"description": "Optional. Information on how to use the template. This should contain detailed information about usage of the template.", +"type": "string" +}, +"visibility": { +"description": "Required. Visibility of the template.", +"enum": [ +"VISIBILITY_UNSPECIFIED", +"PRIVATE", +"SHARED", +"PUBLIC" +], +"enumDescriptions": [ +"Visibility is unspecified", +"Visibility is private", +"Visibility is shared", +"Visibility is public" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaTemplateBundle": { +"description": "Define the bundle of the template.", +"id": "GoogleCloudIntegrationsV1alphaTemplateBundle", +"properties": { +"integrationVersionTemplate": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersionTemplate", +"description": "Required. Main integration templates of the template bundle." +}, +"subIntegrationVersionTemplates": { +"description": "Optional. Sub integration templates which would be added along with main integration.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersionTemplate" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaTemplateComponent": { +"description": "Define the components that are present in a template.", +"id": "GoogleCloudIntegrationsV1alphaTemplateComponent", +"properties": { +"name": { +"description": "Optional. Name of the component.", +"type": "string" +}, +"type": { +"description": "Optional. Type of the component.", +"enum": [ +"TYPE_UNSPECIFIED", +"TRIGGER", +"TASK", +"CONNECTOR" +], +"enumDescriptions": [ +"Component type is unspecified", +"Trigger component", +"Task component", +"Connector component" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaTestCase": { +"description": "Defines the functional test case for Application Integration. Next available id: 15", +"id": "GoogleCloudIntegrationsV1alphaTestCase", +"properties": { +"createTime": { +"description": "Auto-generated.", +"format": "google-datetime", +"type": "string" +}, +"creatorEmail": { +"description": "Optional. The creator's email address. Generated based on the End User Credentials/LOAS role of the user making the call.", +"type": "string" +}, +"databasePersistencePolicy": { +"description": "Optional. Various policies for how to persist the test execution info including 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. Description of the test case.", +"type": "string" +}, +"displayName": { +"description": "Required. The display name of test case.", +"type": "string" +}, +"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" +}, +"lockHolderEmail": { +"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" +}, +"testInputParameters": { +"description": "Optional. Parameters that are expected to be passed to the test case when the test case is triggered. This gives the user the ability to provide default values. This should include all the output variables of the trigger as input variables.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegrationParameter" +}, +"type": "array" +}, +"testTaskConfigs": { +"description": "Optional. However, the test case doesn't mock or assert anything without test_task_configs.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaTestTaskConfig" +}, +"type": "array" +}, +"triggerConfig": { +"$ref": "GoogleCloudIntegrationsV1alphaTriggerConfig", +"description": "Optional. Auto-generated." +}, +"triggerId": { +"description": "Required. This defines the trigger ID in workflow which is considered to be executed as starting point of the test case", +"type": "string" +}, +"updateTime": { +"description": "Auto-generated.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaTestIntegrationsRequest": { +"description": "The request for testing an integration.", +"id": "GoogleCloudIntegrationsV1alphaTestIntegrationsRequest", +"properties": { +"clientId": { +"description": "Required. This is used to identify the client on whose behalf the event will be executed.", +"type": "string" +}, +"configParameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. Config parameters used during integration execution.", +"type": "object" +}, +"deadlineSecondsTime": { +"description": "Optional. custom deadline of the rpc", +"format": "google-datetime", +"type": "string" +}, +"inputParameters": { +"additionalProperties": { +"$ref": "GoogleCloudIntegrationsV1alphaValueType" +}, +"description": "Optional. Input parameters used during integration execution.", +"type": "object" +}, +"integrationVersion": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion", +"description": "Required. integration config to execute the workflow" +}, +"parameters": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoEventParameters", +"deprecated": true, +"description": "Optional. Passed in as parameters to each integration execution." +}, +"testMode": { +"description": "Optional. Can be specified in the event request, otherwise false (default). If true, enables tasks with condition \"test_mode = true\". If false, disables tasks with condition \"test_mode = true\" if global test mode (set by platform) is also false {@link EventBusConfig}.", +"type": "boolean" +}, +"triggerId": { +"description": "Required. 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" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaTestIntegrationsResponse": { +"description": "The response for testing an integration.", +"id": "GoogleCloudIntegrationsV1alphaTestIntegrationsResponse", +"properties": { +"eventParameters": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoEventParameters", +"deprecated": true, +"description": "Details for the integration that were executed." +}, +"executionFailed": { +"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" +}, +"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": { +"additionalProperties": { +"$ref": "GoogleCloudIntegrationsV1alphaValueType" +}, +"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.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaTestTaskConfig": { +"description": "The task mock configuration details and assertions for functional tests. Next available id: 6", +"id": "GoogleCloudIntegrationsV1alphaTestTaskConfig", +"properties": { +"assertions": { +"description": "Optional. List of conditions or expressions which should be evaluated to true unless there is a bug/problem in the integration. These are evaluated one the task execution is completed as per the mock strategy in test case", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaAssertion" +}, +"type": "array" +}, +"mockConfig": { +"$ref": "GoogleCloudIntegrationsV1alphaMockConfig", +"description": "Optional. Defines how to mock the given task during test execution" +}, +"task": { +"description": "Required. This defines in the test case, the task name in integration which will be mocked by this test task config", +"type": "string" +}, +"taskConfig": { +"$ref": "GoogleCloudIntegrationsV1alphaTaskConfig", +"description": "Optional. Auto-generated." +}, +"taskNumber": { +"description": "Required. This defines in the test case, the task in integration which will be mocked by this test task config", +"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" +}, +"inputVariables": { +"$ref": "GoogleCloudIntegrationsV1alphaTriggerConfigVariables", +"description": "Optional. List of input variables for the api trigger." +}, +"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" +}, +"outputVariables": { +"$ref": "GoogleCloudIntegrationsV1alphaTriggerConfigVariables", +"description": "Optional. List of output variables for the api trigger." +}, +"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. Auto-generated trigger ID. The ID is based on the properties that you define in the trigger config. For example, for an API trigger, the trigger ID follows the format: api_trigger/TRIGGER_NAME Where trigger config has properties with value {\"Trigger name\": TRIGGER_NAME}", +"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", +"CLOUD_PUBSUB", +"EVENTARC_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", +"Trigger by cloud pub/sub for internal ip", +"Trigger by Eventarc" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaTriggerConfigVariables": { +"description": "Variables names mapped to api trigger.", +"id": "GoogleCloudIntegrationsV1alphaTriggerConfigVariables", +"properties": { +"names": { +"description": "Optional. List of variable names.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaUnpublishIntegrationVersionRequest": { +"description": "Request for UnpublishIntegrationVersion.", +"id": "GoogleCloudIntegrationsV1alphaUnpublishIntegrationVersionRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaUnshareTemplateRequest": { +"description": "Request to Unshare template", +"id": "GoogleCloudIntegrationsV1alphaUnshareTemplateRequest", +"properties": { +"resourceNames": { +"description": "Optional. Project name resources to unshare the template. The project names is expected in resource format Ex: projects/{project-number}", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaUploadIntegrationVersionRequest": { +"description": "Request for UploadIntegrationVersion.", +"id": "GoogleCloudIntegrationsV1alphaUploadIntegrationVersionRequest", +"properties": { +"content": { +"description": "The textproto of the IntegrationVersion.", +"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" +}, +"GoogleCloudIntegrationsV1alphaUploadTemplateRequest": { +"description": "Request for UploadTemplate.", +"id": "GoogleCloudIntegrationsV1alphaUploadTemplateRequest", +"properties": { +"content": { +"description": "Required. The textproto of the template.", +"type": "string" +}, +"fileFormat": { +"description": "Required. 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" +}, +"GoogleCloudIntegrationsV1alphaUploadTemplateResponse": { +"description": "Response for UploadTemplate.", +"id": "GoogleCloudIntegrationsV1alphaUploadTemplateResponse", +"properties": { +"template": { +"$ref": "GoogleCloudIntegrationsV1alphaTemplate", +"description": "The uploaded Template" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaUploadTestCaseRequest": { +"description": "Request for UploadTestCase.", +"id": "GoogleCloudIntegrationsV1alphaUploadTestCaseRequest", +"properties": { +"content": { +"description": "The textproto of the test case.", +"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" +}, +"GoogleCloudIntegrationsV1alphaUploadTestCaseResponse": { +"description": "Response for UploadTestCase.", +"id": "GoogleCloudIntegrationsV1alphaUploadTestCaseResponse", +"properties": { +"testCase": { +"$ref": "GoogleCloudIntegrationsV1alphaTestCase", +"description": "The uploaded TestCase" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaUseTemplateRequest": { +"description": "Request to Use template", +"id": "GoogleCloudIntegrationsV1alphaUseTemplateRequest", +"properties": { +"integrationDetails": { +"$ref": "GoogleCloudIntegrationsV1alphaUseTemplateRequestIntegrationDetails", +"description": "Required. Integration details which would be created via templates." +}, +"integrationRegion": { +"description": "Required. The region of the Integration to be created.", +"type": "string" +}, +"subIntegrations": { +"additionalProperties": { +"$ref": "GoogleCloudIntegrationsV1alphaUseTemplateRequestIntegrationDetails" +}, +"description": "Optional. Sub Integration which would be created via templates.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaUseTemplateRequestIntegrationDetails": { +"description": "Sub Integration which would be created via templates.", +"id": "GoogleCloudIntegrationsV1alphaUseTemplateRequestIntegrationDetails", +"properties": { +"integration": { +"description": "Required. Name of the sub integration which would be created via templates.", +"type": "string" +}, +"integrationDescription": { +"description": "Optional. Description of the sub integration which would be created via templates.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaUseTemplateResponse": { +"description": "Response for use template", +"id": "GoogleCloudIntegrationsV1alphaUseTemplateResponse", +"properties": { +"integrationVersion": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion", +"description": "IntegrationVersion which is created." +}, +"subIntegrationVersions": { +"description": "Sub integration versions which are created.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion" +}, +"type": "array" +} +}, +"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": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/jobs.v2.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/jobs.v2.json new file mode 100644 index 0000000000000000000000000000000000000000..92784f5cb6465f8902c3133f0278a0c7da9ed82a --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/jobs.v2.json @@ -0,0 +1,4173 @@ +{ + "batchPath": "batch", + "mtlsRootUrl": "https://jobs.mtls.googleapis.com/", + "rootUrl": "https://jobs.googleapis.com/", + "basePath": "", + "icons": { + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" + }, + "revision": "20200929", + "canonicalName": "Cloud Talent Solution", + "id": "jobs:v2", + "version_module": true, + "schemas": { + "GoogleCloudTalentV4CompensationInfoCompensationRange": { + "type": "object", + "description": "Compensation range.", + "properties": { + "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." + }, + "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." + } + }, + "id": "GoogleCloudTalentV4CompensationInfoCompensationRange" + }, + "MatchingJob": { + "description": "Output only. Job entry with metadata inside SearchJobsResponse.", + "id": "MatchingJob", + "type": "object", + "properties": { + "jobSummary": { + "type": "string", + "description": "A summary of the job with core information that's displayed on the search results listing page." + }, + "job": { + "$ref": "Job", + "description": "Job resource that matches the specified SearchJobsRequest." + }, + "commuteInfo": { + "$ref": "CommuteInfo", + "description": "Commute information which is generated based on specified CommutePreference." + }, + "searchTextSnippet": { + "type": "string", + "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." + }, + "jobTitleSnippet": { + "description": "Contains snippets of text from the Job.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" + } + } + }, + "GoogleCloudTalentV4BatchOperationMetadata": { + "id": "GoogleCloudTalentV4BatchOperationMetadata", + "type": "object", + "description": "Metadata used for long running operations returned by CTS batch APIs. It's used to replace google.longrunning.Operation.metadata.", + "properties": { + "updateTime": { + "format": "google-datetime", + "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.", + "type": "string" + }, + "endTime": { + "description": "The time when the batch operation is finished and google.longrunning.Operation.done is set to `true`.", + "type": "string", + "format": "google-datetime" + }, + "state": { + "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." + ], + "enum": [ + "STATE_UNSPECIFIED", + "INITIALIZING", + "PROCESSING", + "SUCCEEDED", + "FAILED", + "CANCELLING", + "CANCELLED" + ], + "description": "The state of a long running operation.", + "type": "string" + }, + "successCount": { + "description": "Count of successful item(s) inside an operation.", + "type": "integer", + "format": "int32" + }, + "createTime": { + "description": "The time when the batch operation is created.", + "format": "google-datetime", + "type": "string" + }, + "stateDescription": { + "description": "More detailed information about operation state.", + "type": "string" + }, + "failureCount": { + "type": "integer", + "format": "int32", + "description": "Count of failed item(s) inside an operation." + }, + "totalCount": { + "format": "int32", + "description": "Count of total item(s) inside an operation.", + "type": "integer" + } + } + }, + "DeleteJobsByFilterRequest": { + "type": "object", + "properties": { + "filter": { + "$ref": "Filter", + "description": "Required. Restrictions on the scope of the delete request." + }, + "disableFastProcess": { + "description": "Optional. If set to true, this call waits for all processing steps to complete before the job is cleaned up. Otherwise, the call returns while some steps are still taking place asynchronously, hence faster.", + "type": "boolean" + } + }, + "description": "Deprecated. Use BatchDeleteJobsRequest instead. Input only. Delete job by filter request. The job typically becomes unsearchable within 10 seconds, but it may take up to 5 minutes.", + "id": "DeleteJobsByFilterRequest" + }, + "GoogleCloudTalentV4Job": { + "type": "object", + "properties": { + "jobStartTime": { + "type": "string", + "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" + }, + "processingOptions": { + "$ref": "GoogleCloudTalentV4JobProcessingOptions", + "description": "Options for job processing." + }, + "companyDisplayName": { + "description": "Output only. Display name of the company listing the job.", + "readOnly": true, + "type": "string" + }, + "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 \u003e0 are returned in a FEATURED_JOB_SEARCH. Default value is 0, and negative values are treated as 0.", + "format": "int32", + "type": "integer" + }, + "applicationInfo": { + "$ref": "GoogleCloudTalentV4JobApplicationInfo", + "description": "Job application information." + }, + "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.", + "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." + ], + "enum": [ + "POSTING_REGION_UNSPECIFIED", + "ADMINISTRATIVE_AREA", + "NATION", + "TELECOMMUTE" + ], + "type": "string" + }, + "postingPublishTime": { + "type": "string", + "format": "google-datetime", + "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." + }, + "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. The maximum number of allowed characters is 500.", + "type": "array", + "items": { + "type": "string" + } + }, + "derivedInfo": { + "description": "Output only. Derived details about the job posting.", + "readOnly": true, + "$ref": "GoogleCloudTalentV4JobDerivedInfo" + }, + "jobLevel": { + "type": "string", + "enum": [ + "JOB_LEVEL_UNSPECIFIED", + "ENTRY_LEVEL", + "EXPERIENCED", + "MANAGER", + "DIRECTOR", + "EXECUTIVE" + ], + "description": "The experience level associated with the job, such as \"Entry Level\".", + "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." + ] + }, + "department": { + "type": "string", + "description": "The department or functional area within the company with the open position. The maximum number of allowed characters is 255." + }, + "company": { + "type": "string", + "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\"." + }, + "postingExpireTime": { + "format": "google-datetime", + "type": "string", + "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 Application, 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." + }, + "qualifications": { + "type": "string", + "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." + }, + "postingUpdateTime": { + "type": "string", + "description": "Output only. The timestamp when this job posting was last updated.", + "format": "google-datetime", + "readOnly": true + }, + "visibility": { + "description": "Deprecated. The job is only visible to the owner. The visibility of the job. Defaults to Visibility.ACCOUNT_ONLY if not specified.", + "type": "string", + "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." + ] + }, + "postingCreateTime": { + "format": "google-datetime", + "type": "string", + "readOnly": true, + "description": "Output only. The timestamp when this job posting was created." + }, + "degreeTypes": { + "type": "array", + "description": "The desired education degrees for the job, such as Bachelors, Masters.", + "items": { + "type": "string", + "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." + ], + "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" + ] + } + }, + "name": { + "type": "string", + "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." + }, + "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" + ], + "type": "string", + "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": "array" + }, + "employmentTypes": { + "type": "array", + "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" + } + }, + "responsibilities": { + "type": "string", + "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." + }, + "customAttributes": { + "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", + "additionalProperties": { + "$ref": "GoogleCloudTalentV4CustomAttribute" + } + }, + "languageCode": { + "type": "string", + "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'." + }, + "title": { + "description": "Required. The title of the job, such as \"Software Engineer\" The maximum number of allowed characters is 500.", + "type": "string" + }, + "jobEndTime": { + "type": "string", + "description": "The end timestamp of the job. Typically this field is used for contracting engagements. Invalid timestamps are ignored.", + "format": "google-datetime" + }, + "incentives": { + "type": "string", + "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." + }, + "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" + }, + "requisitionId": { + "type": "string", + "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." + }, + "compensationInfo": { + "$ref": "GoogleCloudTalentV4CompensationInfo", + "description": "Job compensation information (a.k.a. \"pay rate\") i.e., the compensation that will paid to the employee." + } + }, + "id": "GoogleCloudTalentV4Job", + "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." + }, + "GoogleCloudTalentV4BatchDeleteJobsResponse": { + "id": "GoogleCloudTalentV4BatchDeleteJobsResponse", + "description": "The result of JobService.BatchDeleteJobs. It's used to replace google.longrunning.Operation.response in case of success.", + "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": "GoogleCloudTalentV4JobResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "DeviceInfo": { + "id": "DeviceInfo", + "properties": { + "id": { + "description": "Optional. A device-specific ID. The ID must be a unique identifier that distinguishes the device from other devices.", + "type": "string" + }, + "deviceType": { + "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", + "description": "Optional. Type of the device.", + "enum": [ + "DEVICE_TYPE_UNSPECIFIED", + "WEB", + "MOBILE_WEB", + "ANDROID", + "IOS", + "BOT", + "OTHER" + ] + } + }, + "type": "object", + "description": "Input only. 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." + }, + "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); } The JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "CustomAttributeHistogramResult": { + "description": "Output only. Custom attribute histogram result.", + "properties": { + "key": { + "description": "Stores the key of custom attribute the histogram is performed on.", + "type": "string" + }, + "stringValueHistogramResult": { + "additionalProperties": { + "type": "integer", + "format": "int32" + }, + "description": "Stores a map from the values of string custom field associated with `key` to the number of jobs with that value in this histogram result.", + "type": "object" + }, + "longValueHistogramResult": { + "$ref": "NumericBucketingResult", + "description": "Stores bucketed histogram counting result or min/max values for custom attribute long values associated with `key`." + } + }, + "id": "CustomAttributeHistogramResult", + "type": "object" + }, + "ResponseMetadata": { + "id": "ResponseMetadata", + "type": "object", + "properties": { + "experimentIdList": { + "type": "array", + "description": "Identifiers for the versions of the search algorithm used during this API invocation if multiple algorithms are used. The default value is empty. For search response only.", + "items": { + "format": "int32", + "type": "integer" + } + }, + "mode": { + "description": "For search response only. Indicates the mode of a performed search.", + "type": "string", + "enumDescriptions": [ + "The mode of the search method isn't specified.", + "The job search doesn't include support for featured jobs.", + "The job search matches only against featured jobs (jobs with a promotionValue \u003e 0). This method doesn't return any jobs having a promotionValue \u003c= 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.", + "Deprecated. Please use the SearchJobsForAlert API. The job search matches against jobs suited to email notifications." + ], + "enum": [ + "SEARCH_MODE_UNSPECIFIED", + "JOB_SEARCH", + "FEATURED_JOB_SEARCH", + "EMAIL_ALERT_SEARCH" + ] + }, + "requestId": { + "description": "A unique id associated with this call. This id is logged for tracking purposes.", + "type": "string" + } + }, + "description": "Output only. Additional information returned to client, such as debugging information." + }, + "GoogleCloudTalentV4CustomAttribute": { + "properties": { + "stringValues": { + "type": "array", + "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" + } + }, + "filterable": { + "type": "boolean", + "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." + }, + "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" + }, + "keywordSearchable": { + "type": "boolean", + "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." + } + }, + "description": "Custom attribute values that are either filterable or non-filterable.", + "id": "GoogleCloudTalentV4CustomAttribute", + "type": "object" + }, + "CompleteQueryResponse": { + "description": "Output only. Response of auto-complete query.", + "id": "CompleteQueryResponse", + "type": "object", + "properties": { + "metadata": { + "description": "Additional information for the API invocation, such as the request tracking id.", + "$ref": "ResponseMetadata" + }, + "completionResults": { + "items": { + "$ref": "CompletionResult" + }, + "description": "Results of the matching job/company candidates.", + "type": "array" + } + } + }, + "CustomAttribute": { + "properties": { + "longValue": { + "format": "int64", + "description": "Optional but at least one of string_values or long_value must be specified. This field is used to perform number range search. (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. For `long_value`, a value between Long.MIN and Long.MAX is allowed.", + "type": "string" + }, + "filterable": { + "description": "Optional. If the `filterable` flag is true, custom field values are searchable. If false, values are not searchable. Default is false.", + "type": "boolean" + }, + "stringValues": { + "description": "Optional but at least one of string_values or long_value must be specified. This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For filterable `string_values`, a maximum total number of 200 values is allowed, with each `string_value` has a byte size of no more than 255B. For unfilterable `string_values`, the maximum total byte size of unfilterable `string_values` is 50KB. Empty strings are not allowed.", + "$ref": "StringValues" + } + }, + "type": "object", + "id": "CustomAttribute", + "description": "Custom attribute values that are either filterable or non-filterable." + }, + "JobProcessingOptions": { + "type": "object", + "description": "Input only. Options for job processing.", + "properties": { + "disableStreetAddressResolution": { + "type": "boolean", + "description": "Optional. If set to `true`, the service does not attempt to resolve a more precise address for the job." + }, + "htmlSanitization": { + "enumDescriptions": [ + "Default value.", + "Disables sanitization on HTML input.", + "Sanitizes HTML input, only accepts bold, italic, ordered list, and unordered list markup tags." + ], + "type": "string", + "description": "Optional. Option for job HTML content sanitization. Applied fields are: * description * applicationInstruction * incentives * qualifications * responsibilities HTML tags in these fields may be stripped if sanitiazation is not disabled. Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.", + "enum": [ + "HTML_SANITIZATION_UNSPECIFIED", + "HTML_SANITIZATION_DISABLED", + "SIMPLE_FORMATTING_ONLY" + ] + } + }, + "id": "JobProcessingOptions" + }, + "CompensationHistogramResult": { + "id": "CompensationHistogramResult", + "type": "object", + "description": "Output only. Compensation based histogram result.", + "properties": { + "result": { + "$ref": "NumericBucketingResult", + "description": "Histogram result." + }, + "type": { + "type": "string", + "enumDescriptions": [ + "Default value. Invalid.", + "Histogram by job's base compensation. See CompensationEntry for definition of base compensation.", + "Histogram by job's annualized base compensation. See CompensationEntry for definition of annualized base compensation.", + "Histogram by job's annualized total compensation. See CompensationEntry for definition of annualized total compensation." + ], + "description": "Type of the request, corresponding to CompensationHistogramRequest.type.", + "enum": [ + "COMPENSATION_HISTOGRAM_REQUEST_TYPE_UNSPECIFIED", + "BASE", + "ANNUALIZED_BASE", + "ANNUALIZED_TOTAL" + ] + } + } + }, + "GetHistogramResponse": { + "properties": { + "metadata": { + "$ref": "ResponseMetadata", + "description": "Additional information for the API invocation, such as the request tracking id." + }, + "results": { + "items": { + "$ref": "HistogramResult" + }, + "description": "The Histogram results.", + "type": "array" + } + }, + "description": "Deprecated. Use SearchJobsRequest.histogram_facets instead to make a single call with both search and histogram. Output only. The response of the GetHistogram method.", + "type": "object", + "id": "GetHistogramResponse" + }, + "CompensationEntry": { + "id": "CompensationEntry", + "type": "object", + "properties": { + "unit": { + "enumDescriptions": [ + "Default value. Equivalent to OTHER_COMPENSATION_UNIT.", + "Hourly.", + "Daily.", + "Weekly", + "Monthly.", + "Yearly.", + "One time.", + "Other compensation units." + ], + "description": "Optional. 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" + ], + "type": "string" + }, + "description": { + "description": "Optional. Compensation description. For example, could indicate equity terms or provide additional context to an estimated bonus.", + "type": "string" + }, + "type": { + "type": "string", + "enumDescriptions": [ + "Default value. Equivalent to OTHER_COMPENSATION_TYPE.", + "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." + ], + "enum": [ + "COMPENSATION_TYPE_UNSPECIFIED", + "BASE", + "BONUS", + "SIGNING_BONUS", + "EQUITY", + "PROFIT_SHARING", + "COMMISSIONS", + "TIPS", + "OTHER_COMPENSATION_TYPE" + ], + "description": "Required. Compensation type." + }, + "amount": { + "$ref": "Money", + "description": "Optional. Compensation amount." + }, + "range": { + "$ref": "CompensationRange", + "description": "Optional. Compensation range." + }, + "expectedUnitsPerYear": { + "format": "double", + "description": "Optional. 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", + "type": "number" + } + }, + "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." + }, + "LatLng": { + "type": "object", + "description": "An object representing a latitude/longitude pair. This is expressed as a pair of doubles representing degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges.", + "id": "LatLng", + "properties": { + "latitude": { + "type": "number", + "description": "The latitude in degrees. It must be in the range [-90.0, +90.0].", + "format": "double" + }, + "longitude": { + "description": "The longitude in degrees. It must be in the range [-180.0, +180.0].", + "type": "number", + "format": "double" + } + } + }, + "CompensationHistogramRequest": { + "properties": { + "type": { + "type": "string", + "enumDescriptions": [ + "Default value. Invalid.", + "Histogram by job's base compensation. See CompensationEntry for definition of base compensation.", + "Histogram by job's annualized base compensation. See CompensationEntry for definition of annualized base compensation.", + "Histogram by job's annualized total compensation. See CompensationEntry for definition of annualized total compensation." + ], + "enum": [ + "COMPENSATION_HISTOGRAM_REQUEST_TYPE_UNSPECIFIED", + "BASE", + "ANNUALIZED_BASE", + "ANNUALIZED_TOTAL" + ], + "description": "Required. Type of the request, representing which field the histogramming should be performed over. A single request can only specify one histogram of each `CompensationHistogramRequestType`." + }, + "bucketingOption": { + "description": "Required. Numeric histogram options, like buckets, whether include min or max value.", + "$ref": "NumericBucketingOption" + } + }, + "description": "Input only. Compensation based histogram request.", + "id": "CompensationHistogramRequest", + "type": "object" + }, + "GoogleCloudTalentV4JobDerivedInfo": { + "description": "Derived details about the job posting.", + "type": "object", + "id": "GoogleCloudTalentV4JobDerivedInfo", + "properties": { + "locations": { + "type": "array", + "description": "Structured locations of the job, resolved from Job.addresses. locations are exactly matched to Job.addresses in the same order.", + "items": { + "$ref": "GoogleCloudTalentV4Location" + } + }, + "jobCategories": { + "description": "Job categories derived from Job.title and Job.description.", + "items": { + "type": "string", + "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." + ], + "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" + ] + }, + "type": "array" + } + } + }, + "JobFilters": { + "description": "Input only. Deprecated. Use JobQuery instead. The filters required to perform a search query or histogram.", + "id": "JobFilters", + "type": "object", + "properties": { + "languageCodes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional. This filter specifies the locale of jobs to search against, for example, \"en-US\". If a value is not specified, the search results may contain jobs in any locale. Language codes should be in BCP-47 format, for example, \"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." + }, + "extendedCompensationFilter": { + "$ref": "ExtendedCompensationFilter", + "description": "Deprecated. Always use compensation_filter. Optional. This search filter is applied only to Job.extended_compensation_info. For example, if the filter is specified as \"Hourly job with per-hour compensation \u003e $15\", only jobs that meet these criteria are searched. If a filter is not defined, all open jobs are searched." + }, + "categories": { + "type": "array", + "items": { + "type": "string", + "enumDescriptions": [ + "The default value if the category is not specified.", + "An accounting and finance job, such as an Accountant.", + "And 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." + ], + "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" + ] + }, + "description": "Optional. The category filter specifies the categories of jobs to search against. See Category for more information. If a value is not specified, jobs from any category are searched against. If multiple values are specified, jobs from any of the specified categories are searched against." + }, + "customAttributeFilter": { + "type": "string", + "description": "Optional. This filter specifies a structured syntax to match against the Job.custom_attributes that are marked as `filterable`. The syntax for this expression is a subset of Google SQL syntax. Supported operators are: =, !=, \u003c, \u003c=, \u003e, \u003e= where the left of the operator is a custom field key and the right of the operator is a number or string (surrounded by quotes) value. Supported functions are LOWER() to perform case insensitive match and EMPTY() 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\"), and there can be a maximum of 100 comparisons/functions in the expression. The expression must be \u003c 3000 bytes in length. Sample Query: (key1 = \"TEST\" OR LOWER(key1)=\"test\" OR NOT EMPTY(key1)) AND key2 \u003e 100" + }, + "query": { + "description": "Optional. The query filter contains the keywords that match against the job title, description, and location fields. The maximum query size is 255 bytes/characters.", + "type": "string" + }, + "disableSpellCheck": { + "description": "Optional. 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" + }, + "publishDateRange": { + "description": "Optional. Jobs published within a range specified by this filter are searched against, for example, DateRange.PAST_MONTH. If a value is not specified, all open jobs are searched against regardless of the date they were published.", + "type": "string", + "enumDescriptions": [ + "Default value: Filtering on time is not performed.", + "The past 24 hours", + "The past week (7 days)", + "The past month (30 days)", + "The past year (365 days)", + "The past 3 days" + ], + "enum": [ + "DATE_RANGE_UNSPECIFIED", + "PAST_24_HOURS", + "PAST_WEEK", + "PAST_MONTH", + "PAST_YEAR", + "PAST_3_DAYS" + ] + }, + "commuteFilter": { + "description": "Optional. Allows filtering jobs by commute time with different travel methods (e.g. driving or public transit). Note: this only works with COMMUTE MODE. When specified, [JobFilters.location_filters] will be ignored. Currently we do not support sorting by commute time.", + "$ref": "CommutePreference" + }, + "tenantJobOnly": { + "description": "Deprecated. Do not use this field. This flag controls whether the job search should be restricted to jobs owned by the current user. Defaults to false where all jobs accessible to the user are searched against.", + "type": "boolean" + }, + "locationFilters": { + "items": { + "$ref": "LocationFilter" + }, + "description": "Optional. The location filter specifies geo-regions containing the jobs to search against. See LocationFilter for more information. If a location value is not specified, jobs are retrieved from all locations. 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.", + "type": "array" + }, + "employmentTypes": { + "items": { + "type": "string", + "enum": [ + "EMPLOYMENT_TYPE_UNSPECIFIED", + "FULL_TIME", + "PART_TIME", + "CONTRACTOR", + "TEMPORARY", + "INTERN", + "VOLUNTEER", + "PER_DIEM", + "CONTRACT_TO_HIRE", + "FLY_IN_FLY_OUT", + "OTHER" + ], + "enumDescriptions": [ + "The default value if the employment type is not 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 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 is 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 is offered as a contracted position with the understanding that it is 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 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." + ] + }, + "description": "Optional. The employment type filter specifies the employment type of jobs to search against, such as EmploymentType.FULL_TIME. If a value is not specified, jobs in the search results include any employment type. If multiple values are specified, jobs in the search results include any of the specified employment types.", + "type": "array" + }, + "companyNames": { + "type": "array", + "description": "Optional. The company names filter specifies the company entities to search against. If a value is not specified, jobs are searched for against all companies. If multiple values are specified, jobs are searched against the specified companies. At most 20 company filters are allowed.", + "items": { + "type": "string" + } + }, + "compensationFilter": { + "$ref": "CompensationFilter", + "description": "Optional. This search filter is applied only to Job.compensation_info. For example, if the filter is specified as \"Hourly job with per-hour compensation \u003e $15\", only jobs that meet this criteria are searched. If a filter is not defined, all open jobs are searched." + }, + "companyTitles": { + "description": "Optional. This filter specifies the exact company titles of jobs to search against. If a value is not specified, jobs within the search results can be 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 title filters are allowed.", + "type": "array", + "items": { + "type": "string" + } + }, + "customFieldFilters": { + "description": "Deprecated. Use custom_attribute_filter instead. Optional. This filter specifies searching against custom field values. See Job.filterable_custom_fields for information. The key value specifies a number between 1-20 (the service supports 20 custom fields) corresponding to the desired custom field map value. If an invalid key is provided or specified together with custom_attribute_filter, an error is thrown.", + "type": "object", + "additionalProperties": { + "$ref": "CustomFieldFilter" + } + } + } + }, + "SearchJobsResponse": { + "id": "SearchJobsResponse", + "type": "object", + "properties": { + "estimatedTotalSize": { + "format": "int64", + "description": "An estimation of the number of jobs that match the specified query. This number is not guaranteed to be accurate. For accurate results, seenenable_precise_result_size.", + "type": "string" + }, + "appliedCommuteFilter": { + "description": "The commute filter the service applied to the specified query. This information is only available when query has a valid CommutePreference.", + "$ref": "CommutePreference" + }, + "appliedJobLocationFilters": { + "description": "The location filters that the service applied to the specified query. If any filters are lat-lng based, the JobLocation.location_type is JobLocation.LocationType#LOCATION_TYPE_UNSPECIFIED.", + "type": "array", + "items": { + "$ref": "JobLocation" + } + }, + "histogramResults": { + "description": "The histogram results that match specified SearchJobsRequest.HistogramFacets.", + "$ref": "HistogramResults" + }, + "matchingJobs": { + "type": "array", + "items": { + "$ref": "MatchingJob" + }, + "description": "The Job entities that match the specified SearchJobsRequest." + }, + "totalSize": { + "description": "The precise result count, which is available only if the client set enable_precise_result_size to `true` or if the response is the last page of results. Otherwise, the value will be `-1`.", + "type": "string", + "format": "int64" + }, + "spellResult": { + "description": "The spell checking result, and correction.", + "$ref": "SpellingCorrection" + }, + "jobView": { + "enum": [ + "JOB_VIEW_UNSPECIFIED", + "SMALL", + "MINIMAL", + "FULL" + ], + "type": "string", + "description": "Corresponds to SearchJobsRequest.job_view.", + "enumDescriptions": [ + "Default value.", + "A small view of the job, with the following attributes in the search results: Job.name, Job.requisition_id, Job.job_title, Job.company_name, Job.job_locations, Job.description, Job.visibility. Note: Job.description is deprecated. It is scheduled to be removed from MatchingJob.Job objects in the SearchJobsResponse results on 12/31/2018.", + "A minimal view of the job, with the following attributes in the search results: Job.name, Job.requisition_id, Job.job_title, Job.company_name, Job.job_locations.", + "All available attributes are included in the search results. Note: [Job.description, Job.responsibilities, Job.qualifications and Job.incentives are deprecated. These fields are scheduled to be removed from MatchingJob.Job objects in the SearchJobsResponse results on 12/31/2018. See the alternative MatchingJob.search_text_snippet and MatchingJob.job_summary fields." + ] + }, + "numJobsFromBroadenedQuery": { + "format": "int32", + "type": "integer", + "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 means 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." + }, + "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" + }, + "metadata": { + "description": "Additional information for the API invocation, such as the request tracking id.", + "$ref": "ResponseMetadata" + } + }, + "description": "Output only. Response for SearchJob method." + }, + "HistogramFacets": { + "properties": { + "simpleHistogramFacets": { + "type": "array", + "description": "Optional. Specifies the simple type of histogram facets, for example, `COMPANY_SIZE`, `EMPLOYMENT_TYPE` etc. This field is equivalent to GetHistogramRequest.", + "items": { + "enum": [ + "JOB_FIELD_UNSPECIFIED", + "COMPANY_ID", + "EMPLOYMENT_TYPE", + "COMPANY_SIZE", + "DATE_PUBLISHED", + "CUSTOM_FIELD_1", + "CUSTOM_FIELD_2", + "CUSTOM_FIELD_3", + "CUSTOM_FIELD_4", + "CUSTOM_FIELD_5", + "CUSTOM_FIELD_6", + "CUSTOM_FIELD_7", + "CUSTOM_FIELD_8", + "CUSTOM_FIELD_9", + "CUSTOM_FIELD_10", + "CUSTOM_FIELD_11", + "CUSTOM_FIELD_12", + "CUSTOM_FIELD_13", + "CUSTOM_FIELD_14", + "CUSTOM_FIELD_15", + "CUSTOM_FIELD_16", + "CUSTOM_FIELD_17", + "CUSTOM_FIELD_18", + "CUSTOM_FIELD_19", + "CUSTOM_FIELD_20", + "EDUCATION_LEVEL", + "EXPERIENCE_LEVEL", + "ADMIN1", + "COUNTRY", + "CITY", + "LOCALE", + "LANGUAGE", + "CATEGORY", + "CITY_COORDINATE", + "ADMIN1_COUNTRY", + "COMPANY_TITLE", + "COMPANY_DISPLAY_NAME", + "BASE_COMPENSATION_UNIT" + ], + "type": "string", + "enumDescriptions": [ + "The default value if search type is not specified.", + "Filter by the company id field.", + "Filter by the employment type field, such as `FULL_TIME` or `PART_TIME`.", + "Filter by the company size type field, such as `BIG`, `SMALL` or `BIGGER`.", + "Filter by the date published field. Values are stringified with TimeRange, for example, TimeRange.PAST_MONTH.", + "Filter by custom field 1.", + "Filter by custom field 2.", + "Filter by custom field 3.", + "Filter by custom field 4.", + "Filter by custom field 5.", + "Filter by custom field 6.", + "Filter by custom field 7.", + "Filter by custom field 8.", + "Filter by custom field 9.", + "Filter by custom field 10.", + "Filter by custom field 11.", + "Filter by custom field 12.", + "Filter by custom field 13.", + "Filter by custom field 14.", + "Filter by custom field 15.", + "Filter by custom field 16.", + "Filter by custom field 17.", + "Filter by custom field 18.", + "Filter by custom field 19.", + "Filter by custom field 20.", + "Filter by the required education level of the job.", + "Filter by the required experience level of the job.", + "Filter by Admin1, which is a global placeholder for referring to state, province, or the particular term a country uses to define the geographic structure below the country level. Examples include states codes such as \"CA\", \"IL\", \"NY\", and provinces, such as \"BC\".", + "Filter by the country code of job, such as US, JP, FR.", + "Filter by the \"city name\", \"Admin1 code\", for example, \"Mountain View, CA\" or \"New York, NY\".", + "Filter by the locale field of a job, such as \"en-US\", \"fr-FR\". 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).", + "Filter by the language code portion of the locale field, such as \"en\" or \"fr\".", + "Filter by the Category.", + "Filter by the city center GPS coordinate (latitude and longitude), for example, 37.4038522,-122.0987765. Since the coordinates of a city center can change, clients may need to refresh them periodically.", + "A combination of state or province code with a country code. This field differs from `JOB_ADMIN1`, which can be used in multiple countries.", + "Deprecated. Use COMPANY_DISPLAY_NAME instead. Company display name.", + "Company display name.", + "Base compensation unit." + ] + } + }, + "compensationHistogramFacets": { + "description": "Optional. Specifies compensation field-based histogram requests. Duplicate values of CompensationHistogramRequest.type are not allowed.", + "type": "array", + "items": { + "$ref": "CompensationHistogramRequest" + } + }, + "customAttributeHistogramFacets": { + "items": { + "$ref": "CustomAttributeHistogramRequest" + }, + "description": "Optional. Specifies the custom attributes histogram requests. Duplicate values of CustomAttributeHistogramRequest.key are not allowed.", + "type": "array" + } + }, + "id": "HistogramFacets", + "description": "Input only. Histogram facets to be specified in SearchJobsRequest.", + "type": "object" + }, + "ListCompanyJobsResponse": { + "type": "object", + "properties": { + "metadata": { + "description": "Additional information for the API invocation, such as the request tracking id.", + "$ref": "ResponseMetadata" + }, + "totalSize": { + "description": "The total number of open jobs. The result will be empty if ListCompanyJobsRequest.include_jobs_count is not enabled or if no open jobs are available.", + "type": "string", + "format": "int64" + }, + "jobs": { + "description": "The Jobs for a given company. The maximum number of items returned is based on the limit field provided in the request.", + "type": "array", + "items": { + "$ref": "Job" + } + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results.", + "type": "string" + } + }, + "id": "ListCompanyJobsResponse", + "description": "Deprecated. Use ListJobsResponse instead. Output only. The List jobs response object." + }, + "GoogleCloudTalentV4JobProcessingOptions": { + "properties": { + "htmlSanitization": { + "type": "string", + "enumDescriptions": [ + "Default value.", + "Disables sanitization on HTML input.", + "Sanitizes HTML input, only accepts bold, italic, ordered list, and unordered list markup tags." + ], + "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" + ] + }, + "disableStreetAddressResolution": { + "description": "If set to `true`, the service does not attempt to resolve a more precise address for the job.", + "type": "boolean" + } + }, + "type": "object", + "description": "Options for job processing.", + "id": "GoogleCloudTalentV4JobProcessingOptions" + }, + "CustomAttributeHistogramRequest": { + "properties": { + "longValueHistogramBucketingOption": { + "$ref": "NumericBucketingOption", + "description": "Optional. Specifies buckets used to perform a range histogram on Job's filterable long custom field values, or min/max value requirements." + }, + "key": { + "type": "string", + "description": "Required. Specifies the custom field key to perform a histogram on. If specified without `long_value_histogram_bucketing_option`, histogram on string values of the given `key` is triggered, otherwise histogram is performed on long values." + }, + "stringValueHistogram": { + "description": "Optional. If set to true, the response will include the histogram value for each key as a string.", + "type": "boolean" + } + }, + "id": "CustomAttributeHistogramRequest", + "description": "Custom attributes histogram request. An error will be thrown if neither string_value_histogram or long_value_histogram_bucketing_option has been defined.", + "type": "object" + }, + "NumericBucketingOption": { + "id": "NumericBucketingOption", + "properties": { + "bucketBounds": { + "items": { + "type": "number", + "format": "double" + }, + "description": "Required. Two adjacent values form a histogram bucket. Values should be in ascending order. For example, if [5, 10, 15] are provided, four buckets are created: (-inf, 5), 5, 10), [10, 15), [15, inf). At most 20 [buckets_bound is supported.", + "type": "array" + }, + "requiresMinMax": { + "description": "Optional. If set to true, the histogram result includes minimum/maximum value of the numeric field.", + "type": "boolean" + } + }, + "description": "Input only. Use this field to specify bucketing option for the histogram search response.", + "type": "object" + }, + "GoogleCloudTalentV4CompensationInfo": { + "type": "object", + "id": "GoogleCloudTalentV4CompensationInfo", + "properties": { + "entries": { + "type": "array", + "items": { + "$ref": "GoogleCloudTalentV4CompensationInfoCompensationEntry" + }, + "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." + }, + "annualizedBaseCompensationRange": { + "readOnly": true, + "$ref": "GoogleCloudTalentV4CompensationInfoCompensationRange", + "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." + }, + "annualizedTotalCompensationRange": { + "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, + "$ref": "GoogleCloudTalentV4CompensationInfoCompensationRange" + } + }, + "description": "Job compensation details." + }, + "HistogramResult": { + "id": "HistogramResult", + "type": "object", + "description": "Output only. Result of a histogram call. The response contains the histogram map for the search type specified by HistogramResult.field. The response is a map of each filter value to the corresponding count of jobs for that filter.", + "properties": { + "searchType": { + "type": "string", + "enum": [ + "JOB_FIELD_UNSPECIFIED", + "COMPANY_ID", + "EMPLOYMENT_TYPE", + "COMPANY_SIZE", + "DATE_PUBLISHED", + "CUSTOM_FIELD_1", + "CUSTOM_FIELD_2", + "CUSTOM_FIELD_3", + "CUSTOM_FIELD_4", + "CUSTOM_FIELD_5", + "CUSTOM_FIELD_6", + "CUSTOM_FIELD_7", + "CUSTOM_FIELD_8", + "CUSTOM_FIELD_9", + "CUSTOM_FIELD_10", + "CUSTOM_FIELD_11", + "CUSTOM_FIELD_12", + "CUSTOM_FIELD_13", + "CUSTOM_FIELD_14", + "CUSTOM_FIELD_15", + "CUSTOM_FIELD_16", + "CUSTOM_FIELD_17", + "CUSTOM_FIELD_18", + "CUSTOM_FIELD_19", + "CUSTOM_FIELD_20", + "EDUCATION_LEVEL", + "EXPERIENCE_LEVEL", + "ADMIN1", + "COUNTRY", + "CITY", + "LOCALE", + "LANGUAGE", + "CATEGORY", + "CITY_COORDINATE", + "ADMIN1_COUNTRY", + "COMPANY_TITLE", + "COMPANY_DISPLAY_NAME", + "BASE_COMPENSATION_UNIT" + ], + "enumDescriptions": [ + "The default value if search type is not specified.", + "Filter by the company id field.", + "Filter by the employment type field, such as `FULL_TIME` or `PART_TIME`.", + "Filter by the company size type field, such as `BIG`, `SMALL` or `BIGGER`.", + "Filter by the date published field. Values are stringified with TimeRange, for example, TimeRange.PAST_MONTH.", + "Filter by custom field 1.", + "Filter by custom field 2.", + "Filter by custom field 3.", + "Filter by custom field 4.", + "Filter by custom field 5.", + "Filter by custom field 6.", + "Filter by custom field 7.", + "Filter by custom field 8.", + "Filter by custom field 9.", + "Filter by custom field 10.", + "Filter by custom field 11.", + "Filter by custom field 12.", + "Filter by custom field 13.", + "Filter by custom field 14.", + "Filter by custom field 15.", + "Filter by custom field 16.", + "Filter by custom field 17.", + "Filter by custom field 18.", + "Filter by custom field 19.", + "Filter by custom field 20.", + "Filter by the required education level of the job.", + "Filter by the required experience level of the job.", + "Filter by Admin1, which is a global placeholder for referring to state, province, or the particular term a country uses to define the geographic structure below the country level. Examples include states codes such as \"CA\", \"IL\", \"NY\", and provinces, such as \"BC\".", + "Filter by the country code of job, such as US, JP, FR.", + "Filter by the \"city name\", \"Admin1 code\", for example, \"Mountain View, CA\" or \"New York, NY\".", + "Filter by the locale field of a job, such as \"en-US\", \"fr-FR\". 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).", + "Filter by the language code portion of the locale field, such as \"en\" or \"fr\".", + "Filter by the Category.", + "Filter by the city center GPS coordinate (latitude and longitude), for example, 37.4038522,-122.0987765. Since the coordinates of a city center can change, clients may need to refresh them periodically.", + "A combination of state or province code with a country code. This field differs from `JOB_ADMIN1`, which can be used in multiple countries.", + "Deprecated. Use COMPANY_DISPLAY_NAME instead. Company display name.", + "Company display name.", + "Base compensation unit." + ], + "description": "The Histogram search filters." + }, + "values": { + "description": "A map from the values of field to the number of jobs with that value in this search result. Key: search type (filter names, such as the companyName). Values: the count of jobs that match the filter for this search.", + "type": "object", + "additionalProperties": { + "format": "int32", + "type": "integer" + } + } + } + }, + "GoogleCloudTalentV4CompensationInfoCompensationEntry": { + "properties": { + "description": { + "type": "string", + "description": "Compensation description. For example, could indicate equity terms or provide additional context to an estimated bonus." + }, + "amount": { + "$ref": "Money", + "description": "Compensation amount." + }, + "expectedUnitsPerYear": { + "type": "number", + "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" + }, + "range": { + "$ref": "GoogleCloudTalentV4CompensationInfoCompensationRange", + "description": "Compensation range." + }, + "type": { + "description": "Compensation type. Default is CompensationType.COMPENSATION_TYPE_UNSPECIFIED.", + "type": "string", + "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." + ], + "enum": [ + "COMPENSATION_TYPE_UNSPECIFIED", + "BASE", + "BONUS", + "SIGNING_BONUS", + "EQUITY", + "PROFIT_SHARING", + "COMMISSIONS", + "TIPS", + "OTHER_COMPENSATION_TYPE" + ] + }, + "unit": { + "type": "string", + "description": "Frequency of the specified amount. Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.", + "enumDescriptions": [ + "Default value.", + "Hourly.", + "Daily.", + "Weekly", + "Monthly.", + "Yearly.", + "One time.", + "Other compensation units." + ], + "enum": [ + "COMPENSATION_UNIT_UNSPECIFIED", + "HOURLY", + "DAILY", + "WEEKLY", + "MONTHLY", + "YEARLY", + "ONE_TIME", + "OTHER_COMPENSATION_UNIT" + ] + } + }, + "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.", + "type": "object", + "id": "GoogleCloudTalentV4CompensationInfoCompensationEntry" + }, + "Status": { + "id": "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).", + "type": "object", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "message": { + "type": "string", + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client." + }, + "details": { + "items": { + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object. Contains field @type with type URL." + } + }, + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "type": "array" + } + } + }, + "BucketRange": { + "properties": { + "to": { + "description": "Ending value of the bucket range.", + "format": "double", + "type": "number" + }, + "from": { + "description": "Starting value of the bucket range.", + "format": "double", + "type": "number" + } + }, + "type": "object", + "id": "BucketRange", + "description": "Represents starting and ending value of a range in double." + }, + "CommuteInfo": { + "id": "CommuteInfo", + "description": "Output only. Commute details related to this job.", + "type": "object", + "properties": { + "jobLocation": { + "$ref": "JobLocation", + "description": "Location used as the destination in the commute calculation." + }, + "travelDuration": { + "type": "string", + "format": "google-duration", + "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 is not reachable within the requested duration, but was returned as part of an expanded query." + } + } + }, + "ExtendedCompensationInfoCompensationEntry": { + "description": "Deprecated. See CompensationInfo. 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.", + "properties": { + "unit": { + "type": "string", + "enum": [ + "EXTENDED_COMPENSATION_UNIT_UNSPECIFIED", + "HOURLY", + "DAILY", + "WEEKLY", + "MONTHLY", + "YEARLY", + "ONE_TIME", + "OTHER_COMPENSATION_UNIT" + ], + "description": "Optional. Frequency of the specified amount. Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.", + "enumDescriptions": [ + "Default value. Equivalent to OTHER_COMPENSATION_UNIT.", + "Hourly.", + "Daily.", + "Weekly", + "Monthly.", + "Yearly.", + "One time.", + "Other compensation units." + ] + }, + "expectedUnitsPerYear": { + "description": "Optional. 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", + "$ref": "ExtendedCompensationInfoDecimal" + }, + "type": { + "description": "Required. Compensation type.", + "enumDescriptions": [ + "Default value. Equivalent to OTHER_COMPENSATION_TYPE.", + "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." + ], + "enum": [ + "EXTENDED_COMPENSATION_TYPE_UNSPECIFIED", + "BASE", + "BONUS", + "SIGNING_BONUS", + "EQUITY", + "PROFIT_SHARING", + "COMMISSIONS", + "TIPS", + "OTHER_COMPENSATION_TYPE" + ], + "type": "string" + }, + "range": { + "description": "Optional. Compensation range.", + "$ref": "ExtendedCompensationInfoCompensationRange" + }, + "amount": { + "description": "Optional. Monetary amount.", + "$ref": "ExtendedCompensationInfoDecimal" + }, + "unspecified": { + "description": "Optional. Indicates compensation amount and range are unset.", + "type": "boolean" + }, + "description": { + "description": "Optional. Compensation description.", + "type": "string" + } + }, + "type": "object", + "id": "ExtendedCompensationInfoCompensationEntry" + }, + "CompensationInfo": { + "description": "Job compensation details.", + "properties": { + "amount": { + "$ref": "Money", + "description": "Deprecated. Use entries instead. Optional. The amount of compensation or pay for the job. As an alternative, compensation_amount_min and compensation_amount_max may be used to define a range of compensation." + }, + "entries": { + "type": "array", + "items": { + "$ref": "CompensationEntry" + }, + "description": "Optional. Job compensation information. At most one entry can be of type CompensationInfo.CompensationType.BASE, which is referred as ** base compensation entry ** for the job." + }, + "annualizedBaseCompensationRange": { + "description": "Output only. Annualized base compensation range. Computed as base compensation entry's CompensationEntry.compensation times CompensationEntry.expected_units_per_year. See CompensationEntry for explanation on compensation annualization.", + "$ref": "CompensationRange" + }, + "type": { + "enumDescriptions": [ + "The default value if the type is not specified.", + "The job compensation is quoted by the number of hours worked.", + "The job compensation is quoted on an annual basis.", + "The job compensation is quoted by project completion.", + "The job compensation is quoted based solely on commission.", + "The job compensation is not quoted according to the listed compensation options." + ], + "type": "string", + "description": "Deprecated. Use entries instead. Optional. Type of job compensation.", + "enum": [ + "JOB_COMPENSATION_TYPE_UNSPECIFIED", + "HOURLY", + "SALARY", + "PER_PROJECT", + "COMMISSION", + "OTHER_TYPE" + ] + }, + "annualizedTotalCompensationRange": { + "$ref": "CompensationRange", + "description": "Output only. Annualized total compensation range. Computed as all compensation entries' CompensationEntry.compensation times CompensationEntry.expected_units_per_year. See CompensationEntry for explanation on compensation annualization." + }, + "min": { + "description": "Deprecated. Use entries instead. Optional. A lower bound on a range for compensation or pay for the job. The currency type is specified in compensation_amount.", + "$ref": "Money" + }, + "max": { + "$ref": "Money", + "description": "Deprecated. Use entries instead. Optional. An upper bound on a range for compensation or pay for the job. The currency type is specified in compensation_amount." + } + }, + "type": "object", + "id": "CompensationInfo" + }, + "StringValues": { + "id": "StringValues", + "type": "object", + "description": "Represents array of string values.", + "properties": { + "values": { + "description": "Required. String values.", + "items": { + "type": "string" + }, + "type": "array" + } + } + }, + "ListCompaniesResponse": { + "properties": { + "metadata": { + "description": "Additional information for the API invocation, such as the request tracking id.", + "$ref": "ResponseMetadata" + }, + "nextPageToken": { + "type": "string", + "description": "A token to retrieve the next page of results." + }, + "companies": { + "type": "array", + "description": "Companies for the current client.", + "items": { + "$ref": "Company" + } + } + }, + "id": "ListCompaniesResponse", + "type": "object", + "description": "Output only. The List companies response object." + }, + "CustomFieldFilter": { + "type": "object", + "id": "CustomFieldFilter", + "properties": { + "type": { + "type": "string", + "description": "Optional. The type of filter. Defaults to FilterType.OR.", + "enumDescriptions": [ + "Default value.", + "Search for a match with any query.", + "Search for a match with all queries.", + "Negate the set of filter values for the search." + ], + "enum": [ + "FILTER_TYPE_UNSPECIFIED", + "OR", + "AND", + "NOT" + ] + }, + "queries": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Required. The query strings for the filter." + } + }, + "description": "Input only. Custom field filter of the search." + }, + "BucketizedCount": { + "id": "BucketizedCount", + "type": "object", + "properties": { + "count": { + "description": "Number of jobs whose numeric field value fall into `range`.", + "type": "integer", + "format": "int32" + }, + "range": { + "$ref": "BucketRange", + "description": "Bucket range on which histogram was performed for the numeric field, that is, the count represents number of jobs in this range." + } + }, + "description": "Represents count of jobs within one bucket." + }, + "NumericBucketingResult": { + "description": "Output only. Custom numeric bucketing result.", + "properties": { + "counts": { + "type": "array", + "description": "Count within each bucket. Its size is the length of NumericBucketingOption.bucket_bounds plus 1.", + "items": { + "$ref": "BucketizedCount" + } + }, + "minValue": { + "type": "number", + "description": "Stores the minimum value of the numeric field. Will be populated only if [NumericBucketingOption.requires_min_max] is set to true.", + "format": "double" + }, + "maxValue": { + "type": "number", + "format": "double", + "description": "Stores the maximum value of the numeric field. Will be populated only if [NumericBucketingOption.requires_min_max] is set to true." + } + }, + "type": "object", + "id": "NumericBucketingResult" + }, + "SearchJobsRequest": { + "properties": { + "query": { + "$ref": "JobQuery", + "description": "Optional. Query used to search against jobs, such as keyword, location filters, etc." + }, + "filters": { + "description": "Deprecated. Use query instead. Optional. Restrictions on the scope of the search request, such as filtering by location.", + "$ref": "JobFilters" + }, + "pageToken": { + "description": "Optional. 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" + }, + "enablePreciseResultSize": { + "description": "Optional. Controls if the search job request requires the return of a precise count of the first 300 results. Setting this to `true` ensures consistency in the number of results per page. Best practice is to set this value to true if a client allows users to jump directly to a non-sequential search results page. Enabling this flag may adversely impact performance. Defaults to false.", + "type": "boolean" + }, + "pageSize": { + "description": "Optional. 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.", + "type": "integer", + "format": "int32" + }, + "histogramFacets": { + "description": "Optional. Restrictions on what fields to perform histogram on, such as `COMPANY_SIZE` etc.", + "$ref": "HistogramFacets" + }, + "mode": { + "description": "Required. Mode of a search.", + "type": "string", + "enum": [ + "SEARCH_MODE_UNSPECIFIED", + "JOB_SEARCH", + "FEATURED_JOB_SEARCH", + "EMAIL_ALERT_SEARCH" + ], + "enumDescriptions": [ + "The mode of the search method isn't specified.", + "The job search doesn't include support for featured jobs.", + "The job search matches only against featured jobs (jobs with a promotionValue \u003e 0). This method doesn't return any jobs having a promotionValue \u003c= 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.", + "Deprecated. Please use the SearchJobsForAlert API. The job search matches against jobs suited to email notifications." + ] + }, + "enableBroadening": { + "type": "boolean", + "description": "Optional. 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." + }, + "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." + }, + "orderBy": { + "enum": [ + "SORT_BY_UNSPECIFIED", + "RELEVANCE_DESC", + "PUBLISHED_DATE_DESC", + "UPDATED_DATE_DESC", + "TITLE", + "TITLE_DESC", + "ANNUALIZED_BASE_COMPENSATION", + "ANNUALIZED_TOTAL_COMPENSATION", + "ANNUALIZED_BASE_COMPENSATION_DESC", + "ANNUALIZED_TOTAL_COMPENSATION_DESC" + ], + "description": "Deprecated. Use sort_by instead. Optional. The criteria determining how search results are sorted. Defaults to SortBy.RELEVANCE_DESC if no value is specified.", + "enumDescriptions": [ + "Default value.", + "By descending relevance, as determined by the API algorithms. Relevance thresholding of query results is only available for queries if RELEVANCE_DESC sort ordering is specified.", + "Sort by published date descending.", + "Sort by updated date descending.", + "Sort by job title ascending.", + "Sort by job title descending.", + "Sort by job annualized base compensation in ascending order. If job's annualized base compensation is unspecified, they are put at the end of search result.", + "Sort by job annualized total compensation in ascending order. If job's annualized total compensation is unspecified, they are put at the end of search result.", + "Sort by job annualized base compensation in descending order. If job's annualized base compensation is unspecified, they are put at the end of search result.", + "Sort by job annualized total compensation in descending order. If job's annualized total compensation is unspecified, they are put at the end of search result." + ], + "type": "string" + }, + "jobView": { + "description": "Optional. The number of job attributes returned for jobs in the search response. Defaults to JobView.SMALL if no value is specified.", + "enum": [ + "JOB_VIEW_UNSPECIFIED", + "SMALL", + "MINIMAL", + "FULL" + ], + "enumDescriptions": [ + "Default value.", + "A small view of the job, with the following attributes in the search results: Job.name, Job.requisition_id, Job.job_title, Job.company_name, Job.job_locations, Job.description, Job.visibility. Note: Job.description is deprecated. It is scheduled to be removed from MatchingJob.Job objects in the SearchJobsResponse results on 12/31/2018.", + "A minimal view of the job, with the following attributes in the search results: Job.name, Job.requisition_id, Job.job_title, Job.company_name, Job.job_locations.", + "All available attributes are included in the search results. Note: [Job.description, Job.responsibilities, Job.qualifications and Job.incentives are deprecated. These fields are scheduled to be removed from MatchingJob.Job objects in the SearchJobsResponse results on 12/31/2018. See the alternative MatchingJob.search_text_snippet and MatchingJob.job_summary fields." + ], + "type": "string" + }, + "offset": { + "format": "int32", + "description": "Optional. 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. 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).", + "type": "integer" + }, + "disableRelevanceThresholding": { + "type": "boolean", + "description": "Optional. Controls whether to disable relevance thresholding. Relevance thresholding removes jobs that have low relevance in search results, for example, removing \"Assistant to the CEO\" positions from the search results of a search for \"CEO\". Disabling relevance thresholding improves the accuracy of subsequent search requests. Defaults to false." + }, + "sortBy": { + "description": "Optional. The criteria determining how search results are sorted. Defaults to SortBy.RELEVANCE_DESC if no value is specified.", + "enumDescriptions": [ + "Default value.", + "By descending relevance, as determined by the API algorithms. Relevance thresholding of query results is only available for queries if RELEVANCE_DESC sort ordering is specified.", + "Sort by published date descending.", + "Sort by updated date descending.", + "Sort by job title ascending.", + "Sort by job title descending.", + "Sort by job annualized base compensation in ascending order. If job's annualized base compensation is unspecified, they are put at the end of search result.", + "Sort by job annualized total compensation in ascending order. If job's annualized total compensation is unspecified, they are put at the end of search result.", + "Sort by job annualized base compensation in descending order. If job's annualized base compensation is unspecified, they are put at the end of search result.", + "Sort by job annualized total compensation in descending order. If job's annualized total compensation is unspecified, they are put at the end of search result." + ], + "type": "string", + "enum": [ + "SORT_BY_UNSPECIFIED", + "RELEVANCE_DESC", + "PUBLISHED_DATE_DESC", + "UPDATED_DATE_DESC", + "TITLE", + "TITLE_DESC", + "ANNUALIZED_BASE_COMPENSATION", + "ANNUALIZED_TOTAL_COMPENSATION", + "ANNUALIZED_BASE_COMPENSATION_DESC", + "ANNUALIZED_TOTAL_COMPENSATION_DESC" + ] + } + }, + "id": "SearchJobsRequest", + "description": "Input only. The Request body of the `SearchJobs` call.", + "type": "object" + }, + "CompletionResult": { + "id": "CompletionResult", + "description": "Output only. Resource that represents completion results.", + "type": "object", + "properties": { + "type": { + "description": "The completion topic.", + "type": "string", + "enumDescriptions": [ + "Default value.", + "Only suggest job titles.", + "Only suggest company names.", + "Suggest both job titles and company names." + ], + "enum": [ + "COMPLETION_TYPE_UNSPECIFIED", + "JOB_TITLE", + "COMPANY_NAME", + "COMBINED" + ] + }, + "suggestion": { + "type": "string", + "description": "The suggestion for the query." + }, + "imageUrl": { + "description": "The URL for the company logo if `type=COMPANY_NAME`.", + "type": "string" + } + } + }, + "GetHistogramRequest": { + "id": "GetHistogramRequest", + "properties": { + "filters": { + "$ref": "JobFilters", + "description": "Deprecated. Use query instead. Optional. Restrictions on the scope of the histogram." + }, + "requestMetadata": { + "$ref": "RequestMetadata", + "description": "Meta information, such as `user_id`, collected from the job searcher or other entity conducting a job search, is used to improve the service's search quality. Users determine identifier values, which must be unique and consist." + }, + "allowBroadening": { + "description": "Optional. Controls whether to broaden the search to avoid too few results for a given query in instances where a search has sparse results. Results from a broadened query is a superset of the results from the original query. Defaults to false.", + "type": "boolean" + }, + "searchTypes": { + "type": "array", + "description": "Required. A list of facets that specify the histogram data to be calculated against and returned. Histogram response times can be slow, and counts can be approximations. This call may be temporarily or permanently removed prior to the production release of Cloud Talent Solution.", + "items": { + "enum": [ + "JOB_FIELD_UNSPECIFIED", + "COMPANY_ID", + "EMPLOYMENT_TYPE", + "COMPANY_SIZE", + "DATE_PUBLISHED", + "CUSTOM_FIELD_1", + "CUSTOM_FIELD_2", + "CUSTOM_FIELD_3", + "CUSTOM_FIELD_4", + "CUSTOM_FIELD_5", + "CUSTOM_FIELD_6", + "CUSTOM_FIELD_7", + "CUSTOM_FIELD_8", + "CUSTOM_FIELD_9", + "CUSTOM_FIELD_10", + "CUSTOM_FIELD_11", + "CUSTOM_FIELD_12", + "CUSTOM_FIELD_13", + "CUSTOM_FIELD_14", + "CUSTOM_FIELD_15", + "CUSTOM_FIELD_16", + "CUSTOM_FIELD_17", + "CUSTOM_FIELD_18", + "CUSTOM_FIELD_19", + "CUSTOM_FIELD_20", + "EDUCATION_LEVEL", + "EXPERIENCE_LEVEL", + "ADMIN1", + "COUNTRY", + "CITY", + "LOCALE", + "LANGUAGE", + "CATEGORY", + "CITY_COORDINATE", + "ADMIN1_COUNTRY", + "COMPANY_TITLE", + "COMPANY_DISPLAY_NAME", + "BASE_COMPENSATION_UNIT" + ], + "enumDescriptions": [ + "The default value if search type is not specified.", + "Filter by the company id field.", + "Filter by the employment type field, such as `FULL_TIME` or `PART_TIME`.", + "Filter by the company size type field, such as `BIG`, `SMALL` or `BIGGER`.", + "Filter by the date published field. Values are stringified with TimeRange, for example, TimeRange.PAST_MONTH.", + "Filter by custom field 1.", + "Filter by custom field 2.", + "Filter by custom field 3.", + "Filter by custom field 4.", + "Filter by custom field 5.", + "Filter by custom field 6.", + "Filter by custom field 7.", + "Filter by custom field 8.", + "Filter by custom field 9.", + "Filter by custom field 10.", + "Filter by custom field 11.", + "Filter by custom field 12.", + "Filter by custom field 13.", + "Filter by custom field 14.", + "Filter by custom field 15.", + "Filter by custom field 16.", + "Filter by custom field 17.", + "Filter by custom field 18.", + "Filter by custom field 19.", + "Filter by custom field 20.", + "Filter by the required education level of the job.", + "Filter by the required experience level of the job.", + "Filter by Admin1, which is a global placeholder for referring to state, province, or the particular term a country uses to define the geographic structure below the country level. Examples include states codes such as \"CA\", \"IL\", \"NY\", and provinces, such as \"BC\".", + "Filter by the country code of job, such as US, JP, FR.", + "Filter by the \"city name\", \"Admin1 code\", for example, \"Mountain View, CA\" or \"New York, NY\".", + "Filter by the locale field of a job, such as \"en-US\", \"fr-FR\". 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).", + "Filter by the language code portion of the locale field, such as \"en\" or \"fr\".", + "Filter by the Category.", + "Filter by the city center GPS coordinate (latitude and longitude), for example, 37.4038522,-122.0987765. Since the coordinates of a city center can change, clients may need to refresh them periodically.", + "A combination of state or province code with a country code. This field differs from `JOB_ADMIN1`, which can be used in multiple countries.", + "Deprecated. Use COMPANY_DISPLAY_NAME instead. Company display name.", + "Company display name.", + "Base compensation unit." + ], + "type": "string" + } + }, + "query": { + "$ref": "JobQuery", + "description": "Optional. Query used to search against jobs, such as keyword, location filters, etc." + } + }, + "description": "Deprecated. Use SearchJobsRequest.histogram_facets instead to make a single call with both search and histogram. Input only. A request for the `GetHistogram` method.", + "type": "object" + }, + "Money": { + "type": "object", + "properties": { + "nanos": { + "type": "integer", + "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" + }, + "units": { + "format": "int64", + "type": "string", + "description": "The whole units of the amount. For example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar." + }, + "currencyCode": { + "description": "The 3-letter currency code defined in ISO 4217.", + "type": "string" + } + }, + "description": "Represents an amount of money with its currency type.", + "id": "Money" + }, + "SpellingCorrection": { + "id": "SpellingCorrection", + "type": "object", + "properties": { + "corrected": { + "description": "Indicates if the query was corrected by the spell checker.", + "type": "boolean" + }, + "correctedText": { + "type": "string", + "description": "Correction output consisting of the corrected keyword string." + } + }, + "description": "Output only. Spell check result." + }, + "GoogleCloudTalentV4JobResult": { + "description": "Mutation result of a job from a batch operation.", + "type": "object", + "properties": { + "status": { + "description": "The status of the job processed. This field is populated if the processing of the job fails.", + "$ref": "Status" + }, + "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.", + "$ref": "GoogleCloudTalentV4Job" + } + }, + "id": "GoogleCloudTalentV4JobResult" + }, + "ExtendedCompensationFilter": { + "id": "ExtendedCompensationFilter", + "type": "object", + "description": "Deprecated. Always use CompensationFilter. Input only. Filter on job compensation type and amount.", + "properties": { + "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 compensation_units. Populate one or more compensation_units. See ExtendedCompensationInfo.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 compensation_units and amount or range overlaps with provided compensation_range. See ExtendedCompensationInfo.CompensationEntry for definition of base compensation entry. Set exactly one compensation_units and populate compensation_range.", + "Filter by annualized base compensation amount and `base compensation entry's` unit. Populate compensation_range and zero or more compensation_units.", + "Filter by annualized total compensation amount and `base compensation entry's` unit . Populate compensation_range and zero or more compensation_units." + ], + "type": "string" + }, + "currency": { + "type": "string", + "description": "Optional. Specify currency in 3-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) format. If unspecified, jobs are returned regardless of currency." + }, + "compensationUnits": { + "description": "Required. Specify desired `base compensation entry's` ExtendedCompensationInfo.CompensationUnit.", + "items": { + "type": "string", + "enum": [ + "EXTENDED_COMPENSATION_UNIT_UNSPECIFIED", + "HOURLY", + "DAILY", + "WEEKLY", + "MONTHLY", + "YEARLY", + "ONE_TIME", + "OTHER_COMPENSATION_UNIT" + ], + "enumDescriptions": [ + "Default value. Equivalent to OTHER_COMPENSATION_UNIT.", + "Hourly.", + "Daily.", + "Weekly", + "Monthly.", + "Yearly.", + "One time.", + "Other compensation units." + ] + }, + "type": "array" + }, + "compensationRange": { + "$ref": "ExtendedCompensationInfoCompensationRange", + "description": "Optional. Compensation range." + }, + "includeJobWithUnspecifiedCompensationRange": { + "type": "boolean", + "description": "Optional. Whether to include jobs whose compensation range is unspecified." + } + } + }, + "ExtendedCompensationInfoCompensationRange": { + "description": "Deprecated. See CompensationInfo. Compensation range.", + "id": "ExtendedCompensationInfoCompensationRange", + "properties": { + "max": { + "description": "Required. Maximum value.", + "$ref": "ExtendedCompensationInfoDecimal" + }, + "min": { + "description": "Required. Minimum value.", + "$ref": "ExtendedCompensationInfoDecimal" + } + }, + "type": "object" + }, + "GoogleCloudTalentV4JobApplicationInfo": { + "type": "object", + "description": "Application related details of a job posting.", + "id": "GoogleCloudTalentV4JobApplicationInfo", + "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.", + "type": "array", + "items": { + "type": "string" + } + }, + "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": { + "type": "array", + "items": { + "type": "string" + }, + "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." + } + } + }, + "CompensationFilter": { + "properties": { + "type": { + "enum": [ + "FILTER_TYPE_UNSPECIFIED", + "UNIT_ONLY", + "UNIT_AND_AMOUNT", + "ANNUALIZED_BASE_AMOUNT", + "ANNUALIZED_TOTAL_AMOUNT" + ], + "description": "Required. Type of filter.", + "type": "string", + "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 compensation_units and amount or range overlaps with provided compensation_range. 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." + ] + }, + "units": { + "items": { + "enum": [ + "COMPENSATION_UNIT_UNSPECIFIED", + "HOURLY", + "DAILY", + "WEEKLY", + "MONTHLY", + "YEARLY", + "ONE_TIME", + "OTHER_COMPENSATION_UNIT" + ], + "enumDescriptions": [ + "Default value. Equivalent to OTHER_COMPENSATION_UNIT.", + "Hourly.", + "Daily.", + "Weekly", + "Monthly.", + "Yearly.", + "One time.", + "Other compensation units." + ], + "type": "string" + }, + "type": "array", + "description": "Required. Specify desired `base compensation entry's` CompensationInfo.CompensationUnit." + }, + "includeJobsWithUnspecifiedCompensationRange": { + "description": "Optional. Whether to include jobs whose compensation range is unspecified.", + "type": "boolean" + }, + "range": { + "$ref": "CompensationRange", + "description": "Optional. Compensation range." + } + }, + "type": "object", + "id": "CompensationFilter", + "description": "Input only. Filter on job compensation type and amount." + }, + "NamespacedDebugInput": { + "id": "NamespacedDebugInput", + "properties": { + "disableExpTags": { + "description": "Set of experiment tags to be disabled. All experiments that are tagged with one or more of these tags are disabled. If an experiment is disabled, it is never selected nor forced. If an aggregate experiment is disabled, its partitions are disabled together. If an experiment with an enrollment is disabled, the enrollment is disabled together.", + "items": { + "type": "string" + }, + "type": "array" + }, + "conditionallyForcedExpNames": { + "items": { + "type": "string" + }, + "description": "Set of experiment names to be conditionally forced. These experiments will be forced only if their conditions and their parent domain's conditions are true.", + "type": "array" + }, + "absolutelyForcedExpTags": { + "items": { + "type": "string" + }, + "description": "Set of experiment tags to be absolutely forced. The experiments with these tags will be forced without evaluating the conditions.", + "type": "array" + }, + "disableOrganicSelection": { + "type": "boolean", + "description": "If true, disable organic experiment selection (at all diversion points). Organic selection means experiment selection process based on traffic allocation and diversion condition evaluation. This does not disable selection of forced experiments. This is useful in cases when it is not known whether experiment selection behavior is responsible for a error or breakage. Disabling organic selection may help to isolate the cause of a given problem." + }, + "disableManualEnrollmentSelection": { + "type": "boolean", + "description": "If true, disable manual enrollment selection (at all diversion points). Manual enrollment selection means experiment selection process based on the request's manual enrollment states (a.k.a. opt-in experiments). This does not disable selection of forced experiments." + }, + "disableExps": { + "items": { + "type": "integer", + "format": "int32" + }, + "type": "array", + "description": "Set of experiment ids to be disabled. If an experiment is disabled, it is never selected nor forced. If an aggregate experiment is disabled, its partitions are disabled together. If an experiment with an enrollment is disabled, the enrollment is disabled together. If an ID corresponds to a domain, the domain itself and all descendant experiments and domains are disabled together." + }, + "absolutelyForcedExps": { + "description": "Set of experiment ids to be absolutely forced. These ids will be forced without evaluating the conditions.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "forcedFlags": { + "description": "Flags to force in a particular experiment state. Map from flag name to flag value.", + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "conditionallyForcedExpTags": { + "description": "Set of experiment tags to be conditionally forced. The experiments with these tags will be forced only if their conditions and their parent domain's conditions are true.", + "items": { + "type": "string" + }, + "type": "array" + }, + "disableExpNames": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Set of experiment names to be disabled. If an experiment is disabled, it is never selected nor forced. If an aggregate experiment is disabled, its partitions are disabled together. If an experiment with an enrollment is disabled, the enrollment is disabled together. If a name corresponds to a domain, the domain itself and all descendant experiments and domains are disabled together." + }, + "conditionallyForcedExps": { + "description": "Set of experiment ids to be conditionally forced. These ids will be forced only if their conditions and their parent domain's conditions are true.", + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "forcedRollouts": { + "additionalProperties": { + "type": "boolean" + }, + "description": "Rollouts to force in a particular experiment state. Map from rollout name to rollout value.", + "type": "object" + }, + "absolutelyForcedExpNames": { + "type": "array", + "description": "Set of experiment names to be absolutely forced. These experiments will be forced without evaluating the conditions.", + "items": { + "type": "string" + } + }, + "disableAutomaticEnrollmentSelection": { + "description": "If true, disable automatic enrollment selection (at all diversion points). Automatic enrollment selection means experiment selection process based on the experiment's automatic enrollment condition. This does not disable selection of forced experiments.", + "type": "boolean" + } + }, + "description": "Next ID: 15", + "type": "object" + }, + "CreateJobRequest": { + "properties": { + "processingOptions": { + "$ref": "JobProcessingOptions", + "description": "Optional. Options for job processing." + }, + "disableStreetAddressResolution": { + "type": "boolean", + "description": "Deprecated. Please use processing_options. This flag is ignored if processing_options is set. Optional. If set to `true`, the service does not attempt to resolve a more precise address for the job." + }, + "job": { + "$ref": "Job", + "description": "Required. The Job to be created." + } + }, + "description": "Input only. Create job request.", + "id": "CreateJobRequest", + "type": "object" + }, + "RequestMetadata": { + "description": "Input only. Meta information related to the job searcher or entity conducting the job search. This information is used to improve the performance of the service.", + "type": "object", + "id": "RequestMetadata", + "properties": { + "domain": { + "type": "string", + "description": "Required. 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. If this field is not available for some reason, send \"UNKNOWN\". Note that any improvements to the service model for a particular tenant site rely on this field being set correctly to some domain." + }, + "userId": { + "type": "string", + "description": "Required. A unique user identification string, as determined by the client. The client is responsible for ensuring client-level uniqueness of this value in order to have the strongest positive impact on search quality. Obfuscate this field for privacy concerns before providing it to the service. If this field is not available for some reason, please send \"UNKNOWN\". Note that any improvements to the service model for a particular tenant site, rely on this field being set correctly to some unique user_id." + }, + "sessionId": { + "type": "string", + "description": "Required. A unique session identification string. A session is defined as the duration of an end user's interaction with the service over a period. Obfuscate this field for privacy concerns before providing it to the API. If this field is not available for some reason, please send \"UNKNOWN\". Note that any improvements to the service model for a particular tenant site, rely on this field being set correctly to some unique session_id." + }, + "deviceInfo": { + "description": "Optional. The type of device used by the job seeker at the time of the call to the service.", + "$ref": "DeviceInfo" + } + } + }, + "GoogleCloudTalentV4BatchUpdateJobsResponse": { + "type": "object", + "properties": { + "jobResults": { + "description": "List of job mutation results from a batch update operation. It can change until operation status is FINISHED, FAILED or CANCELLED.", + "type": "array", + "items": { + "$ref": "GoogleCloudTalentV4JobResult" + } + } + }, + "id": "GoogleCloudTalentV4BatchUpdateJobsResponse", + "description": "The result of JobService.BatchUpdateJobs. It's used to replace google.longrunning.Operation.response in case of success." + }, + "JobLocation": { + "id": "JobLocation", + "properties": { + "latLng": { + "description": "An object representing a latitude/longitude pair.", + "$ref": "LatLng" + }, + "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.", + "$ref": "PostalAddress" + }, + "locationType": { + "enumDescriptions": [ + "Default value if the type is not 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", + "description": "The type of a location, which corresponds to the address lines field of 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" + ] + }, + "radiusMeters": { + "format": "double", + "type": "number", + "description": "Radius in meters of the job location. This value is derived from the location bounding box in which a circle with the specified radius centered from LatLng coves the area associated with the job location. For example, currently, \"Mountain View, CA, USA\" has a radius of 7885.79 meters." + } + }, + "description": "Output only. A resource that represents a location with full geographic information.", + "type": "object" + }, + "ListJobsResponse": { + "description": "Output only. List jobs response.", + "type": "object", + "properties": { + "jobs": { + "items": { + "$ref": "Job" + }, + "description": "The Jobs for a given company. The maximum number of items returned is based on the limit field provided in the request.", + "type": "array" + }, + "nextPageToken": { + "type": "string", + "description": "A token to retrieve the next page of results." + }, + "metadata": { + "$ref": "ResponseMetadata", + "description": "Additional information for the API invocation, such as the request tracking id." + } + }, + "id": "ListJobsResponse" + }, + "PostalAddress": { + "properties": { + "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" + }, + "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 (e.g. \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (e.g. Côte d'Ivoire).", + "type": "string" + }, + "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 (e.g. \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated.", + "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" + }, + "sublocality": { + "description": "Optional. Sublocality of the address. For example, this can be neighborhoods, boroughs, districts.", + "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.", + "type": "array", + "items": { + "type": "string" + } + }, + "organization": { + "type": "string", + "description": "Optional. The name of the organization at the address." + }, + "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 (e.g. \"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 (e.g. Japan), address_language is used to make it explicit (e.g. \"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" + }, + "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 (e.g. state/zip validation in the U.S.A.).", + "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" + }, + "regionCode": { + "type": "string", + "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 http://cldr.unicode.org/ and http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html for details. Example: \"CH\" for Switzerland." + } + }, + "description": "Represents a postal address, e.g. 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 via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an i18n-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, please see: https://support.google.com/business/answer/6397478", + "id": "PostalAddress", + "type": "object" + }, + "HistogramResults": { + "description": "Output only. Histogram results that matches HistogramFacets specified in SearchJobsRequest.", + "properties": { + "compensationHistogramResults": { + "items": { + "$ref": "CompensationHistogramResult" + }, + "description": "Specifies compensation field-based histogram results that matches HistogramFacets.compensation_histogram_requests.", + "type": "array" + }, + "simpleHistogramResults": { + "description": "Specifies histogram results that matches HistogramFacets.simple_histogram_facets.", + "items": { + "$ref": "HistogramResult" + }, + "type": "array" + }, + "customAttributeHistogramResults": { + "items": { + "$ref": "CustomAttributeHistogramResult" + }, + "description": "Specifies histogram results for custom attributes that matches HistogramFacets.custom_attribute_histogram_facets.", + "type": "array" + } + }, + "type": "object", + "id": "HistogramResults" + }, + "LocationFilter": { + "properties": { + "regionCode": { + "type": "string", + "description": "Optional. CLDR region code of the country/region of the address. This will be used to address ambiguity of the user-input location, e.g. \"Liverpool\" against \"Liverpool, NY, US\" or \"Liverpool, UK\". Set this field if all the jobs to search against are from a same region, or jobs are world-wide but the job seeker is from a specific region. See http://cldr.unicode.org/ and http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html for details. Example: \"CH\" for Switzerland." + }, + "name": { + "type": "string", + "description": "Optional. The address name, such as \"Mountain View\" or \"Bay Area\"." + }, + "isTelecommute": { + "type": "boolean", + "description": "Optional. Allows the client to return jobs without a set location, specifically, telecommuting jobs (telecomuting is considered by the service as a special location. Job.allow_telecommute indicates if a job permits telecommuting. If this field is true, telecommuting jobs are searched, and name and lat_lng are ignored. 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." + }, + "latLng": { + "description": "Optional. The latitude and longitude of the geographic center from which to search. This field is ignored if `location_name` is provided.", + "$ref": "LatLng" + }, + "distanceInMiles": { + "type": "number", + "description": "Optional. The distance_in_miles is applied when the location being searched for is identified as a city or smaller. When the location being searched for is a state or larger, this field is ignored.", + "format": "double" + } + }, + "type": "object", + "id": "LocationFilter", + "description": "Input only. Geographic region of the search." + }, + "GoogleCloudTalentV4BatchCreateJobsResponse": { + "description": "The result of JobService.BatchCreateJobs. It's used to replace google.longrunning.Operation.response in case of success.", + "type": "object", + "id": "GoogleCloudTalentV4BatchCreateJobsResponse", + "properties": { + "jobResults": { + "items": { + "$ref": "GoogleCloudTalentV4JobResult" + }, + "description": "List of job mutation results from a batch create operation. It can change until operation status is FINISHED, FAILED or CANCELLED.", + "type": "array" + } + } + }, + "ExtendedCompensationInfoDecimal": { + "type": "object", + "id": "ExtendedCompensationInfoDecimal", + "description": "Deprecated. See CompensationInfo. Decimal number.", + "properties": { + "micros": { + "format": "int32", + "description": "Micro (10^-6) units. The value must be between -999,999 and +999,999 inclusive. If `units` is positive, `micros` must be positive or zero. If `units` is zero, `micros` can be positive, zero, or negative. If `units` is negative, `micros` must be negative or zero. For example -1.75 is represented as `units`=-1 and `micros`=-750,000.", + "type": "integer" + }, + "units": { + "description": "Whole units.", + "format": "int64", + "type": "string" + } + } + }, + "ExtendedCompensationInfo": { + "id": "ExtendedCompensationInfo", + "properties": { + "annualizedTotalCompensationUnspecified": { + "type": "boolean", + "description": "Output only. Indicates annualized total compensation range cannot be derived, due to the job's all CompensationEntry cannot be annualized. See CompensationEntry for explanation on annualization and base compensation entry." + }, + "annualizedTotalCompensationRange": { + "$ref": "ExtendedCompensationInfoCompensationRange", + "description": "Output only. Annualized total compensation range." + }, + "annualizedBaseCompensationUnspecified": { + "type": "boolean", + "description": "Output only. Indicates annualized base compensation range cannot be derived, due to the job's base compensation entry cannot be annualized. See CompensationEntry for explanation on annualization and base compensation entry." + }, + "entries": { + "description": "Optional. Job compensation information. At most one entry can be of type ExtendedCompensationInfo.CompensationType.BASE, which is referred as ** base compensation entry ** for the job.", + "items": { + "$ref": "ExtendedCompensationInfoCompensationEntry" + }, + "type": "array" + }, + "annualizedBaseCompensationRange": { + "$ref": "ExtendedCompensationInfoCompensationRange", + "description": "Output only. Annualized base compensation range." + }, + "currency": { + "type": "string", + "description": "Optional. A 3-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code." + } + }, + "description": "Deprecated. Use CompensationInfo. Describes job compensation.", + "type": "object" + }, + "CompanyInfoSource": { + "id": "CompanyInfoSource", + "description": "A resource that represents an external Google identifier for a company, for example, a Google+ business page or a Google Maps business page. For unsupported types, use `unknown_type_id`.", + "properties": { + "gplusId": { + "type": "string", + "description": "Optional. The numeric identifier for the employer's Google+ business page." + }, + "unknownTypeId": { + "type": "string", + "description": "Optional. A Google identifier that does not match any of the other types." + }, + "freebaseMid": { + "type": "string", + "description": "Optional. The Google's Knowledge Graph value for the employer's company." + }, + "mapsCid": { + "type": "string", + "description": "Optional. The numeric identifier for the employer's headquarters on Google Maps, namely, the Google Maps CID (cell id)." + } + }, + "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.", + "properties": { + "languageCode": { + "description": "Optional. 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" + }, + "extendedCompensationInfo": { + "description": "Deprecated. Always use compensation_info. Optional. Job compensation information. This field replaces compensation_info. Only CompensationInfo.entries or extended_compensation_info can be set, otherwise an exception is thrown.", + "$ref": "ExtendedCompensationInfo" + }, + "createTime": { + "description": "Output only. The timestamp when this job was created.", + "format": "google-datetime", + "type": "string" + }, + "requisitionId": { + "type": "string", + "description": "Required. The requisition ID, also referred to as the posting ID, assigned by the client to identify a job. This field is intended to be used by clients for client identification and tracking of listings. A job is not allowed to be created if there is another job with the same requisition_id, company_name and language_code. The maximum number of allowed characters is 255." + }, + "unindexedCustomFields": { + "additionalProperties": { + "$ref": "CustomField" + }, + "type": "object", + "description": "Deprecated. Use custom_attributes instead. Optional. A map of fields to hold non-filterable custom job attributes, similar to filterable_custom_fields. These fields are distinct in that the data in these fields are not indexed. Therefore, the client cannot search against them, nor can the client use them to list jobs. The key of the map can be any valid string." + }, + "referenceUrl": { + "type": "string", + "description": "Output only. The URL of a web page that displays job details." + }, + "publishDate": { + "description": "Optional. The date this job was most recently published in UTC format. The default value is the time the request arrives at the server.", + "$ref": "Date" + }, + "educationLevels": { + "type": "array", + "description": "Optional. The desired education level for the job, such as \"Bachelors\", \"Masters\", \"Doctorate\".", + "items": { + "type": "string", + "enum": [ + "EDUCATION_LEVEL_UNSPECIFIED", + "HIGH_SCHOOL", + "ASSOCIATE", + "BACHELORS", + "MASTERS", + "DOCTORATE", + "NO_DEGREE_REQUIRED" + ], + "enumDescriptions": [ + "The default value if the level is not specified.", + "A High School diploma is required for the position.", + "An Associate degree is required for the position.", + "A Bachelors degree is required for the position.", + "A Masters degree is required for the position.", + "A Doctorate degree is required for the position.", + "No formal education is required for the position." + ] + } + }, + "description": { + "type": "string", + "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." + }, + "updateTime": { + "type": "string", + "description": "Output only. The timestamp when this job was last updated.", + "format": "google-datetime" + }, + "endDate": { + "description": "Optional. The end date of the job in UTC time zone. Typically this field is used for contracting engagements. Dates prior to 1970/1/1 and invalid date formats are ignored.", + "$ref": "Date" + }, + "jobLocations": { + "items": { + "$ref": "JobLocation" + }, + "type": "array", + "description": "Output only. Structured locations of the job, resolved from locations." + }, + "name": { + "type": "string", + "description": "Required during job update. Resource name assigned to a job by the API, for example, \"/jobs/foo\". Use of this field in job queries and API calls is preferred over the use of requisition_id since this value is unique." + }, + "visibility": { + "enum": [ + "JOB_VISIBILITY_UNSPECIFIED", + "PRIVATE", + "GOOGLE", + "PUBLIC" + ], + "type": "string", + "enumDescriptions": [ + "Default value.", + "The Job is only visible to the owner.", + "The Job is visible to the owner and may be visible to other applications and processes at Google. Not yet supported. Use PRIVATE.", + "The Job is visible to the owner and may be visible to all other API clients. Not yet supported. Use PRIVATE." + ], + "description": "Optional. The visibility of the job. Defaults to JobVisibility.PRIVATE if not specified. Currently only JobVisibility.PRIVATE is supported." + }, + "distributorCompanyId": { + "description": "Optional but one of company_name or distributor_company_id must be provided. A unique company identifier used by job distributors to identify an employer's company entity. company_name takes precedence over this field, and is the recommended field to use to identify companies. The maximum number of allowed characters is 255.", + "type": "string" + }, + "customAttributes": { + "additionalProperties": { + "$ref": "CustomAttribute" + }, + "description": "Optional. A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. This field is a more general combination of the deprecated id-based filterable_custom_fields and string-based non_filterable_custom_fields. The keys of the map are strings up to 64 bytes and must match the pattern: a-zA-Z*. 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" + }, + "benefits": { + "items": { + "enumDescriptions": [ + "Default value if the type is not specified.", + "The job includes access to programs that support child care, such as daycare.", + "The job includes dental services that are 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 that are 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.", + "Deprecated. Set Region.TELECOMMUTE instead. The job allows telecommuting (working remotely).", + "The job includes paid time off for vacation.", + "The job includes vision services that are covered by a vision insurance plan." + ], + "enum": [ + "JOB_BENEFIT_TYPE_UNSPECIFIED", + "CHILD_CARE", + "DENTAL", + "DOMESTIC_PARTNER", + "FLEXIBLE_HOURS", + "MEDICAL", + "LIFE_INSURANCE", + "PARENTAL_LEAVE", + "RETIREMENT_PLAN", + "SICK_DAYS", + "TELECOMMUTE", + "VACATION", + "VISION" + ], + "type": "string" + }, + "type": "array", + "description": "Optional. The benefits included with the job." + }, + "jobTitle": { + "type": "string", + "description": "Required. The title of the job, such as \"Software Engineer\" The maximum number of allowed characters is 500." + }, + "companyDisplayName": { + "description": "Output only. The name of the company listing the job.", + "type": "string" + }, + "applicationInstruction": { + "description": "Optional but at least one of application_urls, application_email_list or application_instruction must be specified. 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" + }, + "expiryDate": { + "description": "Deprecated. Use expire_time instead. Optional but strongly recommended to be provided for the best service experience. The expiration date of the job in UTC time. After 12 am on this date, the job is marked as expired, and it no longer appears in search results. The expired job can't be deleted or listed by the DeleteJob and ListJobs APIs, but it can be retrieved with the GetJob API or updated with the UpdateJob API. An expired job can be updated and opened again by using a future expiration date. It can also remain expired. Updating an expired job to be open fails if there is another existing open job with same requisition_id, company_name and language_code. The expired jobs are retained in our system for 90 days. However, the overall expired job count cannot exceed 3 times the maximum of open jobs count over the past week, otherwise jobs with earlier expire time are removed first. Expired jobs are no longer accessible after they are cleaned out. A valid date range is between 1970/1/1 and 2100/12/31. Invalid dates are ignored and treated as expiry date not provided. If this value is not provided on 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 is not provided on job update, it depends on the field masks set by UpdateJobRequest.update_job_fields. If the field masks include expiry_date, or the masks are empty meaning that every field is updated, the job expires after 30 days from the job's last update time. Otherwise the expiration date isn't updated.", + "$ref": "Date" + }, + "filterableCustomFields": { + "type": "object", + "additionalProperties": { + "$ref": "CustomField" + }, + "description": "Deprecated. Use custom_attributes instead. Optional. A map of fields to hold filterable custom job attributes not captured by the standard fields such as job_title, company_name, or level. These custom fields store arbitrary string values, and can be used for purposes not covered by the structured fields. For the best search experience, use of the structured rather than custom fields is recommended. Data stored in these custom fields fields are indexed and searched against by keyword searches (see SearchJobsRequest.custom_field_filters][]). The map key must be a number between 1-20. If an invalid key is provided on job create or update, an error is returned." + }, + "employmentTypes": { + "type": "array", + "description": "Optional. The employment type(s) of a job, for example, full time or part time.", + "items": { + "enum": [ + "EMPLOYMENT_TYPE_UNSPECIFIED", + "FULL_TIME", + "PART_TIME", + "CONTRACTOR", + "TEMPORARY", + "INTERN", + "VOLUNTEER", + "PER_DIEM", + "CONTRACT_TO_HIRE", + "FLY_IN_FLY_OUT", + "OTHER" + ], + "type": "string", + "enumDescriptions": [ + "The default value if the employment type is not 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 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 is 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 is offered as a contracted position with the understanding that it is 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 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." + ] + } + }, + "startDate": { + "$ref": "Date", + "description": "Optional. The start date of the job in UTC time zone. Typically this field is used for contracting engagements. Dates prior to 1970/1/1 and invalid date formats are ignored." + }, + "level": { + "description": "Optional. 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 is not 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" + }, + "promotionValue": { + "type": "integer", + "description": "Optional. 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 \u003e0 are returned in a FEATURED_JOB_SEARCH. Default value is 0, and negative values are treated as 0.", + "format": "int32" + }, + "expireTime": { + "format": "google-datetime", + "type": "string", + "description": "Optional but 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 deleted or listed by the DeleteJob and ListJobs APIs, but it can be retrieved with the GetJob API or updated with the UpdateJob 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 requisition_id, company_name and language_code. The expired jobs are retained in our system for 90 days. However, the overall expired job count cannot exceed 3 times the maximum of open jobs count over the past week, otherwise jobs with earlier expire time are cleaned first. Expired jobs are no longer accessible after they are cleaned out. The format of this field is RFC 3339 date strings. Example: 2000-01-01T00:00:00.999999999Z See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). A valid date range is between 1970-01-01T00:00:00.0Z and 2100-12-31T23:59:59.999Z. Invalid dates are ignored and treated as expire time not provided. If this value is not 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 is not provided but expiry_date is, expiry_date is used. If this value is not provided on job update, it depends on the field masks set by UpdateJobRequest.update_job_fields. If the field masks include expiry_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." + }, + "department": { + "description": "Optional. The department or functional area within the company with the open position. The maximum number of allowed characters is 255.", + "type": "string" + }, + "companyTitle": { + "description": "Deprecated. Use company_display_name instead. Output only. The name of the company listing the job.", + "type": "string" + }, + "region": { + "type": "string", + "enumDescriptions": [ + "If the region is unspecified, the job is only returned if it matches the LocationFilter.", + "In additiona to exact location matching, job is returned when the LocationFilter in search query is in the same state as this job. For example, if a `STATE_WIDE` job is posted in \"CA, USA\", it is returned if LocationFilter has \"Mountain View\".", + "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 is 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." + ], + "enum": [ + "REGION_UNSPECIFIED", + "STATE_WIDE", + "NATION_WIDE", + "TELECOMMUTE" + ], + "description": "Optional. The job Region (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 if an exact location match is not specified. If this field is set, setting job locations to the same location level as this field is strongly recommended." + }, + "responsibilities": { + "description": "Optional. 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" + }, + "applicationEmailList": { + "description": "Optional but at least one of application_urls, application_email_list or application_instruction must be specified. Use this field to specify email address(es) to which resumes or applications can be sent. The maximum number of allowed characters is 255.", + "items": { + "type": "string" + }, + "type": "array" + }, + "applicationUrls": { + "items": { + "type": "string" + }, + "description": "Optional but at least one of application_urls, application_email_list or application_instruction must be specified. Use this URL field to direct an applicant to a website, for example to link to an online application form. The maximum number of allowed characters is 2,000.", + "type": "array" + }, + "companyName": { + "type": "string", + "description": "Optional but one of company_name or distributor_company_id must be provided. The resource name of the company listing the job, such as /companies/foo. This field takes precedence over the distributor-assigned company identifier, distributor_company_id." + }, + "incentives": { + "description": "Optional. 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" + }, + "locations": { + "type": "array", + "description": "Optional but strongly recommended for the best service experience. Location(s) where the emploeyer 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', etc.) as multiple jobs with the same requisition_id, company_name and language_code 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. The maximum number of allowed characters is 500.", + "items": { + "type": "string" + } + }, + "qualifications": { + "type": "string", + "description": "Optional. 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." + }, + "compensationInfo": { + "description": "Optional. Job compensation information.", + "$ref": "CompensationInfo" + } + }, + "id": "Job", + "type": "object" + }, + "CustomField": { + "description": "Resource that represents the custom data not captured by the standard fields.", + "id": "CustomField", + "properties": { + "values": { + "description": "Optional. The values of the custom data.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + }, + "Company": { + "id": "Company", + "description": "A Company resource represents a company in the service. A company is the entity that owns job listings, that is, the hiring entity responsible for employing applicants for the job position.", + "properties": { + "keywordSearchableCustomAttributes": { + "description": "Optional. A list of keys of filterable Job.custom_attributes, whose corresponding `string_values` are used in keyword search. Jobs with `string_values` under these specified field keys are returned if any of the values matches the search keyword. Custom field values with parenthesis, brackets and special symbols might not be properly searchable, and those keyword queries need to be surrounded by quotes.", + "items": { + "type": "string" + }, + "type": "array" + }, + "website": { + "type": "string", + "description": "Optional. The URL representing the company's primary web site or home page, such as, \"www.google.com\"." + }, + "eeoText": { + "description": "Optional. 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" + }, + "hiringAgency": { + "description": "Optional. Set to true if it is the hiring agency that post jobs for other employers. Defaults to false if not provided.", + "type": "boolean" + }, + "imageUrl": { + "description": "Optional. A URL that hosts the employer's company logo. If provided, the logo image should be squared at 80x80 pixels. The url must be a Google Photos or Google Album url. Only images in these Google sub-domains are accepted.", + "type": "string" + }, + "displayName": { + "type": "string", + "description": "Required. The name of the employer to be displayed with the job, for example, \"Google, LLC.\"." + }, + "title": { + "description": "Deprecated. Use display_name instead. Required. The name of the employer to be displayed with the job, for example, \"Google, LLC.\".", + "type": "string" + }, + "name": { + "description": "Required during company update. The resource name for a company. This is generated by the service when a company is created, for example, \"companies/0000aaaa-1111-bbbb-2222-cccc3333dddd\".", + "type": "string" + }, + "hqLocation": { + "description": "Optional. 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 structured_company_hq_location.", + "type": "string" + }, + "companySize": { + "description": "Optional. The employer's company size.", + "enum": [ + "COMPANY_SIZE_UNSPECIFIED", + "MINI", + "SMALL", + "SMEDIUM", + "MEDIUM", + "BIG", + "BIGGER", + "GIANT" + ], + "enumDescriptions": [ + "Default value if the size is not 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" + }, + "keywordSearchableCustomFields": { + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array", + "description": "Deprecated. Use keyword_searchable_custom_attributes instead. Optional. A list of filterable custom fields that should be used in keyword search. The jobs of this company are returned if any of these custom fields matches the search keyword. Custom field values with parenthesis, brackets and special symbols might not be properly searchable, and those keyword queries need to be surrounded by quotes." + }, + "companyInfoSources": { + "items": { + "$ref": "CompanyInfoSource" + }, + "type": "array", + "description": "Optional. Identifiers external to the application that help to further identify the employer." + }, + "structuredCompanyHqLocation": { + "$ref": "JobLocation", + "description": "Output only. A structured headquarters location of the company, resolved from hq_location if possible." + }, + "distributorBillingCompanyId": { + "type": "string", + "description": "Optional. The unique company identifier provided by the client to identify an employer for billing purposes. Recommended practice is to use the distributor_company_id. Defaults to same value as distributor_company_id when a value is not provided." + }, + "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.", + "type": "boolean" + }, + "careerPageLink": { + "description": "Optional. The URL to employer's career site or careers page on the employer's web site.", + "type": "string" + }, + "distributorCompanyId": { + "type": "string", + "description": "Required. A client's company identifier, used to uniquely identify the company. If an employer has a subsidiary or sub-brand, such as \"Alphabet\" and \"Google\", which the client wishes to use as the company displayed on the job. Best practice is to create a distinct company identifier for each distinct brand displayed. The maximum number of allowed characters is 255." + }, + "disableLocationOptimization": { + "description": "Deprecated. Do not use this field. Optional. This field is no longer used. Any value set to it is ignored.", + "type": "boolean" + } + }, + "type": "object" + }, + "JobQuery": { + "properties": { + "customAttributeFilter": { + "type": "string", + "description": "Optional. 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 Google SQL syntax. Supported operators are: =, !=, \u003c, \u003c=, \u003e, \u003e= where the left of the operator is a custom field key and the right of the operator is a number or string (surrounded by quotes) value. Supported functions are LOWER() to perform case insensitive match and EMPTY() 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 50 comparisons/functions are allowed in the expression. The expression must be \u003c 2000 characters in length. Sample Query: (key1 = \"TEST\" OR LOWER(key1)=\"test\" OR NOT EMPTY(key1)) AND key2 \u003e 100" + }, + "locationFilters": { + "description": "Optional. 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" + }, + "employmentTypes": { + "items": { + "enumDescriptions": [ + "The default value if the employment type is not 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 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 is 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 is offered as a contracted position with the understanding that it is 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 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." + ], + "enum": [ + "EMPLOYMENT_TYPE_UNSPECIFIED", + "FULL_TIME", + "PART_TIME", + "CONTRACTOR", + "TEMPORARY", + "INTERN", + "VOLUNTEER", + "PER_DIEM", + "CONTRACT_TO_HIRE", + "FLY_IN_FLY_OUT", + "OTHER" + ], + "type": "string" + }, + "type": "array", + "description": "Optional. The employment type filter specifies the employment type of jobs to search against, such as EmploymentType.FULL_TIME. If a value is not specified, jobs in the search results include any employment type. If multiple values are specified, jobs in the search results include any of the specified employment types." + }, + "commuteFilter": { + "$ref": "CommutePreference", + "description": "Optional. Allows filtering jobs by commute time with different travel methods (for example, driving or public transit). Note: This only works with COMMUTE MODE. When specified, [JobQuery.location_filters] is ignored. Currently we don't support sorting by commute time." + }, + "compensationFilter": { + "$ref": "CompensationFilter", + "description": "Optional. This search filter is applied only to Job.compensation_info. For example, if the filter is specified as \"Hourly job with per-hour compensation \u003e $15\", only jobs meeting these criteria are searched. If a filter isn't defined, all open jobs are searched." + }, + "query": { + "type": "string", + "description": "Optional. The query string that matches against the job title, description, and location fields. The maximum query size is 255 bytes." + }, + "companyDisplayNames": { + "type": "array", + "description": "Optional. This filter specifies the exact company display name of the jobs to search against. 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" + } + }, + "languageCodes": { + "description": "Optional. 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" + }, + "publishDateRange": { + "enum": [ + "DATE_RANGE_UNSPECIFIED", + "PAST_24_HOURS", + "PAST_WEEK", + "PAST_MONTH", + "PAST_YEAR", + "PAST_3_DAYS" + ], + "enumDescriptions": [ + "Default value: Filtering on time is not performed.", + "The past 24 hours", + "The past week (7 days)", + "The past month (30 days)", + "The past year (365 days)", + "The past 3 days" + ], + "description": "Optional. Jobs published within a range specified by this filter are searched against, for example, DateRange.PAST_MONTH. If a value isn't specified, all open jobs are searched against regardless of their published date.", + "type": "string" + }, + "categories": { + "description": "Optional. The category filter specifies the categories of jobs to search against. See Category for more information. If a value is not specified, jobs from any category are searched against. If multiple values are specified, jobs from any of the specified categories are searched against.", + "items": { + "type": "string", + "enumDescriptions": [ + "The default value if the category is not specified.", + "An accounting and finance job, such as an Accountant.", + "And 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." + ], + "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" + ] + }, + "type": "array" + }, + "companyNames": { + "description": "Optional. 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. At most 20 company filters are allowed.", + "items": { + "type": "string" + }, + "type": "array" + }, + "disableSpellCheck": { + "type": "boolean", + "description": "Optional. 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." + } + }, + "description": "Input only. The query required to perform a search query or histogram.", + "id": "JobQuery", + "type": "object" + }, + "CompensationRange": { + "description": "Compensation range.", + "type": "object", + "id": "CompensationRange", + "properties": { + "min": { + "$ref": "Money", + "description": "Optional. 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." + }, + "max": { + "description": "Optional. 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.", + "$ref": "Money" + } + } + }, + "Date": { + "id": "Date", + "description": "Represents a whole or partial calendar date, e.g. a birthday. The time of day and time zone are either specified elsewhere or are not significant. The date is relative to the Proleptic Gregorian Calendar. This can represent: * A full date, with non-zero year, month and day values * A month and day value, with a zero year, e.g. an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, e.g. a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.", + "properties": { + "day": { + "format": "int32", + "type": "integer", + "description": "Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a year by itself or a year and month where the day is not significant." + }, + "month": { + "type": "integer", + "description": "Month of year. Must be from 1 to 12, or 0 if specifying a year without a month and day.", + "format": "int32" + }, + "year": { + "type": "integer", + "description": "Year of date. Must be from 1 to 9999, or 0 if specifying a date without a year.", + "format": "int32" + } + }, + "type": "object" + }, + "UpdateJobRequest": { + "description": "Input only. Update job request.", + "id": "UpdateJobRequest", + "properties": { + "job": { + "$ref": "Job", + "description": "Required. The Job to be updated." + }, + "disableStreetAddressResolution": { + "type": "boolean", + "description": "Deprecated. Please use processing_options. This flag is ignored if processing_options is set. Optional. If set to `true`, the service does not attempt resolve a more precise address for the job." + }, + "updateJobFields": { + "type": "string", + "format": "google-fieldmask", + "description": "Optional but strongly recommended to be provided for the best service experience. If update_job_fields 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. Valid values are: * jobTitle * employmentTypes * description * applicationUrls * applicationEmailList * applicationInstruction * responsibilities * qualifications * educationLevels * level * department * startDate * endDate * compensationInfo * incentives * languageCode * benefits * expireTime * customAttributes * visibility * publishDate * promotionValue * locations * region * expiryDate (deprecated) * filterableCustomFields (deprecated) * unindexedCustomFields (deprecated)" + }, + "processingOptions": { + "$ref": "JobProcessingOptions", + "description": "Optional. Options for job processing. UpdateJobRequest.disable_street_address_resolution is ignored if this flag is set." + } + }, + "type": "object" + }, + "Filter": { + "description": "Deprecated. Use BatchDeleteJobsRequest instead. Input only. Filter for jobs to be deleted.", + "type": "object", + "properties": { + "requisitionId": { + "description": "Required. The requisition ID (or posting ID) assigned by the client to identify a job. This is intended for client identification and tracking of listings. name takes precedence over this field The maximum number of allowed characters is 225.", + "type": "string" + } + }, + "id": "Filter" + }, + "CommutePreference": { + "description": "Input only. Parameters needed for commute search.", + "properties": { + "roadTraffic": { + "type": "string", + "description": "Optional. Specifies the traffic density to use when calculating commute time. Must not be present if departure_hour_local is specified.", + "enum": [ + "ROAD_TRAFFIC_UNSPECIFIED", + "TRAFFIC_FREE", + "BUSY_HOUR" + ], + "enumDescriptions": [ + "Road traffic situation is not specified.", + "Optimal commute time without considering any traffic impact.", + "Commute time calculation takes in account the peak traffic impact." + ] + }, + "allowNonStreetLevelAddress": { + "type": "boolean", + "description": "Optional. 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 is not specified, only jobs that include street level addresses will be returned by commute search." + }, + "departureHourLocal": { + "type": "integer", + "description": "Optional. The departure hour to use to calculate traffic impact. Accepts an integer between 0 and 23, representing the hour in the time zone of the start_location. Must not be present if road_traffic is specified.", + "format": "int32" + }, + "travelTime": { + "description": "Required. The maximum travel time in seconds. The maximum allowed value is `3600s` (one hour). Format is `123s`.", + "format": "google-duration", + "type": "string" + }, + "startLocation": { + "$ref": "LatLng", + "description": "Required. The latitude and longitude of the location from which to calculate the commute time." + }, + "method": { + "enumDescriptions": [ + "Commute method is not specified.", + "Commute time is calculated based on driving time.", + "Commute time is calculated based on public transit including bus, metro, subway, etc." + ], + "type": "string", + "description": "Required. The method of transportation for which to calculate the commute time.", + "enum": [ + "COMMUTE_METHOD_UNSPECIFIED", + "DRIVING", + "TRANSIT" + ] + } + }, + "id": "CommutePreference", + "type": "object" + }, + "BatchDeleteJobsRequest": { + "type": "object", + "id": "BatchDeleteJobsRequest", + "description": "Input only. Batch delete jobs request.", + "properties": { + "filter": { + "type": "string", + "description": "Required. The filter string specifies the jobs to be deleted. Supported operator: =, AND The fields eligible for filtering are: * `companyName` (Required) * `requisitionId` (Required) Sample Query: companyName = \"companies/123\" AND requisitionId = \"req-1\"" + } + } + }, + "GoogleCloudTalentV4Location": { + "properties": { + "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" + }, + "latLng": { + "description": "An object representing a latitude/longitude pair.", + "$ref": "LatLng" + }, + "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.", + "$ref": "PostalAddress" + }, + "locationType": { + "enum": [ + "LOCATION_TYPE_UNSPECIFIED", + "COUNTRY", + "ADMINISTRATIVE_AREA", + "SUB_ADMINISTRATIVE_AREA", + "LOCALITY", + "POSTAL_CODE", + "SUB_LOCALITY", + "SUB_LOCALITY_1", + "SUB_LOCALITY_2", + "NEIGHBORHOOD", + "STREET_ADDRESS" + ], + "type": "string", + "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." + ], + "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." + } + }, + "description": "A resource that represents a location with full geographic information.", + "id": "GoogleCloudTalentV4Location", + "type": "object" + }, + "MendelDebugInput": { + "type": "object", + "id": "MendelDebugInput", + "description": "Message representing input to a Mendel server for debug forcing. See go/mendel-debug-forcing for more details. Next ID: 2", + "properties": { + "namespacedDebugInput": { + "additionalProperties": { + "$ref": "NamespacedDebugInput" + }, + "description": "When a request spans multiple servers, a MendelDebugInput may travel with the request and take effect in all the servers. This field is a map of namespaces to NamespacedMendelDebugInput protos. In a single server, up to two NamespacedMendelDebugInput protos are applied: 1. NamespacedMendelDebugInput with the global namespace (key == \"\"). 2. NamespacedMendelDebugInput with the server's namespace. When both NamespacedMendelDebugInput protos are present, they are merged. See go/mendel-debug-forcing for more details.", + "type": "object" + } + } + } + }, + "fullyEncodeReservedExpansion": true, + "version": "v2", + "discoveryVersion": "v1", + "protocol": "rest", + "ownerDomain": "google.com", + "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. ", + "servicePath": "", + "title": "Cloud Talent Solution API", + "parameters": { + "oauth_token": { + "type": "string", + "description": "OAuth 2.0 token for the current user.", + "location": "query" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string", + "location": "query" + }, + "quotaUser": { + "type": "string", + "location": "query", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters." + }, + "$.xgafv": { + "location": "query", + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "description": "V1 error format.", + "enum": [ + "1", + "2" + ] + }, + "upload_protocol": { + "location": "query", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "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.", + "type": "string", + "location": "query" + }, + "fields": { + "location": "query", + "description": "Selector specifying which fields to include in a partial response.", + "type": "string" + }, + "access_token": { + "location": "query", + "description": "OAuth access token.", + "type": "string" + }, + "callback": { + "description": "JSONP", + "type": "string", + "location": "query" + }, + "alt": { + "default": "json", + "type": "string", + "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", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ] + }, + "prettyPrint": { + "type": "boolean", + "location": "query", + "description": "Returns response with indentations and line breaks.", + "default": "true" + } + }, + "baseUrl": "https://jobs.googleapis.com/", + "kind": "discovery#restDescription", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + }, + "https://www.googleapis.com/auth/jobs": { + "description": "Manage job postings" + } + } + } + }, + "documentationLink": "https://cloud.google.com/talent-solution/job-search/docs/", + "ownerName": "Google", + "name": "jobs", + "resources": { + "jobs": { + "methods": { + "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), and has different algorithmic adjustments that are targeted to 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": "v2/jobs:searchForAlert", + "path": "v2/jobs:searchForAlert", + "response": { + "$ref": "SearchJobsResponse" + }, + "request": { + "$ref": "SearchJobsRequest" + }, + "parameters": {}, + "id": "jobs.jobs.searchForAlert", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/jobs" + ], + "httpMethod": "POST", + "parameterOrder": [] + }, + "get": { + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "path": "v2/{+name}", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/jobs" + ], + "flatPath": "v2/jobs/{jobsId}", + "description": "Retrieves the specified job, whose status is OPEN or recently EXPIRED within the last 90 days.", + "parameters": { + "name": { + "required": true, + "description": "Required. The resource name of the job to retrieve, such as \"jobs/11111111\".", + "pattern": "^jobs/[^/]+$", + "location": "path", + "type": "string" + } + }, + "response": { + "$ref": "Job" + }, + "id": "jobs.jobs.get" + }, + "search": { + "path": "v2/jobs:search", + "httpMethod": "POST", + "response": { + "$ref": "SearchJobsResponse" + }, + "id": "jobs.jobs.search", + "parameters": {}, + "flatPath": "v2/jobs:search", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/jobs" + ], + "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.", + "parameterOrder": [], + "request": { + "$ref": "SearchJobsRequest" + } + }, + "deleteByFilter": { + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "Empty" + }, + "path": "v2/jobs:deleteByFilter", + "flatPath": "v2/jobs:deleteByFilter", + "request": { + "$ref": "DeleteJobsByFilterRequest" + }, + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/jobs" + ], + "id": "jobs.jobs.deleteByFilter", + "description": "Deprecated. Use BatchDeleteJobs instead. Deletes the specified job by filter. You can specify whether to synchronously wait for validation, indexing, and general processing to be completed before the response is returned." + }, + "batchDelete": { + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/jobs" + ], + "request": { + "$ref": "BatchDeleteJobsRequest" + }, + "httpMethod": "POST", + "flatPath": "v2/jobs:batchDelete", + "id": "jobs.jobs.batchDelete", + "description": "Deletes a list of Job postings by filter.", + "path": "v2/jobs:batchDelete", + "parameterOrder": [], + "parameters": {} + }, + "histogram": { + "parameters": {}, + "description": "Deprecated. Use SearchJobsRequest.histogram_facets instead to make a single call with both search and histogram. Retrieves a histogram for the given GetHistogramRequest. This call provides a structured count of jobs that match against the search query, grouped by specified facets. This call constrains the visibility of jobs present in the database, and only counts jobs the caller has permission to search against. For example, use this call to generate the number of jobs in the U.S. by state.", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/jobs" + ], + "flatPath": "v2/jobs:histogram", + "parameterOrder": [], + "path": "v2/jobs:histogram", + "request": { + "$ref": "GetHistogramRequest" + }, + "httpMethod": "POST", + "response": { + "$ref": "GetHistogramResponse" + }, + "id": "jobs.jobs.histogram" + }, + "create": { + "httpMethod": "POST", + "response": { + "$ref": "Job" + }, + "flatPath": "v2/jobs", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/jobs" + ], + "description": "Creates a new job. Typically, the job becomes searchable within 10 seconds, but it may take up to 5 minutes.", + "parameters": {}, + "parameterOrder": [], + "id": "jobs.jobs.create", + "path": "v2/jobs", + "request": { + "$ref": "CreateJobRequest" + } + }, + "patch": { + "path": "v2/{+name}", + "parameterOrder": [ + "name" + ], + "request": { + "$ref": "UpdateJobRequest" + }, + "httpMethod": "PATCH", + "parameters": { + "name": { + "description": "Required during job update. Resource name assigned to a job by the API, for example, \"/jobs/foo\". 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": "^jobs/[^/]+$", + "required": true, + "type": "string" + } + }, + "flatPath": "v2/jobs/{jobsId}", + "id": "jobs.jobs.patch", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/jobs" + ], + "response": { + "$ref": "Job" + }, + "description": "Updates specified job. Typically, updated contents become visible in search results within 10 seconds, but it may take up to 5 minutes." + }, + "list": { + "parameters": { + "pageSize": { + "format": "int32", + "location": "query", + "type": "integer", + "description": "Optional. The maximum number of jobs to be returned per page of results. If ids_only is set to true, the maximum allowed page size is 1000. Otherwise, the maximum allowed page size is 100. Default is 100 if empty or a number \u003c 1 is specified." + }, + "filter": { + "location": "query", + "type": "string", + "description": "Required. The filter string specifies the jobs to be enumerated. Supported operator: =, AND The fields eligible for filtering are: * `companyName` (Required) * `requisitionId` (Optional) Sample Query: * companyName = \"companies/123\" * companyName = \"companies/123\" AND requisitionId = \"req-1\"" + }, + "idsOnly": { + "type": "boolean", + "location": "query", + "description": "Optional. If set to `true`, only Job.name, Job.requisition_id and Job.language_code will be returned. A typical use case is to synchronize job repositories. Defaults to false." + }, + "pageToken": { + "description": "Optional. The starting point of a query result.", + "type": "string", + "location": "query" + } + }, + "id": "jobs.jobs.list", + "flatPath": "v2/jobs", + "path": "v2/jobs", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/jobs" + ], + "description": "Lists jobs by filter.", + "httpMethod": "GET", + "parameterOrder": [], + "response": { + "$ref": "ListJobsResponse" + } + }, + "delete": { + "path": "v2/{+name}", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/jobs" + ], + "description": "Deletes the specified job. Typically, the job becomes unsearchable within 10 seconds, but it may take up to 5 minutes.", + "parameters": { + "disableFastProcess": { + "description": "Deprecated. This field is not working anymore. Optional. If set to true, this call waits for all processing steps to complete before the job is cleaned up. Otherwise, the call returns while some steps are still taking place asynchronously, hence faster.", + "type": "boolean", + "location": "query" + }, + "name": { + "location": "path", + "type": "string", + "pattern": "^jobs/[^/]+$", + "required": true, + "description": "Required. The resource name of the job to be deleted, such as \"jobs/11111111\"." + } + }, + "response": { + "$ref": "Empty" + }, + "id": "jobs.jobs.delete", + "parameterOrder": [ + "name" + ], + "flatPath": "v2/jobs/{jobsId}", + "httpMethod": "DELETE" + } + } + }, + "companies": { + "methods": { + "delete": { + "parameters": { + "name": { + "type": "string", + "location": "path", + "pattern": "^companies/[^/]+$", + "description": "Required. The resource name of the company to be deleted, such as, \"companies/0000aaaa-1111-bbbb-2222-cccc3333dddd\".", + "required": true + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "Empty" + }, + "id": "jobs.companies.delete", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/jobs" + ], + "description": "Deletes the specified company.", + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "flatPath": "v2/companies/{companiesId}" + }, + "list": { + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/jobs" + ], + "parameterOrder": [], + "description": "Lists all companies associated with a Cloud Talent Solution account.", + "path": "v2/companies", + "httpMethod": "GET", + "response": { + "$ref": "ListCompaniesResponse" + }, + "id": "jobs.companies.list", + "parameters": { + "pageToken": { + "description": "Optional. The starting indicator from which to return results.", + "location": "query", + "type": "string" + }, + "pageSize": { + "location": "query", + "type": "integer", + "format": "int32", + "description": "Optional. The maximum number of companies to be returned, at most 100. Default is 100 if a non-positive number is provided." + }, + "mustHaveOpenJobs": { + "description": "Optional. Set to true if the companies request 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" + } + }, + "flatPath": "v2/companies" + }, + "create": { + "description": "Creates a new company entity.", + "request": { + "$ref": "Company" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/jobs" + ], + "flatPath": "v2/companies", + "path": "v2/companies", + "id": "jobs.companies.create", + "httpMethod": "POST", + "response": { + "$ref": "Company" + }, + "parameterOrder": [], + "parameters": {} + }, + "patch": { + "description": "Updates the specified company. Company names can't be updated. To update a company name, delete the company and all jobs associated with it, and only then re-create them.", + "parameters": { + "updateCompanyFields": { + "type": "string", + "format": "google-fieldmask", + "description": "Optional but strongly recommended to be provided for the best service experience. If update_company_fields 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 update. Valid values are: * displayName * website * imageUrl * companySize * distributorBillingCompanyId * companyInfoSources * careerPageLink * hiringAgency * hqLocation * eeoText * keywordSearchableCustomAttributes * title (deprecated) * keywordSearchableCustomFields (deprecated)", + "location": "query" + }, + "name": { + "type": "string", + "pattern": "^companies/[^/]+$", + "required": true, + "location": "path", + "description": "Required during company update. The resource name for a company. This is generated by the service when a company is created, for example, \"companies/0000aaaa-1111-bbbb-2222-cccc3333dddd\"." + } + }, + "id": "jobs.companies.patch", + "path": "v2/{+name}", + "flatPath": "v2/companies/{companiesId}", + "httpMethod": "PATCH", + "request": { + "$ref": "Company" + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Company" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/jobs" + ] + }, + "get": { + "flatPath": "v2/companies/{companiesId}", + "parameters": { + "name": { + "type": "string", + "location": "path", + "description": "Required. Resource name of the company to retrieve, such as \"companies/0000aaaa-1111-bbbb-2222-cccc3333dddd\".", + "required": true, + "pattern": "^companies/[^/]+$" + } + }, + "description": "Retrieves the specified company.", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/jobs" + ], + "parameterOrder": [ + "name" + ], + "path": "v2/{+name}", + "id": "jobs.companies.get", + "response": { + "$ref": "Company" + }, + "httpMethod": "GET" + } + }, + "resources": { + "jobs": { + "methods": { + "list": { + "parameters": { + "includeJobsCount": { + "location": "query", + "description": "Deprecated. Please DO NOT use this field except for small companies. Suggest counting jobs page by page instead. Optional. Set to true if the total number of open jobs is to be returned. Defaults to false.", + "type": "boolean" + }, + "idsOnly": { + "description": "Optional. If set to `true`, only job ID, job requisition ID and language code will be returned. A typical use is to synchronize job repositories. Defaults to false.", + "location": "query", + "type": "boolean" + }, + "jobRequisitionId": { + "description": "Optional. The requisition ID, also known as posting ID, assigned by the company to the job. The maximum number of allowable characters is 225.", + "type": "string", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Optional. The starting point of a query result.", + "location": "query" + }, + "companyName": { + "pattern": "^companies/[^/]+$", + "required": true, + "description": "Required. The resource name of the company that owns the jobs to be listed, such as, \"companies/0000aaaa-1111-bbbb-2222-cccc3333dddd\".", + "location": "path", + "type": "string" + }, + "pageSize": { + "format": "int32", + "description": "Optional. The maximum number of jobs to be returned per page of results. If ids_only is set to true, the maximum allowed page size is 1000. Otherwise, the maximum allowed page size is 100. Default is 100 if empty or a number \u003c 1 is specified.", + "type": "integer", + "location": "query" + } + }, + "httpMethod": "GET", + "flatPath": "v2/companies/{companiesId}/jobs", + "response": { + "$ref": "ListCompanyJobsResponse" + }, + "id": "jobs.companies.jobs.list", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/jobs" + ], + "path": "v2/{+companyName}/jobs", + "parameterOrder": [ + "companyName" + ], + "description": "Deprecated. Use ListJobs instead. Lists all jobs associated with a company." + } + } + } + } + }, + "v2": { + "methods": { + "complete": { + "parameterOrder": [], + "id": "jobs.complete", + "description": "Completes the specified prefix with job keyword suggestions. Intended for use by a job search auto-complete search box.", + "parameters": { + "query": { + "description": "Required. The query used to generate suggestions.", + "location": "query", + "type": "string" + }, + "type": { + "enumDescriptions": [ + "Default value.", + "Only suggest job titles.", + "Only suggest company names.", + "Suggest both job titles and company names." + ], + "location": "query", + "type": "string", + "description": "Optional. The completion topic. The default is CompletionType.COMBINED.", + "enum": [ + "COMPLETION_TYPE_UNSPECIFIED", + "JOB_TITLE", + "COMPANY_NAME", + "COMBINED" + ] + }, + "languageCode": { + "location": "query", + "description": "Required. The language 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). For CompletionType.JOB_TITLE type, only open jobs with same language_code are returned. For CompletionType.COMPANY_NAME type, only companies having open jobs with same language_code are returned. For CompletionType.COMBINED type, only open jobs with same language_code or companies having open jobs with same language_code are returned.", + "type": "string" + }, + "scope": { + "enum": [ + "COMPLETION_SCOPE_UNSPECIFIED", + "TENANT", + "PUBLIC" + ], + "location": "query", + "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" + ], + "type": "string", + "description": "Optional. The scope of the completion. The defaults is CompletionScope.PUBLIC." + }, + "pageSize": { + "description": "Required. Completion result count. The maximum allowed page size is 10.", + "format": "int32", + "type": "integer", + "location": "query" + }, + "companyName": { + "location": "query", + "type": "string", + "description": "Optional. If provided, restricts completion to the specified company." + } + }, + "path": "v2:complete", + "response": { + "$ref": "CompleteQueryResponse" + }, + "httpMethod": "GET", + "flatPath": "v2:complete", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/jobs" + ] + } + } + } + } +} diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/language.v1beta2.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/language.v1beta2.json new file mode 100644 index 0000000000000000000000000000000000000000..1f479919fc0e797c707ec78ac1bab94e8c342f93 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/language.v1beta2.json @@ -0,0 +1,5721 @@ +{ +"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:v1beta2", +"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": "v1beta2/documents:analyzeEntities", +"httpMethod": "POST", +"id": "language.documents.analyzeEntities", +"parameterOrder": [], +"parameters": {}, +"path": "v1beta2/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": "v1beta2/documents:analyzeEntitySentiment", +"httpMethod": "POST", +"id": "language.documents.analyzeEntitySentiment", +"parameterOrder": [], +"parameters": {}, +"path": "v1beta2/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": "v1beta2/documents:analyzeSentiment", +"httpMethod": "POST", +"id": "language.documents.analyzeSentiment", +"parameterOrder": [], +"parameters": {}, +"path": "v1beta2/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": "v1beta2/documents:analyzeSyntax", +"httpMethod": "POST", +"id": "language.documents.analyzeSyntax", +"parameterOrder": [], +"parameters": {}, +"path": "v1beta2/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 syntax, sentiment, entity, and classification features in one call.", +"flatPath": "v1beta2/documents:annotateText", +"httpMethod": "POST", +"id": "language.documents.annotateText", +"parameterOrder": [], +"parameters": {}, +"path": "v1beta2/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": "v1beta2/documents:classifyText", +"httpMethod": "POST", +"id": "language.documents.classifyText", +"parameterOrder": [], +"parameters": {}, +"path": "v1beta2/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": "v1beta2/documents:moderateText", +"httpMethod": "POST", +"id": "language.documents.moderateText", +"parameterOrder": [], +"parameters": {}, +"path": "v1beta2/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 for the sentence sentiment.", +"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. If this is true, the API will use the default model which classifies into a [predefined taxonomy](https://cloud.google.com/natural-language/docs/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.", +"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": { +"boilerplateHandling": { +"description": "Indicates how detected boilerplate(e.g. advertisements, copyright declarations, banners) should be handled for this document. If not specified, boilerplate will be treated the same as content.", +"enum": [ +"BOILERPLATE_HANDLING_UNSPECIFIED", +"SKIP_BOILERPLATE", +"KEEP_BOILERPLATE" +], +"enumDescriptions": [ +"The boilerplate handling is not specified.", +"Do not analyze detected boilerplate. Reference web URI is required for detecting boilerplate.", +"Treat boilerplate the same as content." +], +"type": "string" +}, +"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" +}, +"referenceWebUri": { +"description": "The web URI where the document comes from. This URI is not used for fetching the content, but as a hint for analyzing the document.", +"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.", +"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": "v1beta2", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/merchantapi.reports_v1beta.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/merchantapi.reports_v1beta.json new file mode 100644 index 0000000000000000000000000000000000000000..33e024df3ddc8bdd969952544358ecb2f74cda0b --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/merchantapi.reports_v1beta.json @@ -0,0 +1,1539 @@ +{ +"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:reports_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": { +"reports": { +"methods": { +"search": { +"description": "Retrieves a report defined by a search query. The response might contain fewer rows than specified by `page_size`. Rely on `next_page_token` to determine if there are more rows to be requested.", +"flatPath": "reports/v1beta/accounts/{accountsId}/reports:search", +"httpMethod": "POST", +"id": "merchantapi.accounts.reports.search", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Id of the account making the call. Must be a standalone account or an MCA subaccount. Format: accounts/{account}", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "reports/v1beta/{+parent}/reports:search", +"request": { +"$ref": "SearchRequest" +}, +"response": { +"$ref": "SearchResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +} +} +} +} +} +}, +"revision": "20241119", +"rootUrl": "https://merchantapi.googleapis.com/", +"schemas": { +"BestSellersBrandView": { +"description": "Fields available for query in `best_sellers_brand_view` table. [Best sellers](https://support.google.com/merchants/answer/9488679) report with top brands. Values are only set for fields requested explicitly in the request's search query.", +"id": "BestSellersBrandView", +"properties": { +"brand": { +"description": "Name of the brand.", +"type": "string" +}, +"previousRank": { +"description": "Popularity rank in the previous week or month.", +"format": "int64", +"type": "string" +}, +"previousRelativeDemand": { +"description": "Estimated demand in relation to the brand with the highest popularity rank in the same category and country in the previous week or month.", +"enum": [ +"RELATIVE_DEMAND_ENUM_UNSPECIFIED", +"VERY_LOW", +"LOW", +"MEDIUM", +"HIGH", +"VERY_HIGH" +], +"enumDescriptions": [ +"Not specified.", +"Demand is 0-5% of the demand of the highest ranked product cluster or brand.", +"Demand is 6-10% of the demand of the highest ranked product cluster or brand.", +"Demand is 11-20% of the demand of the highest ranked product cluster or brand.", +"Demand is 21-50% of the demand of the highest ranked product cluster or brand.", +"Demand is 51-100% of the demand of the highest ranked product cluster or brand." +], +"type": "string" +}, +"rank": { +"description": "Popularity of the brand on Ads and organic surfaces, in the selected category and country, based on the estimated number of units sold.", +"format": "int64", +"type": "string" +}, +"relativeDemand": { +"description": "Estimated demand in relation to the brand with the highest popularity rank in the same category and country.", +"enum": [ +"RELATIVE_DEMAND_ENUM_UNSPECIFIED", +"VERY_LOW", +"LOW", +"MEDIUM", +"HIGH", +"VERY_HIGH" +], +"enumDescriptions": [ +"Not specified.", +"Demand is 0-5% of the demand of the highest ranked product cluster or brand.", +"Demand is 6-10% of the demand of the highest ranked product cluster or brand.", +"Demand is 11-20% of the demand of the highest ranked product cluster or brand.", +"Demand is 21-50% of the demand of the highest ranked product cluster or brand.", +"Demand is 51-100% of the demand of the highest ranked product cluster or brand." +], +"type": "string" +}, +"relativeDemandChange": { +"description": "Change in the estimated demand. Whether it rose, sank or remained flat.", +"enum": [ +"RELATIVE_DEMAND_CHANGE_TYPE_ENUM_UNSPECIFIED", +"SINKER", +"FLAT", +"RISER" +], +"enumDescriptions": [ +"Not specified.", +"Relative demand is lower than the previous time period.", +"Relative demand is equal to the previous time period.", +"Relative demand is higher than the previous time period." +], +"type": "string" +}, +"reportCategoryId": { +"description": "Google product category ID to calculate the ranking for, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). Required in the `SELECT` clause. If a `WHERE` condition on `report_category_id` is not specified in the query, rankings for all top-level categories are returned.", +"format": "int64", +"type": "string" +}, +"reportCountryCode": { +"description": "Country where the ranking is calculated. Represented in the ISO 3166 format. Required in the `SELECT` clause. Condition on `report_country_code` is required in the `WHERE` clause.", +"type": "string" +}, +"reportDate": { +"$ref": "Date", +"description": "Report date. The value of this field can only be one of the following: * The first day of the week (Monday) for weekly reports, * The first day of the month for monthly reports. Required in the `SELECT` clause. If a `WHERE` condition on `report_date` is not specified in the query, the latest available weekly or monthly report is returned." +}, +"reportGranularity": { +"description": "Granularity of the report. The ranking can be done over a week or a month timeframe. Required in the `SELECT` clause. Condition on `report_granularity` is required in the `WHERE` clause.", +"enum": [ +"REPORT_GRANULARITY_ENUM_UNSPECIFIED", +"WEEKLY", +"MONTHLY" +], +"enumDescriptions": [ +"Not specified.", +"Report is computed over a week timeframe.", +"Report is computed over a month timeframe." +], +"type": "string" +} +}, +"type": "object" +}, +"BestSellersProductClusterView": { +"description": "Fields available for query in `best_sellers_product_cluster_view` table. [Best sellers](https://support.google.com/merchants/answer/9488679) report with top product clusters. A product cluster is a grouping for different offers and variants that represent the same product, for example, Google Pixel 7. Values are only set for fields requested explicitly in the request's search query.", +"id": "BestSellersProductClusterView", +"properties": { +"brand": { +"description": "Brand of the product cluster.", +"type": "string" +}, +"brandInventoryStatus": { +"description": "Whether there is at least one product of the brand currently `IN_STOCK` in your product data source in at least one of the countries, all products are `OUT_OF_STOCK` in your product data source in all countries, or `NOT_IN_INVENTORY`. The field doesn't take the Best sellers report country filter into account.", +"enum": [ +"INVENTORY_STATUS_UNSPECIFIED", +"IN_STOCK", +"OUT_OF_STOCK", +"NOT_IN_INVENTORY" +], +"enumDescriptions": [ +"Not specified.", +"You have a product for this product cluster or brand in stock.", +"You have a product for this product cluster or brand in inventory but it is currently out of stock.", +"You do not have a product for this product cluster or brand in inventory." +], +"type": "string" +}, +"categoryL1": { +"description": "Product category (1st level) of the product cluster, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", +"type": "string" +}, +"categoryL2": { +"description": "Product category (2nd level) of the product cluster, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", +"type": "string" +}, +"categoryL3": { +"description": "Product category (3rd level) of the product cluster, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", +"type": "string" +}, +"categoryL4": { +"description": "Product category (4th level) of the product cluster, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", +"type": "string" +}, +"categoryL5": { +"description": "Product category (5th level) of the product cluster, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", +"type": "string" +}, +"inventoryStatus": { +"description": "Whether the product cluster is `IN_STOCK` in your product data source in at least one of the countries, `OUT_OF_STOCK` in your product data source in all countries, or `NOT_IN_INVENTORY` at all. The field doesn't take the Best sellers report country filter into account.", +"enum": [ +"INVENTORY_STATUS_UNSPECIFIED", +"IN_STOCK", +"OUT_OF_STOCK", +"NOT_IN_INVENTORY" +], +"enumDescriptions": [ +"Not specified.", +"You have a product for this product cluster or brand in stock.", +"You have a product for this product cluster or brand in inventory but it is currently out of stock.", +"You do not have a product for this product cluster or brand in inventory." +], +"type": "string" +}, +"previousRank": { +"description": "Popularity rank in the previous week or month.", +"format": "int64", +"type": "string" +}, +"previousRelativeDemand": { +"description": "Estimated demand in relation to the product cluster with the highest popularity rank in the same category and country in the previous week or month.", +"enum": [ +"RELATIVE_DEMAND_ENUM_UNSPECIFIED", +"VERY_LOW", +"LOW", +"MEDIUM", +"HIGH", +"VERY_HIGH" +], +"enumDescriptions": [ +"Not specified.", +"Demand is 0-5% of the demand of the highest ranked product cluster or brand.", +"Demand is 6-10% of the demand of the highest ranked product cluster or brand.", +"Demand is 11-20% of the demand of the highest ranked product cluster or brand.", +"Demand is 21-50% of the demand of the highest ranked product cluster or brand.", +"Demand is 51-100% of the demand of the highest ranked product cluster or brand." +], +"type": "string" +}, +"rank": { +"description": "Popularity of the product cluster on Ads and organic surfaces, in the selected category and country, based on the estimated number of units sold.", +"format": "int64", +"type": "string" +}, +"relativeDemand": { +"description": "Estimated demand in relation to the product cluster with the highest popularity rank in the same category and country.", +"enum": [ +"RELATIVE_DEMAND_ENUM_UNSPECIFIED", +"VERY_LOW", +"LOW", +"MEDIUM", +"HIGH", +"VERY_HIGH" +], +"enumDescriptions": [ +"Not specified.", +"Demand is 0-5% of the demand of the highest ranked product cluster or brand.", +"Demand is 6-10% of the demand of the highest ranked product cluster or brand.", +"Demand is 11-20% of the demand of the highest ranked product cluster or brand.", +"Demand is 21-50% of the demand of the highest ranked product cluster or brand.", +"Demand is 51-100% of the demand of the highest ranked product cluster or brand." +], +"type": "string" +}, +"relativeDemandChange": { +"description": "Change in the estimated demand. Whether it rose, sank or remained flat.", +"enum": [ +"RELATIVE_DEMAND_CHANGE_TYPE_ENUM_UNSPECIFIED", +"SINKER", +"FLAT", +"RISER" +], +"enumDescriptions": [ +"Not specified.", +"Relative demand is lower than the previous time period.", +"Relative demand is equal to the previous time period.", +"Relative demand is higher than the previous time period." +], +"type": "string" +}, +"reportCategoryId": { +"description": "Google product category ID to calculate the ranking for, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). Required in the `SELECT` clause. If a `WHERE` condition on `report_category_id` is not specified in the query, rankings for all top-level categories are returned.", +"format": "int64", +"type": "string" +}, +"reportCountryCode": { +"description": "Country where the ranking is calculated. Represented in the ISO 3166 format. Required in the `SELECT` clause. Condition on `report_country_code` is required in the `WHERE` clause.", +"type": "string" +}, +"reportDate": { +"$ref": "Date", +"description": "Report date. The value of this field can only be one of the following: * The first day of the week (Monday) for weekly reports, * The first day of the month for monthly reports. Required in the `SELECT` clause. If a `WHERE` condition on `report_date` is not specified in the query, the latest available weekly or monthly report is returned." +}, +"reportGranularity": { +"description": "Granularity of the report. The ranking can be done over a week or a month timeframe. Required in the `SELECT` clause. Condition on `report_granularity` is required in the `WHERE` clause.", +"enum": [ +"REPORT_GRANULARITY_ENUM_UNSPECIFIED", +"WEEKLY", +"MONTHLY" +], +"enumDescriptions": [ +"Not specified.", +"Report is computed over a week timeframe.", +"Report is computed over a month timeframe." +], +"type": "string" +}, +"title": { +"description": "Title of the product cluster.", +"type": "string" +}, +"variantGtins": { +"description": "GTINs of example variants of the product cluster.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"CompetitiveVisibilityBenchmarkView": { +"description": "Fields available for query in `competitive_visibility_benchmark_view` table. [Competitive visibility](https://support.google.com/merchants/answer/11366442) report with the category benchmark. Values are only set for fields requested explicitly in the request's search query.", +"id": "CompetitiveVisibilityBenchmarkView", +"properties": { +"categoryBenchmarkVisibilityTrend": { +"description": "Change in visibility based on impressions with respect to the start of the selected time range (or first day with non-zero impressions) for a combined set of merchants with highest visibility approximating the market. Cannot be filtered on in the 'WHERE' clause.", +"format": "double", +"type": "number" +}, +"date": { +"$ref": "Date", +"description": "Date of this row. Required in the `SELECT` clause. A condition on `date` is required in the `WHERE` clause." +}, +"reportCategoryId": { +"description": "Google product category ID to calculate the report for, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). Required in the `SELECT` clause. A condition on `report_category_id` is required in the `WHERE` clause.", +"format": "int64", +"type": "string" +}, +"reportCountryCode": { +"description": "Country where impressions appeared. Required in the `SELECT` clause. A condition on `report_country_code` is required in the `WHERE` clause.", +"type": "string" +}, +"trafficSource": { +"description": "Traffic source of impressions. Required in the `SELECT` clause.", +"enum": [ +"TRAFFIC_SOURCE_ENUM_UNSPECIFIED", +"ORGANIC", +"ADS", +"ALL" +], +"enumDescriptions": [ +"Not specified.", +"Organic traffic.", +"Traffic from ads.", +"Organic and ads traffic." +], +"type": "string" +}, +"yourDomainVisibilityTrend": { +"description": "Change in visibility based on impressions for your domain with respect to the start of the selected time range (or first day with non-zero impressions). Cannot be filtered on in the 'WHERE' clause.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"CompetitiveVisibilityCompetitorView": { +"description": "Fields available for query in `competitive_visibility_competitor_view` table. [Competitive visibility](https://support.google.com/merchants/answer/11366442) report with businesses with similar visibility. Values are only set for fields requested explicitly in the request's search query.", +"id": "CompetitiveVisibilityCompetitorView", +"properties": { +"adsOrganicRatio": { +"description": "[Ads / organic ratio] (https://support.google.com/merchants/answer/11366442#zippy=%2Cads-free-ratio) shows how often the domain receives impressions from Shopping ads compared to organic traffic. The number is rounded and bucketed. Cannot be filtered on in the 'WHERE' clause.", +"format": "double", +"type": "number" +}, +"date": { +"$ref": "Date", +"description": "Date of this row. A condition on `date` is required in the `WHERE` clause." +}, +"domain": { +"description": "Domain of your competitor or your domain, if 'is_your_domain' is true. Required in the `SELECT` clause. Cannot be filtered on in the 'WHERE' clause.", +"type": "string" +}, +"higherPositionRate": { +"description": "[Higher position rate] (https://support.google.com/merchants/answer/11366442#zippy=%2Chigher-position-rate) shows how often a competitor\u2019s offer got placed in a higher position on the page than your offer. Cannot be filtered on in the 'WHERE' clause.", +"format": "double", +"type": "number" +}, +"isYourDomain": { +"description": "True if this row contains data for your domain. Cannot be filtered on in the 'WHERE' clause.", +"type": "boolean" +}, +"pageOverlapRate": { +"description": "[Page overlap rate] (https://support.google.com/merchants/answer/11366442#zippy=%2Cpage-overlap-rate) shows how frequently competing retailers\u2019 offers are shown together with your offers on the same page. Cannot be filtered on in the 'WHERE' clause.", +"format": "double", +"type": "number" +}, +"rank": { +"description": "Position of the domain in the similar businesses ranking for the selected keys (`date`, `report_category_id`, `report_country_code`, `traffic_source`) based on impressions. 1 is the highest. Cannot be filtered on in the 'WHERE' clause.", +"format": "int64", +"type": "string" +}, +"relativeVisibility": { +"description": "[Relative visibility] (https://support.google.com/merchants/answer/11366442#zippy=%2Crelative-visibility) shows how often your competitors\u2019 offers are shown compared to your offers. In other words, this is the number of displayed impressions of a competitor retailer divided by the number of your displayed impressions during a selected time range for a selected product category and country. Cannot be filtered on in the 'WHERE' clause.", +"format": "double", +"type": "number" +}, +"reportCategoryId": { +"description": "Google product category ID to calculate the report for, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). Required in the `SELECT` clause. A condition on `report_category_id` is required in the `WHERE` clause.", +"format": "int64", +"type": "string" +}, +"reportCountryCode": { +"description": "Country where impressions appeared. Required in the `SELECT` clause. A condition on `report_country_code` is required in the `WHERE` clause.", +"type": "string" +}, +"trafficSource": { +"description": "Traffic source of impressions. Required in the `SELECT` clause.", +"enum": [ +"TRAFFIC_SOURCE_ENUM_UNSPECIFIED", +"ORGANIC", +"ADS", +"ALL" +], +"enumDescriptions": [ +"Not specified.", +"Organic traffic.", +"Traffic from ads.", +"Organic and ads traffic." +], +"type": "string" +} +}, +"type": "object" +}, +"CompetitiveVisibilityTopMerchantView": { +"description": "Fields available for query in `competitive_visibility_top_merchant_view` table. [Competitive visibility](https://support.google.com/merchants/answer/11366442) report with business with highest visibility. Values are only set for fields requested explicitly in the request's search query.", +"id": "CompetitiveVisibilityTopMerchantView", +"properties": { +"adsOrganicRatio": { +"description": "[Ads / organic ratio] (https://support.google.com/merchants/answer/11366442#zippy=%2Cads-free-ratio) shows how often the domain receives impressions from Shopping ads compared to organic traffic. The number is rounded and bucketed. Cannot be filtered on in the 'WHERE' clause.", +"format": "double", +"type": "number" +}, +"date": { +"$ref": "Date", +"description": "Date of this row. Cannot be selected in the `SELECT` clause. A condition on `date` is required in the `WHERE` clause." +}, +"domain": { +"description": "Domain of your competitor or your domain, if 'is_your_domain' is true. Required in the `SELECT` clause. Cannot be filtered on in the 'WHERE' clause.", +"type": "string" +}, +"higherPositionRate": { +"description": "[Higher position rate] (https://support.google.com/merchants/answer/11366442#zippy=%2Chigher-position-rate) shows how often a competitor\u2019s offer got placed in a higher position on the page than your offer. Cannot be filtered on in the 'WHERE' clause.", +"format": "double", +"type": "number" +}, +"isYourDomain": { +"description": "True if this row contains data for your domain. Cannot be filtered on in the 'WHERE' clause.", +"type": "boolean" +}, +"pageOverlapRate": { +"description": "[Page overlap rate] (https://support.google.com/merchants/answer/11366442#zippy=%2Cpage-overlap-rate) shows how frequently competing retailers\u2019 offers are shown together with your offers on the same page. Cannot be filtered on in the 'WHERE' clause.", +"format": "double", +"type": "number" +}, +"rank": { +"description": "Position of the domain in the top merchants ranking for the selected keys (`date`, `report_category_id`, `report_country_code`, `traffic_source`) based on impressions. 1 is the highest. Cannot be filtered on in the 'WHERE' clause.", +"format": "int64", +"type": "string" +}, +"reportCategoryId": { +"description": "Google product category ID to calculate the report for, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). Required in the `SELECT` clause. A condition on `report_category_id` is required in the `WHERE` clause.", +"format": "int64", +"type": "string" +}, +"reportCountryCode": { +"description": "Country where impressions appeared. Required in the `SELECT` clause. A condition on `report_country_code` is required in the `WHERE` clause.", +"type": "string" +}, +"trafficSource": { +"description": "Traffic source of impressions. Required in the `SELECT` clause.", +"enum": [ +"TRAFFIC_SOURCE_ENUM_UNSPECIFIED", +"ORGANIC", +"ADS", +"ALL" +], +"enumDescriptions": [ +"Not specified.", +"Organic traffic.", +"Traffic from ads.", +"Organic and ads traffic." +], +"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" +}, +"IssueSeverityPerReportingContext": { +"description": "Issue severity per reporting context.", +"id": "IssueSeverityPerReportingContext", +"properties": { +"demotedCountries": { +"description": "List of demoted countries in the reporting context, represented in ISO 3166 format.", +"items": { +"type": "string" +}, +"type": "array" +}, +"disapprovedCountries": { +"description": "List of disapproved countries in the reporting context, represented in ISO 3166 format.", +"items": { +"type": "string" +}, +"type": "array" +}, +"reportingContext": { +"description": "Reporting context 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](" +], +"type": "string" +} +}, +"type": "object" +}, +"ItemIssue": { +"description": "Item issue associated with the product.", +"id": "ItemIssue", +"properties": { +"resolution": { +"description": "Item issue resolution.", +"enum": [ +"ITEM_ISSUE_RESOLUTION_UNSPECIFIED", +"MERCHANT_ACTION", +"PENDING_PROCESSING" +], +"enumDescriptions": [ +"Not specified.", +"The merchant has to fix the issue.", +"The issue will be resolved automatically (for example, image crawl) or through a Google review. No merchant action is required now. Resolution might lead to another issue (for example, if crawl fails)." +], +"type": "string" +}, +"severity": { +"$ref": "ItemIssueSeverity", +"description": "Item issue severity." +}, +"type": { +"$ref": "ItemIssueType", +"description": "Item issue type." +} +}, +"type": "object" +}, +"ItemIssueSeverity": { +"description": "How the issue affects the serving of the product.", +"id": "ItemIssueSeverity", +"properties": { +"aggregatedSeverity": { +"description": "Aggregated severity of the issue for all reporting contexts it affects. **This field can be used for filtering the results.**", +"enum": [ +"AGGREGATED_ISSUE_SEVERITY_UNSPECIFIED", +"DISAPPROVED", +"DEMOTED", +"PENDING" +], +"enumDescriptions": [ +"Not specified.", +"Issue disapproves the product in at least one reporting context.", +"Issue demotes the product in all reporting contexts it affects.", +"Issue resolution is `PENDING_PROCESSING`." +], +"type": "string" +}, +"severityPerReportingContext": { +"description": "Issue severity per reporting context.", +"items": { +"$ref": "IssueSeverityPerReportingContext" +}, +"type": "array" +} +}, +"type": "object" +}, +"ItemIssueType": { +"description": "Issue type.", +"id": "ItemIssueType", +"properties": { +"canonicalAttribute": { +"description": "Canonical attribute name for attribute-specific issues.", +"type": "string" +}, +"code": { +"description": "Error code of the issue, equivalent to the `code` of [Product issues](https://developers.google.com/shopping-content/guides/product-issues).", +"type": "string" +} +}, +"type": "object" +}, +"NonProductPerformanceView": { +"description": "Fields available for query in `non_product_performance_view` table. Performance data on images and online store links leading to your non-product pages. This includes performance metrics (for example, `clicks`) and dimensions according to which performance metrics are segmented (for example, `date`). Segment fields cannot be selected in queries without also selecting at least one metric field. Values are only set for fields requested explicitly in the request's search query.", +"id": "NonProductPerformanceView", +"properties": { +"clickThroughRate": { +"description": "Click-through rate - the number of clicks (`clicks`) divided by the number of impressions (`impressions`) of images and online store links leading to your non-product pages. Metric.", +"format": "double", +"type": "number" +}, +"clicks": { +"description": "Number of clicks on images and online store links leading to your non-product pages. Metric.", +"format": "int64", +"type": "string" +}, +"date": { +"$ref": "Date", +"description": "Date in the merchant timezone to which metrics apply. Segment. Condition on `date` is required in the `WHERE` clause." +}, +"impressions": { +"description": "Number of times images and online store links leading to your non-product pages were shown. Metric.", +"format": "int64", +"type": "string" +}, +"week": { +"$ref": "Date", +"description": "First day of the week (Monday) of the metrics date in the merchant timezone. Segment." +} +}, +"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" +}, +"PriceCompetitivenessProductView": { +"description": "Fields available for query in `price_competitiveness_product_view` table. [Price competitiveness](https://support.google.com/merchants/answer/9626903) report. Values are only set for fields requested explicitly in the request's search query.", +"id": "PriceCompetitivenessProductView", +"properties": { +"benchmarkPrice": { +"$ref": "Price", +"description": "Latest available price benchmark for the product's catalog in the benchmark country." +}, +"brand": { +"description": "Brand of the product.", +"type": "string" +}, +"categoryL1": { +"description": "Product category (1st level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", +"type": "string" +}, +"categoryL2": { +"description": "Product category (2nd level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", +"type": "string" +}, +"categoryL3": { +"description": "Product category (3rd level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", +"type": "string" +}, +"categoryL4": { +"description": "Product category (4th level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", +"type": "string" +}, +"categoryL5": { +"description": "Product category (5th level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", +"type": "string" +}, +"id": { +"description": "REST ID of the product, in the form of `channel~languageCode~feedLabel~offerId`. Can be used to join data with the `product_view` table. Required in the `SELECT` clause.", +"type": "string" +}, +"offerId": { +"description": "Merchant-provided id of the product.", +"type": "string" +}, +"price": { +"$ref": "Price", +"description": "Current price of the product." +}, +"productTypeL1": { +"description": "Product type (1st level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).", +"type": "string" +}, +"productTypeL2": { +"description": "Product type (2nd level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).", +"type": "string" +}, +"productTypeL3": { +"description": "Product type (3rd level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).", +"type": "string" +}, +"productTypeL4": { +"description": "Product type (4th level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).", +"type": "string" +}, +"productTypeL5": { +"description": "Product type (5th level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).", +"type": "string" +}, +"reportCountryCode": { +"description": "Country of the price benchmark. Represented in the ISO 3166 format. Required in the `SELECT` clause.", +"type": "string" +}, +"title": { +"description": "Title of the product.", +"type": "string" +} +}, +"type": "object" +}, +"PriceInsightsProductView": { +"description": "Fields available for query in `price_insights_product_view` table. [Price insights](https://support.google.com/merchants/answer/11916926) report. Values are only set for fields requested explicitly in the request's search query.", +"id": "PriceInsightsProductView", +"properties": { +"brand": { +"description": "Brand of the product.", +"type": "string" +}, +"categoryL1": { +"description": "Product category (1st level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", +"type": "string" +}, +"categoryL2": { +"description": "Product category (2nd level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", +"type": "string" +}, +"categoryL3": { +"description": "Product category (3rd level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", +"type": "string" +}, +"categoryL4": { +"description": "Product category (4th level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", +"type": "string" +}, +"categoryL5": { +"description": "Product category (5th level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", +"type": "string" +}, +"effectiveness": { +"description": "The predicted effectiveness of applying the price suggestion, bucketed.", +"enum": [ +"EFFECTIVENESS_UNSPECIFIED", +"LOW", +"MEDIUM", +"HIGH" +], +"enumDescriptions": [ +"Effectiveness is unknown.", +"Effectiveness is low.", +"Effectiveness is medium.", +"Effectiveness is high." +], +"type": "string" +}, +"id": { +"description": "REST ID of the product, in the form of `channel~languageCode~feedLabel~offerId`. Can be used to join data with the `product_view` table. Required in the `SELECT` clause.", +"type": "string" +}, +"offerId": { +"description": "Merchant-provided id of the product.", +"type": "string" +}, +"predictedClicksChangeFraction": { +"description": "Predicted change in clicks as a fraction after introducing the suggested price compared to current active price. For example, 0.05 is a 5% predicted increase in clicks.", +"format": "double", +"type": "number" +}, +"predictedConversionsChangeFraction": { +"description": "Predicted change in conversions as a fraction after introducing the suggested price compared to current active price. For example, 0.05 is a 5% predicted increase in conversions).", +"format": "double", +"type": "number" +}, +"predictedImpressionsChangeFraction": { +"description": "Predicted change in impressions as a fraction after introducing the suggested price compared to current active price. For example, 0.05 is a 5% predicted increase in impressions.", +"format": "double", +"type": "number" +}, +"price": { +"$ref": "Price", +"description": "Current price of the product." +}, +"productTypeL1": { +"description": "Product type (1st level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).", +"type": "string" +}, +"productTypeL2": { +"description": "Product type (2nd level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).", +"type": "string" +}, +"productTypeL3": { +"description": "Product type (3rd level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).", +"type": "string" +}, +"productTypeL4": { +"description": "Product type (4th level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).", +"type": "string" +}, +"productTypeL5": { +"description": "Product type (5th level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).", +"type": "string" +}, +"suggestedPrice": { +"$ref": "Price", +"description": "Latest suggested price for the product." +}, +"title": { +"description": "Title of the product.", +"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" +}, +"ProductPerformanceView": { +"description": "Fields available for query in `product_performance_view` table. Product performance data for your account, including performance metrics (for example, `clicks`) and dimensions according to which performance metrics are segmented (for example, `offer_id`). Values of product dimensions, such as `offer_id`, reflect the state of a product at the time of the impression. Segment fields cannot be selected in queries without also selecting at least one metric field. Values are only set for fields requested explicitly in the request's search query.", +"id": "ProductPerformanceView", +"properties": { +"brand": { +"description": "Brand of the product. Segment.", +"type": "string" +}, +"categoryL1": { +"description": "[Product category (1st level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in Google's product taxonomy. Segment.", +"type": "string" +}, +"categoryL2": { +"description": "[Product category (2nd level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in Google's product taxonomy. Segment.", +"type": "string" +}, +"categoryL3": { +"description": "[Product category (3rd level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in Google's product taxonomy. Segment.", +"type": "string" +}, +"categoryL4": { +"description": "[Product category (4th level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in Google's product taxonomy. Segment.", +"type": "string" +}, +"categoryL5": { +"description": "[Product category (5th level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in Google's product taxonomy. Segment.", +"type": "string" +}, +"clickThroughRate": { +"description": "Click-through rate - the number of clicks merchant's products receive (clicks) divided by the number of times the products are shown (impressions). Metric.", +"format": "double", +"type": "number" +}, +"clicks": { +"description": "Number of clicks. Metric.", +"format": "int64", +"type": "string" +}, +"conversionRate": { +"description": "Number of conversions divided by the number of clicks, reported on the impression date. Metric. Available only for the `FREE` traffic source.", +"format": "double", +"type": "number" +}, +"conversionValue": { +"$ref": "Price", +"description": "Value of conversions attributed to the product, reported on the conversion date. Metric. Available only for the `FREE` traffic source." +}, +"conversions": { +"description": "Number of conversions attributed to the product, reported on the conversion date. Depending on the attribution model, a conversion might be distributed across multiple clicks, where each click gets its own credit assigned. This metric is a sum of all such credits. Metric. Available only for the `FREE` traffic source.", +"format": "double", +"type": "number" +}, +"customLabel0": { +"description": "Custom label 0 for custom grouping of products. Segment.", +"type": "string" +}, +"customLabel1": { +"description": "Custom label 1 for custom grouping of products. Segment.", +"type": "string" +}, +"customLabel2": { +"description": "Custom label 2 for custom grouping of products. Segment.", +"type": "string" +}, +"customLabel3": { +"description": "Custom label 3 for custom grouping of products. Segment.", +"type": "string" +}, +"customLabel4": { +"description": "Custom label 4 for custom grouping of products. Segment.", +"type": "string" +}, +"customerCountryCode": { +"description": "Code of the country where the customer is located at the time of the event. Represented in the ISO 3166 format. Segment. If the customer country cannot be determined, a special 'ZZ' code is returned.", +"type": "string" +}, +"date": { +"$ref": "Date", +"description": "Date in the merchant timezone to which metrics apply. Segment. Condition on `date` is required in the `WHERE` clause." +}, +"impressions": { +"description": "Number of times merchant's products are shown. Metric.", +"format": "int64", +"type": "string" +}, +"marketingMethod": { +"description": "Marketing method to which metrics apply. Segment.", +"enum": [ +"MARKETING_METHOD_ENUM_UNSPECIFIED", +"ORGANIC", +"ADS" +], +"enumDescriptions": [ +"Not specified.", +"Organic marketing.", +"Ads-based marketing." +], +"type": "string" +}, +"offerId": { +"description": "Merchant-provided id of the product. Segment.", +"type": "string" +}, +"productTypeL1": { +"description": "[Product type (1st level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in merchant's own product taxonomy. Segment.", +"type": "string" +}, +"productTypeL2": { +"description": "[Product type (2nd level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in merchant's own product taxonomy. Segment.", +"type": "string" +}, +"productTypeL3": { +"description": "[Product type (3rd level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in merchant's own product taxonomy. Segment.", +"type": "string" +}, +"productTypeL4": { +"description": "[Product type (4th level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in merchant's own product taxonomy. Segment.", +"type": "string" +}, +"productTypeL5": { +"description": "[Product type (5th level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in merchant's own product taxonomy. Segment.", +"type": "string" +}, +"title": { +"description": "Title of the product. Segment.", +"type": "string" +}, +"week": { +"$ref": "Date", +"description": "First day of the week (Monday) of the metrics date in the merchant timezone. Segment." +} +}, +"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" +}, +"ProductView": { +"description": "Fields available for query in `product_view` table. Products in the current inventory. Products in this table are the same as in Products sub-API but not all product attributes from Products sub-API are available for query in this table. In contrast to Products sub-API, this table allows to filter the returned list of products by product attributes. To retrieve a single product by `id` or list all products, Products sub-API should be used. Values are only set for fields requested explicitly in the request's search query. ", +"id": "ProductView", +"properties": { +"aggregatedReportingContextStatus": { +"description": "Aggregated status.", +"enum": [ +"AGGREGATED_REPORTING_CONTEXT_STATUS_UNSPECIFIED", +"NOT_ELIGIBLE_OR_DISAPPROVED", +"PENDING", +"ELIGIBLE_LIMITED", +"ELIGIBLE" +], +"enumDescriptions": [ +"Not specified.", +"Product is not eligible or is disapproved for all reporting contexts.", +"Product's status is pending in all reporting contexts.", +"Product is eligible for some (but not all) reporting contexts.", +"Product is eligible for all reporting contexts." +], +"type": "string" +}, +"availability": { +"description": "[Availability](https://support.google.com/merchants/answer/6324448) of the product.", +"type": "string" +}, +"brand": { +"description": "Brand of the product.", +"type": "string" +}, +"categoryL1": { +"description": "Product category (1st level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", +"type": "string" +}, +"categoryL2": { +"description": "Product category (2nd level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", +"type": "string" +}, +"categoryL3": { +"description": "Product category (3rd level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", +"type": "string" +}, +"categoryL4": { +"description": "Product category (4th level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", +"type": "string" +}, +"categoryL5": { +"description": "Product category (5th level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", +"type": "string" +}, +"channel": { +"description": "Channel of the product. Can be `ONLINE` or `LOCAL`.", +"enum": [ +"CHANNEL_ENUM_UNSPECIFIED", +"ONLINE", +"LOCAL" +], +"enumDescriptions": [ +"Not specified.", +"Online product.", +"Local product." +], +"type": "string" +}, +"clickPotential": { +"description": "Estimated performance potential compared to highest performing products of the merchant.", +"enum": [ +"CLICK_POTENTIAL_UNSPECIFIED", +"LOW", +"MEDIUM", +"HIGH" +], +"enumDescriptions": [ +"Unknown predicted clicks impact.", +"Potential to receive a low number of clicks compared to the highest performing products of the merchant.", +"Potential to receive a moderate number of clicks compared to the highest performing products of the merchant.", +"Potential to receive a similar number of clicks as the highest performing products of the merchant." +], +"type": "string" +}, +"clickPotentialRank": { +"description": "Rank of the product based on its click potential. A product with `click_potential_rank` 1 has the highest click potential among the merchant's products that fulfill the search query conditions.", +"format": "int64", +"type": "string" +}, +"condition": { +"description": "[Condition](https://support.google.com/merchants/answer/6324469) of the product.", +"type": "string" +}, +"creationTime": { +"description": "The time the merchant created the product in timestamp seconds.", +"format": "google-datetime", +"type": "string" +}, +"expirationDate": { +"$ref": "Date", +"description": "Expiration date for the product, specified on insertion." +}, +"feedLabel": { +"description": "Feed label of the product.", +"type": "string" +}, +"gtin": { +"description": "List of Global Trade Item Numbers (GTINs) of the product.", +"items": { +"type": "string" +}, +"type": "array" +}, +"id": { +"description": "REST ID of the product, in the form of `channel~languageCode~feedLabel~offerId`. Merchant API methods that operate on products take this as their `name` parameter. Required in the `SELECT` clause.", +"type": "string" +}, +"itemGroupId": { +"description": "Item group id provided by the merchant for grouping variants together.", +"type": "string" +}, +"itemIssues": { +"description": "List of item issues for the product. **This field cannot be used for sorting the results.** **Only selected attributes of this field (for example, `item_issues.severity.aggregated_severity`) can be used for filtering the results.**", +"items": { +"$ref": "ItemIssue" +}, +"type": "array" +}, +"languageCode": { +"description": "Language code of the product in BCP 47 format.", +"type": "string" +}, +"offerId": { +"description": "Merchant-provided id of the product.", +"type": "string" +}, +"price": { +"$ref": "Price", +"description": "Product price. Absent if the information about the price of the product is not available." +}, +"productTypeL1": { +"description": "Product type (1st level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).", +"type": "string" +}, +"productTypeL2": { +"description": "Product type (2nd level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).", +"type": "string" +}, +"productTypeL3": { +"description": "Product type (3rd level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).", +"type": "string" +}, +"productTypeL4": { +"description": "Product type (4th level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).", +"type": "string" +}, +"productTypeL5": { +"description": "Product type (5th level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).", +"type": "string" +}, +"shippingLabel": { +"description": "Normalized [shipping label](https://support.google.com/merchants/answer/6324504) specified in the data source.", +"type": "string" +}, +"thumbnailLink": { +"description": "Link to the processed image of the product, hosted on the Google infrastructure.", +"type": "string" +}, +"title": { +"description": "Title of the product.", +"type": "string" +} +}, +"type": "object" +}, +"ReportRow": { +"description": "Result row returned from the search query. Only the message corresponding to the queried table is populated in the response. Within the populated message, only the fields requested explicitly in the query are populated.", +"id": "ReportRow", +"properties": { +"bestSellersBrandView": { +"$ref": "BestSellersBrandView", +"description": "Fields available for query in `best_sellers_brand_view` table." +}, +"bestSellersProductClusterView": { +"$ref": "BestSellersProductClusterView", +"description": "Fields available for query in `best_sellers_product_cluster_view` table." +}, +"competitiveVisibilityBenchmarkView": { +"$ref": "CompetitiveVisibilityBenchmarkView", +"description": "Fields available for query in `competitive_visibility_benchmark_view` table." +}, +"competitiveVisibilityCompetitorView": { +"$ref": "CompetitiveVisibilityCompetitorView", +"description": "Fields available for query in `competitive_visibility_competitor_view` table." +}, +"competitiveVisibilityTopMerchantView": { +"$ref": "CompetitiveVisibilityTopMerchantView", +"description": "Fields available for query in `competitive_visibility_top_merchant_view` table." +}, +"nonProductPerformanceView": { +"$ref": "NonProductPerformanceView", +"description": "Fields available for query in `non_product_performance_view` table." +}, +"priceCompetitivenessProductView": { +"$ref": "PriceCompetitivenessProductView", +"description": "Fields available for query in `price_competitiveness_product_view` table." +}, +"priceInsightsProductView": { +"$ref": "PriceInsightsProductView", +"description": "Fields available for query in `price_insights_product_view` table." +}, +"productPerformanceView": { +"$ref": "ProductPerformanceView", +"description": "Fields available for query in `product_performance_view` table." +}, +"productView": { +"$ref": "ProductView", +"description": "Fields available for query in `product_view` table." +} +}, +"type": "object" +}, +"SearchRequest": { +"description": "Request message for the `ReportService.Search` method.", +"id": "SearchRequest", +"properties": { +"pageSize": { +"description": "Optional. Number of `ReportRows` to retrieve in a single page. Defaults to 1000. Values above 5000 are coerced to 5000.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Token of the page to retrieve. If not specified, the first page of results is returned. In order to request the next page of results, the value obtained from `next_page_token` in the previous response should be used.", +"type": "string" +}, +"query": { +"description": "Required. Query that defines a report to be retrieved. For details on how to construct your query, see the Query Language guide. For the full list of available tables and fields, see the Available fields.", +"type": "string" +} +}, +"type": "object" +}, +"SearchResponse": { +"description": "Response message for the `ReportService.Search` method.", +"id": "SearchResponse", +"properties": { +"nextPageToken": { +"description": "Token which can be sent as `page_token` to retrieve the next page. If omitted, there are no subsequent pages.", +"type": "string" +}, +"results": { +"description": "Rows that matched the search query.", +"items": { +"$ref": "ReportRow" +}, +"type": "array" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Merchant API", +"version": "reports_v1beta", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/metastore.v1alpha.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/metastore.v1alpha.json new file mode 100644 index 0000000000000000000000000000000000000000..c4016685b9647b404313112b86d426a420e83f4b --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/metastore.v1alpha.json @@ -0,0 +1,3819 @@ +{ +"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:v1alpha", +"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": "v1alpha/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": "v1alpha/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v1alpha/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": "v1alpha/{+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": "v1alpha/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": "v1alpha/{+parent}/federations", +"request": { +"$ref": "Federation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single federation.", +"flatPath": "v1alpha/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": "v1alpha/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the details of a single federation.", +"flatPath": "v1alpha/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": "v1alpha/{+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": "v1alpha/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": "v1alpha/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists federations in a project and location.", +"flatPath": "v1alpha/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": "v1alpha/{+parent}/federations", +"response": { +"$ref": "ListFederationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the fields of a federation.", +"flatPath": "v1alpha/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": "v1alpha/{+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": "v1alpha/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": "v1alpha/{+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": "v1alpha/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": "v1alpha/{+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": "v1alpha/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": "v1alpha/{+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": "v1alpha/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": "v1alpha/{+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": "v1alpha/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": "v1alpha/{+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": "v1alpha/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": "v1alpha/{+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": "v1alpha/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": "v1alpha/{+service}:alterLocation", +"request": { +"$ref": "AlterMetadataResourceLocationRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"alterTableProperties": { +"description": "Alter metadata table properties.", +"flatPath": "v1alpha/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": "v1alpha/{+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": "v1alpha/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": "v1alpha/{+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": "v1alpha/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": "v1alpha/{+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": "v1alpha/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": "v1alpha/{+parent}/services", +"request": { +"$ref": "Service" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single service.", +"flatPath": "v1alpha/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": "v1alpha/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"exportMetadata": { +"description": "Exports metadata from a service.", +"flatPath": "v1alpha/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": "v1alpha/{+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": "v1alpha/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": "v1alpha/{+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": "v1alpha/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": "v1alpha/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists services in a project and location.", +"flatPath": "v1alpha/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": "v1alpha/{+parent}/services", +"response": { +"$ref": "ListServicesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"moveTableToDatabase": { +"description": "Move a table to another database.", +"flatPath": "v1alpha/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": "v1alpha/{+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": "v1alpha/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": "v1alpha/{+name}", +"request": { +"$ref": "Service" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"queryMetadata": { +"description": "Query Dataproc Metastore metadata.", +"flatPath": "v1alpha/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": "v1alpha/{+service}:queryMetadata", +"request": { +"$ref": "QueryMetadataRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"removeIamPolicy": { +"description": "Removes the attached IAM policies for a resource", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/{servicesId1}:removeIamPolicy", +"httpMethod": "POST", +"id": "metastore.projects.locations.services.removeIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "Required. The relative resource name of the dataplane resource to remove IAM policy, in the following form:projects/{project_id}/locations/{location_id}/services/{service_id}/databases/{database_id} or projects/{project_id}/locations/{location_id}/services/{service_id}/databases/{database_id}/tables/{table_id}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+resource}:removeIamPolicy", +"request": { +"$ref": "RemoveIamPolicyRequest" +}, +"response": { +"$ref": "RemoveIamPolicyResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"restore": { +"description": "Restores a service from a backup.", +"flatPath": "v1alpha/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": "v1alpha/{+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": "v1alpha/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": "v1alpha/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"startMigration": { +"description": "Starts the Managed Migration process.", +"flatPath": "v1alpha/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": "v1alpha/{+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": "v1alpha/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": "v1alpha/{+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": "v1alpha/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": "v1alpha/{+parent}/backups", +"request": { +"$ref": "Backup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single backup.", +"flatPath": "v1alpha/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": "v1alpha/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single backup.", +"flatPath": "v1alpha/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": "v1alpha/{+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": "v1alpha/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": "v1alpha/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists backups in a service.", +"flatPath": "v1alpha/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": "v1alpha/{+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": "v1alpha/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": "v1alpha/{+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": "v1alpha/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/backups/{backupsId}:testIamPermissions", +"httpMethod": "POST", +"id": "metastore.projects.locations.services.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/[^/]+/locations/[^/]+/services/[^/]+/backups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"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": "v1alpha/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": "v1alpha/{+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": "v1alpha/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": "v1alpha/{+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": "v1alpha/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/databases/{databasesId}:testIamPermissions", +"httpMethod": "POST", +"id": "metastore.projects.locations.services.databases.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/[^/]+/databases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"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": "v1alpha/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": "v1alpha/{+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": "v1alpha/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": "v1alpha/{+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": "v1alpha/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/databases/{databasesId}/tables/{tablesId}:testIamPermissions", +"httpMethod": "POST", +"id": "metastore.projects.locations.services.databases.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/[^/]+/locations/[^/]+/services/[^/]+/databases/[^/]+/tables/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"metadataImports": { +"methods": { +"create": { +"description": "Creates a new MetadataImport in a given project and location.", +"flatPath": "v1alpha/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": "v1alpha/{+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": "v1alpha/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": "v1alpha/{+name}", +"response": { +"$ref": "MetadataImport" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists imports in a service.", +"flatPath": "v1alpha/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": "v1alpha/{+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": "v1alpha/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": "v1alpha/{+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": "v1alpha/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": "v1alpha/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single migration execution.", +"flatPath": "v1alpha/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": "v1alpha/{+name}", +"response": { +"$ref": "MigrationExecution" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists migration executions on a service.", +"flatPath": "v1alpha/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": "v1alpha/{+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", +"DATAPLEX", +"BIGQUERY", +"DATAPROC_METASTORE" +], +"enumDescriptions": [ +"The metastore type is not set.", +"The backend metastore is Dataplex.", +"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" +}, +"CancelMigrationResponse": { +"description": "Response message for DataprocMetastore.CancelMigration.", +"id": "CancelMigrationResponse", +"properties": { +"migrationExecution": { +"description": "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}.", +"type": "string" +} +}, +"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" +}, +"CompleteMigrationResponse": { +"description": "Response message for DataprocMetastore.CompleteMigration.", +"id": "CompleteMigrationResponse", +"properties": { +"migrationExecution": { +"description": "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}.", +"type": "string" +} +}, +"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" +}, +"CustomRegionConfig": { +"description": "Custom configuration used to specify regions that the metastore service runs in. Currently only supported in the us multi-region.", +"id": "CustomRegionConfig", +"properties": { +"readOnlyRegions": { +"description": "Optional. The list of read-only regions where the metastore service runs in. These regions should be part (or subset) of the multi-region.", +"items": { +"type": "string" +}, +"type": "array" +}, +"readWriteRegions": { +"description": "Required. The list of read-write regions where the metastore service runs in. These regions should be part (or subset) of the multi-region.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"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" +}, +"DataplexConfig": { +"description": "Specifies how metastore metadata should be integrated with the Dataplex service.", +"id": "DataplexConfig", +"properties": { +"lakeResources": { +"additionalProperties": { +"$ref": "Lake" +}, +"description": "A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}.", +"type": "object" +} +}, +"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" +}, +"Lake": { +"description": "Represents a Lake resource", +"id": "Lake", +"properties": { +"name": { +"description": "The Lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}", +"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." +}, +"dataplexConfig": { +"$ref": "DataplexConfig", +"description": "The integration config for the Dataplex 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" +}, +"MultiRegionConfig": { +"description": "The multi-region config for the Dataproc Metastore service.", +"id": "MultiRegionConfig", +"properties": { +"certificates": { +"deprecated": true, +"description": "Output only. The list of root CA certificates that a gRPC client uses to connect to a multi-regional Dataproc Metastore service.", +"items": { +"$ref": "RootCACertificate" +}, +"readOnly": true, +"type": "array" +}, +"customRegionConfig": { +"$ref": "CustomRegionConfig" +} +}, +"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" +}, +"customRoutesEnabled": { +"description": "Enables custom routes to be imported and exported for the Dataproc Metastore service's peered VPC network.", +"type": "boolean" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"done": { +"description": "If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.", +"type": "boolean" +}, +"error": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "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" +}, +"RemoveIamPolicyRequest": { +"description": "Request message for DataprocMetastore.RemoveIamPolicy.", +"id": "RemoveIamPolicyRequest", +"properties": { +"asynchronous": { +"description": "Optional. Removes IAM policy attached to database or table asynchronously when it is set. The default is false.", +"type": "boolean" +} +}, +"type": "object" +}, +"RemoveIamPolicyResponse": { +"description": "Response message for DataprocMetastore.RemoveIamPolicy.", +"id": "RemoveIamPolicyResponse", +"properties": { +"success": { +"description": "True if the policy is successfully removed.", +"type": "boolean" +} +}, +"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" +}, +"RootCACertificate": { +"deprecated": true, +"description": "A gRPC client must install all root CA certificates to connect to a multi-regional Dataproc Metastore service and achieve failover.", +"id": "RootCACertificate", +"properties": { +"certificate": { +"deprecated": true, +"description": "The root CA certificate in PEM format. The maximum length is 65536 bytes.", +"type": "string" +}, +"expirationTime": { +"deprecated": true, +"description": "The certificate expiration time in timestamp format.", +"format": "google-datetime", +"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 +}, +"multiRegionConfig": { +"$ref": "MultiRegionConfig", +"description": "Optional. Specifies the multi-region configuration information for the Hive metastore service." +}, +"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": "v1alpha", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/metastore.v1beta.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/metastore.v1beta.json new file mode 100644 index 0000000000000000000000000000000000000000..f6b9c6abbbe1ed9b631e37cf0c206b44472c9000 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/metastore.v1beta.json @@ -0,0 +1,3819 @@ +{ +"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:v1beta", +"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": "v1beta/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": "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": "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": "v1beta/{+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": "v1beta/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": "v1beta/{+parent}/federations", +"request": { +"$ref": "Federation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single federation.", +"flatPath": "v1beta/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": "v1beta/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the details of a single federation.", +"flatPath": "v1beta/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": "v1beta/{+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": "v1beta/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": "v1beta/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists federations in a project and location.", +"flatPath": "v1beta/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": "v1beta/{+parent}/federations", +"response": { +"$ref": "ListFederationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the fields of a federation.", +"flatPath": "v1beta/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": "v1beta/{+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": "v1beta/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": "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}/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": "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": "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": "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": "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": "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": "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": "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": "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": "v1beta/{+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": "v1beta/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": "v1beta/{+service}:alterLocation", +"request": { +"$ref": "AlterMetadataResourceLocationRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"alterTableProperties": { +"description": "Alter metadata table properties.", +"flatPath": "v1beta/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": "v1beta/{+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": "v1beta/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": "v1beta/{+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": "v1beta/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": "v1beta/{+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": "v1beta/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": "v1beta/{+parent}/services", +"request": { +"$ref": "Service" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single service.", +"flatPath": "v1beta/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": "v1beta/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"exportMetadata": { +"description": "Exports metadata from a service.", +"flatPath": "v1beta/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": "v1beta/{+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": "v1beta/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": "v1beta/{+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": "v1beta/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": "v1beta/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists services in a project and location.", +"flatPath": "v1beta/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": "v1beta/{+parent}/services", +"response": { +"$ref": "ListServicesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"moveTableToDatabase": { +"description": "Move a table to another database.", +"flatPath": "v1beta/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": "v1beta/{+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": "v1beta/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": "v1beta/{+name}", +"request": { +"$ref": "Service" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"queryMetadata": { +"description": "Query Dataproc Metastore metadata.", +"flatPath": "v1beta/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": "v1beta/{+service}:queryMetadata", +"request": { +"$ref": "QueryMetadataRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"removeIamPolicy": { +"description": "Removes the attached IAM policies for a resource", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/{servicesId1}:removeIamPolicy", +"httpMethod": "POST", +"id": "metastore.projects.locations.services.removeIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "Required. The relative resource name of the dataplane resource to remove IAM policy, in the following form:projects/{project_id}/locations/{location_id}/services/{service_id}/databases/{database_id} or projects/{project_id}/locations/{location_id}/services/{service_id}/databases/{database_id}/tables/{table_id}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+resource}:removeIamPolicy", +"request": { +"$ref": "RemoveIamPolicyRequest" +}, +"response": { +"$ref": "RemoveIamPolicyResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"restore": { +"description": "Restores a service from a backup.", +"flatPath": "v1beta/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": "v1beta/{+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": "v1beta/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": "v1beta/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"startMigration": { +"description": "Starts the Managed Migration process.", +"flatPath": "v1beta/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": "v1beta/{+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": "v1beta/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": "v1beta/{+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": "v1beta/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": "v1beta/{+parent}/backups", +"request": { +"$ref": "Backup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single backup.", +"flatPath": "v1beta/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": "v1beta/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single backup.", +"flatPath": "v1beta/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": "v1beta/{+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": "v1beta/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": "v1beta/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists backups in a service.", +"flatPath": "v1beta/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": "v1beta/{+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": "v1beta/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": "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}/services/{servicesId}/backups/{backupsId}:testIamPermissions", +"httpMethod": "POST", +"id": "metastore.projects.locations.services.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/[^/]+/locations/[^/]+/services/[^/]+/backups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"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": "v1beta/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": "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}/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": "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}/services/{servicesId}/databases/{databasesId}:testIamPermissions", +"httpMethod": "POST", +"id": "metastore.projects.locations.services.databases.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/[^/]+/databases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"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": "v1beta/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": "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}/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": "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}/services/{servicesId}/databases/{databasesId}/tables/{tablesId}:testIamPermissions", +"httpMethod": "POST", +"id": "metastore.projects.locations.services.databases.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/[^/]+/locations/[^/]+/services/[^/]+/databases/[^/]+/tables/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"metadataImports": { +"methods": { +"create": { +"description": "Creates a new MetadataImport in a given project and location.", +"flatPath": "v1beta/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": "v1beta/{+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": "v1beta/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": "v1beta/{+name}", +"response": { +"$ref": "MetadataImport" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists imports in a service.", +"flatPath": "v1beta/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": "v1beta/{+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": "v1beta/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": "v1beta/{+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": "v1beta/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": "v1beta/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single migration execution.", +"flatPath": "v1beta/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": "v1beta/{+name}", +"response": { +"$ref": "MigrationExecution" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists migration executions on a service.", +"flatPath": "v1beta/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": "v1beta/{+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", +"DATAPLEX", +"BIGQUERY", +"DATAPROC_METASTORE" +], +"enumDescriptions": [ +"The metastore type is not set.", +"The backend metastore is Dataplex.", +"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" +}, +"CancelMigrationResponse": { +"description": "Response message for DataprocMetastore.CancelMigration.", +"id": "CancelMigrationResponse", +"properties": { +"migrationExecution": { +"description": "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}.", +"type": "string" +} +}, +"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" +}, +"CompleteMigrationResponse": { +"description": "Response message for DataprocMetastore.CompleteMigration.", +"id": "CompleteMigrationResponse", +"properties": { +"migrationExecution": { +"description": "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}.", +"type": "string" +} +}, +"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" +}, +"CustomRegionConfig": { +"description": "Custom configuration used to specify regions that the metastore service runs in. Currently only supported in the us multi-region.", +"id": "CustomRegionConfig", +"properties": { +"readOnlyRegions": { +"description": "Optional. The list of read-only regions where the metastore service runs in. These regions should be part (or subset) of the multi-region.", +"items": { +"type": "string" +}, +"type": "array" +}, +"readWriteRegions": { +"description": "Required. The list of read-write regions where the metastore service runs in. These regions should be part (or subset) of the multi-region.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"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" +}, +"DataplexConfig": { +"description": "Specifies how metastore metadata should be integrated with the Dataplex service.", +"id": "DataplexConfig", +"properties": { +"lakeResources": { +"additionalProperties": { +"$ref": "Lake" +}, +"description": "A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}.", +"type": "object" +} +}, +"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" +}, +"Lake": { +"description": "Represents a Lake resource", +"id": "Lake", +"properties": { +"name": { +"description": "The Lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}", +"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." +}, +"dataplexConfig": { +"$ref": "DataplexConfig", +"description": "The integration config for the Dataplex 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" +}, +"MultiRegionConfig": { +"description": "The multi-region config for the Dataproc Metastore service.", +"id": "MultiRegionConfig", +"properties": { +"certificates": { +"deprecated": true, +"description": "Output only. The list of root CA certificates that a gRPC client uses to connect to a multi-regional Dataproc Metastore service.", +"items": { +"$ref": "RootCACertificate" +}, +"readOnly": true, +"type": "array" +}, +"customRegionConfig": { +"$ref": "CustomRegionConfig" +} +}, +"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" +}, +"customRoutesEnabled": { +"description": "Enables custom routes to be imported and exported for the Dataproc Metastore service's peered VPC network.", +"type": "boolean" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"done": { +"description": "If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.", +"type": "boolean" +}, +"error": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "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" +}, +"RemoveIamPolicyRequest": { +"description": "Request message for DataprocMetastore.RemoveIamPolicy.", +"id": "RemoveIamPolicyRequest", +"properties": { +"asynchronous": { +"description": "Optional. Removes IAM policy attached to database or table asynchronously when it is set. The default is false.", +"type": "boolean" +} +}, +"type": "object" +}, +"RemoveIamPolicyResponse": { +"description": "Response message for DataprocMetastore.RemoveIamPolicy.", +"id": "RemoveIamPolicyResponse", +"properties": { +"success": { +"description": "True if the policy is successfully removed.", +"type": "boolean" +} +}, +"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" +}, +"RootCACertificate": { +"deprecated": true, +"description": "A gRPC client must install all root CA certificates to connect to a multi-regional Dataproc Metastore service and achieve failover.", +"id": "RootCACertificate", +"properties": { +"certificate": { +"deprecated": true, +"description": "The root CA certificate in PEM format. The maximum length is 65536 bytes.", +"type": "string" +}, +"expirationTime": { +"deprecated": true, +"description": "The certificate expiration time in timestamp format.", +"format": "google-datetime", +"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 +}, +"multiRegionConfig": { +"$ref": "MultiRegionConfig", +"description": "Optional. Specifies the multi-region configuration information for the Hive metastore service." +}, +"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": "v1beta", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/migrationcenter.v1alpha1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/migrationcenter.v1alpha1.json new file mode 100644 index 0000000000000000000000000000000000000000..4ab175500e7ed839480c42e86f5905a547902216 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/migrationcenter.v1alpha1.json @@ -0,0 +1,8839 @@ +{ +"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:v1alpha1", +"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": "v1alpha1/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": "v1alpha1/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getSettings": { +"description": "Gets the details of regional settings.", +"flatPath": "v1alpha1/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": "v1alpha1/{+name}", +"response": { +"$ref": "Settings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v1alpha1/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": "v1alpha1/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateSettings": { +"description": "Updates the regional-level project settings.", +"flatPath": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+parent}/assets:aggregateValues", +"request": { +"$ref": "AggregateAssetsValuesRequest" +}, +"response": { +"$ref": "AggregateAssetsValuesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"batchDelete": { +"description": "Deletes list of Assets.", +"flatPath": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+parent}/assets:batchUpdate", +"request": { +"$ref": "BatchUpdateAssetsRequest" +}, +"response": { +"$ref": "BatchUpdateAssetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an asset.", +"flatPath": "v1alpha1/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": "v1alpha1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the details of an asset.", +"flatPath": "v1alpha1/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", +"ASSET_VIEW_STANDARD" +], +"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.", +"The asset view includes the standard metadata of an asset." +], +"location": "query", +"type": "string" +} +}, +"path": "v1alpha1/{+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": "v1alpha1/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" +}, +"showHidden": { +"description": "Optional. When this value is set to 'true' the response will include all assets, including those that are hidden.", +"location": "query", +"type": "boolean" +}, +"view": { +"description": "View of the assets. Defaults to BASIC.", +"enum": [ +"ASSET_VIEW_UNSPECIFIED", +"ASSET_VIEW_BASIC", +"ASSET_VIEW_FULL", +"ASSET_VIEW_STANDARD" +], +"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.", +"The asset view includes the standard metadata of an asset." +], +"location": "query", +"type": "string" +} +}, +"path": "v1alpha1/{+parent}/assets", +"response": { +"$ref": "ListAssetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of an asset.", +"flatPath": "v1alpha1/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": "v1alpha1/{+name}", +"request": { +"$ref": "Asset" +}, +"response": { +"$ref": "Asset" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"reportAssetFrames": { +"description": "Reports a set of frames.", +"flatPath": "v1alpha1/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": "v1alpha1/{+parent}/assets:reportAssetFrames", +"request": { +"$ref": "Frames" +}, +"response": { +"$ref": "ReportAssetFramesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"assetsExportJobs": { +"methods": { +"create": { +"description": "Creates a new assets export job.", +"flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/assetsExportJobs", +"httpMethod": "POST", +"id": "migrationcenter.projects.locations.assetsExportJobs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"assetsExportJobId": { +"description": "Required. The ID to use for the asset export job.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource where the assts export job will be created.", +"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 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": "v1alpha1/{+parent}/assetsExportJobs", +"request": { +"$ref": "AssetsExportJob" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an assets export job.", +"flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/assetsExportJobs/{assetsExportJobsId}", +"httpMethod": "DELETE", +"id": "migrationcenter.projects.locations.assetsExportJobs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the assets export job to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/assetsExportJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the details of an assets export job.", +"flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/assetsExportJobs/{assetsExportJobsId}", +"httpMethod": "GET", +"id": "migrationcenter.projects.locations.assetsExportJobs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/assetsExportJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+name}", +"response": { +"$ref": "AssetsExportJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all the assets export jobs in a given project and location.", +"flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/assetsExportJobs", +"httpMethod": "GET", +"id": "migrationcenter.projects.locations.assetsExportJobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. 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": "Optional. A token identifying a page of results that the server should return.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+parent}/assetsExportJobs", +"response": { +"$ref": "ListAssetsExportJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"run": { +"description": "Runs an assets export job, returning an AssetsExportJobExecution.", +"flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/assetsExportJobs/{assetsExportJobsId}:run", +"httpMethod": "POST", +"id": "migrationcenter.projects.locations.assetsExportJobs.run", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/assetsExportJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+name}:run", +"request": { +"$ref": "RunAssetsExportJobRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"discoveryClients": { +"methods": { +"create": { +"description": "Creates a new discovery client.", +"flatPath": "v1alpha1/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": "v1alpha1/{+parent}/discoveryClients", +"request": { +"$ref": "DiscoveryClient" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a discovery client.", +"flatPath": "v1alpha1/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": "v1alpha1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the details of a discovery client.", +"flatPath": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+parent}/discoveryClients", +"response": { +"$ref": "ListDiscoveryClientsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a discovery client.", +"flatPath": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+parent}/groups", +"request": { +"$ref": "Group" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a group.", +"flatPath": "v1alpha1/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": "v1alpha1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the details of a group.", +"flatPath": "v1alpha1/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": "v1alpha1/{+name}", +"response": { +"$ref": "Group" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all groups in a given project and location.", +"flatPath": "v1alpha1/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": "v1alpha1/{+parent}/groups", +"response": { +"$ref": "ListGroupsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a group.", +"flatPath": "v1alpha1/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": "v1alpha1/{+name}", +"request": { +"$ref": "Group" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"removeAssets": { +"description": "Removes assets from a group.", +"flatPath": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+parent}/importJobs", +"request": { +"$ref": "ImportJob" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an import job.", +"flatPath": "v1alpha1/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": "v1alpha1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the details of an import job.", +"flatPath": "v1alpha1/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": "v1alpha1/{+name}", +"response": { +"$ref": "ImportJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all import jobs.", +"flatPath": "v1alpha1/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": "v1alpha1/{+parent}/importJobs", +"response": { +"$ref": "ListImportJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an import job.", +"flatPath": "v1alpha1/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": "v1alpha1/{+name}", +"request": { +"$ref": "ImportJob" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"run": { +"description": "Runs an import job.", +"flatPath": "v1alpha1/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": "v1alpha1/{+name}:run", +"request": { +"$ref": "RunImportJobRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"validate": { +"description": "Validates an import job.", +"flatPath": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+parent}/importDataFiles", +"request": { +"$ref": "ImportDataFile" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Delete an import data file.", +"flatPath": "v1alpha1/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": "v1alpha1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets an import data file.", +"flatPath": "v1alpha1/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": "v1alpha1/{+name}", +"response": { +"$ref": "ImportDataFile" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "List import data files.", +"flatPath": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": { +"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": "v1alpha1/{+parent}/preferenceSets", +"request": { +"$ref": "PreferenceSet" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a preference set.", +"flatPath": "v1alpha1/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": "v1alpha1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the details of a preference set.", +"flatPath": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+parent}/preferenceSets", +"response": { +"$ref": "ListPreferenceSetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a preference set.", +"flatPath": "v1alpha1/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": "v1alpha1/{+name}", +"request": { +"$ref": "PreferenceSet" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"relations": { +"methods": { +"get": { +"description": "Gets the details of an relation.", +"flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/relations/{relationsId}", +"httpMethod": "GET", +"id": "migrationcenter.projects.locations.relations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/relations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+name}", +"response": { +"$ref": "Relation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all the relations in a given project and location.", +"flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/relations", +"httpMethod": "GET", +"id": "migrationcenter.projects.locations.relations.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 `ListRelationsRequest`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+parent}/relations", +"response": { +"$ref": "ListRelationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"reportConfigs": { +"methods": { +"create": { +"description": "Creates a report configuration.", +"flatPath": "v1alpha1/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": "v1alpha1/{+parent}/reportConfigs", +"request": { +"$ref": "ReportConfig" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a ReportConfig.", +"flatPath": "v1alpha1/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": "v1alpha1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single ReportConfig.", +"flatPath": "v1alpha1/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": "v1alpha1/{+name}", +"response": { +"$ref": "ReportConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists ReportConfigs in a given project and location.", +"flatPath": "v1alpha1/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": "v1alpha1/{+parent}/reportConfigs", +"response": { +"$ref": "ListReportConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"reports": { +"methods": { +"create": { +"description": "Creates a report.", +"flatPath": "v1alpha1/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": "v1alpha1/{+parent}/reports", +"request": { +"$ref": "Report" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Report.", +"flatPath": "v1alpha1/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": "v1alpha1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single Report.", +"flatPath": "v1alpha1/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": "v1alpha1/{+name}", +"response": { +"$ref": "Report" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Reports in a given ReportConfig.", +"flatPath": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+parent}/sources", +"request": { +"$ref": "Source" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a source.", +"flatPath": "v1alpha1/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": "v1alpha1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the details of a source.", +"flatPath": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+parent}/sources", +"response": { +"$ref": "ListSourcesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a source.", +"flatPath": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+parent}/errorFrames", +"response": { +"$ref": "ListErrorFramesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +} +}, +"revision": "20241212", +"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" +}, +"showHidden": { +"description": "Optional. When this value is set to 'true' the response will include all assets, including those that are hidden.", +"type": "boolean" +} +}, +"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 +}, +"hidden": { +"description": "Optional. Indicates if the asset is hidden.", +"type": "boolean" +}, +"hideReason": { +"description": "Optional. An optional reason for marking this asset as hidden.", +"type": "string" +}, +"hideTime": { +"description": "Output only. The timestamp when the asset was marked as hidden.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"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" +}, +"name": { +"description": "Output only. The full name of the asset.", +"readOnly": true, +"type": "string" +}, +"performanceData": { +"$ref": "AssetPerformanceData", +"description": "Performance data for the asset." +}, +"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" +}, +"virtualMachineDetails": { +"$ref": "VirtualMachineDetails", +"description": "Output only. Asset information specific for virtual machines.", +"readOnly": true +} +}, +"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" +}, +"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" +}, +"virtualMachineDetails": { +"$ref": "VirtualMachineDetails", +"description": "Asset information specific for virtual machines." +} +}, +"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" +}, +"AssetsExportJob": { +"description": "Assets export job message.", +"id": "AssetsExportJob", +"properties": { +"condition": { +"$ref": "AssetsExportJobExportCondition", +"description": "Optional. Conditions for selecting assets to export." +}, +"createTime": { +"description": "Output only. Resource creation time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"inventory": { +"$ref": "AssetsExportJobInventory", +"description": "Export asset inventory details." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels as key value pairs. Labels must meet the following constraints: * 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. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes.", +"type": "object" +}, +"name": { +"description": "Output only. Identifier. Resource name.", +"readOnly": true, +"type": "string" +}, +"networkDependencies": { +"$ref": "AssetsExportJobNetworkDependencies", +"description": "Export data regarding asset network dependencies." +}, +"performanceData": { +"$ref": "AssetsExportJobPerformanceData", +"description": "Export asset with performance data." +}, +"recentExecutions": { +"description": "Output only. Recent non expired executions of the job.", +"items": { +"$ref": "AssetsExportJobExecution" +}, +"readOnly": true, +"type": "array" +}, +"showHidden": { +"description": "Optional. When this value is set to 'true' the response will include all assets, including those that are hidden.", +"type": "boolean" +}, +"signedUriDestination": { +"$ref": "SignedUriDestination", +"description": "Export to Cloud Storage files downloadable using signed URIs." +}, +"updateTime": { +"description": "Output only. Resource update time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AssetsExportJobExecution": { +"description": "Execution status of assets export job.", +"id": "AssetsExportJobExecution", +"properties": { +"endTime": { +"description": "Output only. Completion time of the export.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"executionId": { +"description": "Output only. Globally unique identifier of the execution.", +"readOnly": true, +"type": "string" +}, +"expireTime": { +"description": "Output only. Expiration time for the export and artifacts.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"requestedAssetCount": { +"description": "Output only. Number of assets requested for export after resolving the requested filters.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"result": { +"$ref": "AssetsExportJobExecutionResult", +"description": "Output only. Result of the export execution.", +"readOnly": true +}, +"startTime": { +"description": "Output only. Execution timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AssetsExportJobExecutionResult": { +"description": "Contains the result of the assets export.", +"id": "AssetsExportJobExecutionResult", +"properties": { +"error": { +"$ref": "Status", +"description": "Output only. Error encountered during export.", +"readOnly": true +}, +"outputFiles": { +"$ref": "OutputFileList", +"description": "Output only. List of output files.", +"readOnly": true +}, +"signedUris": { +"$ref": "SignedUris", +"description": "Output only. Signed URLs for downloading export artifacts.", +"readOnly": true +} +}, +"type": "object" +}, +"AssetsExportJobExportCondition": { +"description": "Conditions for selecting assets to export.", +"id": "AssetsExportJobExportCondition", +"properties": { +"filter": { +"description": "Optional. Assets filter, supports the same syntax as asset listing.", +"type": "string" +} +}, +"type": "object" +}, +"AssetsExportJobInventory": { +"description": "Configuration for asset inventory details exports.", +"id": "AssetsExportJobInventory", +"properties": {}, +"type": "object" +}, +"AssetsExportJobNetworkDependencies": { +"description": "Configuration for network dependencies exports.", +"id": "AssetsExportJobNetworkDependencies", +"properties": { +"maxDays": { +"description": "Optional. When this value is set to a positive integer, network connections data will be returned for the most recent days for which data is available. When this value is unset (or set to zero), all available data is returned.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"AssetsExportJobPerformanceData": { +"description": "Configuration for performance data exports.", +"id": "AssetsExportJobPerformanceData", +"properties": { +"maxDays": { +"description": "Optional. When this value is set to a positive integer, performance data will be returned for the most recent days for which data is available. When this value is unset (or set to zero), all available data is returned. The maximum value is 420; values above 420 will be coerced to 420. If unset (0 value) a default value of 40 will be used.", +"format": "int32", +"type": "integer" +} +}, +"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" +}, +"cascadingRules": { +"description": "Optional. Optional cascading rules for deleting related assets.", +"items": { +"$ref": "CascadingRule" +}, +"type": "array" +}, +"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": { +"biosManufacturer": { +"description": "BIOS manufacturer.", +"type": "string" +}, +"biosName": { +"description": "BIOS name.", +"type": "string" +}, +"biosReleaseDate": { +"description": "BIOS release date.", +"type": "string" +}, +"biosVersion": { +"description": "BIOS version.", +"type": "string" +}, +"smbiosUuid": { +"description": "SMBIOS UUID.", +"type": "string" +} +}, +"type": "object" +}, +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"CascadeLogicalDBsRule": { +"description": "Cascading rule for related logical DBs.", +"id": "CascadeLogicalDBsRule", +"properties": {}, +"type": "object" +}, +"CascadingRule": { +"description": "Specifies cascading rules for traversing relations.", +"id": "CascadingRule", +"properties": { +"cascadeLogicalDbs": { +"$ref": "CascadeLogicalDBsRule", +"description": "Cascading rule for related logical DBs." +} +}, +"type": "object" +}, +"CloudDatabaseMigrationTarget": { +"description": "Cloud database migration target.", +"id": "CloudDatabaseMigrationTarget", +"properties": { +"cloudSqlForMysqlShape": { +"$ref": "CloudSqlForMySqlShape", +"description": "Cloud SQL for MySQL database shape." +}, +"cloudSqlForPostgresqlShape": { +"$ref": "CloudSqlForPostgreSqlShape", +"description": "Cloud SQL for PostgreSQL database shape." +}, +"cloudSqlShape": { +"$ref": "CloudSqlForSqlServerShape", +"description": "Cloud SQL for SQL Server database shape." +} +}, +"type": "object" +}, +"CloudSqlForMySqlShape": { +"description": "Cloud SQL for MySQL database shape.", +"id": "CloudSqlForMySqlShape", +"properties": { +"backupStorageGb": { +"description": "Output only. Predicted backup storage size in GiB.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"edition": { +"description": "Output only. Cloud SQL edition.", +"enum": [ +"CLOUD_SQL_EDITION_UNSPECIFIED", +"CLOUD_SQL_EDITION_ENTERPRISE", +"CLOUD_SQL_EDITION_ENTERPRISE_PLUS" +], +"enumDescriptions": [ +"An unspecified Cloud SQL edition.", +"Provides all core capabilities of Cloud SQL and is suitable for applications requiring a balance of performance, availability, and cost.", +"Provides the best performance and availability to run applications requiring the highest level of availability and performance in addition to the capabilities of the Cloud SQL Enterprise edition. Note: SQL Server is not available in Enterprise Plus edition. For SQL Server, Enterprise will always be recommended." +], +"readOnly": true, +"type": "string" +}, +"egressGbPerMonth": { +"description": "Output only. Predicted Network Out traffic GiB per month.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"logicalCoreCount": { +"description": "Output only. Number of logical cores.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"memoryMb": { +"description": "Output only. Predicted amount of memory in MiB.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"storage": { +"$ref": "ComputeStorageDescriptor", +"description": "Output only. Predicted storage shape.", +"readOnly": true +}, +"version": { +"description": "Output only. MySQL version to be used on the Cloud SQL for MySQL instance.", +"enum": [ +"MY_SQL_VERSION_UNSPECIFIED", +"MY_SQL_VERSION_5_6", +"MY_SQL_VERSION_5_7", +"MY_SQL_VERSION_8_0" +], +"enumDescriptions": [ +"Unspecified MySQL version.", +"MySQL 5.6.", +"MySQL 5.7.", +"MySQL 8.0." +], +"readOnly": true, +"type": "string" +}, +"zoneAvailability": { +"description": "Output only. Cloud SQL zone availability.", +"enum": [ +"CLOUD_SQL_ZONE_AVAILABILITY_UNSPECIFIED", +"CLOUD_SQL_ZONE_AVAILABILITY_ZONAL", +"CLOUD_SQL_ZONE_AVAILABILITY_REGIONAL" +], +"enumDescriptions": [ +"An unspecified Cloud SQL zone availability.", +"The instance serves data from only one zone. In case of outage, no failover. Not recommended for production.", +"The instance can serve data from multiple zones in a region. Highly available. Automatic failover to another zone within your selected region. Recommended for production instances. Increases cost." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"CloudSqlForPostgreSqlShape": { +"description": "Cloud SQL for PostgreSQL database shape.", +"id": "CloudSqlForPostgreSqlShape", +"properties": { +"backupStorageGb": { +"description": "Output only. Predicted backup storage size in GiB.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"edition": { +"description": "Output only. Cloud SQL edition.", +"enum": [ +"CLOUD_SQL_EDITION_UNSPECIFIED", +"CLOUD_SQL_EDITION_ENTERPRISE", +"CLOUD_SQL_EDITION_ENTERPRISE_PLUS" +], +"enumDescriptions": [ +"An unspecified Cloud SQL edition.", +"Provides all core capabilities of Cloud SQL and is suitable for applications requiring a balance of performance, availability, and cost.", +"Provides the best performance and availability to run applications requiring the highest level of availability and performance in addition to the capabilities of the Cloud SQL Enterprise edition. Note: SQL Server is not available in Enterprise Plus edition. For SQL Server, Enterprise will always be recommended." +], +"readOnly": true, +"type": "string" +}, +"egressGbPerMonth": { +"description": "Output only. Predicted Network Out traffic GiB per month.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"logicalCoreCount": { +"description": "Output only. Number of logical cores.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"memoryMb": { +"description": "Output only. Predicted amount of memory in MiB.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"storage": { +"$ref": "ComputeStorageDescriptor", +"description": "Output only. Predicted storage shape.", +"readOnly": true +}, +"version": { +"description": "Output only. PostgreSql version to be used on the Cloud SQL for PostgreSql instance.", +"enum": [ +"POSTGRESQL_VERSION_UNSPECIFIED", +"POSTGRESQL_VERSION_9_6", +"POSTGRESQL_VERSION_10", +"POSTGRESQL_VERSION_11", +"POSTGRESQL_VERSION_12", +"POSTGRESQL_VERSION_13", +"POSTGRESQL_VERSION_14", +"POSTGRESQL_VERSION_15" +], +"enumDescriptions": [ +"Unspecified PostgreSQL version.", +"PostgreSQL 9.6.", +"PostgreSQL 10", +"PostgreSQL 11", +"PostgreSQL 12", +"PostgreSQL 13", +"PostgreSQL 14", +"PostgreSQL 15" +], +"readOnly": true, +"type": "string" +}, +"zoneAvailability": { +"description": "Output only. Cloud SQL zone availability.", +"enum": [ +"CLOUD_SQL_ZONE_AVAILABILITY_UNSPECIFIED", +"CLOUD_SQL_ZONE_AVAILABILITY_ZONAL", +"CLOUD_SQL_ZONE_AVAILABILITY_REGIONAL" +], +"enumDescriptions": [ +"An unspecified Cloud SQL zone availability.", +"The instance serves data from only one zone. In case of outage, no failover. Not recommended for production.", +"The instance can serve data from multiple zones in a region. Highly available. Automatic failover to another zone within your selected region. Recommended for production instances. Increases cost." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"CloudSqlForSqlServerShape": { +"description": "Cloud SQL for SQL Server database shape.", +"id": "CloudSqlForSqlServerShape", +"properties": { +"backupStorageGb": { +"description": "Output only. Predicted backup storage size in GiB.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"edition": { +"description": "Output only. Cloud SQL edition.", +"enum": [ +"CLOUD_SQL_EDITION_UNSPECIFIED", +"CLOUD_SQL_EDITION_ENTERPRISE", +"CLOUD_SQL_EDITION_ENTERPRISE_PLUS" +], +"enumDescriptions": [ +"An unspecified Cloud SQL edition.", +"Provides all core capabilities of Cloud SQL and is suitable for applications requiring a balance of performance, availability, and cost.", +"Provides the best performance and availability to run applications requiring the highest level of availability and performance in addition to the capabilities of the Cloud SQL Enterprise edition. Note: SQL Server is not available in Enterprise Plus edition. For SQL Server, Enterprise will always be recommended." +], +"readOnly": true, +"type": "string" +}, +"egressGbPerMonth": { +"description": "Output only. Predicted Network Out traffic GiB per month.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"logicalCoreCount": { +"description": "Output only. Number of logical cores.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"memoryMb": { +"description": "Output only. Predicted amount of memory in MiB.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"smtEnabled": { +"description": "Output only. Whether simultaneous multithreading is enabled (see https://cloud.google.com/sql/docs/sqlserver/create-instance#smt-create-instance).", +"readOnly": true, +"type": "boolean" +}, +"storage": { +"$ref": "ComputeStorageDescriptor", +"description": "Output only. Predicted storage shape.", +"readOnly": true +}, +"version": { +"description": "Output only. Microsoft SQL Server version to be used on the Cloud SQL for SQL server instance.", +"enum": [ +"SQL_SERVER_VERSION_UNSPECIFIED", +"SQL_SERVER_VERSION_2017_EXPRESS", +"SQL_SERVER_VERSION_2017_WEB", +"SQL_SERVER_VERSION_2017_STANDARD", +"SQL_SERVER_VERSION_2017_ENTERPRISE", +"SQL_SERVER_VERSION_2019_EXPRESS", +"SQL_SERVER_VERSION_2019_WEB", +"SQL_SERVER_VERSION_2019_STANDARD", +"SQL_SERVER_VERSION_2019_ENTERPRISE", +"SQL_SERVER_VERSION_2022_EXPRESS", +"SQL_SERVER_VERSION_2022_WEB", +"SQL_SERVER_VERSION_2022_STANDARD", +"SQL_SERVER_VERSION_2022_ENTERPRISE" +], +"enumDescriptions": [ +"Unspecified SQL Server version.", +"The database version is SQL Server 2017 Express.", +"The database version is SQL Server 2017 Web.", +"The database version is SQL Server 2017 Standard.", +"The database version is SQL Server 2017 Enterprise.", +"The database version is SQL Server 2019 Express.", +"The database version is SQL Server 2019 Web.", +"The database version is SQL Server 2019 Standard.", +"The database version is SQL Server 2019 Enterprise.", +"The database version is SQL Server 2022 Express.", +"The database version is SQL Server 2022 Web.", +"The database version is SQL Server 2022 Standard.", +"The database version is SQL Server 2022 Enterprise." +], +"readOnly": true, +"type": "string" +}, +"zoneAvailability": { +"description": "Output only. Cloud SQL zone availability.", +"enum": [ +"CLOUD_SQL_ZONE_AVAILABILITY_UNSPECIFIED", +"CLOUD_SQL_ZONE_AVAILABILITY_ZONAL", +"CLOUD_SQL_ZONE_AVAILABILITY_REGIONAL" +], +"enumDescriptions": [ +"An unspecified Cloud SQL zone availability.", +"The instance serves data from only one zone. In case of outage, no failover. Not recommended for production.", +"The instance can serve data from multiple zones in a region. Highly available. Automatic failover to another zone within your selected region. Recommended for production instances. Increases cost." +], +"readOnly": true, +"type": "string" +} +}, +"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 operating systems. If unspecified, costs are calculated based on the default licensing plan. If os_pricing_preferences is specified, it overrides this field.", +"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 license." +], +"type": "string" +}, +"machinePreferences": { +"$ref": "MachinePreferences", +"description": "Preferences concerning the machine types to consider on Compute Engine." +}, +"multithreading": { +"description": "Optional. Preferences for multithreading support on Windows Server.", +"enum": [ +"MULTITHREADING_UNSPECIFIED", +"MULTITHREADING_DISABLED", +"MULTITHREADING_ENABLED", +"MULTITHREADING_DISABLED_WITH_COMPENSATION" +], +"enumDescriptions": [ +"Same as MULTITHREADING_AUTO.", +"Disable simultaneous multithreading.", +"Enable simultaneous multithreading.", +"Disable simultaneous multithreading and increase number of VCPUs to compensate." +], +"type": "string" +}, +"osPricingPreferences": { +"$ref": "OperatingSystemPricingPreferences", +"description": "Optional. Pricing options for OS images." +}, +"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": "Output only. Memory in mebibytes.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"physicalCoreCount": { +"description": "Output only. Number of physical cores.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"series": { +"description": "Output only. Compute Engine machine series.", +"readOnly": true, +"type": "string" +}, +"smtEnabled": { +"description": "Output only. Whether simultaneous multithreading is enabled (see https://cloud.google.com/compute/docs/instances/set-threads-per-core).", +"readOnly": true, +"type": "boolean" +}, +"storage": { +"description": "Output only. Compute Engine storage. Never empty.", +"items": { +"$ref": "ComputeStorageDescriptor" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"ComputeEngineSoleTenantMigrationTarget": { +"description": "Compute engine sole tenant migration target.", +"id": "ComputeEngineSoleTenantMigrationTarget", +"properties": {}, +"type": "object" +}, +"ComputeStorageDescriptor": { +"description": "Compute Engine storage option descriptor.", +"id": "ComputeStorageDescriptor", +"properties": { +"sizeGb": { +"description": "Disk size in GiB.", +"format": "int32", +"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" +}, +"CsvOutputFile": { +"description": "Contains a single output file of type CSV.", +"id": "CsvOutputFile", +"properties": { +"columnsCount": { +"description": "Output only. Number of columns in the file.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"rowCount": { +"description": "Output only. Number of rows in the file.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"signedUri": { +"$ref": "SignedUri", +"description": "Output only. Signed URI destination.", +"readOnly": true +} +}, +"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": "Disk I/O operations per second." +}, +"readIops": { +"$ref": "DailyResourceUsageAggregationStats", +"description": "Disk read I/O operations per second." +}, +"writeIops": { +"$ref": "DailyResourceUsageAggregationStats", +"description": "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": "The database deployment edition.", +"type": "string" +}, +"generatedId": { +"description": "The database deployment generated ID.", +"type": "string" +}, +"manualUniqueId": { +"description": "A manual unique ID set by the user.", +"type": "string" +}, +"mysql": { +"$ref": "MysqlDatabaseDeployment", +"description": "Details of a MYSQL database deployment." +}, +"postgresql": { +"$ref": "PostgreSqlDatabaseDeployment", +"description": "Details of a PostgreSQL database deployment." +}, +"sqlServer": { +"$ref": "SqlServerDatabaseDeployment", +"description": "Details of a Microsoft SQL Server database deployment." +}, +"topology": { +"$ref": "DatabaseDeploymentTopology", +"description": "Details of the database deployment topology." +}, +"version": { +"description": "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": "The allocated storage for the database in bytes.", +"format": "int64", +"type": "string" +}, +"databaseName": { +"description": "The name of the database.", +"type": "string" +}, +"parentDatabaseDeployment": { +"$ref": "DatabaseDetailsParentDatabaseDeployment", +"description": "The parent database deployment that contains the logical database." +}, +"schemas": { +"description": "The database schemas.", +"items": { +"$ref": "DatabaseSchema" +}, +"type": "array" +} +}, +"type": "object" +}, +"DatabaseDetailsParentDatabaseDeployment": { +"description": "The identifiers of the parent database deployment.", +"id": "DatabaseDetailsParentDatabaseDeployment", +"properties": { +"generatedId": { +"description": "The parent database deployment generated ID.", +"type": "string" +}, +"manualUniqueId": { +"description": "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": "The instance's name.", +"type": "string" +}, +"network": { +"$ref": "DatabaseInstanceNetwork", +"description": "Optional. Networking details." +}, +"role": { +"description": "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": "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": "The number of objects.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"DatabasePreferences": { +"description": "DatabasePreferences enables you to create sets of preferences for your migrated databases.", +"id": "DatabasePreferences", +"properties": { +"mssqlToCloudSqlForSqlServerPreferences": { +"$ref": "DatabasePreferencesCloudSqlSqlServer", +"description": "Optional. Preferences for target SQL Server on Cloud SQL when migrating from source Microsoft SQL server." +}, +"mysqlToCloudSqlForMysqlPreferences": { +"$ref": "DatabasePreferencesCloudSqlMySql", +"description": "Optional. Preferences for target MySQL on Cloud SQL when migrating from source MySQL." +}, +"postgresqlToCloudSqlForPostgresqlPreferences": { +"$ref": "DatabasePreferencesCloudSqlPostgreSql", +"description": "Optional. Preferences for target PostgreSQL on Cloud SQL when migrating from source PostgreSQL." +} +}, +"type": "object" +}, +"DatabasePreferencesCloudSqlCommon": { +"description": "Preferences common to Cloud SQL databases.", +"id": "DatabasePreferencesCloudSqlCommon", +"properties": { +"backup": { +"$ref": "DatabasePreferencesCloudSqlCommonBackup", +"description": "Optional. Preferences for database backups." +}, +"commitmentPlan": { +"description": "Optional. Commitment plan to consider when calculating costs. Only regular CUDs (not flexible) are currently available.", +"enum": [ +"COMMITMENT_PLAN_UNSPECIFIED", +"COMMITMENT_PLAN_NONE", +"COMMITMENT_PLAN_ONE_YEAR", +"COMMITMENT_PLAN_THREE_YEARS", +"COMMITMENT_PLAN_FLEXIBLE_ONE_YEAR", +"COMMITMENT_PLAN_FLEXIBLE_THREE_YEARS" +], +"enumDescriptions": [ +"Unspecified commitment plan.", +"No commitment plan.", +"1-year regular committed use discount.", +"3-year regular committed use discount.", +"1-year flexible committed use discount. While not supported in the v1 API, this value is converted to UNSPECIFIED in conversions to the v1 API.", +"3-year flexible committed use discount. While not supported in the v1 API, this value is converted to UNSPECIFIED in conversions to the v1 API." +], +"type": "string" +}, +"edition": { +"description": "Optional. Preferred Cloud SQL edition.", +"enum": [ +"CLOUD_SQL_EDITION_UNSPECIFIED", +"CLOUD_SQL_EDITION_ENTERPRISE", +"CLOUD_SQL_EDITION_ENTERPRISE_PLUS" +], +"enumDescriptions": [ +"An unspecified Cloud SQL edition.", +"Provides all core capabilities of Cloud SQL and is suitable for applications requiring a balance of performance, availability, and cost.", +"Provides the best performance and availability to run applications requiring the highest level of availability and performance in addition to the capabilities of the Cloud SQL Enterprise edition. Note: SQL Server is not available in Enterprise Plus edition. For SQL Server, Enterprise will always be recommended." +], +"type": "string" +}, +"persistentDiskType": { +"description": "Optional. Persistent disk type to use. If unspecified, a disk type is recommended based on available usage data. For SQL Server, only SSD is available. For MySQL and PostgreSQL, only STANDARD (HDD) and SSD types are available.", +"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" +}, +"sizingOptimizationStrategy": { +"description": "Optional. Sizing optimization strategy of the database. Currently supported for Cloud SQL are just two values: SIZING_OPTIMIZATION_STRATEGY_MODERATE and SIZING_OPTIMIZATION_STRATEGY_SAME_AS_SOURCE. SIZING_OPTIMIZATION_STRATEGY_UNSPECIFIED will behave like SIZING_OPTIMIZATION_STRATEGY_MODERATE.", +"enum": [ +"SIZING_OPTIMIZATION_STRATEGY_UNSPECIFIED", +"SIZING_OPTIMIZATION_STRATEGY_SAME_AS_SOURCE", +"SIZING_OPTIMIZATION_STRATEGY_MODERATE", +"SIZING_OPTIMIZATION_STRATEGY_AGGRESSIVE", +"SIZING_OPTIMIZATION_STRATEGY_CUSTOM" +], +"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.", +"Virtual machine sizing will be determined by custom parameters. While not supported in the v1 API, this value is converted to UNSPECIFIED in conversions to the v1 API." +], +"type": "string" +}, +"zoneAvailability": { +"description": "Optional. Preferred zone availability.", +"enum": [ +"CLOUD_SQL_ZONE_AVAILABILITY_UNSPECIFIED", +"CLOUD_SQL_ZONE_AVAILABILITY_ZONAL", +"CLOUD_SQL_ZONE_AVAILABILITY_REGIONAL" +], +"enumDescriptions": [ +"An unspecified Cloud SQL zone availability.", +"The instance serves data from only one zone. In case of outage, no failover. Not recommended for production.", +"The instance can serve data from multiple zones in a region. Highly available. Automatic failover to another zone within your selected region. Recommended for production instances. Increases cost." +], +"type": "string" +} +}, +"type": "object" +}, +"DatabasePreferencesCloudSqlCommonBackup": { +"description": "Preferences for database backups.", +"id": "DatabasePreferencesCloudSqlCommonBackup", +"properties": { +"backupMode": { +"description": "Optional. Automated backup mode.", +"enum": [ +"BACKUP_MODE_UNSPECIFIED", +"BACKUP_MODE_DISABLED", +"BACKUP_MODE_ENABLED" +], +"enumDescriptions": [ +"An unspecified database backup mode.", +"Automatic backups disabled, no additional charges for storage.", +"Automatic backups enabled, there will be additional charges for storage." +], +"type": "string" +} +}, +"type": "object" +}, +"DatabasePreferencesCloudSqlMySql": { +"description": "Preferences for MySQL on Cloud SQL.", +"id": "DatabasePreferencesCloudSqlMySql", +"properties": { +"common": { +"$ref": "DatabasePreferencesCloudSqlCommon", +"description": "Optional. Preferences to Cloud SQL databases." +} +}, +"type": "object" +}, +"DatabasePreferencesCloudSqlPostgreSql": { +"description": "Preferences for PostgreSQL on Cloud SQL.", +"id": "DatabasePreferencesCloudSqlPostgreSql", +"properties": { +"common": { +"$ref": "DatabasePreferencesCloudSqlCommon", +"description": "Optional. Preferences to Cloud SQL databases." +} +}, +"type": "object" +}, +"DatabasePreferencesCloudSqlSqlServer": { +"description": "Preferences for SQL Server on Cloud SQL.", +"id": "DatabasePreferencesCloudSqlSqlServer", +"properties": { +"common": { +"$ref": "DatabasePreferencesCloudSqlCommon", +"description": "Optional. Preferences to Cloud SQL databases." +}, +"multithreading": { +"description": "Optional. Preferences for multithreading support.", +"enum": [ +"MULTITHREADING_UNSPECIFIED", +"MULTITHREADING_DISABLED", +"MULTITHREADING_ENABLED", +"MULTITHREADING_DISABLED_WITH_COMPENSATION" +], +"enumDescriptions": [ +"Same as MULTITHREADING_AUTO.", +"Disable simultaneous multithreading.", +"Enable simultaneous multithreading.", +"Disable simultaneous multithreading and increase number of VCPUs to compensate." +], +"type": "string" +}, +"versionType": { +"description": "Optional. Edition of Microsoft SQL version that is used on a Cloud SQL for SQL server instance.", +"enum": [ +"VERSION_TYPE_UNSPECIFIED", +"VERSION_TYPE_AUTO", +"VERSION_TYPE_EXPRESS", +"VERSION_TYPE_WEB", +"VERSION_TYPE_STANDARD", +"VERSION_TYPE_ENTERPRISE" +], +"enumDescriptions": [ +"Unspecified SQL Server version type.", +"Version will be deduced from the source asset.", +"Version will be one of \"Express\" versions.", +"Version will be one of \"Web\" versions.", +"Version will be one of \"Standard\" versions.", +"Version will be one of \"Enterprise\" versions." +], +"type": "string" +} +}, +"type": "object" +}, +"DatabaseSchema": { +"description": "Details of a database schema.", +"id": "DatabaseSchema", +"properties": { +"mysql": { +"$ref": "MySqlSchemaDetails", +"description": "Details of a Mysql schema." +}, +"objects": { +"description": "List of details of objects by category.", +"items": { +"$ref": "DatabaseObjects" +}, +"type": "array" +}, +"postgresql": { +"$ref": "PostgreSqlSchemaDetails", +"description": "Details of a PostgreSql schema." +}, +"schemaName": { +"description": "The name of the schema.", +"type": "string" +}, +"sqlServer": { +"$ref": "SqlServerSchemaDetails", +"description": "Details of a SqlServer schema." +}, +"tablesSizeBytes": { +"description": "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" +}, +"DateTime": { +"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": "DateTime", +"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": "TimeZone", +"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" +}, +"DetectedSoftware": { +"description": "Information about software detected on an asset.", +"id": "DetectedSoftware", +"properties": { +"softwareFamily": { +"description": "Output only. Software family of the detected software, e.g. Database, SAP family.", +"readOnly": true, +"type": "string" +}, +"softwareName": { +"description": "Output only. Software's name.", +"readOnly": true, +"type": "string" +} +}, +"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. 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": { +"diskLabel": { +"description": "Disk label.", +"type": "string" +}, +"diskLabelType": { +"description": "Disk label type (e.g. BIOS/GPT)", +"type": "string" +}, +"hwAddress": { +"description": "Disk hardware address (e.g. 0:1 for SCSI).", +"type": "string" +}, +"interfaceType": { +"description": "Disks interface type (e.g. SATA/SCSI)", +"type": "string" +}, +"partitions": { +"$ref": "DiskPartitionList", +"description": "Partition layout." +}, +"status": { +"description": "Disk status (e.g. online).", +"type": "string" +}, +"totalCapacityBytes": { +"description": "Disk capacity.", +"format": "int64", +"type": "string" +}, +"totalFreeBytes": { +"description": "Disk free space.", +"format": "int64", +"type": "string" +}, +"vmwareConfig": { +"$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 (e.g. BIOS boot).", +"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": "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": "Average read IOPS sampled over a short window. Must be non-negative.", +"format": "float", +"type": "number" +}, +"averageWriteIops": { +"description": "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" +}, +"jobErrors": { +"deprecated": true, +"description": "List of job-level errors. Deprecated, use the job errors under execution_errors instead.", +"items": { +"$ref": "ImportError" +}, +"type": "array" +}, +"totalRowsCount": { +"description": "Total number of rows in the import job.", +"format": "int32", +"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" +}, +"GCSPayloadInfo": { +"description": "A resource that represents a payload hosted on Google Cloud Storage.", +"id": "GCSPayloadInfo", +"properties": { +"format": { +"description": "The import job format.", +"enum": [ +"IMPORT_JOB_FORMAT_UNSPECIFIED", +"IMPORT_JOB_FORMAT_CMDB", +"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_MANUAL_CSV", +"IMPORT_JOB_FORMAT_DATABASE_ZIP" +], +"enumDeprecated": [ +false, +true, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Default value.", +"Configuration management DB format.", +"RVTools format (XLSX).", +"RVTools format (CSV).", +"CSV format exported from AWS using the [AWS collection script](https://github.com/GoogleCloudPlatform/aws-to-stratozone-export).", +"CSV format exported from Azure using the [Azure collection script](https://github.com/GoogleCloudPlatform/azure-to-stratozone-export).", +"CSV format created manually. For more information, see [Manually create and upload data tables](https://cloud.google.com/migrate/stratozone/docs/import-data-portal).", +"ZIP file with nested CSV files generated by a database collector." +], +"type": "string" +}, +"path": { +"description": "The payload path in Google Cloud Storage.", +"type": "string" +} +}, +"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. Text can contain md file style links.", +"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" +}, +"GoogleKubernetesEngineMigrationTarget": { +"description": "GKE migration target.", +"id": "GoogleKubernetesEngineMigrationTarget", +"properties": {}, +"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": "Output only. Hosts file (/etc/hosts).", +"readOnly": true +}, +"issue": { +"description": "OS issue (typically /etc/issue in Linux).", +"type": "string" +}, +"nfsExports": { +"$ref": "NfsExportList", +"description": "NFS exports." +}, +"selinux": { +"$ref": "Selinux", +"description": "SELinux details." +} +}, +"type": "object" +}, +"GuestInstalledApplication": { +"description": "Guest installed application information.", +"id": "GuestInstalledApplication", +"properties": { +"licenses": { +"description": "License strings associated with the installed application.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "Installed application name.", +"type": "string" +}, +"path": { +"description": "Source path.", +"type": "string" +}, +"time": { +"description": "Date application was installed.", +"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." +}, +"runtime": { +"$ref": "GuestRuntimeDetails", +"description": "Runtime information." +} +}, +"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." +}, +"lastUptime": { +"$ref": "Date", +"description": "Date since last booted (last uptime date)." +}, +"machineName": { +"description": "Machine name.", +"type": "string" +}, +"networkInfo": { +"$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": "Output only. Hosts entries.", +"items": { +"$ref": "HostsEntry" +}, +"readOnly": true, +"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": "Optional. User-friendly display name. Maximum length is 256 characters.", +"type": "string" +}, +"format": { +"description": "Required. The payload format.", +"enum": [ +"IMPORT_JOB_FORMAT_UNSPECIFIED", +"IMPORT_JOB_FORMAT_CMDB", +"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_MANUAL_CSV", +"IMPORT_JOB_FORMAT_DATABASE_ZIP" +], +"enumDeprecated": [ +false, +true, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Default value.", +"Configuration management DB format.", +"RVTools format (XLSX).", +"RVTools format (CSV).", +"CSV format exported from AWS using the [AWS collection script](https://github.com/GoogleCloudPlatform/aws-to-stratozone-export).", +"CSV format exported from Azure using the [Azure collection script](https://github.com/GoogleCloudPlatform/azure-to-stratozone-export).", +"CSV format created manually. For more information, see [Manually create and upload data tables](https://cloud.google.com/migrate/stratozone/docs/import-data-portal).", +"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": "User-friendly display name. Maximum length is 63 characters.", +"type": "string" +}, +"executionReport": { +"$ref": "ExecutionReport", +"description": "Output only. The report with the results of running the import job.", +"readOnly": true +}, +"gcsPayload": { +"$ref": "GCSPayloadInfo", +"deprecated": true, +"description": "The payload is in Google Cloud Storage." +}, +"inlinePayload": { +"$ref": "InlinePayloadInfo", +"description": "The payload is included in the request, mainly used for small import jobs." +}, +"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": "The asset title.", +"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": "The file path inside the archive where the error was detected.", +"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" +}, +"InlinePayloadInfo": { +"description": "A resource that represents the inline import job payload.", +"id": "InlinePayloadInfo", +"properties": { +"format": { +"description": "The import job format.", +"enum": [ +"IMPORT_JOB_FORMAT_UNSPECIFIED", +"IMPORT_JOB_FORMAT_CMDB", +"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_MANUAL_CSV", +"IMPORT_JOB_FORMAT_DATABASE_ZIP" +], +"enumDeprecated": [ +false, +true, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Default value.", +"Configuration management DB format.", +"RVTools format (XLSX).", +"RVTools format (CSV).", +"CSV format exported from AWS using the [AWS collection script](https://github.com/GoogleCloudPlatform/aws-to-stratozone-export).", +"CSV format exported from Azure using the [Azure collection script](https://github.com/GoogleCloudPlatform/azure-to-stratozone-export).", +"CSV format created manually. For more information, see [Manually create and upload data tables](https://cloud.google.com/migrate/stratozone/docs/import-data-portal).", +"ZIP file with nested CSV files generated by a database collector." +], +"type": "string" +}, +"payload": { +"description": "List of payload files.", +"items": { +"$ref": "PayloadFile" +}, +"type": "array" +} +}, +"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 +}, +"softwareInsight": { +"$ref": "SoftwareInsight", +"description": "Output only. An insight regarding software detected on 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" +}, +"Issue": { +"description": "An issue associated with a migration.", +"id": "Issue", +"properties": { +"compatibilityIssue": { +"$ref": "IssueCompatibilityIssue", +"description": "Output only. Details about a compatibility issue.", +"readOnly": true +}, +"description": { +"description": "Output only. English description of the issue.", +"readOnly": true, +"type": "string" +}, +"issueCode": { +"description": "Output only. Unique identifier for this issue type.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"IssueCompatibilityIssue": { +"description": "Details about a compatibility issue.", +"id": "IssueCompatibilityIssue", +"properties": { +"associatedObject": { +"description": "Output only. Name of the object associated with this compatibility issue relative to the relevant asset. Does not represent a fully qualified resource name and is not intended for programmatic use.", +"readOnly": true, +"type": "string" +}, +"associatedObjectType": { +"description": "Output only. Type of object associated with this migration compatibility issue.", +"enum": [ +"OBJECT_TYPE_UNSPECIFIED", +"DATABASE_DEPLOYMENT", +"DATABASE", +"SCHEMA" +], +"enumDescriptions": [ +"An unspecified object type.", +"A database deployment object type.", +"A logical database object type.", +"A schema object type." +], +"readOnly": true, +"type": "string" +}, +"associatedValue": { +"description": "Output only. A string representation of actual value associated with this issue. Some values may contain aggregated information, such as a flag name and the actual value assigned to it.", +"readOnly": true, +"type": "string" +}, +"category": { +"description": "Output only. Category of this compatibility issue.", +"enum": [ +"CATEGORY_UNSPECIFIED", +"DATABASE_FLAG", +"DATABASE_FEATURE" +], +"enumDescriptions": [ +"An unspecified compatibility category.", +"Database flag compatibility category.", +"Database feature compatibility category." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ListAssetsExportJobsResponse": { +"description": "Response message for listing assets export jobs.", +"id": "ListAssetsExportJobsResponse", +"properties": { +"assetsExportJobs": { +"description": "Output only. The list of assets export jobs.", +"items": { +"$ref": "AssetsExportJob" +}, +"readOnly": true, +"type": "array" +}, +"nextPageToken": { +"description": "Output only. A token identifying a page of results the server should return.", +"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" +}, +"ListRelationsResponse": { +"description": "Response message for listing relations.", +"id": "ListRelationsResponse", +"properties": { +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", +"type": "string" +}, +"relations": { +"description": "A list of relations.", +"items": { +"$ref": "Relation" +}, +"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" +}, +"MachinePreferences": { +"description": "The type of machines to consider when calculating virtual machine migration insights and recommendations for GCE. 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": { +"cloudDatabaseTarget": { +"$ref": "CloudDatabaseMigrationTarget", +"description": "Output only. A Cloud database migration target.", +"readOnly": true +}, +"computeEngineSoleTenantTarget": { +"$ref": "ComputeEngineSoleTenantMigrationTarget", +"description": "Output only. A Google Compute Engine Sole Tenant target.", +"readOnly": true +}, +"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 +}, +"gkeTarget": { +"$ref": "GoogleKubernetesEngineMigrationTarget", +"description": "Output only. A Google Kubernetes Engine target.", +"readOnly": true +}, +"issues": { +"description": "Output only. Issues associated with this migration.", +"items": { +"$ref": "Issue" +}, +"readOnly": true, +"type": "array" +}, +"vmwareEngineTarget": { +"$ref": "VmwareEngineMigrationTarget", +"description": "Output only. A VMWare Engine target.", +"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": { +"networkAdapters": { +"description": "Network adapter descriptions.", +"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": { +"addresses": { +"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": "Connection state (e.g. CONNECTED).", +"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" +}, +"OperatingSystemPricingPreferences": { +"description": "Pricing options for OS images.", +"id": "OperatingSystemPricingPreferences", +"properties": { +"rhel": { +"$ref": "OperatingSystemPricingPreferencesOperatingSystemPricing", +"description": "Optional. Pricing options for RHEL images." +}, +"sles": { +"$ref": "OperatingSystemPricingPreferencesOperatingSystemPricing", +"description": "Optional. Pricing options for SLES images." +}, +"slesForSap": { +"$ref": "OperatingSystemPricingPreferencesOperatingSystemPricing", +"description": "Optional. Pricing options for SLES for SAP images." +}, +"windows": { +"$ref": "OperatingSystemPricingPreferencesOperatingSystemPricing", +"description": "Optional. Pricing options for Windows images. No commitment plans are available, set it to unspecified." +} +}, +"type": "object" +}, +"OperatingSystemPricingPreferencesOperatingSystemPricing": { +"description": "Pricing options of an OS image.", +"id": "OperatingSystemPricingPreferencesOperatingSystemPricing", +"properties": { +"commitmentPlan": { +"description": "Optional. The plan of commitments for committed use discounts (CUD).", +"enum": [ +"COMMITMENT_PLAN_UNSPECIFIED", +"COMMITMENT_PLAN_ON_DEMAND", +"COMMITMENT_PLAN_1_YEAR", +"COMMITMENT_PLAN_3_YEAR" +], +"enumDescriptions": [ +"Unspecified commitment plan.", +"No commitment plan (on-demand usage).", +"1-year committed use discount.", +"3-year committed use discount." +], +"type": "string" +}, +"licenseType": { +"description": "Optional. License type for premium images (RHEL, RHEL for SAP, SLES, SLES for SAP, Windows Server).", +"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 license." +], +"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 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" +}, +"OutputFile": { +"description": "Contains a single output file.", +"id": "OutputFile", +"properties": { +"csvOutputFile": { +"$ref": "CsvOutputFile", +"description": "Output only. CSV output file.", +"readOnly": true +}, +"fileSizeBytes": { +"description": "Output only. File size in bytes.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"xlsxOutputFile": { +"$ref": "XlsxOutputFile", +"description": "Output only. XLSX output file.", +"readOnly": true +} +}, +"type": "object" +}, +"OutputFileList": { +"description": "Contains a list of output files.", +"id": "OutputFileList", +"properties": { +"entries": { +"description": "List of output files.", +"items": { +"$ref": "OutputFile" +}, +"type": "array" +} +}, +"type": "object" +}, +"PayloadFile": { +"description": "Payload file for inline import job payload.", +"id": "PayloadFile", +"properties": { +"data": { +"description": "The file data.", +"format": "byte", +"type": "string" +}, +"name": { +"description": "The file name.", +"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" +}, +"databasePreferences": { +"$ref": "DatabasePreferences", +"description": "Optional. A set of preferences that applies to all databases in the context." +}, +"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" +}, +"regionPreferences": { +"$ref": "RegionPreferences", +"description": "Optional. 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. If unspecified, VirtualMachinePreferences.RegionPreferences is used." +}, +"updateTime": { +"description": "Output only. The timestamp when the preference set was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"virtualMachinePreferences": { +"$ref": "VirtualMachinePreferences", +"description": "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" +}, +"Relation": { +"description": "Message representing a relation between 2 resource.", +"id": "Relation", +"properties": { +"createTime": { +"description": "Output only. The timestamp when the relation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dstAsset": { +"description": "Output only. The destination asset name in the relation.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Identifier. The identifier of the relation.", +"readOnly": true, +"type": "string" +}, +"srcAsset": { +"description": "Output only. The source asset name in the relation.", +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Optional. The type of the relation.", +"enum": [ +"TYPE_UNSPECIFIED", +"LOGICAL_DATABASE", +"DATABASE_DEPLOYMENT_HOSTING_SERVER" +], +"enumDescriptions": [ +"Default value.", +"DBDeployment -> Database", +"A relation between a machine/VM and the database deployment it hosts." +], +"type": "string" +} +}, +"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 unique assets across all the groups." +}, +"databaseStats": { +"$ref": "ReportSummaryAssetAggregateStats", +"description": "Output only. Aggregate statistics for unique database assets across all the groups.", +"readOnly": true +}, +"groupFindings": { +"description": "Findings for each Group included in this report.", +"items": { +"$ref": "ReportSummaryGroupFinding" +}, +"type": "array" +}, +"virtualMachineStats": { +"$ref": "ReportSummaryAssetAggregateStats", +"description": "Output only. Aggregate statistics for unique virtual machine assets across all the groups.", +"readOnly": true +} +}, +"type": "object" +}, +"ReportSummaryAssetAggregateStats": { +"description": "Aggregate statistics for a collection of assets.", +"id": "ReportSummaryAssetAggregateStats", +"properties": { +"assetAge": { +"$ref": "ReportSummaryChartData", +"deprecated": true, +"description": "Count of assets grouped by age." +}, +"coreCountHistogram": { +"$ref": "ReportSummaryHistogramChartData", +"description": "Histogram showing a distribution of logical CPU core counts." +}, +"databaseTypes": { +"$ref": "ReportSummaryChartData", +"description": "Output only. Count of assets grouped by database type. Keys here are taken from DatabaseType enum. Only present for databases.", +"readOnly": true +}, +"memoryBytesHistogram": { +"$ref": "ReportSummaryHistogramChartData", +"description": "Histogram showing a distribution of memory sizes." +}, +"memoryUtilization": { +"$ref": "ReportSummaryChartData", +"deprecated": true, +"description": "Total memory split into Used/Free buckets." +}, +"memoryUtilizationChart": { +"$ref": "ReportSummaryUtilizationChartData", +"description": "Total memory split into Used/Free buckets." +}, +"operatingSystem": { +"$ref": "ReportSummaryChartData", +"description": "Count of assets grouped by Operating System families. Only present for virtual machines." +}, +"storageBytesHistogram": { +"$ref": "ReportSummaryHistogramChartData", +"description": "Histogram showing a distribution of storage sizes." +}, +"storageUtilization": { +"$ref": "ReportSummaryChartData", +"deprecated": true, +"description": "Total storage split into Used/Free buckets." +}, +"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" +}, +"ReportSummaryDatabaseFinding": { +"description": "DatabaseFinding contains an aggregate costs and shapes for a single database type.", +"id": "ReportSummaryDatabaseFinding", +"properties": { +"allocatedAssetCount": { +"description": "Output only. Number of database assets which were successfully assigned in this finding.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"totalAssets": { +"description": "Output only. Number of database assets in this finding.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"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." +}, +"assetType": { +"description": "Output only. Asset type for the group finding.", +"enum": [ +"ASSET_TYPE_UNSPECIFIED", +"VIRTUAL_MACHINE", +"DATABASE" +], +"enumDescriptions": [ +"Unknown asset type.", +"Virtual Machine asset type", +"Database asset type" +], +"readOnly": true, +"type": "string" +}, +"databaseType": { +"description": "Output only. Source asset database type for the group finding. Only present for databases.", +"enum": [ +"DATABASE_TYPE_UNSPECIFIED", +"SQL_SERVER", +"MYSQL", +"POSTGRES" +], +"enumDescriptions": [ +"Unknown database type.", +"SQL Server database.", +"MySQL database.", +"PostgreSQL database." +], +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Description for this group finding.", +"type": "string" +}, +"displayName": { +"description": "Display Name for this group finding.", +"type": "string" +}, +"group": { +"description": "Output only. Full name of the group.", +"readOnly": true, +"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": { +"databaseFinding": { +"$ref": "ReportSummaryDatabaseFinding", +"description": "Output only. Details about databases in this finding. Only present for databases.", +"readOnly": true +}, +"description": { +"description": "Description for the Preference Set.", +"type": "string" +}, +"displayName": { +"description": "Display Name of the Preference Set", +"type": "string" +}, +"machineFinding": { +"$ref": "ReportSummaryMachineFinding", +"description": "Output only. A set of findings that applies to all virtual machines in the input. Only present for virtual machines.", +"readOnly": true +}, +"machinePreferences": { +"$ref": "VirtualMachinePreferences", +"description": "A set of preferences that applies to all machines in the context." +}, +"monthlyCostCompute": { +"$ref": "Money", +"description": "Output only. Compute monthly cost for this preference set.", +"readOnly": true +}, +"monthlyCostDatabaseBackup": { +"$ref": "Money", +"description": "Output only. Backup monthly cost for this preference set. Only present for databases.", +"readOnly": true +}, +"monthlyCostDatabaseLicensing": { +"$ref": "Money", +"description": "Output only. Database licensing monthly cost for this preference set. Only present for databases.", +"readOnly": true +}, +"monthlyCostGcveProtected": { +"$ref": "Money", +"description": "Output only. GCVE Protected nodes cost for this preference set.", +"readOnly": true +}, +"monthlyCostNetworkEgress": { +"$ref": "Money", +"description": "Output only. Network Egress monthly cost for this preference set. Only present for virtual machines.", +"readOnly": true +}, +"monthlyCostOsLicense": { +"$ref": "Money", +"description": "Output only. All operating systems licensing monthly cost for this preference set. Only present for virtual machines.", +"readOnly": true +}, +"monthlyCostOther": { +"$ref": "Money", +"description": "Output only. Miscellaneous monthly cost for this preference set.", +"readOnly": true +}, +"monthlyCostPortableVmwareLicense": { +"$ref": "Money", +"description": "Output only. VMware portable license monthly cost for this preference set. Only present for VMware target with portable license service type. This cost is not paid to google, but is an estimate of license costs paid to VMware.", +"readOnly": true +}, +"monthlyCostStorage": { +"$ref": "Money", +"description": "Output only. Storage monthly cost for this preference set.", +"readOnly": true +}, +"monthlyCostTotal": { +"$ref": "Money", +"description": "Output only. Total monthly cost for this preference set.", +"readOnly": true +}, +"preferenceSet": { +"$ref": "PreferenceSet", +"description": "Output only. A copy of the preference set used for this finding.", +"readOnly": true +}, +"preferredRegion": { +"deprecated": true, +"description": "Target region for this Preference Set", +"type": "string" +}, +"pricingTrack": { +"deprecated": true, +"description": "Text describing the pricing track specified for this Preference Set", +"type": "string" +}, +"soleTenantFinding": { +"$ref": "ReportSummarySoleTenantFinding", +"description": "A set of findings that applies to Stole-Tenant machines in the input. Only present for virtual machines." +}, +"topPriority": { +"deprecated": true, +"description": "Text describing the business priority specified for this Preference Set", +"type": "string" +}, +"vmwareEngineFinding": { +"$ref": "ReportSummaryVMWareEngineFinding", +"description": "A set of findings that applies to VMWare machines in the input. Only present for virtual machines." +} +}, +"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" +}, +"ReportSummaryMachineFinding": { +"description": "A set of findings that applies to assets of type Virtual/Physical Machine.", +"id": "ReportSummaryMachineFinding", +"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" +}, +"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" +}, +"RunAssetsExportJobRequest": { +"description": "A request to run an assets export job.", +"id": "RunAssetsExportJobRequest", +"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" +}, +"RunAssetsExportJobResponse": { +"description": "Response message for running an assets export job.", +"id": "RunAssetsExportJobResponse", +"properties": { +"assetsExportJobExecution": { +"$ref": "AssetsExportJobExecution", +"description": "Output only. Execution status of the assets export operation.", +"readOnly": true +} +}, +"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": { +"processes": { +"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" +}, +"name": { +"description": "Service name.", +"type": "string" +}, +"pid": { +"description": "Service pid.", +"format": "int64", +"type": "string" +}, +"startMode": { +"description": "Service start mode (raw, OS-agnostic).", +"type": "string" +}, +"state": { +"description": "Service state (raw, OS-agnostic).", +"type": "string" +}, +"status": { +"description": "Service status.", +"type": "string" +} +}, +"type": "object" +}, +"RunningServiceList": { +"description": "List of running guest OS services.", +"id": "RunningServiceList", +"properties": { +"services": { +"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." +}, +"netstat": { +"description": "Netstat (raw, OS-agnostic).", +"type": "string" +}, +"netstatTime": { +"$ref": "DateTime", +"description": "Netstat time collected." +} +}, +"type": "object" +}, +"Selinux": { +"description": "SELinux details.", +"id": "Selinux", +"properties": { +"enabled": { +"description": "Is SELinux enabled.", +"type": "boolean" +}, +"mode": { +"description": "SELinux mode enforcing / permissive.", +"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": { +"customerConsentForGoogleSalesToAccessMigrationCenter": { +"description": "Customer consent for Google sales to access their Cloud Migration Center project.", +"type": "boolean" +}, +"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" +}, +"SignedUri": { +"description": "Contains a signed URI.", +"id": "SignedUri", +"properties": { +"file": { +"description": "Output only. Name of the file the Signed URI references.", +"readOnly": true, +"type": "string" +}, +"uri": { +"description": "Output only. Download URI for the file.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"SignedUriDestination": { +"description": "Signed URI destination configuration.", +"id": "SignedUriDestination", +"properties": { +"fileFormat": { +"description": "Required. The file format to export.", +"enum": [ +"FILE_FORMAT_UNSPECIFIED", +"CSV", +"XLSX" +], +"enumDescriptions": [ +"Unspecified file format will be treated as CSV.", +"CSV file format.", +"XLSX file format which used in Excel." +], +"type": "string" +} +}, +"type": "object" +}, +"SignedUris": { +"description": "Contains a list of Signed URIs.", +"id": "SignedUris", +"properties": { +"signedUris": { +"description": "Output only. List of signed URIs.", +"items": { +"$ref": "SignedUri" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"SoftwareInsight": { +"description": "An insight regarding software detected on an asset.", +"id": "SoftwareInsight", +"properties": { +"detectedSoftware": { +"$ref": "DetectedSoftware", +"description": "Output only. Information about the detected software.", +"readOnly": true +} +}, +"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", +"COMMITMENT_FLEXIBLE_1_YEAR", +"COMMITMENT_FLEXIBLE_3_YEAR" +], +"enumDescriptions": [ +"Unspecified commitment plan.", +"No commitment plan (on-demand usage).", +"1-year regular committed use discount.", +"3-year regular committed use discount.", +"1-year flexible committed use discount. While not supported in the v1 API, this value is converted to UNSPECIFIED in conversions to the v1 API.", +"3-year flexible committed use discount. While not supported in the v1 API, this value is converted to UNSPECIFIED in conversions to the v1 API." +], +"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" +}, +"osPricingPreferences": { +"$ref": "OperatingSystemPricingPreferences", +"description": "Optional. Pricing options for OS images." +} +}, +"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" +}, +"isManaged": { +"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" +}, +"TimeZone": { +"description": "Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones).", +"id": "TimeZone", +"properties": { +"id": { +"description": "IANA Time Zone Database time zone. For example \"America/New_York\".", +"type": "string" +}, +"version": { +"description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", +"type": "string" +} +}, +"type": "object" +}, +"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 URL.", +"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" +}, +"VMwareEngineMachinePreferences": { +"description": "The type of machines to consider when calculating virtual machine migration insights and recommendations for VMware Engine. Not all machine types are available in all zones and regions.", +"id": "VMwareEngineMachinePreferences", +"properties": { +"allowedMachineSeries": { +"description": "Optional. VMware Engine on Google Cloud machine series to consider for insights and recommendations. If empty, no restriction is applied on the machine series.", +"items": { +"$ref": "MachineSeries" +}, +"type": "array" +}, +"protectedNodes": { +"description": "Optional. Whether to use VMware Engine Protected offering.", +"enum": [ +"PROTECTED_NODES_UNSPECIFIED", +"PROTECTED_NODES_ENABLED", +"PROTECTED_NODES_DISABLED" +], +"enumDescriptions": [ +"Unspecified protected nodes preference.", +"Use only protected nodes for the selected allowed_machine_series.", +"Do not use protected nodes." +], +"type": "string" +}, +"storageOnlyNodes": { +"description": "Optional. Whether to use storage-only nodes, if those are available.", +"enum": [ +"STORAGE_ONLY_NODES_UNSPECIFIED", +"STORAGE_ONLY_NODES_ENABLED", +"STORAGE_ONLY_NODES_DISABLED" +], +"enumDescriptions": [ +"Unspecified storage-only nodes preference.", +"Use storage-only nodes for selected allowed_machine_series, if available.", +"Do not use storage-only nodes." +], +"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" +}, +"VirtualMachineArchitectureDetails": { +"description": "Details of the VM architecture.", +"id": "VirtualMachineArchitectureDetails", +"properties": { +"bios": { +"$ref": "BiosDetails", +"description": "BIOS Details." +}, +"cpuArchitecture": { +"description": "CPU architecture, e.g., \"x64-based PC\", \"x86_64\", \"i686\" etc.", +"type": "string" +}, +"cpuManufacturer": { +"description": "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 VirtualMachineDetails.core_count instead. Number of CPU threads allocated to the machine.", +"format": "int32", +"type": "integer" +}, +"firmware": { +"description": "Firmware (BIOS/efi).", +"type": "string" +}, +"hyperthreading": { +"description": "CPU hyperthreading support.", +"enum": [ +"HYPER_THREADING_UNSPECIFIED", +"HYPER_THREADING_DISABLED", +"HYPER_THREADING_ENABLED" +], +"enumDescriptions": [ +"Unknown (default value).", +"Hyperthreading is disabled.", +"Hyperthreading is enabled." +], +"type": "string" +}, +"vendor": { +"description": "Hardware vendor.", +"type": "string" +} +}, +"type": "object" +}, +"VirtualMachineDetails": { +"description": "Details of a VirtualMachine.", +"id": "VirtualMachineDetails", +"properties": { +"coreCount": { +"description": "Number of logical CPU cores in the VirtualMachine. Must be non-negative.", +"format": "int32", +"type": "integer" +}, +"createTime": { +"description": "VM creation timestamp.", +"format": "google-datetime", +"type": "string" +}, +"guestOs": { +"$ref": "GuestOsDetails", +"description": "Guest OS information." +}, +"memoryMb": { +"description": "The amount of memory in the VirtualMachine. Must be non-negative.", +"format": "int32", +"type": "integer" +}, +"osFamily": { +"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 running on the VirtualMachine.", +"type": "string" +}, +"osVersion": { +"description": "The version of the operating system running on the virtual machine.", +"type": "string" +}, +"platform": { +"$ref": "PlatformDetails", +"description": "Platform information." +}, +"powerState": { +"description": "Power state of VM (poweredOn or poweredOff).", +"type": "string" +}, +"vcenterFolder": { +"description": "Folder name in vCenter where asset resides.", +"type": "string" +}, +"vcenterUrl": { +"description": "vCenter URL used in collection.", +"type": "string" +}, +"vcenterVmId": { +"description": "vCenter VM ID.", +"type": "string" +}, +"vmArchitecture": { +"$ref": "VirtualMachineArchitectureDetails", +"description": "VM architecture details (vendor, cpu arch)." +}, +"vmDisks": { +"$ref": "VirtualMachineDiskDetails", +"description": "VM disk details." +}, +"vmName": { +"description": "Virtual Machine display name.", +"type": "string" +}, +"vmNetwork": { +"$ref": "VirtualMachineNetworkDetails", +"description": "VM network details." +}, +"vmUuid": { +"description": "Virtual Machine unique identifier.", +"type": "string" +} +}, +"type": "object" +}, +"VirtualMachineDiskDetails": { +"description": "Details of VM disks.", +"id": "VirtualMachineDiskDetails", +"properties": { +"disks": { +"$ref": "DiskEntryList", +"description": "List of disks." +}, +"hddTotalCapacityBytes": { +"description": "Disk total Capacity.", +"format": "int64", +"type": "string" +}, +"hddTotalFreeBytes": { +"description": "Total Disk Free Space.", +"format": "int64", +"type": "string" +}, +"lsblkJson": { +"description": "Raw lsblk output in json.", +"type": "string" +} +}, +"type": "object" +}, +"VirtualMachineNetworkDetails": { +"description": "Details of network adapters and settings.", +"id": "VirtualMachineNetworkDetails", +"properties": { +"defaultGw": { +"description": "Default gateway address.", +"type": "string" +}, +"networkAdapters": { +"$ref": "NetworkAdapterList", +"description": "List of network adapters." +}, +"primaryIpAddress": { +"description": "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": "Public IP address of the machine.", +"type": "string" +} +}, +"type": "object" +}, +"VirtualMachinePreferences": { +"description": "VirtualMachinePreferences enables you to create sets of preferences, 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", +"COMMITMENT_PLAN_FLEXIBLE_ONE_YEAR", +"COMMITMENT_PLAN_FLEXIBLE_THREE_YEARS" +], +"enumDescriptions": [ +"Unspecified commitment plan.", +"No commitment plan.", +"1-year regular committed use discount.", +"3-year regular committed use discount.", +"1-year flexible committed use discount. While not supported in the v1 API, this value is converted to UNSPECIFIED in conversions to the v1 API.", +"3-year flexible committed use discount. While not supported in the v1 API, this value is converted to UNSPECIFIED in conversions to the v1 API." +], +"type": "string" +}, +"computeEnginePreferences": { +"$ref": "ComputeEnginePreferences", +"description": "Compute Engine preferences concern insights and recommendations for Compute Engine target." +}, +"networkCostParameters": { +"$ref": "VirtualMachinePreferencesNetworkCostParameters", +"description": "Optional. Parameters that affect network cost estimations. If not set, default values will be used for the parameters." +}, +"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. If PreferenceSet.RegionPreferences is specified, it overrides this field." +}, +"sizingOptimizationCustomParameters": { +"$ref": "VirtualMachinePreferencesSizingOptimizationCustomParameters", +"description": "Optional. Custom data to use for sizing optimizations. Relevant when SizingOptimizationStrategy is set to \"custom\"." +}, +"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", +"SIZING_OPTIMIZATION_STRATEGY_CUSTOM" +], +"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.", +"Virtual machine sizing will be determined by custom parameters. While not supported in the v1 API, this value is converted to UNSPECIFIED in conversions to the v1 API." +], +"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.", +"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" +}, +"VirtualMachinePreferencesNetworkCostParameters": { +"description": "Parameters that affect network cost estimations.", +"id": "VirtualMachinePreferencesNetworkCostParameters", +"properties": { +"estimatedEgressTrafficPercentage": { +"description": "Optional. An estimated percentage of priced outbound traffic (egress traffic) from the measured outbound traffic. Must be in the interval [0, 100].", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"VirtualMachinePreferencesSizingOptimizationCustomParameters": { +"description": "Custom data to use for sizing optimizations.", +"id": "VirtualMachinePreferencesSizingOptimizationCustomParameters", +"properties": { +"aggregationMethod": { +"description": "Optional. Type of statistical aggregation of a resource utilization data, on which to base the sizing metrics.", +"enum": [ +"AGGREGATION_METHOD_UNSPECIFIED", +"AGGREGATION_METHOD_AVERAGE", +"AGGREGATION_METHOD_MEDIAN", +"AGGREGATION_METHOD_NINETY_FIFTH_PERCENTILE", +"AGGREGATION_METHOD_PEAK" +], +"enumDescriptions": [ +"Unspecified aggregation method. Can be used for default value.", +"Average of utilization data.", +"Median of utilization data.", +"95th percentile of utilization data.", +"Peak of utilization data." +], +"type": "string" +}, +"cpuUsagePercentage": { +"description": "Optional. Desired percentage of CPU usage. Must be in the interval [1, 100] (or 0 for default value).", +"format": "int32", +"type": "integer" +}, +"memoryUsagePercentage": { +"description": "Optional. Desired percentage of memory usage. Must be in the interval [1, 100] (or 0 for default value).", +"format": "int32", +"type": "integer" +}, +"storageMultiplier": { +"description": "Optional. Desired increase factor of storage, relative to currently used storage. Must be in the interval [1.0, 2.0] (or 0 for default value).", +"format": "double", +"type": "number" +} +}, +"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" +}, +"rdmCompatibilityMode": { +"description": "RDM compatibility mode.", +"type": "string" +}, +"shared": { +"description": "Is VMDK shared with other VMs.", +"type": "boolean" +}, +"vmdkDiskMode": { +"description": "VMDK disk mode.", +"type": "string" +} +}, +"type": "object" +}, +"VmwareEngineMigrationTarget": { +"description": "VMWare engine migration target.", +"id": "VmwareEngineMigrationTarget", +"properties": {}, +"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", +"COMMITMENT_FLEXIBLE_3_YEAR_MONTHLY_PAYMENTS", +"COMMITMENT_FLEXIBLE_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).", +"3-year flexible commitment (monthly payments). While not supported in the v1 API, this value is converted to UNSPECIFIED in conversions to the v1 API.", +"3-year flexible commitment (upfront payment). While not supported in the v1 API, this value is converted to UNSPECIFIED in conversions to the v1 API." +], +"type": "string" +}, +"cpuOvercommitRatio": { +"description": "CPU overcommit ratio. Acceptable values are between 1.0 and 8.0, with 0.1 increment.", +"format": "double", +"type": "number" +}, +"licenseDiscountPercentage": { +"description": "Optional. Discount percentage for the license type offered to you by Broadcom. Must be between 0 and 100. Only valid when service_type is set to SERVICE_TYPE_PORTABLE_LICENSE.", +"format": "float", +"type": "number" +}, +"machinePreferences": { +"$ref": "VMwareEngineMachinePreferences", +"description": "Optional. Preferences concerning the machine types to consider on Google Cloud VMware Engine." +}, +"memoryOvercommitRatio": { +"description": "Memory overcommit ratio. Acceptable values are 1.0, 1.25, 1.5, 1.75 and 2.0.", +"format": "double", +"type": "number" +}, +"serviceType": { +"description": "Optional. VMWare Service Type (Fully Licensed or Portable License).", +"enum": [ +"SERVICE_TYPE_UNSPECIFIED", +"SERVICE_TYPE_FULLY_LICENSED", +"SERVICE_TYPE_PORTABLE_LICENSE" +], +"enumDescriptions": [ +"Same as SERVICE_TYPE_FULLY_LICENSED.", +"Google provided VCF license.", +"Bring Your Own License." +], +"type": "string" +}, +"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" +}, +"vcenterVersion": { +"description": "vCenter version.", +"type": "string" +} +}, +"type": "object" +}, +"XlsxOutputFile": { +"description": "Contains a single output file of type XLSX.", +"id": "XlsxOutputFile", +"properties": { +"signedUri": { +"$ref": "SignedUri", +"description": "Output only. Signed URI destination.", +"readOnly": true +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Migration Center 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/mybusinesslodging.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/mybusinesslodging.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..d2ada082af60be463df1a06bc2dbafa5ef51fed9 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/mybusinesslodging.v1.json @@ -0,0 +1,6240 @@ +{ +"basePath": "", +"baseUrl": "https://mybusinesslodging.googleapis.com/", +"batchPath": "batch", +"canonicalName": "My Business Lodging", +"description": "The My Business Lodging API enables managing lodging business information 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": "mybusinesslodging:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://mybusinesslodging.mtls.googleapis.com/", +"name": "mybusinesslodging", +"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": { +"methods": { +"getLodging": { +"description": "Returns the Lodging of a specific location.", +"flatPath": "v1/locations/{locationsId}/lodging", +"httpMethod": "GET", +"id": "mybusinesslodging.locations.getLodging", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Google identifier for this location in the form: `locations/{location_id}/lodging`", +"location": "path", +"pattern": "^locations/[^/]+/lodging$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Required. The specific fields to return. Use \"*\" to include all fields. Repeated field items cannot be individually specified.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Lodging" +} +}, +"updateLodging": { +"description": "Updates the Lodging of a specific location.", +"flatPath": "v1/locations/{locationsId}/lodging", +"httpMethod": "PATCH", +"id": "mybusinesslodging.locations.updateLodging", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Google identifier for this location in the form: `locations/{location_id}/lodging`", +"location": "path", +"pattern": "^locations/[^/]+/lodging$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The specific fields to update. Use \"*\" to update all fields, which may include unsetting empty fields in the request. Repeated field items cannot be individually updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Lodging" +}, +"response": { +"$ref": "Lodging" +} +} +}, +"resources": { +"lodging": { +"methods": { +"getGoogleUpdated": { +"description": "Returns the Google updated Lodging of a specific location.", +"flatPath": "v1/locations/{locationsId}/lodging:getGoogleUpdated", +"httpMethod": "GET", +"id": "mybusinesslodging.locations.lodging.getGoogleUpdated", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Google identifier for this location in the form: `locations/{location_id}/lodging`", +"location": "path", +"pattern": "^locations/[^/]+/lodging$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Required. The specific fields to return. Use \"*\" to include all fields. Repeated field items cannot be individually specified.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:getGoogleUpdated", +"response": { +"$ref": "GetGoogleUpdatedLodgingResponse" +} +} +} +} +} +} +}, +"revision": "20241002", +"rootUrl": "https://mybusinesslodging.googleapis.com/", +"schemas": { +"Accessibility": { +"description": "Physical adaptations made to the property in consideration of varying levels of human physical ability.", +"id": "Accessibility", +"properties": { +"mobilityAccessible": { +"description": "Mobility accessible. Throughout the property there are physical adaptations to ease the stay of a person in a wheelchair, such as auto-opening doors, wide elevators, wide bathrooms or ramps.", +"type": "boolean" +}, +"mobilityAccessibleElevator": { +"description": "Mobility accessible elevator. A lift that transports people from one level to another and is built to accommodate a wheelchair-using passenger owing to the width of its doors and placement of call buttons.", +"type": "boolean" +}, +"mobilityAccessibleElevatorException": { +"description": "Mobility accessible elevator exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"mobilityAccessibleException": { +"description": "Mobility accessible exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"mobilityAccessibleParking": { +"description": "Mobility accessible parking. The presence of a marked, designated area of prescribed size in which only registered, labeled vehicles transporting a person with physical challenges may park.", +"type": "boolean" +}, +"mobilityAccessibleParkingException": { +"description": "Mobility accessible parking exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"mobilityAccessiblePool": { +"description": "Mobility accessible pool. A swimming pool equipped with a mechanical chair that can be lowered and raised for the purpose of moving physically challenged guests into and out of the pool. May be powered by electricity or water. Also known as pool lift.", +"type": "boolean" +}, +"mobilityAccessiblePoolException": { +"description": "Mobility accessible pool exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +} +}, +"type": "object" +}, +"Activities": { +"description": "Amenities and features related to leisure and play.", +"id": "Activities", +"properties": { +"beachAccess": { +"description": "Beach access. The hotel property is in close proximity to a beach and offers a way to get to that beach. This can include a route to the beach such as stairs down if hotel is on a bluff, or a short trail. Not the same as beachfront (with beach access, the hotel's proximity is close to but not right on the beach).", +"type": "boolean" +}, +"beachAccessException": { +"description": "Beach access exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"beachFront": { +"description": "Breach front. The hotel property is physically located on the beach alongside an ocean, sea, gulf, or bay. It is not on a lake, river, stream, or pond. The hotel is not separated from the beach by a public road allowing vehicular, pedestrian, or bicycle traffic.", +"type": "boolean" +}, +"beachFrontException": { +"description": "Beach front exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"bicycleRental": { +"description": "Bicycle rental. The hotel owns bicycles that it permits guests to borrow and use. Can be free or for a fee.", +"type": "boolean" +}, +"bicycleRentalException": { +"description": "Bicycle rental exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"boutiqueStores": { +"description": "Boutique stores. There are stores selling clothing, jewelry, art and decor either on hotel premises or very close by. Does not refer to the hotel gift shop or convenience store.", +"type": "boolean" +}, +"boutiqueStoresException": { +"description": "Boutique stores exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"casino": { +"description": "Casino. A space designated for gambling and gaming featuring croupier-run table and card games, as well as electronic slot machines. May be on hotel premises or located nearby.", +"type": "boolean" +}, +"casinoException": { +"description": "Casino exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"freeBicycleRental": { +"description": "Free bicycle rental. The hotel owns bicycles that it permits guests to borrow and use for free.", +"type": "boolean" +}, +"freeBicycleRentalException": { +"description": "Free bicycle rental exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"freeWatercraftRental": { +"description": "Free watercraft rental. The hotel owns watercraft that it permits guests to borrow and use for free.", +"type": "boolean" +}, +"freeWatercraftRentalException": { +"description": "Free Watercraft rental exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"gameRoom": { +"description": "Game room. There is a room at the hotel containing electronic machines for play such as pinball, prize machines, driving simulators, and other items commonly found at a family fun center or arcade. May also include non-electronic games like pool, foosball, darts, and more. May or may not be designed for children. Also known as arcade, fun room, or family fun center.", +"type": "boolean" +}, +"gameRoomException": { +"description": "Game room exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"golf": { +"description": "Golf. There is a golf course on hotel grounds or there is a nearby, independently run golf course that allows use by hotel guests. Can be free or for a fee.", +"type": "boolean" +}, +"golfException": { +"description": "Golf exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"horsebackRiding": { +"description": "Horseback riding. The hotel has a horse barn onsite or an affiliation with a nearby barn to allow for guests to sit astride a horse and direct it to walk, trot, cantor, gallop and/or jump. Can be in a riding ring, on designated paths, or in the wilderness. May or may not involve instruction.", +"type": "boolean" +}, +"horsebackRidingException": { +"description": "Horseback riding exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"nightclub": { +"description": "Nightclub. There is a room at the hotel with a bar, a dance floor, and seating where designated staffers play dance music. There may also be a designated area for the performance of live music, singing and comedy acts.", +"type": "boolean" +}, +"nightclubException": { +"description": "Nightclub exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"privateBeach": { +"description": "Private beach. The beach which is in close proximity to the hotel is open only to guests.", +"type": "boolean" +}, +"privateBeachException": { +"description": "Private beach exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"scuba": { +"description": "Scuba. The provision for guests to dive under naturally occurring water fitted with a self-contained underwater breathing apparatus (SCUBA) for the purpose of exploring underwater life. Apparatus consists of a tank providing oxygen to the diver through a mask. Requires certification of the diver and supervision. The hotel may have the activity at its own waterfront or have an affiliation with a nearby facility. Required equipment is most often supplied to guests. Can be free or for a fee. Not snorkeling. Not done in a swimming pool.", +"type": "boolean" +}, +"scubaException": { +"description": "Scuba exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"snorkeling": { +"description": "Snorkeling. The provision for guests to participate in a recreational water activity in which swimmers wear a diving mask, a simple, shaped breathing tube and flippers/swim fins for the purpose of exploring below the surface of an ocean, gulf or lake. Does not usually require user certification or professional supervision. Equipment may or may not be available for rent or purchase. Not scuba diving.", +"type": "boolean" +}, +"snorkelingException": { +"description": "Snorkeling exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"tennis": { +"description": "Tennis. The hotel has the requisite court(s) on site or has an affiliation with a nearby facility for the purpose of providing guests with the opportunity to play a two-sided court-based game in which players use a stringed racquet to hit a ball across a net to the side of the opposing player. The court can be indoors or outdoors. Instructors, racquets and balls may or may not be provided.", +"type": "boolean" +}, +"tennisException": { +"description": "Tennis exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"waterSkiing": { +"description": "Water skiing. The provision of giving guests the opportunity to be pulled across naturally occurring water while standing on skis and holding a tow rope attached to a motorboat. Can occur on hotel premises or at a nearby waterfront. Most often performed in a lake or ocean.", +"type": "boolean" +}, +"waterSkiingException": { +"description": "Water skiing exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"watercraftRental": { +"description": "Watercraft rental. The hotel owns water vessels that it permits guests to borrow and use. Can be free or for a fee. Watercraft may include boats, pedal boats, rowboats, sailboats, powerboats, canoes, kayaks, or personal watercraft (such as a Jet Ski).", +"type": "boolean" +}, +"watercraftRentalException": { +"description": "Watercraft rental exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +} +}, +"type": "object" +}, +"Business": { +"description": "Features of the property of specific interest to the business traveler.", +"id": "Business", +"properties": { +"businessCenter": { +"description": "Business center. A designated room at the hotel with one or more desks and equipped with guest-use computers, printers, fax machines and/or photocopiers. May or may not be open 24/7. May or may not require a key to access. Not a meeting room or conference room.", +"type": "boolean" +}, +"businessCenterException": { +"description": "Business center exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"meetingRooms": { +"description": "Meeting rooms. Rooms at the hotel designated for business-related gatherings. Rooms are usually equipped with tables or desks, office chairs and audio/visual facilities to allow for presentations and conference calls. Also known as conference rooms.", +"type": "boolean" +}, +"meetingRoomsCount": { +"description": "Meeting rooms count. The number of meeting rooms at the property.", +"format": "int32", +"type": "integer" +}, +"meetingRoomsCountException": { +"description": "Meeting rooms count exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"meetingRoomsException": { +"description": "Meeting rooms exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +} +}, +"type": "object" +}, +"Connectivity": { +"description": "The ways in which the property provides guests with the ability to access the internet.", +"id": "Connectivity", +"properties": { +"freeWifi": { +"description": "Free wifi. The hotel offers guests wifi for free.", +"type": "boolean" +}, +"freeWifiException": { +"description": "Free wifi exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"publicAreaWifiAvailable": { +"description": "Public area wifi available. Guests have the ability to wirelessly connect to the internet in the areas of the hotel accessible to anyone. Can be free or for a fee.", +"type": "boolean" +}, +"publicAreaWifiAvailableException": { +"description": "Public area wifi available exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"publicInternetTerminal": { +"description": "Public internet terminal. An area of the hotel supplied with computers and designated for the purpose of providing guests with the ability to access the internet.", +"type": "boolean" +}, +"publicInternetTerminalException": { +"description": "Public internet terminal exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"wifiAvailable": { +"description": "Wifi available. The hotel provides the ability for guests to wirelessly connect to the internet. Can be in the public areas of the hotel and/or in the guest rooms. Can be free or for a fee.", +"type": "boolean" +}, +"wifiAvailableException": { +"description": "Wifi available exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +} +}, +"type": "object" +}, +"EcoCertification": { +"deprecated": true, +"description": "An eco certificate awarded to the hotel. Deprecated: this message is no longer populated. All certification data is now provided by BeCause.", +"id": "EcoCertification", +"properties": { +"awarded": { +"description": "Whether the eco certificate was awarded or not.", +"type": "boolean" +}, +"awardedException": { +"description": "Awarded exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"ecoCertificate": { +"description": "Required. The eco certificate.", +"enum": [ +"ECO_CERTIFICATE_UNSPECIFIED", +"ISO14001", +"ISO50001", +"ASIAN_ECOTOURISM", +"BIOSPHERE_RESPOSNIBLE_TOURISM", +"BUREAU_VERITAS", +"CONTROL_UNION", +"EARTHCHECK", +"ECO_CERTIFICATION_MALTA", +"ECOTOURISM_AUSTRALIAS_ECO", +"GREAT_GREEN_DEAL", +"GREEN_GLOBE", +"GREEN_GROWTH2050", +"GREEN_KEY", +"GREEN_KEY_ECO_RATING", +"GREEN_SEAL", +"GREEN_STAR", +"GREEN_TOURISM_ACTIVE", +"HILTON_LIGHTSTAY", +"HOSTELLING_INTERNATIONALS_QUALITY_AND_SUSTAINABILITY", +"HOTELES_MAS_VERDES", +"NORDIC_SWAN_ECOLABEL", +"PREFERRED_BY_NATURE_SUSTAINABLE_TOURISM", +"SUSTAINABLE_TRAVEL_IRELAND", +"TOF_TIGERS_INITITIVES_PUG", +"TRAVELIFE", +"UNITED_CERTIFICATION_SYSTEMS_LIMITED", +"VIREO_SRL" +], +"enumDescriptions": [ +"Default EcoCertificate. Do not use.", +"ISO14001.", +"ISO50001.", +"Asian Ecotourism Standard for Accommodations (AESA).", +"Biosphere Responsible Tourism Standard.", +"Bureau Veritas.", +"Control Union.", +"EarthCheck.", +"Eco-Certification Malta Standard.", +"Ecotourism Australia's ECO Certification Standard.", +"GREAT Green Deal Certification.", +"Green Globe.", +"Green Growth 2050 Standard.", +"Green Key.", +"Geen Key Eco Rating.", +"Green Seal.", +"Green Star Hotel Standard.", +"Green Tourism Active Standard.", +"Hilton LightStay.", +"Hostelling International's Quality and Sustainability Standard.", +"Hoteles m\u00e1s Verdes (AHT) Standard.", +"Nordic Swan Ecolabel.", +"Preferred by Nature Sustainable Tourism Standard for Accommodation.", +"Sustainable Travel Ireland \u2013 GSTC Industry Criteria.", +"TOFTigers Initiative's Pug Standard.", +"Travelife Standard for Hotels & Accommodations.", +"United Certification Systems Limited.", +"Vireo Srl." +], +"type": "string" +} +}, +"type": "object" +}, +"EnergyEfficiency": { +"description": "Energy efficiency practices implemented at the hotel.", +"id": "EnergyEfficiency", +"properties": { +"carbonFreeEnergySources": { +"description": "Carbon free energy sources. Property sources carbon-free electricity via at least one of the following methods: on-site clean energy generation, power purchase agreement(s) with clean energy generators, green power provided by electricity supplier, or purchases of Energy Attribute Certificates (such as Renewable Energy Certificates or Guarantees of Origin).", +"type": "boolean" +}, +"carbonFreeEnergySourcesException": { +"description": "Carbon free energy sources exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"energyConservationProgram": { +"description": "Energy conservation program. The property tracks corporate-level Scope 1 and 2 GHG emissions, and Scope 3 emissions if available. The property has a commitment to implement initiatives that reduce GHG emissions year over year. The property has shown an absolute reduction in emissions for at least 2 years. Emissions are either verfied by a third-party and/or published in external communications.", +"type": "boolean" +}, +"energyConservationProgramException": { +"description": "Energy conservation program exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"energyEfficientHeatingAndCoolingSystems": { +"description": "Energy efficient heating and cooling systems. The property doesn't use chlorofluorocarbon (CFC)-based refrigerants in heating, ventilating, and air-conditioning systems unless a third-party audit shows it's not economically feasible. The CFC-based refrigerants which are used should have a Global Warming Potential (GWP) \u2264 10. The property uses occupancy sensors on HVAC systems in back-of-house spaces, meeting rooms, and other low-traffic areas.", +"type": "boolean" +}, +"energyEfficientHeatingAndCoolingSystemsException": { +"description": "Energy efficient heating and cooling systems exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"energyEfficientLighting": { +"description": "Energy efficient lighting. At least 75% of the property's lighting is energy efficient, using lighting that is more than 45 lumens per watt \u2013 typically LED or CFL lightbulbs.", +"type": "boolean" +}, +"energyEfficientLightingException": { +"description": "Energy efficient lighting exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"energySavingThermostats": { +"description": "Energy saving thermostats. The property installed energy-saving thermostats throughout the building to conserve energy when rooms or areas are not in use. Energy-saving thermostats are devices that control heating/cooling in the building by learning temperature preferences and automatically adjusting to energy-saving temperatures as the default. The thermostats are automatically set to a temperature between 68-78 degrees F (20-26 \u00b0C), depending on seasonality. In the winter, set the thermostat to 68\u00b0F (20\u00b0C) when the room is occupied, lowering room temperature when unoccupied. In the summer, set the thermostat to 78\u00b0F (26\u00b0C) when the room is occupied.", +"type": "boolean" +}, +"energySavingThermostatsException": { +"description": "Energy saving thermostats exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"greenBuildingDesign": { +"description": "Output only. Green building design. True if the property has been awarded a relevant certification.", +"readOnly": true, +"type": "boolean" +}, +"greenBuildingDesignException": { +"description": "Output only. Green building design exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"readOnly": true, +"type": "string" +}, +"independentOrganizationAuditsEnergyUse": { +"description": "Independent organization audits energy use. The property conducts an energy audit at least every 5 years, the results of which are either verified by a third-party and/or published in external communications. An energy audit is a detailed assessment of the facility which provides recommendations to existing operations and procedures to improve energy efficiency, available incentives or rebates,and opportunities for improvements through renovations or upgrades. Examples of organizations that conduct credible third party audits include: Engie Impact, DNV GL (EU), Dexma, and local utility providers (they often provide energy and water audits).", +"type": "boolean" +}, +"independentOrganizationAuditsEnergyUseException": { +"description": "Independent organization audits energy use exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +} +}, +"type": "object" +}, +"EnhancedCleaning": { +"description": "Enhanced cleaning measures implemented by the hotel during COVID-19.", +"id": "EnhancedCleaning", +"properties": { +"commercialGradeDisinfectantCleaning": { +"description": "Commercial-grade disinfectant used to clean the property.", +"type": "boolean" +}, +"commercialGradeDisinfectantCleaningException": { +"description": "Commercial grade disinfectant cleaning exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"commonAreasEnhancedCleaning": { +"description": "Enhanced cleaning of common areas.", +"type": "boolean" +}, +"commonAreasEnhancedCleaningException": { +"description": "Common areas enhanced cleaning exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"employeesTrainedCleaningProcedures": { +"description": "Employees trained in COVID-19 cleaning procedures.", +"type": "boolean" +}, +"employeesTrainedCleaningProceduresException": { +"description": "Employees trained cleaning procedures exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"employeesTrainedThoroughHandWashing": { +"description": "Employees trained in thorough hand-washing.", +"type": "boolean" +}, +"employeesTrainedThoroughHandWashingException": { +"description": "Employees trained thorough hand washing exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"employeesWearProtectiveEquipment": { +"description": "Employees wear masks, face shields, and/or gloves.", +"type": "boolean" +}, +"employeesWearProtectiveEquipmentException": { +"description": "Employees wear protective equipment exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"guestRoomsEnhancedCleaning": { +"description": "Enhanced cleaning of guest rooms.", +"type": "boolean" +}, +"guestRoomsEnhancedCleaningException": { +"description": "Guest rooms enhanced cleaning exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +} +}, +"type": "object" +}, +"Families": { +"description": "Services and amenities for families and young guests.", +"id": "Families", +"properties": { +"babysitting": { +"description": "Babysitting. Child care that is offered by hotel staffers or coordinated by hotel staffers with local child care professionals. Can be free or for a fee.", +"type": "boolean" +}, +"babysittingException": { +"description": "Babysitting exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"kidsActivities": { +"description": "Kids activities. Recreational options such as sports, films, crafts and games designed for the enjoyment of children and offered at the hotel. May or may not be supervised. May or may not be at a designated time or place. Cab be free or for a fee.", +"type": "boolean" +}, +"kidsActivitiesException": { +"description": "Kids activities exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"kidsClub": { +"description": "Kids club. An organized program of group activities held at the hotel and designed for the enjoyment of children. Facilitated by hotel staff (or staff procured by the hotel) in an area(s) designated for the purpose of entertaining children without their parents. May include games, outings, water sports, team sports, arts and crafts, and films. Usually has set hours. Can be free or for a fee. Also known as Kids Camp or Kids program.", +"type": "boolean" +}, +"kidsClubException": { +"description": "Kids club exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"kidsFriendly": { +"description": "Kids friendly. The hotel has one or more special features for families with children, such as reduced rates, child-sized beds, kids' club, babysitting service, or suitable place to play on premises.", +"type": "boolean" +}, +"kidsFriendlyException": { +"description": "Kids friendly exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +} +}, +"type": "object" +}, +"FoodAndDrink": { +"description": "Meals, snacks, and beverages available at the property.", +"id": "FoodAndDrink", +"properties": { +"bar": { +"description": "Bar. A designated room, lounge or area of an on-site restaurant with seating at a counter behind which a hotel staffer takes the guest's order and provides the requested alcoholic drink. Can be indoors or outdoors. Also known as Pub.", +"type": "boolean" +}, +"barException": { +"description": "Bar exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"breakfastAvailable": { +"description": "Breakfast available. The morning meal is offered to all guests. Can be free or for a fee.", +"type": "boolean" +}, +"breakfastAvailableException": { +"description": "Breakfast available exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"breakfastBuffet": { +"description": "Breakfast buffet. Breakfast meal service where guests serve themselves from a variety of dishes/foods that are put out on a table.", +"type": "boolean" +}, +"breakfastBuffetException": { +"description": "Breakfast buffet exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"buffet": { +"description": "Buffet. A type of meal where guests serve themselves from a variety of dishes/foods that are put out on a table. Includes lunch and/or dinner meals. A breakfast-only buffet is not sufficient.", +"type": "boolean" +}, +"buffetException": { +"description": "Buffet exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"dinnerBuffet": { +"description": "Dinner buffet. Dinner meal service where guests serve themselves from a variety of dishes/foods that are put out on a table.", +"type": "boolean" +}, +"dinnerBuffetException": { +"description": "Dinner buffet exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"freeBreakfast": { +"description": "Free breakfast. Breakfast is offered for free to all guests. Does not apply if limited to certain room packages.", +"type": "boolean" +}, +"freeBreakfastException": { +"description": "Free breakfast exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"restaurant": { +"description": "Restaurant. A business onsite at the hotel that is open to the public as well as guests, and offers meals and beverages to consume at tables or counters. May or may not include table service. Also known as cafe, buffet, eatery. A \"breakfast room\" where the hotel serves breakfast only to guests (not the general public) does not count as a restaurant.", +"type": "boolean" +}, +"restaurantException": { +"description": "Restaurant exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"restaurantsCount": { +"description": "Restaurants count. The number of restaurants at the hotel.", +"format": "int32", +"type": "integer" +}, +"restaurantsCountException": { +"description": "Restaurants count exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"roomService": { +"description": "Room service. A hotel staffer delivers meals prepared onsite to a guest's room as per their request. May or may not be available during specific hours. Services should be available to all guests (not based on rate/room booked/reward program, etc).", +"type": "boolean" +}, +"roomServiceException": { +"description": "Room service exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"tableService": { +"description": "Table service. A restaurant in which a staff member is assigned to a guest's table to take their order, deliver and clear away food, and deliver the bill, if applicable. Also known as sit-down restaurant.", +"type": "boolean" +}, +"tableServiceException": { +"description": "Table service exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"twentyFourHourRoomService": { +"description": "24hr room service. Room service is available 24 hours a day.", +"type": "boolean" +}, +"twentyFourHourRoomServiceException": { +"description": "24hr room service exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"vendingMachine": { +"description": "Vending machine. A glass-fronted mechanized cabinet displaying and dispensing snacks and beverages for purchase by coins, paper money and/or credit cards.", +"type": "boolean" +}, +"vendingMachineException": { +"description": "Vending machine exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +} +}, +"type": "object" +}, +"GetGoogleUpdatedLodgingResponse": { +"description": "Response message for LodgingService.GetGoogleUpdatedLodging", +"id": "GetGoogleUpdatedLodgingResponse", +"properties": { +"diffMask": { +"description": "Required. The fields in the Lodging that have been updated by Google. Repeated field items are not individually specified.", +"format": "google-fieldmask", +"type": "string" +}, +"lodging": { +"$ref": "Lodging", +"description": "Required. The Google updated Lodging." +} +}, +"type": "object" +}, +"GuestUnitFeatures": { +"description": "Features and available amenities in the guest unit.", +"id": "GuestUnitFeatures", +"properties": { +"bungalowOrVilla": { +"description": "Bungalow or villa. An independent structure that is part of a hotel or resort that is rented to one party for a vacation stay. The hotel or resort may be completely comprised of bungalows or villas, or they may be one of several guestroom options. Guests in the bungalows or villas most often have the same, if not more, amenities and services offered to guests in other guestroom types.", +"type": "boolean" +}, +"bungalowOrVillaException": { +"description": "Bungalow or villa exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"connectingUnitAvailable": { +"description": "Connecting unit available. A guestroom type that features access to an adjacent guestroom for the purpose of booking both rooms. Most often used by families who need more than one room to accommodate the number of people in their group.", +"type": "boolean" +}, +"connectingUnitAvailableException": { +"description": "Connecting unit available exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"executiveFloor": { +"description": "Executive floor. A floor of the hotel where the guestrooms are only bookable by members of the hotel's frequent guest membership program. Benefits of this room class include access to a designated lounge which may or may not feature free breakfast, cocktails or other perks specific to members of the program.", +"type": "boolean" +}, +"executiveFloorException": { +"description": "Executive floor exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"maxAdultOccupantsCount": { +"description": "Max adult occupants count. The total number of adult guests allowed to stay overnight in the guestroom.", +"format": "int32", +"type": "integer" +}, +"maxAdultOccupantsCountException": { +"description": "Max adult occupants count exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"maxChildOccupantsCount": { +"description": "Max child occupants count. The total number of children allowed to stay overnight in the room.", +"format": "int32", +"type": "integer" +}, +"maxChildOccupantsCountException": { +"description": "Max child occupants count exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"maxOccupantsCount": { +"description": "Max occupants count. The total number of guests allowed to stay overnight in the guestroom.", +"format": "int32", +"type": "integer" +}, +"maxOccupantsCountException": { +"description": "Max occupants count exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"privateHome": { +"description": "Private home. A privately owned home (house, townhouse, apartment, cabin, bungalow etc) that may or not serve as the owner's residence, but is rented out in its entirety or by the room(s) to paying guest(s) for vacation stays. Not for lease-based, long-term residency.", +"type": "boolean" +}, +"privateHomeException": { +"description": "Private home exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"suite": { +"description": "Suite. A guestroom category that implies both a bedroom area and a separate living area. There may or may not be full walls and doors separating the two areas, but regardless, they are very distinct. Does not mean a couch or chair in a bedroom.", +"type": "boolean" +}, +"suiteException": { +"description": "Suite exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"tier": { +"description": "Tier. Classification of the unit based on available features/amenities. A non-standard tier is only permitted if at least one other unit type falls under the standard tier.", +"enum": [ +"UNIT_TIER_UNSPECIFIED", +"STANDARD_UNIT", +"DELUXE_UNIT" +], +"enumDescriptions": [ +"Default tier. Equivalent to STANDARD. Prefer using STANDARD directly.", +"Standard unit. The predominant and most basic guestroom type available at the hotel. All other guestroom types include the features/amenities of this room, as well as additional features/amenities.", +"Deluxe unit. A guestroom type that builds on the features of the standard guestroom by offering additional amenities and/or more space, and/or views. The room rate is higher than that of the standard room type. Also known as Superior. Only allowed if another unit type is a standard tier." +], +"type": "string" +}, +"tierException": { +"description": "Tier exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"totalLivingAreas": { +"$ref": "LivingArea", +"description": "Features available in the living areas in the guest unit." +}, +"views": { +"$ref": "ViewsFromUnit", +"description": "Views available from the guest unit itself." +} +}, +"type": "object" +}, +"GuestUnitType": { +"description": "A specific type of unit primarily defined by its features.", +"id": "GuestUnitType", +"properties": { +"codes": { +"description": "Required. Unit or room code identifiers for a single GuestUnitType. Each code must be unique within a Lodging instance.", +"items": { +"type": "string" +}, +"type": "array" +}, +"features": { +"$ref": "GuestUnitFeatures", +"description": "Features and available amenities of the GuestUnitType." +}, +"label": { +"description": "Required. Short, English label or name of the GuestUnitType. Target <50 chars.", +"type": "string" +} +}, +"type": "object" +}, +"HealthAndSafety": { +"description": "Health and safety measures implemented by the hotel during COVID-19.", +"id": "HealthAndSafety", +"properties": { +"enhancedCleaning": { +"$ref": "EnhancedCleaning", +"description": "Enhanced cleaning measures implemented by the hotel during COVID-19." +}, +"increasedFoodSafety": { +"$ref": "IncreasedFoodSafety", +"description": "Increased food safety measures implemented by the hotel during COVID-19." +}, +"minimizedContact": { +"$ref": "MinimizedContact", +"description": "Minimized contact measures implemented by the hotel during COVID-19." +}, +"personalProtection": { +"$ref": "PersonalProtection", +"description": "Personal protection measures implemented by the hotel during COVID-19." +}, +"physicalDistancing": { +"$ref": "PhysicalDistancing", +"description": "Physical distancing measures implemented by the hotel during COVID-19." +} +}, +"type": "object" +}, +"Housekeeping": { +"description": "Conveniences provided in guest units to facilitate an easier, more comfortable stay.", +"id": "Housekeeping", +"properties": { +"dailyHousekeeping": { +"description": "Daily housekeeping. Guest units are cleaned by hotel staff daily during guest's stay.", +"type": "boolean" +}, +"dailyHousekeepingException": { +"description": "Daily housekeeping exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"housekeepingAvailable": { +"description": "Housekeeping available. Guest units are cleaned by hotel staff during guest's stay. Schedule may vary from daily, weekly, or specific days of the week.", +"type": "boolean" +}, +"housekeepingAvailableException": { +"description": "Housekeeping available exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"turndownService": { +"description": "Turndown service. Hotel staff enters guest units to prepare the bed for sleep use. May or may not include some light housekeeping. May or may not include an evening snack or candy. Also known as evening service.", +"type": "boolean" +}, +"turndownServiceException": { +"description": "Turndown service exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +} +}, +"type": "object" +}, +"IncreasedFoodSafety": { +"description": "Increased food safety measures implemented by the hotel during COVID-19.", +"id": "IncreasedFoodSafety", +"properties": { +"diningAreasAdditionalSanitation": { +"description": "Additional sanitation in dining areas.", +"type": "boolean" +}, +"diningAreasAdditionalSanitationException": { +"description": "Dining areas additional sanitation exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"disposableFlatware": { +"description": "Disposable flatware.", +"type": "boolean" +}, +"disposableFlatwareException": { +"description": "Disposable flatware exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"foodPreparationAndServingAdditionalSafety": { +"description": "Additional safety measures during food prep and serving.", +"type": "boolean" +}, +"foodPreparationAndServingAdditionalSafetyException": { +"description": "Food preparation and serving additional safety exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"individualPackagedMeals": { +"description": "Individually-packaged meals.", +"type": "boolean" +}, +"individualPackagedMealsException": { +"description": "Individual packaged meals exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"singleUseFoodMenus": { +"description": "Single-use menus.", +"type": "boolean" +}, +"singleUseFoodMenusException": { +"description": "Single use food menus exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +} +}, +"type": "object" +}, +"LanguageSpoken": { +"description": "Language spoken by at least one staff member.", +"id": "LanguageSpoken", +"properties": { +"languageCode": { +"description": "Required. The BCP-47 language code for the spoken language. Currently accepted codes: ar, de, en, es, fil, fr, hi, id, it, ja, ko, nl, pt, ru, vi, yue, zh.", +"type": "string" +}, +"spoken": { +"description": "At least one member of the staff can speak the language.", +"type": "boolean" +}, +"spokenException": { +"description": "Spoken exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +} +}, +"type": "object" +}, +"LivingArea": { +"description": "An individual room, such as kitchen, bathroom, bedroom, within a bookable guest unit.", +"id": "LivingArea", +"properties": { +"accessibility": { +"$ref": "LivingAreaAccessibility", +"description": "Accessibility features of the living area." +}, +"eating": { +"$ref": "LivingAreaEating", +"description": "Information about eating features in the living area." +}, +"features": { +"$ref": "LivingAreaFeatures", +"description": "Features in the living area." +}, +"layout": { +"$ref": "LivingAreaLayout", +"description": "Information about the layout of the living area." +}, +"sleeping": { +"$ref": "LivingAreaSleeping", +"description": "Information about sleeping features in the living area." +} +}, +"type": "object" +}, +"LivingAreaAccessibility": { +"description": "Accessibility features of the living area.", +"id": "LivingAreaAccessibility", +"properties": { +"adaCompliantUnit": { +"description": "ADA compliant unit. A guestroom designed to accommodate the physical challenges of a guest with mobility and/or auditory and/or visual issues, as determined by legislative policy. Usually features enlarged doorways, roll-in showers with seats, bathroom grab bars, and communication equipment for the hearing and sight challenged.", +"type": "boolean" +}, +"adaCompliantUnitException": { +"description": "ADA compliant unit exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"hearingAccessibleDoorbell": { +"description": "Hearing-accessible doorbell. A visual indicator(s) of a knock or ring at the door.", +"type": "boolean" +}, +"hearingAccessibleDoorbellException": { +"description": "Hearing-accessible doorbell exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"hearingAccessibleFireAlarm": { +"description": "Hearing-accessible fire alarm. A device that gives warning of a fire through flashing lights.", +"type": "boolean" +}, +"hearingAccessibleFireAlarmException": { +"description": "Hearing-accessible fire alarm exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"hearingAccessibleUnit": { +"description": "Hearing-accessible unit. A guestroom designed to accommodate the physical challenges of a guest with auditory issues.", +"type": "boolean" +}, +"hearingAccessibleUnitException": { +"description": "Hearing-accessible unit exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"mobilityAccessibleBathtub": { +"description": "Mobility-accessible bathtub. A bathtub that accomodates the physically challenged with additional railings or hand grips, a transfer seat or lift, and/or a door to enable walking into the tub.", +"type": "boolean" +}, +"mobilityAccessibleBathtubException": { +"description": "Mobility-accessible bathtub exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"mobilityAccessibleShower": { +"description": "Mobility-accessible shower. A shower with an enlarged door or access point to accommodate a wheelchair or a waterproof seat for the physically challenged.", +"type": "boolean" +}, +"mobilityAccessibleShowerException": { +"description": "Mobility-accessible shower exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"mobilityAccessibleToilet": { +"description": "Mobility-accessible toilet. A toilet with a higher seat, grab bars, and/or a larger area around it to accommodate the physically challenged.", +"type": "boolean" +}, +"mobilityAccessibleToiletException": { +"description": "Mobility-accessible toilet exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"mobilityAccessibleUnit": { +"description": "Mobility-accessible unit. A guestroom designed to accommodate the physical challenges of a guest with mobility and/or auditory and/or visual issues. Usually features enlarged doorways, roll-in showers with seats, bathroom grab bars, and communication equipment for the hearing and sight challenged.", +"type": "boolean" +}, +"mobilityAccessibleUnitException": { +"description": "Mobility-accessible unit exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +} +}, +"type": "object" +}, +"LivingAreaEating": { +"description": "Information about eating features in the living area.", +"id": "LivingAreaEating", +"properties": { +"coffeeMaker": { +"description": "Coffee maker. An electric appliance that brews coffee by heating and forcing water through ground coffee.", +"type": "boolean" +}, +"coffeeMakerException": { +"description": "Coffee maker exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"cookware": { +"description": "Cookware. Kitchen pots, pans and utensils used in connection with the preparation of food.", +"type": "boolean" +}, +"cookwareException": { +"description": "Cookware exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"dishwasher": { +"description": "Dishwasher. A counter-height electrical cabinet containing racks for dirty dishware, cookware and cutlery, and a dispenser for soap built into the pull-down door. The cabinet is attached to the plumbing system to facilitate the automatic cleaning of its contents.", +"type": "boolean" +}, +"dishwasherException": { +"description": "Dishwasher exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"indoorGrill": { +"description": "Indoor grill. Metal grates built into an indoor cooktop on which food is cooked over an open flame or electric heat source.", +"type": "boolean" +}, +"indoorGrillException": { +"description": "Indoor grill exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"kettle": { +"description": "Kettle. A covered container with a handle and a spout used for boiling water.", +"type": "boolean" +}, +"kettleException": { +"description": "Kettle exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"kitchenAvailable": { +"description": "Kitchen available. An area of the guestroom designated for the preparation and storage of food via the presence of a refrigerator, cook top, oven and sink, as well as cutlery, dishes and cookware. Usually includes small appliances such a coffee maker and a microwave. May or may not include an automatic dishwasher.", +"type": "boolean" +}, +"kitchenAvailableException": { +"description": "Kitchen available exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"microwave": { +"description": "Microwave. An electric oven that quickly cooks and heats food by microwave energy. Smaller than a standing or wall mounted oven. Usually placed on a kitchen counter, a shelf or tabletop or mounted above a cooktop.", +"type": "boolean" +}, +"microwaveException": { +"description": "Microwave exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"minibar": { +"description": "Minibar. A small refrigerated cabinet in the guestroom containing bottles/cans of soft drinks, mini bottles of alcohol, and snacks. The items are most commonly available for a fee.", +"type": "boolean" +}, +"minibarException": { +"description": "Minibar exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"outdoorGrill": { +"description": "Outdoor grill. Metal grates on which food is cooked over an open flame or electric heat source. Part of an outdoor apparatus that supports the grates. Also known as barbecue grill or barbecue.", +"type": "boolean" +}, +"outdoorGrillException": { +"description": "Outdoor grill exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"oven": { +"description": "Oven. A temperature controlled, heated metal cabinet powered by gas or electricity in which food is placed for the purpose of cooking or reheating.", +"type": "boolean" +}, +"ovenException": { +"description": "Oven exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"refrigerator": { +"description": "Refrigerator. A large, climate-controlled electrical cabinet with vertical doors. Built for the purpose of chilling and storing perishable foods.", +"type": "boolean" +}, +"refrigeratorException": { +"description": "Refrigerator exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"sink": { +"description": "Sink. A basin with a faucet attached to a water source and used for the purpose of washing and rinsing.", +"type": "boolean" +}, +"sinkException": { +"description": "Sink exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"snackbar": { +"description": "Snackbar. A small cabinet in the guestroom containing snacks. The items are most commonly available for a fee.", +"type": "boolean" +}, +"snackbarException": { +"description": "Snackbar exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"stove": { +"description": "Stove. A kitchen appliance powered by gas or electricity for the purpose of creating a flame or hot surface on which pots of food can be cooked. Also known as cooktop or hob.", +"type": "boolean" +}, +"stoveException": { +"description": "Stove exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"teaStation": { +"description": "Tea station. A small area with the supplies needed to heat water and make tea.", +"type": "boolean" +}, +"teaStationException": { +"description": "Tea station exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"toaster": { +"description": "Toaster. A small, temperature controlled electric appliance with rectangular slots at the top that are lined with heated coils for the purpose of browning slices of bread products.", +"type": "boolean" +}, +"toasterException": { +"description": "Toaster exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +} +}, +"type": "object" +}, +"LivingAreaFeatures": { +"description": "Features in the living area.", +"id": "LivingAreaFeatures", +"properties": { +"airConditioning": { +"description": "Air conditioning. An electrical machine used to cool the temperature of the guestroom.", +"type": "boolean" +}, +"airConditioningException": { +"description": "Air conditioning exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"bathtub": { +"description": "Bathtub. A fixed plumbing feature set on the floor and consisting of a large container that accommodates the body of an adult for the purpose of seated bathing. Includes knobs or fixtures to control the temperature of the water, a faucet through which the water flows, and a drain that can be closed for filling and opened for draining.", +"type": "boolean" +}, +"bathtubException": { +"description": "Bathtub exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"bidet": { +"description": "Bidet. A plumbing fixture attached to a toilet or a low, fixed sink designed for the purpose of washing after toilet use.", +"type": "boolean" +}, +"bidetException": { +"description": "Bidet exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"dryer": { +"description": "Dryer. An electrical machine designed to dry clothing.", +"type": "boolean" +}, +"dryerException": { +"description": "Dryer exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"electronicRoomKey": { +"description": "Electronic room key. A card coded by the check-in computer that is read by the lock on the hotel guestroom door to allow for entry.", +"type": "boolean" +}, +"electronicRoomKeyException": { +"description": "Electronic room key exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"fireplace": { +"description": "Fireplace. A framed opening (aka hearth) at the base of a chimney in which logs or an electrical fire feature are burned to provide a relaxing ambiance or to heat the room. Often made of bricks or stone.", +"type": "boolean" +}, +"fireplaceException": { +"description": "Fireplace exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"hairdryer": { +"description": "Hairdryer. A handheld electric appliance that blows temperature-controlled air for the purpose of drying wet hair. Can be mounted to a bathroom wall or a freestanding device stored in the guestroom's bathroom or closet.", +"type": "boolean" +}, +"hairdryerException": { +"description": "Hairdryer exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"heating": { +"description": "Heating. An electrical machine used to warm the temperature of the guestroom.", +"type": "boolean" +}, +"heatingException": { +"description": "Heating exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"inunitSafe": { +"description": "In-unit safe. A strong fireproof cabinet with a programmable lock, used for the protected storage of valuables in a guestroom. Often built into a closet.", +"type": "boolean" +}, +"inunitSafeException": { +"description": "In-unit safe exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"inunitWifiAvailable": { +"description": "In-unit Wifi available. Guests can wirelessly connect to the Internet in the guestroom. Can be free or for a fee.", +"type": "boolean" +}, +"inunitWifiAvailableException": { +"description": "In-unit Wifi available exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"ironingEquipment": { +"description": "Ironing equipment. A device, usually with a flat metal base, that is heated to smooth, finish, or press clothes and a flat, padded, cloth-covered surface on which the clothes are worked.", +"type": "boolean" +}, +"ironingEquipmentException": { +"description": "Ironing equipment exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"payPerViewMovies": { +"description": "Pay per view movies. Televisions with channels that offer films that can be viewed for a fee, and have an interface to allow the viewer to accept the terms and approve payment.", +"type": "boolean" +}, +"payPerViewMoviesException": { +"description": "Pay per view movies exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"privateBathroom": { +"description": "Private bathroom. A bathroom designated for the express use of the guests staying in a specific guestroom.", +"type": "boolean" +}, +"privateBathroomException": { +"description": "Private bathroom exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"shower": { +"description": "Shower. A fixed plumbing fixture for standing bathing that features a tall spray spout or faucet through which water flows, a knob or knobs that control the water's temperature, and a drain in the floor.", +"type": "boolean" +}, +"showerException": { +"description": "Shower exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"toilet": { +"description": "Toilet. A fixed bathroom feature connected to a sewer or septic system and consisting of a water-flushed bowl with a seat, as well as a device that elicites the water-flushing action. Used for the process and disposal of human waste.", +"type": "boolean" +}, +"toiletException": { +"description": "Toilet exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"tv": { +"description": "TV. A television is available in the guestroom.", +"type": "boolean" +}, +"tvCasting": { +"description": "TV casting. A television equipped with a device through which the video entertainment accessed on a personal computer, phone or tablet can be wirelessly delivered to and viewed on the guestroom's television.", +"type": "boolean" +}, +"tvCastingException": { +"description": "TV exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"tvException": { +"description": "TV exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"tvStreaming": { +"description": "TV streaming. Televisions that embed a range of web-based apps to allow for watching media from those apps.", +"type": "boolean" +}, +"tvStreamingException": { +"description": "TV streaming exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"universalPowerAdapters": { +"description": "Universal power adapters. A power supply for electronic devices which plugs into a wall for the purpose of converting AC to a single DC voltage. Also know as AC adapter or charger.", +"type": "boolean" +}, +"universalPowerAdaptersException": { +"description": "Universal power adapters exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"washer": { +"description": "Washer. An electrical machine connected to a running water source designed to launder clothing.", +"type": "boolean" +}, +"washerException": { +"description": "Washer exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +} +}, +"type": "object" +}, +"LivingAreaLayout": { +"description": "Information about the layout of the living area.", +"id": "LivingAreaLayout", +"properties": { +"balcony": { +"description": "Balcony. An outdoor platform attached to a building and surrounded by a short wall, fence or other safety railing. The balcony is accessed through a door in a guestroom or suite and is for use by the guest staying in that room. May or may not include seating or outdoor furniture. Is not located on the ground floor. Also lanai.", +"type": "boolean" +}, +"balconyException": { +"description": "Balcony exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"livingAreaSqMeters": { +"description": "Living area sq meters. The measurement in meters of the area of a guestroom's living space.", +"format": "float", +"type": "number" +}, +"livingAreaSqMetersException": { +"description": "Living area sq meters exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"loft": { +"description": "Loft. A three-walled upper area accessed by stairs or a ladder that overlooks the lower area of a room.", +"type": "boolean" +}, +"loftException": { +"description": "Loft exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"nonSmoking": { +"description": "Non smoking. A guestroom in which the smoking of cigarettes, cigars and pipes is prohibited.", +"type": "boolean" +}, +"nonSmokingException": { +"description": "Non smoking exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"patio": { +"description": "Patio. A paved, outdoor area with seating attached to and accessed through a ground-floor guestroom for use by the occupants of the guestroom.", +"type": "boolean" +}, +"patioException": { +"description": "Patio exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"stairs": { +"description": "Stairs. There are steps leading from one level or story to another in the unit.", +"type": "boolean" +}, +"stairsException": { +"description": "Stairs exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +} +}, +"type": "object" +}, +"LivingAreaSleeping": { +"description": "Information about sleeping features in the living area.", +"id": "LivingAreaSleeping", +"properties": { +"bedsCount": { +"description": "Beds count. The number of permanent beds present in a guestroom. Does not include rollaway beds, cribs or sofabeds.", +"format": "int32", +"type": "integer" +}, +"bedsCountException": { +"description": "Beds count exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"bunkBedsCount": { +"description": "Bunk beds count. The number of furniture pieces in which one framed mattress is fixed directly above another by means of a physical frame. This allows one person(s) to sleep in the bottom bunk and one person(s) to sleep in the top bunk. Also known as double decker bed.", +"format": "int32", +"type": "integer" +}, +"bunkBedsCountException": { +"description": "Bunk beds count exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"cribsCount": { +"description": "Cribs count. The number of small beds for an infant or toddler that the guestroom can obtain. The bed is surrounded by a high railing to prevent the child from falling or climbing out of the bed", +"format": "int32", +"type": "integer" +}, +"cribsCountException": { +"description": "Cribs count exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"doubleBedsCount": { +"description": "Double beds count. The number of medium beds measuring 53\"W x 75\"L (135cm x 191cm). Also known as full size bed.", +"format": "int32", +"type": "integer" +}, +"doubleBedsCountException": { +"description": "Double beds count exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"featherPillows": { +"description": "Feather pillows. The option for guests to obtain bed pillows that are stuffed with the feathers and down of ducks or geese.", +"type": "boolean" +}, +"featherPillowsException": { +"description": "Feather pillows exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"hypoallergenicBedding": { +"description": "Hypoallergenic bedding. Bedding such as linens, pillows, mattress covers and/or mattresses that are made of materials known to be resistant to allergens such as mold, dust and dander.", +"type": "boolean" +}, +"hypoallergenicBeddingException": { +"description": "Hypoallergenic bedding exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"kingBedsCount": { +"description": "King beds count. The number of large beds measuring 76\"W x 80\"L (193cm x 102cm). Most often meant to accompany two people. Includes California king and super king.", +"format": "int32", +"type": "integer" +}, +"kingBedsCountException": { +"description": "King beds count exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"memoryFoamPillows": { +"description": "Memory foam pillows. The option for guests to obtain bed pillows that are stuffed with a man-made foam that responds to body heat by conforming to the body closely, and then recovers its shape when the pillow cools down.", +"type": "boolean" +}, +"memoryFoamPillowsException": { +"description": "Memory foam pillows exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"otherBedsCount": { +"description": "Other beds count. The number of beds that are not standard mattress and boxspring setups such as Japanese tatami mats, trundle beds, air mattresses and cots.", +"format": "int32", +"type": "integer" +}, +"otherBedsCountException": { +"description": "Other beds count exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"queenBedsCount": { +"description": "Queen beds count. The number of medium-large beds measuring 60\"W x 80\"L (152cm x 102cm).", +"format": "int32", +"type": "integer" +}, +"queenBedsCountException": { +"description": "Queen beds count exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"rollAwayBedsCount": { +"description": "Roll away beds count. The number of mattresses on wheeled frames that can be folded in half and rolled away for easy storage that the guestroom can obtain upon request.", +"format": "int32", +"type": "integer" +}, +"rollAwayBedsCountException": { +"description": "Roll away beds count exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"singleOrTwinBedsCount": { +"description": "Single or twin count beds. The number of smaller beds measuring 38\"W x 75\"L (97cm x 191cm) that can accommodate one adult.", +"format": "int32", +"type": "integer" +}, +"singleOrTwinBedsCountException": { +"description": "Single or twin beds count exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"sofaBedsCount": { +"description": "Sofa beds count. The number of specially designed sofas that can be made to serve as a bed by lowering its hinged upholstered back to horizontal position or by pulling out a concealed mattress.", +"format": "int32", +"type": "integer" +}, +"sofaBedsCountException": { +"description": "Sofa beds count exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"syntheticPillows": { +"description": "Synthetic pillows. The option for guests to obtain bed pillows stuffed with polyester material crafted to reproduce the feel of a pillow stuffed with down and feathers.", +"type": "boolean" +}, +"syntheticPillowsException": { +"description": "Synthetic pillows exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +} +}, +"type": "object" +}, +"Lodging": { +"description": "Lodging of a location that provides accomodations.", +"id": "Lodging", +"properties": { +"accessibility": { +"$ref": "Accessibility", +"description": "Physical adaptations made to the property in consideration of varying levels of human physical ability." +}, +"activities": { +"$ref": "Activities", +"description": "Amenities and features related to leisure and play." +}, +"allUnits": { +"$ref": "GuestUnitFeatures", +"description": "Output only. All units on the property have at least these attributes.", +"readOnly": true +}, +"business": { +"$ref": "Business", +"description": "Features of the property of specific interest to the business traveler." +}, +"commonLivingArea": { +"$ref": "LivingArea", +"description": "Features of the shared living areas available in this Lodging." +}, +"connectivity": { +"$ref": "Connectivity", +"description": "The ways in which the property provides guests with the ability to access the internet." +}, +"families": { +"$ref": "Families", +"description": "Services and amenities for families and young guests." +}, +"foodAndDrink": { +"$ref": "FoodAndDrink", +"description": "Meals, snacks, and beverages available at the property." +}, +"guestUnits": { +"description": "Individual GuestUnitTypes that are available in this Lodging.", +"items": { +"$ref": "GuestUnitType" +}, +"type": "array" +}, +"healthAndSafety": { +"$ref": "HealthAndSafety", +"description": "Health and safety measures implemented by the hotel during COVID-19." +}, +"housekeeping": { +"$ref": "Housekeeping", +"description": "Conveniences provided in guest units to facilitate an easier, more comfortable stay." +}, +"metadata": { +"$ref": "LodgingMetadata", +"description": "Required. Metadata for the lodging." +}, +"name": { +"description": "Required. Google identifier for this location in the form: `locations/{location_id}/lodging`", +"type": "string" +}, +"parking": { +"$ref": "Parking", +"description": "Parking options at the property." +}, +"pets": { +"$ref": "Pets", +"description": "Policies regarding guest-owned animals." +}, +"policies": { +"$ref": "Policies", +"description": "Property rules that impact guests." +}, +"pools": { +"$ref": "Pools", +"description": "Swimming pool or recreational water facilities available at the hotel." +}, +"property": { +"$ref": "Property", +"description": "General factual information about the property's physical structure and important dates." +}, +"services": { +"$ref": "Services", +"description": "Conveniences or help provided by the property to facilitate an easier, more comfortable stay." +}, +"someUnits": { +"$ref": "GuestUnitFeatures", +"description": "Output only. Some units on the property have as much as these attributes.", +"readOnly": true +}, +"sustainability": { +"$ref": "Sustainability", +"description": "Sustainability practices implemented at the hotel." +}, +"transportation": { +"$ref": "Transportation", +"description": "Vehicles or vehicular services facilitated or owned by the property." +}, +"wellness": { +"$ref": "Wellness", +"description": "Guest facilities at the property to promote or maintain health, beauty, and fitness." +} +}, +"type": "object" +}, +"LodgingMetadata": { +"description": "Metadata for the Lodging.", +"id": "LodgingMetadata", +"properties": { +"updateTime": { +"description": "Required. The latest time at which the Lodging data is asserted to be true in the real world. This is not necessarily the time at which the request is made.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"MinimizedContact": { +"description": "Minimized contact measures implemented by the hotel during COVID-19.", +"id": "MinimizedContact", +"properties": { +"contactlessCheckinCheckout": { +"description": "No-contact check-in and check-out.", +"type": "boolean" +}, +"contactlessCheckinCheckoutException": { +"description": "Contactless check-in check-out exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"digitalGuestRoomKeys": { +"description": "Keyless mobile entry to guest rooms.", +"type": "boolean" +}, +"digitalGuestRoomKeysException": { +"description": "Digital guest room keys exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"housekeepingScheduledRequestOnly": { +"description": "Housekeeping scheduled by request only.", +"type": "boolean" +}, +"housekeepingScheduledRequestOnlyException": { +"description": "Housekeeping scheduled request only exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"noHighTouchItemsCommonAreas": { +"description": "High-touch items, such as magazines, removed from common areas.", +"type": "boolean" +}, +"noHighTouchItemsCommonAreasException": { +"description": "No high touch items common areas exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"noHighTouchItemsGuestRooms": { +"description": "High-touch items, such as decorative pillows, removed from guest rooms.", +"type": "boolean" +}, +"noHighTouchItemsGuestRoomsException": { +"description": "No high touch items guest rooms exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"plasticKeycardsDisinfected": { +"description": "Plastic key cards are disinfected or discarded.", +"type": "boolean" +}, +"plasticKeycardsDisinfectedException": { +"description": "Plastic keycards disinfected exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"roomBookingsBuffer": { +"description": "Buffer maintained between room bookings.", +"type": "boolean" +}, +"roomBookingsBufferException": { +"description": "Room bookings buffer exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +} +}, +"type": "object" +}, +"Parking": { +"description": "Parking options at the property.", +"id": "Parking", +"properties": { +"electricCarChargingStations": { +"description": "Electric car charging stations. Electric power stations, usually located outdoors, into which guests plug their electric cars to receive a charge.", +"type": "boolean" +}, +"electricCarChargingStationsException": { +"description": "Electric car charging stations exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"freeParking": { +"description": "Free parking. The hotel allows the cars of guests to be parked for free. Parking facility may be an outdoor lot or an indoor garage, but must be onsite. Nearby parking does not apply. Parking may be performed by the guest or by hotel staff. Free parking must be available to all guests (limited conditions does not apply).", +"type": "boolean" +}, +"freeParkingException": { +"description": "Free parking exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"freeSelfParking": { +"description": "Free self parking. Guests park their own cars for free. Parking facility may be an outdoor lot or an indoor garage, but must be onsite. Nearby parking does not apply.", +"type": "boolean" +}, +"freeSelfParkingException": { +"description": "Free self parking exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"freeValetParking": { +"description": "Free valet parking. Hotel staff member parks the cars of guests. Parking with this service is free.", +"type": "boolean" +}, +"freeValetParkingException": { +"description": "Free valet parking exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"parkingAvailable": { +"description": "Parking available. The hotel allows the cars of guests to be parked. Can be free or for a fee. Parking facility may be an outdoor lot or an indoor garage, but must be onsite. Nearby parking does not apply. Parking may be performed by the guest or by hotel staff.", +"type": "boolean" +}, +"parkingAvailableException": { +"description": "Parking available exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"selfParkingAvailable": { +"description": "Self parking available. Guests park their own cars. Parking facility may be an outdoor lot or an indoor garage, but must be onsite. Nearby parking does not apply. Can be free or for a fee.", +"type": "boolean" +}, +"selfParkingAvailableException": { +"description": "Self parking available exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"valetParkingAvailable": { +"description": "Valet parking available. Hotel staff member parks the cars of guests. Parking with this service can be free or for a fee.", +"type": "boolean" +}, +"valetParkingAvailableException": { +"description": "Valet parking available exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +} +}, +"type": "object" +}, +"PaymentOptions": { +"description": "Forms of payment accepted at the property.", +"id": "PaymentOptions", +"properties": { +"cash": { +"description": "Cash. The hotel accepts payment by paper/coin currency.", +"type": "boolean" +}, +"cashException": { +"description": "Cash exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"cheque": { +"description": "Cheque. The hotel accepts a printed document issued by the guest's bank in the guest's name as a form of payment.", +"type": "boolean" +}, +"chequeException": { +"description": "Cheque exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"creditCard": { +"description": "Credit card. The hotel accepts payment by a card issued by a bank or credit card company. Also known as charge card, debit card, bank card, or charge plate.", +"type": "boolean" +}, +"creditCardException": { +"description": "Credit card exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"debitCard": { +"description": "Debit card. The hotel accepts a bank-issued card that immediately deducts the charged funds from the guest's bank account upon processing.", +"type": "boolean" +}, +"debitCardException": { +"description": "Debit card exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"mobileNfc": { +"description": "Mobile nfc. The hotel has the compatible computer hardware terminal that reads and charges a payment app on the guest's smartphone without requiring the two devices to make physical contact. Also known as Apple Pay, Google Pay, Samsung Pay.", +"type": "boolean" +}, +"mobileNfcException": { +"description": "Mobile nfc exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +} +}, +"type": "object" +}, +"PersonalProtection": { +"description": "Personal protection measures implemented by the hotel during COVID-19.", +"id": "PersonalProtection", +"properties": { +"commonAreasOfferSanitizingItems": { +"description": "Hand-sanitizer and/or sanitizing wipes are offered in common areas.", +"type": "boolean" +}, +"commonAreasOfferSanitizingItemsException": { +"description": "Common areas offer sanitizing items exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"faceMaskRequired": { +"description": "Masks required on the property.", +"type": "boolean" +}, +"faceMaskRequiredException": { +"description": "Face mask required exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"guestRoomHygieneKitsAvailable": { +"description": "In-room hygiene kits with masks, hand sanitizer, and/or antibacterial wipes.", +"type": "boolean" +}, +"guestRoomHygieneKitsAvailableException": { +"description": "Guest room hygiene kits available exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"protectiveEquipmentAvailable": { +"description": "Masks and/or gloves available for guests.", +"type": "boolean" +}, +"protectiveEquipmentAvailableException": { +"description": "Protective equipment available exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +} +}, +"type": "object" +}, +"Pets": { +"description": "Policies regarding guest-owned animals.", +"id": "Pets", +"properties": { +"catsAllowed": { +"description": "Cats allowed. Domesticated felines are permitted at the property and allowed to stay in the guest room of their owner. May or may not require a fee.", +"type": "boolean" +}, +"catsAllowedException": { +"description": "Cats allowed exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"dogsAllowed": { +"description": "Dogs allowed. Domesticated canines are permitted at the property and allowed to stay in the guest room of their owner. May or may not require a fee.", +"type": "boolean" +}, +"dogsAllowedException": { +"description": "Dogs allowed exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"petsAllowed": { +"description": "Pets allowed. Household animals are allowed at the property and in the specific guest room of their owner. May or may not include dogs, cats, reptiles and/or fish. May or may not require a fee. Service animals are not considered to be pets, so not governed by this policy.", +"type": "boolean" +}, +"petsAllowedException": { +"description": "Pets allowed exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"petsAllowedFree": { +"description": "Pets allowed free. Household animals are allowed at the property and in the specific guest room of their owner for free. May or may not include dogs, cats, reptiles, and/or fish.", +"type": "boolean" +}, +"petsAllowedFreeException": { +"description": "Pets allowed free exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +} +}, +"type": "object" +}, +"PhysicalDistancing": { +"description": "Physical distancing measures implemented by the hotel during COVID-19.", +"id": "PhysicalDistancing", +"properties": { +"commonAreasPhysicalDistancingArranged": { +"description": "Common areas arranged to maintain physical distancing.", +"type": "boolean" +}, +"commonAreasPhysicalDistancingArrangedException": { +"description": "Common areas physical distancing arranged exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"physicalDistancingRequired": { +"description": "Physical distancing required.", +"type": "boolean" +}, +"physicalDistancingRequiredException": { +"description": "Physical distancing required exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"safetyDividers": { +"description": "Safety dividers at front desk and other locations.", +"type": "boolean" +}, +"safetyDividersException": { +"description": "Safety dividers exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"sharedAreasLimitedOccupancy": { +"description": "Guest occupancy limited within shared facilities.", +"type": "boolean" +}, +"sharedAreasLimitedOccupancyException": { +"description": "Shared areas limited occupancy exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"wellnessAreasHavePrivateSpaces": { +"description": "Private spaces designated in spa and wellness areas.", +"type": "boolean" +}, +"wellnessAreasHavePrivateSpacesException": { +"description": "Wellness areas have private spaces exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +} +}, +"type": "object" +}, +"Policies": { +"description": "Property rules that impact guests.", +"id": "Policies", +"properties": { +"allInclusiveAvailable": { +"description": "All inclusive available. The hotel offers a rate option that includes the cost of the room, meals, activities, and other amenities that might otherwise be charged separately.", +"type": "boolean" +}, +"allInclusiveAvailableException": { +"description": "All inclusive available exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"allInclusiveOnly": { +"description": "All inclusive only. The only rate option offered by the hotel is a rate that includes the cost of the room, meals, activities and other amenities that might otherwise be charged separately.", +"type": "boolean" +}, +"allInclusiveOnlyException": { +"description": "All inclusive only exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"checkinTime": { +"$ref": "TimeOfDay", +"description": "Check-in time. The time of the day at which the hotel begins providing guests access to their unit at the beginning of their stay." +}, +"checkinTimeException": { +"description": "Check-in time exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"checkoutTime": { +"$ref": "TimeOfDay", +"description": "Check-out time. The time of the day on the last day of a guest's reserved stay at which the guest must vacate their room and settle their bill. Some hotels may offer late or early check out for a fee." +}, +"checkoutTimeException": { +"description": "Check-out time exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"kidsStayFree": { +"description": "Kids stay free. The children of guests are allowed to stay in the room/suite of a parent or adult without an additional fee. The policy may or may not stipulate a limit of the child's age or the overall number of children allowed.", +"type": "boolean" +}, +"kidsStayFreeException": { +"description": "Kids stay free exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"maxChildAge": { +"description": "Max child age. The hotel allows children up to a certain age to stay in the room/suite of a parent or adult without an additional fee.", +"format": "int32", +"type": "integer" +}, +"maxChildAgeException": { +"description": "Max child age exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"maxKidsStayFreeCount": { +"description": "Max kids stay free count. The hotel allows a specific, defined number of children to stay in the room/suite of a parent or adult without an additional fee.", +"format": "int32", +"type": "integer" +}, +"maxKidsStayFreeCountException": { +"description": "Max kids stay free count exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"paymentOptions": { +"$ref": "PaymentOptions", +"description": "Forms of payment accepted at the property." +}, +"smokeFreeProperty": { +"description": "Smoke free property. Smoking is not allowed inside the building, on balconies, or in outside spaces. Hotels that offer a designated area for guests to smoke are not considered smoke-free properties.", +"type": "boolean" +}, +"smokeFreePropertyException": { +"description": "Smoke free property exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +} +}, +"type": "object" +}, +"Pools": { +"description": "Swimming pool or recreational water facilities available at the hotel.", +"id": "Pools", +"properties": { +"adultPool": { +"description": "Adult pool. A pool restricted for use by adults only. Can be indoors or outdoors.", +"type": "boolean" +}, +"adultPoolException": { +"description": "Adult pool exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"hotTub": { +"description": "Hot tub. A man-made pool containing bubbling water maintained at a higher temperature and circulated by aerating jets for the purpose of soaking, relaxation and hydrotherapy. Can be indoors or outdoors. Not used for active swimming. Also known as Jacuzzi. Hot tub must be in a common area where all guests can access it. Does not apply to room-specific hot tubs that are only accessible to guest occupying that room.", +"type": "boolean" +}, +"hotTubException": { +"description": "Hot tub exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"indoorPool": { +"description": "Indoor pool. A pool located inside the hotel and available for guests to use for swimming and/or soaking. Use may or may not be restricted to adults and/or children.", +"type": "boolean" +}, +"indoorPoolException": { +"description": "Indoor pool exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"indoorPoolsCount": { +"description": "Indoor pools count. The sum of all indoor pools at the hotel.", +"format": "int32", +"type": "integer" +}, +"indoorPoolsCountException": { +"description": "Indoor pools count exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"lazyRiver": { +"description": "Lazy river. A man-made pool or several interconnected recreational pools built to mimic the shape and current of a winding river where guests float in the water on inflated rubber tubes. Can be indoors or outdoors.", +"type": "boolean" +}, +"lazyRiverException": { +"description": "Lazy river exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"lifeguard": { +"description": "Lifeguard. A trained member of the hotel staff stationed by the hotel's indoor or outdoor swimming area and responsible for the safety of swimming guests.", +"type": "boolean" +}, +"lifeguardException": { +"description": "Lifeguard exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"outdoorPool": { +"description": "Outdoor pool. A pool located outside on the grounds of the hotel and available for guests to use for swimming, soaking or recreation. Use may or may not be restricted to adults and/or children.", +"type": "boolean" +}, +"outdoorPoolException": { +"description": "Outdoor pool exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"outdoorPoolsCount": { +"description": "Outdoor pools count. The sum of all outdoor pools at the hotel.", +"format": "int32", +"type": "integer" +}, +"outdoorPoolsCountException": { +"description": "Outdoor pools count exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"pool": { +"description": "Pool. The presence of a pool, either indoors or outdoors, for guests to use for swimming and/or soaking. Use may or may not be restricted to adults and/or children.", +"type": "boolean" +}, +"poolException": { +"description": "Pool exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"poolsCount": { +"description": "Pools count. The sum of all pools at the hotel.", +"format": "int32", +"type": "integer" +}, +"poolsCountException": { +"description": "Pools count exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"wadingPool": { +"description": "Wading pool. A shallow pool designed for small children to play in. Can be indoors or outdoors. Also known as kiddie pool.", +"type": "boolean" +}, +"wadingPoolException": { +"description": "Wading pool exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"waterPark": { +"description": "Water park. An aquatic recreation area with a large pool or series of pools that has features such as a water slide or tube, wavepool, fountains, rope swings, and/or obstacle course. Can be indoors or outdoors. Also known as adventure pool.", +"type": "boolean" +}, +"waterParkException": { +"description": "Water park exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"waterslide": { +"description": "Waterslide. A continuously wetted chute positioned by an indoor or outdoor pool which people slide down into the water.", +"type": "boolean" +}, +"waterslideException": { +"description": "Waterslide exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"wavePool": { +"description": "Wave pool. A large indoor or outdoor pool with a machine that produces water currents to mimic the ocean's crests.", +"type": "boolean" +}, +"wavePoolException": { +"description": "Wave pool exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +} +}, +"type": "object" +}, +"Property": { +"description": "General factual information about the property's physical structure and important dates.", +"id": "Property", +"properties": { +"builtYear": { +"description": "Built year. The year that construction of the property was completed.", +"format": "int32", +"type": "integer" +}, +"builtYearException": { +"description": "Built year exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"floorsCount": { +"description": "Floors count. The number of stories the building has from the ground floor to the top floor that are accessible to guests.", +"format": "int32", +"type": "integer" +}, +"floorsCountException": { +"description": "Floors count exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"lastRenovatedYear": { +"description": "Last renovated year. The year when the most recent renovation of the property was completed. Renovation may include all or any combination of the following: the units, the public spaces, the exterior, or the interior.", +"format": "int32", +"type": "integer" +}, +"lastRenovatedYearException": { +"description": "Last renovated year exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"roomsCount": { +"description": "Rooms count. The total number of rooms and suites bookable by guests for an overnight stay. Does not include event space, public spaces, conference rooms, fitness rooms, business centers, spa, salon, restaurants/bars, or shops.", +"format": "int32", +"type": "integer" +}, +"roomsCountException": { +"description": "Rooms count exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +} +}, +"type": "object" +}, +"Services": { +"description": "Conveniences or help provided by the property to facilitate an easier, more comfortable stay.", +"id": "Services", +"properties": { +"baggageStorage": { +"description": "Baggage storage. A provision for guests to leave their bags at the hotel when they arrive for their stay before the official check-in time. May or may not apply for guests who wish to leave their bags after check-out and before departing the locale. Also known as bag dropoff.", +"type": "boolean" +}, +"baggageStorageException": { +"description": "Baggage storage exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"concierge": { +"description": "Concierge. Hotel staff member(s) responsible for facilitating an easy, comfortable stay through making reservations for meals, sourcing theater tickets, arranging tours, finding a doctor, making recommendations, and answering questions.", +"type": "boolean" +}, +"conciergeException": { +"description": "Concierge exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"convenienceStore": { +"description": "Convenience store. A shop at the hotel primarily selling snacks, drinks, non-prescription medicines, health and beauty aids, magazines and newspapers.", +"type": "boolean" +}, +"convenienceStoreException": { +"description": "Convenience store exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"currencyExchange": { +"description": "Currency exchange. A staff member or automated machine tasked with the transaction of providing the native currency of the hotel's locale in exchange for the foreign currency provided by a guest.", +"type": "boolean" +}, +"currencyExchangeException": { +"description": "Currency exchange exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"elevator": { +"description": "Elevator. A passenger elevator that transports guests from one story to another. Also known as lift.", +"type": "boolean" +}, +"elevatorException": { +"description": "Elevator exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"frontDesk": { +"description": "Front desk. A counter or desk in the lobby or the immediate interior of the hotel where a member of the staff greets guests and processes the information related to their stay (including check-in and check-out). May or may not be manned and open 24/7.", +"type": "boolean" +}, +"frontDeskException": { +"description": "Front desk exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"fullServiceLaundry": { +"description": "Full service laundry. Laundry and dry cleaning facilitated and handled by the hotel on behalf of the guest. Does not include the provision for guests to do their own laundry in on-site machines.", +"type": "boolean" +}, +"fullServiceLaundryException": { +"description": "Full service laundry exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"giftShop": { +"description": "Gift shop. An on-site store primarily selling souvenirs, mementos and other gift items. May or may not also sell sundries, magazines and newspapers, clothing, or snacks.", +"type": "boolean" +}, +"giftShopException": { +"description": "Gift shop exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"languagesSpoken": { +"description": "Languages spoken by at least one staff member.", +"items": { +"$ref": "LanguageSpoken" +}, +"type": "array" +}, +"selfServiceLaundry": { +"description": "Self service laundry. On-site clothes washers and dryers accessible to guests for the purpose of washing and drying their own clothes. May or may not require payment to use the machines.", +"type": "boolean" +}, +"selfServiceLaundryException": { +"description": "Self service laundry exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"socialHour": { +"description": "Social hour. A reception with complimentary soft drinks, tea, coffee, wine and/or cocktails in the afternoon or evening. Can be hosted by hotel staff or guests may serve themselves. Also known as wine hour. The availability of coffee/tea in the lobby throughout the day does not constitute a social or wine hour.", +"type": "boolean" +}, +"socialHourException": { +"description": "Social hour exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"twentyFourHourFrontDesk": { +"description": "24hr front desk. Front desk is staffed 24 hours a day.", +"type": "boolean" +}, +"twentyFourHourFrontDeskException": { +"description": "24hr front desk exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"wakeUpCalls": { +"description": "Wake up calls. By direction of the guest, a hotel staff member will phone the guest unit at the requested hour. Also known as morning call.", +"type": "boolean" +}, +"wakeUpCallsException": { +"description": "Wake up calls exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +} +}, +"type": "object" +}, +"Sustainability": { +"description": "Sustainability practices implemented at the hotel.", +"id": "Sustainability", +"properties": { +"energyEfficiency": { +"$ref": "EnergyEfficiency", +"description": "Energy efficiency practices implemented at the hotel." +}, +"sustainabilityCertifications": { +"$ref": "SustainabilityCertifications", +"deprecated": true, +"description": "Sustainability certifications the hotel has been awarded. Deprecated: this field is no longer populated. All certification data is now provided by BeCause." +}, +"sustainableSourcing": { +"$ref": "SustainableSourcing", +"description": "Sustainable sourcing practices implemented at the hotel." +}, +"wasteReduction": { +"$ref": "WasteReduction", +"description": "Waste reduction practices implemented at the hotel." +}, +"waterConservation": { +"$ref": "WaterConservation", +"description": "Water conservation practices implemented at the hotel." +} +}, +"type": "object" +}, +"SustainabilityCertifications": { +"deprecated": true, +"description": "Sustainability certifications the hotel has been awarded. Deprecated: this message is no longer populated. All certification data is now provided by BeCause.", +"id": "SustainabilityCertifications", +"properties": { +"breeamCertification": { +"description": "BREEAM certification.", +"enum": [ +"BREEAM_CERTIFICATION_UNSPECIFIED", +"NO_BREEAM_CERTIFICATION", +"BREEAM_PASS", +"BREEAM_GOOD", +"BREEAM_VERY_GOOD", +"BREEAM_EXCELLENT", +"BREEAM_OUTSTANDING" +], +"enumDescriptions": [ +"Default BreeamCertification. Do not use.", +"Not certified.", +"BREEAM Pass.", +"BREEAM Good.", +"BREEAM Very Good.", +"BREEAM Excellent.", +"BREEAM Outstanding." +], +"type": "string" +}, +"breeamCertificationException": { +"description": "BREEAM certification exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"ecoCertifications": { +"description": "The eco certificates awarded to the hotel.", +"items": { +"$ref": "EcoCertification" +}, +"type": "array" +}, +"leedCertification": { +"description": "LEED certification.", +"enum": [ +"LEED_CERTIFICATION_UNSPECIFIED", +"NO_LEED_CERTIFICATION", +"LEED_CERTIFIED", +"LEED_SILVER", +"LEED_GOLD", +"LEED_PLATINUM" +], +"enumDescriptions": [ +"Default LeedCertification. Do not use.", +"Not certified.", +"LEED Certified.", +"LEED Silver.", +"LEED Gold.", +"LEED Platinum." +], +"type": "string" +}, +"leedCertificationException": { +"description": "LEED certification exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +} +}, +"type": "object" +}, +"SustainableSourcing": { +"description": "Sustainable sourcing practices implemented at the hotel.", +"id": "SustainableSourcing", +"properties": { +"ecoFriendlyToiletries": { +"description": "Eco friendly toiletries. Soap, shampoo, lotion, and other toiletries provided for guests have a nationally or internationally recognized sustainability certification, such as USDA Organic, EU Organic, or cruelty-free.", +"type": "boolean" +}, +"ecoFriendlyToiletriesException": { +"description": "Eco friendly toiletries exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"locallySourcedFoodAndBeverages": { +"description": "Locally sourced food and beverages. Property sources locally in order to lower the environmental footprint from reduced transportation and to stimulate the local economy. Products produced less than 62 miles from the establishment are normally considered as locally produced.", +"type": "boolean" +}, +"locallySourcedFoodAndBeveragesException": { +"description": "Locally sourced food and beverages exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"organicCageFreeEggs": { +"description": "Organic cage free eggs. The property sources 100% certified organic and cage-free eggs (shell, liquid, and egg products). Cage-free means hens are able to walk, spread their wings and lay their eggs in nests).", +"type": "boolean" +}, +"organicCageFreeEggsException": { +"description": "Organic cage free eggs exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"organicFoodAndBeverages": { +"description": "Organic food and beverages. At least 25% of food and beverages, by spend, are certified organic. Organic means products that are certified to one of the organic standard listed in the IFOAM family of standards. Qualifying certifications include USDA Organic and EU Organic, among others.", +"type": "boolean" +}, +"organicFoodAndBeveragesException": { +"description": "Organic food and beverages exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"responsiblePurchasingPolicy": { +"description": "Responsible purchasing policy. The property has a responsible procurement policy in place. Responsible means integration of social, ethical, and/or environmental performance factors into the procurement process when selecting suppliers.", +"type": "boolean" +}, +"responsiblePurchasingPolicyException": { +"description": "Responsible purchasing policy exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"responsiblySourcesSeafood": { +"description": "Responsibly sources seafood. The property does not source seafood from the Monterey Bay Aquarium Seafood Watch \"avoid\" list, and must sustainably source seafood listed as \"good alternative,\" \"eco-certified,\" and \"best choice\". The property has a policy outlining a commitment to source Marine Stewardship Council (MSC) and/or Aquaculture Stewardship Council (ASC) Chain of Custody certified seafood.", +"type": "boolean" +}, +"responsiblySourcesSeafoodException": { +"description": "Responsibly sources seafood exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"veganMeals": { +"description": "Vegan meals. The property provides vegan menu options for guests. Vegan food does not contain animal products or byproducts.", +"type": "boolean" +}, +"veganMealsException": { +"description": "Vegan meals exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"vegetarianMeals": { +"description": "Vegetarian meals. The property provides vegetarian menu options for guests. Vegetarian food does not contain meat, poultry, fish, or seafood.", +"type": "boolean" +}, +"vegetarianMealsException": { +"description": "Vegetarian meals exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"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" +}, +"Transportation": { +"description": "Vehicles or vehicular services facilitated or owned by the property.", +"id": "Transportation", +"properties": { +"airportShuttle": { +"description": "Airport shuttle. The hotel provides guests with a chauffeured van or bus to and from the airport. Can be free or for a fee. Guests may share the vehicle with other guests unknown to them. Applies if the hotel has a third-party shuttle service (office/desk etc.) within the hotel. As long as hotel provides this service, it doesn't matter if it's directly with them or a third party they work with. Does not apply if guest has to coordinate with an entity outside/other than the hotel.", +"type": "boolean" +}, +"airportShuttleException": { +"description": "Airport shuttle exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"carRentalOnProperty": { +"description": "Car rental on property. A branch of a rental car company with a processing desk in the hotel. Available cars for rent may be awaiting at the hotel or in a nearby lot.", +"type": "boolean" +}, +"carRentalOnPropertyException": { +"description": "Car rental on property exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"freeAirportShuttle": { +"description": "Free airport shuttle. Airport shuttle is free to guests. Must be free to all guests without any conditions.", +"type": "boolean" +}, +"freeAirportShuttleException": { +"description": "Free airport shuttle exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"freePrivateCarService": { +"description": "Free private car service. Private chauffeured car service is free to guests.", +"type": "boolean" +}, +"freePrivateCarServiceException": { +"description": "Free private car service exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"localShuttle": { +"description": "Local shuttle. A car, van or bus provided by the hotel to transport guests to destinations within a specified range of distance around the hotel. Usually shopping and/or convention centers, downtown districts, or beaches. Can be free or for a fee.", +"type": "boolean" +}, +"localShuttleException": { +"description": "Local shuttle exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"privateCarService": { +"description": "Private car service. Hotel provides a private chauffeured car to transport guests to destinations. Passengers in the car are either alone or are known to one another and have requested the car together. Service can be free or for a fee and travel distance is usually limited to a specific range. Not a taxi.", +"type": "boolean" +}, +"privateCarServiceException": { +"description": "Private car service exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"transfer": { +"description": "Transfer. Hotel provides a shuttle service or car service to take guests to and from the nearest airport or train station. Can be free or for a fee. Guests may share the vehicle with other guests unknown to them.", +"type": "boolean" +}, +"transferException": { +"description": "Transfer exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +} +}, +"type": "object" +}, +"ViewsFromUnit": { +"description": "Views available from the guest unit itself.", +"id": "ViewsFromUnit", +"properties": { +"beachView": { +"description": "Beach view. A guestroom that features a window through which guests can see the beach.", +"type": "boolean" +}, +"beachViewException": { +"description": "Beach view exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"cityView": { +"description": "City view. A guestroom that features a window through which guests can see the buildings, parks and/or streets of the city.", +"type": "boolean" +}, +"cityViewException": { +"description": "City view exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"gardenView": { +"description": "Garden view. A guestroom that features a window through which guests can see a garden.", +"type": "boolean" +}, +"gardenViewException": { +"description": "Garden view exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"lakeView": { +"description": "Lake view.", +"type": "boolean" +}, +"lakeViewException": { +"description": "Lake view exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"landmarkView": { +"description": "Landmark view. A guestroom that features a window through which guests can see a landmark such as the countryside, a golf course, the forest, a park, a rain forst, a mountain or a slope.", +"type": "boolean" +}, +"landmarkViewException": { +"description": "Landmark view exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"oceanView": { +"description": "Ocean view. A guestroom that features a window through which guests can see the ocean.", +"type": "boolean" +}, +"oceanViewException": { +"description": "Ocean view exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"poolView": { +"description": "Pool view. A guestroom that features a window through which guests can see the hotel's swimming pool.", +"type": "boolean" +}, +"poolViewException": { +"description": "Pool view exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"valleyView": { +"description": "Valley view. A guestroom that features a window through which guests can see over a valley.", +"type": "boolean" +}, +"valleyViewException": { +"description": "Valley view exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +} +}, +"type": "object" +}, +"WasteReduction": { +"description": "Waste reduction practices implemented at the hotel.", +"id": "WasteReduction", +"properties": { +"compostableFoodContainersAndCutlery": { +"description": "Compostable food containers and cutlery. 100% of food service containers and to-go cutlery are compostable, and reusable utensils are offered wherever possible. Compostable materials are capable of undergoing biological decomposition in a compost site, such that material is not visually distinguishable and breaks down into carbon dioxide, water, inorganic compounds, and biomass.", +"type": "boolean" +}, +"compostableFoodContainersAndCutleryException": { +"description": "Compostable food containers and cutlery exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"compostsExcessFood": { +"description": "Composts excess food. The property has a program and/or policy for diverting waste from landfill by composting food and yard waste, either through compost collection and off-site processing or on-site compost processing.", +"type": "boolean" +}, +"compostsExcessFoodException": { +"description": "Composts excess food exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"donatesExcessFood": { +"description": "Donates excess food. The property has a program and/or policy for diverting waste from landfill that may include efforts to donate for human consumption or divert food for animal feed.", +"type": "boolean" +}, +"donatesExcessFoodException": { +"description": "Donates excess food exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"foodWasteReductionProgram": { +"description": "Food waste reduction program. The property has established a food waste reduction and donation program, aiming to reduce food waste by half. These programs typically use tools such as the Hotel Kitchen Toolkit and others to track waste and measure progress.", +"type": "boolean" +}, +"foodWasteReductionProgramException": { +"description": "Food waste reduction program exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"noSingleUsePlasticStraws": { +"description": "No single use plastic straws. The property bans single-use plastic straws.", +"type": "boolean" +}, +"noSingleUsePlasticStrawsException": { +"description": "No single use plastic straws exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"noSingleUsePlasticWaterBottles": { +"description": "No single use plastic water bottles. The property bans single-use plastic water bottles.", +"type": "boolean" +}, +"noSingleUsePlasticWaterBottlesException": { +"description": "No single use plastic water bottles exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"noStyrofoamFoodContainers": { +"description": "No styrofoam food containers. The property eliminates the use of Styrofoam in disposable food service items.", +"type": "boolean" +}, +"noStyrofoamFoodContainersException": { +"description": "No styrofoam food containers exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"recyclingProgram": { +"description": "Recycling program. The property has a recycling program, aligned with LEED waste requirements, and a policy outlining efforts to send less than 50% of waste to landfill. The recycling program includes storage locations for recyclable materials, including mixed paper, corrugated cardboard, glass, plastics, and metals.", +"type": "boolean" +}, +"recyclingProgramException": { +"description": "Recycling program exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"refillableToiletryContainers": { +"description": "Refillable toiletry containers. The property has replaced miniature individual containers with refillable amenity dispensers for shampoo, conditioner, soap, and lotion.", +"type": "boolean" +}, +"refillableToiletryContainersException": { +"description": "Refillable toiletry containers exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"safelyDisposesBatteries": { +"description": "Safely disposes batteries. The property safely stores and disposes batteries.", +"type": "boolean" +}, +"safelyDisposesBatteriesException": { +"description": "Safely disposes batteries exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"safelyDisposesElectronics": { +"description": "Safely disposes electronics. The property has a reputable recycling program that keeps hazardous electronic parts and chemical compounds out of landfills, dumps and other unauthorized abandonment sites, and recycles/reuses applicable materials. (e.g. certified electronics recyclers).", +"type": "boolean" +}, +"safelyDisposesElectronicsException": { +"description": "Safely disposes electronics exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"safelyDisposesLightbulbs": { +"description": "Safely disposes lightbulbs. The property safely stores and disposes lightbulbs.", +"type": "boolean" +}, +"safelyDisposesLightbulbsException": { +"description": "Safely disposes lightbulbs exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"safelyHandlesHazardousSubstances": { +"description": "Safely handles hazardous substances. The property has a hazardous waste management program aligned wit GreenSeal and LEED requirements, and meets all regulatory requirements for hazardous waste disposal and recycling. Hazardous means substances that are classified as \"hazardous\" by an authoritative body (such as OSHA or DOT), are labeled with signal words such as \"Danger,\" \"Caution,\" \"Warning,\" or are flammable, corrosive, or ignitable. Requirements include: - The property shall maintain records of the efforts it has made to replace the hazardous substances it uses with less hazardous alternatives. - An inventory of the hazardous materials stored on-site. - Products intended for cleaning, dishwashing, laundry, and pool maintenance shall be stored in clearly labeled containers. These containers shall be checked regularly for leaks, and replaced a necessary. - Spill containment devices shall be installed to collect spills, drips, or leaching of chemicals.", +"type": "boolean" +}, +"safelyHandlesHazardousSubstancesException": { +"description": "Safely handles hazardous substances exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"soapDonationProgram": { +"description": "Soap donation program. The property participates in a soap donation program such as Clean the World or something similar.", +"type": "boolean" +}, +"soapDonationProgramException": { +"description": "Soap donation program exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"toiletryDonationProgram": { +"description": "Toiletry donation program. The property participates in a toiletry donation program such as Clean the World or something similar.", +"type": "boolean" +}, +"toiletryDonationProgramException": { +"description": "Toiletry donation program exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"waterBottleFillingStations": { +"description": "Water bottle filling stations. The property offers water stations throughout the building for guest use.", +"type": "boolean" +}, +"waterBottleFillingStationsException": { +"description": "Water bottle filling stations exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +} +}, +"type": "object" +}, +"WaterConservation": { +"description": "Water conservation practices implemented at the hotel.", +"id": "WaterConservation", +"properties": { +"independentOrganizationAuditsWaterUse": { +"description": "Independent organization audits water use. The property conducts a water conservation audit every 5 years, the results of which are either verified by a third-party and/or published in external communications. A water conservation audit is a detailed assessment of the facility, providing recommendations to existing operations and procedures to improve water efficiency, available incentives or rebates, and opportunities for improvements through renovations or upgrades. Examples of organizations who conduct credible third party audits include: Engie Impact, and local utility providers (they often provide energy and water audits).", +"type": "boolean" +}, +"independentOrganizationAuditsWaterUseException": { +"description": "Independent organization audits water use exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"linenReuseProgram": { +"description": "Linen reuse program. The property offers a linen reuse program.", +"type": "boolean" +}, +"linenReuseProgramException": { +"description": "Linen reuse program exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"towelReuseProgram": { +"description": "Towel reuse program. The property offers a towel reuse program.", +"type": "boolean" +}, +"towelReuseProgramException": { +"description": "Towel reuse program exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"waterSavingShowers": { +"description": "Water saving showers. All of the property's guest rooms have shower heads that use no more than 2.0 gallons per minute (gpm).", +"type": "boolean" +}, +"waterSavingShowersException": { +"description": "Water saving showers exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"waterSavingSinks": { +"description": "Water saving sinks. All of the property's guest rooms have bathroom faucets that use a maximum of 1.5 gallons per minute (gpm), public restroom faucets do not exceed 0.5 gpm, and kitchen faucets (excluding faucets used exclusively for filling operations) do not exceed 2.2 gpm.", +"type": "boolean" +}, +"waterSavingSinksException": { +"description": "Water saving sinks exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"waterSavingToilets": { +"description": "Water saving toilets. All of the property's toilets use 1.6 gallons per flush, or less.", +"type": "boolean" +}, +"waterSavingToiletsException": { +"description": "Water saving toilets exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +} +}, +"type": "object" +}, +"Wellness": { +"description": "Guest facilities at the property to promote or maintain health, beauty, and fitness.", +"id": "Wellness", +"properties": { +"doctorOnCall": { +"description": "Doctor on call. The hotel has a contract with a medical professional who provides services to hotel guests should they fall ill during their stay. The doctor may or may not have an on-site office or be at the hotel at all times.", +"type": "boolean" +}, +"doctorOnCallException": { +"description": "Doctor on call exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"ellipticalMachine": { +"description": "Elliptical machine. An electric, stationary fitness machine with pedals that simulates climbing, walking or running and provides a user-controlled range of speeds and tensions. May not have arm-controlled levers to work out the upper body as well. Commonly found in a gym, fitness room, health center, or health club.", +"type": "boolean" +}, +"ellipticalMachineException": { +"description": "Elliptical machine exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"fitnessCenter": { +"description": "Fitness center. A room or building at the hotel containing equipment to promote physical activity, such as treadmills, elliptical machines, stationary bikes, weight machines, free weights, and/or stretching mats. Use of the fitness center can be free or for a fee. May or may not be staffed. May or may not offer instructor-led classes in various styles of physical conditioning. May or may not be open 24/7. May or may not include locker rooms and showers. Also known as health club, gym, fitness room, health center.", +"type": "boolean" +}, +"fitnessCenterException": { +"description": "Fitness center exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"freeFitnessCenter": { +"description": "Free fitness center. Guests may use the fitness center for free.", +"type": "boolean" +}, +"freeFitnessCenterException": { +"description": "Free fitness center exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"freeWeights": { +"description": "Free weights. Individual handheld fitness equipment of varied weights used for upper body strength training or bodybuilding. Also known as barbells, dumbbells, or kettlebells. Often stored on a rack with the weights arranged from light to heavy. Commonly found in a gym, fitness room, health center, or health club.", +"type": "boolean" +}, +"freeWeightsException": { +"description": "Free weights exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"massage": { +"description": "Massage. A service provided by a trained massage therapist involving the physical manipulation of a guest's muscles in order to achieve relaxation or pain relief.", +"type": "boolean" +}, +"massageException": { +"description": "Massage exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"salon": { +"description": "Salon. A room at the hotel where professionals provide hair styling services such as shampooing, blow drying, hair dos, hair cutting and hair coloring. Also known as hairdresser or beauty salon.", +"type": "boolean" +}, +"salonException": { +"description": "Salon exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"sauna": { +"description": "Sauna. A wood-paneled room heated to a high temperature where guests sit on built-in wood benches for the purpose of perspiring and relaxing their muscles. Can be dry or slightly wet heat. Not a steam room.", +"type": "boolean" +}, +"saunaException": { +"description": "Sauna exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"spa": { +"description": "Spa. A designated area, room or building at the hotel offering health and beauty treatment through such means as steam baths, exercise equipment, and massage. May also offer facials, nail care, and hair care. Services are usually available by appointment and for an additional fee. Does not apply if hotel only offers a steam room; must offer other beauty and/or health treatments as well.", +"type": "boolean" +}, +"spaException": { +"description": "Spa exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"treadmill": { +"description": "Treadmill. An electric stationary fitness machine that simulates a moving path to promote walking or running within a range of user-controlled speeds and inclines. Also known as running machine. Commonly found in a gym, fitness room, health center, or health club.", +"type": "boolean" +}, +"treadmillException": { +"description": "Treadmill exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +}, +"weightMachine": { +"description": "Weight machine. Non-electronic fitness equipment designed for the user to target the exertion of different muscles. Usually incorporates a padded seat, a stack of flat weights and various bars and pulleys. May be designed for toning a specific part of the body or may involve different user-controlled settings, hardware and pulleys so as to provide an overall workout in one machine. Commonly found in a gym, fitness center, fitness room, or health club.", +"type": "boolean" +}, +"weightMachineException": { +"description": "Weight machine exception.", +"enum": [ +"EXCEPTION_UNSPECIFIED", +"UNDER_CONSTRUCTION", +"DEPENDENT_ON_SEASON", +"DEPENDENT_ON_DAY_OF_WEEK" +], +"enumDescriptions": [ +"Default unspecified exception. Use this only if a more specific exception does not match.", +"Amenity or service is unavailable due to ongoing work orders.", +"Amenity or service availability is seasonal.", +"Amenity or service availability depends on the day of the week." +], +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "My Business Lodging 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/mybusinessverifications.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/mybusinessverifications.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..ce35318b83d92057bd0f24dc7e22d9f55f4751c4 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/mybusinessverifications.v1.json @@ -0,0 +1,678 @@ +{ +"basePath": "", +"baseUrl": "https://mybusinessverifications.googleapis.com/", +"batchPath": "batch", +"canonicalName": "My Business Verifications", +"description": "The My Business Verifications API provides an interface for taking verifications related actions for locations.", +"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": "mybusinessverifications:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://mybusinessverifications.mtls.googleapis.com/", +"name": "mybusinessverifications", +"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": { +"methods": { +"fetchVerificationOptions": { +"description": "Reports all eligible verification options for a location in a specific language.", +"flatPath": "v1/locations/{locationsId}:fetchVerificationOptions", +"httpMethod": "POST", +"id": "mybusinessverifications.locations.fetchVerificationOptions", +"parameterOrder": [ +"location" +], +"parameters": { +"location": { +"description": "Required. The location to verify.", +"location": "path", +"pattern": "^locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+location}:fetchVerificationOptions", +"request": { +"$ref": "FetchVerificationOptionsRequest" +}, +"response": { +"$ref": "FetchVerificationOptionsResponse" +} +}, +"getVoiceOfMerchantState": { +"description": "Gets the VoiceOfMerchant state.", +"flatPath": "v1/locations/{locationsId}/VoiceOfMerchantState", +"httpMethod": "GET", +"id": "mybusinessverifications.locations.getVoiceOfMerchantState", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the location.", +"location": "path", +"pattern": "^locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}/VoiceOfMerchantState", +"response": { +"$ref": "VoiceOfMerchantState" +} +}, +"verify": { +"description": "Starts the verification process for a location.", +"flatPath": "v1/locations/{locationsId}:verify", +"httpMethod": "POST", +"id": "mybusinessverifications.locations.verify", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the location to verify.", +"location": "path", +"pattern": "^locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:verify", +"request": { +"$ref": "VerifyLocationRequest" +}, +"response": { +"$ref": "VerifyLocationResponse" +} +} +}, +"resources": { +"verifications": { +"methods": { +"complete": { +"description": "Completes a `PENDING` verification. It is only necessary for non `AUTO` verification methods. `AUTO` verification request is instantly `VERIFIED` upon creation.", +"flatPath": "v1/locations/{locationsId}/verifications/{verificationsId}:complete", +"httpMethod": "POST", +"id": "mybusinessverifications.locations.verifications.complete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the verification to complete.", +"location": "path", +"pattern": "^locations/[^/]+/verifications/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:complete", +"request": { +"$ref": "CompleteVerificationRequest" +}, +"response": { +"$ref": "CompleteVerificationResponse" +} +}, +"list": { +"description": "List verifications of a location, ordered by create time.", +"flatPath": "v1/locations/{locationsId}/verifications", +"httpMethod": "GET", +"id": "mybusinessverifications.locations.verifications.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "How many verification to include per page. Minimum is 1, and the default and maximum page size is 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "If specified, returns the next page of verifications.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Resource name of the location that verification requests belong to.", +"location": "path", +"pattern": "^locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/verifications", +"response": { +"$ref": "ListVerificationsResponse" +} +} +} +} +} +} +}, +"revision": "20241120", +"rootUrl": "https://mybusinessverifications.googleapis.com/", +"schemas": { +"AddressVerificationData": { +"description": "Display data for verifications through postcard.", +"id": "AddressVerificationData", +"properties": { +"address": { +"$ref": "PostalAddress", +"description": "Address that a postcard can be sent to." +}, +"business": { +"description": "Merchant's business name.", +"type": "string" +}, +"expectedDeliveryDaysRegion": { +"description": "Expected number of days it takes to deliver a postcard to the address's region.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"CompleteVerificationRequest": { +"description": "Request message for Verifications.CompleteVerificationAction.", +"id": "CompleteVerificationRequest", +"properties": { +"pin": { +"description": "Required. PIN code received by the merchant to complete the verification.", +"type": "string" +} +}, +"type": "object" +}, +"CompleteVerificationResponse": { +"description": "Response message for Verifications.CompleteVerificationAction.", +"id": "CompleteVerificationResponse", +"properties": { +"verification": { +"$ref": "Verification", +"description": "The completed verification." +} +}, +"type": "object" +}, +"ComplyWithGuidelines": { +"description": "Indicates that the location fails to comply with our [guidelines](https://support.google.com/business/answer/3038177).", +"id": "ComplyWithGuidelines", +"properties": { +"recommendationReason": { +"description": "The reason why the location is being recommended to comply with guidelines.", +"enum": [ +"RECOMMENDATION_REASON_UNSPECIFIED", +"BUSINESS_LOCATION_SUSPENDED", +"BUSINESS_LOCATION_DISABLED" +], +"enumDescriptions": [ +"Not specified.", +"The business location is suspended. To fix this issue, consult the [Help Center article](https://support.google.com/business/answer/4569145).", +"The business location is disabled. To fix this issue, consult the [Help Center article](https://support.google.com/business/answer/9334246)." +], +"type": "string" +} +}, +"type": "object" +}, +"EmailVerificationData": { +"description": "Display data for verifications through email.", +"id": "EmailVerificationData", +"properties": { +"domain": { +"description": "Domain name in the email address. e.g. \"gmail.com\" in foo@gmail.com", +"type": "string" +}, +"isUserNameEditable": { +"description": "Whether client is allowed to provide a different user name.", +"type": "boolean" +}, +"user": { +"description": "User name in the email address. e.g. \"foo\" in foo@gmail.com", +"type": "string" +} +}, +"type": "object" +}, +"FetchVerificationOptionsRequest": { +"description": "Request message for Verifications.FetchVerificationOptions.", +"id": "FetchVerificationOptionsRequest", +"properties": { +"context": { +"$ref": "ServiceBusinessContext", +"description": "Optional. Extra context information for the verification of service businesses. Can only be applied to the locations whose business type is CUSTOMER_LOCATION_ONLY. Specifying an accurate address could enable more options. INVALID_ARGUMENT will be thrown if it is set for other business types of locations." +}, +"languageCode": { +"description": "Required. The BCP 47 language code representing the language that is to be used for the verification process. Available options vary by language.", +"type": "string" +} +}, +"type": "object" +}, +"FetchVerificationOptionsResponse": { +"description": "Response message for Verifications.FetchVerificationOptions.", +"id": "FetchVerificationOptionsResponse", +"properties": { +"options": { +"description": "The available verification options.", +"items": { +"$ref": "VerificationOption" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListVerificationsResponse": { +"description": "Response message for Verifications.ListVerifications.", +"id": "ListVerificationsResponse", +"properties": { +"nextPageToken": { +"description": "If the number of verifications exceeded the requested page size, this field will be populated with a token to fetch the next page of verification on a subsequent call. If there are no more attributes, this field will not be present in the response.", +"type": "string" +}, +"verifications": { +"description": "List of the verifications.", +"items": { +"$ref": "Verification" +}, +"type": "array" +} +}, +"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" +}, +"ResolveOwnershipConflict": { +"description": "Indicates that the location duplicates another location that is in good standing.", +"id": "ResolveOwnershipConflict", +"properties": {}, +"type": "object" +}, +"ServiceBusinessContext": { +"description": "Additional data for service business verification.", +"id": "ServiceBusinessContext", +"properties": { +"address": { +"$ref": "PostalAddress", +"description": "The verification address of the location. It is used to either enable more verification options or send a postcard." +} +}, +"type": "object" +}, +"Verification": { +"description": "A verification represents a verification attempt on a location.", +"id": "Verification", +"properties": { +"announcement": { +"description": "Optional. Response announcement set only if the method is VETTED_PARTNER.", +"type": "string" +}, +"createTime": { +"description": "The timestamp when the verification is requested.", +"format": "google-datetime", +"type": "string" +}, +"method": { +"description": "The method of the verification.", +"enum": [ +"VERIFICATION_METHOD_UNSPECIFIED", +"ADDRESS", +"EMAIL", +"PHONE_CALL", +"SMS", +"AUTO", +"VETTED_PARTNER" +], +"enumDescriptions": [ +"Default value, will result in errors.", +"Send a postcard with a verification PIN to a specific mailing address. The PIN is used to complete verification with Google.", +"Send an email with a verification PIN to a specific email address. The PIN is used to complete verification with Google.", +"Make a phone call with a verification PIN to a specific phone number. The PIN is used to complete verification with Google.", +"Send an SMS with a verification PIN to a specific phone number. The PIN is used to complete verification with Google.", +"Verify the location without additional user action. This option may not be available for all locations.", +"This option may not be available for all locations." +], +"type": "string" +}, +"name": { +"description": "Resource name of the verification.", +"type": "string" +}, +"state": { +"description": "The state of the verification.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"COMPLETED", +"FAILED" +], +"enumDescriptions": [ +"Default value, will result in errors.", +"The verification is pending.", +"The verification is completed.", +"The verification is failed." +], +"type": "string" +} +}, +"type": "object" +}, +"VerificationOption": { +"description": "The verification option represents how to verify the location (indicated by verification method) and where the verification will be sent to (indicated by display data).", +"id": "VerificationOption", +"properties": { +"addressData": { +"$ref": "AddressVerificationData", +"description": "Set only if the method is MAIL." +}, +"announcement": { +"description": "Set only if the method is VETTED_PARTNER.", +"type": "string" +}, +"emailData": { +"$ref": "EmailVerificationData", +"description": "Set only if the method is EMAIL." +}, +"phoneNumber": { +"description": "Set only if the method is PHONE_CALL or SMS. Phone number that the PIN will be sent to.", +"type": "string" +}, +"verificationMethod": { +"description": "Method to verify the location.", +"enum": [ +"VERIFICATION_METHOD_UNSPECIFIED", +"ADDRESS", +"EMAIL", +"PHONE_CALL", +"SMS", +"AUTO", +"VETTED_PARTNER" +], +"enumDescriptions": [ +"Default value, will result in errors.", +"Send a postcard with a verification PIN to a specific mailing address. The PIN is used to complete verification with Google.", +"Send an email with a verification PIN to a specific email address. The PIN is used to complete verification with Google.", +"Make a phone call with a verification PIN to a specific phone number. The PIN is used to complete verification with Google.", +"Send an SMS with a verification PIN to a specific phone number. The PIN is used to complete verification with Google.", +"Verify the location without additional user action. This option may not be available for all locations.", +"This option may not be available for all locations." +], +"type": "string" +} +}, +"type": "object" +}, +"VerificationToken": { +"description": "Token generated by a vetted [partner](https://support.google.com/business/answer/7674102).", +"id": "VerificationToken", +"properties": { +"tokenString": { +"description": "The token string.", +"type": "string" +} +}, +"type": "object" +}, +"Verify": { +"description": "Indicates that the location requires verification. Contains information about the current verification actions performed on the location.", +"id": "Verify", +"properties": { +"hasPendingVerification": { +"description": "Indicates whether a verification process has already started, and can be completed by the location.", +"type": "boolean" +} +}, +"type": "object" +}, +"VerifyLocationRequest": { +"description": "Request message for Verifications.VerifyLocation.", +"id": "VerifyLocationRequest", +"properties": { +"context": { +"$ref": "ServiceBusinessContext", +"description": "Optional. Extra context information for the verification of service businesses. It is only required for the locations whose business type is CUSTOMER_LOCATION_ONLY. For ADDRESS verification, the address will be used to send out postcard. For other methods, it should be the same as the one that is passed to GetVerificationOptions. INVALID_ARGUMENT will be thrown if it is set for other types of business locations." +}, +"emailAddress": { +"description": "Optional. The input for EMAIL method. Email address where the PIN should be sent to. An email address is accepted only if it is one of the addresses provided by FetchVerificationOptions. If the EmailVerificationData has is_user_name_editable set to true, the client may specify a different user name (local-part) but must match the domain name.", +"type": "string" +}, +"languageCode": { +"description": "Optional. The BCP 47 language code representing the language that is to be used for the verification process.", +"type": "string" +}, +"mailerContact": { +"description": "Optional. The input for ADDRESS method. Contact name the mail should be sent to.", +"type": "string" +}, +"method": { +"description": "Required. Verification method.", +"enum": [ +"VERIFICATION_METHOD_UNSPECIFIED", +"ADDRESS", +"EMAIL", +"PHONE_CALL", +"SMS", +"AUTO", +"VETTED_PARTNER" +], +"enumDescriptions": [ +"Default value, will result in errors.", +"Send a postcard with a verification PIN to a specific mailing address. The PIN is used to complete verification with Google.", +"Send an email with a verification PIN to a specific email address. The PIN is used to complete verification with Google.", +"Make a phone call with a verification PIN to a specific phone number. The PIN is used to complete verification with Google.", +"Send an SMS with a verification PIN to a specific phone number. The PIN is used to complete verification with Google.", +"Verify the location without additional user action. This option may not be available for all locations.", +"This option may not be available for all locations." +], +"type": "string" +}, +"phoneNumber": { +"description": "Optional. The input for PHONE_CALL/SMS method The phone number that should be called or be sent SMS to. It must be one of the phone numbers in the eligible options.", +"type": "string" +}, +"token": { +"$ref": "VerificationToken", +"description": "Optional. The input for VETTED_PARTNER method available to select [partners.](https://support.google.com/business/answer/7674102) The input is not needed for a vetted account. Token that is associated to the location. Token that is associated to the location." +} +}, +"type": "object" +}, +"VerifyLocationResponse": { +"description": "Response message for Verifications.VerifyLocation.", +"id": "VerifyLocationResponse", +"properties": { +"verification": { +"$ref": "Verification", +"description": "The created verification request." +} +}, +"type": "object" +}, +"VoiceOfMerchantState": { +"description": "Response message for VoiceOfMerchant.GetVoiceOfMerchantState.", +"id": "VoiceOfMerchantState", +"properties": { +"complyWithGuidelines": { +"$ref": "ComplyWithGuidelines", +"description": "The location fails to comply with our [guidelines](https://support.google.com/business/answer/3038177) and requires additional steps for reinstatement. To fix this issue, consult the [Help Center Article](https://support.google.com/business/answer/4569145)." +}, +"hasBusinessAuthority": { +"description": "Indicates whether the location has the authority (ownership) over the business on Google. If true, another location cannot take over and become the dominant listing on Maps. However, edits will not become live unless Voice of Merchant is gained (i.e. has_voice_of_merchant is true).", +"type": "boolean" +}, +"hasVoiceOfMerchant": { +"description": "Indicates whether the location is in good standing and has control over the business on Google. Any edits made to the location will propagate to Maps after passing the review phase.", +"type": "boolean" +}, +"resolveOwnershipConflict": { +"$ref": "ResolveOwnershipConflict", +"description": "This location duplicates another location that is in good standing. If you have access to the location in good standing, use that location's id to perform operations. Otherwise, request access from the current owner." +}, +"verify": { +"$ref": "Verify", +"description": "Start or continue the verification process." +}, +"waitForVoiceOfMerchant": { +"$ref": "WaitForVoiceOfMerchant", +"description": "Wait to gain Voice of Merchant. The location is under review for quality purposes." +} +}, +"type": "object" +}, +"WaitForVoiceOfMerchant": { +"description": "Indicates that the location will gain voice of merchant after passing review.", +"id": "WaitForVoiceOfMerchant", +"properties": {}, +"type": "object" +} +}, +"servicePath": "", +"title": "My Business Verifications 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/notebooks.v2.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/notebooks.v2.json new file mode 100644 index 0000000000000000000000000000000000000000..b65f062231503afd6ce0e1f3f6f722de45e3759c --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/notebooks.v2.json @@ -0,0 +1,2096 @@ +{ +"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://notebooks.googleapis.com/", +"batchPath": "batch", +"canonicalName": "AI Platform Notebooks", +"description": "Notebooks API is used to manage notebook resources in Google Cloud.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/notebooks/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": "notebooks:v2", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://notebooks.mtls.googleapis.com/", +"name": "notebooks", +"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": "v2/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "notebooks.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" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v2/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "notebooks.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" +] +} +}, +"resources": { +"instances": { +"methods": { +"checkUpgradability": { +"description": "Checks whether a notebook instance is upgradable.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:checkUpgradability", +"httpMethod": "GET", +"id": "notebooks.projects.locations.instances.checkUpgradability", +"parameterOrder": [ +"notebookInstance" +], +"parameters": { +"notebookInstance": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+notebookInstance}:checkUpgradability", +"response": { +"$ref": "CheckInstanceUpgradabilityResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a new Instance in a given project and location.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances", +"httpMethod": "POST", +"id": "notebooks.projects.locations.instances.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"instanceId": { +"description": "Required. User-defined unique ID of this instance.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Format: `parent=projects/{project_id}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. Idempotent request UUID.", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+parent}/instances", +"request": { +"$ref": "Instance" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single Instance.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", +"httpMethod": "DELETE", +"id": "notebooks.projects.locations.instances.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. Idempotent request UUID.", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"diagnose": { +"description": "Creates a Diagnostic File and runs Diagnostic Tool given an Instance.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:diagnose", +"httpMethod": "POST", +"id": "notebooks.projects.locations.instances.diagnose", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:diagnose", +"request": { +"$ref": "DiagnoseInstanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single Instance.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", +"httpMethod": "GET", +"id": "notebooks.projects.locations.instances.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Instance" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getConfig": { +"description": "Gets general backend configurations that might also affect the frontend. Location is required by CCFE. Although we could bypass it to send location- less request directly to the backend job, we would need CPE (go/cloud-cpe). Having the location might also be useful depending on the query.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances:getConfig", +"httpMethod": "GET", +"id": "notebooks.projects.locations.instances.getConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}/instances:getConfig", +"response": { +"$ref": "Config" +}, +"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": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:getIamPolicy", +"httpMethod": "GET", +"id": "notebooks.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": "v2/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists instances in a given project and location.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances", +"httpMethod": "GET", +"id": "notebooks.projects.locations.instances.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. List filter.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Sort results. Supported values are \"name\", \"name desc\" or \"\" (unsorted).", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum return size of the list call.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A previous returned page token that can be used to continue listing from the last result.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Format: `parent=projects/{project_id}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/instances", +"response": { +"$ref": "ListInstancesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "UpdateInstance updates an Instance.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", +"httpMethod": "PATCH", +"id": "notebooks.projects.locations.instances.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The name of this notebook instance. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. Idempotent request UUID.", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Required. Mask used to update an instance", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "Instance" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"reportInfoSystem": { +"description": "Allows notebook instances to report their latest instance information to the Notebooks API server. The server will merge the reported information to the instance metadata store. Do not use this method directly.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:reportInfoSystem", +"httpMethod": "POST", +"id": "notebooks.projects.locations.instances.reportInfoSystem", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:reportInfoSystem", +"request": { +"$ref": "ReportInstanceInfoSystemRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"reset": { +"description": "Resets a notebook instance.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:reset", +"httpMethod": "POST", +"id": "notebooks.projects.locations.instances.reset", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:reset", +"request": { +"$ref": "ResetInstanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"resizeDisk": { +"description": "Resize a notebook instance disk to a higher capacity.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:resizeDisk", +"httpMethod": "POST", +"id": "notebooks.projects.locations.instances.resizeDisk", +"parameterOrder": [ +"notebookInstance" +], +"parameters": { +"notebookInstance": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+notebookInstance}:resizeDisk", +"request": { +"$ref": "ResizeDiskRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"restore": { +"description": "RestoreInstance restores an Instance from a BackupSource.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:restore", +"httpMethod": "POST", +"id": "notebooks.projects.locations.instances.restore", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:restore", +"request": { +"$ref": "RestoreInstanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"rollback": { +"description": "Rollbacks a notebook instance to the previous version.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:rollback", +"httpMethod": "POST", +"id": "notebooks.projects.locations.instances.rollback", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:rollback", +"request": { +"$ref": "RollbackInstanceRequest" +}, +"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": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:setIamPolicy", +"httpMethod": "POST", +"id": "notebooks.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": "v2/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"start": { +"description": "Starts a notebook instance.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:start", +"httpMethod": "POST", +"id": "notebooks.projects.locations.instances.start", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:start", +"request": { +"$ref": "StartInstanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"stop": { +"description": "Stops a notebook instance.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:stop", +"httpMethod": "POST", +"id": "notebooks.projects.locations.instances.stop", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:stop", +"request": { +"$ref": "StopInstanceRequest" +}, +"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": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:testIamPermissions", +"httpMethod": "POST", +"id": "notebooks.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": "v2/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"upgrade": { +"description": "Upgrades a notebook instance to the latest version.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:upgrade", +"httpMethod": "POST", +"id": "notebooks.projects.locations.instances.upgrade", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:upgrade", +"request": { +"$ref": "UpgradeInstanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"upgradeSystem": { +"description": "Allows notebook instances to upgrade themselves. Do not use this method directly.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:upgradeSystem", +"httpMethod": "POST", +"id": "notebooks.projects.locations.instances.upgradeSystem", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:upgradeSystem", +"request": { +"$ref": "UpgradeInstanceSystemRequest" +}, +"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": "v2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "notebooks.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" +] +}, +"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": "v2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "notebooks.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": "v2/{+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": "v2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "notebooks.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" +] +}, +"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": "notebooks.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" +] +} +} +} +} +} +} +} +}, +"revision": "20250101", +"rootUrl": "https://notebooks.googleapis.com/", +"schemas": { +"AcceleratorConfig": { +"description": "An accelerator configuration for a VM instance Definition of a hardware accelerator. Note that there is no check on `type` and `core_count` combinations. TPUs are not supported. See [GPUs on Compute Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a valid combination.", +"id": "AcceleratorConfig", +"properties": { +"coreCount": { +"description": "Optional. Count of cores of this accelerator.", +"format": "int64", +"type": "string" +}, +"type": { +"description": "Optional. Type of this accelerator.", +"enum": [ +"ACCELERATOR_TYPE_UNSPECIFIED", +"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_TESLA_T4_VWS", +"NVIDIA_TESLA_P100_VWS", +"NVIDIA_TESLA_P4_VWS" +], +"enumDescriptions": [ +"Accelerator type is not specified.", +"Accelerator type is Nvidia Tesla P100.", +"Accelerator type is Nvidia Tesla V100.", +"Accelerator type is Nvidia Tesla P4.", +"Accelerator type is Nvidia Tesla T4.", +"Accelerator type is Nvidia Tesla A100 - 40GB.", +"Accelerator type is Nvidia Tesla A100 - 80GB.", +"Accelerator type is Nvidia Tesla L4.", +"Accelerator type is Nvidia Tesla H100 - 80GB.", +"Accelerator type is Nvidia Tesla H100 - MEGA 80GB.", +"Accelerator type is NVIDIA Tesla T4 Virtual Workstations.", +"Accelerator type is NVIDIA Tesla P100 Virtual Workstations.", +"Accelerator type is NVIDIA Tesla P4 Virtual Workstations." +], +"type": "string" +} +}, +"type": "object" +}, +"AccessConfig": { +"description": "An access configuration attached to an instance's network interface.", +"id": "AccessConfig", +"properties": { +"externalIp": { +"description": "An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.", +"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" +}, +"BootDisk": { +"description": "The definition of a boot disk.", +"id": "BootDisk", +"properties": { +"diskEncryption": { +"description": "Optional. Input only. Disk encryption method used on the boot and data disks, defaults to GMEK.", +"enum": [ +"DISK_ENCRYPTION_UNSPECIFIED", +"GMEK", +"CMEK" +], +"enumDescriptions": [ +"Disk encryption is not specified.", +"Use Google managed encryption keys to encrypt the boot disk.", +"Use customer managed encryption keys to encrypt the boot disk." +], +"type": "string" +}, +"diskSizeGb": { +"description": "Optional. The size of the boot disk in GB attached to this instance, up to a maximum of 64000 GB (64 TB). If not specified, this defaults to the recommended value of 150GB.", +"format": "int64", +"type": "string" +}, +"diskType": { +"description": "Optional. Indicates the type of the disk.", +"enum": [ +"DISK_TYPE_UNSPECIFIED", +"PD_STANDARD", +"PD_SSD", +"PD_BALANCED", +"PD_EXTREME" +], +"enumDescriptions": [ +"Disk type not set.", +"Standard persistent disk type.", +"SSD persistent disk type.", +"Balanced persistent disk type.", +"Extreme persistent disk type." +], +"type": "string" +}, +"kmsKey": { +"description": "Optional. Input only. The KMS key used to encrypt the disks, only applicable if disk_encryption is CMEK. Format: `projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}` Learn more about using your own encryption keys.", +"type": "string" +} +}, +"type": "object" +}, +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"CheckInstanceUpgradabilityResponse": { +"description": "Response for checking if a notebook instance is upgradeable.", +"id": "CheckInstanceUpgradabilityResponse", +"properties": { +"upgradeImage": { +"description": "The new image self link this instance will be upgraded to if calling the upgrade endpoint. This field will only be populated if field upgradeable is true.", +"type": "string" +}, +"upgradeInfo": { +"description": "Additional information about upgrade.", +"type": "string" +}, +"upgradeVersion": { +"description": "The version this instance will be upgraded to if calling the upgrade endpoint. This field will only be populated if field upgradeable is true.", +"type": "string" +}, +"upgradeable": { +"description": "If an instance is upgradeable.", +"type": "boolean" +} +}, +"type": "object" +}, +"Config": { +"description": "Response for getting WbI configurations in a location", +"id": "Config", +"properties": { +"availableImages": { +"description": "Output only. The list of available images to create a WbI.", +"items": { +"$ref": "ImageRelease" +}, +"readOnly": true, +"type": "array" +}, +"defaultValues": { +"$ref": "DefaultValues", +"description": "Output only. The default values for configuration.", +"readOnly": true +}, +"supportedValues": { +"$ref": "SupportedValues", +"description": "Output only. The supported values for configuration.", +"readOnly": true +} +}, +"type": "object" +}, +"ContainerImage": { +"description": "Definition of a container image for starting a notebook instance with the environment installed in a container.", +"id": "ContainerImage", +"properties": { +"repository": { +"description": "Required. The path to the container image repository. For example: `gcr.io/{project_id}/{image_name}`", +"type": "string" +}, +"tag": { +"description": "Optional. The tag of the container image. If not specified, this defaults to the latest tag.", +"type": "string" +} +}, +"type": "object" +}, +"DataDisk": { +"description": "An instance-attached disk resource.", +"id": "DataDisk", +"properties": { +"diskEncryption": { +"description": "Optional. Input only. Disk encryption method used on the boot and data disks, defaults to GMEK.", +"enum": [ +"DISK_ENCRYPTION_UNSPECIFIED", +"GMEK", +"CMEK" +], +"enumDescriptions": [ +"Disk encryption is not specified.", +"Use Google managed encryption keys to encrypt the boot disk.", +"Use customer managed encryption keys to encrypt the boot disk." +], +"type": "string" +}, +"diskSizeGb": { +"description": "Optional. The size of the disk in GB attached to this VM instance, up to a maximum of 64000 GB (64 TB). If not specified, this defaults to 100.", +"format": "int64", +"type": "string" +}, +"diskType": { +"description": "Optional. Input only. Indicates the type of the disk.", +"enum": [ +"DISK_TYPE_UNSPECIFIED", +"PD_STANDARD", +"PD_SSD", +"PD_BALANCED", +"PD_EXTREME" +], +"enumDescriptions": [ +"Disk type not set.", +"Standard persistent disk type.", +"SSD persistent disk type.", +"Balanced persistent disk type.", +"Extreme persistent disk type." +], +"type": "string" +}, +"kmsKey": { +"description": "Optional. Input only. The KMS key used to encrypt the disks, only applicable if disk_encryption is CMEK. Format: `projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}` Learn more about using your own encryption keys.", +"type": "string" +} +}, +"type": "object" +}, +"DefaultValues": { +"description": "DefaultValues represents the default configuration values.", +"id": "DefaultValues", +"properties": { +"machineType": { +"description": "Output only. The default machine type used by the backend if not provided by the user.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"DiagnoseInstanceRequest": { +"description": "Request for creating a notebook instance diagnostic file.", +"id": "DiagnoseInstanceRequest", +"properties": { +"diagnosticConfig": { +"$ref": "DiagnosticConfig", +"description": "Required. Defines flags that are used to run the diagnostic tool" +}, +"timeoutMinutes": { +"description": "Optional. Maximum amount of time in minutes before the operation times out.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"DiagnosticConfig": { +"description": "Defines flags that are used to run the diagnostic tool", +"id": "DiagnosticConfig", +"properties": { +"enableCopyHomeFilesFlag": { +"description": "Optional. Enables flag to copy all `/home/jupyter` folder contents", +"type": "boolean" +}, +"enablePacketCaptureFlag": { +"description": "Optional. Enables flag to capture packets from the instance for 30 seconds", +"type": "boolean" +}, +"enableRepairFlag": { +"description": "Optional. Enables flag to repair service for instance", +"type": "boolean" +}, +"gcsBucket": { +"description": "Required. User Cloud Storage bucket location (REQUIRED). Must be formatted with path prefix (`gs://$GCS_BUCKET`). Permissions: User Managed Notebooks: - storage.buckets.writer: Must be given to the project's service account attached to VM. Google Managed Notebooks: - storage.buckets.writer: Must be given to the project's service account or user credentials attached to VM depending on authentication mode. Cloud Storage bucket Log file will be written to `gs://$GCS_BUCKET/$RELATIVE_PATH/$VM_DATE_$TIME.tar.gz`", +"type": "string" +}, +"relativePath": { +"description": "Optional. Defines the relative storage path in the Cloud Storage bucket where the diagnostic logs will be written: Default path will be the root directory of the Cloud Storage bucket (`gs://$GCS_BUCKET/$DATE_$TIME.tar.gz`) Example of full path where Log file will be written: `gs://$GCS_BUCKET/$RELATIVE_PATH/`", +"type": "string" +} +}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"Event": { +"description": "The definition of an Event for a managed / semi-managed notebook instance.", +"id": "Event", +"properties": { +"details": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Event details. This field is used to pass event information.", +"type": "object" +}, +"reportTime": { +"description": "Optional. Event report time.", +"format": "google-datetime", +"type": "string" +}, +"type": { +"description": "Optional. Event type.", +"enum": [ +"EVENT_TYPE_UNSPECIFIED", +"IDLE", +"HEARTBEAT", +"HEALTH", +"MAINTENANCE", +"METADATA_CHANGE" +], +"enumDescriptions": [ +"Event is not specified.", +"The instance / runtime is idle", +"The instance / runtime is available. This event indicates that instance / runtime underlying compute is operational.", +"The instance / runtime health is available. This event indicates that instance / runtime health information.", +"The instance / runtime is available. This event allows instance / runtime to send Host maintenance information to Control Plane. https://cloud.google.com/compute/docs/gpus/gpu-host-maintenance", +"The instance / runtime is available. This event indicates that the instance had metadata that needs to be modified." +], +"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" +}, +"GPUDriverConfig": { +"description": "A GPU driver configuration", +"id": "GPUDriverConfig", +"properties": { +"customGpuDriverPath": { +"description": "Optional. Specify a custom Cloud Storage path where the GPU driver is stored. If not specified, we'll automatically choose from official GPU drivers.", +"type": "string" +}, +"enableGpuDriver": { +"description": "Optional. Whether the end user authorizes Google Cloud to install GPU driver on this VM instance. If this field is empty or set to false, the GPU driver won't be installed. Only applicable to instances with GPUs.", +"type": "boolean" +} +}, +"type": "object" +}, +"GceSetup": { +"description": "The definition of how to configure a VM instance outside of Resources and Identity.", +"id": "GceSetup", +"properties": { +"acceleratorConfigs": { +"description": "Optional. The hardware accelerators used on this instance. If you use accelerators, make sure that your configuration has [enough vCPUs and memory to support the `machine_type` you have selected](https://cloud.google.com/compute/docs/gpus/#gpus-list). Currently supports only one accelerator configuration.", +"items": { +"$ref": "AcceleratorConfig" +}, +"type": "array" +}, +"bootDisk": { +"$ref": "BootDisk", +"description": "Optional. The boot disk for the VM." +}, +"containerImage": { +"$ref": "ContainerImage", +"description": "Optional. Use a container image to start the notebook instance." +}, +"dataDisks": { +"description": "Optional. Data disks attached to the VM instance. Currently supports only one data disk.", +"items": { +"$ref": "DataDisk" +}, +"type": "array" +}, +"disablePublicIp": { +"description": "Optional. If true, no external IP will be assigned to this VM instance.", +"type": "boolean" +}, +"enableIpForwarding": { +"description": "Optional. Flag to enable ip forwarding or not, default false/off. https://cloud.google.com/vpc/docs/using-routes#canipforward", +"type": "boolean" +}, +"gpuDriverConfig": { +"$ref": "GPUDriverConfig", +"description": "Optional. Configuration for GPU drivers." +}, +"machineType": { +"description": "Optional. The machine type of the VM instance. https://cloud.google.com/compute/docs/machine-resource", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Custom metadata to apply to this instance.", +"type": "object" +}, +"minCpuPlatform": { +"description": "Optional. The minimum CPU platform to use for this instance. The list of valid values can be found in https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform#availablezones", +"type": "string" +}, +"networkInterfaces": { +"description": "Optional. The network interfaces for the VM. Supports only one interface.", +"items": { +"$ref": "NetworkInterface" +}, +"type": "array" +}, +"serviceAccounts": { +"description": "Optional. The service account that serves as an identity for the VM instance. Currently supports only one service account.", +"items": { +"$ref": "ServiceAccount" +}, +"type": "array" +}, +"shieldedInstanceConfig": { +"$ref": "ShieldedInstanceConfig", +"description": "Optional. Shielded VM configuration. [Images using supported Shielded VM features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm)." +}, +"tags": { +"description": "Optional. The Compute Engine network tags to add to runtime (see [Add network tags](https://cloud.google.com/vpc/docs/add-remove-network-tags)).", +"items": { +"type": "string" +}, +"type": "array" +}, +"vmImage": { +"$ref": "VmImage", +"description": "Optional. Use a Compute Engine VM image to start the notebook instance." +} +}, +"type": "object" +}, +"ImageRelease": { +"description": "ConfigImage represents an image release available to create a WbI", +"id": "ImageRelease", +"properties": { +"imageName": { +"description": "Output only. The name of the image of the form workbench-instances-vYYYYmmdd--", +"readOnly": true, +"type": "string" +}, +"releaseName": { +"description": "Output only. The release of the image of the form m123", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Instance": { +"description": "The definition of a notebook instance.", +"id": "Instance", +"properties": { +"createTime": { +"description": "Output only. Instance creation time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"creator": { +"description": "Output only. Email address of entity that sent original CreateInstance request.", +"readOnly": true, +"type": "string" +}, +"disableProxyAccess": { +"description": "Optional. If true, the notebook instance will not register with the proxy.", +"type": "boolean" +}, +"enableThirdPartyIdentity": { +"description": "Optional. Flag that specifies that a notebook can be accessed with third party identity provider.", +"type": "boolean" +}, +"gceSetup": { +"$ref": "GceSetup", +"description": "Optional. Compute Engine setup for the notebook. Uses notebook-defined fields." +}, +"healthInfo": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. Additional information about instance health. Example: healthInfo\": { \"docker_proxy_agent_status\": \"1\", \"docker_status\": \"1\", \"jupyterlab_api_status\": \"-1\", \"jupyterlab_status\": \"-1\", \"updated\": \"2020-10-18 09:40:03.573409\" }", +"readOnly": true, +"type": "object" +}, +"healthState": { +"description": "Output only. Instance health_state.", +"enum": [ +"HEALTH_STATE_UNSPECIFIED", +"HEALTHY", +"UNHEALTHY", +"AGENT_NOT_INSTALLED", +"AGENT_NOT_RUNNING" +], +"enumDescriptions": [ +"The instance substate is unknown.", +"The instance is known to be in an healthy state (for example, critical daemons are running) Applies to ACTIVE state.", +"The instance is known to be in an unhealthy state (for example, critical daemons are not running) Applies to ACTIVE state.", +"The instance has not installed health monitoring agent. Applies to ACTIVE state.", +"The instance health monitoring agent is not running. Applies to ACTIVE state." +], +"readOnly": true, +"type": "string" +}, +"id": { +"description": "Output only. Unique ID of the resource.", +"readOnly": true, +"type": "string" +}, +"instanceOwners": { +"description": "Optional. Input only. The owner of this instance after creation. Format: `alias@example.com` Currently supports one owner only. If not specified, all of the service account users of your VM instance's service account can use the instance.", +"items": { +"type": "string" +}, +"type": "array" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels to apply to this instance. These can be later modified by the UpdateInstance method.", +"type": "object" +}, +"name": { +"description": "Output only. The name of this notebook instance. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", +"readOnly": true, +"type": "string" +}, +"proxyUri": { +"description": "Output only. The proxy endpoint that is used to access the Jupyter notebook.", +"readOnly": true, +"type": "string" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use for Zone Isolation.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use for Zone Separation.", +"readOnly": true, +"type": "boolean" +}, +"state": { +"description": "Output only. The state of this instance.", +"enum": [ +"STATE_UNSPECIFIED", +"STARTING", +"PROVISIONING", +"ACTIVE", +"STOPPING", +"STOPPED", +"DELETED", +"UPGRADING", +"INITIALIZING", +"SUSPENDING", +"SUSPENDED" +], +"enumDescriptions": [ +"State is not specified.", +"The control logic is starting the instance.", +"The control logic is installing required frameworks and registering the instance with notebook proxy", +"The instance is running.", +"The control logic is stopping the instance.", +"The instance is stopped.", +"The instance is deleted.", +"The instance is upgrading.", +"The instance is being created.", +"The instance is suspending.", +"The instance is suspended." +], +"readOnly": true, +"type": "string" +}, +"thirdPartyProxyUrl": { +"description": "Output only. The workforce pools proxy endpoint that is used to access the Jupyter notebook.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Instance update time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"upgradeHistory": { +"description": "Output only. The upgrade history of this instance.", +"items": { +"$ref": "UpgradeHistoryEntry" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"ListInstancesResponse": { +"description": "Response for listing notebook instances.", +"id": "ListInstancesResponse", +"properties": { +"instances": { +"description": "A list of returned instances.", +"items": { +"$ref": "Instance" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Page token that can be used to continue listing from the last result in the next list call.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached. For example, ['us-west1-a', 'us-central1-b']. A ListInstancesResponse will only contain either instances or unreachables,", +"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" +}, +"NetworkInterface": { +"description": "The definition of a network interface resource attached to a VM.", +"id": "NetworkInterface", +"properties": { +"accessConfigs": { +"description": "Optional. An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If no accessConfigs specified, the instance will have an external internet access through an ephemeral external IP address.", +"items": { +"$ref": "AccessConfig" +}, +"type": "array" +}, +"network": { +"description": "Optional. The name of the VPC that this VM instance is in. Format: `projects/{project_id}/global/networks/{network_id}`", +"type": "string" +}, +"nicType": { +"description": "Optional. The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.", +"enum": [ +"NIC_TYPE_UNSPECIFIED", +"VIRTIO_NET", +"GVNIC" +], +"enumDescriptions": [ +"No type specified.", +"VIRTIO", +"GVNIC" +], +"type": "string" +}, +"subnet": { +"description": "Optional. The name of the subnet that this VM instance is in. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`", +"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" +}, +"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" +}, +"endpoint": { +"description": "API endpoint name of this operation.", +"type": "string" +}, +"requestedCancellation": { +"description": "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`.", +"type": "boolean" +}, +"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" +}, +"ReportInstanceInfoSystemRequest": { +"description": "Request for notebook instances to report information to Notebooks API.", +"id": "ReportInstanceInfoSystemRequest", +"properties": { +"event": { +"$ref": "Event", +"description": "Required. The Event to be reported." +}, +"vmId": { +"description": "Required. The VM hardware token for authenticating the VM. https://cloud.google.com/compute/docs/instances/verifying-instance-identity", +"type": "string" +} +}, +"type": "object" +}, +"ResetInstanceRequest": { +"description": "Request for resetting a notebook instance", +"id": "ResetInstanceRequest", +"properties": {}, +"type": "object" +}, +"ResizeDiskRequest": { +"description": "Request for resizing the notebook instance disks", +"id": "ResizeDiskRequest", +"properties": { +"bootDisk": { +"$ref": "BootDisk", +"description": "Required. The boot disk to be resized. Only disk_size_gb will be used." +}, +"dataDisk": { +"$ref": "DataDisk", +"description": "Required. The data disk to be resized. Only disk_size_gb will be used." +} +}, +"type": "object" +}, +"RestoreInstanceRequest": { +"description": "Request for restoring the notebook instance from a BackupSource.", +"id": "RestoreInstanceRequest", +"properties": { +"snapshot": { +"$ref": "Snapshot", +"description": "Snapshot to be used for restore." +} +}, +"type": "object" +}, +"RollbackInstanceRequest": { +"description": "Request for rollbacking a notebook instance", +"id": "RollbackInstanceRequest", +"properties": { +"revisionId": { +"description": "Required. Output only. Revision Id", +"readOnly": true, +"type": "string" +}, +"targetSnapshot": { +"description": "Required. The snapshot for rollback. Example: \"projects/test-project/global/snapshots/krwlzipynril\".", +"type": "string" +} +}, +"type": "object" +}, +"ServiceAccount": { +"description": "A service account that acts as an identity.", +"id": "ServiceAccount", +"properties": { +"email": { +"description": "Optional. Email address of the service account.", +"type": "string" +}, +"scopes": { +"description": "Output only. The list of scopes to be made available for this service account. Set by the CLH to https://www.googleapis.com/auth/cloud-platform", +"items": { +"type": "string" +}, +"readOnly": true, +"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." +} +}, +"type": "object" +}, +"ShieldedInstanceConfig": { +"description": "A set of Shielded Instance options. See [Images using supported Shielded VM features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm). Not all combinations are valid.", +"id": "ShieldedInstanceConfig", +"properties": { +"enableIntegrityMonitoring": { +"description": "Optional. Defines whether the VM instance has integrity monitoring enabled. Enables monitoring and attestation of the boot integrity of the VM instance. The attestation is performed against the integrity policy baseline. This baseline is initially derived from the implicitly trusted boot image when the VM instance is created. Enabled by default.", +"type": "boolean" +}, +"enableSecureBoot": { +"description": "Optional. Defines whether the VM 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. Disabled by default.", +"type": "boolean" +}, +"enableVtpm": { +"description": "Optional. Defines whether the VM instance has the vTPM enabled. Enabled by default.", +"type": "boolean" +} +}, +"type": "object" +}, +"Snapshot": { +"description": "Snapshot represents the snapshot of the data disk used to restore the Workbench Instance from. Refers to: compute/v1/projects/{project_id}/global/snapshots/{snapshot_id}", +"id": "Snapshot", +"properties": { +"projectId": { +"description": "Required. The project ID of the snapshot.", +"type": "string" +}, +"snapshotId": { +"description": "Required. The ID of the snapshot.", +"type": "string" +} +}, +"type": "object" +}, +"StartInstanceRequest": { +"description": "Request for starting a notebook instance", +"id": "StartInstanceRequest", +"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" +}, +"StopInstanceRequest": { +"description": "Request for stopping a notebook instance", +"id": "StopInstanceRequest", +"properties": {}, +"type": "object" +}, +"SupportedValues": { +"description": "SupportedValues represents the values supported by the configuration.", +"id": "SupportedValues", +"properties": { +"acceleratorTypes": { +"description": "Output only. The accelerator types supported by WbI.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"machineTypes": { +"description": "Output only. The machine types supported by WbI.", +"items": { +"type": "string" +}, +"readOnly": true, +"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" +}, +"UpgradeHistoryEntry": { +"description": "The entry of VM image upgrade history.", +"id": "UpgradeHistoryEntry", +"properties": { +"action": { +"description": "Optional. Action. Rolloback or Upgrade.", +"enum": [ +"ACTION_UNSPECIFIED", +"UPGRADE", +"ROLLBACK" +], +"enumDescriptions": [ +"Operation is not specified.", +"Upgrade.", +"Rollback." +], +"type": "string" +}, +"containerImage": { +"description": "Optional. The container image before this instance upgrade.", +"type": "string" +}, +"createTime": { +"description": "Immutable. The time that this instance upgrade history entry is created.", +"format": "google-datetime", +"type": "string" +}, +"framework": { +"description": "Optional. The framework of this notebook instance.", +"type": "string" +}, +"snapshot": { +"description": "Optional. The snapshot of the boot disk of this notebook instance before upgrade.", +"type": "string" +}, +"state": { +"description": "Output only. The state of this instance upgrade history entry.", +"enum": [ +"STATE_UNSPECIFIED", +"STARTED", +"SUCCEEDED", +"FAILED" +], +"enumDescriptions": [ +"State is not specified.", +"The instance upgrade is started.", +"The instance upgrade is succeeded.", +"The instance upgrade is failed." +], +"readOnly": true, +"type": "string" +}, +"targetVersion": { +"description": "Optional. Target VM Version, like m63.", +"type": "string" +}, +"version": { +"description": "Optional. The version of the notebook instance before this upgrade.", +"type": "string" +}, +"vmImage": { +"description": "Optional. The VM image before this instance upgrade.", +"type": "string" +} +}, +"type": "object" +}, +"UpgradeInstanceRequest": { +"description": "Request for upgrading a notebook instance", +"id": "UpgradeInstanceRequest", +"properties": {}, +"type": "object" +}, +"UpgradeInstanceSystemRequest": { +"description": "Request for upgrading a notebook instance from within the VM", +"id": "UpgradeInstanceSystemRequest", +"properties": { +"vmId": { +"description": "Required. The VM hardware token for authenticating the VM. https://cloud.google.com/compute/docs/instances/verifying-instance-identity", +"type": "string" +} +}, +"type": "object" +}, +"VmImage": { +"description": "Definition of a custom Compute Engine virtual machine image for starting a notebook instance with the environment installed directly on the VM.", +"id": "VmImage", +"properties": { +"family": { +"description": "Optional. Use this VM image family to find the image; the newest image in this family will be used.", +"type": "string" +}, +"name": { +"description": "Optional. Use VM image name to find the image.", +"type": "string" +}, +"project": { +"description": "Required. The name of the Google Cloud project that this VM image belongs to. Format: `{project_id}`", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Notebooks 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/oauth2.v2.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/oauth2.v2.json new file mode 100644 index 0000000000000000000000000000000000000000..0b5c818c6e5f0f2a6a71f0c0b61a355f06ff8104 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/oauth2.v2.json @@ -0,0 +1,293 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/userinfo.email": { +"description": "See your primary Google Account email address" +}, +"https://www.googleapis.com/auth/userinfo.profile": { +"description": "See your personal info, including any personal info you've made publicly available" +}, +"openid": { +"description": "Associate you with your personal info on Google" +} +} +} +}, +"basePath": "/", +"baseUrl": "https://www.googleapis.com/", +"batchPath": "batch/oauth2/v2", +"description": "Obtains end-user authorization grants for use with other Google APIs.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/identity/protocols/oauth2/", +"etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/VCyF6WfWVwIuhIs_gw3LA4B3w1E\"", +"icons": { +"x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", +"x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" +}, +"id": "oauth2:v2", +"kind": "discovery#restDescription", +"methods": { +"tokeninfo": { +"httpMethod": "POST", +"id": "oauth2.tokeninfo", +"parameters": { +"access_token": { +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for the response.", +"enum": [ +"json" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json" +], +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"id_token": { +"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" +}, +"pp": { +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"strict": { +"location": "query", +"type": "string" +}, +"trace": { +"location": "query", +"type": "string" +}, +"userIp": { +"description": "Deprecated. Please use quotaUser instead.", +"location": "query", +"type": "string" +}, +"userip": { +"location": "query", +"type": "string" +} +}, +"path": "oauth2/v2/tokeninfo", +"response": { +"$ref": "Tokeninfo" +} +} +}, +"name": "oauth2", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"alt": { +"default": "json", +"description": "Data format for the response.", +"enum": [ +"json" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json" +], +"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": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"userIp": { +"description": "Deprecated. Please use quotaUser instead.", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"userinfo": { +"methods": { +"get": { +"httpMethod": "GET", +"id": "oauth2.userinfo.get", +"path": "oauth2/v2/userinfo", +"response": { +"$ref": "Userinfo" +}, +"scopes": [ +"openid", +"https://www.googleapis.com/auth/userinfo.email", +"https://www.googleapis.com/auth/userinfo.profile" +] +} +}, +"resources": { +"v2": { +"resources": { +"me": { +"methods": { +"get": { +"httpMethod": "GET", +"id": "oauth2.userinfo.v2.me.get", +"path": "userinfo/v2/me", +"response": { +"$ref": "Userinfo" +}, +"scopes": [ +"openid", +"https://www.googleapis.com/auth/userinfo.email", +"https://www.googleapis.com/auth/userinfo.profile" +] +} +} +} +} +} +} +} +}, +"revision": "20200213", +"rootUrl": "https://www.googleapis.com/", +"schemas": { +"Tokeninfo": { +"id": "Tokeninfo", +"properties": { +"audience": { +"description": "Who is the intended audience for this token. In general the same as issued_to.", +"type": "string" +}, +"email": { +"description": "The email address of the user. Present only if the email scope is present in the request.", +"type": "string" +}, +"expires_in": { +"description": "The expiry time of the token, as number of seconds left until expiry.", +"format": "int32", +"type": "integer" +}, +"issued_to": { +"description": "To whom was the token issued to. In general the same as audience.", +"type": "string" +}, +"scope": { +"description": "The space separated list of scopes granted to this token.", +"type": "string" +}, +"user_id": { +"description": "The obfuscated user id.", +"type": "string" +}, +"verified_email": { +"description": "Boolean flag which is true if the email address is verified. Present only if the email scope is present in the request.", +"type": "boolean" +} +}, +"type": "object" +}, +"Userinfo": { +"id": "Userinfo", +"properties": { +"email": { +"description": "The user's email address.", +"type": "string" +}, +"family_name": { +"description": "The user's last name.", +"type": "string" +}, +"gender": { +"description": "The user's gender.", +"type": "string" +}, +"given_name": { +"description": "The user's first name.", +"type": "string" +}, +"hd": { +"description": "The hosted domain e.g. example.com if the user is Google apps user.", +"type": "string" +}, +"id": { +"description": "The obfuscated ID of the user.", +"type": "string" +}, +"link": { +"description": "URL of the profile page.", +"type": "string" +}, +"locale": { +"description": "The user's preferred locale.", +"type": "string" +}, +"name": { +"description": "The user's full name.", +"type": "string" +}, +"picture": { +"description": "URL of the user's picture image.", +"type": "string" +}, +"verified_email": { +"default": "true", +"description": "Boolean flag which is true if the email address is verified. Always verified because we only return the user's primary email address.", +"type": "boolean" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Google OAuth2 API", +"version": "v2" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/ondemandscanning.v1beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/ondemandscanning.v1beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..9cc468f02b55f5e80ae5637fa3fc14fc02b1850c --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/ondemandscanning.v1beta1.json @@ -0,0 +1,3000 @@ +{ +"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://ondemandscanning.googleapis.com/", +"batchPath": "batch", +"canonicalName": "On-Demand Scanning", +"description": "A service to scan container images for vulnerabilities.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/container-analysis/docs/on-demand-scanning/", +"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": "ondemandscanning:v1beta1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://ondemandscanning.mtls.googleapis.com/", +"name": "ondemandscanning", +"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": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "ondemandscanning.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": "v1beta1/{+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": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "ondemandscanning.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": "v1beta1/{+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": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "ondemandscanning.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": "v1beta1/{+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": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "ondemandscanning.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": "v1beta1/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"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": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "ondemandscanning.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": "v1beta1/{+name}:wait", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"scans": { +"methods": { +"analyzePackages": { +"description": "Initiates an analysis of the provided packages.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/scans:analyzePackages", +"httpMethod": "POST", +"id": "ondemandscanning.projects.locations.scans.analyzePackages", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent of the resource for which analysis is requested. Format: projects/[project_name]/locations/[location]", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/scans:analyzePackages", +"request": { +"$ref": "AnalyzePackagesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"vulnerabilities": { +"methods": { +"list": { +"description": "Lists vulnerabilities resulting from a successfully completed scan.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/scans/{scansId}/vulnerabilities", +"httpMethod": "GET", +"id": "ondemandscanning.projects.locations.scans.vulnerabilities.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The number of vulnerabilities to retrieve.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The page token, resulting from a previous call to ListVulnerabilities.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent of the collection of Vulnerabilities being requested. Format: projects/[project_name]/locations/[location]/scans/[scan_id]", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/scans/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/vulnerabilities", +"response": { +"$ref": "ListVulnerabilitiesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +} +}, +"revision": "20241209", +"rootUrl": "https://ondemandscanning.googleapis.com/", +"schemas": { +"AliasContext": { +"description": "An alias to a repo revision.", +"id": "AliasContext", +"properties": { +"kind": { +"description": "The alias kind.", +"enum": [ +"KIND_UNSPECIFIED", +"FIXED", +"MOVABLE", +"OTHER" +], +"enumDescriptions": [ +"Unknown.", +"Git tag.", +"Git branch.", +"Used to specify non-standard aliases. For example, if a Git repo has a ref named \"refs/foo/bar\"." +], +"type": "string" +}, +"name": { +"description": "The alias name.", +"type": "string" +} +}, +"type": "object" +}, +"AnalysisCompleted": { +"description": "Indicates which analysis completed successfully. Multiple types of analysis can be performed on a single resource.", +"id": "AnalysisCompleted", +"properties": { +"analysisType": { +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"AnalyzePackagesMetadata": { +"description": "AnalyzePackagesMetadata contains metadata for an active scan of a container image.", +"id": "AnalyzePackagesMetadata", +"properties": { +"createTime": { +"description": "When the scan was created.", +"format": "google-datetime", +"type": "string" +}, +"resourceUri": { +"description": "The resource URI of the container image being scanned.", +"type": "string" +} +}, +"type": "object" +}, +"AnalyzePackagesMetadataV1": { +"description": "AnalyzePackagesMetadata contains metadata for an active scan of a container image.", +"id": "AnalyzePackagesMetadataV1", +"properties": { +"createTime": { +"description": "When the scan was created.", +"format": "google-datetime", +"type": "string" +}, +"resourceUri": { +"description": "The resource URI of the container image being scanned.", +"type": "string" +} +}, +"type": "object" +}, +"AnalyzePackagesRequest": { +"description": "AnalyzePackagesRequest is the request to analyze a list of packages and create Vulnerability Occurrences for it.", +"id": "AnalyzePackagesRequest", +"properties": { +"packages": { +"description": "The packages to analyze.", +"items": { +"$ref": "PackageData" +}, +"type": "array" +}, +"resourceUri": { +"description": "Required. The resource URI of the container image being scanned.", +"type": "string" +} +}, +"type": "object" +}, +"AnalyzePackagesResponse": { +"description": "AnalyzePackagesResponse contains the information necessary to find results for the given scan.", +"id": "AnalyzePackagesResponse", +"properties": { +"scan": { +"description": "The name of the scan resource created by this successful scan.", +"type": "string" +} +}, +"type": "object" +}, +"AnalyzePackagesResponseV1": { +"description": "AnalyzePackagesResponse contains the information necessary to find results for the given scan.", +"id": "AnalyzePackagesResponseV1", +"properties": { +"scan": { +"description": "The name of the scan resource created by this successful scan.", +"type": "string" +} +}, +"type": "object" +}, +"Artifact": { +"description": "Artifact describes a build product.", +"id": "Artifact", +"properties": { +"checksum": { +"description": "Hash or checksum value of a binary, or Docker Registry 2.0 digest of a container.", +"type": "string" +}, +"id": { +"description": "Artifact ID, if any; for container images, this will be a URL by digest like `gcr.io/projectID/imagename@sha256:123456`.", +"type": "string" +}, +"names": { +"description": "Related artifact names. This may be the path to a binary or jar file, or in the case of a container build, the name used to push the container image to Google Container Registry, as presented to `docker push`. Note that a single Artifact ID can have multiple names, for example if two tags are applied to one image.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"AttestationOccurrence": { +"description": "Occurrence that represents a single \"attestation\". The authenticity of an attestation can be verified using the attached signature. If the verifier trusts the public key of the signer, then verifying the signature is sufficient to establish trust. In this circumstance, the authority to which this attestation is attached is primarily useful for lookup (how to find this attestation if you already know the authority and artifact to be verified) and intent (for which authority this attestation was intended to sign.", +"id": "AttestationOccurrence", +"properties": { +"jwts": { +"description": "One or more JWTs encoding a self-contained attestation. Each JWT encodes the payload that it verifies within the JWT itself. Verifier implementation SHOULD ignore the `serialized_payload` field when verifying these JWTs. If only JWTs are present on this AttestationOccurrence, then the `serialized_payload` SHOULD be left empty. Each JWT SHOULD encode a claim specific to the `resource_uri` of this Occurrence, but this is not validated by Grafeas metadata API implementations. The JWT itself is opaque to Grafeas.", +"items": { +"$ref": "Jwt" +}, +"type": "array" +}, +"serializedPayload": { +"description": "Required. The serialized payload that is verified by one or more `signatures`.", +"format": "byte", +"type": "string" +}, +"signatures": { +"description": "One or more signatures over `serialized_payload`. Verifier implementations should consider this attestation message verified if at least one `signature` verifies `serialized_payload`. See `Signature` in common.proto for more details on signature structure and verification.", +"items": { +"$ref": "Signature" +}, +"type": "array" +} +}, +"type": "object" +}, +"BinarySourceInfo": { +"id": "BinarySourceInfo", +"properties": { +"binaryVersion": { +"$ref": "PackageVersion", +"description": "The binary package. This is significant when the source is different than the binary itself. Historically if they've differed, we've stored the name of the source and its version in the package/version fields, but we should also store the binary package info, as that's what's actually installed. See b/175908657#comment15." +}, +"sourceVersion": { +"$ref": "PackageVersion", +"description": "The source package. Similar to the above, this is significant when the source is different than the binary itself. Since the top-level package/version fields are based on an if/else, we need a separate field for both binary and source if we want to know definitively where the data is coming from." +} +}, +"type": "object" +}, +"BuildDefinition": { +"id": "BuildDefinition", +"properties": { +"buildType": { +"type": "string" +}, +"externalParameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, +"internalParameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, +"resolvedDependencies": { +"items": { +"$ref": "ResourceDescriptor" +}, +"type": "array" +} +}, +"type": "object" +}, +"BuildMetadata": { +"id": "BuildMetadata", +"properties": { +"finishedOn": { +"format": "google-datetime", +"type": "string" +}, +"invocationId": { +"type": "string" +}, +"startedOn": { +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"BuildOccurrence": { +"description": "Details of a build occurrence.", +"id": "BuildOccurrence", +"properties": { +"inTotoSlsaProvenanceV1": { +"$ref": "InTotoSlsaProvenanceV1", +"description": "In-Toto Slsa Provenance V1 represents a slsa provenance meeting the slsa spec, wrapped in an in-toto statement. This allows for direct jsonification of a to-spec in-toto slsa statement with a to-spec slsa provenance." +}, +"intotoProvenance": { +"$ref": "InTotoProvenance", +"description": "Deprecated. See InTotoStatement for the replacement. In-toto Provenance representation as defined in spec." +}, +"intotoStatement": { +"$ref": "InTotoStatement", +"description": "In-toto Statement representation as defined in spec. The intoto_statement can contain any type of provenance. The serialized payload of the statement can be stored and signed in the Occurrence's envelope." +}, +"provenance": { +"$ref": "BuildProvenance", +"description": "The actual provenance for the build." +}, +"provenanceBytes": { +"description": "Serialized JSON representation of the provenance, used in generating the build signature in the corresponding build note. After verifying the signature, `provenance_bytes` can be unmarshalled and compared to the provenance to confirm that it is unchanged. A base64-encoded string representation of the provenance bytes is used for the signature in order to interoperate with openssl which expects this format for signature verification. The serialized form is captured both to avoid ambiguity in how the provenance is marshalled to json as well to prevent incompatibilities with future changes.", +"type": "string" +} +}, +"type": "object" +}, +"BuildProvenance": { +"description": "Provenance of a build. Contains all information needed to verify the full details about the build from source to completion.", +"id": "BuildProvenance", +"properties": { +"buildOptions": { +"additionalProperties": { +"type": "string" +}, +"description": "Special options applied to this build. This is a catch-all field where build providers can enter any desired additional details.", +"type": "object" +}, +"builderVersion": { +"description": "Version string of the builder at the time this build was executed.", +"type": "string" +}, +"builtArtifacts": { +"description": "Output of the build.", +"items": { +"$ref": "Artifact" +}, +"type": "array" +}, +"commands": { +"description": "Commands requested by the build.", +"items": { +"$ref": "Command" +}, +"type": "array" +}, +"createTime": { +"description": "Time at which the build was created.", +"format": "google-datetime", +"type": "string" +}, +"creator": { +"description": "E-mail address of the user who initiated this build. Note that this was the user's e-mail address at the time the build was initiated; this address may not represent the same end-user for all time.", +"type": "string" +}, +"endTime": { +"description": "Time at which execution of the build was finished.", +"format": "google-datetime", +"type": "string" +}, +"id": { +"description": "Required. Unique identifier of the build.", +"type": "string" +}, +"logsUri": { +"description": "URI where any logs for this provenance were written.", +"type": "string" +}, +"projectId": { +"description": "ID of the project.", +"type": "string" +}, +"sourceProvenance": { +"$ref": "Source", +"description": "Details of the Source input to the build." +}, +"startTime": { +"description": "Time at which execution of the build was started.", +"format": "google-datetime", +"type": "string" +}, +"triggerId": { +"description": "Trigger identifier if the build was triggered automatically; empty if not.", +"type": "string" +} +}, +"type": "object" +}, +"BuilderConfig": { +"id": "BuilderConfig", +"properties": { +"id": { +"type": "string" +} +}, +"type": "object" +}, +"CVSS": { +"description": "Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version.", +"id": "CVSS", +"properties": { +"attackComplexity": { +"enum": [ +"ATTACK_COMPLEXITY_UNSPECIFIED", +"ATTACK_COMPLEXITY_LOW", +"ATTACK_COMPLEXITY_HIGH", +"ATTACK_COMPLEXITY_MEDIUM" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"attackVector": { +"description": "Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments.", +"enum": [ +"ATTACK_VECTOR_UNSPECIFIED", +"ATTACK_VECTOR_NETWORK", +"ATTACK_VECTOR_ADJACENT", +"ATTACK_VECTOR_LOCAL", +"ATTACK_VECTOR_PHYSICAL" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"authentication": { +"enum": [ +"AUTHENTICATION_UNSPECIFIED", +"AUTHENTICATION_MULTIPLE", +"AUTHENTICATION_SINGLE", +"AUTHENTICATION_NONE" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"availabilityImpact": { +"enum": [ +"IMPACT_UNSPECIFIED", +"IMPACT_HIGH", +"IMPACT_LOW", +"IMPACT_NONE", +"IMPACT_PARTIAL", +"IMPACT_COMPLETE" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"baseScore": { +"description": "The base score is a function of the base metric scores.", +"format": "float", +"type": "number" +}, +"confidentialityImpact": { +"enum": [ +"IMPACT_UNSPECIFIED", +"IMPACT_HIGH", +"IMPACT_LOW", +"IMPACT_NONE", +"IMPACT_PARTIAL", +"IMPACT_COMPLETE" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"exploitabilityScore": { +"format": "float", +"type": "number" +}, +"impactScore": { +"format": "float", +"type": "number" +}, +"integrityImpact": { +"enum": [ +"IMPACT_UNSPECIFIED", +"IMPACT_HIGH", +"IMPACT_LOW", +"IMPACT_NONE", +"IMPACT_PARTIAL", +"IMPACT_COMPLETE" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"privilegesRequired": { +"enum": [ +"PRIVILEGES_REQUIRED_UNSPECIFIED", +"PRIVILEGES_REQUIRED_NONE", +"PRIVILEGES_REQUIRED_LOW", +"PRIVILEGES_REQUIRED_HIGH" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"scope": { +"enum": [ +"SCOPE_UNSPECIFIED", +"SCOPE_UNCHANGED", +"SCOPE_CHANGED" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"userInteraction": { +"enum": [ +"USER_INTERACTION_UNSPECIFIED", +"USER_INTERACTION_NONE", +"USER_INTERACTION_REQUIRED" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"Category": { +"description": "The category to which the update belongs.", +"id": "Category", +"properties": { +"categoryId": { +"description": "The identifier of the category.", +"type": "string" +}, +"name": { +"description": "The localized name of the category.", +"type": "string" +} +}, +"type": "object" +}, +"CloudRepoSourceContext": { +"description": "A CloudRepoSourceContext denotes a particular revision in a Google Cloud Source Repo.", +"id": "CloudRepoSourceContext", +"properties": { +"aliasContext": { +"$ref": "AliasContext", +"description": "An alias, which may be a branch or tag." +}, +"repoId": { +"$ref": "RepoId", +"description": "The ID of the repo." +}, +"revisionId": { +"description": "A revision ID.", +"type": "string" +} +}, +"type": "object" +}, +"Command": { +"description": "Command describes a step performed as part of the build pipeline.", +"id": "Command", +"properties": { +"args": { +"description": "Command-line arguments used when executing this command.", +"items": { +"type": "string" +}, +"type": "array" +}, +"dir": { +"description": "Working directory (relative to project source root) used when running this command.", +"type": "string" +}, +"env": { +"description": "Environment variables set before running this command.", +"items": { +"type": "string" +}, +"type": "array" +}, +"id": { +"description": "Optional unique identifier for this command, used in wait_for to reference this command as a dependency.", +"type": "string" +}, +"name": { +"description": "Required. Name of the command, as presented on the command line, or if the command is packaged as a Docker container, as presented to `docker pull`.", +"type": "string" +}, +"waitFor": { +"description": "The ID(s) of the command(s) that this command depends on.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Completeness": { +"description": "Indicates that the builder claims certain fields in this message to be complete.", +"id": "Completeness", +"properties": { +"arguments": { +"description": "If true, the builder claims that recipe.arguments is complete, meaning that all external inputs are properly captured in the recipe.", +"type": "boolean" +}, +"environment": { +"description": "If true, the builder claims that recipe.environment is claimed to be complete.", +"type": "boolean" +}, +"materials": { +"description": "If true, the builder claims that materials are complete, usually through some controls to prevent network access. Sometimes called \"hermetic\".", +"type": "boolean" +} +}, +"type": "object" +}, +"ComplianceOccurrence": { +"description": "An indication that the compliance checks in the associated ComplianceNote were not satisfied for particular resources or a specified reason.", +"id": "ComplianceOccurrence", +"properties": { +"nonComplianceReason": { +"type": "string" +}, +"nonCompliantFiles": { +"items": { +"$ref": "NonCompliantFile" +}, +"type": "array" +}, +"version": { +"$ref": "ComplianceVersion", +"description": "The OS and config version the benchmark was run on." +} +}, +"type": "object" +}, +"ComplianceVersion": { +"description": "Describes the CIS benchmark version that is applicable to a given OS and os version.", +"id": "ComplianceVersion", +"properties": { +"benchmarkDocument": { +"description": "The name of the document that defines this benchmark, e.g. \"CIS Container-Optimized OS\".", +"type": "string" +}, +"cpeUri": { +"description": "The CPE URI (https://cpe.mitre.org/specification/) this benchmark is applicable to.", +"type": "string" +}, +"version": { +"description": "The version of the benchmark. This is set to the version of the OS-specific CIS document the benchmark is defined in.", +"type": "string" +} +}, +"type": "object" +}, +"DSSEAttestationOccurrence": { +"description": "Deprecated. Prefer to use a regular Occurrence, and populate the Envelope at the top level of the Occurrence.", +"id": "DSSEAttestationOccurrence", +"properties": { +"envelope": { +"$ref": "Envelope", +"description": "If doing something security critical, make sure to verify the signatures in this metadata." +}, +"statement": { +"$ref": "InTotoStatement" +} +}, +"type": "object" +}, +"DeploymentOccurrence": { +"description": "The period during which some deployable was active in a runtime.", +"id": "DeploymentOccurrence", +"properties": { +"address": { +"description": "Address of the runtime element hosting this deployment.", +"type": "string" +}, +"config": { +"description": "Configuration used to create this deployment.", +"type": "string" +}, +"deployTime": { +"description": "Required. Beginning of the lifetime of this deployment.", +"format": "google-datetime", +"type": "string" +}, +"platform": { +"description": "Platform hosting this deployment.", +"enum": [ +"PLATFORM_UNSPECIFIED", +"GKE", +"FLEX", +"CUSTOM" +], +"enumDescriptions": [ +"Unknown.", +"Google Container Engine.", +"Google App Engine: Flexible Environment.", +"Custom user-defined platform." +], +"type": "string" +}, +"resourceUri": { +"description": "Output only. Resource URI for the artifact being deployed taken from the deployable field with the same name.", +"items": { +"type": "string" +}, +"type": "array" +}, +"undeployTime": { +"description": "End of the lifetime of this deployment.", +"format": "google-datetime", +"type": "string" +}, +"userEmail": { +"description": "Identity of the user that triggered this deployment.", +"type": "string" +} +}, +"type": "object" +}, +"DiscoveryOccurrence": { +"description": "Provides information about the analysis status of a discovered resource.", +"id": "DiscoveryOccurrence", +"properties": { +"analysisCompleted": { +"$ref": "AnalysisCompleted" +}, +"analysisError": { +"description": "Indicates any errors encountered during analysis of a resource. There could be 0 or more of these errors.", +"items": { +"$ref": "Status" +}, +"type": "array" +}, +"analysisStatus": { +"description": "The status of discovery for the resource.", +"enum": [ +"ANALYSIS_STATUS_UNSPECIFIED", +"PENDING", +"SCANNING", +"FINISHED_SUCCESS", +"COMPLETE", +"FINISHED_FAILED", +"FINISHED_UNSUPPORTED" +], +"enumDescriptions": [ +"Unknown.", +"Resource is known but no action has been taken yet.", +"Resource is being analyzed.", +"Analysis has finished successfully.", +"Analysis has completed.", +"Analysis has finished unsuccessfully, the analysis itself is in a bad state.", +"The resource is known not to be supported." +], +"type": "string" +}, +"analysisStatusError": { +"$ref": "Status", +"description": "When an error is encountered this will contain a LocalizedMessage under details to show to the user. The LocalizedMessage is output only and populated by the API." +}, +"archiveTime": { +"description": "Output only. The time occurrences related to this discovery occurrence were archived.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"continuousAnalysis": { +"description": "Whether the resource is continuously analyzed.", +"enum": [ +"CONTINUOUS_ANALYSIS_UNSPECIFIED", +"ACTIVE", +"INACTIVE" +], +"enumDescriptions": [ +"Unknown.", +"The resource is continuously analyzed.", +"The resource is ignored for continuous analysis." +], +"type": "string" +}, +"cpe": { +"description": "The CPE of the resource being scanned.", +"type": "string" +}, +"lastScanTime": { +"description": "The last time this resource was scanned.", +"format": "google-datetime", +"type": "string" +}, +"sbomStatus": { +"$ref": "SBOMStatus", +"description": "The status of an SBOM generation." +} +}, +"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" +}, +"Envelope": { +"description": "MUST match https://github.com/secure-systems-lab/dsse/blob/master/envelope.proto. An authenticated message of arbitrary type.", +"id": "Envelope", +"properties": { +"payload": { +"format": "byte", +"type": "string" +}, +"payloadType": { +"type": "string" +}, +"signatures": { +"items": { +"$ref": "EnvelopeSignature" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnvelopeSignature": { +"id": "EnvelopeSignature", +"properties": { +"keyid": { +"type": "string" +}, +"sig": { +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"FileHashes": { +"description": "Container message for hashes of byte content of files, used in source messages to verify integrity of source input to the build.", +"id": "FileHashes", +"properties": { +"fileHash": { +"description": "Required. Collection of file hashes.", +"items": { +"$ref": "Hash" +}, +"type": "array" +} +}, +"type": "object" +}, +"FileLocation": { +"description": "Indicates the location at which a package was found.", +"id": "FileLocation", +"properties": { +"filePath": { +"description": "For jars that are contained inside .war files, this filepath can indicate the path to war file combined with the path to jar file.", +"type": "string" +} +}, +"type": "object" +}, +"Fingerprint": { +"description": "A set of properties that uniquely identify a given Docker image.", +"id": "Fingerprint", +"properties": { +"v1Name": { +"description": "Required. The layer ID of the final layer in the Docker image's v1 representation.", +"type": "string" +}, +"v2Blob": { +"description": "Required. The ordered list of v2 blobs that represent a given image.", +"items": { +"type": "string" +}, +"type": "array" +}, +"v2Name": { +"description": "Output only. The name of the image's v2 blobs computed via: [bottom] := v2_blobbottom := sha256(v2_blob[N] + \" \" + v2_name[N+1]) Only the name of the final blob is kept.", +"type": "string" +} +}, +"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." +}, +"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 the 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" +}, +"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.", +"type": "string" +}, +"url": { +"description": "Git repository URL.", +"type": "string" +} +}, +"type": "object" +}, +"GrafeasV1FileLocation": { +"description": "Indicates the location at which a package was found.", +"id": "GrafeasV1FileLocation", +"properties": { +"filePath": { +"description": "For jars that are contained inside .war files, this filepath can indicate the path to war file combined with the path to jar file.", +"type": "string" +} +}, +"type": "object" +}, +"GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder": { +"description": "Identifies the entity that executed the recipe, which is trusted to have correctly performed the operation and populated this provenance.", +"id": "GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder", +"properties": { +"id": { +"type": "string" +} +}, +"type": "object" +}, +"GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness": { +"description": "Indicates that the builder claims certain fields in this message to be complete.", +"id": "GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness", +"properties": { +"environment": { +"type": "boolean" +}, +"materials": { +"type": "boolean" +}, +"parameters": { +"type": "boolean" +} +}, +"type": "object" +}, +"GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource": { +"description": "Describes where the config file that kicked off the build came from. This is effectively a pointer to the source where buildConfig came from.", +"id": "GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource", +"properties": { +"digest": { +"additionalProperties": { +"type": "string" +}, +"type": "object" +}, +"entryPoint": { +"type": "string" +}, +"uri": { +"type": "string" +} +}, +"type": "object" +}, +"GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation": { +"description": "Identifies the event that kicked off the build.", +"id": "GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation", +"properties": { +"configSource": { +"$ref": "GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource" +}, +"environment": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, +"parameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +} +}, +"type": "object" +}, +"GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial": { +"description": "The collection of artifacts that influenced the build including sources, dependencies, build tools, base images, and so on.", +"id": "GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial", +"properties": { +"digest": { +"additionalProperties": { +"type": "string" +}, +"type": "object" +}, +"uri": { +"type": "string" +} +}, +"type": "object" +}, +"GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata": { +"description": "Other properties of the build.", +"id": "GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata", +"properties": { +"buildFinishedOn": { +"format": "google-datetime", +"type": "string" +}, +"buildInvocationId": { +"type": "string" +}, +"buildStartedOn": { +"format": "google-datetime", +"type": "string" +}, +"completeness": { +"$ref": "GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness" +}, +"reproducible": { +"type": "boolean" +} +}, +"type": "object" +}, +"Hash": { +"description": "Container message for hash values.", +"id": "Hash", +"properties": { +"type": { +"description": "Required. The type of hash that was performed, e.g. \"SHA-256\".", +"type": "string" +}, +"value": { +"description": "Required. The hash value.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"Identity": { +"description": "The unique identifier of the update.", +"id": "Identity", +"properties": { +"revision": { +"description": "The revision number of the update.", +"format": "int32", +"type": "integer" +}, +"updateId": { +"description": "The revision independent identifier of the update.", +"type": "string" +} +}, +"type": "object" +}, +"ImageOccurrence": { +"description": "Details of the derived image portion of the DockerImage relationship. This image would be produced from a Dockerfile with FROM .", +"id": "ImageOccurrence", +"properties": { +"baseResourceUrl": { +"description": "Output only. This contains the base image URL for the derived image occurrence.", +"type": "string" +}, +"distance": { +"description": "Output only. The number of layers by which this image differs from the associated image basis.", +"format": "int32", +"type": "integer" +}, +"fingerprint": { +"$ref": "Fingerprint", +"description": "Required. The fingerprint of the derived image." +}, +"layerInfo": { +"description": "This contains layer-specific metadata, if populated it has length \"distance\" and is ordered with [distance] being the layer immediately following the base image and [1] being the final layer.", +"items": { +"$ref": "Layer" +}, +"type": "array" +} +}, +"type": "object" +}, +"InTotoProvenance": { +"id": "InTotoProvenance", +"properties": { +"builderConfig": { +"$ref": "BuilderConfig", +"description": "required" +}, +"materials": { +"description": "The collection of artifacts that influenced the build including sources, dependencies, build tools, base images, and so on. This is considered to be incomplete unless metadata.completeness.materials is true. Unset or null is equivalent to empty.", +"items": { +"type": "string" +}, +"type": "array" +}, +"metadata": { +"$ref": "Metadata" +}, +"recipe": { +"$ref": "Recipe", +"description": "Identifies the configuration used for the build. When combined with materials, this SHOULD fully describe the build, such that re-running this recipe results in bit-for-bit identical output (if the build is reproducible). required" +} +}, +"type": "object" +}, +"InTotoSlsaProvenanceV1": { +"id": "InTotoSlsaProvenanceV1", +"properties": { +"_type": { +"description": "InToto spec defined at https://github.com/in-toto/attestation/tree/main/spec#statement", +"type": "string" +}, +"predicate": { +"$ref": "SlsaProvenanceV1" +}, +"predicateType": { +"type": "string" +}, +"subject": { +"items": { +"$ref": "Subject" +}, +"type": "array" +} +}, +"type": "object" +}, +"InTotoStatement": { +"description": "Spec defined at https://github.com/in-toto/attestation/tree/main/spec#statement The serialized InTotoStatement will be stored as Envelope.payload. Envelope.payloadType is always \"application/vnd.in-toto+json\".", +"id": "InTotoStatement", +"properties": { +"_type": { +"description": "Always `https://in-toto.io/Statement/v0.1`.", +"type": "string" +}, +"predicateType": { +"description": "`https://slsa.dev/provenance/v0.1` for SlsaProvenance.", +"type": "string" +}, +"provenance": { +"$ref": "InTotoProvenance" +}, +"slsaProvenance": { +"$ref": "SlsaProvenance" +}, +"slsaProvenanceZeroTwo": { +"$ref": "SlsaProvenanceZeroTwo" +}, +"subject": { +"items": { +"$ref": "Subject" +}, +"type": "array" +} +}, +"type": "object" +}, +"Justification": { +"description": "Justification provides the justification when the state of the assessment if NOT_AFFECTED.", +"id": "Justification", +"properties": { +"details": { +"description": "Additional details on why this justification was chosen.", +"type": "string" +}, +"justificationType": { +"description": "The justification type for this vulnerability.", +"enum": [ +"JUSTIFICATION_TYPE_UNSPECIFIED", +"COMPONENT_NOT_PRESENT", +"VULNERABLE_CODE_NOT_PRESENT", +"VULNERABLE_CODE_NOT_IN_EXECUTE_PATH", +"VULNERABLE_CODE_CANNOT_BE_CONTROLLED_BY_ADVERSARY", +"INLINE_MITIGATIONS_ALREADY_EXIST" +], +"enumDescriptions": [ +"JUSTIFICATION_TYPE_UNSPECIFIED.", +"The vulnerable component is not present in the product.", +"The vulnerable code is not present. Typically this case occurs when source code is configured or built in a way that excludes the vulnerable code.", +"The vulnerable code can not be executed. Typically this case occurs when the product includes the vulnerable code but does not call or use the vulnerable code.", +"The vulnerable code cannot be controlled by an attacker to exploit the vulnerability.", +"The product includes built-in protections or features that prevent exploitation of the vulnerability. These built-in protections cannot be subverted by the attacker and cannot be configured or disabled by the user. These mitigations completely prevent exploitation based on known attack vectors." +], +"type": "string" +} +}, +"type": "object" +}, +"Jwt": { +"id": "Jwt", +"properties": { +"compactJwt": { +"description": "The compact encoding of a JWS, which is always three base64 encoded strings joined by periods. For details, see: https://tools.ietf.org/html/rfc7515.html#section-3.1", +"type": "string" +} +}, +"type": "object" +}, +"LanguagePackageDependency": { +"description": "Indicates a language package available between this package and the customer's resource artifact.", +"id": "LanguagePackageDependency", +"properties": { +"package": { +"type": "string" +}, +"version": { +"type": "string" +} +}, +"type": "object" +}, +"Layer": { +"description": "Layer holds metadata specific to a layer of a Docker image.", +"id": "Layer", +"properties": { +"arguments": { +"description": "The recovered arguments to the Dockerfile directive.", +"type": "string" +}, +"directive": { +"description": "Required. The recovered Dockerfile directive used to construct this layer. See https://docs.docker.com/engine/reference/builder/ for more information.", +"type": "string" +} +}, +"type": "object" +}, +"License": { +"description": "License information.", +"id": "License", +"properties": { +"comments": { +"description": "Comments", +"type": "string" +}, +"expression": { +"description": "Often a single license can be used to represent the licensing terms. Sometimes it is necessary to include a choice of one or more licenses or some combination of license identifiers. Examples: \"LGPL-2.1-only OR MIT\", \"LGPL-2.1-only AND MIT\", \"GPL-2.0-or-later WITH Bison-exception-2.2\".", +"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" +}, +"ListVulnerabilitiesResponse": { +"description": "ListVulnerabilitiesResponse contains a single page of vulnerabilities resulting from a scan.", +"id": "ListVulnerabilitiesResponse", +"properties": { +"nextPageToken": { +"description": "A page token that can be used in a subsequent call to ListVulnerabilities to continue retrieving results.", +"type": "string" +}, +"occurrences": { +"description": "The list of Vulnerability Occurrences resulting from a scan.", +"items": { +"$ref": "Occurrence" +}, +"type": "array" +} +}, +"type": "object" +}, +"Location": { +"description": "An occurrence of a particular package installation found within a system's filesystem. E.g., glibc was found in `/var/lib/dpkg/status`.", +"id": "Location", +"properties": { +"cpeUri": { +"description": "Deprecated. The CPE URI in [CPE format](https://cpe.mitre.org/specification/)", +"type": "string" +}, +"path": { +"description": "The path from which we gathered that this package/version is installed.", +"type": "string" +}, +"version": { +"$ref": "Version", +"description": "Deprecated. The version installed at this location." +} +}, +"type": "object" +}, +"Maintainer": { +"id": "Maintainer", +"properties": { +"email": { +"type": "string" +}, +"kind": { +"type": "string" +}, +"name": { +"type": "string" +}, +"url": { +"type": "string" +} +}, +"type": "object" +}, +"Material": { +"id": "Material", +"properties": { +"digest": { +"additionalProperties": { +"type": "string" +}, +"type": "object" +}, +"uri": { +"type": "string" +} +}, +"type": "object" +}, +"Metadata": { +"description": "Other properties of the build.", +"id": "Metadata", +"properties": { +"buildFinishedOn": { +"description": "The timestamp of when the build completed.", +"format": "google-datetime", +"type": "string" +}, +"buildInvocationId": { +"description": "Identifies the particular build invocation, which can be useful for finding associated logs or other ad-hoc analysis. The value SHOULD be globally unique, per in-toto Provenance spec.", +"type": "string" +}, +"buildStartedOn": { +"description": "The timestamp of when the build started.", +"format": "google-datetime", +"type": "string" +}, +"completeness": { +"$ref": "Completeness", +"description": "Indicates that the builder claims certain fields in this message to be complete." +}, +"reproducible": { +"description": "If true, the builder claims that running the recipe on materials will produce bit-for-bit identical output.", +"type": "boolean" +} +}, +"type": "object" +}, +"NonCompliantFile": { +"description": "Details about files that caused a compliance check to fail. display_command is a single command that can be used to display a list of non compliant files. When there is no such command, we can also iterate a list of non compliant file using 'path'.", +"id": "NonCompliantFile", +"properties": { +"displayCommand": { +"description": "Command to display the non-compliant files.", +"type": "string" +}, +"path": { +"description": "Empty if `display_command` is set.", +"type": "string" +}, +"reason": { +"description": "Explains why a file is non compliant for a CIS check.", +"type": "string" +} +}, +"type": "object" +}, +"Occurrence": { +"description": "An instance of an analysis type that has been found on a resource.", +"id": "Occurrence", +"properties": { +"attestation": { +"$ref": "AttestationOccurrence", +"description": "Describes an attestation of an artifact." +}, +"build": { +"$ref": "BuildOccurrence", +"description": "Describes a verifiable build." +}, +"compliance": { +"$ref": "ComplianceOccurrence", +"description": "Describes a compliance violation on a linked resource." +}, +"createTime": { +"description": "Output only. The time this occurrence was created.", +"format": "google-datetime", +"type": "string" +}, +"deployment": { +"$ref": "DeploymentOccurrence", +"description": "Describes the deployment of an artifact on a runtime." +}, +"discovery": { +"$ref": "DiscoveryOccurrence", +"description": "Describes when a resource was discovered." +}, +"dsseAttestation": { +"$ref": "DSSEAttestationOccurrence", +"description": "Describes an attestation of an artifact using dsse." +}, +"envelope": { +"$ref": "Envelope", +"description": "https://github.com/secure-systems-lab/dsse" +}, +"image": { +"$ref": "ImageOccurrence", +"description": "Describes how this resource derives from the basis in the associated note." +}, +"kind": { +"description": "Output only. This explicitly denotes which of the occurrence details are specified. This field can be used as a filter in list requests.", +"enum": [ +"NOTE_KIND_UNSPECIFIED", +"VULNERABILITY", +"BUILD", +"IMAGE", +"PACKAGE", +"DEPLOYMENT", +"DISCOVERY", +"ATTESTATION", +"UPGRADE", +"COMPLIANCE", +"DSSE_ATTESTATION", +"VULNERABILITY_ASSESSMENT", +"SBOM_REFERENCE" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"The note and occurrence represent a package vulnerability.", +"The note and occurrence assert build provenance.", +"This represents an image basis relationship.", +"This represents a package installed via a package manager.", +"The note and occurrence track deployment events.", +"The note and occurrence track the initial discovery status of a resource.", +"This represents a logical \"role\" that can attest to artifacts.", +"This represents an available package upgrade.", +"This represents a Compliance Note", +"This represents a DSSE attestation Note", +"This represents a Vulnerability Assessment.", +"This represents an SBOM Reference." +], +"type": "string" +}, +"name": { +"description": "Output only. The name of the occurrence in the form of `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.", +"type": "string" +}, +"noteName": { +"description": "Required. Immutable. The analysis note associated with this occurrence, in the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. This field can be used as a filter in list requests.", +"type": "string" +}, +"package": { +"$ref": "PackageOccurrence", +"description": "Describes the installation of a package on the linked resource." +}, +"remediation": { +"description": "A description of actions that can be taken to remedy the note.", +"type": "string" +}, +"resourceUri": { +"description": "Required. Immutable. A URI that represents the resource for which the occurrence applies. For example, `https://gcr.io/project/image@sha256:123abc` for a Docker image.", +"type": "string" +}, +"sbomReference": { +"$ref": "SBOMReferenceOccurrence", +"description": "Describes a specific SBOM reference occurrences." +}, +"updateTime": { +"description": "Output only. The time this occurrence was last updated.", +"format": "google-datetime", +"type": "string" +}, +"upgrade": { +"$ref": "UpgradeOccurrence", +"description": "Describes an available package upgrade on the linked resource." +}, +"vulnerability": { +"$ref": "VulnerabilityOccurrence", +"description": "Describes a security vulnerability." +} +}, +"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" +}, +"PackageData": { +"id": "PackageData", +"properties": { +"architecture": { +"description": "The architecture of the package.", +"type": "string" +}, +"binarySourceInfo": { +"description": "A bundle containing the binary and source information.", +"items": { +"$ref": "BinarySourceInfo" +}, +"type": "array" +}, +"binaryVersion": { +"$ref": "PackageVersion", +"description": "DEPRECATED" +}, +"cpeUri": { +"description": "The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/) in which the vulnerability may manifest. Examples include distro or storage location for vulnerable jar.", +"type": "string" +}, +"dependencyChain": { +"description": "The dependency chain between this package and the user's artifact. List in order from the customer's package under review first, to the current package last. Inclusive of the original package and the current package.", +"items": { +"$ref": "LanguagePackageDependency" +}, +"type": "array" +}, +"fileLocation": { +"description": "The path to the jar file / go binary file.", +"items": { +"$ref": "FileLocation" +}, +"type": "array" +}, +"hashDigest": { +"description": "HashDigest stores the SHA512 hash digest of the jar file if the package is of type Maven. This field will be unset for non Maven packages.", +"type": "string" +}, +"licenses": { +"description": "The list of licenses found that are related to a given package. Note that licenses may also be stored on the BinarySourceInfo. If there is no BinarySourceInfo (because there's no concept of source vs binary), then it will be stored here, while if there are BinarySourceInfos, it will be stored there, as one source can have multiple binaries with different licenses.", +"items": { +"type": "string" +}, +"type": "array" +}, +"maintainer": { +"$ref": "Maintainer", +"description": "The maintainer of the package." +}, +"os": { +"description": "The OS affected by a vulnerability Used to generate the cpe_uri for OS packages", +"type": "string" +}, +"osVersion": { +"description": "The version of the OS Used to generate the cpe_uri for OS packages", +"type": "string" +}, +"package": { +"description": "The package being analysed for vulnerabilities", +"type": "string" +}, +"packageType": { +"description": "The type of package: os, maven, go, etc.", +"enum": [ +"PACKAGE_TYPE_UNSPECIFIED", +"OS", +"MAVEN", +"GO", +"GO_STDLIB", +"PYPI", +"NPM", +"NUGET", +"RUBYGEMS", +"RUST", +"COMPOSER", +"SWIFT" +], +"enumDescriptions": [ +"", +"Operating System", +"Java packages from Maven.", +"Go third-party packages.", +"Go toolchain + standard library packages.", +"Python packages.", +"NPM packages.", +"Nuget (C#/.NET) packages.", +"Ruby packges (from RubyGems package manager).", +"Rust packages from Cargo (Github ecosystem is `RUST`).", +"PHP packages from Composer package manager.", +"Swift packages from Swift Package Manager (SwiftPM)." +], +"type": "string" +}, +"patchedCve": { +"description": "CVEs that this package is no longer vulnerable to go/drydock-dd-custom-binary-scanning", +"items": { +"type": "string" +}, +"type": "array" +}, +"sourceVersion": { +"$ref": "PackageVersion", +"description": "DEPRECATED" +}, +"unused": { +"type": "string" +}, +"version": { +"description": "The version of the package being analysed", +"type": "string" +} +}, +"type": "object" +}, +"PackageIssue": { +"description": "A detail for a distro and package this vulnerability occurrence was found in and its associated fix (if one is available).", +"id": "PackageIssue", +"properties": { +"affectedCpeUri": { +"description": "Required. The [CPE URI](https://cpe.mitre.org/specification/) this vulnerability was found in.", +"type": "string" +}, +"affectedPackage": { +"description": "Required. The package this vulnerability was found in.", +"type": "string" +}, +"affectedVersion": { +"$ref": "Version", +"description": "Required. The version of the package that is installed on the resource affected by this vulnerability." +}, +"effectiveSeverity": { +"description": "Output only. The distro or language system assigned severity for this vulnerability when that is available and note provider assigned severity when it is not available.", +"enum": [ +"SEVERITY_UNSPECIFIED", +"MINIMAL", +"LOW", +"MEDIUM", +"HIGH", +"CRITICAL" +], +"enumDescriptions": [ +"Unknown.", +"Minimal severity.", +"Low severity.", +"Medium severity.", +"High severity.", +"Critical severity." +], +"readOnly": true, +"type": "string" +}, +"fileLocation": { +"description": "The location at which this package was found.", +"items": { +"$ref": "GrafeasV1FileLocation" +}, +"type": "array" +}, +"fixAvailable": { +"description": "Output only. Whether a fix is available for this package.", +"type": "boolean" +}, +"fixedCpeUri": { +"description": "The [CPE URI](https://cpe.mitre.org/specification/) this vulnerability was fixed in. It is possible for this to be different from the affected_cpe_uri.", +"type": "string" +}, +"fixedPackage": { +"description": "The package this vulnerability was fixed in. It is possible for this to be different from the affected_package.", +"type": "string" +}, +"fixedVersion": { +"$ref": "Version", +"description": "Required. The version of the package this vulnerability was fixed in. Setting this to VersionKind.MAXIMUM means no fix is yet available." +}, +"packageType": { +"description": "The type of package (e.g. OS, MAVEN, GO).", +"type": "string" +} +}, +"type": "object" +}, +"PackageOccurrence": { +"description": "Details on how a particular software package was installed on a system.", +"id": "PackageOccurrence", +"properties": { +"architecture": { +"description": "Output only. The CPU architecture for which packages in this distribution channel were built. Architecture will be blank for language packages.", +"enum": [ +"ARCHITECTURE_UNSPECIFIED", +"X86", +"X64" +], +"enumDescriptions": [ +"Unknown architecture.", +"X86 architecture.", +"X64 architecture." +], +"readOnly": true, +"type": "string" +}, +"cpeUri": { +"description": "Output only. The cpe_uri in [CPE format](https://cpe.mitre.org/specification/) denoting the package manager version distributing a package. The cpe_uri will be blank for language packages.", +"readOnly": true, +"type": "string" +}, +"license": { +"$ref": "License", +"description": "Licenses that have been declared by the authors of the package." +}, +"location": { +"description": "All of the places within the filesystem versions of this package have been found.", +"items": { +"$ref": "Location" +}, +"type": "array" +}, +"name": { +"description": "Required. Output only. The name of the installed package.", +"readOnly": true, +"type": "string" +}, +"packageType": { +"description": "Output only. The type of package; whether native or non native (e.g., ruby gems, node.js packages, etc.).", +"readOnly": true, +"type": "string" +}, +"version": { +"$ref": "Version", +"description": "Output only. The version of the package.", +"readOnly": true +} +}, +"type": "object" +}, +"PackageVersion": { +"id": "PackageVersion", +"properties": { +"licenses": { +"description": "The licenses associated with this package. Note that this has to go on the PackageVersion level, because we can have cases with images with the same source having different licences. E.g. in Alpine, musl and musl-utils both have the same origin musl, but have different sets of licenses.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"type": "string" +}, +"version": { +"type": "string" +} +}, +"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" +}, +"ProvenanceBuilder": { +"id": "ProvenanceBuilder", +"properties": { +"builderDependencies": { +"items": { +"$ref": "ResourceDescriptor" +}, +"type": "array" +}, +"id": { +"type": "string" +}, +"version": { +"additionalProperties": { +"type": "string" +}, +"type": "object" +} +}, +"type": "object" +}, +"Recipe": { +"description": "Steps taken to build the artifact. For a TaskRun, typically each container corresponds to one step in the recipe.", +"id": "Recipe", +"properties": { +"arguments": { +"description": "Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were \"make\", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Since the arguments field can greatly vary in structure, depending on the builder and recipe type, this is of form \"Any\".", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"definedInMaterial": { +"description": "Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were \"make\", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64.", +"format": "int64", +"type": "string" +}, +"entryPoint": { +"description": "String identifying the entry point into the build. This is often a path to a configuration file and/or a target label within that file. The syntax and meaning are defined by recipe.type. For example, if the recipe type were \"make\", then this would reference the directory in which to run make as well as which target to use.", +"type": "string" +}, +"environment": { +"description": "Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Since the environment field can greatly vary in structure, depending on the builder and recipe type, this is of form \"Any\".", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"type": { +"description": "URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials.", +"type": "string" +} +}, +"type": "object" +}, +"RelatedUrl": { +"description": "Metadata for any related URL information.", +"id": "RelatedUrl", +"properties": { +"label": { +"description": "Label to describe usage of the URL.", +"type": "string" +}, +"url": { +"description": "Specific URL associated with the resource.", +"type": "string" +} +}, +"type": "object" +}, +"Remediation": { +"description": "Specifies details on how to handle (and presumably, fix) a vulnerability.", +"id": "Remediation", +"properties": { +"details": { +"description": "Contains a comprehensive human-readable discussion of the remediation.", +"type": "string" +}, +"remediationType": { +"description": "The type of remediation that can be applied.", +"enum": [ +"REMEDIATION_TYPE_UNSPECIFIED", +"MITIGATION", +"NO_FIX_PLANNED", +"NONE_AVAILABLE", +"VENDOR_FIX", +"WORKAROUND" +], +"enumDescriptions": [ +"No remediation type specified.", +"A MITIGATION is available.", +"No fix is planned.", +"Not available.", +"A vendor fix is available.", +"A workaround is available." +], +"type": "string" +}, +"remediationUri": { +"$ref": "RelatedUrl", +"description": "Contains the URL where to obtain the remediation." +} +}, +"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" +}, +"ResourceDescriptor": { +"id": "ResourceDescriptor", +"properties": { +"annotations": { +"additionalProperties": { +"type": "any" +}, +"type": "object" +}, +"content": { +"format": "byte", +"type": "string" +}, +"digest": { +"additionalProperties": { +"type": "string" +}, +"type": "object" +}, +"downloadLocation": { +"type": "string" +}, +"mediaType": { +"type": "string" +}, +"name": { +"type": "string" +}, +"uri": { +"type": "string" +} +}, +"type": "object" +}, +"RunDetails": { +"id": "RunDetails", +"properties": { +"builder": { +"$ref": "ProvenanceBuilder" +}, +"byproducts": { +"items": { +"$ref": "ResourceDescriptor" +}, +"type": "array" +}, +"metadata": { +"$ref": "BuildMetadata" +} +}, +"type": "object" +}, +"SBOMReferenceOccurrence": { +"description": "The occurrence representing an SBOM reference as applied to a specific resource. The occurrence follows the DSSE specification. See https://github.com/secure-systems-lab/dsse/blob/master/envelope.md for more details.", +"id": "SBOMReferenceOccurrence", +"properties": { +"payload": { +"$ref": "SbomReferenceIntotoPayload", +"description": "The actual payload that contains the SBOM reference data." +}, +"payloadType": { +"description": "The kind of payload that SbomReferenceIntotoPayload takes. Since it's in the intoto format, this value is expected to be 'application/vnd.in-toto+json'.", +"type": "string" +}, +"signatures": { +"description": "The signatures over the payload.", +"items": { +"$ref": "EnvelopeSignature" +}, +"type": "array" +} +}, +"type": "object" +}, +"SBOMStatus": { +"description": "The status of an SBOM generation.", +"id": "SBOMStatus", +"properties": { +"error": { +"description": "If there was an error generating an SBOM, this will indicate what that error was.", +"type": "string" +}, +"sbomState": { +"description": "The progress of the SBOM generation.", +"enum": [ +"SBOM_STATE_UNSPECIFIED", +"PENDING", +"COMPLETE" +], +"enumDescriptions": [ +"Default unknown state.", +"SBOM scanning is pending.", +"SBOM scanning has completed." +], +"type": "string" +} +}, +"type": "object" +}, +"SbomReferenceIntotoPayload": { +"description": "The actual payload that contains the SBOM Reference data. The payload follows the intoto statement specification. See https://github.com/in-toto/attestation/blob/main/spec/v1.0/statement.md for more details.", +"id": "SbomReferenceIntotoPayload", +"properties": { +"_type": { +"description": "Identifier for the schema of the Statement.", +"type": "string" +}, +"predicate": { +"$ref": "SbomReferenceIntotoPredicate", +"description": "Additional parameters of the Predicate. Includes the actual data about the SBOM." +}, +"predicateType": { +"description": "URI identifying the type of the Predicate.", +"type": "string" +}, +"subject": { +"description": "Set of software artifacts that the attestation applies to. Each element represents a single software artifact.", +"items": { +"$ref": "Subject" +}, +"type": "array" +} +}, +"type": "object" +}, +"SbomReferenceIntotoPredicate": { +"description": "A predicate which describes the SBOM being referenced.", +"id": "SbomReferenceIntotoPredicate", +"properties": { +"digest": { +"additionalProperties": { +"type": "string" +}, +"description": "A map of algorithm to digest of the contents of the SBOM.", +"type": "object" +}, +"location": { +"description": "The location of the SBOM.", +"type": "string" +}, +"mimeType": { +"description": "The mime type of the SBOM.", +"type": "string" +}, +"referrerId": { +"description": "The person or system referring this predicate to the consumer.", +"type": "string" +} +}, +"type": "object" +}, +"Signature": { +"description": "Verifiers (e.g. Kritis implementations) MUST verify signatures with respect to the trust anchors defined in policy (e.g. a Kritis policy). Typically this means that the verifier has been configured with a map from `public_key_id` to public key material (and any required parameters, e.g. signing algorithm). In particular, verification implementations MUST NOT treat the signature `public_key_id` as anything more than a key lookup hint. The `public_key_id` DOES NOT validate or authenticate a public key; it only provides a mechanism for quickly selecting a public key ALREADY CONFIGURED on the verifier through a trusted channel. Verification implementations MUST reject signatures in any of the following circumstances: * The `public_key_id` is not recognized by the verifier. * The public key that `public_key_id` refers to does not verify the signature with respect to the payload. The `signature` contents SHOULD NOT be \"attached\" (where the payload is included with the serialized `signature` bytes). Verifiers MUST ignore any \"attached\" payload and only verify signatures with respect to explicitly provided payload (e.g. a `payload` field on the proto message that holds this Signature, or the canonical serialization of the proto message that holds this signature).", +"id": "Signature", +"properties": { +"publicKeyId": { +"description": "The identifier for the public key that verifies this signature. * The `public_key_id` is required. * The `public_key_id` SHOULD be an RFC3986 conformant URI. * When possible, the `public_key_id` SHOULD be an immutable reference, such as a cryptographic digest. Examples of valid `public_key_id`s: OpenPGP V4 public key fingerprint: * \"openpgp4fpr:74FAF3B861BDA0870C7B6DEF607E48D2A663AEEA\" See https://www.iana.org/assignments/uri-schemes/prov/openpgp4fpr for more details on this scheme. RFC6920 digest-named SubjectPublicKeyInfo (digest of the DER serialization): * \"ni:///sha-256;cD9o9Cq6LG3jD0iKXqEi_vdjJGecm_iXkbqVoScViaU\" * \"nih:///sha-256;703f68f42aba2c6de30f488a5ea122fef76324679c9bf89791ba95a1271589a5\"", +"type": "string" +}, +"signature": { +"description": "The content of the signature, an opaque bytestring. The payload that this signature verifies MUST be unambiguously provided with the Signature during verification. A wrapper message might provide the payload explicitly. Alternatively, a message might have a canonical serialization that can always be unambiguously computed to derive the payload.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"SlsaBuilder": { +"id": "SlsaBuilder", +"properties": { +"id": { +"type": "string" +} +}, +"type": "object" +}, +"SlsaCompleteness": { +"description": "Indicates that the builder claims certain fields in this message to be complete.", +"id": "SlsaCompleteness", +"properties": { +"arguments": { +"description": "If true, the builder claims that recipe.arguments is complete, meaning that all external inputs are properly captured in the recipe.", +"type": "boolean" +}, +"environment": { +"description": "If true, the builder claims that recipe.environment is claimed to be complete.", +"type": "boolean" +}, +"materials": { +"description": "If true, the builder claims that materials are complete, usually through some controls to prevent network access. Sometimes called \"hermetic\".", +"type": "boolean" +} +}, +"type": "object" +}, +"SlsaMetadata": { +"description": "Other properties of the build.", +"id": "SlsaMetadata", +"properties": { +"buildFinishedOn": { +"description": "The timestamp of when the build completed.", +"format": "google-datetime", +"type": "string" +}, +"buildInvocationId": { +"description": "Identifies the particular build invocation, which can be useful for finding associated logs or other ad-hoc analysis. The value SHOULD be globally unique, per in-toto Provenance spec.", +"type": "string" +}, +"buildStartedOn": { +"description": "The timestamp of when the build started.", +"format": "google-datetime", +"type": "string" +}, +"completeness": { +"$ref": "SlsaCompleteness", +"description": "Indicates that the builder claims certain fields in this message to be complete." +}, +"reproducible": { +"description": "If true, the builder claims that running the recipe on materials will produce bit-for-bit identical output.", +"type": "boolean" +} +}, +"type": "object" +}, +"SlsaProvenance": { +"id": "SlsaProvenance", +"properties": { +"builder": { +"$ref": "SlsaBuilder", +"description": "required" +}, +"materials": { +"description": "The collection of artifacts that influenced the build including sources, dependencies, build tools, base images, and so on. This is considered to be incomplete unless metadata.completeness.materials is true. Unset or null is equivalent to empty.", +"items": { +"$ref": "Material" +}, +"type": "array" +}, +"metadata": { +"$ref": "SlsaMetadata" +}, +"recipe": { +"$ref": "SlsaRecipe", +"description": "Identifies the configuration used for the build. When combined with materials, this SHOULD fully describe the build, such that re-running this recipe results in bit-for-bit identical output (if the build is reproducible). required" +} +}, +"type": "object" +}, +"SlsaProvenanceV1": { +"description": "Keep in sync with schema at https://github.com/slsa-framework/slsa/blob/main/docs/provenance/schema/v1/provenance.proto Builder renamed to ProvenanceBuilder because of Java conflicts.", +"id": "SlsaProvenanceV1", +"properties": { +"buildDefinition": { +"$ref": "BuildDefinition" +}, +"runDetails": { +"$ref": "RunDetails" +} +}, +"type": "object" +}, +"SlsaProvenanceZeroTwo": { +"description": "See full explanation of fields at slsa.dev/provenance/v0.2.", +"id": "SlsaProvenanceZeroTwo", +"properties": { +"buildConfig": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, +"buildType": { +"type": "string" +}, +"builder": { +"$ref": "GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder" +}, +"invocation": { +"$ref": "GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation" +}, +"materials": { +"items": { +"$ref": "GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial" +}, +"type": "array" +}, +"metadata": { +"$ref": "GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata" +} +}, +"type": "object" +}, +"SlsaRecipe": { +"description": "Steps taken to build the artifact. For a TaskRun, typically each container corresponds to one step in the recipe.", +"id": "SlsaRecipe", +"properties": { +"arguments": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were \"make\", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different.", +"type": "object" +}, +"definedInMaterial": { +"description": "Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were \"make\", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64.", +"format": "int64", +"type": "string" +}, +"entryPoint": { +"description": "String identifying the entry point into the build. This is often a path to a configuration file and/or a target label within that file. The syntax and meaning are defined by recipe.type. For example, if the recipe type were \"make\", then this would reference the directory in which to run make as well as which target to use.", +"type": "string" +}, +"environment": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different.", +"type": "object" +}, +"type": { +"description": "URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials.", +"type": "string" +} +}, +"type": "object" +}, +"Source": { +"description": "Source describes the location of the source used for the build.", +"id": "Source", +"properties": { +"additionalContexts": { +"description": "If provided, some of the source code used for the build may be found in these locations, in the case where the source repository had multiple remotes or submodules. This list will not include the context specified in the context field.", +"items": { +"$ref": "SourceContext" +}, +"type": "array" +}, +"artifactStorageSourceUri": { +"description": "If provided, the input binary artifacts for the build came from this location.", +"type": "string" +}, +"context": { +"$ref": "SourceContext", +"description": "If provided, the source code used for the build came from this location." +}, +"fileHashes": { +"additionalProperties": { +"$ref": "FileHashes" +}, +"description": "Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. 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.", +"type": "object" +} +}, +"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 Google Cloud Source Repo." +}, +"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)." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels with user defined metadata.", +"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" +}, +"Subject": { +"id": "Subject", +"properties": { +"digest": { +"additionalProperties": { +"type": "string" +}, +"description": "`\"\": \"\"` Algorithms can be e.g. sha256, sha512 See https://github.com/in-toto/attestation/blob/main/spec/field_types.md#DigestSet", +"type": "object" +}, +"name": { +"type": "string" +} +}, +"type": "object" +}, +"UpgradeDistribution": { +"description": "The Upgrade Distribution represents metadata about the Upgrade for each operating system (CPE). Some distributions have additional metadata around updates, classifying them into various categories and severities.", +"id": "UpgradeDistribution", +"properties": { +"classification": { +"description": "The operating system classification of this Upgrade, as specified by the upstream operating system upgrade feed. For Windows the classification is one of the category_ids listed at https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ff357803(v=vs.85)", +"type": "string" +}, +"cpeUri": { +"description": "Required - The specific operating system this metadata applies to. See https://cpe.mitre.org/specification/.", +"type": "string" +}, +"cve": { +"description": "The cve tied to this Upgrade.", +"items": { +"type": "string" +}, +"type": "array" +}, +"severity": { +"description": "The severity as specified by the upstream operating system.", +"type": "string" +} +}, +"type": "object" +}, +"UpgradeOccurrence": { +"description": "An Upgrade Occurrence represents that a specific resource_url could install a specific upgrade. This presence is supplied via local sources (i.e. it is present in the mirror and the running system has noticed its availability). For Windows, both distribution and windows_update contain information for the Windows update.", +"id": "UpgradeOccurrence", +"properties": { +"distribution": { +"$ref": "UpgradeDistribution", +"description": "Metadata about the upgrade for available for the specific operating system for the resource_url. This allows efficient filtering, as well as making it easier to use the occurrence." +}, +"package": { +"description": "Required for non-Windows OS. The package this Upgrade is for.", +"type": "string" +}, +"parsedVersion": { +"$ref": "Version", +"description": "Required for non-Windows OS. The version of the package in a machine + human readable form." +}, +"windowsUpdate": { +"$ref": "WindowsUpdate", +"description": "Required for Windows OS. Represents the metadata about the Windows update." +} +}, +"type": "object" +}, +"Version": { +"description": "Version contains structured information about the version of a package.", +"id": "Version", +"properties": { +"epoch": { +"description": "Used to correct mistakes in the version numbering scheme.", +"format": "int32", +"type": "integer" +}, +"fullName": { +"description": "Human readable version string. This string is of the form :- and is only set when kind is NORMAL.", +"type": "string" +}, +"inclusive": { +"description": "Whether this version is specifying part of an inclusive range. Grafeas does not have the capability to specify version ranges; instead we have fields that specify start version and end versions. At times this is insufficient - we also need to specify whether the version is included in the range or is excluded from the range. This boolean is expected to be set to true when the version is included in a range.", +"type": "boolean" +}, +"kind": { +"description": "Required. Distinguishes between sentinel MIN/MAX versions and normal versions.", +"enum": [ +"VERSION_KIND_UNSPECIFIED", +"NORMAL", +"MINIMUM", +"MAXIMUM" +], +"enumDescriptions": [ +"Unknown.", +"A standard package version.", +"A special version representing negative infinity.", +"A special version representing positive infinity." +], +"type": "string" +}, +"name": { +"description": "Required only when version kind is NORMAL. The main part of the version name.", +"type": "string" +}, +"revision": { +"description": "The iteration of the package build from the above version.", +"type": "string" +} +}, +"type": "object" +}, +"VexAssessment": { +"description": "VexAssessment provides all publisher provided Vex information that is related to this vulnerability.", +"id": "VexAssessment", +"properties": { +"cve": { +"deprecated": true, +"description": "Holds the MITRE standard Common Vulnerabilities and Exposures (CVE) tracking number for the vulnerability. Deprecated: Use vulnerability_id instead to denote CVEs.", +"type": "string" +}, +"impacts": { +"description": "Contains information about the impact of this vulnerability, this will change with time.", +"items": { +"type": "string" +}, +"type": "array" +}, +"justification": { +"$ref": "Justification", +"description": "Justification provides the justification when the state of the assessment if NOT_AFFECTED." +}, +"noteName": { +"description": "The VulnerabilityAssessment note from which this VexAssessment was generated. This will be of the form: `projects/[PROJECT_ID]/notes/[NOTE_ID]`.", +"type": "string" +}, +"relatedUris": { +"description": "Holds a list of references associated with this vulnerability item and assessment.", +"items": { +"$ref": "RelatedUrl" +}, +"type": "array" +}, +"remediations": { +"description": "Specifies details on how to handle (and presumably, fix) a vulnerability.", +"items": { +"$ref": "Remediation" +}, +"type": "array" +}, +"state": { +"description": "Provides the state of this Vulnerability assessment.", +"enum": [ +"STATE_UNSPECIFIED", +"AFFECTED", +"NOT_AFFECTED", +"FIXED", +"UNDER_INVESTIGATION" +], +"enumDescriptions": [ +"No state is specified.", +"This product is known to be affected by this vulnerability.", +"This product is known to be not affected by this vulnerability.", +"This product contains a fix for this vulnerability.", +"It is not known yet whether these versions are or are not affected by the vulnerability. However, it is still under investigation." +], +"type": "string" +}, +"vulnerabilityId": { +"description": "The vulnerability identifier for this Assessment. Will hold one of common identifiers e.g. CVE, GHSA etc.", +"type": "string" +} +}, +"type": "object" +}, +"VulnerabilityOccurrence": { +"description": "An occurrence of a severity vulnerability on a resource.", +"id": "VulnerabilityOccurrence", +"properties": { +"cvssScore": { +"description": "Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity.", +"format": "float", +"type": "number" +}, +"cvssV2": { +"$ref": "CVSS", +"description": "The cvss v2 score for the vulnerability." +}, +"cvssVersion": { +"description": "Output only. CVSS version used to populate cvss_score and severity.", +"enum": [ +"CVSS_VERSION_UNSPECIFIED", +"CVSS_VERSION_2", +"CVSS_VERSION_3" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"cvssv3": { +"$ref": "CVSS", +"description": "The cvss v3 score for the vulnerability." +}, +"effectiveSeverity": { +"description": "The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues.", +"enum": [ +"SEVERITY_UNSPECIFIED", +"MINIMAL", +"LOW", +"MEDIUM", +"HIGH", +"CRITICAL" +], +"enumDescriptions": [ +"Unknown.", +"Minimal severity.", +"Low severity.", +"Medium severity.", +"High severity.", +"Critical severity." +], +"type": "string" +}, +"extraDetails": { +"description": "Occurrence-specific extra details about the vulnerability.", +"type": "string" +}, +"fixAvailable": { +"description": "Output only. Whether at least one of the affected packages has a fix available.", +"type": "boolean" +}, +"longDescription": { +"description": "Output only. A detailed description of this vulnerability.", +"type": "string" +}, +"packageIssue": { +"description": "Required. The set of affected locations and their fixes (if available) within the associated resource.", +"items": { +"$ref": "PackageIssue" +}, +"type": "array" +}, +"relatedUrls": { +"description": "Output only. URLs related to this vulnerability.", +"items": { +"$ref": "RelatedUrl" +}, +"type": "array" +}, +"severity": { +"description": "Output only. The note provider assigned severity of this vulnerability.", +"enum": [ +"SEVERITY_UNSPECIFIED", +"MINIMAL", +"LOW", +"MEDIUM", +"HIGH", +"CRITICAL" +], +"enumDescriptions": [ +"Unknown.", +"Minimal severity.", +"Low severity.", +"Medium severity.", +"High severity.", +"Critical severity." +], +"type": "string" +}, +"shortDescription": { +"description": "Output only. A one sentence description of this vulnerability.", +"type": "string" +}, +"type": { +"description": "The type of package; whether native or non native (e.g., ruby gems, node.js packages, etc.).", +"type": "string" +}, +"vexAssessment": { +"$ref": "VexAssessment" +} +}, +"type": "object" +}, +"WindowsUpdate": { +"description": "Windows Update represents the metadata about the update for the Windows operating system. The fields in this message come from the Windows Update API documented at https://docs.microsoft.com/en-us/windows/win32/api/wuapi/nn-wuapi-iupdate.", +"id": "WindowsUpdate", +"properties": { +"categories": { +"description": "The list of categories to which the update belongs.", +"items": { +"$ref": "Category" +}, +"type": "array" +}, +"description": { +"description": "The localized description of the update.", +"type": "string" +}, +"identity": { +"$ref": "Identity", +"description": "Required - The unique identifier for the update." +}, +"kbArticleIds": { +"description": "The Microsoft Knowledge Base article IDs that are associated with the update.", +"items": { +"type": "string" +}, +"type": "array" +}, +"lastPublishedTimestamp": { +"description": "The last published timestamp of the update.", +"format": "google-datetime", +"type": "string" +}, +"supportUrl": { +"description": "The hyperlink to the support information for the update.", +"type": "string" +}, +"title": { +"description": "The localized title of the update.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "On-Demand Scanning 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/oslogin.v1alpha.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/oslogin.v1alpha.json new file mode 100644 index 0000000000000000000000000000000000000000..34c62fd7a9be576856efc1050e21e85ede373e57 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/oslogin.v1alpha.json @@ -0,0 +1,701 @@ +{ +"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:v1alpha", +"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": "v1alpha/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" +}, +"operatingSystemType": { +"description": "The type of operating system associated with the account.", +"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." +], +"location": "query", +"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": "v1alpha/{+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": "v1alpha/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 wait for a POSIX account to be written to before returning a response. 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": "v1alpha/{+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": "v1alpha/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" +}, +"operatingSystemType": { +"description": "The type of operating system associated with the account.", +"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." +], +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+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 a virtual machine on Google Compute Engine.", +"flatPath": "v1alpha/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": "v1alpha/{+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 a virtual machine on Google Compute Engine.", +"flatPath": "v1alpha/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": "v1alpha/{+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": "v1alpha/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": "v1alpha/{+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": "v1alpha/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": "v1alpha/{+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": "v1alpha/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": "v1alpha/{+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": "v1alpha/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": "v1alpha/{+name}", +"request": { +"$ref": "SshPublicKey" +}, +"response": { +"$ref": "SshPublicKey" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +} +} +} +}, +"revision": "20241208", +"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": "v1alpha", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/pagespeedonline.v5.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/pagespeedonline.v5.json new file mode 100644 index 0000000000000000000000000000000000000000..47b057a8b05e7d84c5eae96dc26b3a51e196460f --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/pagespeedonline.v5.json @@ -0,0 +1,1008 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"openid": { +"description": "Associate you with your personal info on Google" +} +} +} +}, +"basePath": "", +"baseUrl": "https://pagespeedonline.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Pagespeed Insights", +"description": "The PageSpeed Insights API lets you analyze the performance of your website with a simple API. It offers tailored suggestions for how you can optimize your site, and lets you easily integrate PageSpeed Insights analysis into your development tools and workflow. ", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/speed/docs/insights/v5/about", +"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": "pagespeedonline:v5", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://pagespeedonline.mtls.googleapis.com/", +"name": "pagespeedonline", +"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": { +"pagespeedapi": { +"methods": { +"runpagespeed": { +"description": "Runs PageSpeed analysis on the page at the specified URL, and returns PageSpeed scores, a list of suggestions to make that page faster, and other information.", +"flatPath": "pagespeedonline/v5/runPagespeed", +"httpMethod": "GET", +"id": "pagespeedonline.pagespeedapi.runpagespeed", +"parameterOrder": [ +"url" +], +"parameters": { +"captchaToken": { +"description": "The captcha token passed when filling out a captcha.", +"location": "query", +"type": "string" +}, +"category": { +"description": "A Lighthouse category to run; if none are given, only Performance category will be run", +"enum": [ +"CATEGORY_UNSPECIFIED", +"ACCESSIBILITY", +"BEST_PRACTICES", +"PERFORMANCE", +"PWA", +"SEO" +], +"enumDeprecated": [ +false, +false, +false, +false, +true, +false +], +"enumDescriptions": [ +"Default UNDEFINED category.", +"Accessibility (a11y), category pertaining to a website's capacity to be accessible to all users.", +"Best Practices, category pertaining to a website's conformance to web best practice.", +"Performance, category pertaining to a website's performance.", +"Progressive Web App (PWA), category pertaining to a website's ability to be run as a PWA. This is deprecated in Lighthouse's 12.0 release.", +"Search Engine Optimization (SEO), category pertaining to a website's ability to be indexed by search engines." +], +"location": "query", +"repeated": true, +"type": "string" +}, +"locale": { +"description": "The locale used to localize formatted results", +"location": "query", +"pattern": "[a-zA-Z]+((_|-)[a-zA-Z]+)?", +"type": "string" +}, +"strategy": { +"description": "The analysis strategy (desktop or mobile) to use, and desktop is the default", +"enum": [ +"STRATEGY_UNSPECIFIED", +"DESKTOP", +"MOBILE" +], +"enumDescriptions": [ +"UNDEFINED.", +"Fetch and analyze the URL for desktop browsers.", +"Fetch and analyze the URL for mobile devices." +], +"location": "query", +"type": "string" +}, +"url": { +"description": "Required. The URL to fetch and analyze", +"location": "query", +"pattern": "(?i)(url:|origin:)?http(s)?://.*", +"required": true, +"type": "string" +}, +"utm_campaign": { +"description": "Campaign name for analytics.", +"location": "query", +"type": "string" +}, +"utm_source": { +"description": "Campaign source for analytics.", +"location": "query", +"type": "string" +} +}, +"path": "pagespeedonline/v5/runPagespeed", +"response": { +"$ref": "PagespeedApiPagespeedResponseV5" +}, +"scopes": [ +"openid" +] +} +} +} +}, +"revision": "20240829", +"rootUrl": "https://pagespeedonline.googleapis.com/", +"schemas": { +"AuditRefs": { +"description": "A light reference to an audit by id, used to group and weight audits in a given category.", +"id": "AuditRefs", +"properties": { +"acronym": { +"description": "The conventional acronym for the audit/metric.", +"type": "string" +}, +"group": { +"description": "The category group that the audit belongs to (optional).", +"type": "string" +}, +"id": { +"description": "The audit ref id.", +"type": "string" +}, +"relevantAudits": { +"description": "Any audit IDs closely relevant to this one.", +"items": { +"type": "string" +}, +"type": "array" +}, +"weight": { +"description": "The weight this audit's score has on the overall category score.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"Bucket": { +"description": "A proportion of data in the total distribution, bucketed by a min/max percentage. Each bucket's range is bounded by min <= x < max, In millisecond.", +"id": "Bucket", +"properties": { +"max": { +"description": "Upper bound for a bucket's range.", +"format": "int32", +"type": "integer" +}, +"min": { +"description": "Lower bound for a bucket's range.", +"format": "int32", +"type": "integer" +}, +"proportion": { +"description": "The proportion of data in this bucket.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"Categories": { +"description": "The categories in a Lighthouse run.", +"id": "Categories", +"properties": { +"accessibility": { +"$ref": "LighthouseCategoryV5", +"description": "The accessibility category, containing all accessibility related audits." +}, +"best-practices": { +"$ref": "LighthouseCategoryV5", +"description": "The best practices category, containing all best practices related audits." +}, +"performance": { +"$ref": "LighthouseCategoryV5", +"description": "The performance category, containing all performance related audits." +}, +"pwa": { +"$ref": "LighthouseCategoryV5", +"deprecated": true, +"description": "The Progressive-Web-App (PWA) category, containing all pwa related audits. This is deprecated in Lighthouse's 12.0 release." +}, +"seo": { +"$ref": "LighthouseCategoryV5", +"description": "The Search-Engine-Optimization (SEO) category, containing all seo related audits." +} +}, +"type": "object" +}, +"CategoryGroupV5": { +"description": "Message containing a category", +"id": "CategoryGroupV5", +"properties": { +"description": { +"description": "The description of what the category is grouping", +"type": "string" +}, +"title": { +"description": "The human readable title of the group", +"type": "string" +} +}, +"type": "object" +}, +"ConfigSettings": { +"description": "Message containing the configuration settings for the Lighthouse run.", +"id": "ConfigSettings", +"properties": { +"channel": { +"description": "How Lighthouse was run, e.g. from the Chrome extension or from the npm module.", +"type": "string" +}, +"emulatedFormFactor": { +"deprecated": true, +"description": "The form factor the emulation should use. This field is deprecated, form_factor should be used instead.", +"type": "string" +}, +"formFactor": { +"description": "How Lighthouse should interpret this run in regards to scoring performance metrics and skipping mobile-only tests in desktop.", +"type": "string" +}, +"locale": { +"description": "The locale setting.", +"type": "string" +}, +"onlyCategories": { +"description": "List of categories of audits the run should conduct.", +"type": "any" +} +}, +"type": "object" +}, +"Environment": { +"description": "Message containing environment configuration for a Lighthouse run.", +"id": "Environment", +"properties": { +"benchmarkIndex": { +"description": "The benchmark index number that indicates rough device class.", +"format": "double", +"type": "number" +}, +"credits": { +"additionalProperties": { +"type": "string" +}, +"description": "The version of libraries with which these results were generated. Ex: axe-core.", +"type": "object" +}, +"hostUserAgent": { +"description": "The user agent string of the version of Chrome used.", +"type": "string" +}, +"networkUserAgent": { +"description": "The user agent string that was sent over the network.", +"type": "string" +} +}, +"type": "object" +}, +"I18n": { +"description": "Message containing the i18n data for the LHR - Version 1.", +"id": "I18n", +"properties": { +"rendererFormattedStrings": { +"$ref": "RendererFormattedStrings", +"description": "Internationalized strings that are formatted to the locale in configSettings." +} +}, +"type": "object" +}, +"LhrEntity": { +"description": "Message containing an Entity.", +"id": "LhrEntity", +"properties": { +"category": { +"description": "Optional. An optional category name for the entity.", +"type": "string" +}, +"homepage": { +"description": "Optional. An optional homepage URL of the entity.", +"type": "string" +}, +"isFirstParty": { +"description": "Optional. An optional flag indicating if the entity is the first party.", +"type": "boolean" +}, +"isUnrecognized": { +"description": "Optional. An optional flag indicating if the entity is not recognized.", +"type": "boolean" +}, +"name": { +"description": "Required. Name of the entity.", +"type": "string" +}, +"origins": { +"description": "Required. A list of URL origin strings that belong to this entity.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"LighthouseAuditResultV5": { +"description": "An audit's result object in a Lighthouse result.", +"id": "LighthouseAuditResultV5", +"properties": { +"description": { +"description": "The description of the audit.", +"type": "string" +}, +"details": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Freeform details section of the audit.", +"type": "object" +}, +"displayValue": { +"description": "The value that should be displayed on the UI for this audit.", +"type": "string" +}, +"errorMessage": { +"description": "An error message from a thrown error inside the audit.", +"type": "string" +}, +"explanation": { +"description": "An explanation of the errors in the audit.", +"type": "string" +}, +"id": { +"description": "The audit's id.", +"type": "string" +}, +"metricSavings": { +"$ref": "MetricSavings", +"description": "The metric savings of the audit." +}, +"numericUnit": { +"description": "The unit of the numeric_value field. Used to format the numeric value for display.", +"type": "string" +}, +"numericValue": { +"description": "A numeric value that has a meaning specific to the audit, e.g. the number of nodes in the DOM or the timestamp of a specific load event. More information can be found in the audit details, if present.", +"format": "double", +"type": "number" +}, +"score": { +"description": "The score of the audit, can be null.", +"type": "any" +}, +"scoreDisplayMode": { +"description": "The enumerated score display mode.", +"type": "string" +}, +"title": { +"description": "The human readable title.", +"type": "string" +}, +"warnings": { +"description": "Possible warnings that occurred in the audit, can be null.", +"type": "any" +} +}, +"type": "object" +}, +"LighthouseCategoryV5": { +"description": "A Lighthouse category.", +"id": "LighthouseCategoryV5", +"properties": { +"auditRefs": { +"description": "An array of references to all the audit members of this category.", +"items": { +"$ref": "AuditRefs" +}, +"type": "array" +}, +"description": { +"description": "A more detailed description of the category and its importance.", +"type": "string" +}, +"id": { +"description": "The string identifier of the category.", +"type": "string" +}, +"manualDescription": { +"description": "A description for the manual audits in the category.", +"type": "string" +}, +"score": { +"description": "The overall score of the category, the weighted average of all its audits. (The category's score, can be null.)", +"type": "any" +}, +"title": { +"description": "The human-friendly name of the category.", +"type": "string" +} +}, +"type": "object" +}, +"LighthouseResultV5": { +"description": "The Lighthouse result object.", +"id": "LighthouseResultV5", +"properties": { +"audits": { +"additionalProperties": { +"$ref": "LighthouseAuditResultV5" +}, +"description": "Map of audits in the LHR.", +"type": "object" +}, +"categories": { +"$ref": "Categories", +"description": "Map of categories in the LHR." +}, +"categoryGroups": { +"additionalProperties": { +"$ref": "CategoryGroupV5" +}, +"description": "Map of category groups in the LHR.", +"type": "object" +}, +"configSettings": { +"$ref": "ConfigSettings", +"description": "The configuration settings for this LHR." +}, +"entities": { +"description": "Entity classification data.", +"items": { +"$ref": "LhrEntity" +}, +"type": "array" +}, +"environment": { +"$ref": "Environment", +"description": "Environment settings that were used when making this LHR." +}, +"fetchTime": { +"description": "The time that this run was fetched.", +"type": "string" +}, +"finalDisplayedUrl": { +"description": "URL displayed on the page after Lighthouse finishes.", +"type": "string" +}, +"finalUrl": { +"description": "The final resolved url that was audited.", +"type": "string" +}, +"fullPageScreenshot": { +"description": "Screenshot data of the full page, along with node rects relevant to the audit results.", +"type": "any" +}, +"i18n": { +"$ref": "I18n", +"description": "The internationalization strings that are required to render the LHR." +}, +"lighthouseVersion": { +"description": "The lighthouse version that was used to generate this LHR.", +"type": "string" +}, +"mainDocumentUrl": { +"description": "URL of the main document request of the final navigation.", +"type": "string" +}, +"requestedUrl": { +"description": "The original requested url.", +"type": "string" +}, +"runWarnings": { +"description": "List of all run warnings in the LHR. Will always output to at least `[]`.", +"items": { +"type": "any" +}, +"type": "array" +}, +"runtimeError": { +"$ref": "RuntimeError", +"description": "A top-level error message that, if present, indicates a serious enough problem that this Lighthouse result may need to be discarded." +}, +"stackPacks": { +"description": "The Stack Pack advice strings.", +"items": { +"$ref": "StackPack" +}, +"type": "array" +}, +"timing": { +"$ref": "Timing", +"description": "Timing information for this LHR." +}, +"userAgent": { +"description": "The user agent that was used to run this LHR.", +"type": "string" +} +}, +"type": "object" +}, +"MetricSavings": { +"description": "The metric savings of the audit.", +"id": "MetricSavings", +"properties": { +"CLS": { +"description": "Optional. Optional numeric value representing the audit's savings for the CLS metric.", +"format": "double", +"type": "number" +}, +"FCP": { +"description": "Optional. Optional numeric value representing the audit's savings for the FCP metric.", +"format": "double", +"type": "number" +}, +"INP": { +"description": "Optional. Optional numeric value representing the audit's savings for the INP metric.", +"format": "double", +"type": "number" +}, +"LCP": { +"description": "Optional. Optional numeric value representing the audit's savings for the LCP metric.", +"format": "double", +"type": "number" +}, +"TBT": { +"description": "Optional. Optional numeric value representing the audit's savings for the TBT metric.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"PagespeedApiLoadingExperienceV5": { +"description": "The CrUX loading experience object that contains CrUX data breakdowns.", +"id": "PagespeedApiLoadingExperienceV5", +"properties": { +"id": { +"description": "The url, pattern or origin which the metrics are on.", +"type": "string" +}, +"initial_url": { +"description": "The requested URL, which may differ from the resolved \"id\".", +"type": "string" +}, +"metrics": { +"additionalProperties": { +"$ref": "UserPageLoadMetricV5" +}, +"description": "The map of .", +"type": "object" +}, +"origin_fallback": { +"description": "True if the result is an origin fallback from a page, false otherwise.", +"type": "boolean" +}, +"overall_category": { +"description": "The human readable speed \"category\" of the id.", +"type": "string" +} +}, +"type": "object" +}, +"PagespeedApiPagespeedResponseV5": { +"description": "The Pagespeed API response object.", +"id": "PagespeedApiPagespeedResponseV5", +"properties": { +"analysisUTCTimestamp": { +"description": "The UTC timestamp of this analysis.", +"type": "string" +}, +"captchaResult": { +"description": "The captcha verify result", +"type": "string" +}, +"id": { +"description": "Canonicalized and final URL for the document, after following page redirects (if any).", +"type": "string" +}, +"kind": { +"description": "Kind of result.", +"type": "string" +}, +"lighthouseResult": { +"$ref": "LighthouseResultV5", +"description": "Lighthouse response for the audit url as an object." +}, +"loadingExperience": { +"$ref": "PagespeedApiLoadingExperienceV5", +"description": "Metrics of end users' page loading experience." +}, +"originLoadingExperience": { +"$ref": "PagespeedApiLoadingExperienceV5", +"description": "Metrics of the aggregated page loading experience of the origin" +}, +"version": { +"$ref": "PagespeedVersion", +"description": "The version of PageSpeed used to generate these results." +} +}, +"type": "object" +}, +"PagespeedVersion": { +"description": "The Pagespeed Version object.", +"id": "PagespeedVersion", +"properties": { +"major": { +"description": "The major version number of PageSpeed used to generate these results.", +"type": "string" +}, +"minor": { +"description": "The minor version number of PageSpeed used to generate these results.", +"type": "string" +} +}, +"type": "object" +}, +"RendererFormattedStrings": { +"description": "Message holding the formatted strings used in the renderer.", +"id": "RendererFormattedStrings", +"properties": { +"auditGroupExpandTooltip": { +"description": "The tooltip text on an expandable chevron icon.", +"type": "string" +}, +"calculatorLink": { +"description": "Text link pointing to the Lighthouse scoring calculator. This link immediately follows a sentence stating the performance score is calculated from the perf metrics.", +"type": "string" +}, +"crcInitialNavigation": { +"description": "The label for the initial request in a critical request chain.", +"type": "string" +}, +"crcLongestDurationLabel": { +"description": "The label for values shown in the summary of critical request chains.", +"type": "string" +}, +"dropdownCopyJSON": { +"description": "Option in a dropdown menu that copies the Lighthouse JSON object to the system clipboard.", +"type": "string" +}, +"dropdownDarkTheme": { +"description": "Option in a dropdown menu that toggles the themeing of the report between Light(default) and Dark themes.", +"type": "string" +}, +"dropdownPrintExpanded": { +"description": "Option in a dropdown menu that opens a full Lighthouse report in a print dialog.", +"type": "string" +}, +"dropdownPrintSummary": { +"description": "Option in a dropdown menu that opens a small, summary report in a print dialog.", +"type": "string" +}, +"dropdownSaveGist": { +"description": "Option in a dropdown menu that saves the current report as a new GitHub Gist.", +"type": "string" +}, +"dropdownSaveHTML": { +"description": "Option in a dropdown menu that saves the Lighthouse report HTML locally to the system as a '.html' file.", +"type": "string" +}, +"dropdownSaveJSON": { +"description": "Option in a dropdown menu that saves the Lighthouse JSON object to the local system as a '.json' file.", +"type": "string" +}, +"dropdownViewer": { +"description": "Option in a dropdown menu that opens the current report in the Lighthouse Viewer Application.", +"type": "string" +}, +"errorLabel": { +"description": "The label shown next to an audit or metric that has had an error.", +"type": "string" +}, +"errorMissingAuditInfo": { +"description": "The error string shown next to an erroring audit.", +"type": "string" +}, +"footerIssue": { +"description": "Label for button to create an issue against the Lighthouse GitHub project.", +"type": "string" +}, +"labDataTitle": { +"description": "The title of the lab data performance category.", +"type": "string" +}, +"lsPerformanceCategoryDescription": { +"description": "The disclaimer shown under performance explaining that the network can vary.", +"type": "string" +}, +"manualAuditsGroupTitle": { +"description": "The heading shown above a list of audits that were not computerd in the run.", +"type": "string" +}, +"notApplicableAuditsGroupTitle": { +"description": "The heading shown above a list of audits that do not apply to a page.", +"type": "string" +}, +"opportunityResourceColumnLabel": { +"description": "The heading for the estimated page load savings opportunity of an audit.", +"type": "string" +}, +"opportunitySavingsColumnLabel": { +"description": "The heading for the estimated page load savings of opportunity audits.", +"type": "string" +}, +"passedAuditsGroupTitle": { +"description": "The heading that is shown above a list of audits that are passing.", +"type": "string" +}, +"runtimeDesktopEmulation": { +"description": "Descriptive explanation for emulation setting when emulating a generic desktop form factor, as opposed to a mobile-device like form factor.", +"type": "string" +}, +"runtimeMobileEmulation": { +"description": "Descriptive explanation for emulation setting when emulating a Nexus 5X mobile device.", +"type": "string" +}, +"runtimeNoEmulation": { +"description": "Descriptive explanation for emulation setting when no device emulation is set.", +"type": "string" +}, +"runtimeSettingsAxeVersion": { +"description": "Label for a row in a table that shows the version of the Axe library used", +"type": "string" +}, +"runtimeSettingsBenchmark": { +"description": "Label for a row in a table that shows the estimated CPU power of the machine running Lighthouse. Example row values: 532, 1492, 783.", +"type": "string" +}, +"runtimeSettingsCPUThrottling": { +"description": "Label for a row in a table that describes the CPU throttling conditions that were used during a Lighthouse run, if any.", +"type": "string" +}, +"runtimeSettingsChannel": { +"description": "Label for a row in a table that shows in what tool Lighthouse is being run (e.g. The lighthouse CLI, Chrome DevTools, Lightrider, WebPageTest, etc).", +"type": "string" +}, +"runtimeSettingsDevice": { +"description": "Label for a row in a table that describes the kind of device that was emulated for the Lighthouse run. Example values for row elements: 'No Emulation', 'Emulated Desktop', etc.", +"type": "string" +}, +"runtimeSettingsFetchTime": { +"description": "Label for a row in a table that shows the time at which a Lighthouse run was conducted; formatted as a timestamp, e.g. Jan 1, 1970 12:00 AM UTC.", +"type": "string" +}, +"runtimeSettingsNetworkThrottling": { +"description": "Label for a row in a table that describes the network throttling conditions that were used during a Lighthouse run, if any.", +"type": "string" +}, +"runtimeSettingsTitle": { +"description": "Title of the Runtime settings table in a Lighthouse report. Runtime settings are the environment configurations that a specific report used at auditing time.", +"type": "string" +}, +"runtimeSettingsUA": { +"description": "Label for a row in a table that shows the User Agent that was detected on the Host machine that ran Lighthouse.", +"type": "string" +}, +"runtimeSettingsUANetwork": { +"description": "Label for a row in a table that shows the User Agent that was used to send out all network requests during the Lighthouse run.", +"type": "string" +}, +"runtimeSettingsUrl": { +"description": "Label for a row in a table that shows the URL that was audited during a Lighthouse run.", +"type": "string" +}, +"runtimeUnknown": { +"description": "Descriptive explanation for a runtime setting that is set to an unknown value.", +"type": "string" +}, +"scorescaleLabel": { +"description": "The label that explains the score gauges scale (0-49, 50-89, 90-100).", +"type": "string" +}, +"showRelevantAudits": { +"description": "Label preceding a radio control for filtering the list of audits. The radio choices are various performance metrics (FCP, LCP, TBT), and if chosen, the audits in the report are hidden if they are not relevant to the selected metric.", +"type": "string" +}, +"snippetCollapseButtonLabel": { +"description": "The label for the button to show only a few lines of a snippet", +"type": "string" +}, +"snippetExpandButtonLabel": { +"description": "The label for the button to show all lines of a snippet", +"type": "string" +}, +"thirdPartyResourcesLabel": { +"description": "This label is for a filter checkbox above a table of items", +"type": "string" +}, +"throttlingProvided": { +"description": "Descriptive explanation for environment throttling that was provided by the runtime environment instead of provided by Lighthouse throttling.", +"type": "string" +}, +"toplevelWarningsMessage": { +"description": "The label shown preceding important warnings that may have invalidated an entire report.", +"type": "string" +}, +"varianceDisclaimer": { +"description": "The disclaimer shown below a performance metric value.", +"type": "string" +}, +"viewTreemapLabel": { +"description": "Label for a button that opens the Treemap App", +"type": "string" +}, +"warningAuditsGroupTitle": { +"description": "The heading that is shown above a list of audits that have warnings", +"type": "string" +}, +"warningHeader": { +"description": "The label shown above a bulleted list of warnings.", +"type": "string" +} +}, +"type": "object" +}, +"RuntimeError": { +"description": "Message containing a runtime error config.", +"id": "RuntimeError", +"properties": { +"code": { +"description": "The enumerated Lighthouse Error code.", +"type": "string" +}, +"message": { +"description": "A human readable message explaining the error code.", +"type": "string" +} +}, +"type": "object" +}, +"StackPack": { +"description": "Message containing Stack Pack information.", +"id": "StackPack", +"properties": { +"descriptions": { +"additionalProperties": { +"type": "string" +}, +"description": "The stack pack advice strings.", +"type": "object" +}, +"iconDataURL": { +"description": "The stack pack icon data uri.", +"type": "string" +}, +"id": { +"description": "The stack pack id.", +"type": "string" +}, +"title": { +"description": "The stack pack title.", +"type": "string" +} +}, +"type": "object" +}, +"Timing": { +"description": "Message containing the performance timing data for the Lighthouse run.", +"id": "Timing", +"properties": { +"total": { +"description": "The total duration of Lighthouse's run.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"UserPageLoadMetricV5": { +"description": "A CrUX metric object for a single metric and form factor.", +"id": "UserPageLoadMetricV5", +"properties": { +"category": { +"description": "The category of the specific time metric.", +"type": "string" +}, +"distributions": { +"description": "Metric distributions. Proportions should sum up to 1.", +"items": { +"$ref": "Bucket" +}, +"type": "array" +}, +"formFactor": { +"description": "Identifies the form factor of the metric being collected.", +"type": "string" +}, +"median": { +"description": "The median number of the metric, in millisecond.", +"format": "int32", +"type": "integer" +}, +"metricId": { +"description": "Identifies the type of the metric.", +"type": "string" +}, +"percentile": { +"description": "We use this field to store certain percentile value for this metric. For v4, this field contains pc50. For v5, this field contains pc90.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "PageSpeed Insights 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/playdeveloperreporting.v1alpha1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/playdeveloperreporting.v1alpha1.json new file mode 100644 index 0000000000000000000000000000000000000000..f1a9cc4be3aa8ca82210dd1485e2f60a03f4d4ed --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/playdeveloperreporting.v1alpha1.json @@ -0,0 +1,2197 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/playdeveloperreporting": { +"description": "See metrics and data about the apps in your Google Play Developer account" +} +} +} +}, +"basePath": "", +"baseUrl": "https://playdeveloperreporting.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Playdeveloperreporting", +"description": "", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/play/developer/reporting", +"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": "playdeveloperreporting:v1alpha1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://playdeveloperreporting.mtls.googleapis.com/", +"name": "playdeveloperreporting", +"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": { +"anomalies": { +"methods": { +"list": { +"description": "Lists anomalies in any of the datasets.", +"flatPath": "v1alpha1/apps/{appsId}/anomalies", +"httpMethod": "GET", +"id": "playdeveloperreporting.anomalies.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filtering criteria for anomalies. For basic filter guidance, please check: https://google.aip.dev/160. **Supported functions:** * `activeBetween(startTime, endTime)`: If specified, only list anomalies that were active in between `startTime` (inclusive) and `endTime` (exclusive). Both parameters are expected to conform to an RFC-3339 formatted string (e.g. `2012-04-21T11:30:00-04:00`). UTC offsets are supported. Both `startTime` and `endTime` accept the special value `UNBOUNDED`, to signify intervals with no lower or upper bound, respectively. Examples: * `activeBetween(\"2021-04-21T11:30:00Z\", \"2021-07-21T00:00:00Z\")` * `activeBetween(UNBOUNDED, \"2021-11-21T00:00:00-04:00\")` * `activeBetween(\"2021-07-21T00:00:00-04:00\", UNBOUNDED)`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum size of the returned data. If unspecified, at most 10 anomalies will be returned. The maximum value is 100; values above 100 will be coerced to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListErrorReports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListErrorReports` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent app for which anomalies were detected. Format: apps/{app}", +"location": "path", +"pattern": "^apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+parent}/anomalies", +"response": { +"$ref": "GooglePlayDeveloperReportingV1alpha1ListAnomaliesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/playdeveloperreporting" +] +} +} +}, +"apps": { +"methods": { +"fetchReleaseFilterOptions": { +"description": "Describes filtering options for releases.", +"flatPath": "v1alpha1/apps/{appsId}:fetchReleaseFilterOptions", +"httpMethod": "GET", +"id": "playdeveloperreporting.apps.fetchReleaseFilterOptions", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource, i.e. app the filtering options are for. Format: apps/{app}", +"location": "path", +"pattern": "^apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+name}:fetchReleaseFilterOptions", +"response": { +"$ref": "GooglePlayDeveloperReportingV1alpha1ReleaseFilterOptions" +}, +"scopes": [ +"https://www.googleapis.com/auth/playdeveloperreporting" +] +}, +"search": { +"description": "Searches for Apps accessible by the user.", +"flatPath": "v1alpha1/apps:search", +"httpMethod": "GET", +"id": "playdeveloperreporting.apps.search", +"parameterOrder": [], +"parameters": { +"pageSize": { +"description": "The maximum number of apps to return. The service may return fewer than this value. If unspecified, at most 50 apps 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 `SearchAccessibleApps` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `SearchAccessibleApps` must match the call that provided the page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha1/apps:search", +"response": { +"$ref": "GooglePlayDeveloperReportingV1alpha1SearchAccessibleAppsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/playdeveloperreporting" +] +} +} +}, +"vitals": { +"resources": { +"anrrate": { +"methods": { +"get": { +"description": "Describes the properties of the metric set.", +"flatPath": "v1alpha1/apps/{appsId}/anrRateMetricSet", +"httpMethod": "GET", +"id": "playdeveloperreporting.vitals.anrrate.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name. Format: apps/{app}/anrRateMetricSet", +"location": "path", +"pattern": "^apps/[^/]+/anrRateMetricSet$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+name}", +"response": { +"$ref": "GooglePlayDeveloperReportingV1alpha1AnrRateMetricSet" +}, +"scopes": [ +"https://www.googleapis.com/auth/playdeveloperreporting" +] +}, +"query": { +"description": "Queries the metrics in the metric set.", +"flatPath": "v1alpha1/apps/{appsId}/anrRateMetricSet:query", +"httpMethod": "POST", +"id": "playdeveloperreporting.vitals.anrrate.query", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name. Format: apps/{app}/anrRateMetricSet", +"location": "path", +"pattern": "^apps/[^/]+/anrRateMetricSet$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+name}:query", +"request": { +"$ref": "GooglePlayDeveloperReportingV1alpha1QueryAnrRateMetricSetRequest" +}, +"response": { +"$ref": "GooglePlayDeveloperReportingV1alpha1QueryAnrRateMetricSetResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/playdeveloperreporting" +] +} +} +}, +"crashrate": { +"methods": { +"get": { +"description": "Describes the properties of the metric set.", +"flatPath": "v1alpha1/apps/{appsId}/crashRateMetricSet", +"httpMethod": "GET", +"id": "playdeveloperreporting.vitals.crashrate.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name. Format: apps/{app}/crashRateMetricSet", +"location": "path", +"pattern": "^apps/[^/]+/crashRateMetricSet$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+name}", +"response": { +"$ref": "GooglePlayDeveloperReportingV1alpha1CrashRateMetricSet" +}, +"scopes": [ +"https://www.googleapis.com/auth/playdeveloperreporting" +] +}, +"query": { +"description": "Queries the metrics in the metric set.", +"flatPath": "v1alpha1/apps/{appsId}/crashRateMetricSet:query", +"httpMethod": "POST", +"id": "playdeveloperreporting.vitals.crashrate.query", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name. Format: apps/{app}/crashRateMetricSet", +"location": "path", +"pattern": "^apps/[^/]+/crashRateMetricSet$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+name}:query", +"request": { +"$ref": "GooglePlayDeveloperReportingV1alpha1QueryCrashRateMetricSetRequest" +}, +"response": { +"$ref": "GooglePlayDeveloperReportingV1alpha1QueryCrashRateMetricSetResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/playdeveloperreporting" +] +} +} +}, +"errors": { +"resources": { +"counts": { +"methods": { +"get": { +"description": "Describes the properties of the metrics set.", +"flatPath": "v1alpha1/apps/{appsId}/errorCountMetricSet", +"httpMethod": "GET", +"id": "playdeveloperreporting.vitals.errors.counts.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the errors metric set. Format: apps/{app}/errorCountMetricSet", +"location": "path", +"pattern": "^apps/[^/]+/errorCountMetricSet$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+name}", +"response": { +"$ref": "GooglePlayDeveloperReportingV1alpha1ErrorCountMetricSet" +}, +"scopes": [ +"https://www.googleapis.com/auth/playdeveloperreporting" +] +}, +"query": { +"description": "Queries the metrics in the metrics set.", +"flatPath": "v1alpha1/apps/{appsId}/errorCountMetricSet:query", +"httpMethod": "POST", +"id": "playdeveloperreporting.vitals.errors.counts.query", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name. Format: apps/{app}/errorCountMetricSet", +"location": "path", +"pattern": "^apps/[^/]+/errorCountMetricSet$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+name}:query", +"request": { +"$ref": "GooglePlayDeveloperReportingV1alpha1QueryErrorCountMetricSetRequest" +}, +"response": { +"$ref": "GooglePlayDeveloperReportingV1alpha1QueryErrorCountMetricSetResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/playdeveloperreporting" +] +} +} +}, +"issues": { +"methods": { +"search": { +"description": "Searches all error issues in which reports have been grouped.", +"flatPath": "v1alpha1/apps/{appsId}/errorIssues:search", +"httpMethod": "GET", +"id": "playdeveloperreporting.vitals.errors.issues.search", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "A selection predicate to retrieve only a subset of the issues. Counts in the returned error issues will only reflect occurrences that matched the filter. For filtering basics, please check [AIP-160](https://google.aip.dev/160). ** Supported field names:** * `apiLevel`: Matches error issues that occurred in the requested Android versions (specified as the numeric API level) only. Example: `apiLevel = 28 OR apiLevel = 29`. * `versionCode`: Matches error issues that occurred in the requested app version codes only. Example: `versionCode = 123 OR versionCode = 456`. * `deviceModel`: Matches error issues that occurred in the requested devices. Example: `deviceModel = \"google/walleye\" OR deviceModel = \"google/marlin\"`. * `deviceBrand`: Matches error issues that occurred in the requested device brands. Example: `deviceBrand = \"Google\". * `deviceType`: Matches error issues that occurred in the requested device types. Example: `deviceType = \"PHONE\"`. * `errorIssueType`: Matches error issues of the requested types only. Valid candidates: `CRASH`, `ANR`, `NON_FATAL`. Example: `errorIssueType = CRASH OR errorIssueType = ANR`. * `appProcessState`: Matches error issues on the process state of an app, indicating whether an app runs in the foreground (user-visible) or background. Valid candidates: `FOREGROUND`, `BACKGROUND`. Example: `appProcessState = FOREGROUND`. * `isUserPerceived`: Matches error issues that are user-perceived. It is not accompanied by any operators. Example: `isUserPerceived`. ** Supported operators:** * Comparison operators: The only supported comparison operator is equality. The filtered field must appear on the left hand side of the comparison. * Logical Operators: Logical operators `AND` and `OR` can be used to build complex filters following a conjunctive normal form (CNF), i.e., conjunctions of disjunctions. The `OR` operator takes precedence over `AND` so the use of parenthesis is not necessary when building CNF. The `OR` operator is only supported to build disjunctions that apply to the same field, e.g., `versionCode = 123 OR errorIssueType = ANR` is not a valid filter. ** Examples ** Some valid filtering expressions: * `versionCode = 123 AND errorIssueType = ANR` * `versionCode = 123 AND errorIssueType = OR errorIssueType = CRASH` * `versionCode = 123 AND (errorIssueType = OR errorIssueType = CRASH)`", +"location": "query", +"type": "string" +}, +"interval.endTime.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", +"location": "query", +"type": "integer" +}, +"interval.endTime.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", +"location": "query", +"type": "integer" +}, +"interval.endTime.minutes": { +"description": "Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"interval.endTime.month": { +"description": "Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"interval.endTime.nanos": { +"description": "Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"interval.endTime.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", +"location": "query", +"type": "integer" +}, +"interval.endTime.timeZone.id": { +"description": "IANA Time Zone Database time zone. For example \"America/New_York\".", +"location": "query", +"type": "string" +}, +"interval.endTime.timeZone.version": { +"description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", +"location": "query", +"type": "string" +}, +"interval.endTime.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", +"location": "query", +"type": "string" +}, +"interval.endTime.year": { +"description": "Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"interval.startTime.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", +"location": "query", +"type": "integer" +}, +"interval.startTime.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", +"location": "query", +"type": "integer" +}, +"interval.startTime.minutes": { +"description": "Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"interval.startTime.month": { +"description": "Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"interval.startTime.nanos": { +"description": "Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"interval.startTime.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", +"location": "query", +"type": "integer" +}, +"interval.startTime.timeZone.id": { +"description": "IANA Time Zone Database time zone. For example \"America/New_York\".", +"location": "query", +"type": "string" +}, +"interval.startTime.timeZone.version": { +"description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", +"location": "query", +"type": "string" +}, +"interval.startTime.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", +"location": "query", +"type": "string" +}, +"interval.startTime.year": { +"description": "Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"orderBy": { +"description": "Specifies a field that will be used to order the results. ** Supported dimensions:** * `errorReportCount`: Orders issues by number of error reports. * `distinctUsers`: Orders issues by number of unique affected users. ** Supported operations:** * `asc` for ascending order. * `desc` for descending order. Format: A field and an operation, e.g., `errorReportCount desc` *Note:* currently only one field is supported at a time.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of error issues to return. The service may return fewer than this value. If unspecified, at most 50 error issues 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 call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to the request must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource of the error issues, indicating the application for which they were received. Format: apps/{app}", +"location": "path", +"pattern": "^apps/[^/]+$", +"required": true, +"type": "string" +}, +"sampleErrorReportLimit": { +"description": "Optional. Number of sample error reports to return per ErrorIssue. If unspecified, 0 will be used. *Note:* currently only 0 and 1 are supported.", +"format": "int32", +"location": "query", +"type": "integer" +} +}, +"path": "v1alpha1/{+parent}/errorIssues:search", +"response": { +"$ref": "GooglePlayDeveloperReportingV1alpha1SearchErrorIssuesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/playdeveloperreporting" +] +} +} +}, +"reports": { +"methods": { +"search": { +"description": "Searches all error reports received for an app.", +"flatPath": "v1alpha1/apps/{appsId}/errorReports:search", +"httpMethod": "GET", +"id": "playdeveloperreporting.vitals.errors.reports.search", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "A selection predicate to retrieve only a subset of the reports. For filtering basics, please check [AIP-160](https://google.aip.dev/160). ** Supported field names:** * `apiLevel`: Matches error reports that occurred in the requested Android versions (specified as the numeric API level) only. Example: `apiLevel = 28 OR apiLevel = 29`. * `versionCode`: Matches error reports that occurred in the requested app version codes only. Example: `versionCode = 123 OR versionCode = 456`. * `deviceModel`: Matches error issues that occurred in the requested devices. Example: `deviceModel = \"google/walleye\" OR deviceModel = \"google/marlin\"`. * `deviceBrand`: Matches error issues that occurred in the requested device brands. Example: `deviceBrand = \"Google\". * `deviceType`: Matches error reports that occurred in the requested device types. Example: `deviceType = \"PHONE\"`. * `errorIssueType`: Matches error reports of the requested types only. Valid candidates: `CRASH`, `ANR`, `NON_FATAL`. Example: `errorIssueType = CRASH OR errorIssueType = ANR`. * `errorIssueId`: Matches error reports belonging to the requested error issue ids only. Example: `errorIssueId = 1234 OR errorIssueId = 4567`. * `errorReportId`: Matches error reports with the requested error report id. Example: `errorReportId = 1234 OR errorReportId = 4567`. * `appProcessState`: Matches error reports on the process state of an app, indicating whether an app runs in the foreground (user-visible) or background. Valid candidates: `FOREGROUND`, `BACKGROUND`. Example: `appProcessState = FOREGROUND`. * `isUserPerceived`: Matches error reports that are user-perceived. It is not accompanied by any operators. Example: `isUserPerceived`. ** Supported operators:** * Comparison operators: The only supported comparison operator is equality. The filtered field must appear on the left hand side of the comparison. * Logical Operators: Logical operators `AND` and `OR` can be used to build complex filters following a conjunctive normal form (CNF), i.e., conjunctions of disjunctions. The `OR` operator takes precedence over `AND` so the use of parenthesis is not necessary when building CNF. The `OR` operator is only supported to build disjunctions that apply to the same field, e.g., `versionCode = 123 OR versionCode = ANR`. The filter expression `versionCode = 123 OR errorIssueType = ANR` is not valid. ** Examples ** Some valid filtering expressions: * `versionCode = 123 AND errorIssueType = ANR` * `versionCode = 123 AND errorIssueType = OR errorIssueType = CRASH` * `versionCode = 123 AND (errorIssueType = OR errorIssueType = CRASH)`", +"location": "query", +"type": "string" +}, +"interval.endTime.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", +"location": "query", +"type": "integer" +}, +"interval.endTime.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", +"location": "query", +"type": "integer" +}, +"interval.endTime.minutes": { +"description": "Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"interval.endTime.month": { +"description": "Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"interval.endTime.nanos": { +"description": "Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"interval.endTime.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", +"location": "query", +"type": "integer" +}, +"interval.endTime.timeZone.id": { +"description": "IANA Time Zone Database time zone. For example \"America/New_York\".", +"location": "query", +"type": "string" +}, +"interval.endTime.timeZone.version": { +"description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", +"location": "query", +"type": "string" +}, +"interval.endTime.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", +"location": "query", +"type": "string" +}, +"interval.endTime.year": { +"description": "Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"interval.startTime.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", +"location": "query", +"type": "integer" +}, +"interval.startTime.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", +"location": "query", +"type": "integer" +}, +"interval.startTime.minutes": { +"description": "Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"interval.startTime.month": { +"description": "Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"interval.startTime.nanos": { +"description": "Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"interval.startTime.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", +"location": "query", +"type": "integer" +}, +"interval.startTime.timeZone.id": { +"description": "IANA Time Zone Database time zone. For example \"America/New_York\".", +"location": "query", +"type": "string" +}, +"interval.startTime.timeZone.version": { +"description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", +"location": "query", +"type": "string" +}, +"interval.startTime.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", +"location": "query", +"type": "string" +}, +"interval.startTime.year": { +"description": "Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageSize": { +"description": "The maximum number of reports to return. The service may return fewer than this value. If unspecified, at most 50 reports will be returned. The maximum value is 100; values above 100 will be coerced to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `SearchErrorReports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `SearchErrorReports` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource of the reports, indicating the application for which they were received. Format: apps/{app}", +"location": "path", +"pattern": "^apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+parent}/errorReports:search", +"response": { +"$ref": "GooglePlayDeveloperReportingV1alpha1SearchErrorReportsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/playdeveloperreporting" +] +} +} +} +} +}, +"excessivewakeuprate": { +"methods": { +"get": { +"description": "Describes the properties of the metric set.", +"flatPath": "v1alpha1/apps/{appsId}/excessiveWakeupRateMetricSet", +"httpMethod": "GET", +"id": "playdeveloperreporting.vitals.excessivewakeuprate.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name. Format: apps/{app}/excessiveWakeupRateMetricSet", +"location": "path", +"pattern": "^apps/[^/]+/excessiveWakeupRateMetricSet$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+name}", +"response": { +"$ref": "GooglePlayDeveloperReportingV1alpha1ExcessiveWakeupRateMetricSet" +}, +"scopes": [ +"https://www.googleapis.com/auth/playdeveloperreporting" +] +}, +"query": { +"description": "Queries the metrics in the metric set.", +"flatPath": "v1alpha1/apps/{appsId}/excessiveWakeupRateMetricSet:query", +"httpMethod": "POST", +"id": "playdeveloperreporting.vitals.excessivewakeuprate.query", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name. Format: apps/{app}/excessiveWakeupRateMetricSet", +"location": "path", +"pattern": "^apps/[^/]+/excessiveWakeupRateMetricSet$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+name}:query", +"request": { +"$ref": "GooglePlayDeveloperReportingV1alpha1QueryExcessiveWakeupRateMetricSetRequest" +}, +"response": { +"$ref": "GooglePlayDeveloperReportingV1alpha1QueryExcessiveWakeupRateMetricSetResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/playdeveloperreporting" +] +} +} +}, +"slowrenderingrate": { +"methods": { +"get": { +"description": "Describes the properties of the metric set.", +"flatPath": "v1alpha1/apps/{appsId}/slowRenderingRateMetricSet", +"httpMethod": "GET", +"id": "playdeveloperreporting.vitals.slowrenderingrate.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name. Format: apps/{app}/slowRenderingRateMetricSet", +"location": "path", +"pattern": "^apps/[^/]+/slowRenderingRateMetricSet$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+name}", +"response": { +"$ref": "GooglePlayDeveloperReportingV1alpha1SlowRenderingRateMetricSet" +}, +"scopes": [ +"https://www.googleapis.com/auth/playdeveloperreporting" +] +}, +"query": { +"description": "Queries the metrics in the metric set.", +"flatPath": "v1alpha1/apps/{appsId}/slowRenderingRateMetricSet:query", +"httpMethod": "POST", +"id": "playdeveloperreporting.vitals.slowrenderingrate.query", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name. Format: apps/{app}/slowRenderingRateMetricSet", +"location": "path", +"pattern": "^apps/[^/]+/slowRenderingRateMetricSet$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+name}:query", +"request": { +"$ref": "GooglePlayDeveloperReportingV1alpha1QuerySlowRenderingRateMetricSetRequest" +}, +"response": { +"$ref": "GooglePlayDeveloperReportingV1alpha1QuerySlowRenderingRateMetricSetResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/playdeveloperreporting" +] +} +} +}, +"slowstartrate": { +"methods": { +"get": { +"description": "Describes the properties of the metric set.", +"flatPath": "v1alpha1/apps/{appsId}/slowStartRateMetricSet", +"httpMethod": "GET", +"id": "playdeveloperreporting.vitals.slowstartrate.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name. Format: apps/{app}/slowStartRateMetricSet", +"location": "path", +"pattern": "^apps/[^/]+/slowStartRateMetricSet$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+name}", +"response": { +"$ref": "GooglePlayDeveloperReportingV1alpha1SlowStartRateMetricSet" +}, +"scopes": [ +"https://www.googleapis.com/auth/playdeveloperreporting" +] +}, +"query": { +"description": "Queries the metrics in the metric set.", +"flatPath": "v1alpha1/apps/{appsId}/slowStartRateMetricSet:query", +"httpMethod": "POST", +"id": "playdeveloperreporting.vitals.slowstartrate.query", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name. Format: apps/{app}/slowStartRateMetricSet", +"location": "path", +"pattern": "^apps/[^/]+/slowStartRateMetricSet$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+name}:query", +"request": { +"$ref": "GooglePlayDeveloperReportingV1alpha1QuerySlowStartRateMetricSetRequest" +}, +"response": { +"$ref": "GooglePlayDeveloperReportingV1alpha1QuerySlowStartRateMetricSetResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/playdeveloperreporting" +] +} +} +}, +"stuckbackgroundwakelockrate": { +"methods": { +"get": { +"description": "Describes the properties of the metric set.", +"flatPath": "v1alpha1/apps/{appsId}/stuckBackgroundWakelockRateMetricSet", +"httpMethod": "GET", +"id": "playdeveloperreporting.vitals.stuckbackgroundwakelockrate.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name. Format: apps/{app}/stuckBackgroundWakelockRateMetricSet", +"location": "path", +"pattern": "^apps/[^/]+/stuckBackgroundWakelockRateMetricSet$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+name}", +"response": { +"$ref": "GooglePlayDeveloperReportingV1alpha1StuckBackgroundWakelockRateMetricSet" +}, +"scopes": [ +"https://www.googleapis.com/auth/playdeveloperreporting" +] +}, +"query": { +"description": "Queries the metrics in the metric set.", +"flatPath": "v1alpha1/apps/{appsId}/stuckBackgroundWakelockRateMetricSet:query", +"httpMethod": "POST", +"id": "playdeveloperreporting.vitals.stuckbackgroundwakelockrate.query", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name. Format: apps/{app}/stuckBackgroundWakelockRateMetricSet", +"location": "path", +"pattern": "^apps/[^/]+/stuckBackgroundWakelockRateMetricSet$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+name}:query", +"request": { +"$ref": "GooglePlayDeveloperReportingV1alpha1QueryStuckBackgroundWakelockRateMetricSetRequest" +}, +"response": { +"$ref": "GooglePlayDeveloperReportingV1alpha1QueryStuckBackgroundWakelockRateMetricSetResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/playdeveloperreporting" +] +} +} +} +} +} +}, +"revision": "20241128", +"rootUrl": "https://playdeveloperreporting.googleapis.com/", +"schemas": { +"GooglePlayDeveloperReportingV1alpha1Anomaly": { +"description": "Represents an anomaly detected in a dataset. Our anomaly detection systems flag datapoints in a time series that fall outside of and expected range derived from historical data. Although those expected ranges have an upper and a lower bound, we only flag anomalies when the data has become unexpectedly _worse_, which usually corresponds to the case where the metric crosses the upper bound. Multiple contiguous datapoints in a timeline outside of the expected range will be grouped into a single anomaly. Therefore, an anomaly represents effectively a segment of a metric's timeline. The information stored in the `timeline_spec`, `dimensions` and `metric` can be used to fetch a full timeline with extended ragne for context. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app.", +"id": "GooglePlayDeveloperReportingV1alpha1Anomaly", +"properties": { +"dimensions": { +"description": "Combination of dimensions in which the anomaly was detected.", +"items": { +"$ref": "GooglePlayDeveloperReportingV1alpha1DimensionValue" +}, +"type": "array" +}, +"metric": { +"$ref": "GooglePlayDeveloperReportingV1alpha1MetricValue", +"description": "Metric where the anomaly was detected, together with the anomalous value." +}, +"metricSet": { +"description": "Metric set resource where the anomaly was detected.", +"type": "string" +}, +"name": { +"description": "Identifier. Name of the anomaly. Format: apps/{app}/anomalies/{anomaly}", +"type": "string" +}, +"timelineSpec": { +"$ref": "GooglePlayDeveloperReportingV1alpha1TimelineSpec", +"description": "Timeline specification that covers the anomaly period." +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1AnrRateMetricSet": { +"description": "Singleton resource representing the set of ANR (Application not responding) metrics. This metric set contains ANRs data combined with usage data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. * HOURLY: metrics are aggregated in hourly intervals. The default and only supported timezone is `UTC`. **Supported metrics:** * `anrRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that experienced at least one ANR. * `anrRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `anrRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. Not supported in HOURLY granularity. * `anrRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `anrRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. Not supported in HOURLY granularity. * `userPerceivedAnrRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that experienced at least one user-perceived ANR. User-perceived ANRs are currently those of 'Input dispatching' type. * `userPerceivedAnrRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `userPerceivedAnrRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. Not supported in HOURLY granularity. * `userPerceivedAnrRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `userPerceivedAnrRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `anrRate` and `userPerceivedAnrRate` metrics. A user is counted in this metric if they used the app in the foreground during the aggregation period. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. The value is rounded to the nearest multiple of 10, 100, 1,000 or 1,000,000, depending on the magnitude of the value. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device, e.g., 26. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. The form of the identifier is 'deviceBrand/device', where deviceBrand corresponds to Build.BRAND and device corresponds to Build.DEVICE, e.g., google/coral. * `deviceBrand` (string): unique identifier of the user's device brand, e.g., google. * `deviceType` (string): the type (also known as form factor) of the user's device, e.g., PHONE. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., \"Kryo 240\". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., \"4198400\". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., \"196610\". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. **Related metric sets:** * vitals.errors contains unnormalized version (absolute counts) of crashes. * vitals.errors contains normalized metrics about crashes, another stability metric.", +"id": "GooglePlayDeveloperReportingV1alpha1AnrRateMetricSet", +"properties": { +"freshnessInfo": { +"$ref": "GooglePlayDeveloperReportingV1alpha1FreshnessInfo", +"description": "Summary about data freshness in this resource." +}, +"name": { +"description": "Identifier. The resource name. Format: apps/{app}/anrRateMetricSet", +"type": "string" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1App": { +"description": "A representation of an app in the Play Store.", +"id": "GooglePlayDeveloperReportingV1alpha1App", +"properties": { +"displayName": { +"description": "Title of the app. This is the latest title as set in the Play Console and may not yet have been reviewed, so might not match the Play Store. Example: `Google Maps`.", +"type": "string" +}, +"name": { +"description": "Identifier. The resource name. Format: apps/{app}", +"type": "string" +}, +"packageName": { +"description": "Package name of the app. Example: `com.example.app123`.", +"type": "string" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1AppVersion": { +"description": "Representations of an app version.", +"id": "GooglePlayDeveloperReportingV1alpha1AppVersion", +"properties": { +"versionCode": { +"description": "Numeric version code of the app version (set by the app's developer).", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1CrashRateMetricSet": { +"description": "Singleton resource representing the set of crashrate metrics. This metric set contains crashes data combined with usage data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. * HOURLY: metrics are aggregated in hourly intervals. The default and only supported timezone is `UTC`. **Supported metrics:** * `crashRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that experienced at least one crash. * `crashRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `crashRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. Not supported in HOURLY granularity. * `crashRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `crashRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. Not supported in HOURLY granularity. * `userPerceivedCrashRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that experienced at least one crash while they were actively using your app (a user-perceived crash). An app is considered to be in active use if it is displaying any activity or executing any foreground service. * `userPerceivedCrashRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `userPerceivedCrashRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. Not supported in HOURLY granularity. * `userPerceivedCrashRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `userPerceivedCrashRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. Not supported in HOURLY granularity. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `crashRate` and `userPerceivedCrashRate` metrics. A user is counted in this metric if they used the app actively during the aggregation period. An app is considered to be in active use if it is displaying any activity or executing any foreground service. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. The value is rounded to the nearest multiple of 10, 100, 1,000 or 1,000,000, depending on the magnitude of the value. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device, e.g., 26. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. The form of the identifier is 'deviceBrand/device', where deviceBrand corresponds to Build.BRAND and device corresponds to Build.DEVICE, e.g., google/coral. * `deviceBrand` (string): unique identifier of the user's device brand, e.g., google. * `deviceType` (string): the type (also known as form factor) of the user's device, e.g., PHONE. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., \"Kryo 240\". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., \"4198400\". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., \"196610\". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. **Related metric sets:** * vitals.errors contains unnormalized version (absolute counts) of crashes. * vitals.errors contains normalized metrics about ANRs, another stability metric.", +"id": "GooglePlayDeveloperReportingV1alpha1CrashRateMetricSet", +"properties": { +"freshnessInfo": { +"$ref": "GooglePlayDeveloperReportingV1alpha1FreshnessInfo", +"description": "Summary about data freshness in this resource." +}, +"name": { +"description": "Identifier. The resource name. Format: apps/{app}/crashRateMetricSet", +"type": "string" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1DecimalConfidenceInterval": { +"description": "Represents the confidence interval of a metric.", +"id": "GooglePlayDeveloperReportingV1alpha1DecimalConfidenceInterval", +"properties": { +"lowerBound": { +"$ref": "GoogleTypeDecimal", +"description": "The confidence interval's lower bound." +}, +"upperBound": { +"$ref": "GoogleTypeDecimal", +"description": "The confidence interval's upper bound." +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1DeviceId": { +"description": "Identifier of a device.", +"id": "GooglePlayDeveloperReportingV1alpha1DeviceId", +"properties": { +"buildBrand": { +"description": "Value of Build.BRAND.", +"type": "string" +}, +"buildDevice": { +"description": "Value of Build.DEVICE.", +"type": "string" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1DeviceModelSummary": { +"description": "Summary of a device", +"id": "GooglePlayDeveloperReportingV1alpha1DeviceModelSummary", +"properties": { +"deviceId": { +"$ref": "GooglePlayDeveloperReportingV1alpha1DeviceId", +"description": "Identifier of the device." +}, +"deviceUri": { +"description": "Link to the device in Play Device Catalog.", +"type": "string" +}, +"marketingName": { +"description": "Display name of the device.", +"type": "string" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1DimensionValue": { +"description": "Represents the value of a single dimension.", +"id": "GooglePlayDeveloperReportingV1alpha1DimensionValue", +"properties": { +"dimension": { +"description": "Name of the dimension.", +"type": "string" +}, +"int64Value": { +"description": "Actual value, represented as an int64.", +"format": "int64", +"type": "string" +}, +"stringValue": { +"description": "Actual value, represented as a string.", +"type": "string" +}, +"valueLabel": { +"description": "Optional. Human-friendly label for the value, always in English. For example, 'Spain' for the 'ES' country code. Whereas the dimension value is stable, this value label is subject to change. Do not assume that the (value, value_label) relationship is stable. For example, the ISO country code 'MK' changed its name recently to 'North Macedonia'.", +"type": "string" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1ErrorCountMetricSet": { +"description": "Singleton resource representing the set of error report metrics. This metric set contains un-normalized error report counts. **Supported aggregation periods:** * HOURLY: metrics are aggregated in hourly intervals. The default and only supported timezone is `UTC`. * DAILY: metrics are aggregated in calendar date intervals. The default and only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `errorReportCount` (`google.type.Decimal`): Absolute count of individual error reports that have been received for an app. * `distinctUsers` (`google.type.Decimal`): Count of distinct users for which reports have been received. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. This value is not rounded, however it may be an approximation. **Required dimension:** This dimension must be always specified in all requests in the `dimensions` field in query requests. * `reportType` (string): the type of error. The value should correspond to one of the possible values in ErrorType. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device, e.g., 26. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. The form of the identifier is 'deviceBrand/device', where deviceBrand corresponds to Build.BRAND and device corresponds to Build.DEVICE, e.g., google/coral. * `deviceType` (string): identifier of the device's form factor, e.g., PHONE. * `issueId` (string): the id an error was assigned to. The value should correspond to the `{issue}` component of the issue name. * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., \"Kryo 240\". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., \"4198400\". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., \"196610\". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. **Related metric sets:** * vitals.errors.counts contains normalized metrics about Crashes, another stability metric. * vitals.errors.counts contains normalized metrics about ANRs, another stability metric.", +"id": "GooglePlayDeveloperReportingV1alpha1ErrorCountMetricSet", +"properties": { +"freshnessInfo": { +"$ref": "GooglePlayDeveloperReportingV1alpha1FreshnessInfo", +"description": "Summary about data freshness in this resource." +}, +"name": { +"description": "The resource name. Format: apps/{app}/errorCountMetricSet", +"type": "string" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1ErrorIssue": { +"description": "A group of related ErrorReports received for an app. Similar error reports are grouped together into issues with a likely identical root cause. **Please note:** this resource is currently in Alpha. There could be changes to the issue grouping that would result in similar but more recent error reports being assigned to different issues. This could also cause some issues disappearing entirely and being replaced by new ones. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app.", +"id": "GooglePlayDeveloperReportingV1alpha1ErrorIssue", +"properties": { +"annotations": { +"description": "List of annotations for an issue. Annotations provide additional information that may help in diagnosing and fixing the issue.", +"items": { +"$ref": "GooglePlayDeveloperReportingV1alpha1IssueAnnotation" +}, +"type": "array" +}, +"cause": { +"description": "Cause of the issue. Depending on the type this can be either: * APPLICATION_NOT_RESPONDING: the type of ANR that occurred, e.g., 'Input dispatching timed out'. * CRASH: for Java unhandled exception errors, the type of the innermost exception that was thrown, e.g., IllegalArgumentException. For signals in native code, the signal that was raised, e.g. SIGSEGV.", +"type": "string" +}, +"distinctUsers": { +"description": "An estimate of the number of unique users who have experienced this issue (only considering occurrences matching the filters and within the requested time period).", +"format": "int64", +"type": "string" +}, +"distinctUsersPercent": { +"$ref": "GoogleTypeDecimal", +"description": "An estimated percentage of users affected by any issue that are affected by this issue (only considering occurrences matching the filters and within the requested time period)." +}, +"errorReportCount": { +"description": "The total number of error reports in this issue (only considering occurrences matching the filters and within the requested time period).", +"format": "int64", +"type": "string" +}, +"firstAppVersion": { +"$ref": "GooglePlayDeveloperReportingV1alpha1AppVersion", +"description": "The earliest (inclusive) app version appearing in this ErrorIssue in the requested time period (only considering occurrences matching the filters)." +}, +"firstOsVersion": { +"$ref": "GooglePlayDeveloperReportingV1alpha1OsVersion", +"description": "The smallest OS version in which this error cluster has occurred in the requested time period (only considering occurrences matching the filters and within the requested time period)." +}, +"issueUri": { +"description": "Link to the issue in Android vitals in the Play Console.", +"type": "string" +}, +"lastAppVersion": { +"$ref": "GooglePlayDeveloperReportingV1alpha1AppVersion", +"description": "The latest (inclusive) app version appearing in this ErrorIssue in the requested time period (only considering occurrences matching the filters)." +}, +"lastErrorReportTime": { +"description": "Start of the hour during which the last error report in this issue occurred.", +"format": "google-datetime", +"type": "string" +}, +"lastOsVersion": { +"$ref": "GooglePlayDeveloperReportingV1alpha1OsVersion", +"description": "The latest OS version in which this error cluster has occurred in the requested time period (only considering occurrences matching the filters and within the requested time period)." +}, +"location": { +"description": "Location where the issue happened. Depending on the type this can be either: * APPLICATION_NOT_RESPONDING: the name of the activity or service that stopped responding. * CRASH: the likely method name that caused the error.", +"type": "string" +}, +"name": { +"description": "Identifier. The resource name of the issue. Format: apps/{app}/{issue}", +"type": "string" +}, +"sampleErrorReports": { +"description": "Output only. Sample error reports which belong to this ErrorIssue. *Note:* currently a maximum of 1 per ErrorIssue is supported. Format: \"apps/{app}/{report}\"", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"type": { +"description": "Type of the errors grouped in this issue.", +"enum": [ +"ERROR_TYPE_UNSPECIFIED", +"APPLICATION_NOT_RESPONDING", +"CRASH", +"NON_FATAL" +], +"enumDescriptions": [ +"Unspecified error type.", +"Application Not Responding (ANR) error. To learn more about this type of errors visit the corresponding Android Developers documentation.", +"Crash caused by an unhandled exception in Java (or Kotlin or any other JVM language) or a signal in native code such as SIGSEGV.", +"Non-fatal caused by events that do not immediately cause crashes, but is likely to lead to one." +], +"type": "string" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1ErrorReport": { +"description": "An error report received for an app. There reports are produced by the Android platform code when a (potentially fatal) error condition is detected. Identical reports from many users will be deduplicated and coalesced into a single ErrorReport. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app.", +"id": "GooglePlayDeveloperReportingV1alpha1ErrorReport", +"properties": { +"appVersion": { +"$ref": "GooglePlayDeveloperReportingV1alpha1AppVersion", +"description": "The app version on which an event in this error report occurred on." +}, +"deviceModel": { +"$ref": "GooglePlayDeveloperReportingV1alpha1DeviceModelSummary", +"description": "A device model on which an event in this error report occurred on." +}, +"eventTime": { +"description": "Start of the hour during which the latest event in this error report occurred.", +"format": "google-datetime", +"type": "string" +}, +"issue": { +"description": "The issue this report was associated with. **Please note:** this resource is currently in Alpha. There could be changes to the issue grouping that would result in similar but more recent error reports being assigned to a different issue.", +"type": "string" +}, +"name": { +"description": "The resource name of the report. Format: apps/{app}/{report}", +"type": "string" +}, +"osVersion": { +"$ref": "GooglePlayDeveloperReportingV1alpha1OsVersion", +"description": "The OS version on which an event in this error report occurred on." +}, +"reportText": { +"description": "Textual representation of the error report. These textual reports are produced by the platform. The reports are then sanitized and filtered to remove any potentially sensitive information. Although their format is fairly stable, they are not entirely meant for machine consumption and we cannot guarantee that there won't be subtle changes to the formatting that may break systems trying to parse information out of the reports.", +"type": "string" +}, +"type": { +"description": "Type of the error for which this report was generated.", +"enum": [ +"ERROR_TYPE_UNSPECIFIED", +"APPLICATION_NOT_RESPONDING", +"CRASH", +"NON_FATAL" +], +"enumDescriptions": [ +"Unspecified error type.", +"Application Not Responding (ANR) error. To learn more about this type of errors visit the corresponding Android Developers documentation.", +"Crash caused by an unhandled exception in Java (or Kotlin or any other JVM language) or a signal in native code such as SIGSEGV.", +"Non-fatal caused by events that do not immediately cause crashes, but is likely to lead to one." +], +"type": "string" +}, +"vcsInformation": { +"description": "Version control system information from BUNDLE-METADATA/version-control-info.textproto or META-INF/version-control-info.textproto of the app bundle or APK, respectively.", +"type": "string" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1ExcessiveWakeupRateMetricSet": { +"description": "Singleton resource representing the set of Excessive Weakeups metrics. This metric set contains AlarmManager wakeup counts data combined with process state data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `excessiveWakeupRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that had more than 10 wakeups per hour. * `excessiveWakeupRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `excessiveWakeupRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `excessiveWakeupRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `excessiveWakeupRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `excessiveWakeupRate` metric. A user is counted in this metric if they app was doing any work on the device, i.e., not just active foreground usage but also background work. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. The value is rounded to the nearest multiple of 10, 100, 1,000 or 1,000,000, depending on the magnitude of the value. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device, e.g., 26. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. The form of the identifier is 'deviceBrand/device', where deviceBrand corresponds to Build.BRAND and device corresponds to Build.DEVICE, e.g., google/coral. * `deviceBrand` (string): unique identifier of the user's device brand, e.g., google. * `deviceType` (string): the type (also known as form factor) of the user's device, e.g., PHONE. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., \"Kryo 240\". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., \"4198400\". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., \"196610\". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app.", +"id": "GooglePlayDeveloperReportingV1alpha1ExcessiveWakeupRateMetricSet", +"properties": { +"freshnessInfo": { +"$ref": "GooglePlayDeveloperReportingV1alpha1FreshnessInfo", +"description": "Summary about data freshness in this resource." +}, +"name": { +"description": "Identifier. The resource name. Format: apps/{app}/excessiveWakeupRateMetricSet", +"type": "string" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1FreshnessInfo": { +"description": "Represents the latest available time that can be requested in a TimelineSpec. Different aggregation periods have different freshness. For example, `DAILY` aggregation may lag behind `HOURLY` in cases where such aggregation is computed only once at the end of the day.", +"id": "GooglePlayDeveloperReportingV1alpha1FreshnessInfo", +"properties": { +"freshnesses": { +"description": "Information about data freshness for every supported aggregation period. This field has set semantics, keyed by the `aggregation_period` field.", +"items": { +"$ref": "GooglePlayDeveloperReportingV1alpha1FreshnessInfoFreshness" +}, +"type": "array" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1FreshnessInfoFreshness": { +"description": "Information about data freshness for a single aggregation period.", +"id": "GooglePlayDeveloperReportingV1alpha1FreshnessInfoFreshness", +"properties": { +"aggregationPeriod": { +"description": "Aggregation period for which data is available.", +"enum": [ +"AGGREGATION_PERIOD_UNSPECIFIED", +"HOURLY", +"DAILY", +"FULL_RANGE" +], +"enumDescriptions": [ +"Unspecified granularity.", +"Data is aggregated in hourly intervals.", +"Data is aggregated in daily intervals.", +"Data is aggregated over the full timeline range. Effectively this produces a single value rather than a timeline." +], +"type": "string" +}, +"latestEndTime": { +"$ref": "GoogleTypeDateTime", +"description": "Latest end time for which data is available, for the aggregation period. The time is specified in the metric set's default timezone. *Note:* time ranges in TimelineSpec are represented as `start_time, end_time)`. For example, if the latest available timeline data point for a `DAILY` aggregation period is `2021-06-23 00:00:00 America/Los_Angeles`, the value of this field would be `2021-06-24 00:00:00 America/Los_Angeles` so it can be easily reused in [TimelineSpec.end_time." +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1IssueAnnotation": { +"description": "Representation of an annotation message for an issue.", +"id": "GooglePlayDeveloperReportingV1alpha1IssueAnnotation", +"properties": { +"body": { +"description": "Contains the contents of the annotation message.", +"type": "string" +}, +"category": { +"description": "Category that the annotation belongs to. An annotation will belong to a single category. Example categories: \"Potential fix\", \"Insight\".", +"type": "string" +}, +"title": { +"description": "Title for the annotation.", +"type": "string" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1ListAnomaliesResponse": { +"description": "Response with a list of anomalies in datasets.", +"id": "GooglePlayDeveloperReportingV1alpha1ListAnomaliesResponse", +"properties": { +"anomalies": { +"description": "Anomalies that were found.", +"items": { +"$ref": "GooglePlayDeveloperReportingV1alpha1Anomaly" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Continuation token to fetch the next page of data.", +"type": "string" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1MetricValue": { +"description": "Represents the value of a metric.", +"id": "GooglePlayDeveloperReportingV1alpha1MetricValue", +"properties": { +"decimalValue": { +"$ref": "GoogleTypeDecimal", +"description": "Actual value, represented as a decimal number." +}, +"decimalValueConfidenceInterval": { +"$ref": "GooglePlayDeveloperReportingV1alpha1DecimalConfidenceInterval", +"description": "Confidence interval of a value that is of type `type.Decimal`." +}, +"metric": { +"description": "Name of the metric.", +"type": "string" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1MetricsRow": { +"description": "Represents a row of dimensions and metrics.", +"id": "GooglePlayDeveloperReportingV1alpha1MetricsRow", +"properties": { +"aggregationPeriod": { +"description": "Granularity of the aggregation period of the row.", +"enum": [ +"AGGREGATION_PERIOD_UNSPECIFIED", +"HOURLY", +"DAILY", +"FULL_RANGE" +], +"enumDescriptions": [ +"Unspecified granularity.", +"Data is aggregated in hourly intervals.", +"Data is aggregated in daily intervals.", +"Data is aggregated over the full timeline range. Effectively this produces a single value rather than a timeline." +], +"type": "string" +}, +"dimensions": { +"description": "Dimension columns in the row.", +"items": { +"$ref": "GooglePlayDeveloperReportingV1alpha1DimensionValue" +}, +"type": "array" +}, +"metrics": { +"description": "Metric columns in the row.", +"items": { +"$ref": "GooglePlayDeveloperReportingV1alpha1MetricValue" +}, +"type": "array" +}, +"startTime": { +"$ref": "GoogleTypeDateTime", +"description": "Starting date (and time for hourly aggregation) of the period covered by this row." +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1OsVersion": { +"description": "Representation of an OS version.", +"id": "GooglePlayDeveloperReportingV1alpha1OsVersion", +"properties": { +"apiLevel": { +"description": "Numeric version code of the OS - API level", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1QueryAnrRateMetricSetRequest": { +"description": "Request message for QueryAnrRateMetricSet.", +"id": "GooglePlayDeveloperReportingV1alpha1QueryAnrRateMetricSetRequest", +"properties": { +"dimensions": { +"description": "Dimensions to slice the metrics by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device, e.g., 26. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. The form of the identifier is 'deviceBrand/device', where deviceBrand corresponds to Build.BRAND and device corresponds to Build.DEVICE, e.g., google/coral. * `deviceBrand` (string): unique identifier of the user's device brand, e.g., google. * `deviceType` (string): the type (also known as form factor) of the user's device, e.g., PHONE. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., \"Kryo 240\". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., \"4198400\". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., \"196610\". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi.", +"items": { +"type": "string" +}, +"type": "array" +}, +"filter": { +"description": "Filters to apply to data. The filtering expression follows [AIP-160](https://google.aip.dev/160) standard and supports filtering by equality of all breakdown dimensions.", +"type": "string" +}, +"metrics": { +"description": "Metrics to aggregate. **Supported metrics:** * `anrRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that experienced at least one ANR. * `anrRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `anrRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. Not supported in HOURLY granularity. * `anrRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `anrRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. Not supported in HOURLY granularity. * `userPerceivedAnrRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that experienced at least one user-perceived ANR. User-perceived ANRs are currently those of 'Input dispatching' type. * `userPerceivedAnrRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `userPerceivedAnrRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. Not supported in HOURLY granularity. * `userPerceivedAnrRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `userPerceivedAnrRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. Not . supported in HOURLY granularity. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `anrRate` and `userPerceivedAnrRate` metrics. A user is counted in this metric if they used the app in the foreground during the aggregation period. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. The value is rounded to the nearest multiple of 10, 100, 1,000 or 1,000,000, depending on the magnitude of the value.", +"items": { +"type": "string" +}, +"type": "array" +}, +"pageSize": { +"description": "Maximum size of the returned data. If unspecified, at most 1000 rows will be returned. The maximum value is 100,000; values above 100,000 will be coerced to 100,000.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to the request must match the call that provided the page token.", +"type": "string" +}, +"timelineSpec": { +"$ref": "GooglePlayDeveloperReportingV1alpha1TimelineSpec", +"description": "Specification of the timeline aggregation parameters. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the default and only supported timezone is `America/Los_Angeles`. * HOURLY: metrics are aggregated in hourly intervals. The default and only supported timezone is `UTC`." +}, +"userCohort": { +"description": "User view to select. The output data will correspond to the selected view. **Supported values:** * `OS_PUBLIC` To select data from all publicly released Android versions. This is the default. Supports all the above dimensions. * `APP_TESTERS` To select data from users who have opted in to be testers. Supports all the above dimensions. * `OS_BETA` To select data from beta android versions only, excluding data from released android versions. Only the following dimensions are supported: * `versionCode` (int64): version of the app that was running on the user's device. * `osBuild` (string): OS build of the user's device, e.g., \"T1B2.220916.004\".", +"enum": [ +"USER_COHORT_UNSPECIFIED", +"OS_PUBLIC", +"OS_BETA", +"APP_TESTERS" +], +"enumDescriptions": [ +"Unspecified User cohort. This will automatically choose the default value.", +"This is default view. Contains data from public released android versions only.", +"This is the view with just android beta data excluding released OS version data.", +"This is the view with data only from users who have opted in to be testers for a given app, excluding OS beta data." +], +"type": "string" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1QueryAnrRateMetricSetResponse": { +"description": "Response message for QueryAnrRateMetricSet.", +"id": "GooglePlayDeveloperReportingV1alpha1QueryAnrRateMetricSetResponse", +"properties": { +"nextPageToken": { +"description": "Continuation token to fetch the next page of data.", +"type": "string" +}, +"rows": { +"description": "Returned rows of data.", +"items": { +"$ref": "GooglePlayDeveloperReportingV1alpha1MetricsRow" +}, +"type": "array" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1QueryCrashRateMetricSetRequest": { +"description": "Request message for QueryCrashRateMetricSet.", +"id": "GooglePlayDeveloperReportingV1alpha1QueryCrashRateMetricSetRequest", +"properties": { +"dimensions": { +"description": "Dimensions to slice the metrics by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device, e.g., 26. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. The form of the identifier is 'deviceBrand/device', where deviceBrand corresponds to Build.BRAND and device corresponds to Build.DEVICE, e.g., google/coral. * `deviceBrand` (string): unique identifier of the user's device brand, e.g., google. * `deviceType` (string): the type (also known as form factor) of the user's device, e.g., PHONE. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., \"Kryo 240\". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., \"4198400\". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., \"196610\". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi.", +"items": { +"type": "string" +}, +"type": "array" +}, +"filter": { +"description": "Filters to apply to data. The filtering expression follows [AIP-160](https://google.aip.dev/160) standard and supports filtering by equality of all breakdown dimensions.", +"type": "string" +}, +"metrics": { +"description": "Metrics to aggregate. **Supported metrics:** * `crashRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that experienced at least one crash. * `crashRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `crashRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `crashRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `crashRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. Not supported in HOURLY granularity. * `userPerceivedCrashRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that experienced at least one crash while they were actively using your app (a user-perceived crash). An app is considered to be in active use if it is displaying any activity or executing any foreground service. * `userPerceivedCrashRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `userPerceivedCrashRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. Not supported in HOURLY granularity. * `userPerceivedCrashRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `userPerceivedCrashRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. Not supported in HOURLY granularity. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `crashRate` and `userPerceivedCrashRate` metrics. A user is counted in this metric if they used the app actively during the aggregation period. An app is considered to be in active use if it is displaying any activity or executing any foreground service. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. The value is rounded to the nearest multiple of 10, 100, 1,000 or 1,000,000, depending on the magnitude of the value.", +"items": { +"type": "string" +}, +"type": "array" +}, +"pageSize": { +"description": "Maximum size of the returned data. If unspecified, at most 1000 rows will be returned. The maximum value is 100,000; values above 100,000 will be coerced to 100,000.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to the request must match the call that provided the page token.", +"type": "string" +}, +"timelineSpec": { +"$ref": "GooglePlayDeveloperReportingV1alpha1TimelineSpec", +"description": "Specification of the timeline aggregation parameters. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the default and only supported timezone is `America/Los_Angeles`. * HOURLY: metrics are aggregated in hourly intervals. The default and only supported timezone is `UTC`." +}, +"userCohort": { +"description": "User view to select. The output data will correspond to the selected view. **Supported values:** * `OS_PUBLIC` To select data from all publicly released Android versions. This is the default. Supports all the above dimensions. * `APP_TESTERS` To select data from users who have opted in to be testers. Supports all the above dimensions. * `OS_BETA` To select data from beta android versions only, excluding data from released android versions. Only the following dimensions are supported: * `versionCode` (int64): version of the app that was running on the user's device. * `osBuild` (string): OS build of the user's device, e.g., \"T1B2.220916.004\".", +"enum": [ +"USER_COHORT_UNSPECIFIED", +"OS_PUBLIC", +"OS_BETA", +"APP_TESTERS" +], +"enumDescriptions": [ +"Unspecified User cohort. This will automatically choose the default value.", +"This is default view. Contains data from public released android versions only.", +"This is the view with just android beta data excluding released OS version data.", +"This is the view with data only from users who have opted in to be testers for a given app, excluding OS beta data." +], +"type": "string" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1QueryCrashRateMetricSetResponse": { +"description": "Response message for QueryCrashRateMetricSet.", +"id": "GooglePlayDeveloperReportingV1alpha1QueryCrashRateMetricSetResponse", +"properties": { +"nextPageToken": { +"description": "Continuation token to fetch the next page of data.", +"type": "string" +}, +"rows": { +"description": "Returned rows of data.", +"items": { +"$ref": "GooglePlayDeveloperReportingV1alpha1MetricsRow" +}, +"type": "array" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1QueryErrorCountMetricSetRequest": { +"description": "Request message for QueryErrorCountMetricSet.", +"id": "GooglePlayDeveloperReportingV1alpha1QueryErrorCountMetricSetRequest", +"properties": { +"dimensions": { +"description": "Dimensions to slice the data by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device, e.g., 26. * `versionCode` (int64): unique identifier of the user's device model. The form of the identifier is 'deviceBrand/device', where deviceBrand corresponds to Build.BRAND and device corresponds to Build.DEVICE, e.g., google/coral. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): identifier of the device's form factor, e.g., PHONE. * `reportType` (string): the type of error. The value should correspond to one of the possible values in ErrorType. * `issueId` (string): the id an error was assigned to. The value should correspond to the `{issue}` component of the issue name. * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., \"Kryo 240\". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., \"4198400\". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., \"196610\". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi.", +"items": { +"type": "string" +}, +"type": "array" +}, +"filter": { +"description": "Filters to apply to data. The filtering expression follows [AIP-160](https://google.aip.dev/160) standard and supports filtering by equality of all breakdown dimensions and: * `isUserPerceived` (string): denotes whether error is user perceived or not, USER_PERCEIVED or NOT_USER_PERCEIVED.", +"type": "string" +}, +"metrics": { +"description": "Metrics to aggregate. **Supported metrics:** * `errorReportCount` (`google.type.Decimal`): Absolute count of individual error reports that have been received for an app. * `distinctUsers` (`google.type.Decimal`): Count of distinct users for which reports have been received. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. This value is not rounded, however it may be an approximation.", +"items": { +"type": "string" +}, +"type": "array" +}, +"pageSize": { +"description": "Maximum size of the returned data. If unspecified, at most 1000 rows will be returned. The maximum value is 100000; values above 100000 will be coerced to 100000.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to the request must match the call that provided the page token.", +"type": "string" +}, +"timelineSpec": { +"$ref": "GooglePlayDeveloperReportingV1alpha1TimelineSpec", +"description": "Specification of the timeline aggregation parameters. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. The default and only supported timezone is `America/Los_Angeles`." +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1QueryErrorCountMetricSetResponse": { +"description": "Error counts query response.", +"id": "GooglePlayDeveloperReportingV1alpha1QueryErrorCountMetricSetResponse", +"properties": { +"nextPageToken": { +"description": "Continuation token to fetch the next page of data.", +"type": "string" +}, +"rows": { +"description": "Returned rows.", +"items": { +"$ref": "GooglePlayDeveloperReportingV1alpha1MetricsRow" +}, +"type": "array" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1QueryExcessiveWakeupRateMetricSetRequest": { +"description": "Request message for QueryExcessiveWakeupRateMetricSet.", +"id": "GooglePlayDeveloperReportingV1alpha1QueryExcessiveWakeupRateMetricSetRequest", +"properties": { +"dimensions": { +"description": "Dimensions to slice the data by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device, e.g., 26. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. The form of the identifier is 'deviceBrand/device', where deviceBrand corresponds to Build.BRAND and device corresponds to Build.DEVICE, e.g., google/coral. * `deviceBrand` (string): unique identifier of the user's device brand, e.g., google. * `deviceType` (string): the type (also known as form factor) of the user's device, e.g., PHONE. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., \"Kryo 240\". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., \"4198400\". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., \"196610\". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi.", +"items": { +"type": "string" +}, +"type": "array" +}, +"filter": { +"description": "Filters to apply to data. The filtering expression follows [AIP-160](https://google.aip.dev/160) standard and supports filtering by equality of all breakdown dimensions.", +"type": "string" +}, +"metrics": { +"description": "Metrics to aggregate. **Supported metrics:** * `excessiveWakeupRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that had more than 10 wakeups per hour. * `excessiveWakeupRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `excessiveWakeupRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `excessiveWakeupRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `excessiveWakeupRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `excessiveWakeupRate` metric. A user is counted in this metric if they app was doing any work on the device, i.e., not just active foreground usage but also background work. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. The value is rounded to the nearest multiple of 10, 100, 1,000 or 1,000,000, depending on the magnitude of the value.", +"items": { +"type": "string" +}, +"type": "array" +}, +"pageSize": { +"description": "Maximum size of the returned data. If unspecified, at most 1000 rows will be returned. The maximum value is 100000; values above 100000 will be coerced to 100000.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to the request must match the call that provided the page token.", +"type": "string" +}, +"timelineSpec": { +"$ref": "GooglePlayDeveloperReportingV1alpha1TimelineSpec", +"description": "Specification of the timeline aggregation parameters. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`." +}, +"userCohort": { +"description": "User view to select. The output data will correspond to the selected view. **Supported values:** * `OS_PUBLIC` To select data from all publicly released Android versions. This is the default. Supports all the above dimensions. * `APP_TESTERS` To select data from users who have opted in to be testers. Supports all the above dimensions. * `OS_BETA` To select data from beta android versions only, excluding data from released android versions. Only the following dimensions are supported: * `versionCode` (int64): version of the app that was running on the user's device. * `osBuild` (string): OS build of the user's device, e.g., \"T1B2.220916.004\".", +"enum": [ +"USER_COHORT_UNSPECIFIED", +"OS_PUBLIC", +"OS_BETA", +"APP_TESTERS" +], +"enumDescriptions": [ +"Unspecified User cohort. This will automatically choose the default value.", +"This is default view. Contains data from public released android versions only.", +"This is the view with just android beta data excluding released OS version data.", +"This is the view with data only from users who have opted in to be testers for a given app, excluding OS beta data." +], +"type": "string" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1QueryExcessiveWakeupRateMetricSetResponse": { +"description": "Response message for QueryExcessiveWakeupRateMetricSet.", +"id": "GooglePlayDeveloperReportingV1alpha1QueryExcessiveWakeupRateMetricSetResponse", +"properties": { +"nextPageToken": { +"description": "Continuation token to fetch the next page of data.", +"type": "string" +}, +"rows": { +"description": "Returned rows of data.", +"items": { +"$ref": "GooglePlayDeveloperReportingV1alpha1MetricsRow" +}, +"type": "array" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1QuerySlowRenderingRateMetricSetRequest": { +"description": "Request message for QuerySlowRenderingRateMetricSet.", +"id": "GooglePlayDeveloperReportingV1alpha1QuerySlowRenderingRateMetricSetRequest", +"properties": { +"dimensions": { +"description": "Dimensions to slice the data by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device, e.g., 26. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. The form of the identifier is 'deviceBrand/device', where deviceBrand corresponds to Build.BRAND and device corresponds to Build.DEVICE, e.g., google/coral. * `deviceBrand` (string): unique identifier of the user's device brand, e.g., google. * `deviceType` (string): the type (also known as form factor) of the user's device, e.g., PHONE. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., \"Kryo 240\". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., \"4198400\". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., \"196610\". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi.", +"items": { +"type": "string" +}, +"type": "array" +}, +"filter": { +"description": "Filters to apply to data. The filtering expression follows [AIP-160](https://google.aip.dev/160) standard and supports filtering by equality of all breakdown dimensions.", +"type": "string" +}, +"metrics": { +"description": "Metrics to aggregate. **Supported metrics:** * `slowRenderingRate20Fps` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that had a slow rendering. * `slowRenderingRate20Fps7dUserWeighted` (`google.type.Decimal`): Rolling average value of `slowRenderingRate20Fps` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `slowRenderingRate20Fps28dUserWeighted` (`google.type.Decimal`): Rolling average value of `slowRenderingRate20Fps` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `slowRenderingRate30Fps` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that had a slow rendering. * `slowRenderingRate30Fps7dUserWeighted` (`google.type.Decimal`): Rolling average value of `slowRenderingRate30Fps` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `slowRenderingRate30Fps28dUserWeighted` (`google.type.Decimal`): Rolling average value of `slowRenderingRate30Fps` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `slowRenderingRate20Fps`/`slowRenderingRate30Fps` metric. A user is counted in this metric if their app was launched in the device. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. The value is rounded to the nearest multiple of 10, 100, 1,000 or 1,000,000, depending on the magnitude of the value.", +"items": { +"type": "string" +}, +"type": "array" +}, +"pageSize": { +"description": "Maximum size of the returned data. If unspecified, at most 1000 rows will be returned. The maximum value is 100000; values above 100000 will be coerced to 100000.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to the request must match the call that provided the page token.", +"type": "string" +}, +"timelineSpec": { +"$ref": "GooglePlayDeveloperReportingV1alpha1TimelineSpec", +"description": "Specification of the timeline aggregation parameters. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`." +}, +"userCohort": { +"description": "User view to select. The output data will correspond to the selected view. **Supported values:** * `OS_PUBLIC` To select data from all publicly released Android versions. This is the default. Supports all the above dimensions. * `APP_TESTERS` To select data from users who have opted in to be testers. Supports all the above dimensions. * `OS_BETA` To select data from beta Android versions only, excluding data from released Android versions. Only the following dimensions are supported: * `versionCode` (int64): version of the app that was running on the user's device. * `osBuild` (string): OS build of the user's device, e.g., \"T1B2.220916.004\".", +"enum": [ +"USER_COHORT_UNSPECIFIED", +"OS_PUBLIC", +"OS_BETA", +"APP_TESTERS" +], +"enumDescriptions": [ +"Unspecified User cohort. This will automatically choose the default value.", +"This is default view. Contains data from public released android versions only.", +"This is the view with just android beta data excluding released OS version data.", +"This is the view with data only from users who have opted in to be testers for a given app, excluding OS beta data." +], +"type": "string" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1QuerySlowRenderingRateMetricSetResponse": { +"description": "Response message for QuerySlowRenderingRateMetricSet.", +"id": "GooglePlayDeveloperReportingV1alpha1QuerySlowRenderingRateMetricSetResponse", +"properties": { +"nextPageToken": { +"description": "Continuation token to fetch the next page of data.", +"type": "string" +}, +"rows": { +"description": "Returned rows of data.", +"items": { +"$ref": "GooglePlayDeveloperReportingV1alpha1MetricsRow" +}, +"type": "array" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1QuerySlowStartRateMetricSetRequest": { +"description": "Request message for QuerySlowStartRateMetricSet.", +"id": "GooglePlayDeveloperReportingV1alpha1QuerySlowStartRateMetricSetRequest", +"properties": { +"dimensions": { +"description": "Dimensions to slice the data by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device, e.g., 26. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. The form of the identifier is 'deviceBrand/device', where deviceBrand corresponds to Build.BRAND and device corresponds to Build.DEVICE, e.g., google/coral. * `deviceBrand` (string): unique identifier of the user's device brand, e.g., google. * `deviceType` (string): the type (also known as form factor) of the user's device, e.g., PHONE. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., \"Kryo 240\". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., \"4198400\". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., \"196610\". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi.", +"items": { +"type": "string" +}, +"type": "array" +}, +"filter": { +"description": "Filters to apply to data. The filtering expression follows [AIP-160](https://google.aip.dev/160) standard and supports filtering by equality of all breakdown dimensions.", +"type": "string" +}, +"metrics": { +"description": "Metrics to aggregate. **Supported metrics:** * `slowStartRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that had a slow start. * `slowStartRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `slowStartRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `slowStartRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `slowStartRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `slowStartRate` metric. A user is counted in this metric if their app was launched in the device. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. The value is rounded to the nearest multiple of 10, 100, 1,000 or 1,000,000, depending on the magnitude of the value.", +"items": { +"type": "string" +}, +"type": "array" +}, +"pageSize": { +"description": "Maximum size of the returned data. If unspecified, at most 1000 rows will be returned. The maximum value is 100000; values above 100000 will be coerced to 100000.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to the request must match the call that provided the page token.", +"type": "string" +}, +"timelineSpec": { +"$ref": "GooglePlayDeveloperReportingV1alpha1TimelineSpec", +"description": "Specification of the timeline aggregation parameters. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`." +}, +"userCohort": { +"description": "User view to select. The output data will correspond to the selected view. **Supported values:** * `OS_PUBLIC` To select data from all publicly released Android versions. This is the default. Supports all the above dimensions. * `APP_TESTERS` To select data from users who have opted in to be testers. Supports all the above dimensions. * `OS_BETA` To select data from beta Android versions only, excluding data from released Android versions. Only the following dimensions are supported: * `versionCode` (int64): version of the app that was running on the user's device. * `osBuild` (string): OS build of the user's device, e.g., \"T1B2.220916.004\".", +"enum": [ +"USER_COHORT_UNSPECIFIED", +"OS_PUBLIC", +"OS_BETA", +"APP_TESTERS" +], +"enumDescriptions": [ +"Unspecified User cohort. This will automatically choose the default value.", +"This is default view. Contains data from public released android versions only.", +"This is the view with just android beta data excluding released OS version data.", +"This is the view with data only from users who have opted in to be testers for a given app, excluding OS beta data." +], +"type": "string" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1QuerySlowStartRateMetricSetResponse": { +"description": "Response message for QuerySlowStartRateMetricSet.", +"id": "GooglePlayDeveloperReportingV1alpha1QuerySlowStartRateMetricSetResponse", +"properties": { +"nextPageToken": { +"description": "Continuation token to fetch the next page of data.", +"type": "string" +}, +"rows": { +"description": "Returned rows of data.", +"items": { +"$ref": "GooglePlayDeveloperReportingV1alpha1MetricsRow" +}, +"type": "array" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1QueryStuckBackgroundWakelockRateMetricSetRequest": { +"description": "Request message for QueryStuckBackgroundWakelockRateMetricSet.", +"id": "GooglePlayDeveloperReportingV1alpha1QueryStuckBackgroundWakelockRateMetricSetRequest", +"properties": { +"dimensions": { +"description": "Dimensions to slice the data by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device, e.g., 26. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. The form of the identifier is 'deviceBrand/device', where deviceBrand corresponds to Build.BRAND and device corresponds to Build.DEVICE, e.g., google/coral. * `deviceBrand` (string): unique identifier of the user's device brand, e.g., google. * `deviceType` (string): the type (also known as form factor) of the user's device, e.g., PHONE. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., \"Kryo 240\". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., \"4198400\". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., \"196610\". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi.", +"items": { +"type": "string" +}, +"type": "array" +}, +"filter": { +"description": "Filters to apply to data. The filtering expression follows [AIP-160](https://google.aip.dev/160) standard and supports filtering by equality of all breakdown dimensions.", +"type": "string" +}, +"metrics": { +"description": "Metrics to aggregate. **Supported metrics:** * `stuckBgWakelockRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that had a wakelock held in the background for longer than 1 hour. * `stuckBgWakelockRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `stuckBgWakelockRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `stuckBgWakelockRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `stuckBgWakelockRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `stuckBgWakelockRate` metric. A user is counted in this metric if they app was doing any work on the device, i.e., not just active foreground usage but also background work. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. The value is rounded to the nearest multiple of 10, 100, 1,000 or 1,000,000, depending on the magnitude of the value.", +"items": { +"type": "string" +}, +"type": "array" +}, +"pageSize": { +"description": "Maximum size of the returned data. If unspecified, at most 1000 rows will be returned. The maximum value is 100000; values above 100000 will be coerced to 100000.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to the request must match the call that provided the page token.", +"type": "string" +}, +"timelineSpec": { +"$ref": "GooglePlayDeveloperReportingV1alpha1TimelineSpec", +"description": "Specification of the timeline aggregation parameters. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`." +}, +"userCohort": { +"description": "User view to select. The output data will correspond to the selected view. **Supported values:** * `OS_PUBLIC` To select data from all publicly released Android versions. This is the default. Supports all the above dimensions. * `APP_TESTERS` To select data from users who have opted in to be testers. Supports all the above dimensions. * `OS_BETA` To select data from beta android versions only, excluding data from released android versions. Only the following dimensions are supported: * `versionCode` (int64): version of the app that was running on the user's device. * `osBuild` (string): OS build of the user's device, e.g., \"T1B2.220916.004\".", +"enum": [ +"USER_COHORT_UNSPECIFIED", +"OS_PUBLIC", +"OS_BETA", +"APP_TESTERS" +], +"enumDescriptions": [ +"Unspecified User cohort. This will automatically choose the default value.", +"This is default view. Contains data from public released android versions only.", +"This is the view with just android beta data excluding released OS version data.", +"This is the view with data only from users who have opted in to be testers for a given app, excluding OS beta data." +], +"type": "string" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1QueryStuckBackgroundWakelockRateMetricSetResponse": { +"description": "Response message for QueryStuckBackgroundWakelockRateMetricSet.", +"id": "GooglePlayDeveloperReportingV1alpha1QueryStuckBackgroundWakelockRateMetricSetResponse", +"properties": { +"nextPageToken": { +"description": "Continuation token to fetch the next page of data.", +"type": "string" +}, +"rows": { +"description": "Returned rows of data.", +"items": { +"$ref": "GooglePlayDeveloperReportingV1alpha1MetricsRow" +}, +"type": "array" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1Release": { +"description": "A representation of an app release.", +"id": "GooglePlayDeveloperReportingV1alpha1Release", +"properties": { +"displayName": { +"description": "Readable identifier of the release.", +"type": "string" +}, +"versionCodes": { +"description": "The version codes contained in this release.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1ReleaseFilterOptions": { +"description": "A set of filtering options for releases and version codes specific to an app.", +"id": "GooglePlayDeveloperReportingV1alpha1ReleaseFilterOptions", +"properties": { +"tracks": { +"description": "List of tracks to filter releases over. Provides the grouping of version codes under releases and tracks.", +"items": { +"$ref": "GooglePlayDeveloperReportingV1alpha1Track" +}, +"type": "array" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1SearchAccessibleAppsResponse": { +"description": "Response message for SearchAccessibleApps.", +"id": "GooglePlayDeveloperReportingV1alpha1SearchAccessibleAppsResponse", +"properties": { +"apps": { +"description": "The apps accessible to the user calling the endpoint.", +"items": { +"$ref": "GooglePlayDeveloperReportingV1alpha1App" +}, +"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" +}, +"GooglePlayDeveloperReportingV1alpha1SearchErrorIssuesResponse": { +"description": "Response with a paginated list of issues that matched the request.", +"id": "GooglePlayDeveloperReportingV1alpha1SearchErrorIssuesResponse", +"properties": { +"errorIssues": { +"description": "ErrorIssues that were found.", +"items": { +"$ref": "GooglePlayDeveloperReportingV1alpha1ErrorIssue" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Continuation token to fetch the next page of data.", +"type": "string" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1SearchErrorReportsResponse": { +"description": "Response with a paginated list of error reports matching the search query.", +"id": "GooglePlayDeveloperReportingV1alpha1SearchErrorReportsResponse", +"properties": { +"errorReports": { +"description": "Error reports that were found.", +"items": { +"$ref": "GooglePlayDeveloperReportingV1alpha1ErrorReport" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Page token to fetch the next page of reports.", +"type": "string" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1SlowRenderingRateMetricSet": { +"description": "Singleton resource representing the set of Slow Rendering metrics. This metric set contains low-level rendering data captured by SurafeFlinger. Sessions are evaluated based on the present-to-present histogram of frames handled by any SurfaceFlinger layer owned by the app. A slow session is a session where more than 25% of frames for the session did not meet the metric's target frame rate (either 20fps, or 30fps). *NOTE:* This metric set is only available for games. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `slowRenderingRate20Fps` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that had slow rendering. * `slowRenderingRate20Fps7dUserWeighted` (`google.type.Decimal`): Rolling average value of `slowRenderingRate20Fps` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `slowRenderingRate20Fps28dUserWeighted` (`google.type.Decimal`): Rolling average value of `slowRenderingRate20Fps` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `slowRenderingRate30Fps` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that had slow rendering. * `slowRenderingRate30Fps7dUserWeighted` (`google.type.Decimal`): Rolling average value of `slowRenderingRate30Fps` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `slowRenderingRate30Fps28dUserWeighted` (`google.type.Decimal`): Rolling average value of `slowRenderingRate30Fps` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `slowRenderingRate20Fps`/`slowRenderingRate30Fps` metric. A user is counted in this metric if their app rendered any frames. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. The value is rounded to the nearest multiple of 10, 100, 1,000 or 1,000,000, depending on the magnitude of the value. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device, e.g., 26. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. The form of the identifier is 'deviceBrand/device', where deviceBrand corresponds to Build.BRAND and device corresponds to Build.DEVICE, e.g., google/coral. * `deviceBrand` (string): unique identifier of the user's device brand, e.g., google. * `deviceType` (string): the type (also known as form factor) of the user's device, e.g., PHONE. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., \"Kryo 240\". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., \"4198400\". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., \"196610\". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app.", +"id": "GooglePlayDeveloperReportingV1alpha1SlowRenderingRateMetricSet", +"properties": { +"freshnessInfo": { +"$ref": "GooglePlayDeveloperReportingV1alpha1FreshnessInfo", +"description": "Summary about data freshness in this resource." +}, +"name": { +"description": "Identifier. The resource name. Format: apps/{app}/slowRenderingRateMetricSet", +"type": "string" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1SlowStartRateMetricSet": { +"description": "Singleton resource representing the set of Slow Start metrics. This metric set contains Activity start duration data. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `slowStartRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that had a slow start. * `slowStartRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `slowStartRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `slowStartRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `slowStartRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `slowStartRate` metric. A user is counted in this metric if their app was launched in the device. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. The value is rounded to the nearest multiple of 10, 100, 1,000 or 1,000,000, depending on the magnitude of the value. **Required dimension:** This dimension must be specified with each request for the request to be valid. * `startType` (string): the type of start that was measured. Valid types are `HOT`, `WARM` and `COLD`. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device, e.g., 26. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. The form of the identifier is 'deviceBrand/device', where deviceBrand corresponds to Build.BRAND and device corresponds to Build.DEVICE, e.g., google/coral. * `deviceBrand` (string): unique identifier of the user's device brand, e.g., google. * `deviceType` (string): the type (also known as form factor) of the user's device, e.g., PHONE. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., \"Kryo 240\". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., \"4198400\". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., \"196610\". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app.", +"id": "GooglePlayDeveloperReportingV1alpha1SlowStartRateMetricSet", +"properties": { +"freshnessInfo": { +"$ref": "GooglePlayDeveloperReportingV1alpha1FreshnessInfo", +"description": "Summary about data freshness in this resource." +}, +"name": { +"description": "Identifier. The resource name. Format: apps/{app}/slowStartRateMetricSet", +"type": "string" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1StuckBackgroundWakelockRateMetricSet": { +"description": "Singleton resource representing the set of Stuck Background Wakelocks metrics. This metric set contains PowerManager wakelock duration data combined with process state data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `stuckBgWakelockRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that had a wakelock held in the background for longer than 1 hour. * `stuckBgWakelockRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `stuckBgWakelockRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `stuckBgWakelockRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `stuckBgWakelockRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `stuckBgWakelockRate` metric. A user is counted in this metric if their app was doing any work on the device, i.e., not just active foreground usage but also background work. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. The value is rounded to the nearest multiple of 10, 100, 1,000 or 1,000,000, depending on the magnitude of the value. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device, e.g., 26. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. The form of the identifier is 'deviceBrand/device', where deviceBrand corresponds to Build.BRAND and device corresponds to Build.DEVICE, e.g., google/coral. * `deviceBrand` (string): unique identifier of the user's device brand, e.g., google. * `deviceType` (string): the type (also known as form factor) of the user's device, e.g., PHONE. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., \"Kryo 240\". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., \"4198400\". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., \"196610\". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app.", +"id": "GooglePlayDeveloperReportingV1alpha1StuckBackgroundWakelockRateMetricSet", +"properties": { +"freshnessInfo": { +"$ref": "GooglePlayDeveloperReportingV1alpha1FreshnessInfo", +"description": "Summary about data freshness in this resource." +}, +"name": { +"description": "Identifier. The resource name. Format: apps/{app}/stuckBackgroundWakelockRateMetricSet", +"type": "string" +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1TimelineSpec": { +"description": "Specification of the time-related aggregation parameters of a timeline. Timelines have an aggregation period (`DAILY`, `HOURLY`, etc) which defines how events are aggregated in metrics. The points in a timeline are defined by the starting DateTime of the aggregation period. The duration is implicit in the AggregationPeriod. Hourly aggregation periods, when supported by a metric set, are always specified in UTC to avoid ambiguities around daylight saving time transitions, where an hour is skipped when adopting DST, and repeated when abandoning DST. For example, the timestamp '2021-11-07 01:00:00 America/Los_Angeles' is ambiguous since it can correspond to '2021-11-07 08:00:00 UTC' or '2021-11-07 09:00:00 UTC'. Daily aggregation periods require specifying a timezone which will determine the precise instants of the start and the end of the day. Not all metric sets support all timezones, so make sure to check which timezones are supported by the metric set you want to query.", +"id": "GooglePlayDeveloperReportingV1alpha1TimelineSpec", +"properties": { +"aggregationPeriod": { +"description": "Type of the aggregation period of the datapoints in the timeline. Intervals are identified by the date and time at the start of the interval.", +"enum": [ +"AGGREGATION_PERIOD_UNSPECIFIED", +"HOURLY", +"DAILY", +"FULL_RANGE" +], +"enumDescriptions": [ +"Unspecified granularity.", +"Data is aggregated in hourly intervals.", +"Data is aggregated in daily intervals.", +"Data is aggregated over the full timeline range. Effectively this produces a single value rather than a timeline." +], +"type": "string" +}, +"endTime": { +"$ref": "GoogleTypeDateTime", +"description": "Ending datapoint of the timeline (exclusive). See start_time for restrictions. The timezone of the end point must match the timezone of the start point." +}, +"startTime": { +"$ref": "GoogleTypeDateTime", +"description": "Starting datapoint of the timeline (inclusive). Must be aligned to the aggregation period as follows: * HOURLY: the 'minutes', 'seconds' and 'nanos' fields must be unset. The time_zone can be left unset (defaults to UTC) or set explicitly to \"UTC\". Setting any other utc_offset or timezone id will result in a validation error. * DAILY: the 'hours', 'minutes', 'seconds' and 'nanos' fields must be unset. Different metric sets support different timezones. It can be left unset to use the default timezone specified by the metric set. The timezone of the end point must match the timezone of the start point." +} +}, +"type": "object" +}, +"GooglePlayDeveloperReportingV1alpha1Track": { +"description": "A representation of a Play release track.", +"id": "GooglePlayDeveloperReportingV1alpha1Track", +"properties": { +"displayName": { +"description": "Readable identifier of the track.", +"type": "string" +}, +"servingReleases": { +"description": "Represents all active releases in the track.", +"items": { +"$ref": "GooglePlayDeveloperReportingV1alpha1Release" +}, +"type": "array" +}, +"type": { +"description": "The type of the track.", +"type": "string" +} +}, +"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" +}, +"GoogleTypeDecimal": { +"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": "GoogleTypeDecimal", +"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" +}, +"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": "Google Play Developer Reporting 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/playintegrity.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/playintegrity.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..e383bfa761b44329280d17f834d45ff5e4249554 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/playintegrity.v1.json @@ -0,0 +1,650 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/playintegrity": { +"description": "Private Service: https://www.googleapis.com/auth/playintegrity" +} +} +} +}, +"basePath": "", +"baseUrl": "https://playintegrity.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Play Integrity", +"description": "The Play Integrity API helps you check that you're interacting with your genuine app on a genuine Android device powered by Google Play services. The Play Integrity API has replaced SafetyNet Attestation and Android Device Verification.", +"discoveryVersion": "v1", +"documentationLink": "https://developer.android.com/google/play/integrity", +"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": "playintegrity:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://playintegrity.mtls.googleapis.com/", +"name": "playintegrity", +"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": { +"deviceRecall": { +"methods": { +"write": { +"description": "Writes recall bits for the device where Play Integrity API token is obtained. The endpoint is available to select Play partners in an early access program (EAP).", +"flatPath": "v1/{v1Id}/deviceRecall:write", +"httpMethod": "POST", +"id": "playintegrity.deviceRecall.write", +"parameterOrder": [ +"packageName" +], +"parameters": { +"packageName": { +"description": "Required. Package name of the app the attached integrity token belongs to.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+packageName}/deviceRecall:write", +"request": { +"$ref": "WriteDeviceRecallRequest" +}, +"response": { +"$ref": "WriteDeviceRecallResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/playintegrity" +] +} +} +}, +"v1": { +"methods": { +"decodeIntegrityToken": { +"description": "Decodes the integrity token and returns the token payload.", +"flatPath": "v1/{v1Id}:decodeIntegrityToken", +"httpMethod": "POST", +"id": "playintegrity.decodeIntegrityToken", +"parameterOrder": [ +"packageName" +], +"parameters": { +"packageName": { +"description": " Package name of the app the attached integrity token belongs to.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+packageName}:decodeIntegrityToken", +"request": { +"$ref": "DecodeIntegrityTokenRequest" +}, +"response": { +"$ref": "DecodeIntegrityTokenResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/playintegrity" +] +} +} +} +}, +"revision": "20241127", +"rootUrl": "https://playintegrity.googleapis.com/", +"schemas": { +"AccountActivity": { +"description": "(Restricted Access) Contains a signal helping apps differentiating between likely genuine and likely non-genuine user traffic.", +"id": "AccountActivity", +"properties": { +"activityLevel": { +"description": "Required. Indicates the activity level of the account.", +"enum": [ +"ACTIVITY_LEVEL_UNSPECIFIED", +"UNEVALUATED", +"UNUSUAL", +"UNKNOWN", +"TYPICAL_BASIC", +"TYPICAL_STRONG" +], +"enumDescriptions": [ +"Activity level has not been set.", +"Account activity level is not evaluated.", +"Unusual activity for at least one of the user accounts on the device.", +"Insufficient activity to verify the user account on the device.", +"Typical activity for the user account or accounts on the device.", +"Typical for the user account or accounts on the device, with harder to replicate signals." +], +"type": "string" +} +}, +"type": "object" +}, +"AccountDetails": { +"description": "Contains the account information such as the licensing status for the user in the scope.", +"id": "AccountDetails", +"properties": { +"accountActivity": { +"$ref": "AccountActivity", +"description": "(Restricted Access) Details about the account activity for the user in the scope." +}, +"appLicensingVerdict": { +"description": "Required. Details about the licensing status of the user for the app in the scope.", +"enum": [ +"UNKNOWN", +"LICENSED", +"UNLICENSED", +"UNEVALUATED" +], +"enumDescriptions": [ +"Play does not have sufficient information to evaluate licensing details", +"The app and certificate match the versions distributed by Play.", +"The certificate or package name does not match Google Play records.", +"Licensing details were not evaluated since a necessary requirement was missed. For example DeviceIntegrity did not meet the minimum bar or the application was not a known Play version." +], +"type": "string" +} +}, +"type": "object" +}, +"AppAccessRiskVerdict": { +"description": "Contains signals about others apps on the device which could be used to access or control the requesting app.", +"id": "AppAccessRiskVerdict", +"properties": { +"appsDetected": { +"description": "List of detected app types signalled for App Access Risk.", +"items": { +"enum": [ +"APPS_DETECTED_UNSPECIFIED", +"KNOWN_INSTALLED", +"KNOWN_CAPTURING", +"KNOWN_OVERLAYS", +"KNOWN_CONTROLLING", +"UNKNOWN_INSTALLED", +"UNKNOWN_CAPTURING", +"UNKNOWN_OVERLAYS", +"UNKNOWN_CONTROLLING" +], +"enumDescriptions": [ +"Apps detected is unspecified.", +"One or more apps is installed by Google Play or preloaded on the system partition by the device manufacturer.", +"One or more apps installed by Google Play or preloaded on the device is running that could be used to read or capture the requesting app, such as a screen recording app.", +"One or more apps installed by Google Play or preloaded on the device is running that could be used to display overlays over the requesting app.", +"One or more apps installed by Google Play or preloaded on the device is running that could be used to control the device, such as a remote support app.", +"One or more unknown apps is installed, that were not installed by Google Play or preloaded on the system partition by the device manufacturer.", +"One or more unknown apps, which were not installed by Google Play or preloaded on the device, is running that could be used to read or capture the requesting app, such as a screen recording app.", +"One or more unknown apps, which were not installed by Google Play or preloaded on the device, is running that could be used to display overlays over the requesting app.", +"One or more unknown apps, which were not installed by Google Play or preloaded on the device, is running that could be used to control the device, such as a remote support app." +], +"type": "string" +}, +"type": "array" +}, +"otherApps": { +"deprecated": true, +"description": "Deprecated: this field will be removed, please use apps_detected instead. App access risk verdict related to apps that are not installed by Google Play, and are not preloaded on the system image by the device manufacturer.", +"enum": [ +"UNKNOWN", +"UNEVALUATED", +"NOT_INSTALLED", +"INSTALLED", +"CAPTURING", +"CONTROLLING" +], +"enumDescriptions": [ +"Risk type is unknown.", +"App access risk was not evaluated because a requirement was missed, such as the device not being trusted enough.", +"No apps under this field are installed on the device. This is only valid for the other apps field.", +"One or more apps under this field are installed on the device.", +"Apps under this field are running that could be used to read or capture inputs and outputs of the requesting app, such as screen recording apps.", +"Apps under this field are running that could be used to control the device and inputs and outputs of the requesting app, such as remote controlling apps." +], +"type": "string" +}, +"playOrSystemApps": { +"deprecated": true, +"description": "Deprecated: this field will be removed, please use apps_detected instead. App access risk verdict related to apps that are not installed by the Google Play Store, and are not preloaded on the system image by the device manufacturer.", +"enum": [ +"UNKNOWN", +"UNEVALUATED", +"NOT_INSTALLED", +"INSTALLED", +"CAPTURING", +"CONTROLLING" +], +"enumDescriptions": [ +"Risk type is unknown.", +"App access risk was not evaluated because a requirement was missed, such as the device not being trusted enough.", +"No apps under this field are installed on the device. This is only valid for the other apps field.", +"One or more apps under this field are installed on the device.", +"Apps under this field are running that could be used to read or capture inputs and outputs of the requesting app, such as screen recording apps.", +"Apps under this field are running that could be used to control the device and inputs and outputs of the requesting app, such as remote controlling apps." +], +"type": "string" +} +}, +"type": "object" +}, +"AppIntegrity": { +"description": "Contains the application integrity information.", +"id": "AppIntegrity", +"properties": { +"appRecognitionVerdict": { +"description": "Required. Details about the app recognition verdict", +"enum": [ +"UNKNOWN", +"PLAY_RECOGNIZED", +"UNRECOGNIZED_VERSION", +"UNEVALUATED" +], +"enumDescriptions": [ +"Play does not have sufficient information to evaluate app integrity", +"The app and certificate match the versions distributed by Play.", +"The certificate or package name does not match Google Play records.", +"Application integrity was not evaluated since a necessary requirement was missed. For example DeviceIntegrity did not meet the minimum bar." +], +"type": "string" +}, +"certificateSha256Digest": { +"description": "The SHA256 hash of the requesting app's signing certificates (base64 web-safe encoded). Set iff app_recognition_verdict != UNEVALUATED.", +"items": { +"type": "string" +}, +"type": "array" +}, +"packageName": { +"description": "Package name of the application under attestation. Set iff app_recognition_verdict != UNEVALUATED.", +"type": "string" +}, +"versionCode": { +"description": "Version code of the application. Set iff app_recognition_verdict != UNEVALUATED.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"DecodeIntegrityTokenRequest": { +"description": "Request to decode the integrity token.", +"id": "DecodeIntegrityTokenRequest", +"properties": { +"integrityToken": { +"description": "Encoded integrity token.", +"type": "string" +} +}, +"type": "object" +}, +"DecodeIntegrityTokenResponse": { +"description": "Response containing the decoded integrity payload.", +"id": "DecodeIntegrityTokenResponse", +"properties": { +"tokenPayloadExternal": { +"$ref": "TokenPayloadExternal", +"description": "Plain token payload generated from the decoded integrity token." +} +}, +"type": "object" +}, +"DeviceAttributes": { +"description": "Contains information about the device for which the integrity token was generated, e.g. Android SDK version.", +"id": "DeviceAttributes", +"properties": { +"sdkVersion": { +"description": "Android SDK version of the device, as defined in the public Android documentation: https://developer.android.com/reference/android/os/Build.VERSION_CODES. It won't be set if a necessary requirement was missed. For example DeviceIntegrity did not meet the minimum bar.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"DeviceIntegrity": { +"description": "Contains the device attestation information.", +"id": "DeviceIntegrity", +"properties": { +"deviceAttributes": { +"$ref": "DeviceAttributes", +"description": "Attributes of the device where the integrity token was generated." +}, +"deviceRecall": { +"$ref": "DeviceRecall", +"description": "Details about the device recall bits set by the developer." +}, +"deviceRecognitionVerdict": { +"description": "Details about the integrity of the device the app is running on.", +"items": { +"enum": [ +"UNKNOWN", +"MEETS_BASIC_INTEGRITY", +"MEETS_DEVICE_INTEGRITY", +"MEETS_STRONG_INTEGRITY", +"MEETS_VIRTUAL_INTEGRITY" +], +"enumDescriptions": [ +"Play does not have sufficient information to evaluate device integrity", +"App is running on a device that passes basic system integrity checks, but may not meet Android platform compatibility requirements and may not be approved to run Google Play services.", +"App is running on GMS Android device with Google Play services.", +"App is running on GMS Android device with Google Play services and has a strong guarantee of system integrity such as a hardware-backed keystore.", +"App is running on an Android emulator with Google Play services which meets core Android compatibility requirements." +], +"type": "string" +}, +"type": "array" +}, +"legacyDeviceRecognitionVerdict": { +"description": "Contains legacy details about the integrity of the device the app is running on. Only for devices with Android version T or higher and only for apps opted in to the new verdicts. Only available during the transition period to the new verdicts system and will be removed afterwards.", +"items": { +"enum": [ +"UNKNOWN", +"MEETS_BASIC_INTEGRITY", +"MEETS_DEVICE_INTEGRITY", +"MEETS_STRONG_INTEGRITY", +"MEETS_VIRTUAL_INTEGRITY" +], +"enumDescriptions": [ +"Play does not have sufficient information to evaluate device integrity", +"App is running on a device that passes basic system integrity checks, but may not meet Android platform compatibility requirements and may not be approved to run Google Play services.", +"App is running on GMS Android device with Google Play services.", +"App is running on GMS Android device with Google Play services and has a strong guarantee of system integrity such as a hardware-backed keystore.", +"App is running on an Android emulator with Google Play services which meets core Android compatibility requirements." +], +"type": "string" +}, +"type": "array" +}, +"recentDeviceActivity": { +"$ref": "RecentDeviceActivity", +"description": "Details about the device activity of the device the app is running on." +} +}, +"type": "object" +}, +"DeviceRecall": { +"description": "Contains the recall bits per device set by the developer.", +"id": "DeviceRecall", +"properties": { +"values": { +"$ref": "Values", +"description": "Required. Contains the recall bits values." +}, +"writeDates": { +"$ref": "WriteDates", +"description": "Required. Contains the recall bits write dates." +} +}, +"type": "object" +}, +"EnvironmentDetails": { +"description": "Contains information about the environment Play Integrity API runs in, e.g. Play Protect verdict.", +"id": "EnvironmentDetails", +"properties": { +"appAccessRiskVerdict": { +"$ref": "AppAccessRiskVerdict", +"description": "The evaluation of the App Access Risk verdicts." +}, +"playProtectVerdict": { +"description": "The evaluation of Play Protect verdict.", +"enum": [ +"PLAY_PROTECT_VERDICT_UNSPECIFIED", +"UNEVALUATED", +"NO_ISSUES", +"NO_DATA", +"MEDIUM_RISK", +"HIGH_RISK", +"POSSIBLE_RISK" +], +"enumDescriptions": [ +"Play Protect verdict has not been set.", +"Play Protect state was not evaluated. Device may not be trusted.", +"Play Protect is on and no issues found.", +"Play Protect is on but no scan has been performed yet. The device or Play Store app may have been reset.", +"Play Protect is on and warnings found.", +"Play Protect is on and high severity issues found.", +"Play Protect is turned off. Turn on Play Protect." +], +"type": "string" +} +}, +"type": "object" +}, +"RecentDeviceActivity": { +"description": "Recent device activity can help developers identify devices that have exhibited hyperactive attestation activity, which could be a sign of an attack or token farming.", +"id": "RecentDeviceActivity", +"properties": { +"deviceActivityLevel": { +"description": "Required. Indicates the activity level of the device.", +"enum": [ +"DEVICE_ACTIVITY_LEVEL_UNSPECIFIED", +"UNEVALUATED", +"LEVEL_1", +"LEVEL_2", +"LEVEL_3", +"LEVEL_4" +], +"enumDescriptions": [ +"Device activity level has not been set.", +"Device activity level has not been evaluated.", +"Indicates the amount of used tokens. See the documentation for details.", +"Indicates the amount of used tokens. See the documentation for details.", +"Indicates the amount of used tokens. See the documentation for details.", +"Indicates the amount of used tokens. See the documentation for details." +], +"type": "string" +} +}, +"type": "object" +}, +"RequestDetails": { +"description": "Contains the integrity request information.", +"id": "RequestDetails", +"properties": { +"nonce": { +"description": "Nonce that was provided in the request (which is base64 web-safe no-wrap).", +"type": "string" +}, +"requestHash": { +"description": "Request hash that was provided in the request.", +"type": "string" +}, +"requestPackageName": { +"description": "Required. Application package name this attestation was requested for. Note: This field makes no guarantees or promises on the caller integrity. For details on application integrity, check application_integrity.", +"type": "string" +}, +"timestampMillis": { +"description": "Required. Timestamp, in milliseconds, of the integrity application request.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"TestingDetails": { +"description": "Contains additional information generated for testing responses.", +"id": "TestingDetails", +"properties": { +"isTestingResponse": { +"description": "Required. Indicates that the information contained in this payload is a testing response that is statically overridden for a tester.", +"type": "boolean" +} +}, +"type": "object" +}, +"TokenPayloadExternal": { +"description": "Contains basic app information and integrity signals like device attestation and licensing details.", +"id": "TokenPayloadExternal", +"properties": { +"accountDetails": { +"$ref": "AccountDetails", +"description": "Required. Details about the Play Store account." +}, +"appIntegrity": { +"$ref": "AppIntegrity", +"description": "Required. Details about the application integrity." +}, +"deviceIntegrity": { +"$ref": "DeviceIntegrity", +"description": "Required. Details about the device integrity." +}, +"environmentDetails": { +"$ref": "EnvironmentDetails", +"description": "Details of the environment Play Integrity API runs in." +}, +"requestDetails": { +"$ref": "RequestDetails", +"description": "Required. Details about the integrity request." +}, +"testingDetails": { +"$ref": "TestingDetails", +"description": "Indicates that this payload is generated for testing purposes and contains any additional data that is linked with testing status." +} +}, +"type": "object" +}, +"Values": { +"description": "Contains the recall bits values.", +"id": "Values", +"properties": { +"bitFirst": { +"description": "Required. First recall bit value.", +"type": "boolean" +}, +"bitSecond": { +"description": "Required. Second recall bit value.", +"type": "boolean" +}, +"bitThird": { +"description": "Required. Third recall bit value.", +"type": "boolean" +} +}, +"type": "object" +}, +"WriteDates": { +"description": "Contains the recall bits write dates.", +"id": "WriteDates", +"properties": { +"yyyymmFirst": { +"description": "Optional. Write time in YYYYMM format (in UTC, e.g. 202402) for the first bit. Note that this value won't be set if the first bit is false.", +"format": "int32", +"type": "integer" +}, +"yyyymmSecond": { +"description": "Optional. Write time in YYYYMM format (in UTC, e.g. 202402) for the second bit. Note that this value won't be set if the second bit is false.", +"format": "int32", +"type": "integer" +}, +"yyyymmThird": { +"description": "Optional. Write time in YYYYMM format (in UTC, e.g. 202402) for the third bit. Note that this value won't be set if the third bit is false.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"WriteDeviceRecallRequest": { +"description": "Request to write device recall bits.", +"id": "WriteDeviceRecallRequest", +"properties": { +"integrityToken": { +"description": "Required. Integrity token obtained from calling Play Integrity API.", +"type": "string" +}, +"newValues": { +"$ref": "Values", +"description": "Required. The new values for the device recall bits to be written." +} +}, +"type": "object" +}, +"WriteDeviceRecallResponse": { +"description": "Response for the Write Device Recall action. Currently empty.", +"id": "WriteDeviceRecallResponse", +"properties": {}, +"type": "object" +} +}, +"servicePath": "", +"title": "Google Play Integrity 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/policyanalyzer.v1beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/policyanalyzer.v1beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..4872c66c22e860c05556329e383ff3bb917cf6b2 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/policyanalyzer.v1beta1.json @@ -0,0 +1,350 @@ +{ +"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://policyanalyzer.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Policy Analyzer", +"description": "", +"discoveryVersion": "v1", +"documentationLink": "https://www.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": "policyanalyzer:v1beta1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://policyanalyzer.mtls.googleapis.com/", +"name": "policyanalyzer", +"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": { +"activityTypes": { +"resources": { +"activities": { +"methods": { +"query": { +"description": "Queries policy activities on GCP resources.", +"flatPath": "v1beta1/folders/{foldersId}/locations/{locationsId}/activityTypes/{activityTypesId}/activities:query", +"httpMethod": "GET", +"id": "policyanalyzer.folders.locations.activityTypes.activities.query", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Optional filter expression to restrict the activities returned. Supported filters are: - service_account_last_authn.full_resource_name {=} - service_account_key_last_authn.full_resource_name {=} ", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Max limit is 1000. 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 container resource on which to execute the request. Acceptable formats: `projects/[PROJECT_ID|PROJECT_NUMBER]/locations/[LOCATION]/activityTypes/[ACTIVITY_TYPE]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/activityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/activities:query", +"response": { +"$ref": "GoogleCloudPolicyanalyzerV1beta1QueryActivityResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +}, +"organizations": { +"resources": { +"locations": { +"resources": { +"activityTypes": { +"resources": { +"activities": { +"methods": { +"query": { +"description": "Queries policy activities on GCP resources.", +"flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/activityTypes/{activityTypesId}/activities:query", +"httpMethod": "GET", +"id": "policyanalyzer.organizations.locations.activityTypes.activities.query", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Optional filter expression to restrict the activities returned. Supported filters are: - service_account_last_authn.full_resource_name {=} - service_account_key_last_authn.full_resource_name {=} ", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Max limit is 1000. 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 container resource on which to execute the request. Acceptable formats: `projects/[PROJECT_ID|PROJECT_NUMBER]/locations/[LOCATION]/activityTypes/[ACTIVITY_TYPE]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/activityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/activities:query", +"response": { +"$ref": "GoogleCloudPolicyanalyzerV1beta1QueryActivityResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +}, +"projects": { +"resources": { +"locations": { +"resources": { +"activityTypes": { +"resources": { +"activities": { +"methods": { +"query": { +"description": "Queries policy activities on GCP resources.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/activityTypes/{activityTypesId}/activities:query", +"httpMethod": "GET", +"id": "policyanalyzer.projects.locations.activityTypes.activities.query", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Optional filter expression to restrict the activities returned. Supported filters are: - service_account_last_authn.full_resource_name {=} - service_account_key_last_authn.full_resource_name {=} ", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Max limit is 1000. 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 container resource on which to execute the request. Acceptable formats: `projects/[PROJECT_ID|PROJECT_NUMBER]/locations/[LOCATION]/activityTypes/[ACTIVITY_TYPE]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/activityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/activities:query", +"response": { +"$ref": "GoogleCloudPolicyanalyzerV1beta1QueryActivityResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +} +}, +"revision": "20240707", +"rootUrl": "https://policyanalyzer.googleapis.com/", +"schemas": { +"GoogleCloudPolicyanalyzerV1beta1Activity": { +"description": "Represents Activity on a GCP resource over specific observation period.", +"id": "GoogleCloudPolicyanalyzerV1beta1Activity", +"properties": { +"activity": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "A struct of custom fields to explain the activity.", +"type": "object" +}, +"activityType": { +"description": "The type of the activity.", +"type": "string" +}, +"fullResourceName": { +"description": "The full resource name that identifies the resource. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names.", +"type": "string" +}, +"observationPeriod": { +"$ref": "GoogleCloudPolicyanalyzerV1beta1ObservationPeriod", +"description": "The data observation period to build the activity." +} +}, +"type": "object" +}, +"GoogleCloudPolicyanalyzerV1beta1ObservationPeriod": { +"description": "Represents data observation period.", +"id": "GoogleCloudPolicyanalyzerV1beta1ObservationPeriod", +"properties": { +"endTime": { +"description": "The observation end time.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "The observation start time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudPolicyanalyzerV1beta1QueryActivityResponse": { +"description": "Response to the `QueryActivity` method.", +"id": "GoogleCloudPolicyanalyzerV1beta1QueryActivityResponse", +"properties": { +"activities": { +"description": "The set of activities that match the filter included in the request.", +"items": { +"$ref": "GoogleCloudPolicyanalyzerV1beta1Activity" +}, +"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" +} +}, +"servicePath": "", +"title": "Policy Analyzer 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/privateca.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/privateca.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..7f88ba15220da1d51811881acd773063166e9907 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/privateca.v1.json @@ -0,0 +1,3537 @@ +{ +"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://privateca.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Certificate Authority Service", +"description": "The Certificate Authority Service API is a highly-available, scalable service that enables you to simplify and automate the management of private certificate authorities (CAs) while staying in control of your private keys. ", +"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": "privateca:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://privateca.mtls.googleapis.com/", +"name": "privateca", +"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": "privateca.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": "privateca.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": { +"caPools": { +"methods": { +"create": { +"description": "Create a CaPool.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/caPools", +"httpMethod": "POST", +"id": "privateca.projects.locations.caPools.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"caPoolId": { +"description": "Required. It must be unique within a location and match the regular expression `[a-zA-Z0-9_-]{1,63}`", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the location associated with the CaPool, in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An 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}/caPools", +"request": { +"$ref": "CaPool" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Delete a CaPool.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/caPools/{caPoolsId}", +"httpMethod": "DELETE", +"id": "privateca.projects.locations.caPools.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"ignoreDependentResources": { +"description": "Optional. This field allows this pool to be deleted even if it's being depended on by another resource. However, doing so may result in unintended and unrecoverable effects on any dependent resources since the pool will no longer be able to issue certificates.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The resource name for this CaPool in the format `projects/*/locations/*/caPools/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/caPools/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An 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/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"fetchCaCerts": { +"description": "FetchCaCerts returns the current trust anchor for the CaPool. This will include CA certificate chains for all certificate authorities in the ENABLED, DISABLED, or STAGED states.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/caPools/{caPoolsId}:fetchCaCerts", +"httpMethod": "POST", +"id": "privateca.projects.locations.caPools.fetchCaCerts", +"parameterOrder": [ +"caPool" +], +"parameters": { +"caPool": { +"description": "Required. The resource name for the CaPool in the format `projects/*/locations/*/caPools/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/caPools/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+caPool}:fetchCaCerts", +"request": { +"$ref": "FetchCaCertsRequest" +}, +"response": { +"$ref": "FetchCaCertsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns a CaPool.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/caPools/{caPoolsId}", +"httpMethod": "GET", +"id": "privateca.projects.locations.caPools.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the CaPool to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/caPools/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "CaPool" +}, +"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}/caPools/{caPoolsId}:getIamPolicy", +"httpMethod": "GET", +"id": "privateca.projects.locations.caPools.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/[^/]+/caPools/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists CaPools.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/caPools", +"httpMethod": "GET", +"id": "privateca.projects.locations.caPools.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Only include resources that match the filter in the response.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Specify how the results should be sorted.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Limit on the number of CaPools to include in the response. Further CaPools can subsequently be obtained by including the ListCaPoolsResponse.next_page_token in a subsequent request. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Pagination token, returned earlier via ListCaPoolsResponse.next_page_token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the location associated with the CaPools, in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/caPools", +"response": { +"$ref": "ListCaPoolsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Update a CaPool.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/caPools/{caPoolsId}", +"httpMethod": "PATCH", +"id": "privateca.projects.locations.caPools.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name for this CaPool in the format `projects/*/locations/*/caPools/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/caPools/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An 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. A list of fields to be updated in this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "CaPool" +}, +"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}/caPools/{caPoolsId}:setIamPolicy", +"httpMethod": "POST", +"id": "privateca.projects.locations.caPools.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/[^/]+/caPools/[^/]+$", +"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}/caPools/{caPoolsId}:testIamPermissions", +"httpMethod": "POST", +"id": "privateca.projects.locations.caPools.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/[^/]+/caPools/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"certificateAuthorities": { +"methods": { +"activate": { +"description": "Activate a CertificateAuthority that is in state AWAITING_USER_ACTIVATION and is of type SUBORDINATE. After the parent Certificate Authority signs a certificate signing request from FetchCertificateAuthorityCsr, this method can complete the activation process.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/caPools/{caPoolsId}/certificateAuthorities/{certificateAuthoritiesId}:activate", +"httpMethod": "POST", +"id": "privateca.projects.locations.caPools.certificateAuthorities.activate", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name for this CertificateAuthority in the format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/caPools/[^/]+/certificateAuthorities/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:activate", +"request": { +"$ref": "ActivateCertificateAuthorityRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Create a new CertificateAuthority in a given Project and Location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/caPools/{caPoolsId}/certificateAuthorities", +"httpMethod": "POST", +"id": "privateca.projects.locations.caPools.certificateAuthorities.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"certificateAuthorityId": { +"description": "Required. It must be unique within a location and match the regular expression `[a-zA-Z0-9_-]{1,63}`", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the CaPool associated with the CertificateAuthorities, in the format `projects/*/locations/*/caPools/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/caPools/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An 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}/certificateAuthorities", +"request": { +"$ref": "CertificateAuthority" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Delete a CertificateAuthority.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/caPools/{caPoolsId}/certificateAuthorities/{certificateAuthoritiesId}", +"httpMethod": "DELETE", +"id": "privateca.projects.locations.caPools.certificateAuthorities.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"ignoreActiveCertificates": { +"description": "Optional. This field allows the CA to be deleted even if the CA has active certs. Active certs include both unrevoked and unexpired certs.", +"location": "query", +"type": "boolean" +}, +"ignoreDependentResources": { +"description": "Optional. This field allows this CA to be deleted even if it's being depended on by another resource. However, doing so may result in unintended and unrecoverable effects on any dependent resources since the CA will no longer be able to issue certificates.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The resource name for this CertificateAuthority in the format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/caPools/[^/]+/certificateAuthorities/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An 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" +}, +"skipGracePeriod": { +"description": "Optional. If this flag is set, the Certificate Authority will be deleted as soon as possible without a 30-day grace period where undeletion would have been allowed. If you proceed, there will be no way to recover this CA.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"disable": { +"description": "Disable a CertificateAuthority.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/caPools/{caPoolsId}/certificateAuthorities/{certificateAuthoritiesId}:disable", +"httpMethod": "POST", +"id": "privateca.projects.locations.caPools.certificateAuthorities.disable", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name for this CertificateAuthority in the format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/caPools/[^/]+/certificateAuthorities/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:disable", +"request": { +"$ref": "DisableCertificateAuthorityRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"enable": { +"description": "Enable a CertificateAuthority.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/caPools/{caPoolsId}/certificateAuthorities/{certificateAuthoritiesId}:enable", +"httpMethod": "POST", +"id": "privateca.projects.locations.caPools.certificateAuthorities.enable", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name for this CertificateAuthority in the format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/caPools/[^/]+/certificateAuthorities/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:enable", +"request": { +"$ref": "EnableCertificateAuthorityRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"fetch": { +"description": "Fetch a certificate signing request (CSR) from a CertificateAuthority that is in state AWAITING_USER_ACTIVATION and is of type SUBORDINATE. The CSR must then be signed by the desired parent Certificate Authority, which could be another CertificateAuthority resource, or could be an on-prem certificate authority. See also ActivateCertificateAuthority.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/caPools/{caPoolsId}/certificateAuthorities/{certificateAuthoritiesId}:fetch", +"httpMethod": "GET", +"id": "privateca.projects.locations.caPools.certificateAuthorities.fetch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name for this CertificateAuthority in the format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/caPools/[^/]+/certificateAuthorities/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:fetch", +"response": { +"$ref": "FetchCertificateAuthorityCsrResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns a CertificateAuthority.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/caPools/{caPoolsId}/certificateAuthorities/{certificateAuthoritiesId}", +"httpMethod": "GET", +"id": "privateca.projects.locations.caPools.certificateAuthorities.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the CertificateAuthority to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/caPools/[^/]+/certificateAuthorities/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "CertificateAuthority" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists CertificateAuthorities.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/caPools/{caPoolsId}/certificateAuthorities", +"httpMethod": "GET", +"id": "privateca.projects.locations.caPools.certificateAuthorities.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Only include resources that match the filter in the response.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Specify how the results should be sorted.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Limit on the number of CertificateAuthorities to include in the response. Further CertificateAuthorities can subsequently be obtained by including the ListCertificateAuthoritiesResponse.next_page_token in a subsequent request. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Pagination token, returned earlier via ListCertificateAuthoritiesResponse.next_page_token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the CaPool associated with the CertificateAuthorities, in the format `projects/*/locations/*/caPools/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/caPools/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/certificateAuthorities", +"response": { +"$ref": "ListCertificateAuthoritiesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Update a CertificateAuthority.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/caPools/{caPoolsId}/certificateAuthorities/{certificateAuthoritiesId}", +"httpMethod": "PATCH", +"id": "privateca.projects.locations.caPools.certificateAuthorities.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name for this CertificateAuthority in the format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/caPools/[^/]+/certificateAuthorities/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An 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. A list of fields to be updated in this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "CertificateAuthority" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"undelete": { +"description": "Undelete a CertificateAuthority that has been deleted.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/caPools/{caPoolsId}/certificateAuthorities/{certificateAuthoritiesId}:undelete", +"httpMethod": "POST", +"id": "privateca.projects.locations.caPools.certificateAuthorities.undelete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name for this CertificateAuthority in the format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/caPools/[^/]+/certificateAuthorities/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:undelete", +"request": { +"$ref": "UndeleteCertificateAuthorityRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"certificateRevocationLists": { +"methods": { +"get": { +"description": "Returns a CertificateRevocationList.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/caPools/{caPoolsId}/certificateAuthorities/{certificateAuthoritiesId}/certificateRevocationLists/{certificateRevocationListsId}", +"httpMethod": "GET", +"id": "privateca.projects.locations.caPools.certificateAuthorities.certificateRevocationLists.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the CertificateRevocationList to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/caPools/[^/]+/certificateAuthorities/[^/]+/certificateRevocationLists/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "CertificateRevocationList" +}, +"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}/caPools/{caPoolsId}/certificateAuthorities/{certificateAuthoritiesId}/certificateRevocationLists/{certificateRevocationListsId}:getIamPolicy", +"httpMethod": "GET", +"id": "privateca.projects.locations.caPools.certificateAuthorities.certificateRevocationLists.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/[^/]+/caPools/[^/]+/certificateAuthorities/[^/]+/certificateRevocationLists/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists CertificateRevocationLists.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/caPools/{caPoolsId}/certificateAuthorities/{certificateAuthoritiesId}/certificateRevocationLists", +"httpMethod": "GET", +"id": "privateca.projects.locations.caPools.certificateAuthorities.certificateRevocationLists.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Only include resources that match the filter in the response.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Specify how the results should be sorted.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Limit on the number of CertificateRevocationLists to include in the response. Further CertificateRevocationLists can subsequently be obtained by including the ListCertificateRevocationListsResponse.next_page_token in a subsequent request. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Pagination token, returned earlier via ListCertificateRevocationListsResponse.next_page_token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the location associated with the CertificateRevocationLists, in the format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/caPools/[^/]+/certificateAuthorities/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/certificateRevocationLists", +"response": { +"$ref": "ListCertificateRevocationListsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Update a CertificateRevocationList.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/caPools/{caPoolsId}/certificateAuthorities/{certificateAuthoritiesId}/certificateRevocationLists/{certificateRevocationListsId}", +"httpMethod": "PATCH", +"id": "privateca.projects.locations.caPools.certificateAuthorities.certificateRevocationLists.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name for this CertificateRevocationList in the format `projects/*/locations/*/caPools/*certificateAuthorities/*/ certificateRevocationLists/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/caPools/[^/]+/certificateAuthorities/[^/]+/certificateRevocationLists/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An 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. A list of fields to be updated in this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "CertificateRevocationList" +}, +"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}/caPools/{caPoolsId}/certificateAuthorities/{certificateAuthoritiesId}/certificateRevocationLists/{certificateRevocationListsId}:setIamPolicy", +"httpMethod": "POST", +"id": "privateca.projects.locations.caPools.certificateAuthorities.certificateRevocationLists.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/[^/]+/caPools/[^/]+/certificateAuthorities/[^/]+/certificateRevocationLists/[^/]+$", +"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}/caPools/{caPoolsId}/certificateAuthorities/{certificateAuthoritiesId}/certificateRevocationLists/{certificateRevocationListsId}:testIamPermissions", +"httpMethod": "POST", +"id": "privateca.projects.locations.caPools.certificateAuthorities.certificateRevocationLists.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/[^/]+/caPools/[^/]+/certificateAuthorities/[^/]+/certificateRevocationLists/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"certificates": { +"methods": { +"create": { +"description": "Create a new Certificate in a given Project, Location from a particular CaPool.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/caPools/{caPoolsId}/certificates", +"httpMethod": "POST", +"id": "privateca.projects.locations.caPools.certificates.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"certificateId": { +"description": "Optional. It must be unique within a location and match the regular expression `[a-zA-Z0-9_-]{1,63}`. This field is required when using a CertificateAuthority in the Enterprise CertificateAuthority.tier, but is optional and its value is ignored otherwise.", +"location": "query", +"type": "string" +}, +"issuingCertificateAuthorityId": { +"description": "Optional. The resource ID of the CertificateAuthority that should issue the certificate. This optional field will ignore the load-balancing scheme of the Pool and directly issue the certificate from the CA with the specified ID, contained in the same CaPool referenced by `parent`. Per-CA quota rules apply. If left empty, a CertificateAuthority will be chosen from the CaPool by the service. For example, to issue a Certificate from a Certificate Authority with resource name \"projects/my-project/locations/us-central1/caPools/my-pool/certificateAuthorities/my-ca\", you can set the parent to \"projects/my-project/locations/us-central1/caPools/my-pool\" and the issuing_certificate_authority_id to \"my-ca\".", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the CaPool associated with the Certificate, in the format `projects/*/locations/*/caPools/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/caPools/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An 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 this is true, no Certificate resource will be persisted regardless of the CaPool's tier, and the returned Certificate will not contain the pem_certificate field.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/certificates", +"request": { +"$ref": "Certificate" +}, +"response": { +"$ref": "Certificate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns a Certificate.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/caPools/{caPoolsId}/certificates/{certificatesId}", +"httpMethod": "GET", +"id": "privateca.projects.locations.caPools.certificates.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Certificate to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/caPools/[^/]+/certificates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Certificate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Certificates.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/caPools/{caPoolsId}/certificates", +"httpMethod": "GET", +"id": "privateca.projects.locations.caPools.certificates.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Only include resources that match the filter in the response. For details on supported filters and syntax, see [Certificates Filtering documentation](https://cloud.google.com/certificate-authority-service/docs/sorting-filtering-certificates#filtering_support).", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Specify how the results should be sorted. For details on supported fields and syntax, see [Certificates Sorting documentation](https://cloud.google.com/certificate-authority-service/docs/sorting-filtering-certificates#sorting_support).", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Limit on the number of Certificates to include in the response. Further Certificates can subsequently be obtained by including the ListCertificatesResponse.next_page_token in a subsequent request. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Pagination token, returned earlier via ListCertificatesResponse.next_page_token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the location associated with the Certificates, in the format `projects/*/locations/*/caPools/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/caPools/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/certificates", +"response": { +"$ref": "ListCertificatesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Update a Certificate. Currently, the only field you can update is the labels field.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/caPools/{caPoolsId}/certificates/{certificatesId}", +"httpMethod": "PATCH", +"id": "privateca.projects.locations.caPools.certificates.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name for this Certificate in the format `projects/*/locations/*/caPools/*/certificates/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/caPools/[^/]+/certificates/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An 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. A list of fields to be updated in this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Certificate" +}, +"response": { +"$ref": "Certificate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"revoke": { +"description": "Revoke a Certificate.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/caPools/{caPoolsId}/certificates/{certificatesId}:revoke", +"httpMethod": "POST", +"id": "privateca.projects.locations.caPools.certificates.revoke", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name for this Certificate in the format `projects/*/locations/*/caPools/*/certificates/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/caPools/[^/]+/certificates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:revoke", +"request": { +"$ref": "RevokeCertificateRequest" +}, +"response": { +"$ref": "Certificate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"certificateTemplates": { +"methods": { +"create": { +"description": "Create a new CertificateTemplate in a given Project and Location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/certificateTemplates", +"httpMethod": "POST", +"id": "privateca.projects.locations.certificateTemplates.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"certificateTemplateId": { +"description": "Required. It must be unique within a location and match the regular expression `[a-zA-Z0-9_-]{1,63}`", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the location associated with the CertificateTemplate, in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An 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}/certificateTemplates", +"request": { +"$ref": "CertificateTemplate" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "DeleteCertificateTemplate deletes a CertificateTemplate.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/certificateTemplates/{certificateTemplatesId}", +"httpMethod": "DELETE", +"id": "privateca.projects.locations.certificateTemplates.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name for this CertificateTemplate in the format `projects/*/locations/*/certificateTemplates/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/certificateTemplates/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An 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/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns a CertificateTemplate.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/certificateTemplates/{certificateTemplatesId}", +"httpMethod": "GET", +"id": "privateca.projects.locations.certificateTemplates.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the CertificateTemplate to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/certificateTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "CertificateTemplate" +}, +"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}/certificateTemplates/{certificateTemplatesId}:getIamPolicy", +"httpMethod": "GET", +"id": "privateca.projects.locations.certificateTemplates.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/[^/]+/certificateTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists CertificateTemplates.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/certificateTemplates", +"httpMethod": "GET", +"id": "privateca.projects.locations.certificateTemplates.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Only include resources that match the filter in the response.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Specify how the results should be sorted.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Limit on the number of CertificateTemplates to include in the response. Further CertificateTemplates can subsequently be obtained by including the ListCertificateTemplatesResponse.next_page_token in a subsequent request. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Pagination token, returned earlier via ListCertificateTemplatesResponse.next_page_token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the location associated with the CertificateTemplates, in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/certificateTemplates", +"response": { +"$ref": "ListCertificateTemplatesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Update a CertificateTemplate.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/certificateTemplates/{certificateTemplatesId}", +"httpMethod": "PATCH", +"id": "privateca.projects.locations.certificateTemplates.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name for this CertificateTemplate in the format `projects/*/locations/*/certificateTemplates/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/certificateTemplates/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An 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. A list of fields to be updated in this request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "CertificateTemplate" +}, +"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}/certificateTemplates/{certificateTemplatesId}:setIamPolicy", +"httpMethod": "POST", +"id": "privateca.projects.locations.certificateTemplates.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/[^/]+/certificateTemplates/[^/]+$", +"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}/certificateTemplates/{certificateTemplatesId}:testIamPermissions", +"httpMethod": "POST", +"id": "privateca.projects.locations.certificateTemplates.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/[^/]+/certificateTemplates/[^/]+$", +"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": "privateca.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": "privateca.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": "privateca.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": "privateca.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": "20241204", +"rootUrl": "https://privateca.googleapis.com/", +"schemas": { +"AccessUrls": { +"description": "URLs where a CertificateAuthority will publish content.", +"id": "AccessUrls", +"properties": { +"caCertificateAccessUrl": { +"description": "The URL where this CertificateAuthority's CA certificate is published. This will only be set for CAs that have been activated.", +"type": "string" +}, +"crlAccessUrls": { +"description": "The URLs where this CertificateAuthority's CRLs are published. This will only be set for CAs that have been activated.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ActivateCertificateAuthorityRequest": { +"description": "Request message for CertificateAuthorityService.ActivateCertificateAuthority.", +"id": "ActivateCertificateAuthorityRequest", +"properties": { +"pemCaCertificate": { +"description": "Required. The signed CA certificate issued from FetchCertificateAuthorityCsrResponse.pem_csr.", +"type": "string" +}, +"requestId": { +"description": "Optional. An 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" +}, +"subordinateConfig": { +"$ref": "SubordinateConfig", +"description": "Required. Must include information about the issuer of 'pem_ca_certificate', and any further issuers until the self-signed CA." +} +}, +"type": "object" +}, +"AllowedKeyType": { +"description": "Describes a \"type\" of key that may be used in a Certificate issued from a CaPool. Note that a single AllowedKeyType may refer to either a fully-qualified key algorithm, such as RSA 4096, or a family of key algorithms, such as any RSA key.", +"id": "AllowedKeyType", +"properties": { +"ellipticCurve": { +"$ref": "EcKeyType", +"description": "Represents an allowed Elliptic Curve key type." +}, +"rsa": { +"$ref": "RsaKeyType", +"description": "Represents an allowed RSA key type." +} +}, +"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" +}, +"CaOptions": { +"description": "Describes the X.509 basic constraints extension, per [RFC 5280 section 4.2.1.9](https://tools.ietf.org/html/rfc5280#section-4.2.1.9)", +"id": "CaOptions", +"properties": { +"isCa": { +"description": "Optional. Refers to the \"CA\" boolean field in the X.509 extension. When this value is missing, the basic constraints extension will be omitted from the certificate.", +"type": "boolean" +}, +"maxIssuerPathLength": { +"description": "Optional. Refers to the path length constraint field in the X.509 extension. For a CA certificate, this value describes the depth of subordinate CA certificates that are allowed. If this value is less than 0, the request will fail. If this value is missing, the max path length will be omitted from the certificate.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"CaPool": { +"description": "A CaPool represents a group of CertificateAuthorities that form a trust anchor. A CaPool can be used to manage issuance policies for one or more CertificateAuthority resources and to rotate CA certificates in and out of the trust anchor.", +"id": "CaPool", +"properties": { +"issuancePolicy": { +"$ref": "IssuancePolicy", +"description": "Optional. The IssuancePolicy to control how Certificates will be issued from this CaPool." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels with user-defined metadata.", +"type": "object" +}, +"name": { +"description": "Identifier. The resource name for this CaPool in the format `projects/*/locations/*/caPools/*`.", +"type": "string" +}, +"publishingOptions": { +"$ref": "PublishingOptions", +"description": "Optional. The PublishingOptions to follow when issuing Certificates from any CertificateAuthority in this CaPool." +}, +"tier": { +"description": "Required. Immutable. The Tier of this CaPool.", +"enum": [ +"TIER_UNSPECIFIED", +"ENTERPRISE", +"DEVOPS" +], +"enumDescriptions": [ +"Not specified.", +"Enterprise tier.", +"DevOps tier." +], +"type": "string" +} +}, +"type": "object" +}, +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"CertChain": { +"id": "CertChain", +"properties": { +"certificates": { +"description": "The certificates that form the CA chain, from leaf to root order.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Certificate": { +"description": "A Certificate corresponds to a signed X.509 certificate issued by a CertificateAuthority.", +"id": "Certificate", +"properties": { +"certificateDescription": { +"$ref": "CertificateDescription", +"description": "Output only. A structured description of the issued X.509 certificate.", +"readOnly": true +}, +"certificateTemplate": { +"description": "Immutable. The resource name for a CertificateTemplate used to issue this certificate, in the format `projects/*/locations/*/certificateTemplates/*`. If this is specified, the caller must have the necessary permission to use this template. If this is omitted, no template will be used. This template must be in the same location as the Certificate.", +"type": "string" +}, +"config": { +"$ref": "CertificateConfig", +"description": "Immutable. A description of the certificate and key that does not require X.509 or ASN.1." +}, +"createTime": { +"description": "Output only. The time at which this Certificate was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"issuerCertificateAuthority": { +"description": "Output only. The resource name of the issuing CertificateAuthority in the format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels with user-defined metadata.", +"type": "object" +}, +"lifetime": { +"description": "Required. Immutable. The desired lifetime of a certificate. Used to create the \"not_before_time\" and \"not_after_time\" fields inside an X.509 certificate. Note that the lifetime may be truncated if it would extend past the life of any certificate authority in the issuing chain.", +"format": "google-duration", +"type": "string" +}, +"name": { +"description": "Identifier. The resource name for this Certificate in the format `projects/*/locations/*/caPools/*/certificates/*`.", +"type": "string" +}, +"pemCertificate": { +"description": "Output only. The pem-encoded, signed X.509 certificate.", +"readOnly": true, +"type": "string" +}, +"pemCertificateChain": { +"description": "Output only. The chain that may be used to verify the X.509 certificate. Expected to be in issuer-to-root order according to RFC 5246.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"pemCsr": { +"description": "Immutable. A pem-encoded X.509 certificate signing request (CSR).", +"type": "string" +}, +"revocationDetails": { +"$ref": "RevocationDetails", +"description": "Output only. Details regarding the revocation of this Certificate. This Certificate is considered revoked if and only if this field is present.", +"readOnly": true +}, +"subjectMode": { +"description": "Immutable. Specifies how the Certificate's identity fields are to be decided. If this is omitted, the `DEFAULT` subject mode will be used.", +"enum": [ +"SUBJECT_REQUEST_MODE_UNSPECIFIED", +"DEFAULT", +"REFLECTED_SPIFFE" +], +"enumDescriptions": [ +"Not specified.", +"The default mode used in most cases. Indicates that the certificate's Subject and/or SubjectAltNames are specified in the certificate request. This mode requires the caller to have the `privateca.certificates.create` permission.", +"A mode reserved for special cases. Indicates that the certificate should have one SPIFFE SubjectAltNames set by the service based on the caller's identity. This mode will ignore any explicitly specified Subject and/or SubjectAltNames in the certificate request. This mode requires the caller to have the `privateca.certificates.createForSelf` permission." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. The time at which this Certificate was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"CertificateAuthority": { +"description": "A CertificateAuthority represents an individual Certificate Authority. A CertificateAuthority can be used to create Certificates.", +"id": "CertificateAuthority", +"properties": { +"accessUrls": { +"$ref": "AccessUrls", +"description": "Output only. URLs for accessing content published by this CA, such as the CA certificate and CRLs.", +"readOnly": true +}, +"caCertificateDescriptions": { +"description": "Output only. A structured description of this CertificateAuthority's CA certificate and its issuers. Ordered as self-to-root.", +"items": { +"$ref": "CertificateDescription" +}, +"readOnly": true, +"type": "array" +}, +"config": { +"$ref": "CertificateConfig", +"description": "Required. Immutable. The config used to create a self-signed X.509 certificate or CSR." +}, +"createTime": { +"description": "Output only. The time at which this CertificateAuthority was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deleteTime": { +"description": "Output only. The time at which this CertificateAuthority was soft deleted, if it is in the DELETED state.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"expireTime": { +"description": "Output only. The time at which this CertificateAuthority will be permanently purged, if it is in the DELETED state.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"gcsBucket": { +"description": "Immutable. The name of a Cloud Storage bucket where this CertificateAuthority will publish content, such as the CA certificate and CRLs. This must be a bucket name, without any prefixes (such as `gs://`) or suffixes (such as `.googleapis.com`). For example, to use a bucket named `my-bucket`, you would simply specify `my-bucket`. If not specified, a managed bucket will be created.", +"type": "string" +}, +"keySpec": { +"$ref": "KeyVersionSpec", +"description": "Required. Immutable. Used when issuing certificates for this CertificateAuthority. If this CertificateAuthority is a self-signed CertificateAuthority, this key is also used to sign the self-signed CA certificate. Otherwise, it is used to sign a CSR." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels with user-defined metadata.", +"type": "object" +}, +"lifetime": { +"description": "Required. Immutable. The desired lifetime of the CA certificate. Used to create the \"not_before_time\" and \"not_after_time\" fields inside an X.509 certificate.", +"format": "google-duration", +"type": "string" +}, +"name": { +"description": "Identifier. The resource name for this CertificateAuthority in the format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.", +"type": "string" +}, +"pemCaCertificates": { +"description": "Output only. This CertificateAuthority's certificate chain, including the current CertificateAuthority's certificate. Ordered such that the root issuer is the final element (consistent with RFC 5246). For a self-signed CA, this will only list the current CertificateAuthority's certificate.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"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 State for this CertificateAuthority.", +"enum": [ +"STATE_UNSPECIFIED", +"ENABLED", +"DISABLED", +"STAGED", +"AWAITING_USER_ACTIVATION", +"DELETED" +], +"enumDescriptions": [ +"Not specified.", +"Certificates can be issued from this CA. CRLs will be generated for this CA. The CA will be part of the CaPool's trust anchor, and will be used to issue certificates from the CaPool.", +"Certificates cannot be issued from this CA. CRLs will still be generated. The CA will be part of the CaPool's trust anchor, but will not be used to issue certificates from the CaPool.", +"Certificates can be issued from this CA. CRLs will be generated for this CA. The CA will be part of the CaPool's trust anchor, but will not be used to issue certificates from the CaPool.", +"Certificates cannot be issued from this CA. CRLs will not be generated. The CA will not be part of the CaPool's trust anchor, and will not be used to issue certificates from the CaPool.", +"Certificates cannot be issued from this CA. CRLs will not be generated. The CA may still be recovered by calling CertificateAuthorityService.UndeleteCertificateAuthority before expire_time. The CA will not be part of the CaPool's trust anchor, and will not be used to issue certificates from the CaPool." +], +"readOnly": true, +"type": "string" +}, +"subordinateConfig": { +"$ref": "SubordinateConfig", +"description": "Optional. If this is a subordinate CertificateAuthority, this field will be set with the subordinate configuration, which describes its issuers. This may be updated, but this CertificateAuthority must continue to validate." +}, +"tier": { +"description": "Output only. The CaPool.Tier of the CaPool that includes this CertificateAuthority.", +"enum": [ +"TIER_UNSPECIFIED", +"ENTERPRISE", +"DEVOPS" +], +"enumDescriptions": [ +"Not specified.", +"Enterprise tier.", +"DevOps tier." +], +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Required. Immutable. The Type of this CertificateAuthority.", +"enum": [ +"TYPE_UNSPECIFIED", +"SELF_SIGNED", +"SUBORDINATE" +], +"enumDescriptions": [ +"Not specified.", +"Self-signed CA.", +"Subordinate CA. Could be issued by a Private CA CertificateAuthority or an unmanaged CA." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. The time at which this CertificateAuthority was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"CertificateConfig": { +"description": "A CertificateConfig describes an X.509 certificate or CSR that is to be created, as an alternative to using ASN.1.", +"id": "CertificateConfig", +"properties": { +"publicKey": { +"$ref": "PublicKey", +"description": "Optional. The public key that corresponds to this config. This is, for example, used when issuing Certificates, but not when creating a self-signed CertificateAuthority or CertificateAuthority CSR." +}, +"subjectConfig": { +"$ref": "SubjectConfig", +"description": "Required. Specifies some of the values in a certificate that are related to the subject." +}, +"subjectKeyId": { +"$ref": "CertificateConfigKeyId", +"description": "Optional. When specified this provides a custom SKI to be used in the certificate. This should only be used to maintain a SKI of an existing CA originally created outside CA service, which was not generated using method (1) described in RFC 5280 section 4.2.1.2." +}, +"x509Config": { +"$ref": "X509Parameters", +"description": "Required. Describes how some of the technical X.509 fields in a certificate should be populated." +} +}, +"type": "object" +}, +"CertificateConfigKeyId": { +"description": "A KeyId identifies a specific public key, usually by hashing the public key.", +"id": "CertificateConfigKeyId", +"properties": { +"keyId": { +"description": "Required. The value of this KeyId encoded in lowercase hexadecimal. This is most likely the 160 bit SHA-1 hash of the public key.", +"type": "string" +} +}, +"type": "object" +}, +"CertificateDescription": { +"description": "A CertificateDescription describes an X.509 certificate or CSR that has been issued, as an alternative to using ASN.1 / X.509.", +"id": "CertificateDescription", +"properties": { +"aiaIssuingCertificateUrls": { +"description": "Describes lists of issuer CA certificate URLs that appear in the \"Authority Information Access\" extension in the certificate.", +"items": { +"type": "string" +}, +"type": "array" +}, +"authorityKeyId": { +"$ref": "KeyId", +"description": "Identifies the subject_key_id of the parent certificate, per https://tools.ietf.org/html/rfc5280#section-4.2.1.1" +}, +"certFingerprint": { +"$ref": "CertificateFingerprint", +"description": "The hash of the x.509 certificate." +}, +"crlDistributionPoints": { +"description": "Describes a list of locations to obtain CRL information, i.e. the DistributionPoint.fullName described by https://tools.ietf.org/html/rfc5280#section-4.2.1.13", +"items": { +"type": "string" +}, +"type": "array" +}, +"publicKey": { +"$ref": "PublicKey", +"description": "The public key that corresponds to an issued certificate." +}, +"subjectDescription": { +"$ref": "SubjectDescription", +"description": "Describes some of the values in a certificate that are related to the subject and lifetime." +}, +"subjectKeyId": { +"$ref": "KeyId", +"description": "Provides a means of identifiying certificates that contain a particular public key, per https://tools.ietf.org/html/rfc5280#section-4.2.1.2." +}, +"tbsCertificateDigest": { +"description": "The hash of the pre-signed certificate, which will be signed by the CA. Corresponds to the TBS Certificate in https://tools.ietf.org/html/rfc5280#section-4.1.2. The field will always be populated.", +"type": "string" +}, +"x509Description": { +"$ref": "X509Parameters", +"description": "Describes some of the technical X.509 fields in a certificate." +} +}, +"type": "object" +}, +"CertificateExtensionConstraints": { +"description": "Describes a set of X.509 extensions that may be part of some certificate issuance controls.", +"id": "CertificateExtensionConstraints", +"properties": { +"additionalExtensions": { +"description": "Optional. A set of ObjectIds identifying custom X.509 extensions. Will be combined with known_extensions to determine the full set of X.509 extensions.", +"items": { +"$ref": "ObjectId" +}, +"type": "array" +}, +"knownExtensions": { +"description": "Optional. A set of named X.509 extensions. Will be combined with additional_extensions to determine the full set of X.509 extensions.", +"items": { +"enum": [ +"KNOWN_CERTIFICATE_EXTENSION_UNSPECIFIED", +"BASE_KEY_USAGE", +"EXTENDED_KEY_USAGE", +"CA_OPTIONS", +"POLICY_IDS", +"AIA_OCSP_SERVERS", +"NAME_CONSTRAINTS" +], +"enumDescriptions": [ +"Not specified.", +"Refers to a certificate's Key Usage extension, as described in [RFC 5280 section 4.2.1.3](https://tools.ietf.org/html/rfc5280#section-4.2.1.3). This corresponds to the KeyUsage.base_key_usage field.", +"Refers to a certificate's Extended Key Usage extension, as described in [RFC 5280 section 4.2.1.12](https://tools.ietf.org/html/rfc5280#section-4.2.1.12). This corresponds to the KeyUsage.extended_key_usage message.", +"Refers to a certificate's Basic Constraints extension, as described in [RFC 5280 section 4.2.1.9](https://tools.ietf.org/html/rfc5280#section-4.2.1.9). This corresponds to the X509Parameters.ca_options field.", +"Refers to a certificate's Policy object identifiers, as described in [RFC 5280 section 4.2.1.4](https://tools.ietf.org/html/rfc5280#section-4.2.1.4). This corresponds to the X509Parameters.policy_ids field.", +"Refers to OCSP servers in a certificate's Authority Information Access extension, as described in [RFC 5280 section 4.2.2.1](https://tools.ietf.org/html/rfc5280#section-4.2.2.1), This corresponds to the X509Parameters.aia_ocsp_servers field.", +"Refers to Name Constraints extension as described in [RFC 5280 section 4.2.1.10](https://tools.ietf.org/html/rfc5280#section-4.2.1.10)" +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"CertificateFingerprint": { +"description": "A group of fingerprints for the x509 certificate.", +"id": "CertificateFingerprint", +"properties": { +"sha256Hash": { +"description": "The SHA 256 hash, encoded in hexadecimal, of the DER x509 certificate.", +"type": "string" +} +}, +"type": "object" +}, +"CertificateIdentityConstraints": { +"description": "Describes constraints on a Certificate's Subject and SubjectAltNames.", +"id": "CertificateIdentityConstraints", +"properties": { +"allowSubjectAltNamesPassthrough": { +"description": "Required. If this is true, the SubjectAltNames extension may be copied from a certificate request into the signed certificate. Otherwise, the requested SubjectAltNames will be discarded.", +"type": "boolean" +}, +"allowSubjectPassthrough": { +"description": "Required. If this is true, the Subject field may be copied from a certificate request into the signed certificate. Otherwise, the requested Subject will be discarded.", +"type": "boolean" +}, +"celExpression": { +"$ref": "Expr", +"description": "Optional. A CEL expression that may be used to validate the resolved X.509 Subject and/or Subject Alternative Name before a certificate is signed. To see the full allowed syntax and some examples, see https://cloud.google.com/certificate-authority-service/docs/using-cel" +} +}, +"type": "object" +}, +"CertificateRevocationList": { +"description": "A CertificateRevocationList corresponds to a signed X.509 certificate Revocation List (CRL). A CRL contains the serial numbers of certificates that should no longer be trusted.", +"id": "CertificateRevocationList", +"properties": { +"accessUrl": { +"description": "Output only. The location where 'pem_crl' can be accessed.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time at which this CertificateRevocationList was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels with user-defined metadata.", +"type": "object" +}, +"name": { +"description": "Identifier. The resource name for this CertificateRevocationList in the format `projects/*/locations/*/caPools/*certificateAuthorities/*/ certificateRevocationLists/*`.", +"type": "string" +}, +"pemCrl": { +"description": "Output only. The PEM-encoded X.509 CRL.", +"readOnly": true, +"type": "string" +}, +"revisionId": { +"description": "Output only. The revision ID of this CertificateRevocationList. A new revision is committed whenever a new CRL is published. The format is an 8-character hexadecimal string.", +"readOnly": true, +"type": "string" +}, +"revokedCertificates": { +"description": "Output only. The revoked serial numbers that appear in pem_crl.", +"items": { +"$ref": "RevokedCertificate" +}, +"readOnly": true, +"type": "array" +}, +"sequenceNumber": { +"description": "Output only. The CRL sequence number that appears in pem_crl.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The State for this CertificateRevocationList.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"SUPERSEDED" +], +"enumDescriptions": [ +"Not specified.", +"The CertificateRevocationList is up to date.", +"The CertificateRevocationList is no longer current." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The time at which this CertificateRevocationList was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"CertificateTemplate": { +"description": "A CertificateTemplate refers to a managed template for certificate issuance.", +"id": "CertificateTemplate", +"properties": { +"createTime": { +"description": "Output only. The time at which this CertificateTemplate was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. A human-readable description of scenarios this template is intended for.", +"type": "string" +}, +"identityConstraints": { +"$ref": "CertificateIdentityConstraints", +"description": "Optional. Describes constraints on identities that may be appear in Certificates issued using this template. If this is omitted, then this template will not add restrictions on a certificate's identity." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels with user-defined metadata.", +"type": "object" +}, +"maximumLifetime": { +"description": "Optional. The maximum lifetime allowed for issued Certificates that use this template. If the issuing CaPool resource's IssuancePolicy specifies a maximum_lifetime the minimum of the two durations will be the maximum lifetime for issued Certificates. Note that if the issuing CertificateAuthority expires before a Certificate's requested maximum_lifetime, the effective lifetime will be explicitly truncated to match it.", +"format": "google-duration", +"type": "string" +}, +"name": { +"description": "Identifier. The resource name for this CertificateTemplate in the format `projects/*/locations/*/certificateTemplates/*`.", +"type": "string" +}, +"passthroughExtensions": { +"$ref": "CertificateExtensionConstraints", +"description": "Optional. Describes the set of X.509 extensions that may appear in a Certificate issued using this CertificateTemplate. If a certificate request sets extensions that don't appear in the passthrough_extensions, those extensions will be dropped. If the issuing CaPool's IssuancePolicy defines baseline_values that don't appear here, the certificate issuance request will fail. If this is omitted, then this template will not add restrictions on a certificate's X.509 extensions. These constraints do not apply to X.509 extensions set in this CertificateTemplate's predefined_values." +}, +"predefinedValues": { +"$ref": "X509Parameters", +"description": "Optional. A set of X.509 values that will be applied to all issued certificates that use this template. If the certificate request includes conflicting values for the same properties, they will be overwritten by the values defined here. If the issuing CaPool's IssuancePolicy defines conflicting baseline_values for the same properties, the certificate issuance request will fail." +}, +"updateTime": { +"description": "Output only. The time at which this CertificateTemplate was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"DisableCertificateAuthorityRequest": { +"description": "Request message for CertificateAuthorityService.DisableCertificateAuthority.", +"id": "DisableCertificateAuthorityRequest", +"properties": { +"ignoreDependentResources": { +"description": "Optional. This field allows this CA to be disabled even if it's being depended on by another resource. However, doing so may result in unintended and unrecoverable effects on any dependent resources since the CA will no longer be able to issue certificates.", +"type": "boolean" +}, +"requestId": { +"description": "Optional. An ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"type": "string" +} +}, +"type": "object" +}, +"EcKeyType": { +"description": "Describes an Elliptic Curve key that may be used in a Certificate issued from a CaPool.", +"id": "EcKeyType", +"properties": { +"signatureAlgorithm": { +"description": "Optional. A signature algorithm that must be used. If this is omitted, any EC-based signature algorithm will be allowed.", +"enum": [ +"EC_SIGNATURE_ALGORITHM_UNSPECIFIED", +"ECDSA_P256", +"ECDSA_P384", +"EDDSA_25519" +], +"enumDescriptions": [ +"Not specified. Signifies that any signature algorithm may be used.", +"Refers to the Elliptic Curve Digital Signature Algorithm over the NIST P-256 curve.", +"Refers to the Elliptic Curve Digital Signature Algorithm over the NIST P-384 curve.", +"Refers to the Edwards-curve Digital Signature Algorithm over curve 25519, as described in RFC 8410." +], +"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" +}, +"EnableCertificateAuthorityRequest": { +"description": "Request message for CertificateAuthorityService.EnableCertificateAuthority.", +"id": "EnableCertificateAuthorityRequest", +"properties": { +"requestId": { +"description": "Optional. An ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"type": "string" +} +}, +"type": "object" +}, +"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" +}, +"ExtendedKeyUsageOptions": { +"description": "KeyUsage.ExtendedKeyUsageOptions has fields that correspond to certain common OIDs that could be specified as an extended key usage value.", +"id": "ExtendedKeyUsageOptions", +"properties": { +"clientAuth": { +"description": "Corresponds to OID 1.3.6.1.5.5.7.3.2. Officially described as \"TLS WWW client authentication\", though regularly used for non-WWW TLS.", +"type": "boolean" +}, +"codeSigning": { +"description": "Corresponds to OID 1.3.6.1.5.5.7.3.3. Officially described as \"Signing of downloadable executable code client authentication\".", +"type": "boolean" +}, +"emailProtection": { +"description": "Corresponds to OID 1.3.6.1.5.5.7.3.4. Officially described as \"Email protection\".", +"type": "boolean" +}, +"ocspSigning": { +"description": "Corresponds to OID 1.3.6.1.5.5.7.3.9. Officially described as \"Signing OCSP responses\".", +"type": "boolean" +}, +"serverAuth": { +"description": "Corresponds to OID 1.3.6.1.5.5.7.3.1. Officially described as \"TLS WWW server authentication\", though regularly used for non-WWW TLS.", +"type": "boolean" +}, +"timeStamping": { +"description": "Corresponds to OID 1.3.6.1.5.5.7.3.8. Officially described as \"Binding the hash of an object to a time\".", +"type": "boolean" +} +}, +"type": "object" +}, +"FetchCaCertsRequest": { +"description": "Request message for CertificateAuthorityService.FetchCaCerts.", +"id": "FetchCaCertsRequest", +"properties": { +"requestId": { +"description": "Optional. An ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"type": "string" +} +}, +"type": "object" +}, +"FetchCaCertsResponse": { +"description": "Response message for CertificateAuthorityService.FetchCaCerts.", +"id": "FetchCaCertsResponse", +"properties": { +"caCerts": { +"description": "The PEM encoded CA certificate chains of all certificate authorities in this CaPool in the ENABLED, DISABLED, or STAGED states.", +"items": { +"$ref": "CertChain" +}, +"type": "array" +} +}, +"type": "object" +}, +"FetchCertificateAuthorityCsrResponse": { +"description": "Response message for CertificateAuthorityService.FetchCertificateAuthorityCsr.", +"id": "FetchCertificateAuthorityCsrResponse", +"properties": { +"pemCsr": { +"description": "Output only. The PEM-encoded signed certificate signing request (CSR).", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"IssuanceModes": { +"description": "IssuanceModes specifies the allowed ways in which Certificates may be requested from this CaPool.", +"id": "IssuanceModes", +"properties": { +"allowConfigBasedIssuance": { +"description": "Optional. When true, allows callers to create Certificates by specifying a CertificateConfig.", +"type": "boolean" +}, +"allowCsrBasedIssuance": { +"description": "Optional. When true, allows callers to create Certificates by specifying a CSR.", +"type": "boolean" +} +}, +"type": "object" +}, +"IssuancePolicy": { +"description": "Defines controls over all certificate issuance within a CaPool.", +"id": "IssuancePolicy", +"properties": { +"allowedIssuanceModes": { +"$ref": "IssuanceModes", +"description": "Optional. If specified, then only methods allowed in the IssuanceModes may be used to issue Certificates." +}, +"allowedKeyTypes": { +"description": "Optional. If any AllowedKeyType is specified, then the certificate request's public key must match one of the key types listed here. Otherwise, any key may be used.", +"items": { +"$ref": "AllowedKeyType" +}, +"type": "array" +}, +"baselineValues": { +"$ref": "X509Parameters", +"description": "Optional. A set of X.509 values that will be applied to all certificates issued through this CaPool. If a certificate request includes conflicting values for the same properties, they will be overwritten by the values defined here. If a certificate request uses a CertificateTemplate that defines conflicting predefined_values for the same properties, the certificate issuance request will fail." +}, +"identityConstraints": { +"$ref": "CertificateIdentityConstraints", +"description": "Optional. Describes constraints on identities that may appear in Certificates issued through this CaPool. If this is omitted, then this CaPool will not add restrictions on a certificate's identity." +}, +"maximumLifetime": { +"description": "Optional. The maximum lifetime allowed for issued Certificates. Note that if the issuing CertificateAuthority expires before a Certificate resource's requested maximum_lifetime, the effective lifetime will be explicitly truncated to match it.", +"format": "google-duration", +"type": "string" +}, +"passthroughExtensions": { +"$ref": "CertificateExtensionConstraints", +"description": "Optional. Describes the set of X.509 extensions that may appear in a Certificate issued through this CaPool. If a certificate request sets extensions that don't appear in the passthrough_extensions, those extensions will be dropped. If a certificate request uses a CertificateTemplate with predefined_values that don't appear here, the certificate issuance request will fail. If this is omitted, then this CaPool will not add restrictions on a certificate's X.509 extensions. These constraints do not apply to X.509 extensions set in this CaPool's baseline_values." +} +}, +"type": "object" +}, +"KeyId": { +"description": "A KeyId identifies a specific public key, usually by hashing the public key.", +"id": "KeyId", +"properties": { +"keyId": { +"description": "Optional. The value of this KeyId encoded in lowercase hexadecimal. This is most likely the 160 bit SHA-1 hash of the public key.", +"type": "string" +} +}, +"type": "object" +}, +"KeyUsage": { +"description": "A KeyUsage describes key usage values that may appear in an X.509 certificate.", +"id": "KeyUsage", +"properties": { +"baseKeyUsage": { +"$ref": "KeyUsageOptions", +"description": "Describes high-level ways in which a key may be used." +}, +"extendedKeyUsage": { +"$ref": "ExtendedKeyUsageOptions", +"description": "Detailed scenarios in which a key may be used." +}, +"unknownExtendedKeyUsages": { +"description": "Used to describe extended key usages that are not listed in the KeyUsage.ExtendedKeyUsageOptions message.", +"items": { +"$ref": "ObjectId" +}, +"type": "array" +} +}, +"type": "object" +}, +"KeyUsageOptions": { +"description": "KeyUsage.KeyUsageOptions corresponds to the key usage values described in https://tools.ietf.org/html/rfc5280#section-4.2.1.3.", +"id": "KeyUsageOptions", +"properties": { +"certSign": { +"description": "The key may be used to sign certificates.", +"type": "boolean" +}, +"contentCommitment": { +"description": "The key may be used for cryptographic commitments. Note that this may also be referred to as \"non-repudiation\".", +"type": "boolean" +}, +"crlSign": { +"description": "The key may be used sign certificate revocation lists.", +"type": "boolean" +}, +"dataEncipherment": { +"description": "The key may be used to encipher data.", +"type": "boolean" +}, +"decipherOnly": { +"description": "The key may be used to decipher only.", +"type": "boolean" +}, +"digitalSignature": { +"description": "The key may be used for digital signatures.", +"type": "boolean" +}, +"encipherOnly": { +"description": "The key may be used to encipher only.", +"type": "boolean" +}, +"keyAgreement": { +"description": "The key may be used in a key agreement protocol.", +"type": "boolean" +}, +"keyEncipherment": { +"description": "The key may be used to encipher other keys.", +"type": "boolean" +} +}, +"type": "object" +}, +"KeyVersionSpec": { +"description": "A Cloud KMS key configuration that a CertificateAuthority will use.", +"id": "KeyVersionSpec", +"properties": { +"algorithm": { +"description": "The algorithm to use for creating a managed Cloud KMS key for a for a simplified experience. All managed keys will be have their ProtectionLevel as `HSM`.", +"enum": [ +"SIGN_HASH_ALGORITHM_UNSPECIFIED", +"RSA_PSS_2048_SHA256", +"RSA_PSS_3072_SHA256", +"RSA_PSS_4096_SHA256", +"RSA_PKCS1_2048_SHA256", +"RSA_PKCS1_3072_SHA256", +"RSA_PKCS1_4096_SHA256", +"EC_P256_SHA256", +"EC_P384_SHA384" +], +"enumDescriptions": [ +"Not specified.", +"maps to CryptoKeyVersionAlgorithm.RSA_SIGN_PSS_2048_SHA256", +"maps to CryptoKeyVersionAlgorithm. RSA_SIGN_PSS_3072_SHA256", +"maps to CryptoKeyVersionAlgorithm.RSA_SIGN_PSS_4096_SHA256", +"maps to CryptoKeyVersionAlgorithm.RSA_SIGN_PKCS1_2048_SHA256", +"maps to CryptoKeyVersionAlgorithm.RSA_SIGN_PKCS1_3072_SHA256", +"maps to CryptoKeyVersionAlgorithm.RSA_SIGN_PKCS1_4096_SHA256", +"maps to CryptoKeyVersionAlgorithm.EC_SIGN_P256_SHA256", +"maps to CryptoKeyVersionAlgorithm.EC_SIGN_P384_SHA384" +], +"type": "string" +}, +"cloudKmsKeyVersion": { +"description": "The resource name for an existing Cloud KMS CryptoKeyVersion in the format `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`. This option enables full flexibility in the key's capabilities and properties.", +"type": "string" +} +}, +"type": "object" +}, +"ListCaPoolsResponse": { +"description": "Response message for CertificateAuthorityService.ListCaPools.", +"id": "ListCaPoolsResponse", +"properties": { +"caPools": { +"description": "The list of CaPools.", +"items": { +"$ref": "CaPool" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass this value in ListCertificateAuthoritiesRequest.page_token to retrieve the next page of results.", +"type": "string" +}, +"unreachable": { +"description": "A list of locations (e.g. \"us-west1\") that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListCertificateAuthoritiesResponse": { +"description": "Response message for CertificateAuthorityService.ListCertificateAuthorities.", +"id": "ListCertificateAuthoritiesResponse", +"properties": { +"certificateAuthorities": { +"description": "The list of CertificateAuthorities.", +"items": { +"$ref": "CertificateAuthority" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass this value in ListCertificateAuthoritiesRequest.page_token to retrieve the next page of results.", +"type": "string" +}, +"unreachable": { +"description": "A list of locations (e.g. \"us-west1\") that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListCertificateRevocationListsResponse": { +"description": "Response message for CertificateAuthorityService.ListCertificateRevocationLists.", +"id": "ListCertificateRevocationListsResponse", +"properties": { +"certificateRevocationLists": { +"description": "The list of CertificateRevocationLists.", +"items": { +"$ref": "CertificateRevocationList" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass this value in ListCertificateRevocationListsRequest.page_token to retrieve the next page of results.", +"type": "string" +}, +"unreachable": { +"description": "A list of locations (e.g. \"us-west1\") that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListCertificateTemplatesResponse": { +"description": "Response message for CertificateAuthorityService.ListCertificateTemplates.", +"id": "ListCertificateTemplatesResponse", +"properties": { +"certificateTemplates": { +"description": "The list of CertificateTemplates.", +"items": { +"$ref": "CertificateTemplate" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass this value in ListCertificateTemplatesRequest.page_token to retrieve the next page of results.", +"type": "string" +}, +"unreachable": { +"description": "A list of locations (e.g. \"us-west1\") that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListCertificatesResponse": { +"description": "Response message for CertificateAuthorityService.ListCertificates.", +"id": "ListCertificatesResponse", +"properties": { +"certificates": { +"description": "The list of Certificates.", +"items": { +"$ref": "Certificate" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass this value in ListCertificatesRequest.page_token to retrieve the next page of results.", +"type": "string" +}, +"unreachable": { +"description": "A list of locations (e.g. \"us-west1\") 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" +}, +"NameConstraints": { +"description": "Describes the X.509 name constraints extension, per https://tools.ietf.org/html/rfc5280#section-4.2.1.10", +"id": "NameConstraints", +"properties": { +"critical": { +"description": "Indicates whether or not the name constraints are marked critical.", +"type": "boolean" +}, +"excludedDnsNames": { +"description": "Contains excluded DNS names. Any DNS name that can be constructed by simply adding zero or more labels to the left-hand side of the name satisfies the name constraint. For example, `example.com`, `www.example.com`, `www.sub.example.com` would satisfy `example.com` while `example1.com` does not.", +"items": { +"type": "string" +}, +"type": "array" +}, +"excludedEmailAddresses": { +"description": "Contains the excluded email addresses. The value can be a particular email address, a hostname to indicate all email addresses on that host or a domain with a leading period (e.g. `.example.com`) to indicate all email addresses in that domain.", +"items": { +"type": "string" +}, +"type": "array" +}, +"excludedIpRanges": { +"description": "Contains the excluded IP ranges. For IPv4 addresses, the ranges are expressed using CIDR notation as specified in RFC 4632. For IPv6 addresses, the ranges are expressed in similar encoding as IPv4 addresses.", +"items": { +"type": "string" +}, +"type": "array" +}, +"excludedUris": { +"description": "Contains the excluded URIs that apply to the host part of the name. The value can be a hostname or a domain with a leading period (like `.example.com`)", +"items": { +"type": "string" +}, +"type": "array" +}, +"permittedDnsNames": { +"description": "Contains permitted DNS names. Any DNS name that can be constructed by simply adding zero or more labels to the left-hand side of the name satisfies the name constraint. For example, `example.com`, `www.example.com`, `www.sub.example.com` would satisfy `example.com` while `example1.com` does not.", +"items": { +"type": "string" +}, +"type": "array" +}, +"permittedEmailAddresses": { +"description": "Contains the permitted email addresses. The value can be a particular email address, a hostname to indicate all email addresses on that host or a domain with a leading period (e.g. `.example.com`) to indicate all email addresses in that domain.", +"items": { +"type": "string" +}, +"type": "array" +}, +"permittedIpRanges": { +"description": "Contains the permitted IP ranges. For IPv4 addresses, the ranges are expressed using CIDR notation as specified in RFC 4632. For IPv6 addresses, the ranges are expressed in similar encoding as IPv4 addresses.", +"items": { +"type": "string" +}, +"type": "array" +}, +"permittedUris": { +"description": "Contains the permitted URIs that apply to the host part of the name. The value can be a hostname or a domain with a leading period (like `.example.com`)", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ObjectId": { +"description": "An ObjectId specifies an object identifier (OID). These provide context and describe types in ASN.1 messages.", +"id": "ObjectId", +"properties": { +"objectIdPath": { +"description": "Required. The parts of an OID path. The most significant parts of the path come first.", +"items": { +"format": "int32", +"type": "integer" +}, +"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 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 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" +}, +"PublicKey": { +"description": "A PublicKey describes a public key.", +"id": "PublicKey", +"properties": { +"format": { +"description": "Required. The format of the public key.", +"enum": [ +"KEY_FORMAT_UNSPECIFIED", +"PEM" +], +"enumDescriptions": [ +"Default unspecified value.", +"The key is PEM-encoded as defined in [RFC 7468](https://tools.ietf.org/html/rfc7468). It can be any of the following: a PEM-encoded PKCS#1/RFC 3447 RSAPublicKey structure, an RFC 5280 [SubjectPublicKeyInfo](https://tools.ietf.org/html/rfc5280#section-4.1) or a PEM-encoded X.509 certificate signing request (CSR). If a [SubjectPublicKeyInfo](https://tools.ietf.org/html/rfc5280#section-4.1) is specified, it can contain a A PEM-encoded PKCS#1/RFC 3447 RSAPublicKey or a NIST P-256/secp256r1/prime256v1 or P-384 key. If a CSR is specified, it will used solely for the purpose of extracting the public key. When generated by the service, it will always be an RFC 5280 [SubjectPublicKeyInfo](https://tools.ietf.org/html/rfc5280#section-4.1) structure containing an algorithm identifier and a key." +], +"type": "string" +}, +"key": { +"description": "Required. A public key. The padding and encoding must match with the `KeyFormat` value specified for the `format` field.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"PublishingOptions": { +"description": "Options relating to the publication of each CertificateAuthority's CA certificate and CRLs and their inclusion as extensions in issued Certificates. The options set here apply to certificates issued by any CertificateAuthority in the CaPool.", +"id": "PublishingOptions", +"properties": { +"encodingFormat": { +"description": "Optional. Specifies the encoding format of each CertificateAuthority resource's CA certificate and CRLs. If this is omitted, CA certificates and CRLs will be published in PEM.", +"enum": [ +"ENCODING_FORMAT_UNSPECIFIED", +"PEM", +"DER" +], +"enumDescriptions": [ +"Not specified. By default, PEM format will be used.", +"The CertificateAuthority's CA certificate and CRLs will be published in PEM format.", +"The CertificateAuthority's CA certificate and CRLs will be published in DER format." +], +"type": "string" +}, +"publishCaCert": { +"description": "Optional. When true, publishes each CertificateAuthority's CA certificate and includes its URL in the \"Authority Information Access\" X.509 extension in all issued Certificates. If this is false, the CA certificate will not be published and the corresponding X.509 extension will not be written in issued certificates.", +"type": "boolean" +}, +"publishCrl": { +"description": "Optional. When true, publishes each CertificateAuthority's CRL and includes its URL in the \"CRL Distribution Points\" X.509 extension in all issued Certificates. If this is false, CRLs will not be published and the corresponding X.509 extension will not be written in issued certificates. CRLs will expire 7 days from their creation. However, we will rebuild daily. CRLs are also rebuilt shortly after a certificate is revoked.", +"type": "boolean" +} +}, +"type": "object" +}, +"ReconciliationOperationMetadata": { +"description": "Operation metadata returned by the CLH during resource state reconciliation.", +"id": "ReconciliationOperationMetadata", +"properties": { +"deleteResource": { +"deprecated": true, +"description": "DEPRECATED. Use exclusive_action instead.", +"type": "boolean" +}, +"exclusiveAction": { +"description": "Excluisive action returned by the CLH.", +"enum": [ +"UNKNOWN_REPAIR_ACTION", +"DELETE", +"RETRY" +], +"enumDeprecated": [ +false, +true, +false +], +"enumDescriptions": [ +"Unknown repair action.", +"The resource has to be deleted. When using this bit, the CLH should fail the operation. DEPRECATED. Instead use DELETE_RESOURCE OperationSignal in SideChannel.", +"This resource could not be repaired but the repair should be tried again at a later time. This can happen if there is a dependency that needs to be resolved first- e.g. if a parent resource must be repaired before a child resource." +], +"type": "string" +} +}, +"type": "object" +}, +"RevocationDetails": { +"description": "Describes fields that are relavent to the revocation of a Certificate.", +"id": "RevocationDetails", +"properties": { +"revocationState": { +"description": "Indicates why a Certificate was revoked.", +"enum": [ +"REVOCATION_REASON_UNSPECIFIED", +"KEY_COMPROMISE", +"CERTIFICATE_AUTHORITY_COMPROMISE", +"AFFILIATION_CHANGED", +"SUPERSEDED", +"CESSATION_OF_OPERATION", +"CERTIFICATE_HOLD", +"PRIVILEGE_WITHDRAWN", +"ATTRIBUTE_AUTHORITY_COMPROMISE" +], +"enumDescriptions": [ +"Default unspecified value. This value does indicate that a Certificate has been revoked, but that a reason has not been recorded.", +"Key material for this Certificate may have leaked.", +"The key material for a certificate authority in the issuing path may have leaked.", +"The subject or other attributes in this Certificate have changed.", +"This Certificate has been superseded.", +"This Certificate or entities in the issuing path have ceased to operate.", +"This Certificate should not be considered valid, it is expected that it may become valid in the future.", +"This Certificate no longer has permission to assert the listed attributes.", +"The authority which determines appropriate attributes for a Certificate may have been compromised." +], +"type": "string" +}, +"revocationTime": { +"description": "The time at which this Certificate was revoked.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"RevokeCertificateRequest": { +"description": "Request message for CertificateAuthorityService.RevokeCertificate.", +"id": "RevokeCertificateRequest", +"properties": { +"reason": { +"description": "Required. The RevocationReason for revoking this certificate.", +"enum": [ +"REVOCATION_REASON_UNSPECIFIED", +"KEY_COMPROMISE", +"CERTIFICATE_AUTHORITY_COMPROMISE", +"AFFILIATION_CHANGED", +"SUPERSEDED", +"CESSATION_OF_OPERATION", +"CERTIFICATE_HOLD", +"PRIVILEGE_WITHDRAWN", +"ATTRIBUTE_AUTHORITY_COMPROMISE" +], +"enumDescriptions": [ +"Default unspecified value. This value does indicate that a Certificate has been revoked, but that a reason has not been recorded.", +"Key material for this Certificate may have leaked.", +"The key material for a certificate authority in the issuing path may have leaked.", +"The subject or other attributes in this Certificate have changed.", +"This Certificate has been superseded.", +"This Certificate or entities in the issuing path have ceased to operate.", +"This Certificate should not be considered valid, it is expected that it may become valid in the future.", +"This Certificate no longer has permission to assert the listed attributes.", +"The authority which determines appropriate attributes for a Certificate may have been compromised." +], +"type": "string" +}, +"requestId": { +"description": "Optional. An ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"type": "string" +} +}, +"type": "object" +}, +"RevokedCertificate": { +"description": "Describes a revoked Certificate.", +"id": "RevokedCertificate", +"properties": { +"certificate": { +"description": "The resource name for the Certificate in the format `projects/*/locations/*/caPools/*/certificates/*`.", +"type": "string" +}, +"hexSerialNumber": { +"description": "The serial number of the Certificate.", +"type": "string" +}, +"revocationReason": { +"description": "The reason the Certificate was revoked.", +"enum": [ +"REVOCATION_REASON_UNSPECIFIED", +"KEY_COMPROMISE", +"CERTIFICATE_AUTHORITY_COMPROMISE", +"AFFILIATION_CHANGED", +"SUPERSEDED", +"CESSATION_OF_OPERATION", +"CERTIFICATE_HOLD", +"PRIVILEGE_WITHDRAWN", +"ATTRIBUTE_AUTHORITY_COMPROMISE" +], +"enumDescriptions": [ +"Default unspecified value. This value does indicate that a Certificate has been revoked, but that a reason has not been recorded.", +"Key material for this Certificate may have leaked.", +"The key material for a certificate authority in the issuing path may have leaked.", +"The subject or other attributes in this Certificate have changed.", +"This Certificate has been superseded.", +"This Certificate or entities in the issuing path have ceased to operate.", +"This Certificate should not be considered valid, it is expected that it may become valid in the future.", +"This Certificate no longer has permission to assert the listed attributes.", +"The authority which determines appropriate attributes for a Certificate may have been compromised." +], +"type": "string" +} +}, +"type": "object" +}, +"RsaKeyType": { +"description": "Describes an RSA key that may be used in a Certificate issued from a CaPool.", +"id": "RsaKeyType", +"properties": { +"maxModulusSize": { +"description": "Optional. The maximum allowed RSA modulus size (inclusive), in bits. If this is not set, or if set to zero, the service will not enforce an explicit upper bound on RSA modulus sizes.", +"format": "int64", +"type": "string" +}, +"minModulusSize": { +"description": "Optional. The minimum allowed RSA modulus size (inclusive), in bits. If this is not set, or if set to zero, the service-level min RSA modulus size will continue to apply.", +"format": "int64", +"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" +}, +"Subject": { +"description": "Subject describes parts of a distinguished name that, in turn, describes the subject of the certificate.", +"id": "Subject", +"properties": { +"commonName": { +"description": "The \"common name\" of the subject.", +"type": "string" +}, +"countryCode": { +"description": "The country code of the subject.", +"type": "string" +}, +"locality": { +"description": "The locality or city of the subject.", +"type": "string" +}, +"organization": { +"description": "The organization of the subject.", +"type": "string" +}, +"organizationalUnit": { +"description": "The organizational_unit of the subject.", +"type": "string" +}, +"postalCode": { +"description": "The postal code of the subject.", +"type": "string" +}, +"province": { +"description": "The province, territory, or regional state of the subject.", +"type": "string" +}, +"streetAddress": { +"description": "The street address of the subject.", +"type": "string" +} +}, +"type": "object" +}, +"SubjectAltNames": { +"description": "SubjectAltNames corresponds to a more modern way of listing what the asserted identity is in a certificate (i.e., compared to the \"common name\" in the distinguished name).", +"id": "SubjectAltNames", +"properties": { +"customSans": { +"description": "Contains additional subject alternative name values. For each custom_san, the `value` field must contain an ASN.1 encoded UTF8String.", +"items": { +"$ref": "X509Extension" +}, +"type": "array" +}, +"dnsNames": { +"description": "Contains only valid, fully-qualified host names.", +"items": { +"type": "string" +}, +"type": "array" +}, +"emailAddresses": { +"description": "Contains only valid RFC 2822 E-mail addresses.", +"items": { +"type": "string" +}, +"type": "array" +}, +"ipAddresses": { +"description": "Contains only valid 32-bit IPv4 addresses or RFC 4291 IPv6 addresses.", +"items": { +"type": "string" +}, +"type": "array" +}, +"uris": { +"description": "Contains only valid RFC 3986 URIs.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SubjectConfig": { +"description": "These values are used to create the distinguished name and subject alternative name fields in an X.509 certificate.", +"id": "SubjectConfig", +"properties": { +"subject": { +"$ref": "Subject", +"description": "Optional. Contains distinguished name fields such as the common name, location and organization." +}, +"subjectAltName": { +"$ref": "SubjectAltNames", +"description": "Optional. The subject alternative name fields." +} +}, +"type": "object" +}, +"SubjectDescription": { +"description": "These values describe fields in an issued X.509 certificate such as the distinguished name, subject alternative names, serial number, and lifetime.", +"id": "SubjectDescription", +"properties": { +"hexSerialNumber": { +"description": "The serial number encoded in lowercase hexadecimal.", +"type": "string" +}, +"lifetime": { +"description": "For convenience, the actual lifetime of an issued certificate.", +"format": "google-duration", +"type": "string" +}, +"notAfterTime": { +"description": "The time after which the certificate is expired. Per RFC 5280, the validity period for a certificate is the period of time from not_before_time through not_after_time, inclusive. Corresponds to 'not_before_time' + 'lifetime' - 1 second.", +"format": "google-datetime", +"type": "string" +}, +"notBeforeTime": { +"description": "The time at which the certificate becomes valid.", +"format": "google-datetime", +"type": "string" +}, +"subject": { +"$ref": "Subject", +"description": "Contains distinguished name fields such as the common name, location and / organization." +}, +"subjectAltName": { +"$ref": "SubjectAltNames", +"description": "The subject alternative name fields." +} +}, +"type": "object" +}, +"SubordinateConfig": { +"description": "Describes a subordinate CA's issuers. This is either a resource name to a known issuing CertificateAuthority, or a PEM issuer certificate chain.", +"id": "SubordinateConfig", +"properties": { +"certificateAuthority": { +"description": "Required. This can refer to a CertificateAuthority that was used to create a subordinate CertificateAuthority. This field is used for information and usability purposes only. The resource name is in the format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.", +"type": "string" +}, +"pemIssuerChain": { +"$ref": "SubordinateConfigChain", +"description": "Required. Contains the PEM certificate chain for the issuers of this CertificateAuthority, but not pem certificate for this CA itself." +} +}, +"type": "object" +}, +"SubordinateConfigChain": { +"description": "This message describes a subordinate CA's issuer certificate chain. This wrapper exists for compatibility reasons.", +"id": "SubordinateConfigChain", +"properties": { +"pemCertificates": { +"description": "Required. Expected to be in leaf-to-root order according to RFC 5246.", +"items": { +"type": "string" +}, +"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" +}, +"UndeleteCertificateAuthorityRequest": { +"description": "Request message for CertificateAuthorityService.UndeleteCertificateAuthority.", +"id": "UndeleteCertificateAuthorityRequest", +"properties": { +"requestId": { +"description": "Optional. An ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"type": "string" +} +}, +"type": "object" +}, +"X509Extension": { +"description": "An X509Extension specifies an X.509 extension, which may be used in different parts of X.509 objects like certificates, CSRs, and CRLs.", +"id": "X509Extension", +"properties": { +"critical": { +"description": "Optional. Indicates whether or not this extension is critical (i.e., if the client does not know how to handle this extension, the client should consider this to be an error).", +"type": "boolean" +}, +"objectId": { +"$ref": "ObjectId", +"description": "Required. The OID for this X.509 extension." +}, +"value": { +"description": "Required. The value of this X.509 extension.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"X509Parameters": { +"description": "An X509Parameters is used to describe certain fields of an X.509 certificate, such as the key usage fields, fields specific to CA certificates, certificate policy extensions and custom extensions.", +"id": "X509Parameters", +"properties": { +"additionalExtensions": { +"description": "Optional. Describes custom X.509 extensions.", +"items": { +"$ref": "X509Extension" +}, +"type": "array" +}, +"aiaOcspServers": { +"description": "Optional. Describes Online Certificate Status Protocol (OCSP) endpoint addresses that appear in the \"Authority Information Access\" extension in the certificate.", +"items": { +"type": "string" +}, +"type": "array" +}, +"caOptions": { +"$ref": "CaOptions", +"description": "Optional. Describes options in this X509Parameters that are relevant in a CA certificate. If not specified, a default basic constraints extension with `is_ca=false` will be added for leaf certificates." +}, +"keyUsage": { +"$ref": "KeyUsage", +"description": "Optional. Indicates the intended use for keys that correspond to a certificate." +}, +"nameConstraints": { +"$ref": "NameConstraints", +"description": "Optional. Describes the X.509 name constraints extension." +}, +"policyIds": { +"description": "Optional. Describes the X.509 certificate policy object identifiers, per https://tools.ietf.org/html/rfc5280#section-4.2.1.4.", +"items": { +"$ref": "ObjectId" +}, +"type": "array" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Certificate Authority 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.v1beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/publicca.v1beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..5133bf5d50560f642b5385b782eccc92c1a2671f --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/publicca.v1beta1.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:v1beta1", +"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": "v1beta1/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": "v1beta1/{+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": "v1beta1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/pubsub.v1beta1a.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/pubsub.v1beta1a.json new file mode 100644 index 0000000000000000000000000000000000000000..39a5637fefedb09161f8bf0afe165083576889a3 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/pubsub.v1beta1a.json @@ -0,0 +1,870 @@ +{ +"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/pubsub": { +"description": "View and manage Pub/Sub topics and subscriptions" +} +} +} +}, +"basePath": "", +"baseUrl": "https://pubsub.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Pubsub", +"description": "Provides reliable, many-to-many, asynchronous messaging between applications. ", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/pubsub/docs", +"endpoints": [ +{ +"description": "Regional Endpoint", +"endpointUrl": "https://pubsub.me-central2.rep.googleapis.com/", +"location": "me-central2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://pubsub.europe-west3.rep.googleapis.com/", +"location": "europe-west3" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://pubsub.europe-west8.rep.googleapis.com/", +"location": "europe-west8" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://pubsub.europe-west9.rep.googleapis.com/", +"location": "europe-west9" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://pubsub.us-central1.rep.googleapis.com/", +"location": "us-central1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://pubsub.us-central2.rep.googleapis.com/", +"location": "us-central2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://pubsub.us-east1.rep.googleapis.com/", +"location": "us-east1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://pubsub.us-east4.rep.googleapis.com/", +"location": "us-east4" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://pubsub.us-east5.rep.googleapis.com/", +"location": "us-east5" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://pubsub.us-south1.rep.googleapis.com/", +"location": "us-south1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://pubsub.us-west1.rep.googleapis.com/", +"location": "us-west1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://pubsub.us-west2.rep.googleapis.com/", +"location": "us-west2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://pubsub.us-west3.rep.googleapis.com/", +"location": "us-west3" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://pubsub.us-west4.rep.googleapis.com/", +"location": "us-west4" +} +], +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "pubsub:v1beta1a", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://pubsub.mtls.googleapis.com/", +"name": "pubsub", +"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": { +"subscriptions": { +"methods": { +"acknowledge": { +"description": "Acknowledges a particular received message: the Pub/Sub system can remove the given message from the subscription. Acknowledging a message whose Ack deadline has expired may succeed, but the message could have been already redelivered. Acknowledging a message more than once will not result in an error. This is only used for messages received via pull.", +"flatPath": "v1beta1a/subscriptions/acknowledge", +"httpMethod": "POST", +"id": "pubsub.subscriptions.acknowledge", +"parameterOrder": [], +"parameters": {}, +"path": "v1beta1a/subscriptions/acknowledge", +"request": { +"$ref": "AcknowledgeRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"create": { +"description": "Creates a subscription on a given topic for a given subscriber. If the subscription already exists, returns ALREADY_EXISTS. If the corresponding topic doesn't exist, returns NOT_FOUND. If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic.", +"flatPath": "v1beta1a/subscriptions", +"httpMethod": "POST", +"id": "pubsub.subscriptions.create", +"parameterOrder": [], +"parameters": {}, +"path": "v1beta1a/subscriptions", +"request": { +"$ref": "Subscription" +}, +"response": { +"$ref": "Subscription" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"delete": { +"description": "Deletes an existing subscription. All pending messages in the subscription are immediately dropped. Calls to Pull after deletion will return NOT_FOUND.", +"flatPath": "v1beta1a/subscriptions/{subscriptionsId}", +"httpMethod": "DELETE", +"id": "pubsub.subscriptions.delete", +"parameterOrder": [ +"subscription" +], +"parameters": { +"subscription": { +"description": "The subscription to delete.", +"location": "path", +"pattern": "^.*$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1a/subscriptions/{+subscription}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"get": { +"description": "Gets the configuration details of a subscription.", +"flatPath": "v1beta1a/subscriptions/{subscriptionsId}", +"httpMethod": "GET", +"id": "pubsub.subscriptions.get", +"parameterOrder": [ +"subscription" +], +"parameters": { +"subscription": { +"description": "The name of the subscription to get.", +"location": "path", +"pattern": "^.*$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1a/subscriptions/{+subscription}", +"response": { +"$ref": "Subscription" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"list": { +"description": "Lists matching subscriptions.", +"flatPath": "v1beta1a/subscriptions", +"httpMethod": "GET", +"id": "pubsub.subscriptions.list", +"parameterOrder": [], +"parameters": { +"maxResults": { +"description": "Maximum number of subscriptions to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The value obtained in the last ListSubscriptionsResponse for continuation.", +"location": "query", +"type": "string" +}, +"query": { +"description": "A valid label query expression.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1a/subscriptions", +"response": { +"$ref": "ListSubscriptionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"modifyAckDeadline": { +"description": "Modifies the Ack deadline for a message received from a pull request.", +"flatPath": "v1beta1a/subscriptions/modifyAckDeadline", +"httpMethod": "POST", +"id": "pubsub.subscriptions.modifyAckDeadline", +"parameterOrder": [], +"parameters": {}, +"path": "v1beta1a/subscriptions/modifyAckDeadline", +"request": { +"$ref": "ModifyAckDeadlineRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"modifyPushConfig": { +"description": "Modifies the PushConfig for a specified subscription. This method can be used to suspend the flow of messages to an endpoint by clearing the PushConfig field in the request. Messages will be accumulated for delivery even if no push configuration is defined or while the configuration is modified.", +"flatPath": "v1beta1a/subscriptions/modifyPushConfig", +"httpMethod": "POST", +"id": "pubsub.subscriptions.modifyPushConfig", +"parameterOrder": [], +"parameters": {}, +"path": "v1beta1a/subscriptions/modifyPushConfig", +"request": { +"$ref": "ModifyPushConfigRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"pull": { +"description": "Pulls a single message from the server. If return_immediately is true, and no messages are available in the subscription, this method returns FAILED_PRECONDITION. The system is free to return an UNAVAILABLE error if no messages are available in a reasonable amount of time (to reduce system load).", +"flatPath": "v1beta1a/subscriptions/pull", +"httpMethod": "POST", +"id": "pubsub.subscriptions.pull", +"parameterOrder": [], +"parameters": {}, +"path": "v1beta1a/subscriptions/pull", +"request": { +"$ref": "PullRequest" +}, +"response": { +"$ref": "PullResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"pullBatch": { +"description": "Pulls messages from the server. Returns an empty list if there are no messages available in the backlog. The system is free to return UNAVAILABLE if there are too many pull requests outstanding for the given subscription.", +"flatPath": "v1beta1a/subscriptions/pullBatch", +"httpMethod": "POST", +"id": "pubsub.subscriptions.pullBatch", +"parameterOrder": [], +"parameters": {}, +"path": "v1beta1a/subscriptions/pullBatch", +"request": { +"$ref": "PullBatchRequest" +}, +"response": { +"$ref": "PullBatchResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +} +} +}, +"topics": { +"methods": { +"create": { +"description": "Creates the given topic with the given name.", +"flatPath": "v1beta1a/topics", +"httpMethod": "POST", +"id": "pubsub.topics.create", +"parameterOrder": [], +"parameters": {}, +"path": "v1beta1a/topics", +"request": { +"$ref": "Topic" +}, +"response": { +"$ref": "Topic" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"delete": { +"description": "Deletes the topic with the given name. Returns NOT_FOUND if the topic does not exist. After a topic is deleted, a new topic may be created with the same name.", +"flatPath": "v1beta1a/topics/{topicsId}", +"httpMethod": "DELETE", +"id": "pubsub.topics.delete", +"parameterOrder": [ +"topic" +], +"parameters": { +"topic": { +"description": "Name of the topic to delete.", +"location": "path", +"pattern": "^.*$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1a/topics/{+topic}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"get": { +"description": "Gets the configuration of a topic. Since the topic only has the name attribute, this method is only useful to check the existence of a topic. If other attributes are added in the future, they will be returned here.", +"flatPath": "v1beta1a/topics/{topicsId}", +"httpMethod": "GET", +"id": "pubsub.topics.get", +"parameterOrder": [ +"topic" +], +"parameters": { +"topic": { +"description": "The name of the topic to get.", +"location": "path", +"pattern": "^.*$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1a/topics/{+topic}", +"response": { +"$ref": "Topic" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"list": { +"description": "Lists matching topics.", +"flatPath": "v1beta1a/topics", +"httpMethod": "GET", +"id": "pubsub.topics.list", +"parameterOrder": [], +"parameters": { +"maxResults": { +"description": "Maximum number of topics to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The value obtained in the last ListTopicsResponse for continuation.", +"location": "query", +"type": "string" +}, +"query": { +"description": "A valid label query expression.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1a/topics", +"response": { +"$ref": "ListTopicsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"publish": { +"description": "Adds a message to the topic. Returns NOT_FOUND if the topic does not exist.", +"flatPath": "v1beta1a/topics/publish", +"httpMethod": "POST", +"id": "pubsub.topics.publish", +"parameterOrder": [], +"parameters": {}, +"path": "v1beta1a/topics/publish", +"request": { +"$ref": "PublishRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +}, +"publishBatch": { +"description": "Adds one or more messages to the topic. Returns NOT_FOUND if the topic does not exist.", +"flatPath": "v1beta1a/topics/publishBatch", +"httpMethod": "POST", +"id": "pubsub.topics.publishBatch", +"parameterOrder": [], +"parameters": {}, +"path": "v1beta1a/topics/publishBatch", +"request": { +"$ref": "PublishBatchRequest" +}, +"response": { +"$ref": "PublishBatchResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/pubsub" +] +} +} +} +}, +"revision": "20240730", +"rootUrl": "https://pubsub.googleapis.com/", +"schemas": { +"AcknowledgeRequest": { +"description": "Request for the Acknowledge method.", +"id": "AcknowledgeRequest", +"properties": { +"ackId": { +"description": "The acknowledgment ID for the message being acknowledged. This was returned by the Pub/Sub system in the Pull response.", +"items": { +"type": "string" +}, +"type": "array" +}, +"subscription": { +"description": "The subscription whose message is being acknowledged.", +"type": "string" +} +}, +"type": "object" +}, +"Empty": { +"description": "An empty message that you can re-use to avoid defining duplicated empty messages in your project. A typical example is to use it as argument or the return value of a service API. For instance: service Foo { rpc Bar (proto2.Empty) returns (proto2.Empty) { }; }; BEGIN GOOGLE-INTERNAL The difference between this one and net/rpc/empty-message.proto is that 1) The generated message here is in proto2 C++ API. 2) The proto2.Empty has minimum dependencies (no message_set or net/rpc dependencies) END GOOGLE-INTERNAL", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"Label": { +"description": "A key-value pair applied to a given object.", +"id": "Label", +"properties": { +"key": { +"description": "The key of a label is a syntactically valid URL (as per RFC 1738) with the \"scheme\" and initial slashes omitted and with the additional restrictions noted below. Each key should be globally unique. The \"host\" portion is called the \"namespace\" and is not necessarily resolvable to a network endpoint. Instead, the namespace indicates what system or entity defines the semantics of the label. Namespaces do not restrict the set of objects to which a label may be associated. Keys are defined by the following grammar: key = hostname \"/\" kpath kpath = ksegment *[ \"/\" ksegment ] ksegment = alphadigit | *[ alphadigit | \"-\" | \"_\" | \".\" ] where \"hostname\" and \"alphadigit\" are defined as in RFC 1738. Example key: spanner.google.com/universe", +"type": "string" +}, +"numValue": { +"description": "An integer value.", +"format": "int64", +"type": "string" +}, +"strValue": { +"description": "A string value.", +"type": "string" +} +}, +"type": "object" +}, +"ListSubscriptionsResponse": { +"description": "Response for the ListSubscriptions method.", +"id": "ListSubscriptionsResponse", +"properties": { +"nextPageToken": { +"description": "If not empty, indicates that there are more subscriptions that match the request and this value should be passed to the next ListSubscriptionsRequest to continue.", +"type": "string" +}, +"subscription": { +"description": "The subscriptions that match the request.", +"items": { +"$ref": "Subscription" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListTopicsResponse": { +"description": "Response for the ListTopics method.", +"id": "ListTopicsResponse", +"properties": { +"nextPageToken": { +"description": "If not empty, indicates that there are more topics that match the request, and this value should be passed to the next ListTopicsRequest to continue.", +"type": "string" +}, +"topic": { +"description": "The resulting topics.", +"items": { +"$ref": "Topic" +}, +"type": "array" +} +}, +"type": "object" +}, +"ModifyAckDeadlineRequest": { +"description": "Request for the ModifyAckDeadline method.", +"id": "ModifyAckDeadlineRequest", +"properties": { +"ackDeadlineSeconds": { +"description": "The new ack deadline with respect to the time this request was sent to the Pub/Sub system. Must be >= 0. For example, if the value is 10, the new ack deadline will expire 10 seconds after the ModifyAckDeadline call was made. Specifying zero may immediately make the message available for another pull request.", +"format": "int32", +"type": "integer" +}, +"ackId": { +"deprecated": true, +"description": "The acknowledgment ID. Either this or ack_ids must be populated, not both.", +"type": "string" +}, +"ackIds": { +"description": "List of acknowledgment IDs. Either this field or ack_id should be populated, not both.", +"items": { +"type": "string" +}, +"type": "array" +}, +"subscription": { +"description": "Next Index: 5 The name of the subscription from which messages are being pulled.", +"type": "string" +} +}, +"type": "object" +}, +"ModifyPushConfigRequest": { +"description": "Request for the ModifyPushConfig method.", +"id": "ModifyPushConfigRequest", +"properties": { +"pushConfig": { +"$ref": "PushConfig", +"description": "An empty push_config indicates that the Pub/Sub system should pause pushing messages from the given subscription." +}, +"subscription": { +"description": "The name of the subscription.", +"type": "string" +} +}, +"type": "object" +}, +"PublishBatchRequest": { +"description": "Request for the PublishBatch method.", +"id": "PublishBatchRequest", +"properties": { +"messages": { +"description": "The messages to publish.", +"items": { +"$ref": "PubsubMessage" +}, +"type": "array" +}, +"topic": { +"description": "The messages in the request will be published on this topic.", +"type": "string" +} +}, +"type": "object" +}, +"PublishBatchResponse": { +"description": "Response for the PublishBatch method.", +"id": "PublishBatchResponse", +"properties": { +"messageIds": { +"description": "The server-assigned ID of each published message, in the same order as the messages in the request. IDs are guaranteed to be unique within the topic.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"PublishRequest": { +"description": "Request for the Publish method.", +"id": "PublishRequest", +"properties": { +"message": { +"$ref": "PubsubMessage", +"description": "The message to publish." +}, +"topic": { +"description": "The message in the request will be published on this topic.", +"type": "string" +} +}, +"type": "object" +}, +"PubsubEvent": { +"description": "An event indicating a received message or truncation event.", +"id": "PubsubEvent", +"properties": { +"deleted": { +"description": "Indicates that this subscription has been deleted. (Note that pull subscribers will always receive NOT_FOUND in response in their pull request on the subscription, rather than seeing this boolean.)", +"type": "boolean" +}, +"message": { +"$ref": "PubsubMessage", +"description": "A received message." +}, +"subscription": { +"description": "The subscription that received the event.", +"type": "string" +}, +"truncated": { +"description": "Indicates that this subscription has been truncated.", +"type": "boolean" +} +}, +"type": "object" +}, +"PubsubMessage": { +"description": "A message data and its labels.", +"id": "PubsubMessage", +"properties": { +"data": { +"description": "The message payload.", +"format": "byte", +"type": "string" +}, +"label": { +"description": "Optional list of labels for this message. Keys in this collection must be unique.", +"items": { +"$ref": "Label" +}, +"type": "array" +}, +"messageId": { +"description": "ID of this message assigned by the server at publication time. Guaranteed to be unique within the topic. This value may be read by a subscriber that receives a PubsubMessage via a Pull call or a push delivery. It must not be populated by a publisher in a Publish call.", +"type": "string" +}, +"publishTime": { +"description": "The time at which the message was published. The time is milliseconds since the UNIX epoch.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"PullBatchRequest": { +"description": "Request for the PullBatch method.", +"id": "PullBatchRequest", +"properties": { +"maxEvents": { +"description": "The maximum number of PubsubEvents returned for this request. The Pub/Sub system may return fewer than the number of events specified.", +"format": "int32", +"type": "integer" +}, +"returnImmediately": { +"description": "If this is specified as true the system will respond immediately even if it is not able to return a message in the Pull response. Otherwise the system is allowed to wait until at least one message is available rather than returning no messages. The client may cancel the request if it does not wish to wait any longer for the response.", +"type": "boolean" +}, +"subscription": { +"description": "The subscription from which messages should be pulled.", +"type": "string" +} +}, +"type": "object" +}, +"PullBatchResponse": { +"description": "Response for the PullBatch method.", +"id": "PullBatchResponse", +"properties": { +"pullResponses": { +"description": "Received Pub/Sub messages or status events. The Pub/Sub system will return zero messages if there are no more messages available in the backlog. The Pub/Sub system may return fewer than the max_events requested even if there are more messages available in the backlog.", +"items": { +"$ref": "PullResponse" +}, +"type": "array" +} +}, +"type": "object" +}, +"PullRequest": { +"description": "Request for the Pull method.", +"id": "PullRequest", +"properties": { +"returnImmediately": { +"description": "If this is specified as true the system will respond immediately even if it is not able to return a message in the Pull response. Otherwise the system is allowed to wait until at least one message is available rather than returning FAILED_PRECONDITION. The client may cancel the request if it does not wish to wait any longer for the response.", +"type": "boolean" +}, +"subscription": { +"description": "The subscription from which a message should be pulled.", +"type": "string" +} +}, +"type": "object" +}, +"PullResponse": { +"description": "Either a PubsubMessage or a truncation event. One of these two must be populated.", +"id": "PullResponse", +"properties": { +"ackId": { +"description": "This ID must be used to acknowledge the received event or message.", +"type": "string" +}, +"pubsubEvent": { +"$ref": "PubsubEvent", +"description": "A pubsub message or truncation event." +} +}, +"type": "object" +}, +"PushConfig": { +"description": "Configuration for a push delivery endpoint.", +"id": "PushConfig", +"properties": { +"pushEndpoint": { +"description": "A URL locating the endpoint to which messages should be pushed. For example, a Webhook endpoint might use \"https://example.com/push\".", +"type": "string" +} +}, +"type": "object" +}, +"Subscription": { +"description": "A subscription resource.", +"id": "Subscription", +"properties": { +"ackDeadlineSeconds": { +"description": "For either push or pull delivery, the value is the maximum time after a subscriber receives a message before the subscriber should acknowledge or Nack the message. If the Ack deadline for a message passes without an Ack or a Nack, the Pub/Sub system will eventually redeliver the message. If a subscriber acknowledges after the deadline, the Pub/Sub system may accept the Ack, but it is possible that the message has been already delivered again. Multiple Acks to the message are allowed and will succeed. For push delivery, this value is used to set the request timeout for the call to the push endpoint. For pull delivery, this value is used as the initial value for the Ack deadline. It may be overridden for each message using its corresponding ack_id with ModifyAckDeadline. While a message is outstanding (i.e. it has been delivered to a pull subscriber and the subscriber has not yet Acked or Nacked), the Pub/Sub system will not deliver that message to another pull subscriber (on a best-effort basis).", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "Name of the subscription.", +"type": "string" +}, +"pushConfig": { +"$ref": "PushConfig", +"description": "If push delivery is used with this subscription, this field is used to configure it." +}, +"topic": { +"description": "The name of the topic from which this subscription is receiving messages.", +"type": "string" +} +}, +"type": "object" +}, +"Topic": { +"description": "A topic resource.", +"id": "Topic", +"properties": { +"name": { +"description": "Name of the topic.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Pub/Sub API", +"version": "v1beta1a" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/realtimebidding.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/realtimebidding.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..64930e0d25e9caf44d10503429856a2790d3ff1f --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/realtimebidding.v1.json @@ -0,0 +1,3340 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/realtime-bidding": { +"description": "See, create, edit, and delete your Authorized Buyers and Open Bidding account entities" +} +} +} +}, +"basePath": "", +"baseUrl": "https://realtimebidding.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Real-time Bidding", +"description": "Allows external bidders to manage their RTB integration with Google. This includes managing bidder endpoints, QPS quotas, configuring what ad inventory to receive via pretargeting, submitting creatives for verification, and accessing creative metadata such as approval status.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/authorized-buyers/apis/realtimebidding/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": "realtimebidding:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://realtimebidding.mtls.googleapis.com/", +"name": "realtimebidding", +"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": { +"bidders": { +"methods": { +"get": { +"description": "Gets a bidder account by its name.", +"flatPath": "v1/bidders/{biddersId}", +"httpMethod": "GET", +"id": "realtimebidding.bidders.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the bidder to get. Format: `bidders/{bidderAccountId}`", +"location": "path", +"pattern": "^bidders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Bidder" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +}, +"list": { +"description": "Lists all the bidder accounts that belong to the caller.", +"flatPath": "v1/bidders", +"httpMethod": "GET", +"id": "realtimebidding.bidders.list", +"parameterOrder": [], +"parameters": { +"pageSize": { +"description": "The maximum number of bidders to return. If unspecified, at most 100 bidders 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 token identifying a page of results the server should return. This value is received from a previous `ListBidders` call in ListBiddersResponse.nextPageToken.", +"location": "query", +"type": "string" +} +}, +"path": "v1/bidders", +"response": { +"$ref": "ListBiddersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +} +}, +"resources": { +"creatives": { +"methods": { +"list": { +"description": "Lists creatives as they are at the time of the initial request. This call may take multiple hours to complete. For large, paginated requests, this method returns a snapshot of creatives at the time of request for the first page. `lastStatusUpdate` and `creativeServingDecision` may be outdated for creatives on sequential pages. We recommend [Google Cloud Pub/Sub](//cloud.google.com/pubsub/docs/overview) to view the latest status.", +"flatPath": "v1/bidders/{biddersId}/creatives", +"httpMethod": "GET", +"id": "realtimebidding.bidders.creatives.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Query string to filter creatives. If no filter is specified, all active creatives will be returned. Example: 'accountId=12345 AND (dealsStatus:DISAPPROVED AND disapprovalReason:UNACCEPTABLE_CONTENT) OR declaredAttributes:IS_COOKIE_TARGETED'", +"location": "query", +"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.nextPageToken returned from the previous call to the 'ListCreatives' method. Page tokens for continued pages are valid for up to five hours, counting from the call to 'ListCreatives' for the first page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Name of the parent buyer that owns the creatives. The pattern for this resource is either `buyers/{buyerAccountId}` or `bidders/{bidderAccountId}`. For `buyers/{buyerAccountId}`, the `buyerAccountId` can be one of the following: 1. The ID of the buyer that is accessing their own creatives. 2. The ID of the child seat buyer under a bidder account. So for listing creatives pertaining to the child seat buyer (`456`) under bidder account (`123`), you would use the pattern: `buyers/456`. 3. The ID of the bidder itself. So for listing creatives pertaining to bidder (`123`), you would use `buyers/123`. If you want to access all creatives pertaining to both the bidder and all of its child seat accounts, you would use `bidders/{bidderAccountId}`, for example, for all creatives pertaining to bidder (`123`), use `bidders/123`.", +"location": "path", +"pattern": "^bidders/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Controls the amount of information included in the response. By default only creativeServingDecision is included. To retrieve the entire creative resource (including the declared fields and the creative content) specify the view as \"FULL\".", +"enum": [ +"CREATIVE_VIEW_UNSPECIFIED", +"SERVING_DECISION_ONLY", +"FULL" +], +"enumDescriptions": [ +"Not specified, equivalent to SERVING_DECISION_ONLY.", +"Only creativeServingDecision is included in the response.", +"The entire creative resource (including the declared fields and the creative content) is included in the response." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/creatives", +"response": { +"$ref": "ListCreativesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +}, +"watch": { +"description": "Watches all creatives pertaining to a bidder. It is sufficient to invoke this endpoint once per bidder. A Pub/Sub topic will be created and notifications will be pushed to the topic when any of the bidder's creatives change status. All of the bidder's service accounts will have access to read from the topic. Subsequent invocations of this method will return the existing Pub/Sub configuration.", +"flatPath": "v1/bidders/{biddersId}/creatives:watch", +"httpMethod": "POST", +"id": "realtimebidding.bidders.creatives.watch", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. To watch all creatives pertaining to the bidder and all its child seat accounts, the bidder must follow the pattern `bidders/{bidderAccountId}`.", +"location": "path", +"pattern": "^bidders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/creatives:watch", +"request": { +"$ref": "WatchCreativesRequest" +}, +"response": { +"$ref": "WatchCreativesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +} +} +}, +"endpoints": { +"methods": { +"get": { +"description": "Gets a bidder endpoint by its name.", +"flatPath": "v1/bidders/{biddersId}/endpoints/{endpointsId}", +"httpMethod": "GET", +"id": "realtimebidding.bidders.endpoints.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the bidder endpoint to get. Format: `bidders/{bidderAccountId}/endpoints/{endpointId}`", +"location": "path", +"pattern": "^bidders/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Endpoint" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +}, +"list": { +"description": "Lists all the bidder's endpoints.", +"flatPath": "v1/bidders/{biddersId}/endpoints", +"httpMethod": "GET", +"id": "realtimebidding.bidders.endpoints.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of endpoints to return. If unspecified, at most 100 endpoints 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 token identifying a page of results the server should return. This value is received from a previous `ListEndpoints` call in ListEndpointsResponse.nextPageToken.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Name of the bidder whose endpoints will be listed. Format: `bidders/{bidderAccountId}`", +"location": "path", +"pattern": "^bidders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/endpoints", +"response": { +"$ref": "ListEndpointsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +}, +"patch": { +"description": "Updates a bidder's endpoint.", +"flatPath": "v1/bidders/{biddersId}/endpoints/{endpointsId}", +"httpMethod": "PATCH", +"id": "realtimebidding.bidders.endpoints.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Name of the endpoint resource that must follow the pattern `bidders/{bidderAccountId}/endpoints/{endpointId}`, where {bidderAccountId} is the account ID of the bidder who operates this endpoint, and {endpointId} is a unique ID assigned by the server.", +"location": "path", +"pattern": "^bidders/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask to use for partial in-place updates.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Endpoint" +}, +"response": { +"$ref": "Endpoint" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +} +} +}, +"pretargetingConfigs": { +"methods": { +"activate": { +"description": "Activates a pretargeting configuration.", +"flatPath": "v1/bidders/{biddersId}/pretargetingConfigs/{pretargetingConfigsId}:activate", +"httpMethod": "POST", +"id": "realtimebidding.bidders.pretargetingConfigs.activate", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the pretargeting configuration. Format: bidders/{bidderAccountId}/pretargetingConfig/{configId}", +"location": "path", +"pattern": "^bidders/[^/]+/pretargetingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:activate", +"request": { +"$ref": "ActivatePretargetingConfigRequest" +}, +"response": { +"$ref": "PretargetingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +}, +"addTargetedApps": { +"description": "Adds targeted apps to the pretargeting configuration.", +"flatPath": "v1/bidders/{biddersId}/pretargetingConfigs/{pretargetingConfigsId}:addTargetedApps", +"httpMethod": "POST", +"id": "realtimebidding.bidders.pretargetingConfigs.addTargetedApps", +"parameterOrder": [ +"pretargetingConfig" +], +"parameters": { +"pretargetingConfig": { +"description": "Required. The name of the pretargeting configuration. Format: bidders/{bidderAccountId}/pretargetingConfig/{configId}", +"location": "path", +"pattern": "^bidders/[^/]+/pretargetingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+pretargetingConfig}:addTargetedApps", +"request": { +"$ref": "AddTargetedAppsRequest" +}, +"response": { +"$ref": "PretargetingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +}, +"addTargetedPublishers": { +"description": "Adds targeted publishers to the pretargeting config.", +"flatPath": "v1/bidders/{biddersId}/pretargetingConfigs/{pretargetingConfigsId}:addTargetedPublishers", +"httpMethod": "POST", +"id": "realtimebidding.bidders.pretargetingConfigs.addTargetedPublishers", +"parameterOrder": [ +"pretargetingConfig" +], +"parameters": { +"pretargetingConfig": { +"description": "Required. The name of the pretargeting configuration. Format: bidders/{bidderAccountId}/pretargetingConfig/{configId}", +"location": "path", +"pattern": "^bidders/[^/]+/pretargetingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+pretargetingConfig}:addTargetedPublishers", +"request": { +"$ref": "AddTargetedPublishersRequest" +}, +"response": { +"$ref": "PretargetingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +}, +"addTargetedSites": { +"description": "Adds targeted sites to the pretargeting configuration.", +"flatPath": "v1/bidders/{biddersId}/pretargetingConfigs/{pretargetingConfigsId}:addTargetedSites", +"httpMethod": "POST", +"id": "realtimebidding.bidders.pretargetingConfigs.addTargetedSites", +"parameterOrder": [ +"pretargetingConfig" +], +"parameters": { +"pretargetingConfig": { +"description": "Required. The name of the pretargeting configuration. Format: bidders/{bidderAccountId}/pretargetingConfig/{configId}", +"location": "path", +"pattern": "^bidders/[^/]+/pretargetingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+pretargetingConfig}:addTargetedSites", +"request": { +"$ref": "AddTargetedSitesRequest" +}, +"response": { +"$ref": "PretargetingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +}, +"create": { +"description": "Creates a pretargeting configuration. A pretargeting configuration's state (PretargetingConfig.state) is active upon creation, and it will start to affect traffic shortly after. A bidder may create a maximum of 10 pretargeting configurations. Attempts to exceed this maximum results in a 400 bad request error.", +"flatPath": "v1/bidders/{biddersId}/pretargetingConfigs", +"httpMethod": "POST", +"id": "realtimebidding.bidders.pretargetingConfigs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Name of the bidder to create the pretargeting configuration for. Format: bidders/{bidderAccountId}", +"location": "path", +"pattern": "^bidders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/pretargetingConfigs", +"request": { +"$ref": "PretargetingConfig" +}, +"response": { +"$ref": "PretargetingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +}, +"delete": { +"description": "Deletes a pretargeting configuration.", +"flatPath": "v1/bidders/{biddersId}/pretargetingConfigs/{pretargetingConfigsId}", +"httpMethod": "DELETE", +"id": "realtimebidding.bidders.pretargetingConfigs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the pretargeting configuration to delete. Format: bidders/{bidderAccountId}/pretargetingConfig/{configId}", +"location": "path", +"pattern": "^bidders/[^/]+/pretargetingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +}, +"get": { +"description": "Gets a pretargeting configuration.", +"flatPath": "v1/bidders/{biddersId}/pretargetingConfigs/{pretargetingConfigsId}", +"httpMethod": "GET", +"id": "realtimebidding.bidders.pretargetingConfigs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the pretargeting configuration to get. Format: bidders/{bidderAccountId}/pretargetingConfig/{configId}", +"location": "path", +"pattern": "^bidders/[^/]+/pretargetingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "PretargetingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +}, +"list": { +"description": "Lists all pretargeting configurations for a single bidder.", +"flatPath": "v1/bidders/{biddersId}/pretargetingConfigs", +"httpMethod": "GET", +"id": "realtimebidding.bidders.pretargetingConfigs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of pretargeting configurations to return. If unspecified, at most 10 pretargeting configurations will be returned. The maximum value is 100; values above 100 will be coerced to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. This value is received from a previous `ListPretargetingConfigs` call in ListPretargetingConfigsResponse.nextPageToken.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Name of the bidder whose pretargeting configurations will be listed. Format: bidders/{bidderAccountId}", +"location": "path", +"pattern": "^bidders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/pretargetingConfigs", +"response": { +"$ref": "ListPretargetingConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +}, +"patch": { +"description": "Updates a pretargeting configuration.", +"flatPath": "v1/bidders/{biddersId}/pretargetingConfigs/{pretargetingConfigsId}", +"httpMethod": "PATCH", +"id": "realtimebidding.bidders.pretargetingConfigs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Name of the pretargeting configuration that must follow the pattern `bidders/{bidder_account_id}/pretargetingConfigs/{config_id}`", +"location": "path", +"pattern": "^bidders/[^/]+/pretargetingConfigs/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask to use for partial in-place updates.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "PretargetingConfig" +}, +"response": { +"$ref": "PretargetingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +}, +"removeTargetedApps": { +"description": "Removes targeted apps from the pretargeting configuration.", +"flatPath": "v1/bidders/{biddersId}/pretargetingConfigs/{pretargetingConfigsId}:removeTargetedApps", +"httpMethod": "POST", +"id": "realtimebidding.bidders.pretargetingConfigs.removeTargetedApps", +"parameterOrder": [ +"pretargetingConfig" +], +"parameters": { +"pretargetingConfig": { +"description": "Required. The name of the pretargeting configuration. Format: bidders/{bidderAccountId}/pretargetingConfig/{configId}", +"location": "path", +"pattern": "^bidders/[^/]+/pretargetingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+pretargetingConfig}:removeTargetedApps", +"request": { +"$ref": "RemoveTargetedAppsRequest" +}, +"response": { +"$ref": "PretargetingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +}, +"removeTargetedPublishers": { +"description": "Removes targeted publishers from the pretargeting config.", +"flatPath": "v1/bidders/{biddersId}/pretargetingConfigs/{pretargetingConfigsId}:removeTargetedPublishers", +"httpMethod": "POST", +"id": "realtimebidding.bidders.pretargetingConfigs.removeTargetedPublishers", +"parameterOrder": [ +"pretargetingConfig" +], +"parameters": { +"pretargetingConfig": { +"description": "Required. The name of the pretargeting configuration. Format: bidders/{bidderAccountId}/pretargetingConfig/{configId}", +"location": "path", +"pattern": "^bidders/[^/]+/pretargetingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+pretargetingConfig}:removeTargetedPublishers", +"request": { +"$ref": "RemoveTargetedPublishersRequest" +}, +"response": { +"$ref": "PretargetingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +}, +"removeTargetedSites": { +"description": "Removes targeted sites from the pretargeting configuration.", +"flatPath": "v1/bidders/{biddersId}/pretargetingConfigs/{pretargetingConfigsId}:removeTargetedSites", +"httpMethod": "POST", +"id": "realtimebidding.bidders.pretargetingConfigs.removeTargetedSites", +"parameterOrder": [ +"pretargetingConfig" +], +"parameters": { +"pretargetingConfig": { +"description": "Required. The name of the pretargeting configuration. Format: bidders/{bidderAccountId}/pretargetingConfig/{configId}", +"location": "path", +"pattern": "^bidders/[^/]+/pretargetingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+pretargetingConfig}:removeTargetedSites", +"request": { +"$ref": "RemoveTargetedSitesRequest" +}, +"response": { +"$ref": "PretargetingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +}, +"suspend": { +"description": "Suspends a pretargeting configuration.", +"flatPath": "v1/bidders/{biddersId}/pretargetingConfigs/{pretargetingConfigsId}:suspend", +"httpMethod": "POST", +"id": "realtimebidding.bidders.pretargetingConfigs.suspend", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the pretargeting configuration. Format: bidders/{bidderAccountId}/pretargetingConfig/{configId}", +"location": "path", +"pattern": "^bidders/[^/]+/pretargetingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:suspend", +"request": { +"$ref": "SuspendPretargetingConfigRequest" +}, +"response": { +"$ref": "PretargetingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +} +} +}, +"publisherConnections": { +"methods": { +"batchApprove": { +"description": "Batch approves multiple publisher connections.", +"flatPath": "v1/bidders/{biddersId}/publisherConnections:batchApprove", +"httpMethod": "POST", +"id": "realtimebidding.bidders.publisherConnections.batchApprove", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The bidder for whom publisher connections will be approved. Format: `bidders/{bidder}` where `{bidder}` is the account ID of the bidder.", +"location": "path", +"pattern": "^bidders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/publisherConnections:batchApprove", +"request": { +"$ref": "BatchApprovePublisherConnectionsRequest" +}, +"response": { +"$ref": "BatchApprovePublisherConnectionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +}, +"batchReject": { +"description": "Batch rejects multiple publisher connections.", +"flatPath": "v1/bidders/{biddersId}/publisherConnections:batchReject", +"httpMethod": "POST", +"id": "realtimebidding.bidders.publisherConnections.batchReject", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The bidder for whom publisher connections will be rejected. Format: `bidders/{bidder}` where `{bidder}` is the account ID of the bidder.", +"location": "path", +"pattern": "^bidders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/publisherConnections:batchReject", +"request": { +"$ref": "BatchRejectPublisherConnectionsRequest" +}, +"response": { +"$ref": "BatchRejectPublisherConnectionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +}, +"get": { +"description": "Gets a publisher connection.", +"flatPath": "v1/bidders/{biddersId}/publisherConnections/{publisherConnectionsId}", +"httpMethod": "GET", +"id": "realtimebidding.bidders.publisherConnections.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the publisher whose connection information is to be retrieved. In the pattern `bidders/{bidder}/publisherConnections/{publisher}` where `{bidder}` is the account ID of the bidder, and `{publisher}` is the ads.txt/app-ads.txt publisher ID. See publisherConnection.name.", +"location": "path", +"pattern": "^bidders/[^/]+/publisherConnections/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "PublisherConnection" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +}, +"list": { +"description": "Lists publisher connections for a given bidder.", +"flatPath": "v1/bidders/{biddersId}/publisherConnections", +"httpMethod": "GET", +"id": "realtimebidding.bidders.publisherConnections.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Query string to filter publisher connections. Connections can be filtered by `displayName`, `publisherPlatform`, and `biddingState`. If no filter is specified, all publisher connections will be returned. Example: 'displayName=\"Great Publisher*\" AND publisherPlatform=ADMOB AND biddingState != PENDING' See https://google.aip.dev/160 for more information about filtering syntax.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Order specification by which results should be sorted. If no sort order is specified, the results will be returned in alphabetic order based on the publisher's publisher code. Results can be sorted by `createTime`. Example: 'createTime DESC'.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested (due to timeout constraint) even if more are available through another call. If unspecified, the server will pick an appropriate default. Acceptable values are 1 to 5000, 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 ListPublisherConnectionsResponse.nextPageToken returned from the previous call to the 'ListPublisherConnections' method.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Name of the bidder for which publishers have initiated connections. The pattern for this resource is `bidders/{bidder}` where `{bidder}` represents the account ID of the bidder.", +"location": "path", +"pattern": "^bidders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/publisherConnections", +"response": { +"$ref": "ListPublisherConnectionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +} +} +} +} +}, +"buyers": { +"methods": { +"get": { +"description": "Gets a buyer account by its name.", +"flatPath": "v1/buyers/{buyersId}", +"httpMethod": "GET", +"id": "realtimebidding.buyers.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the buyer to get. Format: `buyers/{buyerId}`", +"location": "path", +"pattern": "^buyers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Buyer" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +}, +"getRemarketingTag": { +"description": "This has been sunset as of October 2023, and will return an error response if called. For more information, see the release notes: https://developers.google.com/authorized-buyers/apis/relnotes#real-time-bidding-api Gets remarketing tag for a buyer. A remarketing tag is a piece of JavaScript code that can be placed on a web page. When a user visits a page containing a remarketing tag, Google adds the user to a user list.", +"flatPath": "v1/buyers/{buyersId}:getRemarketingTag", +"httpMethod": "GET", +"id": "realtimebidding.buyers.getRemarketingTag", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. To fetch the remarketing tag for an account, the name must follow the pattern `buyers/{accountId}`, where `{accountId}` represents the ID of the buyer that owns the remarketing tag. For a bidder accessing the remarketing tag on behalf of a child seat buyer, `{accountId}` should represent the ID of the child seat buyer. To fetch the remarketing tag for a specific user list, the name must follow the pattern `buyers/{accountId}/userLists/{userListId}`. See UserList.name.", +"location": "path", +"pattern": "^buyers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:getRemarketingTag", +"response": { +"$ref": "GetRemarketingTagResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +}, +"list": { +"description": "Lists all buyer account information the calling buyer user or service account is permissioned to manage.", +"flatPath": "v1/buyers", +"httpMethod": "GET", +"id": "realtimebidding.buyers.list", +"parameterOrder": [], +"parameters": { +"pageSize": { +"description": "The maximum number of buyers to return. If unspecified, at most 100 buyers 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 token identifying a page of results the server should return. This value is received from a previous `ListBuyers` call in ListBuyersResponse.nextPageToken.", +"location": "query", +"type": "string" +} +}, +"path": "v1/buyers", +"response": { +"$ref": "ListBuyersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +} +}, +"resources": { +"creatives": { +"methods": { +"create": { +"description": "Creates a creative.", +"flatPath": "v1/buyers/{buyersId}/creatives", +"httpMethod": "POST", +"id": "realtimebidding.buyers.creatives.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the parent buyer that the new creative belongs to that must follow the pattern `buyers/{buyerAccountId}`, where `{buyerAccountId}` represents the account ID of the buyer who owns a creative. For a bidder accessing creatives on behalf of a child seat buyer, `{buyerAccountId}` should represent the account ID of the child seat buyer.", +"location": "path", +"pattern": "^buyers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/creatives", +"request": { +"$ref": "Creative" +}, +"response": { +"$ref": "Creative" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +}, +"get": { +"description": "Gets a creative.", +"flatPath": "v1/buyers/{buyersId}/creatives/{creativesId}", +"httpMethod": "GET", +"id": "realtimebidding.buyers.creatives.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the creative to retrieve. See creative.name.", +"location": "path", +"pattern": "^buyers/[^/]+/creatives/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Controls the amount of information included in the response. By default only creativeServingDecision is included. To retrieve the entire creative resource (including the declared fields and the creative content) specify the view as \"FULL\".", +"enum": [ +"CREATIVE_VIEW_UNSPECIFIED", +"SERVING_DECISION_ONLY", +"FULL" +], +"enumDescriptions": [ +"Not specified, equivalent to SERVING_DECISION_ONLY.", +"Only creativeServingDecision is included in the response.", +"The entire creative resource (including the declared fields and the creative content) is included in the response." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Creative" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +}, +"list": { +"description": "Lists creatives as they are at the time of the initial request. This call may take multiple hours to complete. For large, paginated requests, this method returns a snapshot of creatives at the time of request for the first page. `lastStatusUpdate` and `creativeServingDecision` may be outdated for creatives on sequential pages. We recommend [Google Cloud Pub/Sub](//cloud.google.com/pubsub/docs/overview) to view the latest status.", +"flatPath": "v1/buyers/{buyersId}/creatives", +"httpMethod": "GET", +"id": "realtimebidding.buyers.creatives.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Query string to filter creatives. If no filter is specified, all active creatives will be returned. Example: 'accountId=12345 AND (dealsStatus:DISAPPROVED AND disapprovalReason:UNACCEPTABLE_CONTENT) OR declaredAttributes:IS_COOKIE_TARGETED'", +"location": "query", +"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.nextPageToken returned from the previous call to the 'ListCreatives' method. Page tokens for continued pages are valid for up to five hours, counting from the call to 'ListCreatives' for the first page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Name of the parent buyer that owns the creatives. The pattern for this resource is either `buyers/{buyerAccountId}` or `bidders/{bidderAccountId}`. For `buyers/{buyerAccountId}`, the `buyerAccountId` can be one of the following: 1. The ID of the buyer that is accessing their own creatives. 2. The ID of the child seat buyer under a bidder account. So for listing creatives pertaining to the child seat buyer (`456`) under bidder account (`123`), you would use the pattern: `buyers/456`. 3. The ID of the bidder itself. So for listing creatives pertaining to bidder (`123`), you would use `buyers/123`. If you want to access all creatives pertaining to both the bidder and all of its child seat accounts, you would use `bidders/{bidderAccountId}`, for example, for all creatives pertaining to bidder (`123`), use `bidders/123`.", +"location": "path", +"pattern": "^buyers/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Controls the amount of information included in the response. By default only creativeServingDecision is included. To retrieve the entire creative resource (including the declared fields and the creative content) specify the view as \"FULL\".", +"enum": [ +"CREATIVE_VIEW_UNSPECIFIED", +"SERVING_DECISION_ONLY", +"FULL" +], +"enumDescriptions": [ +"Not specified, equivalent to SERVING_DECISION_ONLY.", +"Only creativeServingDecision is included in the response.", +"The entire creative resource (including the declared fields and the creative content) is included in the response." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/creatives", +"response": { +"$ref": "ListCreativesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +}, +"patch": { +"description": "Updates a creative.", +"flatPath": "v1/buyers/{buyersId}/creatives/{creativesId}", +"httpMethod": "PATCH", +"id": "realtimebidding.buyers.creatives.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Name of the creative. Follows the pattern `buyers/{buyer}/creatives/{creative}`, where `{buyer}` represents the account ID of the buyer who owns the creative, and `{creative}` is the buyer-specific creative ID that references this creative in the bid response.", +"location": "path", +"pattern": "^buyers/[^/]+/creatives/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask to use for partial in-place updates.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Creative" +}, +"response": { +"$ref": "Creative" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +} +} +}, +"userLists": { +"methods": { +"close": { +"description": "Changes the status of a user list to CLOSED. This prevents new users from being added to the user list.", +"flatPath": "v1/buyers/{buyersId}/userLists/{userListsId}:close", +"httpMethod": "POST", +"id": "realtimebidding.buyers.userLists.close", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the user list to close. See UserList.name", +"location": "path", +"pattern": "^buyers/[^/]+/userLists/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:close", +"request": { +"$ref": "CloseUserListRequest" +}, +"response": { +"$ref": "UserList" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +}, +"create": { +"description": "Creates a new user list.", +"flatPath": "v1/buyers/{buyersId}/userLists", +"httpMethod": "POST", +"id": "realtimebidding.buyers.userLists.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the parent buyer of the user list to be retrieved, which must follow the pattern `buyers/{buyerAccountId}`, where `{buyerAccountId}` represents the account ID of the buyer who owns the user list. For a bidder accessing user lists on behalf of a child seat buyer, `{buyerAccountId}` should represent the account ID of the child seat buyer.", +"location": "path", +"pattern": "^buyers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/userLists", +"request": { +"$ref": "UserList" +}, +"response": { +"$ref": "UserList" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +}, +"get": { +"description": "Gets a user list by its name.", +"flatPath": "v1/buyers/{buyersId}/userLists/{userListsId}", +"httpMethod": "GET", +"id": "realtimebidding.buyers.userLists.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the user list to be retrieved. See UserList.name.", +"location": "path", +"pattern": "^buyers/[^/]+/userLists/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "UserList" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +}, +"getRemarketingTag": { +"description": "This has been sunset as of October 2023, and will return an error response if called. For more information, see the release notes: https://developers.google.com/authorized-buyers/apis/relnotes#real-time-bidding-api Gets remarketing tag for a buyer. A remarketing tag is a piece of JavaScript code that can be placed on a web page. When a user visits a page containing a remarketing tag, Google adds the user to a user list.", +"flatPath": "v1/buyers/{buyersId}/userLists/{userListsId}:getRemarketingTag", +"httpMethod": "GET", +"id": "realtimebidding.buyers.userLists.getRemarketingTag", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. To fetch the remarketing tag for an account, the name must follow the pattern `buyers/{accountId}`, where `{accountId}` represents the ID of the buyer that owns the remarketing tag. For a bidder accessing the remarketing tag on behalf of a child seat buyer, `{accountId}` should represent the ID of the child seat buyer. To fetch the remarketing tag for a specific user list, the name must follow the pattern `buyers/{accountId}/userLists/{userListId}`. See UserList.name.", +"location": "path", +"pattern": "^buyers/[^/]+/userLists/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:getRemarketingTag", +"response": { +"$ref": "GetRemarketingTagResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +}, +"list": { +"description": "Lists the user lists visible to the current user.", +"flatPath": "v1/buyers/{buyersId}/userLists", +"httpMethod": "GET", +"id": "realtimebidding.buyers.userLists.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The number of results to return per page.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Continuation page token as received from a previous response.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the parent buyer for the user lists to be returned that must follow the pattern `buyers/{buyerAccountId}`, where `{buyerAccountId}` represents the account ID of the buyer who owns user lists. For a bidder accessing user lists on behalf of a child seat buyer , `{buyerAccountId}` should represent the account ID of the child seat buyer.", +"location": "path", +"pattern": "^buyers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/userLists", +"response": { +"$ref": "ListUserListsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +}, +"open": { +"description": "Changes the status of a user list to OPEN. This allows new users to be added to the user list.", +"flatPath": "v1/buyers/{buyersId}/userLists/{userListsId}:open", +"httpMethod": "POST", +"id": "realtimebidding.buyers.userLists.open", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the user list to open. See UserList.name", +"location": "path", +"pattern": "^buyers/[^/]+/userLists/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:open", +"request": { +"$ref": "OpenUserListRequest" +}, +"response": { +"$ref": "UserList" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +}, +"update": { +"description": "Updates the given user list. Only user lists with URLRestrictions can be updated.", +"flatPath": "v1/buyers/{buyersId}/userLists/{userListsId}", +"httpMethod": "PUT", +"id": "realtimebidding.buyers.userLists.update", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Name of the user list that must follow the pattern `buyers/{buyer}/userLists/{user_list}`, where `{buyer}` represents the account ID of the buyer who owns the user list. For a bidder accessing user lists on behalf of a child seat buyer, `{buyer}` represents the account ID of the child seat buyer. `{user_list}` is an int64 identifier assigned by Google to uniquely identify a user list.", +"location": "path", +"pattern": "^buyers/[^/]+/userLists/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "UserList" +}, +"response": { +"$ref": "UserList" +}, +"scopes": [ +"https://www.googleapis.com/auth/realtime-bidding" +] +} +} +} +} +} +}, +"revision": "20240930", +"rootUrl": "https://realtimebidding.googleapis.com/", +"schemas": { +"ActivatePretargetingConfigRequest": { +"description": "A request to activate a pretargeting configuration. Sets the configuration's state to ACTIVE.", +"id": "ActivatePretargetingConfigRequest", +"properties": {}, +"type": "object" +}, +"AdTechnologyProviders": { +"description": "The list of detected Ad Technology Providers for this creative. Bids placed for inventory that will serve to EEA or UK users are expected to comply with GDPR requirements. You must ensure that the creatives used in such bids should contain only user consented ad technology providers as indicated in the bid request. Google reserves the right to filter non-compliant bids. User consented ad technology providers can be found in the [Google Protocol](https://developers.google.com/authorized-buyers/rtb/downloads/realtime-bidding-proto) with the `BidRequest.adslot.consented_providers_settings` field, and can be found as an [OpenRTB extension](https://developers.google.com/authorized-buyers/rtb/downloads/openrtb-adx-proto) with the `BidRequest.user.ext.consented_providers_settings` and `BidRequest.user.ext.consent` fields. See https://support.google.com/authorizedbuyers/answer/9789378 for additional information about the Google TCF v2 integration.", +"id": "AdTechnologyProviders", +"properties": { +"detectedGvlIds": { +"description": "The detected IAB Global Vendor List (GVL) IDs for this creative. See the IAB Global Vendor List at https://vendor-list.consensu.org/v2/vendor-list.json for details about the vendors.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"detectedProviderIds": { +"description": "The detected [Google Ad Tech Providers (ATP)](https://support.google.com/admanager/answer/9012903) 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.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"unidentifiedProviderDomains": { +"description": "Domains of detected unidentified ad technology providers (if any). You must ensure that the creatives used in bids placed for inventory that will serve to EEA or UK users does not contain unidentified ad technology providers. Google reserves the right to filter non-compliant bids.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"AddTargetedAppsRequest": { +"description": "A request to start targeting the provided app IDs in a specific pretargeting configuration. The pretargeting configuration itself specifies how these apps are targeted. in PretargetingConfig.appTargeting.mobileAppTargeting.", +"id": "AddTargetedAppsRequest", +"properties": { +"appIds": { +"description": "A list of app IDs to target in the pretargeting configuration. These values will be added to the list of targeted app IDs in PretargetingConfig.appTargeting.mobileAppTargeting.values.", +"items": { +"type": "string" +}, +"type": "array" +}, +"targetingMode": { +"description": "Required. The targeting mode that should be applied to the list of app IDs. If there are existing targeted app IDs, must be equal to the existing PretargetingConfig.appTargeting.mobileAppTargeting.targetingMode or a 400 bad request error will be returned.", +"enum": [ +"TARGETING_MODE_UNSPECIFIED", +"INCLUSIVE", +"EXCLUSIVE" +], +"enumDescriptions": [ +"Placeholder for undefined targeting mode.", +"The inclusive list type. Inventory must match an item in this list to be targeted.", +"The exclusive list type. Inventory must not match any item in this list to be targeted." +], +"type": "string" +} +}, +"type": "object" +}, +"AddTargetedPublishersRequest": { +"description": "A request to start targeting the provided publishers in a specific pretargeting configuration. The pretargeting configuration itself specifies how these publishers are targeted in PretargetingConfig.publisherTargeting.", +"id": "AddTargetedPublishersRequest", +"properties": { +"publisherIds": { +"description": "A list of publisher IDs to target in the pretargeting configuration. These values will be added to the list of targeted publisher IDs in PretargetingConfig.publisherTargeting.values. Publishers are identified by their publisher ID from ads.txt / app-ads.txt. See https://iabtechlab.com/ads-txt/ and https://iabtechlab.com/app-ads-txt/ for more details.", +"items": { +"type": "string" +}, +"type": "array" +}, +"targetingMode": { +"description": "Required. The targeting mode that should be applied to the list of publisher IDs. If are existing publisher IDs, must be equal to the existing PretargetingConfig.publisherTargeting.targetingMode or a 400 bad request error will be returned.", +"enum": [ +"TARGETING_MODE_UNSPECIFIED", +"INCLUSIVE", +"EXCLUSIVE" +], +"enumDescriptions": [ +"Placeholder for undefined targeting mode.", +"The inclusive list type. Inventory must match an item in this list to be targeted.", +"The exclusive list type. Inventory must not match any item in this list to be targeted." +], +"type": "string" +} +}, +"type": "object" +}, +"AddTargetedSitesRequest": { +"description": "A request to start targeting the provided sites in a specific pretargeting configuration. The pretargeting configuration itself specifies how these sites are targeted in PretargetingConfig.webTargeting.", +"id": "AddTargetedSitesRequest", +"properties": { +"sites": { +"description": "A list of site URLs to target in the pretargeting configuration. These values will be added to the list of targeted URLs in PretargetingConfig.webTargeting.values.", +"items": { +"type": "string" +}, +"type": "array" +}, +"targetingMode": { +"description": "Required. The targeting mode that should be applied to the list of site URLs. If there are existing targeted sites, must be equal to the existing PretargetingConfig.webTargeting.targetingMode or a 400 bad request error will be returned.", +"enum": [ +"TARGETING_MODE_UNSPECIFIED", +"INCLUSIVE", +"EXCLUSIVE" +], +"enumDescriptions": [ +"Placeholder for undefined targeting mode.", +"The inclusive list type. Inventory must match an item in this list to be targeted.", +"The exclusive list type. Inventory must not match any item in this list to be targeted." +], +"type": "string" +} +}, +"type": "object" +}, +"AdvertiserAndBrand": { +"description": "Detected advertiser and brand information.", +"id": "AdvertiserAndBrand", +"properties": { +"advertiserId": { +"description": "See https://storage.googleapis.com/adx-rtb-dictionaries/advertisers.txt for the list of possible values. Can be used to filter the response of the creatives.list method.", +"format": "int64", +"type": "string" +}, +"advertiserName": { +"description": "Advertiser name. Can be used to filter the response of the creatives.list method.", +"type": "string" +}, +"brandId": { +"description": "Detected brand ID or zero if no brand has been detected. See https://storage.googleapis.com/adx-rtb-dictionaries/brands.txt for the list of possible values. Can be used to filter the response of the creatives.list method.", +"format": "int64", +"type": "string" +}, +"brandName": { +"description": "Brand name. Can be used to filter the response of the creatives.list method.", +"type": "string" +} +}, +"type": "object" +}, +"AppTargeting": { +"description": "A subset of app inventory to target. Bid requests that match criteria in at least one of the specified dimensions will be sent.", +"id": "AppTargeting", +"properties": { +"mobileAppCategoryTargeting": { +"$ref": "NumericTargetingDimension", +"description": "Lists of included and excluded mobile app categories as defined in https://developers.google.com/adwords/api/docs/appendix/mobileappcategories.csv." +}, +"mobileAppTargeting": { +"$ref": "StringTargetingDimension", +"description": "Targeted app IDs. App IDs can refer to those found in an app store or ones that are not published in an app store. A maximum of 30,000 app IDs can be targeted." +} +}, +"type": "object" +}, +"BatchApprovePublisherConnectionsRequest": { +"description": "A request to approve a batch of publisher connections.", +"id": "BatchApprovePublisherConnectionsRequest", +"properties": { +"names": { +"description": "Required. The names of the publishers with which connections will be approved. In the pattern `bidders/{bidder}/publisherConnections/{publisher}` where `{bidder}` is the account ID of the bidder, and `{publisher}` is the ads.txt/app-ads.txt publisher ID.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"BatchApprovePublisherConnectionsResponse": { +"description": "A response for the request to approve a batch of publisher connections.", +"id": "BatchApprovePublisherConnectionsResponse", +"properties": { +"publisherConnections": { +"description": "The publisher connections that have been approved.", +"items": { +"$ref": "PublisherConnection" +}, +"type": "array" +} +}, +"type": "object" +}, +"BatchRejectPublisherConnectionsRequest": { +"description": "A request to reject a batch of publisher connections.", +"id": "BatchRejectPublisherConnectionsRequest", +"properties": { +"names": { +"description": "Required. The names of the publishers with whom connection will be rejected. In the pattern `bidders/{bidder}/publisherConnections/{publisher}` where `{bidder}` is the account ID of the bidder, and `{publisher}` is the ads.txt/app-ads.txt publisher ID.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"BatchRejectPublisherConnectionsResponse": { +"description": "A response for the request to reject a batch of publisher connections.", +"id": "BatchRejectPublisherConnectionsResponse", +"properties": { +"publisherConnections": { +"description": "The publisher connections that have been rejected.", +"items": { +"$ref": "PublisherConnection" +}, +"type": "array" +} +}, +"type": "object" +}, +"Bidder": { +"description": "Bidder settings.", +"id": "Bidder", +"properties": { +"bypassNonguaranteedDealsPretargeting": { +"description": "Output only. An option to bypass pretargeting for private auctions and preferred deals. When true, bid requests from these nonguaranteed deals will always be sent. When false, bid requests will be subject to regular pretargeting configurations. Programmatic Guaranteed deals will always be sent to the bidder, regardless of the value for this flag. Auction packages are not impacted by this value and are subject to the regular pretargeting configurations.", +"readOnly": true, +"type": "boolean" +}, +"cookieMatchingNetworkId": { +"description": "Output only. The buyer's network ID used for cookie matching. This ID corresponds to the `google_nid` parameter in the URL used in cookie match requests. Refer to https://developers.google.com/authorized-buyers/rtb/cookie-guide for further information.", +"readOnly": true, +"type": "string" +}, +"cookieMatchingUrl": { +"description": "Output only. The base URL used in cookie match requests. Refer to https://developers.google.com/authorized-buyers/rtb/cookie-guide for further information.", +"readOnly": true, +"type": "string" +}, +"dealsBillingId": { +"description": "Output only. The billing ID for the deals pretargeting config. This billing ID is sent on the bid request for guaranteed and nonguaranteed deals matched in pretargeting.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Name of the bidder resource that must follow the pattern `bidders/{bidderAccountId}`, where `{bidderAccountId}` is the account ID of the bidder whose information is to be received. One can get their account ID on the Authorized Buyers or Open Bidding UI, or by contacting their Google account manager.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Buyer": { +"description": "RTB Buyer account information.", +"id": "Buyer", +"properties": { +"activeCreativeCount": { +"description": "Output only. The number of creatives that this buyer submitted through the API or bid with in the last 30 days. This is counted against the maximum number of active creatives.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"bidder": { +"description": "Output only. The name of the bidder resource that is responsible for receiving bidding traffic for this account. The bidder name must follow the pattern `bidders/{bidderAccountId}`, where `{bidderAccountId}` is the account ID of the bidder receiving traffic for this buyer.", +"readOnly": true, +"type": "string" +}, +"billingIds": { +"description": "Output only. A list of billing IDs associated with this account. These IDs appear on: 1. A bid request, to signal which buyers are eligible to bid on a given opportunity, and which pretargeting configurations were matched for each eligible buyer. 2. The bid response, to attribute a winning impression to a specific account for billing, reporting, policy and publisher block enforcement.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"displayName": { +"description": "Output only. The diplay name associated with this buyer account, as visible to sellers.", +"readOnly": true, +"type": "string" +}, +"maximumActiveCreativeCount": { +"description": "Output only. The maximum number of active creatives that this buyer can have.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Name of the buyer resource that must follow the pattern `buyers/{buyerAccountId}`, where `{buyerAccountId}` is the account ID of the buyer account whose information is to be received. One can get their account ID on the Authorized Buyers or Open Bidding UI, or by contacting their Google account manager.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"CloseUserListRequest": { +"description": "A request to close a specified user list.", +"id": "CloseUserListRequest", +"properties": {}, +"type": "object" +}, +"Creative": { +"description": "A creative and its classification data.", +"id": "Creative", +"properties": { +"accountId": { +"description": "Output only. ID of the buyer account that this creative is owned by. Can be used to filter the response of the creatives.list method with equality and inequality check.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"adChoicesDestinationUrl": { +"description": "The link to AdChoices destination page. This is only supported for native ads.", +"type": "string" +}, +"advertiserName": { +"description": "The name of the company being advertised in the creative. Can be used to filter the response of the creatives.list method.", +"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", +"readOnly": true, +"type": "string" +}, +"creativeFormat": { +"description": "Output only. The format of this creative. Can be used to filter the response of the creatives.list method.", +"enum": [ +"CREATIVE_FORMAT_UNSPECIFIED", +"HTML", +"VIDEO", +"NATIVE" +], +"enumDescriptions": [ +"The format is unknown.", +"HTML creative.", +"Video creative.", +"Native creative." +], +"readOnly": true, +"type": "string" +}, +"creativeId": { +"description": "Buyer-specific creative ID that references this creative in bid responses. This field is Ignored in update operations. Can be used to filter the response of the creatives.list method. The maximum length of the creative ID is 128 bytes.", +"type": "string" +}, +"creativeServingDecision": { +"$ref": "CreativeServingDecision", +"description": "Output only. Top level status and detected attributes of a creative (for example domain, language, advertiser, product category, etc.) that affect whether (status) and where (context) a creative will be allowed to serve.", +"readOnly": true +}, +"dealIds": { +"description": "Output only. IDs of all of the deals with which this creative has been used in bidding. Can be used to filter the response of the creatives.list method.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"declaredAttributes": { +"description": "All declared attributes for the ads that may be shown from this creative. Can be used to filter the response of the creatives.list method. If the `excluded_attribute` field of a [bid request](https://developers.google.com/authorized-buyers/rtb/downloads/realtime-bidding-proto\") contains one of the attributes that were declared or detected for a given creative, and a bid is submitted with that creative, the bid will be filtered before the auction.", +"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" +}, +"declaredClickThroughUrls": { +"description": "The set of declared destination URLs for the creative. Can be used to filter the response of the creatives.list method.", +"items": { +"type": "string" +}, +"type": "array" +}, +"declaredRestrictedCategories": { +"description": "All declared restricted categories for the ads that may be shown from this creative. Can be used to filter the response of the creatives.list method.", +"items": { +"enum": [ +"RESTRICTED_CATEGORY_UNSPECIFIED", +"ALCOHOL" +], +"enumDescriptions": [ +"Default value that should never be used.", +"The alcohol restricted category." +], +"type": "string" +}, +"type": "array" +}, +"declaredVendorIds": { +"description": "IDs for the declared ad technology vendors that may be used by this creative. See https://storage.googleapis.com/adx-rtb-dictionaries/vendors.txt for possible values. Can be used to filter the response of the creatives.list method.", +"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" +}, +"name": { +"description": "Output only. Name of the creative. Follows the pattern `buyers/{buyer}/creatives/{creative}`, where `{buyer}` represents the account ID of the buyer who owns the creative, and `{creative}` is the buyer-specific creative ID that references this creative in the bid response.", +"readOnly": true, +"type": "string" +}, +"native": { +"$ref": "NativeContent", +"description": "A native creative." +}, +"renderUrl": { +"description": "Experimental field that can be used during the [FLEDGE Origin Trial](/authorized-buyers/rtb/fledge-origin-trial). The URL to fetch an interest group ad used in [TURTLEDOVE on-device auction](https://github.com/WICG/turtledove/blob/main/FLEDGE.md#1-browsers-record-interest-groups\"). This should be unique among all creatives for a given `accountId`. This URL should be the same as the URL returned by [generateBid()](https://github.com/WICG/turtledove/blob/main/FLEDGE.md#32-on-device-bidding).", +"type": "string" +}, +"restrictedCategories": { +"deprecated": true, +"description": "All restricted categories for the ads that may be shown from this creative.", +"items": { +"enum": [ +"RESTRICTED_CATEGORY_UNSPECIFIED", +"ALCOHOL" +], +"enumDescriptions": [ +"Default value that should never be used.", +"The alcohol restricted category." +], +"type": "string" +}, +"type": "array" +}, +"version": { +"deprecated": true, +"description": "Output only. The version of the creative. Version for a new creative is 1 and it increments during subsequent creative updates.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"video": { +"$ref": "VideoContent", +"description": "A video creative." +} +}, +"type": "object" +}, +"CreativeDimensions": { +"description": "The dimensions of a creative. This applies to only HTML and Native creatives.", +"id": "CreativeDimensions", +"properties": { +"height": { +"description": "The height of the creative in pixels.", +"format": "int64", +"type": "string" +}, +"width": { +"description": "The width of the creative in pixels.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"CreativeServingDecision": { +"description": "Top level status and detected attributes of a creative.", +"id": "CreativeServingDecision", +"properties": { +"adTechnologyProviders": { +"$ref": "AdTechnologyProviders", +"description": "The detected ad technology providers." +}, +"chinaPolicyCompliance": { +"$ref": "PolicyCompliance", +"description": "The policy compliance of this creative in China. When approved or disapproved, this applies to both deals and open auction in China. When pending review, this creative is allowed to serve for deals but not for open auction." +}, +"dealsPolicyCompliance": { +"$ref": "PolicyCompliance", +"description": "Policy compliance of this creative when bidding on Programmatic Guaranteed and Preferred Deals (outside of Russia and China)." +}, +"detectedAdvertisers": { +"description": "Detected advertisers and brands.", +"items": { +"$ref": "AdvertiserAndBrand" +}, +"type": "array" +}, +"detectedAttributes": { +"description": "Publisher-excludable attributes that were detected for this creative. Can be used to filter the response of the creatives.list method. If the `excluded_attribute` field of a [bid request](https://developers.google.com/authorized-buyers/rtb/downloads/realtime-bidding-proto) contains one of the attributes that were declared or detected for a given creative, and a bid is submitted with that creative, the bid will be filtered before the auction.", +"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" +}, +"detectedCategories": { +"description": "Output only. IDs of the detected categories, if any. The taxonomy in which the categories are expressed is specified by the detected_categories_taxonomy field. Can be used to filter the response of the creatives.list method.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"detectedCategoriesTaxonomy": { +"description": "Output only. The taxonomy in which the detected_categories field is expressed.", +"enum": [ +"AD_CATEGORY_TAXONOMY_UNSPECIFIED", +"IAB_CONTENT_1_0" +], +"enumDescriptions": [ +"Default value that should never be used.", +"IAB Content Taxonomy 1.0. See https://github.com/InteractiveAdvertisingBureau/Taxonomies/blob/main/Content%20Taxonomies/Content%20Taxonomy%201.0.tsv for more details." +], +"readOnly": true, +"type": "string" +}, +"detectedClickThroughUrls": { +"description": "The set of detected destination URLs for the creative. Can be used to filter the response of the creatives.list method.", +"items": { +"type": "string" +}, +"type": "array" +}, +"detectedDomains": { +"description": "The detected domains for this creative.", +"items": { +"type": "string" +}, +"type": "array" +}, +"detectedLanguages": { +"description": "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. Can be used to filter the response of the creatives.list method.", +"items": { +"type": "string" +}, +"type": "array" +}, +"detectedProductCategories": { +"description": "Detected product categories, if any. See the ad-product-categories.txt file in the technical documentation for a list of IDs. Can be used to filter the response of the creatives.list method.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"detectedSensitiveCategories": { +"description": "Detected sensitive categories, if any. Can be used to filter the response of the creatives.list method. 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" +}, +"detectedVendorIds": { +"description": "IDs of the ad technology vendors that were detected to be used by this creative. See https://storage.googleapis.com/adx-rtb-dictionaries/vendors.txt for possible values. Can be used to filter the response of the creatives.list method. If the `allowed_vendor_type` field of a [bid request](https://developers.google.com/authorized-buyers/rtb/downloads/realtime-bidding-proto) does not contain one of the vendor type IDs that were declared or detected for a given creative, and a bid is submitted with that creative, the bid will be filtered before the auction.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"lastStatusUpdate": { +"description": "The last time the creative status was updated. Can be used to filter the response of the creatives.list method.", +"format": "google-datetime", +"type": "string" +}, +"networkPolicyCompliance": { +"$ref": "PolicyCompliance", +"description": "Policy compliance of this creative when bidding in open auction, private auction, or auction packages (outside of Russia and China)." +}, +"platformPolicyCompliance": { +"$ref": "PolicyCompliance", +"description": "Policy compliance of this creative when bidding in Open Bidding (outside of Russia and China). For the list of platform policies, see: https://support.google.com/platformspolicy/answer/3013851." +}, +"russiaPolicyCompliance": { +"$ref": "PolicyCompliance", +"description": "The policy compliance of this creative in Russia. When approved or disapproved, this applies to both deals and open auction in Russia. When pending review, this creative is allowed to serve for deals but not for open auction." +} +}, +"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" +}, +"DestinationNotCrawlableEvidence": { +"description": "Evidence that the creative's destination URL was not crawlable by Google.", +"id": "DestinationNotCrawlableEvidence", +"properties": { +"crawlTime": { +"description": "Approximate time of the crawl.", +"format": "google-datetime", +"type": "string" +}, +"crawledUrl": { +"description": "Destination URL that was attempted to be crawled.", +"type": "string" +}, +"reason": { +"description": "Reason of destination not crawlable.", +"enum": [ +"REASON_UNSPECIFIED", +"UNREACHABLE_ROBOTS", +"TIMEOUT_ROBOTS", +"ROBOTED_DENIED", +"UNKNOWN" +], +"enumDescriptions": [ +"Default value that should never be used.", +"Site's robots exclusion file (for example, robots.txt) was unreachable.", +"Timed out reading site's robots exclusion file (for example, robots.txt).", +"Crawler was disallowed by the site's robots exclusion file (for example, robots.txt).", +"Unknown reason." +], +"type": "string" +} +}, +"type": "object" +}, +"DestinationNotWorkingEvidence": { +"description": "Evidence of the creative's destination URL not functioning properly or having been incorrectly set up.", +"id": "DestinationNotWorkingEvidence", +"properties": { +"dnsError": { +"description": "DNS lookup errors.", +"enum": [ +"DNS_ERROR_UNSPECIFIED", +"ERROR_DNS", +"GOOGLE_CRAWLER_DNS_ISSUE" +], +"enumDescriptions": [ +"Default value that should never be used.", +"DNS name was not found.", +"An internal issue occurred when Google's crawler tried to resolve the DNS entry. This is a Google-internal issue and may not be the result of an issue with the landing page." +], +"type": "string" +}, +"expandedUrl": { +"description": "The full non-working URL.", +"type": "string" +}, +"httpError": { +"description": "HTTP error code (for example, 404 or 5xx)", +"format": "int32", +"type": "integer" +}, +"invalidPage": { +"description": "Page was crawled successfully, but was detected as either a page with no content or an error page.", +"enum": [ +"INVALID_PAGE_UNSPECIFIED", +"EMPTY_OR_ERROR_PAGE" +], +"enumDescriptions": [ +"Default value that should never be used.", +"Page was empty or had an error." +], +"type": "string" +}, +"lastCheckTime": { +"description": "Approximate time when the ad destination was last checked.", +"format": "google-datetime", +"type": "string" +}, +"platform": { +"description": "Platform of the non-working URL.", +"enum": [ +"PLATFORM_UNSPECIFIED", +"PERSONAL_COMPUTER", +"ANDROID", +"IOS" +], +"enumDescriptions": [ +"Default value that should never be used.", +"The personal computer platform.", +"The Android platform.", +"The iOS platform." +], +"type": "string" +}, +"redirectionError": { +"description": "HTTP redirect chain error.", +"enum": [ +"REDIRECTION_ERROR_UNSPECIFIED", +"TOO_MANY_REDIRECTS", +"INVALID_REDIRECT", +"EMPTY_REDIRECT", +"REDIRECT_ERROR_UNKNOWN" +], +"enumDescriptions": [ +"Default value that should never be used.", +"Too many redirect hops.", +"Got a redirect but it was invalid.", +"Got a redirect but it was empty.", +"Unknown redirect error." +], +"type": "string" +}, +"urlRejected": { +"description": "Rejected because of malformed URLs or invalid requests.", +"enum": [ +"URL_REJECTED_UNSPECIFIED", +"BAD_REQUEST", +"MALFORMED_URL", +"URL_REJECTED_UNKNOWN" +], +"enumDescriptions": [ +"Default value that should never be used.", +"URL rejected because of a malformed request.", +"URL rejected because of a malformed URL.", +"URL rejected because of unknown reason." +], +"type": "string" +} +}, +"type": "object" +}, +"DestinationUrlEvidence": { +"description": "The full landing page URL of the destination.", +"id": "DestinationUrlEvidence", +"properties": { +"destinationUrl": { +"description": "The full landing page URL of the destination.", +"type": "string" +} +}, +"type": "object" +}, +"DomainCallEvidence": { +"description": "Number of HTTP calls made by a creative, broken down by domain.", +"id": "DomainCallEvidence", +"properties": { +"topHttpCallDomains": { +"description": "Breakdown of the most frequent domains called through HTTP by the creative.", +"items": { +"$ref": "DomainCalls" +}, +"type": "array" +}, +"totalHttpCallCount": { +"description": "The total number of HTTP calls made by the creative, including but not limited to the number of calls in the top_http_call_domains.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"DomainCalls": { +"description": "The number of HTTP calls made to the given domain.", +"id": "DomainCalls", +"properties": { +"domain": { +"description": "The domain name.", +"type": "string" +}, +"httpCallCount": { +"description": "Number of HTTP calls made to the domain.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"DownloadSizeEvidence": { +"description": "Total download size and URL-level download size breakdown for resources in a creative.", +"id": "DownloadSizeEvidence", +"properties": { +"topUrlDownloadSizeBreakdowns": { +"description": "Download size broken down by URLs with the top download size.", +"items": { +"$ref": "UrlDownloadSize" +}, +"type": "array" +}, +"totalDownloadSizeKb": { +"description": "Total download size (in kilobytes) for all the resources in the creative.", +"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" +}, +"Endpoint": { +"description": "Bidder endpoint that receives bid requests.", +"id": "Endpoint", +"properties": { +"bidProtocol": { +"description": "The protocol that the bidder endpoint is using.", +"enum": [ +"BID_PROTOCOL_UNSPECIFIED", +"GOOGLE_RTB", +"OPENRTB_JSON", +"OPENRTB_PROTOBUF" +], +"enumDescriptions": [ +"Placeholder for undefined bid protocol. This value should not be used.", +"Google RTB protocol / Protobuf encoding.", +"OpenRTB / JSON encoding (unversioned/latest).", +"OpenRTB / Protobuf encoding (unversioned/latest)." +], +"type": "string" +}, +"maximumQps": { +"description": "The maximum number of queries per second allowed to be sent to this server.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "Output only. Name of the endpoint resource that must follow the pattern `bidders/{bidderAccountId}/endpoints/{endpointId}`, where {bidderAccountId} is the account ID of the bidder who operates this endpoint, and {endpointId} is a unique ID assigned by the server.", +"readOnly": true, +"type": "string" +}, +"tradingLocation": { +"description": "The trading location that bid requests should be sent from. See https://developers.google.com/authorized-buyers/rtb/peer-guide#trading-locations for further information.", +"enum": [ +"TRADING_LOCATION_UNSPECIFIED", +"US_WEST", +"US_EAST", +"EUROPE", +"ASIA" +], +"enumDescriptions": [ +"A placeholder for an undefined trading region. This value should not be used.", +"The Western US trading location.", +"The Eastern US trading location.", +"The European trading location.", +"The Asia trading location." +], +"type": "string" +}, +"url": { +"description": "Output only. The URL that bid requests should be sent to.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GetRemarketingTagResponse": { +"description": "This has been sunset as of October 2023, and will return an error response if called. For more information, see the release notes: https://developers.google.com/authorized-buyers/apis/relnotes#real-time-bidding-api Response for a request to get remarketing tag.", +"id": "GetRemarketingTagResponse", +"properties": { +"snippet": { +"description": "An HTML tag that can be placed on the advertiser's page to add users to a user list. For more information and code samples on using snippets on your website, refer to [Tag your site for remarketing](https://support.google.com/google-ads/answer/2476688).", +"type": "string" +} +}, +"type": "object" +}, +"HtmlContent": { +"description": "HTML content for a creative.", +"id": "HtmlContent", +"properties": { +"height": { +"description": "The height of the HTML snippet in pixels. Can be used to filter the response of the creatives.list method.", +"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. Can be used to filter the response of the creatives.list method.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"HttpCallEvidence": { +"description": "HTTP calls made by a creative that resulted in policy violations.", +"id": "HttpCallEvidence", +"properties": { +"urls": { +"description": "URLs of HTTP calls made by the creative.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"HttpCookieEvidence": { +"description": "Evidence for HTTP cookie-related policy violations.", +"id": "HttpCookieEvidence", +"properties": { +"cookieNames": { +"description": "Names of cookies that violate Google policies. For TOO_MANY_COOKIES policy, this will be the cookie names of top domains with the largest number of cookies. For other policies, this will be all the cookie names that violate the policy.", +"items": { +"type": "string" +}, +"type": "array" +}, +"maxCookieCount": { +"description": "The largest number of cookies set by a creative. If this field is set, cookie_names above will be set to the cookie names of top domains with the largest number of cookies. This field will only be set for TOO_MANY_COOKIES policy.", +"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" +}, +"ListBiddersResponse": { +"description": "A response containing bidders.", +"id": "ListBiddersResponse", +"properties": { +"bidders": { +"description": "List of bidders.", +"items": { +"$ref": "Bidder" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token which can be passed to a subsequent call to the `ListBidders` method to retrieve the next page of results in ListBiddersRequest.pageToken.", +"type": "string" +} +}, +"type": "object" +}, +"ListBuyersResponse": { +"description": "A response containing buyer account information.", +"id": "ListBuyersResponse", +"properties": { +"buyers": { +"description": "List of buyers.", +"items": { +"$ref": "Buyer" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token which can be passed to a subsequent call to the `ListBuyers` method to retrieve the next page of results in ListBuyersRequest.pageToken.", +"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.pageToken field in the subsequent call to the `ListCreatives` method to retrieve the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListEndpointsResponse": { +"description": "A response containing bidder endpoints.", +"id": "ListEndpointsResponse", +"properties": { +"endpoints": { +"description": "List of bidder endpoints.", +"items": { +"$ref": "Endpoint" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token which can be passed to a subsequent call to the `ListEndpoints` method to retrieve the next page of results in ListEndpointsRequest.pageToken.", +"type": "string" +} +}, +"type": "object" +}, +"ListPretargetingConfigsResponse": { +"description": "A response containing pretargeting configurations.", +"id": "ListPretargetingConfigsResponse", +"properties": { +"nextPageToken": { +"description": "A token which can be passed to a subsequent call to the `ListPretargetingConfigs` method to retrieve the next page of results in ListPretargetingConfigsRequest.pageToken.", +"type": "string" +}, +"pretargetingConfigs": { +"description": "List of pretargeting configurations.", +"items": { +"$ref": "PretargetingConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListPublisherConnectionsResponse": { +"description": "A response to a request for listing publisher connections.", +"id": "ListPublisherConnectionsResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass this value in the ListPublisherConnectionsRequest.pageToken field in the subsequent call to the `ListPublisherConnections` method to retrieve the next page of results.", +"type": "string" +}, +"publisherConnections": { +"description": "The list of publisher connections.", +"items": { +"$ref": "PublisherConnection" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListUserListsResponse": { +"description": "The list user list response.", +"id": "ListUserListsResponse", +"properties": { +"nextPageToken": { +"description": "The continuation page token to send back to the server in a subsequent request. Due to a currently known issue, it is recommended that the caller keep invoking the list method until the time a next page token is not returned, even if the result set is empty.", +"type": "string" +}, +"userLists": { +"description": "List of user lists from the search.", +"items": { +"$ref": "UserList" +}, +"type": "array" +} +}, +"type": "object" +}, +"MediaFile": { +"description": "Information about each media file in the VAST.", +"id": "MediaFile", +"properties": { +"bitrate": { +"description": "Bitrate of the video file, in Kbps. Can be used to filter the response of the creatives.list method.", +"format": "int64", +"type": "string" +}, +"mimeType": { +"description": "The MIME type of this media file. Can be used to filter the response of the creatives.list method.", +"enum": [ +"VIDEO_MIME_TYPE_UNSPECIFIED", +"MIME_VIDEO_XFLV", +"MIME_VIDEO_WEBM", +"MIME_VIDEO_MP4", +"MIME_VIDEO_OGG", +"MIME_VIDEO_YT_HOSTED", +"MIME_VIDEO_X_MS_WMV", +"MIME_VIDEO_3GPP", +"MIME_VIDEO_MOV", +"MIME_APPLICATION_SWF", +"MIME_APPLICATION_SURVEY", +"MIME_APPLICATION_JAVASCRIPT", +"MIME_APPLICATION_SILVERLIGHT", +"MIME_APPLICATION_MPEGURL", +"MIME_APPLICATION_MPEGDASH", +"MIME_AUDIO_MP4A", +"MIME_AUDIO_MP3", +"MIME_AUDIO_OGG" +], +"enumDescriptions": [ +"Default value that should never be used.", +"Flash container.", +"WebM container assuming VP9 codec.", +"MPEG-4 container typically with H.264 codec.", +"Ogg container assuming Theora codec.", +"Video files hosted on YouTube.", +"Windows Media Video Codec.", +"3GPP container format used on 3G phones.", +"Quicktime container format.", +"Shockwave Flash (used for VPAID ads).", +"Properties of VAST served by consumer survey.", +"JavaScript (used for VPAID ads).", +"Silverlight (used for VPAID ads).", +"HLS/M3U8.", +"DASH.", +"MPEG-4 audio format.", +"MPEG-3 audio format.", +"Ogg audio format" +], +"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" +}, +"videoUrl": { +"description": "The URL to fetch a native video ad.", +"type": "string" +}, +"videoVastXml": { +"description": "The contents of a VAST document for a native video ad.", +"type": "string" +} +}, +"type": "object" +}, +"NumericTargetingDimension": { +"description": "Generic targeting used for targeting dimensions that contain a list of included and excluded numeric IDs used in app, user list, geo, and vertical id targeting.", +"id": "NumericTargetingDimension", +"properties": { +"excludedIds": { +"description": "The IDs excluded in a configuration.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"includedIds": { +"description": "The IDs included in a configuration.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"OpenUserListRequest": { +"description": "A request to open a specified user list.", +"id": "OpenUserListRequest", +"properties": {}, +"type": "object" +}, +"PolicyCompliance": { +"description": "Policy compliance of the creative for a transaction type or a region.", +"id": "PolicyCompliance", +"properties": { +"status": { +"description": "Serving status for the given transaction type (for example, open auction, deals) or region (for example, China, Russia). Can be used to filter the response of the creatives.list method.", +"enum": [ +"STATUS_UNSPECIFIED", +"PENDING_REVIEW", +"DISAPPROVED", +"APPROVED", +"CERTIFICATE_REQUIRED" +], +"enumDescriptions": [ +"Default value that should never be used.", +"Creative is pending review.", +"Creative cannot serve.", +"Creative is approved.", +"Certificates are required for the creative to be served in some regions. For more information about creative certification, refer to: https://support.google.com/authorizedbuyers/answer/7450776" +], +"type": "string" +}, +"topics": { +"description": "Topics related to the policy compliance for this transaction type (for example, open auction, deals) or region (for example, China, Russia). Topics may be present only if status is DISAPPROVED.", +"items": { +"$ref": "PolicyTopicEntry" +}, +"type": "array" +} +}, +"type": "object" +}, +"PolicyTopicEntry": { +"description": "Each policy topic entry will represent a violation of a policy topic for a creative, with the policy topic information and optional evidence for the policy violation.", +"id": "PolicyTopicEntry", +"properties": { +"evidences": { +"description": "Pieces of evidence associated with this policy topic entry.", +"items": { +"$ref": "PolicyTopicEvidence" +}, +"type": "array" +}, +"helpCenterUrl": { +"description": "URL of the help center article describing this policy topic.", +"type": "string" +}, +"missingCertificate": { +"description": "Whether or not the policy topic is missing a certificate. Some policy topics require a certificate to unblock serving in some regions. For more information about creative certification, refer to: https://support.google.com/authorizedbuyers/answer/7450776", +"type": "boolean" +}, +"policyTopic": { +"description": "Policy topic this entry refers to. For example, \"ALCOHOL\", \"TRADEMARKS_IN_AD_TEXT\", or \"DESTINATION_NOT_WORKING\". The set of possible policy topics is not fixed for a particular API version and may change at any time. Can be used to filter the response of the creatives.list method", +"type": "string" +} +}, +"type": "object" +}, +"PolicyTopicEvidence": { +"description": "Evidence associated with a policy topic entry.", +"id": "PolicyTopicEvidence", +"properties": { +"destinationNotCrawlable": { +"$ref": "DestinationNotCrawlableEvidence", +"description": "The creative's destination URL was not crawlable by Google." +}, +"destinationNotWorking": { +"$ref": "DestinationNotWorkingEvidence", +"description": "The creative's destination URL did not function properly or was incorrectly set up." +}, +"destinationUrl": { +"$ref": "DestinationUrlEvidence", +"description": "URL of the actual landing page." +}, +"domainCall": { +"$ref": "DomainCallEvidence", +"description": "Number of HTTP calls made by the creative, broken down by domain." +}, +"downloadSize": { +"$ref": "DownloadSizeEvidence", +"description": "Total download size and URL-level download size breakdown for resources in a creative." +}, +"httpCall": { +"$ref": "HttpCallEvidence", +"description": "HTTP calls made by the creative that resulted in policy violations." +}, +"httpCookie": { +"$ref": "HttpCookieEvidence", +"description": "Evidence for HTTP cookie-related policy violations." +} +}, +"type": "object" +}, +"PretargetingConfig": { +"description": "Pretargeting configuration: a set of targeting dimensions applied at the pretargeting stage of the RTB funnel. These control which inventory a bidder will receive bid requests for.", +"id": "PretargetingConfig", +"properties": { +"allowedUserTargetingModes": { +"description": "Targeting modes included by this configuration. A bid request must allow all the specified targeting modes. An unset value allows all bid requests to be sent, regardless of which targeting modes they allow.", +"items": { +"enum": [ +"USER_TARGETING_MODE_UNSPECIFIED", +"REMARKETING_ADS", +"INTEREST_BASED_TARGETING" +], +"enumDescriptions": [ +"Placeholder for undefined user targeting mode.", +"Remarketing ads are allowed to serve.", +"Ads based on user interest category targeting are allowed to serve." +], +"type": "string" +}, +"type": "array" +}, +"appTargeting": { +"$ref": "AppTargeting", +"description": "Targeting on a subset of app inventory. If APP is listed in targeted_environments, the specified targeting is applied. A maximum of 30,000 app IDs can be targeted. An unset value for targeting allows all app-based bid requests to be sent. Apps can either be targeting positively (bid requests will be sent only if the destination app is listed in the targeting dimension) or negatively (bid requests will be sent only if the destination app is not listed in the targeting dimension)." +}, +"billingId": { +"description": "Output only. The identifier that corresponds to this pretargeting configuration that helps buyers track and attribute their spend across their own arbitrary divisions. If a bid request matches more than one configuration, the buyer chooses which billing_id to attribute each of their bids.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "The diplay name associated with this configuration. This name must be unique among all the pretargeting configurations a bidder has.", +"type": "string" +}, +"excludedContentLabelIds": { +"description": "The sensitive content category label IDs excluded in this configuration. Bid requests for inventory with any of the specified content label IDs will not be sent. Refer to this file https://storage.googleapis.com/adx-rtb-dictionaries/content-labels.txt for category IDs.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"geoTargeting": { +"$ref": "NumericTargetingDimension", +"description": "The geos included or excluded in this configuration defined in https://storage.googleapis.com/adx-rtb-dictionaries/geo-table.csv" +}, +"includedCreativeDimensions": { +"description": "Creative dimensions included by this configuration. Only bid requests eligible for at least one of the specified creative dimensions will be sent. An unset value allows all bid requests to be sent, regardless of creative dimension.", +"items": { +"$ref": "CreativeDimensions" +}, +"type": "array" +}, +"includedEnvironments": { +"description": "Environments that are being included. Bid requests will not be sent for a given environment if it is not included. Further restrictions can be applied to included environments to target only a subset of its inventory. An unset value includes all environments.", +"items": { +"enum": [ +"ENVIRONMENT_UNSPECIFIED", +"APP", +"WEB" +], +"enumDescriptions": [ +"Placeholder for unspecified environment. This value should not be used.", +"App environment.", +"Web environment." +], +"type": "string" +}, +"type": "array" +}, +"includedFormats": { +"description": "Creative formats included by this configuration. Only bid requests eligible for at least one of the specified creative formats will be sent. An unset value will allow all bid requests to be sent, regardless of format.", +"items": { +"enum": [ +"CREATIVE_FORMAT_UNSPECIFIED", +"HTML", +"VAST", +"NATIVE" +], +"enumDescriptions": [ +"Placeholder for undefined creative format. This value should not be used.", +"HTML and AMPHTML creatives.", +"VAST video or audio creative.", +"Native creative, including standard and video native ads." +], +"type": "string" +}, +"type": "array" +}, +"includedLanguages": { +"description": "The languages included in this configuration, represented by their language code. See https://developers.google.com/adwords/api/docs/appendix/languagecodes.", +"items": { +"type": "string" +}, +"type": "array" +}, +"includedMobileOperatingSystemIds": { +"description": "The mobile operating systems included in this configuration as defined in https://storage.googleapis.com/adx-rtb-dictionaries/mobile-os.csv", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"includedPlatforms": { +"description": "The platforms included by this configration. Bid requests for devices with the specified platform types will be sent. An unset value allows all bid requests to be sent, regardless of platform.", +"items": { +"enum": [ +"PLATFORM_UNSPECIFIED", +"PERSONAL_COMPUTER", +"PHONE", +"TABLET", +"CONNECTED_TV" +], +"enumDescriptions": [ +"Placeholder for an undefined platform. This value should not be used.", +"The personal computer platform.", +"The mobile platform.", +"The tablet platform.", +"The connected TV platform." +], +"type": "string" +}, +"type": "array" +}, +"includedUserIdTypes": { +"description": "User identifier types included in this configuration. At least one of the user identifier types specified in this list must be available for the bid request to be sent.", +"items": { +"enum": [ +"USER_ID_TYPE_UNSPECIFIED", +"HOSTED_MATCH_DATA", +"GOOGLE_COOKIE", +"DEVICE_ID", +"PUBLISHER_PROVIDED_ID", +"PUBLISHER_FIRST_PARTY_ID" +], +"enumDescriptions": [ +"Placeholder for unspecified user identifier.", +"Hosted match data, referring to hosted_match_data in the bid request.", +"Google cookie, referring to google_user_id in the bid request.", +"Mobile device advertising ID.", +"The request has a publisher-provided ID available to the bidder.", +"Publisher first party ID, scoped to a single site, app or vendor needs to be present on the bid request." +], +"type": "string" +}, +"type": "array" +}, +"interstitialTargeting": { +"description": "The interstitial targeting specified for this configuration. The unset value will allow bid requests to be sent regardless of whether they are for interstitials or not.", +"enum": [ +"INTERSTITIAL_TARGETING_UNSPECIFIED", +"ONLY_INTERSTITIAL_REQUESTS", +"ONLY_NON_INTERSTITIAL_REQUESTS" +], +"enumDescriptions": [ +"Unspecified interstitial targeting. Represents an interstitial-agnostic selection.", +"Only bid requests for interstitial inventory should be sent.", +"Only bid requests for non-interstitial inventory should be sent." +], +"type": "string" +}, +"invalidGeoIds": { +"description": "Output only. Existing included or excluded geos that are invalid. Previously targeted geos may become invalid due to privacy restrictions.", +"items": { +"format": "int64", +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"maximumQps": { +"description": "The maximum QPS threshold for this configuration. The bidder should receive no more than this number of bid requests matching this configuration per second across all their bidding endpoints among all trading locations. Further information available at https://developers.google.com/authorized-buyers/rtb/peer-guide", +"format": "int64", +"type": "string" +}, +"minimumViewabilityDecile": { +"description": "The targeted minimum viewability decile, ranging in values [0, 10]. A value of 5 means that the configuration will only match adslots for which we predict at least 50% viewability. Values > 10 will be rounded down to 10. An unset value or a value of 0 indicates that bid requests will be sent regardless of viewability.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "Output only. Name of the pretargeting configuration that must follow the pattern `bidders/{bidder_account_id}/pretargetingConfigs/{config_id}`", +"readOnly": true, +"type": "string" +}, +"publisherTargeting": { +"$ref": "StringTargetingDimension", +"description": "Targeting on a subset of publisher inventory. Publishers can either be targeted positively (bid requests will be sent only if the publisher is listed in the targeting dimension) or negatively (bid requests will be sent only if the publisher is not listed in the targeting dimension). A maximum of 10,000 publisher IDs can be targeted. Publisher IDs are found in [ads.txt](https://iabtechlab.com/ads-txt/) / [app-ads.txt](https://iabtechlab.com/app-ads-txt/) and in bid requests in the `BidRequest.publisher_id` field on the [Google RTB protocol](https://developers.google.com/authorized-buyers/rtb/downloads/realtime-bidding-proto) or the `BidRequest.site.publisher.id` / `BidRequest.app.publisher.id` field on the [OpenRTB protocol](https://developers.google.com/authorized-buyers/rtb/downloads/openrtb-adx-proto). Publisher IDs will be returned in the order that they were entered." +}, +"state": { +"description": "Output only. The state of this pretargeting configuration.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"SUSPENDED" +], +"enumDescriptions": [ +"Placeholder for undefined state.", +"This pretargeting configuration is actively being used to filter bid requests.", +"This pretargeting configuration is suspended and not used in serving." +], +"readOnly": true, +"type": "string" +}, +"userListTargeting": { +"$ref": "NumericTargetingDimension", +"description": "The remarketing lists included or excluded in this configuration as defined in UserList." +}, +"verticalTargeting": { +"$ref": "NumericTargetingDimension", +"description": "The verticals included or excluded in this configuration as defined in https://developers.google.com/authorized-buyers/rtb/downloads/publisher-verticals" +}, +"webTargeting": { +"$ref": "StringTargetingDimension", +"description": "Targeting on a subset of site inventory. If WEB is listed in included_environments, the specified targeting is applied. A maximum of 50,000 site URLs can be targeted. An unset value for targeting allows all web-based bid requests to be sent. Sites can either be targeting positively (bid requests will be sent only if the destination site is listed in the targeting dimension) or negatively (bid requests will be sent only if the destination site is not listed in the pretargeting configuration)." +} +}, +"type": "object" +}, +"PublisherConnection": { +"description": "An Open Bidding exchange's connection to a publisher. This is initiated by the publisher for the bidder to review. If approved by the bidder, this means that the bidder agrees to receive bid requests from the publisher.", +"id": "PublisherConnection", +"properties": { +"biddingState": { +"description": "Whether the publisher has been approved by the bidder.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"REJECTED", +"APPROVED" +], +"enumDescriptions": [ +"An unspecified bidding status.", +"Indicates a request for connection from the publisher that the bidder needs to review.", +"Indicates that the publisher was rejected.", +"Indicates that the publisher was approved." +], +"type": "string" +}, +"createTime": { +"description": "Output only. The time at which the publisher initiated a connection with the bidder (irrespective of if or when the bidder approves it). This is subsequently updated if the publisher revokes and re-initiates the connection.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Output only. Publisher display name.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Name of the publisher connection. This follows the pattern `bidders/{bidder}/publisherConnections/{publisher}`, where `{bidder}` represents the account ID of the bidder, and `{publisher}` is the ads.txt/app-ads.txt publisher ID.", +"readOnly": true, +"type": "string" +}, +"publisherPlatform": { +"description": "Output only. Whether the publisher is an Ad Manager or AdMob publisher.", +"enum": [ +"PUBLISHER_PLATFORM_UNSPECIFIED", +"GOOGLE_AD_MANAGER", +"ADMOB" +], +"enumDescriptions": [ +"An unspecified publisher platform.", +"A Google Ad Manager publisher.", +"An AdMob publisher." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"RemoveTargetedAppsRequest": { +"description": "A request to stop targeting the provided apps in a specific pretargeting configuration. The pretargeting configuration itself specifies how these apps are targeted. in PretargetingConfig.appTargeting.mobileAppTargeting.", +"id": "RemoveTargetedAppsRequest", +"properties": { +"appIds": { +"description": "A list of app IDs to stop targeting in the pretargeting configuration. These values will be removed from the list of targeted app IDs in PretargetingConfig.appTargeting.mobileAppTargeting.values.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RemoveTargetedPublishersRequest": { +"description": "A request to stop targeting publishers in a specific configuration. The pretargeting configuration itself specifies how these publishers are targeted in PretargetingConfig.publisherTargeting.", +"id": "RemoveTargetedPublishersRequest", +"properties": { +"publisherIds": { +"description": "A list of publisher IDs to stop targeting in the pretargeting configuration. These values will be removed from the list of targeted publisher IDs in PretargetingConfig.publisherTargeting.values. Publishers are identified by their publisher ID from ads.txt / app-ads.txt. See https://iabtechlab.com/ads-txt/ and https://iabtechlab.com/app-ads-txt/ for more details.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RemoveTargetedSitesRequest": { +"description": "A request to stop targeting sites in a specific pretargeting configuration. The pretargeting configuration itself specifies how these sites are targeted in PretargetingConfig.webTargeting.", +"id": "RemoveTargetedSitesRequest", +"properties": { +"sites": { +"description": "A list of site URLs to stop targeting in the pretargeting configuration. These values will be removed from the list of targeted URLs in PretargetingConfig.webTargeting.values.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"StringTargetingDimension": { +"description": "Generic targeting with string values used in app, website and publisher targeting.", +"id": "StringTargetingDimension", +"properties": { +"targetingMode": { +"description": "How the items in this list should be targeted.", +"enum": [ +"TARGETING_MODE_UNSPECIFIED", +"INCLUSIVE", +"EXCLUSIVE" +], +"enumDescriptions": [ +"Placeholder for undefined targeting mode.", +"The inclusive list type. Inventory must match an item in this list to be targeted.", +"The exclusive list type. Inventory must not match any item in this list to be targeted." +], +"type": "string" +}, +"values": { +"description": "The values specified.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SuspendPretargetingConfigRequest": { +"description": "A request to suspend a pretargeting configuration. Sets the configuration's state to SUSPENDED.", +"id": "SuspendPretargetingConfigRequest", +"properties": {}, +"type": "object" +}, +"UrlDownloadSize": { +"description": "The URL-level breakdown for the download size.", +"id": "UrlDownloadSize", +"properties": { +"downloadSizeKb": { +"description": "Download size of the URL in kilobytes.", +"format": "int32", +"type": "integer" +}, +"normalizedUrl": { +"description": "The normalized URL with query parameters and fragment removed.", +"type": "string" +} +}, +"type": "object" +}, +"UrlRestriction": { +"description": "Deprecated. This will be removed in October 2023. For more information, see the release notes: https://developers.google.com/authorized-buyers/apis/relnotes#real-time-bidding-api Represents the URL restriction (for the URL captured by the pixel callback) for a user list.", +"id": "UrlRestriction", +"properties": { +"endDate": { +"$ref": "Date", +"description": "End date (if specified) of the URL restriction. End date should be later than the start date for the date range to be valid." +}, +"restrictionType": { +"description": "The restriction type for the specified URL.", +"enum": [ +"RESTRICTION_TYPE_UNSPECIFIED", +"CONTAINS", +"EQUALS", +"STARTS_WITH", +"ENDS_WITH", +"DOES_NOT_EQUAL", +"DOES_NOT_CONTAIN", +"DOES_NOT_START_WITH", +"DOES_NOT_END_WITH" +], +"enumDescriptions": [ +"Default value that should never be used.", +"The tag URL (as recorded by the pixel callback) contains the specified URL.", +"The tag URL (as recorded by the pixel callback) exactly matches the specified URL.", +"The tag URL (as recorded by the pixel callback) starts with the specified URL.", +"The tag URL (as recorded by the pixel callback) ends with the specified URL.", +"The tag URL (as recorded by the pixel callback) does not equal the specified URL.", +"The tag URL (as recorded by the pixel callback) does not contain the specified URL.", +"The tag URL (as recorded by the pixel callback) does not start with the specified URL.", +"The tag URL (as recorded by the pixel callback) does not end with the specified URL." +], +"type": "string" +}, +"startDate": { +"$ref": "Date", +"description": "Start date (if specified) of the URL restriction." +}, +"url": { +"description": "Required. The URL to use for applying the restriction on the user list.", +"type": "string" +} +}, +"type": "object" +}, +"UserList": { +"description": "Represents an Authorized Buyers user list. Authorized Buyers can create/update/list user lists. Once a user list is created in the system, Authorized Buyers can add users to the user list using the bulk uploader API. Alternatively, users can be added by hosting a tag on the advertiser's page.", +"id": "UserList", +"properties": { +"description": { +"description": "The description for the user list.", +"type": "string" +}, +"displayName": { +"description": "Required. Display name of the user list. This must be unique across all user lists for a given account.", +"type": "string" +}, +"membershipDurationDays": { +"description": "Required. The number of days a user's cookie stays on the user list. The field must be between 0 and 540 inclusive.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "Output only. Name of the user list that must follow the pattern `buyers/{buyer}/userLists/{user_list}`, where `{buyer}` represents the account ID of the buyer who owns the user list. For a bidder accessing user lists on behalf of a child seat buyer, `{buyer}` represents the account ID of the child seat buyer. `{user_list}` is an int64 identifier assigned by Google to uniquely identify a user list.", +"readOnly": true, +"type": "string" +}, +"status": { +"description": "Output only. The status of the user list. A new user list starts out as open.", +"enum": [ +"STATUS_UNSPECIFIED", +"OPEN", +"CLOSED" +], +"enumDescriptions": [ +"Default value that should never be used.", +"New users can be added to the user list.", +"New users cannot be added to the user list." +], +"readOnly": true, +"type": "string" +}, +"urlRestriction": { +"$ref": "UrlRestriction", +"description": "Required. Deprecated. This will be removed in October 2023. For more information, see the release notes: https://developers.google.com/authorized-buyers/apis/relnotes#real-time-bidding-api The URL restriction for the user list." +} +}, +"type": "object" +}, +"VideoContent": { +"description": "Video content for a creative.", +"id": "VideoContent", +"properties": { +"videoMetadata": { +"$ref": "VideoMetadata", +"description": "Output only. Video metadata.", +"readOnly": true +}, +"videoUrl": { +"description": "The URL to fetch a video ad. The URL should return an XML response that conforms to the VAST 2.0, 3.0 or 4.x standard.", +"type": "string" +}, +"videoVastXml": { +"description": "The contents of a VAST document for a video ad. This document should conform to the VAST 2.0, 3.0, or 4.x standard.", +"type": "string" +} +}, +"type": "object" +}, +"VideoMetadata": { +"description": "Video metadata for a creative.", +"id": "VideoMetadata", +"properties": { +"duration": { +"description": "The duration of the ad. Can be used to filter the response of the creatives.list method.", +"format": "google-duration", +"type": "string" +}, +"isValidVast": { +"description": "Is this a valid VAST ad? Can be used to filter the response of the creatives.list method.", +"type": "boolean" +}, +"isVpaid": { +"description": "Is this a VPAID ad? Can be used to filter the response of the creatives.list method.", +"type": "boolean" +}, +"mediaFiles": { +"description": "The list of all media files declared in the VAST. If there are multiple VASTs in a wrapper chain, this includes the media files from the deepest one in the chain.", +"items": { +"$ref": "MediaFile" +}, +"type": "array" +}, +"skipOffset": { +"description": "The minimum duration that the user has to watch before being able to skip this ad. If the field is not set, the ad is not skippable. If the field is set, the ad is skippable. Can be used to filter the response of the creatives.list method.", +"format": "google-duration", +"type": "string" +}, +"vastVersion": { +"description": "The maximum VAST version across all wrapped VAST documents. Can be used to filter the response of the creatives.list method.", +"enum": [ +"VAST_VERSION_UNSPECIFIED", +"VAST_VERSION_1_0", +"VAST_VERSION_2_0", +"VAST_VERSION_3_0", +"VAST_VERSION_4_0" +], +"enumDescriptions": [ +"Default value that should never be used.", +"VAST 1.0", +"VAST 2.0", +"VAST 3.0", +"VAST 4.0" +], +"type": "string" +} +}, +"type": "object" +}, +"WatchCreativesRequest": { +"description": "A request to receive push notifications when any of the creatives belonging to the bidder changes status.", +"id": "WatchCreativesRequest", +"properties": {}, +"type": "object" +}, +"WatchCreativesResponse": { +"description": "A response for the request to receive push notification when a bidder's creatives change status.", +"id": "WatchCreativesResponse", +"properties": { +"subscription": { +"description": "The Pub/Sub subscription that can be used to pull creative status notifications. This would be of the format `projects/{project_id}/subscriptions/{subscription_id}`. Subscription is created with pull delivery. All service accounts belonging to the bidder will have read access to this subscription. Subscriptions that are inactive for more than 90 days will be disabled. Use watchCreatives to re-enable the subscription.", +"type": "string" +}, +"topic": { +"description": "The Pub/Sub topic that will be used to publish creative serving status notifications. This would be of the format `projects/{project_id}/topics/{topic_id}`.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Real-time Bidding 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/retail.v2alpha.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/retail.v2alpha.json new file mode 100644 index 0000000000000000000000000000000000000000..085efbe789350d082dad5f8174b6d91b07e08768 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/retail.v2alpha.json @@ -0,0 +1,8837 @@ +{ +"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://retail.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Cloud Retail", +"description": "Vertex AI Search for Retail API is made up of Retail Search, Browse and Recommendations. These discovery AI solutions help you implement personalized search, browse and recommendations, based on machine learning models, across your websites and mobile applications.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/recommendations", +"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": "retail:v2alpha", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://retail.mtls.googleapis.com/", +"name": "retail", +"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": { +"enrollSolution": { +"description": "The method enrolls a solution of type Retail Search into a project. The Recommendations AI solution type is enrolled by default when your project enables Retail API, so you don't need to call the enrollSolution method for recommendations.", +"flatPath": "v2alpha/projects/{projectsId}:enrollSolution", +"httpMethod": "POST", +"id": "retail.projects.enrollSolution", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Required. Full resource name of parent. Format: `projects/{project_number_or_id}`", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+project}:enrollSolution", +"request": { +"$ref": "GoogleCloudRetailV2alphaEnrollSolutionRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getAlertConfig": { +"description": "Get the AlertConfig of the requested project.", +"flatPath": "v2alpha/projects/{projectsId}/alertConfig", +"httpMethod": "GET", +"id": "retail.projects.getAlertConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full AlertConfig resource name. Format: projects/{project_number}/alertConfig", +"location": "path", +"pattern": "^projects/[^/]+/alertConfig$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"response": { +"$ref": "GoogleCloudRetailV2alphaAlertConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getLoggingConfig": { +"description": "Gets the LoggingConfig of the requested project.", +"flatPath": "v2alpha/projects/{projectsId}/loggingConfig", +"httpMethod": "GET", +"id": "retail.projects.getLoggingConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full LoggingConfig resource name. Format: projects/{project_number}/loggingConfig", +"location": "path", +"pattern": "^projects/[^/]+/loggingConfig$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"response": { +"$ref": "GoogleCloudRetailV2alphaLoggingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getRetailProject": { +"description": "Gets the project. Throws `NOT_FOUND` if the project wasn't initialized for the Retail API service.", +"flatPath": "v2alpha/projects/{projectsId}/retailProject", +"httpMethod": "GET", +"id": "retail.projects.getRetailProject", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of the project. Format: `projects/{project_number_or_id}/retailProject`", +"location": "path", +"pattern": "^projects/[^/]+/retailProject$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"response": { +"$ref": "GoogleCloudRetailV2alphaProject" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"listEnrolledSolutions": { +"description": "Lists all the retail API solutions the project has enrolled.", +"flatPath": "v2alpha/projects/{projectsId}:enrolledSolutions", +"httpMethod": "GET", +"id": "retail.projects.listEnrolledSolutions", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Full resource name of parent. Format: `projects/{project_number_or_id}`", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+parent}:enrolledSolutions", +"response": { +"$ref": "GoogleCloudRetailV2alphaListEnrolledSolutionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateAlertConfig": { +"description": "Update the alert config of the requested project.", +"flatPath": "v2alpha/projects/{projectsId}/alertConfig", +"httpMethod": "PATCH", +"id": "retail.projects.updateAlertConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Immutable. The name of the AlertConfig singleton resource. Format: projects/*/alertConfig", +"location": "path", +"pattern": "^projects/[^/]+/alertConfig$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided AlertConfig to update. If not set, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"request": { +"$ref": "GoogleCloudRetailV2alphaAlertConfig" +}, +"response": { +"$ref": "GoogleCloudRetailV2alphaAlertConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateLoggingConfig": { +"description": "Updates the LoggingConfig of the requested project.", +"flatPath": "v2alpha/projects/{projectsId}/loggingConfig", +"httpMethod": "PATCH", +"id": "retail.projects.updateLoggingConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Immutable. The name of the LoggingConfig singleton resource. Format: projects/*/loggingConfig", +"location": "path", +"pattern": "^projects/[^/]+/loggingConfig$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided LoggingConfig to update. The following are the only supported fields: * LoggingConfig.default_log_generation_rule * LoggingConfig.service_log_generation_rules If not set, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"request": { +"$ref": "GoogleCloudRetailV2alphaLoggingConfig" +}, +"response": { +"$ref": "GoogleCloudRetailV2alphaLoggingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"locations": { +"resources": { +"catalogs": { +"methods": { +"completeQuery": { +"description": "Completes the specified prefix with keyword suggestions. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}:completeQuery", +"httpMethod": "GET", +"id": "retail.projects.locations.catalogs.completeQuery", +"parameterOrder": [ +"catalog" +], +"parameters": { +"catalog": { +"description": "Required. Catalog for which the completion is performed. Full resource name of catalog, such as `projects/*/locations/global/catalogs/default_catalog`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", +"required": true, +"type": "string" +}, +"dataset": { +"description": "Determines which dataset to use for fetching completion. \"user-data\" will use the imported dataset through CompletionService.ImportCompletionData. \"cloud-retail\" will use the dataset generated by cloud retail based on user events. If leave empty, it will use the \"user-data\". Current supported values: * user-data * cloud-retail: This option requires enabling auto-learning function first. See [guidelines](https://cloud.google.com/retail/docs/completion-overview#generated-completion-dataset).", +"location": "query", +"type": "string" +}, +"deviceType": { +"description": "The device type context for completion suggestions. We recommend that you leave this field empty. It can apply different suggestions on different device types, e.g. `DESKTOP`, `MOBILE`. If it is empty, the suggestions are across all device types. Supported formats: * `UNKNOWN_DEVICE_TYPE` * `DESKTOP` * `MOBILE` * A customized string starts with `OTHER_`, e.g. `OTHER_IPHONE`.", +"location": "query", +"type": "string" +}, +"enableAttributeSuggestions": { +"description": "If true, attribute suggestions are enabled and provided in the response. This field is only available for the \"cloud-retail\" dataset.", +"location": "query", +"type": "boolean" +}, +"entity": { +"description": "The entity for customers who run multiple entities, domains, sites, or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. If this is set, it must be an exact match with UserEvent.entity to get per-entity autocomplete results.", +"location": "query", +"type": "string" +}, +"languageCodes": { +"description": "Note that this field applies for `user-data` dataset only. For requests with `cloud-retail` dataset, setting this field has no effect. The language filters applied to the output suggestions. If set, it should contain the language of the query. If not set, suggestions are returned without considering language restrictions. 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 language codes is 3.", +"location": "query", +"repeated": true, +"type": "string" +}, +"maxSuggestions": { +"description": "Completion max suggestions. If left unset or set to 0, then will fallback to the configured value CompletionConfig.max_suggestions. The maximum allowed max suggestions is 20. If it is set higher, it will be capped by 20.", +"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" +}, +"visitorId": { +"description": "Required field. 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. 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": "v2alpha/{+catalog}:completeQuery", +"response": { +"$ref": "GoogleCloudRetailV2alphaCompleteQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"exportAnalyticsMetrics": { +"description": "Exports analytics metrics. `Operation.response` is of type `ExportAnalyticsMetricsResponse`. `Operation.metadata` is of type `ExportMetadata`.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}:exportAnalyticsMetrics", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.exportAnalyticsMetrics", +"parameterOrder": [ +"catalog" +], +"parameters": { +"catalog": { +"description": "Required. Full resource name of the parent catalog. Expected format: `projects/*/locations/*/catalogs/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+catalog}:exportAnalyticsMetrics", +"request": { +"$ref": "GoogleCloudRetailV2alphaExportAnalyticsMetricsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getAttributesConfig": { +"description": "Gets an AttributesConfig.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/attributesConfig", +"httpMethod": "GET", +"id": "retail.projects.locations.catalogs.getAttributesConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full AttributesConfig resource name. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/attributesConfig`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/attributesConfig$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"response": { +"$ref": "GoogleCloudRetailV2alphaAttributesConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getCompletionConfig": { +"description": "Gets a CompletionConfig.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/completionConfig", +"httpMethod": "GET", +"id": "retail.projects.locations.catalogs.getCompletionConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full CompletionConfig resource name. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/completionConfig`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/completionConfig$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"response": { +"$ref": "GoogleCloudRetailV2alphaCompletionConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getDefaultBranch": { +"description": "Get which branch is currently default branch set by CatalogService.SetDefaultBranch method under a specified parent catalog.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}:getDefaultBranch", +"httpMethod": "GET", +"id": "retail.projects.locations.catalogs.getDefaultBranch", +"parameterOrder": [ +"catalog" +], +"parameters": { +"catalog": { +"description": "The parent catalog resource name, such as `projects/*/locations/global/catalogs/default_catalog`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+catalog}:getDefaultBranch", +"response": { +"$ref": "GoogleCloudRetailV2alphaGetDefaultBranchResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getGenerativeQuestionFeature": { +"description": "Manages overal generative question feature state -- enables toggling feature on and off.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/generativeQuestionFeature", +"httpMethod": "GET", +"id": "retail.projects.locations.catalogs.getGenerativeQuestionFeature", +"parameterOrder": [ +"catalog" +], +"parameters": { +"catalog": { +"description": "Required. Resource name of the parent catalog. Format: projects/{project}/locations/{location}/catalogs/{catalog}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+catalog}/generativeQuestionFeature", +"response": { +"$ref": "GoogleCloudRetailV2alphaGenerativeQuestionsFeatureConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all the Catalogs associated with the project.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs", +"httpMethod": "GET", +"id": "retail.projects.locations.catalogs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of Catalogs to return. If unspecified, defaults to 50. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an INVALID_ARGUMENT is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token ListCatalogsResponse.next_page_token, received from a previous CatalogService.ListCatalogs call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to CatalogService.ListCatalogs must match the call that provided the page token. Otherwise, an INVALID_ARGUMENT error is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The account resource name with an associated location. If the caller does not have permission to list Catalogs 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": "v2alpha/{+parent}/catalogs", +"response": { +"$ref": "GoogleCloudRetailV2alphaListCatalogsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the Catalogs.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}", +"httpMethod": "PATCH", +"id": "retail.projects.locations.catalogs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Immutable. The fully qualified resource name of the catalog.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided Catalog to update. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"request": { +"$ref": "GoogleCloudRetailV2alphaCatalog" +}, +"response": { +"$ref": "GoogleCloudRetailV2alphaCatalog" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setDefaultBranch": { +"description": "Set a specified branch id as default branch. API methods such as SearchService.Search, ProductService.GetProduct, ProductService.ListProducts will treat requests using \"default_branch\" to the actual branch id set as default. For example, if `projects/*/locations/*/catalogs/*/branches/1` is set as default, setting SearchRequest.branch to `projects/*/locations/*/catalogs/*/branches/default_branch` is equivalent to setting SearchRequest.branch to `projects/*/locations/*/catalogs/*/branches/1`. Using multiple branches can be useful when developers would like to have a staging branch to test and verify for future usage. When it becomes ready, developers switch on the staging branch using this API while keeping using `projects/*/locations/*/catalogs/*/branches/default_branch` as SearchRequest.branch to route the traffic to this staging branch. CAUTION: If you have live predict/search traffic, switching the default branch could potentially cause outages if the ID space of the new branch is very different from the old one. More specifically: * PredictionService will only return product IDs from branch {newBranch}. * SearchService will only return product IDs from branch {newBranch} (if branch is not explicitly set). * UserEventService will only join events with products from branch {newBranch}.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}:setDefaultBranch", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.setDefaultBranch", +"parameterOrder": [ +"catalog" +], +"parameters": { +"catalog": { +"description": "Full resource name of the catalog, such as `projects/*/locations/global/catalogs/default_catalog`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+catalog}:setDefaultBranch", +"request": { +"$ref": "GoogleCloudRetailV2alphaSetDefaultBranchRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateAttributesConfig": { +"description": "Updates the AttributesConfig. The catalog attributes in the request will be updated in the catalog, or inserted if they do not exist. Existing catalog attributes not included in the request will remain unchanged. Attributes that are assigned to products, but do not exist at the catalog level, are always included in the response. The product attribute is assigned default values for missing catalog attribute fields, e.g., searchable and dynamic facetable options.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/attributesConfig", +"httpMethod": "PATCH", +"id": "retail.projects.locations.catalogs.updateAttributesConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Immutable. The fully qualified resource name of the attribute config. Format: `projects/*/locations/*/catalogs/*/attributesConfig`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/attributesConfig$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided AttributesConfig to update. The following is the only supported field: * AttributesConfig.catalog_attributes If not set, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"request": { +"$ref": "GoogleCloudRetailV2alphaAttributesConfig" +}, +"response": { +"$ref": "GoogleCloudRetailV2alphaAttributesConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateCompletionConfig": { +"description": "Updates the CompletionConfigs.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/completionConfig", +"httpMethod": "PATCH", +"id": "retail.projects.locations.catalogs.updateCompletionConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Immutable. Fully qualified name `projects/*/locations/*/catalogs/*/completionConfig`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/completionConfig$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided CompletionConfig to update. The following are the only supported fields: * CompletionConfig.matching_order * CompletionConfig.max_suggestions * CompletionConfig.min_prefix_length * CompletionConfig.auto_learning If not set, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"request": { +"$ref": "GoogleCloudRetailV2alphaCompletionConfig" +}, +"response": { +"$ref": "GoogleCloudRetailV2alphaCompletionConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateGenerativeQuestion": { +"description": "Allows management of individual questions.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/generativeQuestion", +"httpMethod": "PATCH", +"id": "retail.projects.locations.catalogs.updateGenerativeQuestion", +"parameterOrder": [ +"catalog" +], +"parameters": { +"catalog": { +"description": "Required. Resource name of the catalog. Format: projects/{project}/locations/{location}/catalogs/{catalog}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Indicates which fields in the provided GenerativeQuestionConfig to update. The following are NOT supported: * GenerativeQuestionConfig.frequency If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2alpha/{+catalog}/generativeQuestion", +"request": { +"$ref": "GoogleCloudRetailV2alphaGenerativeQuestionConfig" +}, +"response": { +"$ref": "GoogleCloudRetailV2alphaGenerativeQuestionConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateGenerativeQuestionFeature": { +"description": "Manages overal generative question feature state -- enables toggling feature on and off.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/generativeQuestionFeature", +"httpMethod": "PATCH", +"id": "retail.projects.locations.catalogs.updateGenerativeQuestionFeature", +"parameterOrder": [ +"catalog" +], +"parameters": { +"catalog": { +"description": "Required. Resource name of the affected catalog. Format: projects/{project}/locations/{location}/catalogs/{catalog}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Indicates which fields in the provided GenerativeQuestionsFeatureConfig to update. If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2alpha/{+catalog}/generativeQuestionFeature", +"request": { +"$ref": "GoogleCloudRetailV2alphaGenerativeQuestionsFeatureConfig" +}, +"response": { +"$ref": "GoogleCloudRetailV2alphaGenerativeQuestionsFeatureConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"attributesConfig": { +"methods": { +"addCatalogAttribute": { +"description": "Adds the specified CatalogAttribute to the AttributesConfig. If the CatalogAttribute to add already exists, an ALREADY_EXISTS error is returned.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/attributesConfig:addCatalogAttribute", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.attributesConfig.addCatalogAttribute", +"parameterOrder": [ +"attributesConfig" +], +"parameters": { +"attributesConfig": { +"description": "Required. Full AttributesConfig resource name. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/attributesConfig`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/attributesConfig$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+attributesConfig}:addCatalogAttribute", +"request": { +"$ref": "GoogleCloudRetailV2alphaAddCatalogAttributeRequest" +}, +"response": { +"$ref": "GoogleCloudRetailV2alphaAttributesConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"batchRemoveCatalogAttributes": { +"description": "Removes all specified CatalogAttributes from the AttributesConfig.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/attributesConfig:batchRemoveCatalogAttributes", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.attributesConfig.batchRemoveCatalogAttributes", +"parameterOrder": [ +"attributesConfig" +], +"parameters": { +"attributesConfig": { +"description": "Required. The attributes config resource shared by all catalog attributes being deleted. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/attributesConfig`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/attributesConfig$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+attributesConfig}:batchRemoveCatalogAttributes", +"request": { +"$ref": "GoogleCloudRetailV2alphaBatchRemoveCatalogAttributesRequest" +}, +"response": { +"$ref": "GoogleCloudRetailV2alphaBatchRemoveCatalogAttributesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"removeCatalogAttribute": { +"description": "Removes the specified CatalogAttribute from the AttributesConfig. If the CatalogAttribute to remove does not exist, a NOT_FOUND error is returned.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/attributesConfig:removeCatalogAttribute", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.attributesConfig.removeCatalogAttribute", +"parameterOrder": [ +"attributesConfig" +], +"parameters": { +"attributesConfig": { +"description": "Required. Full AttributesConfig resource name. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/attributesConfig`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/attributesConfig$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+attributesConfig}:removeCatalogAttribute", +"request": { +"$ref": "GoogleCloudRetailV2alphaRemoveCatalogAttributeRequest" +}, +"response": { +"$ref": "GoogleCloudRetailV2alphaAttributesConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"replaceCatalogAttribute": { +"description": "Replaces the specified CatalogAttribute in the AttributesConfig by updating the catalog attribute with the same CatalogAttribute.key. If the CatalogAttribute to replace does not exist, a NOT_FOUND error is returned.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/attributesConfig:replaceCatalogAttribute", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.attributesConfig.replaceCatalogAttribute", +"parameterOrder": [ +"attributesConfig" +], +"parameters": { +"attributesConfig": { +"description": "Required. Full AttributesConfig resource name. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/attributesConfig`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/attributesConfig$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+attributesConfig}:replaceCatalogAttribute", +"request": { +"$ref": "GoogleCloudRetailV2alphaReplaceCatalogAttributeRequest" +}, +"response": { +"$ref": "GoogleCloudRetailV2alphaAttributesConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"branches": { +"methods": { +"get": { +"description": "Retrieves a Branch.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}", +"httpMethod": "GET", +"id": "retail.projects.locations.catalogs.branches.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the branch to retrieve. Format: `projects/*/locations/global/catalogs/default_catalog/branches/some_branch_id`. \"default_branch\" can be used as a special branch_id, it returns the default branch that has been set for the catalog.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "The view to apply to the returned Branch. Defaults to [Branch.BranchView.BASIC] if unspecified. See documentation of fields of Branch to find what fields are excluded from BASIC view.", +"enum": [ +"BRANCH_VIEW_UNSPECIFIED", +"BRANCH_VIEW_BASIC", +"BRANCH_VIEW_FULL" +], +"enumDescriptions": [ +"The value when it's unspecified. This defaults to the BASIC view.", +"Includes basic metadata about the branch, but not statistical fields. See documentation of fields of Branch to find what fields are excluded from BASIC view.", +"Includes all fields of a Branch." +], +"location": "query", +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"response": { +"$ref": "GoogleCloudRetailV2alphaBranch" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all instances of Branch under the specified parent Catalog.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches", +"httpMethod": "GET", +"id": "retail.projects.locations.catalogs.branches.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent catalog resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "The view to apply to the returned Branch. Defaults to [Branch.BranchView.BASIC] if unspecified. See documentation of fields of Branch to find what fields are excluded from BASIC view.", +"enum": [ +"BRANCH_VIEW_UNSPECIFIED", +"BRANCH_VIEW_BASIC", +"BRANCH_VIEW_FULL" +], +"enumDescriptions": [ +"The value when it's unspecified. This defaults to the BASIC view.", +"Includes basic metadata about the branch, but not statistical fields. See documentation of fields of Branch to find what fields are excluded from BASIC view.", +"Includes all fields of a Branch." +], +"location": "query", +"type": "string" +} +}, +"path": "v2alpha/{+parent}/branches", +"response": { +"$ref": "GoogleCloudRetailV2alphaListBranchesResponse" +}, +"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": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "retail.projects.locations.catalogs.branches.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/branches/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"places": { +"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": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/places/{placesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "retail.projects.locations.catalogs.branches.places.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/branches/[^/]+/places/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"products": { +"methods": { +"addFulfillmentPlaces": { +"description": "We recommend that you use the ProductService.AddLocalInventories method instead of the ProductService.AddFulfillmentPlaces method. ProductService.AddLocalInventories achieves the same results but provides more fine-grained control over ingesting local inventory data. Incrementally adds place IDs to Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the added place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:addFulfillmentPlaces", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.branches.products.addFulfillmentPlaces", +"parameterOrder": [ +"product" +], +"parameters": { +"product": { +"description": "Required. Full resource name of Product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id`. If the caller does not have permission to access the Product, regardless of whether or not it exists, a PERMISSION_DENIED error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/branches/[^/]+/products/.*$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+product}:addFulfillmentPlaces", +"request": { +"$ref": "GoogleCloudRetailV2alphaAddFulfillmentPlacesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"addLocalInventories": { +"description": "Updates local inventory information for a Product at a list of places, while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating inventory information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be modified using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:addLocalInventories", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.branches.products.addLocalInventories", +"parameterOrder": [ +"product" +], +"parameters": { +"product": { +"description": "Required. Full resource name of Product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id`. If the caller does not have permission to access the Product, regardless of whether or not it exists, a PERMISSION_DENIED error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/branches/[^/]+/products/.*$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+product}:addLocalInventories", +"request": { +"$ref": "GoogleCloudRetailV2alphaAddLocalInventoriesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a Product.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.branches.products.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent catalog resource name, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +}, +"productId": { +"description": "Required. The ID to use for the Product, which will become the final component of the Product.name. If the caller does not have permission to create the Product, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. This field must be unique among all Products with the same parent. Otherwise, an ALREADY_EXISTS error is returned. This 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": "v2alpha/{+parent}/products", +"request": { +"$ref": "GoogleCloudRetailV2alphaProduct" +}, +"response": { +"$ref": "GoogleCloudRetailV2alphaProduct" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Product.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}", +"httpMethod": "DELETE", +"id": "retail.projects.locations.catalogs.branches.products.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "This value only applies to the case when the target product is of type PRIMARY. When deleting a product of VARIANT/COLLECTION type, this value will be ignored. When set to true, the subsequent variant products will be deleted. When set to false, if the primary product has active variant products, an error will be returned.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. Full resource name of Product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id`. If the caller does not have permission to delete the Product, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the Product to delete does not exist, a NOT_FOUND error is returned. The Product to delete can neither be a Product.Type.COLLECTION Product member nor a Product.Type.PRIMARY Product with more than one variants. Otherwise, an INVALID_ARGUMENT error is returned. All inventory information for the named Product will be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/branches/[^/]+/products/.*$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"export": { +"description": "Exports multiple Products.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products:export", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.branches.products.export", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Resource name of a Branch, and `default_branch` for branch_id component is supported. For example `projects/1234/locations/global/catalogs/default_catalog/branches/default_branch`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+parent}/products:export", +"request": { +"$ref": "GoogleCloudRetailV2alphaExportProductsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Product.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}", +"httpMethod": "GET", +"id": "retail.projects.locations.catalogs.branches.products.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of Product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id`. If the caller does not have permission to access the Product, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested Product does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/branches/[^/]+/products/.*$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"response": { +"$ref": "GoogleCloudRetailV2alphaProduct" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Bulk import of multiple Products. Request processing may be synchronous. Non-existing items are created. Note that it is possible for a subset of the Products to be successfully updated.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products:import", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.branches.products.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. `projects/1234/locations/global/catalogs/default_catalog/branches/default_branch` If no updateMask is specified, requires products.create permission. If updateMask is specified, requires products.update permission.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+parent}/products:import", +"request": { +"$ref": "GoogleCloudRetailV2alphaImportProductsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Gets a list of Products.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products", +"httpMethod": "GET", +"id": "retail.projects.locations.catalogs.branches.products.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "A filter to apply on the list results. Supported features: * List all the products under the parent branch if filter is unset. * List Product.Type.VARIANT Products sharing the same Product.Type.PRIMARY Product. For example: `primary_product_id = \"some_product_id\"` * List Products bundled in a Product.Type.COLLECTION Product. For example: `collection_product_id = \"some_product_id\"` * List Products with a partibular type. For example: `type = \"PRIMARY\"` `type = \"VARIANT\"` `type = \"COLLECTION\"` If the field is unrecognizable, an INVALID_ARGUMENT error is returned. If the specified Product.Type.PRIMARY Product or Product.Type.COLLECTION Product does not exist, a NOT_FOUND error is returned.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of Products 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 ListProductsResponse.next_page_token, received from a previous ProductService.ListProducts call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ProductService.ListProducts 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/*/locations/global/catalogs/default_catalog/branches/0`. Use `default_branch` as the branch ID, to list products under the default branch. If the caller does not have permission to list Products under this branch, regardless of whether or not this branch exists, a PERMISSION_DENIED error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "The fields of Product to return in the responses. If not set or empty, the following fields are returned: * Product.name * Product.id * Product.title * Product.uri * Product.images * Product.price_info * Product.brands If \"*\" is provided, all fields are returned. Product.name is always returned no matter what mask is set. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"requireTotalSize": { +"description": "If true and page_token is empty, ListProductsResponse.total_size is set to the total count of matched items irrespective of pagination. Notice that setting this field to true affects the performance.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2alpha/{+parent}/products", +"response": { +"$ref": "GoogleCloudRetailV2alphaListProductsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Product.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}", +"httpMethod": "PATCH", +"id": "retail.projects.locations.catalogs.branches.products.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "If set to true, and the Product is not found, a new Product will be created. In this situation, `update_mask` is ignored.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/branches/[^/]+/products/.*$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided Product to update. The immutable and output only fields are NOT supported. If not set, all supported fields (the fields that are neither immutable nor output only) are updated. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned. The attribute key can be updated by setting the mask path as \"attributes.${key_name}\". If a key name is present in the mask but not in the patching product from the request, this key will be deleted after the update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"request": { +"$ref": "GoogleCloudRetailV2alphaProduct" +}, +"response": { +"$ref": "GoogleCloudRetailV2alphaProduct" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"purge": { +"description": "Permanently deletes all selected Products under a branch. This process is asynchronous. If the request is valid, the removal will be enqueued and processed offline. Depending on the number of Products, this operation could take hours to complete. Before the operation completes, some Products may still be returned by ProductService.GetProduct or ProductService.ListProducts. Depending on the number of Products, this operation could take hours to complete. To get a sample of Products that would be deleted, set PurgeProductsRequest.force to false.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products:purge", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.branches.products.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the branch under which the products are created. The format is `projects/${projectId}/locations/global/catalogs/${catalogId}/branches/${branchId}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+parent}/products:purge", +"request": { +"$ref": "GoogleCloudRetailV2alphaPurgeProductsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"removeFulfillmentPlaces": { +"description": "We recommend that you use the ProductService.RemoveLocalInventories method instead of the ProductService.RemoveFulfillmentPlaces method. ProductService.RemoveLocalInventories achieves the same results but provides more fine-grained control over ingesting local inventory data. Incrementally removes place IDs from a Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the removed place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:removeFulfillmentPlaces", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.branches.products.removeFulfillmentPlaces", +"parameterOrder": [ +"product" +], +"parameters": { +"product": { +"description": "Required. Full resource name of Product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id`. If the caller does not have permission to access the Product, regardless of whether or not it exists, a PERMISSION_DENIED error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/branches/[^/]+/products/.*$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+product}:removeFulfillmentPlaces", +"request": { +"$ref": "GoogleCloudRetailV2alphaRemoveFulfillmentPlacesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"removeLocalInventories": { +"description": "Remove local inventory information for a Product at a list of places at a removal timestamp. This process is asynchronous. If the request is valid, the removal will be enqueued and processed downstream. As a consequence, when a response is returned, removals are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be removed using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:removeLocalInventories", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.branches.products.removeLocalInventories", +"parameterOrder": [ +"product" +], +"parameters": { +"product": { +"description": "Required. Full resource name of Product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id`. If the caller does not have permission to access the Product, regardless of whether or not it exists, a PERMISSION_DENIED error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/branches/[^/]+/products/.*$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+product}:removeLocalInventories", +"request": { +"$ref": "GoogleCloudRetailV2alphaRemoveLocalInventoriesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setInventory": { +"description": "Updates inventory information for a Product while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update is enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. When inventory is updated with ProductService.CreateProduct and ProductService.UpdateProduct, the specified inventory field value(s) overwrite any existing value(s) while ignoring the last update time for this field. Furthermore, the last update times for the specified inventory fields are overwritten by the times of the ProductService.CreateProduct or ProductService.UpdateProduct request. If no inventory fields are set in CreateProductRequest.product, then any pre-existing inventory information for this product is used. If no inventory fields are set in SetInventoryRequest.set_mask, then any existing inventory information is preserved. Pre-existing inventory information can only be updated with ProductService.SetInventory, ProductService.AddFulfillmentPlaces, and ProductService.RemoveFulfillmentPlaces. The returned Operations is obsolete after one day, and the GetOperation API returns `NOT_FOUND` afterwards. If conflicting updates are issued, the Operations associated with the stale updates are not marked as done until they are obsolete.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:setInventory", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.branches.products.setInventory", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/branches/[^/]+/products/.*$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+name}:setInventory", +"request": { +"$ref": "GoogleCloudRetailV2alphaSetInventoryRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"completionData": { +"methods": { +"import": { +"description": "Bulk import of processed completion dataset. Request processing is asynchronous. Partial updating is not supported. The operation is successfully finished only after the imported suggestions are indexed successfully and ready for serving. The process takes hours. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/completionData:import", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.completionData.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The catalog which the suggestions dataset belongs to. Format: `projects/1234/locations/global/catalogs/default_catalog`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+parent}/completionData:import", +"request": { +"$ref": "GoogleCloudRetailV2alphaImportCompletionDataRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"controls": { +"methods": { +"create": { +"description": "Creates a Control. If the Control to create already exists, an ALREADY_EXISTS error is returned.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/controls", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.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 should be 4-63 characters, and valid characters are /a-z-_/.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Full resource name of parent catalog. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+parent}/controls", +"request": { +"$ref": "GoogleCloudRetailV2alphaControl" +}, +"response": { +"$ref": "GoogleCloudRetailV2alphaControl" +}, +"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": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/controls/{controlsId}", +"httpMethod": "DELETE", +"id": "retail.projects.locations.catalogs.controls.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Control to delete. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/controls/{control_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/controls/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Control.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/controls/{controlsId}", +"httpMethod": "GET", +"id": "retail.projects.locations.catalogs.controls.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Control to get. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/controls/{control_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/controls/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"response": { +"$ref": "GoogleCloudRetailV2alphaControl" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Controls by their parent Catalog.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/controls", +"httpMethod": "GET", +"id": "retail.projects.locations.catalogs.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. * List controls that are used in a single ServingConfig: 'serving_config = \"boosted_home_page_cvr\"'", +"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 catalog resource name. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+parent}/controls", +"response": { +"$ref": "GoogleCloudRetailV2alphaListControlsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Control. Control cannot be set to a different oneof field, if so an INVALID_ARGUMENT is returned. If the Control to update does not exist, a NOT_FOUND error is returned.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/controls/{controlsId}", +"httpMethod": "PATCH", +"id": "retail.projects.locations.catalogs.controls.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/*/locations/global/catalogs/*/controls/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/controls/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided Control to update. The following are NOT supported: * Control.name If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"request": { +"$ref": "GoogleCloudRetailV2alphaControl" +}, +"response": { +"$ref": "GoogleCloudRetailV2alphaControl" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"generativeQuestion": { +"methods": { +"batchUpdate": { +"description": "Allows management of multiple questions.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/generativeQuestion:batchUpdate", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.generativeQuestion.batchUpdate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Optional. Resource name of the parent catalog. Format: projects/{project}/locations/{location}/catalogs/{catalog}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+parent}/generativeQuestion:batchUpdate", +"request": { +"$ref": "GoogleCloudRetailV2alphaBatchUpdateGenerativeQuestionConfigsRequest" +}, +"response": { +"$ref": "GoogleCloudRetailV2alphaBatchUpdateGenerativeQuestionConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"generativeQuestions": { +"methods": { +"list": { +"description": "Returns all questions for a given catalog.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/generativeQuestions", +"httpMethod": "GET", +"id": "retail.projects.locations.catalogs.generativeQuestions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Resource name of the parent catalog. Format: projects/{project}/locations/{location}/catalogs/{catalog}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+parent}/generativeQuestions", +"response": { +"$ref": "GoogleCloudRetailV2alphaListGenerativeQuestionConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"merchantCenterAccountLinks": { +"methods": { +"create": { +"description": "Creates a MerchantCenterAccountLink.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/merchantCenterAccountLinks", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.merchantCenterAccountLinks.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The branch resource where this MerchantCenterAccountLink will be created. Format: `projects/{PROJECT_NUMBER}/locations/global/catalogs/{CATALOG_ID}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+parent}/merchantCenterAccountLinks", +"request": { +"$ref": "GoogleCloudRetailV2alphaMerchantCenterAccountLink" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a MerchantCenterAccountLink. If the MerchantCenterAccountLink to delete does not exist, a NOT_FOUND error is returned.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/merchantCenterAccountLinks/{merchantCenterAccountLinksId}", +"httpMethod": "DELETE", +"id": "retail.projects.locations.catalogs.merchantCenterAccountLinks.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/merchantCenterAccountLinks/{merchant_center_account_link_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/merchantCenterAccountLinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all MerchantCenterAccountLinks under the specified parent Catalog.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/merchantCenterAccountLinks", +"httpMethod": "GET", +"id": "retail.projects.locations.catalogs.merchantCenterAccountLinks.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent Catalog of the resource. It must match this format: `projects/{PROJECT_NUMBER}/locations/global/catalogs/{CATALOG_ID}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+parent}/merchantCenterAccountLinks", +"response": { +"$ref": "GoogleCloudRetailV2alphaListMerchantCenterAccountLinksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"models": { +"methods": { +"create": { +"description": "Creates a new model.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/models", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.models.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"dryRun": { +"description": "Optional. Whether to run a dry run to validate the request (without actually creating the model).", +"location": "query", +"type": "boolean" +}, +"parent": { +"description": "Required. The parent resource under which to create the model. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+parent}/models", +"request": { +"$ref": "GoogleCloudRetailV2alphaModel" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an existing model.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/models/{modelsId}", +"httpMethod": "DELETE", +"id": "retail.projects.locations.catalogs.models.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Model to delete. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a model.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/models/{modelsId}", +"httpMethod": "GET", +"id": "retail.projects.locations.catalogs.models.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Model to get. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog}/models/{model_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"response": { +"$ref": "GoogleCloudRetailV2alphaModel" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all the models linked to this event store.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/models", +"httpMethod": "GET", +"id": "retail.projects.locations.catalogs.models.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"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 `ListModels` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent for which to list models. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+parent}/models", +"response": { +"$ref": "GoogleCloudRetailV2alphaListModelsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Update of model metadata. Only fields that currently can be updated are: `filtering_option` and `periodic_tuning_state`. If other values are provided, this API method ignores them.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/models/{modelsId}", +"httpMethod": "PATCH", +"id": "retail.projects.locations.catalogs.models.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified resource name of the model. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}` catalog_id has char limit of 50. recommendation_model_id has char limit of 40.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Indicates which fields in the provided 'model' to update. If not set, by default updates all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"request": { +"$ref": "GoogleCloudRetailV2alphaModel" +}, +"response": { +"$ref": "GoogleCloudRetailV2alphaModel" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"pause": { +"description": "Pauses the training of an existing model.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/models/{modelsId}:pause", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.models.pause", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the model to pause. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+name}:pause", +"request": { +"$ref": "GoogleCloudRetailV2alphaPauseModelRequest" +}, +"response": { +"$ref": "GoogleCloudRetailV2alphaModel" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"resume": { +"description": "Resumes the training of an existing model.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/models/{modelsId}:resume", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.models.resume", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the model to resume. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+name}:resume", +"request": { +"$ref": "GoogleCloudRetailV2alphaResumeModelRequest" +}, +"response": { +"$ref": "GoogleCloudRetailV2alphaModel" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"tune": { +"description": "Tunes an existing model.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/models/{modelsId}:tune", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.models.tune", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the model to tune. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+name}:tune", +"request": { +"$ref": "GoogleCloudRetailV2alphaTuneModelRequest" +}, +"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": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "retail.projects.locations.catalogs.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+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": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/operations", +"httpMethod": "GET", +"id": "retail.projects.locations.catalogs.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/[^/]+/catalogs/[^/]+$", +"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": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"placements": { +"methods": { +"predict": { +"description": "Makes a recommendation prediction.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/placements/{placementsId}:predict", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.placements.predict", +"parameterOrder": [ +"placement" +], +"parameters": { +"placement": { +"description": "Required. Full resource name of the format: `{placement=projects/*/locations/global/catalogs/default_catalog/servingConfigs/*}` or `{placement=projects/*/locations/global/catalogs/default_catalog/placements/*}`. We recommend using the `servingConfigs` resource. `placements` is a legacy resource. The ID of the Recommendations AI serving config or placement. Before you can request predictions from your model, you must create at least one serving config or placement for it. For more information, see [Manage serving configs] (https://cloud.google.com/retail/docs/manage-configs). The full list of available serving configs can be seen at https://console.cloud.google.com/ai/retail/catalogs/default_catalog/configs", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/placements/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+placement}:predict", +"request": { +"$ref": "GoogleCloudRetailV2alphaPredictRequest" +}, +"response": { +"$ref": "GoogleCloudRetailV2alphaPredictResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"search": { +"description": "Performs a search. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/placements/{placementsId}:search", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.placements.search", +"parameterOrder": [ +"placement" +], +"parameters": { +"placement": { +"description": "Required. The resource name of the Retail Search serving config, such as `projects/*/locations/global/catalogs/default_catalog/servingConfigs/default_serving_config` or the name of the legacy placement resource, such as `projects/*/locations/global/catalogs/default_catalog/placements/default_search`. This field is used to identify the serving config name and the set of models that are used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/placements/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+placement}:search", +"request": { +"$ref": "GoogleCloudRetailV2alphaSearchRequest" +}, +"response": { +"$ref": "GoogleCloudRetailV2alphaSearchResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"servingConfigs": { +"methods": { +"addControl": { +"description": "Enables a Control on the specified ServingConfig. The control is added in the last position of the list of controls it belongs to (e.g. if it's a facet spec control it will be applied in the last position of servingConfig.facetSpecIds) Returns a ALREADY_EXISTS error if the control has already been applied. Returns a FAILED_PRECONDITION error if the addition could exceed maximum number of control allowed for that type of control.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/servingConfigs/{servingConfigsId}:addControl", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.servingConfigs.addControl", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The source ServingConfig resource name . Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/servingConfigs/{serving_config_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+servingConfig}:addControl", +"request": { +"$ref": "GoogleCloudRetailV2alphaAddControlRequest" +}, +"response": { +"$ref": "GoogleCloudRetailV2alphaServingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a ServingConfig. A maximum of 100 ServingConfigs are allowed in a Catalog, otherwise a FAILED_PRECONDITION error is returned.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/servingConfigs", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.servingConfigs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Full resource name of parent. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", +"required": true, +"type": "string" +}, +"servingConfigId": { +"description": "Required. The ID to use for the ServingConfig, which will become the final component of the ServingConfig's resource name. This value should be 4-63 characters, and valid characters are /a-z-_/.", +"location": "query", +"type": "string" +} +}, +"path": "v2alpha/{+parent}/servingConfigs", +"request": { +"$ref": "GoogleCloudRetailV2alphaServingConfig" +}, +"response": { +"$ref": "GoogleCloudRetailV2alphaServingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a ServingConfig. Returns a NotFound error if the ServingConfig does not exist.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/servingConfigs/{servingConfigsId}", +"httpMethod": "DELETE", +"id": "retail.projects.locations.catalogs.servingConfigs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the ServingConfig to delete. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/servingConfigs/{serving_config_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a ServingConfig. Returns a NotFound error if the ServingConfig does not exist.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/servingConfigs/{servingConfigsId}", +"httpMethod": "GET", +"id": "retail.projects.locations.catalogs.servingConfigs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the ServingConfig to get. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/servingConfigs/{serving_config_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"response": { +"$ref": "GoogleCloudRetailV2alphaServingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all ServingConfigs linked to this catalog.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/servingConfigs", +"httpMethod": "GET", +"id": "retail.projects.locations.catalogs.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. The catalog resource name. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+parent}/servingConfigs", +"response": { +"$ref": "GoogleCloudRetailV2alphaListServingConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a ServingConfig.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/servingConfigs/{servingConfigsId}", +"httpMethod": "PATCH", +"id": "retail.projects.locations.catalogs.servingConfigs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/*/locations/global/catalogs/*/servingConfig/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/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": "v2alpha/{+name}", +"request": { +"$ref": "GoogleCloudRetailV2alphaServingConfig" +}, +"response": { +"$ref": "GoogleCloudRetailV2alphaServingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"predict": { +"description": "Makes a recommendation prediction.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/servingConfigs/{servingConfigsId}:predict", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.servingConfigs.predict", +"parameterOrder": [ +"placement" +], +"parameters": { +"placement": { +"description": "Required. Full resource name of the format: `{placement=projects/*/locations/global/catalogs/default_catalog/servingConfigs/*}` or `{placement=projects/*/locations/global/catalogs/default_catalog/placements/*}`. We recommend using the `servingConfigs` resource. `placements` is a legacy resource. The ID of the Recommendations AI serving config or placement. Before you can request predictions from your model, you must create at least one serving config or placement for it. For more information, see [Manage serving configs] (https://cloud.google.com/retail/docs/manage-configs). The full list of available serving configs can be seen at https://console.cloud.google.com/ai/retail/catalogs/default_catalog/configs", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+placement}:predict", +"request": { +"$ref": "GoogleCloudRetailV2alphaPredictRequest" +}, +"response": { +"$ref": "GoogleCloudRetailV2alphaPredictResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"removeControl": { +"description": "Disables a Control on the specified ServingConfig. The control is removed from the ServingConfig. Returns a NOT_FOUND error if the Control is not enabled for the ServingConfig.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/servingConfigs/{servingConfigsId}:removeControl", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.servingConfigs.removeControl", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The source ServingConfig resource name . Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/servingConfigs/{serving_config_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+servingConfig}:removeControl", +"request": { +"$ref": "GoogleCloudRetailV2alphaRemoveControlRequest" +}, +"response": { +"$ref": "GoogleCloudRetailV2alphaServingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"search": { +"description": "Performs a search. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/servingConfigs/{servingConfigsId}:search", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.servingConfigs.search", +"parameterOrder": [ +"placement" +], +"parameters": { +"placement": { +"description": "Required. The resource name of the Retail Search serving config, such as `projects/*/locations/global/catalogs/default_catalog/servingConfigs/default_serving_config` or the name of the legacy placement resource, such as `projects/*/locations/global/catalogs/default_catalog/placements/default_search`. This field is used to identify the serving config name and the set of models that are used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+placement}:search", +"request": { +"$ref": "GoogleCloudRetailV2alphaSearchRequest" +}, +"response": { +"$ref": "GoogleCloudRetailV2alphaSearchResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"userEvents": { +"methods": { +"collect": { +"description": "Writes a single user event from the browser. For larger user event payload over 16 KB, the POST method should be used instead, otherwise a 400 Bad Request error is returned. This method is used only by the Retail API JavaScript pixel and Google Tag Manager. Users should not call this method directly.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/userEvents:collect", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.userEvents.collect", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent catalog name, such as `projects/1234/locations/global/catalogs/default_catalog`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+parent}/userEvents:collect", +"request": { +"$ref": "GoogleCloudRetailV2alphaCollectUserEventRequest" +}, +"response": { +"$ref": "GoogleApiHttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"export": { +"description": "Exports user events. `Operation.response` is of type `ExportResponse`. `Operation.metadata` is of type `ExportMetadata`.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/userEvents:export", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.userEvents.export", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Resource name of a Catalog. For example `projects/1234/locations/global/catalogs/default_catalog`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+parent}/userEvents:export", +"request": { +"$ref": "GoogleCloudRetailV2alphaExportUserEventsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"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": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/userEvents:import", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.userEvents.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. `projects/1234/locations/global/catalogs/default_catalog`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+parent}/userEvents:import", +"request": { +"$ref": "GoogleCloudRetailV2alphaImportUserEventsRequest" +}, +"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": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/userEvents:purge", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.userEvents.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the catalog under which the events are created. The format is `projects/${projectId}/locations/global/catalogs/${catalogId}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+parent}/userEvents:purge", +"request": { +"$ref": "GoogleCloudRetailV2alphaPurgeUserEventsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"rejoin": { +"description": "Starts a user-event rejoin operation with latest product catalog. Events are not annotated with detailed product information for products that are missing from the catalog when the user event is ingested. These events are stored as unjoined events with limited usage on training and serving. You can use this method to start a join operation on specified events with the latest version of product catalog. You can also use this method to correct events joined with the wrong product catalog. A rejoin operation can take hours or days to complete.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/userEvents:rejoin", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.userEvents.rejoin", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent catalog resource name, such as `projects/1234/locations/global/catalogs/default_catalog`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+parent}/userEvents:rejoin", +"request": { +"$ref": "GoogleCloudRetailV2alphaRejoinUserEventsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"write": { +"description": "Writes a single user event.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/userEvents:write", +"httpMethod": "POST", +"id": "retail.projects.locations.catalogs.userEvents.write", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent catalog resource name, such as `projects/1234/locations/global/catalogs/default_catalog`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", +"required": true, +"type": "string" +}, +"writeAsync": { +"description": "If set to true, the user event will be written asynchronously after validation, and the API will respond without waiting for the write. Therefore, silent failures can occur even if the API returns success. In case of silent failures, error messages can be found in Stackdriver logs.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2alpha/{+parent}/userEvents:write", +"request": { +"$ref": "GoogleCloudRetailV2alphaUserEvent" +}, +"response": { +"$ref": "GoogleCloudRetailV2alphaUserEvent" +}, +"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": "v2alpha/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "retail.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": "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": "v2alpha/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "retail.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": "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": "v2alpha/projects/{projectsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "retail.projects.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+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": "v2alpha/projects/{projectsId}/operations", +"httpMethod": "GET", +"id": "retail.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": "v2alpha/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"retailProject": { +"methods": { +"acceptTerms": { +"description": "Accepts service terms for this project. By making requests to this API, you agree to the terms of service linked below. https://cloud.google.com/retail/data-use-terms", +"flatPath": "v2alpha/projects/{projectsId}/retailProject:acceptTerms", +"httpMethod": "POST", +"id": "retail.projects.retailProject.acceptTerms", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Required. Full resource name of the project. Format: `projects/{project_number_or_id}/retailProject`", +"location": "path", +"pattern": "^projects/[^/]+/retailProject$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+project}:acceptTerms", +"request": { +"$ref": "GoogleCloudRetailV2alphaAcceptTermsRequest" +}, +"response": { +"$ref": "GoogleCloudRetailV2alphaProject" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +}, +"revision": "20250107", +"rootUrl": "https://retail.googleapis.com/", +"schemas": { +"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" +}, +"GoogleCloudRetailLoggingErrorContext": { +"description": "A description of the context in which an error occurred.", +"id": "GoogleCloudRetailLoggingErrorContext", +"properties": { +"httpRequest": { +"$ref": "GoogleCloudRetailLoggingHttpRequestContext", +"description": "The HTTP request which was processed when the error was triggered." +}, +"reportLocation": { +"$ref": "GoogleCloudRetailLoggingSourceLocation", +"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" +}, +"GoogleCloudRetailLoggingErrorLog": { +"description": "An error log which is reported to the Error Reporting system. This proto a superset of google.devtools.clouderrorreporting.v1beta1.ReportedErrorEvent.", +"id": "GoogleCloudRetailLoggingErrorLog", +"properties": { +"context": { +"$ref": "GoogleCloudRetailLoggingErrorContext", +"description": "A description of the context in which the error occurred." +}, +"importPayload": { +"$ref": "GoogleCloudRetailLoggingImportErrorContext", +"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. For example: \"type.googleapis.com/google.cloud.retail.v2.ProductService.CreateProductRequest\" \"type.googleapis.com/google.cloud.retail.v2.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.retail.v2.PredictionService.Predict\" \"google.cloud.retail.v2.UserEventService.WriteUserEvent\" \"google.cloud.retail.v2.UserEventService.CollectUserEvent\"", +"type": "object" +}, +"serviceContext": { +"$ref": "GoogleCloudRetailLoggingServiceContext", +"description": "The service context in which this error has occurred." +}, +"status": { +"$ref": "GoogleRpcStatus", +"description": "The RPC status associated with the error log." +} +}, +"type": "object" +}, +"GoogleCloudRetailLoggingHttpRequestContext": { +"description": "HTTP request data that is related to a reported error.", +"id": "GoogleCloudRetailLoggingHttpRequestContext", +"properties": { +"responseStatusCode": { +"description": "The HTTP response status code for the request.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudRetailLoggingImportErrorContext": { +"description": "The error payload that is populated on LRO import APIs, including \"google.cloud.retail.v2.ProductService.ImportProducts\" and \"google.cloud.retail.v2.EventService.ImportUserEvents\".", +"id": "GoogleCloudRetailLoggingImportErrorContext", +"properties": { +"catalogItem": { +"description": "The detailed content which caused the error on importing a catalog item.", +"type": "string" +}, +"gcsPath": { +"description": "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" +}, +"operationName": { +"description": "The operation resource name of the LRO.", +"type": "string" +}, +"product": { +"description": "The detailed content which caused the error on importing a product.", +"type": "string" +}, +"userEvent": { +"description": "The detailed content which caused the error on importing a user event.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailLoggingServiceContext": { +"description": "Describes a running service that sends errors.", +"id": "GoogleCloudRetailLoggingServiceContext", +"properties": { +"service": { +"description": "An identifier of the service. For example, \"retail.googleapis.com\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailLoggingSourceLocation": { +"description": "Indicates a location in the source code of the service for which errors are reported.", +"id": "GoogleCloudRetailLoggingSourceLocation", +"properties": { +"functionName": { +"description": "Human-readable name of a function or method. For example, \"google.cloud.retail.v2.UserEventService.ImportUserEvents\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2AddFulfillmentPlacesMetadata": { +"description": "Metadata related to the progress of the AddFulfillmentPlaces operation. Currently empty because there is no meaningful metadata populated from the ProductService.AddFulfillmentPlaces method.", +"id": "GoogleCloudRetailV2AddFulfillmentPlacesMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2AddFulfillmentPlacesResponse": { +"description": "Response of the AddFulfillmentPlacesRequest. Currently empty because there is no meaningful response populated from the ProductService.AddFulfillmentPlaces method.", +"id": "GoogleCloudRetailV2AddFulfillmentPlacesResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2AddLocalInventoriesMetadata": { +"description": "Metadata related to the progress of the AddLocalInventories operation. Currently empty because there is no meaningful metadata populated from the ProductService.AddLocalInventories method.", +"id": "GoogleCloudRetailV2AddLocalInventoriesMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2AddLocalInventoriesResponse": { +"description": "Response of the ProductService.AddLocalInventories API. Currently empty because there is no meaningful response populated from the ProductService.AddLocalInventories method.", +"id": "GoogleCloudRetailV2AddLocalInventoriesResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2BigQueryOutputResult": { +"description": "A BigQuery output result.", +"id": "GoogleCloudRetailV2BigQueryOutputResult", +"properties": { +"datasetId": { +"description": "The ID of a BigQuery Dataset.", +"type": "string" +}, +"tableId": { +"description": "The ID of a BigQuery Table.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2CreateModelMetadata": { +"description": "Metadata associated with a create operation.", +"id": "GoogleCloudRetailV2CreateModelMetadata", +"properties": { +"model": { +"description": "The resource name of the model that this create applies to. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2ExportAnalyticsMetricsResponse": { +"description": "Response of the ExportAnalyticsMetricsRequest. 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": "GoogleCloudRetailV2ExportAnalyticsMetricsResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"errorsConfig": { +"$ref": "GoogleCloudRetailV2ExportErrorsConfig", +"description": "This field is never set." +}, +"outputResult": { +"$ref": "GoogleCloudRetailV2OutputResult", +"description": "Output result indicating where the data were exported to." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2ExportErrorsConfig": { +"description": "Configuration of destination for Export related errors.", +"id": "GoogleCloudRetailV2ExportErrorsConfig", +"properties": { +"gcsPrefix": { +"description": "Google Cloud Storage path for import errors. This must be an empty, existing Cloud Storage bucket. Export errors will be written to a file in this bucket, one per line, as a JSON-encoded `google.rpc.Status` message.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2ExportMetadata": { +"description": "Metadata related to the progress of the Export operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudRetailV2ExportMetadata", +"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" +}, +"GoogleCloudRetailV2GcsOutputResult": { +"description": "A Gcs output result.", +"id": "GoogleCloudRetailV2GcsOutputResult", +"properties": { +"outputUri": { +"description": "The uri of Gcs output", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2ImportCompletionDataResponse": { +"description": "Response of the ImportCompletionDataRequest. If the long running operation is done, this message is returned by the google.longrunning.Operations.response field if the operation is successful.", +"id": "GoogleCloudRetailV2ImportCompletionDataResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2ImportErrorsConfig": { +"description": "Configuration of destination for Import related errors.", +"id": "GoogleCloudRetailV2ImportErrorsConfig", +"properties": { +"gcsPrefix": { +"description": "Google 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" +}, +"GoogleCloudRetailV2ImportMetadata": { +"description": "Metadata related to the progress of the Import operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudRetailV2ImportMetadata", +"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" +}, +"notificationPubsubTopic": { +"description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification is sent to specified Pub/Sub topic. The message data is JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", +"type": "string" +}, +"requestId": { +"deprecated": true, +"description": "Deprecated. This field is never set.", +"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" +}, +"GoogleCloudRetailV2ImportProductsResponse": { +"description": "Response of the ImportProductsRequest. 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": "GoogleCloudRetailV2ImportProductsResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"errorsConfig": { +"$ref": "GoogleCloudRetailV2ImportErrorsConfig", +"description": "Echoes the destination for the complete errors in the request if set." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2ImportUserEventsResponse": { +"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": "GoogleCloudRetailV2ImportUserEventsResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"errorsConfig": { +"$ref": "GoogleCloudRetailV2ImportErrorsConfig", +"description": "Echoes the destination for the complete errors if this field was set in the request." +}, +"importSummary": { +"$ref": "GoogleCloudRetailV2UserEventImportSummary", +"description": "Aggregated statistics of user event import status." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2Model": { +"description": "Metadata that describes the training and serving parameters of a Model. A Model can be associated with a ServingConfig and then queried through the Predict API.", +"id": "GoogleCloudRetailV2Model", +"properties": { +"createTime": { +"description": "Output only. Timestamp the Recommendation Model was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataState": { +"description": "Output only. The state of data requirements for this model: `DATA_OK` and `DATA_ERROR`. Recommendation model cannot be trained if the data is in `DATA_ERROR` state. Recommendation model can have `DATA_ERROR` state even if serving state is `ACTIVE`: models were trained successfully before, but cannot be refreshed because model 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 model has sufficient training data.", +"The model does not have sufficient training data. Error messages can be queried via Stackdriver." +], +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Cloud Console Dashboard. UTF-8 encoded string with limit of 1024 characters.", +"type": "string" +}, +"filteringOption": { +"description": "Optional. If `RECOMMENDATIONS_FILTERING_ENABLED`, recommendation filtering by attributes is enabled for the model.", +"enum": [ +"RECOMMENDATIONS_FILTERING_OPTION_UNSPECIFIED", +"RECOMMENDATIONS_FILTERING_DISABLED", +"RECOMMENDATIONS_FILTERING_ENABLED" +], +"enumDescriptions": [ +"Value used when unset. In this case, server behavior defaults to RECOMMENDATIONS_FILTERING_DISABLED.", +"Recommendation filtering is disabled.", +"Recommendation filtering is enabled." +], +"type": "string" +}, +"lastTuneTime": { +"description": "Output only. The timestamp when the latest successful tune finished.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"modelFeaturesConfig": { +"$ref": "GoogleCloudRetailV2ModelModelFeaturesConfig", +"description": "Optional. Additional model features config." +}, +"name": { +"description": "Required. The fully qualified resource name of the model. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}` catalog_id has char limit of 50. recommendation_model_id has char limit of 40.", +"type": "string" +}, +"optimizationObjective": { +"description": "Optional. The optimization objective e.g. `cvr`. Currently supported values: `ctr`, `cvr`, `revenue-per-order`. If not specified, we choose default based on model type. Default depends on type of recommendation: `recommended-for-you` => `ctr` `others-you-may-like` => `ctr` `frequently-bought-together` => `revenue_per_order` This field together with optimization_objective describe model metadata to use to control model training and serving. See https://cloud.google.com/retail/docs/models for more details on what the model metadata control and which combination of parameters are valid. For invalid combinations of parameters (e.g. type = `frequently-bought-together` and optimization_objective = `ctr`), you receive an error 400 if you try to create/update a recommendation with this set of knobs.", +"type": "string" +}, +"periodicTuningState": { +"description": "Optional. The state of periodic tuning. The period we use is 3 months - to do a one-off tune earlier use the `TuneModel` method. Default value is `PERIODIC_TUNING_ENABLED`.", +"enum": [ +"PERIODIC_TUNING_STATE_UNSPECIFIED", +"PERIODIC_TUNING_DISABLED", +"ALL_TUNING_DISABLED", +"PERIODIC_TUNING_ENABLED" +], +"enumDescriptions": [ +"Unspecified default value, should never be explicitly set.", +"The model has periodic tuning disabled. Tuning can be reenabled by calling the `EnableModelPeriodicTuning` method or by calling the `TuneModel` method.", +"The model cannot be tuned with periodic tuning OR the `TuneModel` method. Hide the options in customer UI and reject any requests through the backend self serve API.", +"The model has periodic tuning enabled. Tuning can be disabled by calling the `DisableModelPeriodicTuning` method." +], +"type": "string" +}, +"servingConfigLists": { +"description": "Output only. The list of valid serving configs associated with the PageOptimizationConfig.", +"items": { +"$ref": "GoogleCloudRetailV2ModelServingConfigList" +}, +"readOnly": true, +"type": "array" +}, +"servingState": { +"description": "Output only. The serving state of the model: `ACTIVE`, `NOT_ACTIVE`.", +"enum": [ +"SERVING_STATE_UNSPECIFIED", +"INACTIVE", +"ACTIVE", +"TUNED" +], +"enumDescriptions": [ +"Unspecified serving state.", +"The model is not serving.", +"The model is serving and can be queried.", +"The model is trained on tuned hyperparameters and can be queried." +], +"readOnly": true, +"type": "string" +}, +"trainingState": { +"description": "Optional. The training state that the model 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 model in order to control cost. If not specified: the default value for `CreateModel` method is `TRAINING`. The default value for `UpdateModel` method is to keep the state the same as before.", +"enum": [ +"TRAINING_STATE_UNSPECIFIED", +"PAUSED", +"TRAINING" +], +"enumDescriptions": [ +"Unspecified training state.", +"The model training is paused.", +"The model is training." +], +"type": "string" +}, +"tuningOperation": { +"description": "Output only. The tune operation associated with the model. Can be used to determine if there is an ongoing tune for this recommendation. Empty field implies no tune is goig on.", +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Required. The type of model e.g. `home-page`. Currently supported values: `recommended-for-you`, `others-you-may-like`, `frequently-bought-together`, `page-optimization`, `similar-items`, `buy-it-again`, `on-sale-items`, and `recently-viewed`(readonly value). This field together with optimization_objective describe model metadata to use to control model training and serving. See https://cloud.google.com/retail/docs/models for more details on what the model metadata control and which combination of parameters are valid. For invalid combinations of parameters (e.g. type = `frequently-bought-together` and optimization_objective = `ctr`), you receive an error 400 if you try to create/update a recommendation with this set of knobs.", +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp the Recommendation Model was last updated. E.g. if a Recommendation Model was paused - this would be the time the pause was initiated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2ModelFrequentlyBoughtTogetherFeaturesConfig": { +"description": "Additional configs for the frequently-bought-together model type.", +"id": "GoogleCloudRetailV2ModelFrequentlyBoughtTogetherFeaturesConfig", +"properties": { +"contextProductsType": { +"description": "Optional. Specifies the context of the model when it is used in predict requests. Can only be set for the `frequently-bought-together` type. If it isn't specified, it defaults to MULTIPLE_CONTEXT_PRODUCTS.", +"enum": [ +"CONTEXT_PRODUCTS_TYPE_UNSPECIFIED", +"SINGLE_CONTEXT_PRODUCT", +"MULTIPLE_CONTEXT_PRODUCTS" +], +"enumDescriptions": [ +"Unspecified default value, should never be explicitly set. Defaults to MULTIPLE_CONTEXT_PRODUCTS.", +"Use only a single product as context for the recommendation. Typically used on pages like add-to-cart or product details.", +"Use one or multiple products as context for the recommendation. Typically used on shopping cart pages." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2ModelModelFeaturesConfig": { +"description": "Additional model features config.", +"id": "GoogleCloudRetailV2ModelModelFeaturesConfig", +"properties": { +"frequentlyBoughtTogetherConfig": { +"$ref": "GoogleCloudRetailV2ModelFrequentlyBoughtTogetherFeaturesConfig", +"description": "Additional configs for frequently-bought-together models." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2ModelServingConfigList": { +"description": "Represents an ordered combination of valid serving configs, which can be used for `PAGE_OPTIMIZATION` recommendations.", +"id": "GoogleCloudRetailV2ModelServingConfigList", +"properties": { +"servingConfigIds": { +"description": "Optional. A set of valid serving configs that may be used for `PAGE_OPTIMIZATION`.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2OutputResult": { +"description": "Output result that stores the information about where the exported data is stored.", +"id": "GoogleCloudRetailV2OutputResult", +"properties": { +"bigqueryResult": { +"description": "The BigQuery location where the result is stored.", +"items": { +"$ref": "GoogleCloudRetailV2BigQueryOutputResult" +}, +"type": "array" +}, +"gcsResult": { +"description": "The Google Cloud Storage location where the result is stored.", +"items": { +"$ref": "GoogleCloudRetailV2GcsOutputResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2PurgeMetadata": { +"description": "Metadata related to the progress of the Purge operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudRetailV2PurgeMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2PurgeProductsMetadata": { +"description": "Metadata related to the progress of the PurgeProducts operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudRetailV2PurgeProductsMetadata", +"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" +}, +"GoogleCloudRetailV2PurgeProductsResponse": { +"description": "Response of the PurgeProductsRequest. If the long running operation is successfully done, then this message is returned by the google.longrunning.Operations.response field.", +"id": "GoogleCloudRetailV2PurgeProductsResponse", +"properties": { +"purgeCount": { +"description": "The total count of products purged as a result of the operation.", +"format": "int64", +"type": "string" +}, +"purgeSample": { +"description": "A sample of the product 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" +}, +"GoogleCloudRetailV2PurgeUserEventsResponse": { +"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": "GoogleCloudRetailV2PurgeUserEventsResponse", +"properties": { +"purgedEventsCount": { +"description": "The total count of events purged as a result of the operation.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2RejoinUserEventsMetadata": { +"description": "Metadata for `RejoinUserEvents` method.", +"id": "GoogleCloudRetailV2RejoinUserEventsMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2RejoinUserEventsResponse": { +"description": "Response message for `RejoinUserEvents` method.", +"id": "GoogleCloudRetailV2RejoinUserEventsResponse", +"properties": { +"rejoinedUserEventsCount": { +"description": "Number of user events that were joined with latest product catalog.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2RemoveFulfillmentPlacesMetadata": { +"description": "Metadata related to the progress of the RemoveFulfillmentPlaces operation. Currently empty because there is no meaningful metadata populated from the ProductService.RemoveFulfillmentPlaces method.", +"id": "GoogleCloudRetailV2RemoveFulfillmentPlacesMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2RemoveFulfillmentPlacesResponse": { +"description": "Response of the RemoveFulfillmentPlacesRequest. Currently empty because there is no meaningful response populated from the ProductService.RemoveFulfillmentPlaces method.", +"id": "GoogleCloudRetailV2RemoveFulfillmentPlacesResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2RemoveLocalInventoriesMetadata": { +"description": "Metadata related to the progress of the RemoveLocalInventories operation. Currently empty because there is no meaningful metadata populated from the ProductService.RemoveLocalInventories method.", +"id": "GoogleCloudRetailV2RemoveLocalInventoriesMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2RemoveLocalInventoriesResponse": { +"description": "Response of the ProductService.RemoveLocalInventories API. Currently empty because there is no meaningful response populated from the ProductService.RemoveLocalInventories method.", +"id": "GoogleCloudRetailV2RemoveLocalInventoriesResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2SetInventoryMetadata": { +"description": "Metadata related to the progress of the SetInventory operation. Currently empty because there is no meaningful metadata populated from the ProductService.SetInventory method.", +"id": "GoogleCloudRetailV2SetInventoryMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2SetInventoryResponse": { +"description": "Response of the SetInventoryRequest. Currently empty because there is no meaningful response populated from the ProductService.SetInventory method.", +"id": "GoogleCloudRetailV2SetInventoryResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2TuneModelMetadata": { +"description": "Metadata associated with a tune operation.", +"id": "GoogleCloudRetailV2TuneModelMetadata", +"properties": { +"model": { +"description": "The resource name of the model that this tune applies to. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2TuneModelResponse": { +"description": "Response associated with a tune operation.", +"id": "GoogleCloudRetailV2TuneModelResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2UserEventImportSummary": { +"description": "A summary of import result. The UserEventImportSummary summarizes the import status for user events.", +"id": "GoogleCloudRetailV2UserEventImportSummary", +"properties": { +"joinedEventsCount": { +"description": "Count of user events imported with complete existing catalog information.", +"format": "int64", +"type": "string" +}, +"unjoinedEventsCount": { +"description": "Count of user events imported, but with catalog information not found in the imported catalog.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaAcceptTermsRequest": { +"description": "Request for AcceptTerms method.", +"id": "GoogleCloudRetailV2alphaAcceptTermsRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2alphaAddCatalogAttributeRequest": { +"description": "Request for CatalogService.AddCatalogAttribute method.", +"id": "GoogleCloudRetailV2alphaAddCatalogAttributeRequest", +"properties": { +"catalogAttribute": { +"$ref": "GoogleCloudRetailV2alphaCatalogAttribute", +"description": "Required. The CatalogAttribute to add." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaAddControlRequest": { +"description": "Request for AddControl method.", +"id": "GoogleCloudRetailV2alphaAddControlRequest", +"properties": { +"controlId": { +"description": "Required. The id of the control to apply. Assumed to be in the same catalog as the serving config - if id is not found a NOT_FOUND error is returned.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaAddFulfillmentPlacesMetadata": { +"description": "Metadata related to the progress of the AddFulfillmentPlaces operation. Currently empty because there is no meaningful metadata populated from the ProductService.AddFulfillmentPlaces method.", +"id": "GoogleCloudRetailV2alphaAddFulfillmentPlacesMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2alphaAddFulfillmentPlacesRequest": { +"description": "Request message for ProductService.AddFulfillmentPlaces method.", +"id": "GoogleCloudRetailV2alphaAddFulfillmentPlacesRequest", +"properties": { +"addTime": { +"description": "The time when the fulfillment updates are issued, used to prevent out-of-order updates on fulfillment information. If not provided, the internal system time will be used.", +"format": "google-datetime", +"type": "string" +}, +"allowMissing": { +"description": "If set to true, and the Product is not found, the fulfillment information will still be processed and retained for at most 1 day and processed once the Product is created. If set to false, a NOT_FOUND error is returned if the Product is not found.", +"type": "boolean" +}, +"placeIds": { +"description": "Required. The IDs for this type, such as the store IDs for \"pickup-in-store\" or the region IDs for \"same-day-delivery\" to be added for this type. Duplicate IDs will be automatically ignored. At least 1 value is required, and a maximum of 2000 values are allowed. Each value must be a string with a length limit of 10 characters, matching the pattern `[a-zA-Z0-9_-]+`, such as \"store1\" or \"REGION-2\". Otherwise, an INVALID_ARGUMENT error is returned. If the total number of place IDs exceeds 2000 for this type after adding, then the update will be rejected.", +"items": { +"type": "string" +}, +"type": "array" +}, +"type": { +"description": "Required. The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Supported values: * \"pickup-in-store\" * \"ship-to-store\" * \"same-day-delivery\" * \"next-day-delivery\" * \"custom-type-1\" * \"custom-type-2\" * \"custom-type-3\" * \"custom-type-4\" * \"custom-type-5\" If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. This field directly corresponds to Product.fulfillment_info.type.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaAddFulfillmentPlacesResponse": { +"description": "Response of the AddFulfillmentPlacesRequest. Currently empty because there is no meaningful response populated from the ProductService.AddFulfillmentPlaces method.", +"id": "GoogleCloudRetailV2alphaAddFulfillmentPlacesResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2alphaAddLocalInventoriesMetadata": { +"description": "Metadata related to the progress of the AddLocalInventories operation. Currently empty because there is no meaningful metadata populated from the ProductService.AddLocalInventories method.", +"id": "GoogleCloudRetailV2alphaAddLocalInventoriesMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2alphaAddLocalInventoriesRequest": { +"description": "Request message for ProductService.AddLocalInventories method.", +"id": "GoogleCloudRetailV2alphaAddLocalInventoriesRequest", +"properties": { +"addMask": { +"description": "Indicates which inventory fields in the provided list of LocalInventory to update. The field is updated to the provided value. If a field is set while the place does not have a previous local inventory, the local inventory at that store is created. If a field is set while the value of that field is not provided, the original field value, if it exists, is deleted. If the mask is not set or set with empty paths, all inventory fields will be updated. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned and the entire update will be ignored.", +"format": "google-fieldmask", +"type": "string" +}, +"addTime": { +"description": "The time when the inventory updates are issued. Used to prevent out-of-order updates on local inventory fields. If not provided, the internal system time will be used.", +"format": "google-datetime", +"type": "string" +}, +"allowMissing": { +"description": "If set to true, and the Product is not found, the local inventory will still be processed and retained for at most 1 day and processed once the Product is created. If set to false, a NOT_FOUND error is returned if the Product is not found.", +"type": "boolean" +}, +"localInventories": { +"description": "Required. A list of inventory information at difference places. Each place is identified by its place ID. At most 3000 inventories are allowed per request.", +"items": { +"$ref": "GoogleCloudRetailV2alphaLocalInventory" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaAddLocalInventoriesResponse": { +"description": "Response of the ProductService.AddLocalInventories API. Currently empty because there is no meaningful response populated from the ProductService.AddLocalInventories method.", +"id": "GoogleCloudRetailV2alphaAddLocalInventoriesResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2alphaAlertConfig": { +"description": "Project level alert config.", +"id": "GoogleCloudRetailV2alphaAlertConfig", +"properties": { +"alertPolicies": { +"description": "Alert policies for a customer. They must be unique by [AlertPolicy.alert_group]", +"items": { +"$ref": "GoogleCloudRetailV2alphaAlertConfigAlertPolicy" +}, +"type": "array" +}, +"name": { +"description": "Required. Immutable. The name of the AlertConfig singleton resource. Format: projects/*/alertConfig", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaAlertConfigAlertPolicy": { +"description": "Alert policy for a customer.", +"id": "GoogleCloudRetailV2alphaAlertConfigAlertPolicy", +"properties": { +"alertGroup": { +"description": "The feature that provides alerting capability. Supported value: - `search-data-quality` for retail search customers. - `conv-data-quality` for retail conversation customers.", +"type": "string" +}, +"enrollStatus": { +"description": "The enrollment status of a customer.", +"enum": [ +"ENROLL_STATUS_UNSPECIFIED", +"ENROLLED", +"DECLINED" +], +"enumDescriptions": [ +"Default value. Used for customers who have not responded to the alert policy.", +"Customer is enrolled in this policy.", +"Customer declined this policy." +], +"type": "string" +}, +"recipients": { +"description": "Recipients for the alert policy. One alert policy should not exceed 20 recipients.", +"items": { +"$ref": "GoogleCloudRetailV2alphaAlertConfigAlertPolicyRecipient" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaAlertConfigAlertPolicyRecipient": { +"description": "Recipient contact information.", +"id": "GoogleCloudRetailV2alphaAlertConfigAlertPolicyRecipient", +"properties": { +"emailAddress": { +"description": "Email address of the recipient.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaAttributesConfig": { +"description": "Catalog level attribute config.", +"id": "GoogleCloudRetailV2alphaAttributesConfig", +"properties": { +"attributeConfigLevel": { +"description": "Output only. The AttributeConfigLevel used for this catalog.", +"enum": [ +"ATTRIBUTE_CONFIG_LEVEL_UNSPECIFIED", +"PRODUCT_LEVEL_ATTRIBUTE_CONFIG", +"CATALOG_LEVEL_ATTRIBUTE_CONFIG" +], +"enumDescriptions": [ +"Value used when unset. In this case, server behavior defaults to CATALOG_LEVEL_ATTRIBUTE_CONFIG.", +"At this level, we honor the attribute configurations set in Product.attributes.", +"At this level, we honor the attribute configurations set in `CatalogConfig.attribute_configs`." +], +"readOnly": true, +"type": "string" +}, +"catalogAttributes": { +"additionalProperties": { +"$ref": "GoogleCloudRetailV2alphaCatalogAttribute" +}, +"description": "Enable attribute(s) config at catalog level. For example, indexable, dynamic_facetable, or searchable for each attribute. The key is catalog attribute's name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. The maximum number of catalog attributes allowed in a request is 1000.", +"type": "object" +}, +"name": { +"description": "Required. Immutable. The fully qualified resource name of the attribute config. Format: `projects/*/locations/*/catalogs/*/attributesConfig`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaAudience": { +"description": "An intended audience of the Product for whom it's sold.", +"id": "GoogleCloudRetailV2alphaAudience", +"properties": { +"ageGroups": { +"description": "The age groups of the audience. Strongly encouraged to use the standard values: \"newborn\" (up to 3 months old), \"infant\" (3\u201312 months old), \"toddler\" (1\u20135 years old), \"kids\" (5\u201313 years old), \"adult\" (typically teens or older). At most 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [age_group](https://support.google.com/merchants/answer/6324463). Schema.org property [Product.audience.suggestedMinAge](https://schema.org/suggestedMinAge) and [Product.audience.suggestedMaxAge](https://schema.org/suggestedMaxAge).", +"items": { +"type": "string" +}, +"type": "array" +}, +"genders": { +"description": "The genders of the audience. Strongly encouraged to use the standard values: \"male\", \"female\", \"unisex\". At most 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gender](https://support.google.com/merchants/answer/6324479). Schema.org property [Product.audience.suggestedGender](https://schema.org/suggestedGender).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaBatchRemoveCatalogAttributesRequest": { +"description": "Request for CatalogService.BatchRemoveCatalogAttributes method.", +"id": "GoogleCloudRetailV2alphaBatchRemoveCatalogAttributesRequest", +"properties": { +"attributeKeys": { +"description": "Required. The attribute name keys of the CatalogAttributes to delete. A maximum of 1000 catalog attributes can be deleted in a batch.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaBatchRemoveCatalogAttributesResponse": { +"description": "Response of the CatalogService.BatchRemoveCatalogAttributes.", +"id": "GoogleCloudRetailV2alphaBatchRemoveCatalogAttributesResponse", +"properties": { +"deletedCatalogAttributes": { +"description": "Catalog attributes that were deleted. Only pre-loaded catalog attributes that are neither in use by products nor predefined can be deleted.", +"items": { +"type": "string" +}, +"type": "array" +}, +"resetCatalogAttributes": { +"description": "Catalog attributes that were reset. Catalog attributes that are either in use by products or are predefined attributes cannot be deleted; however, their configuration properties will reset to default values upon removal request.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaBatchUpdateGenerativeQuestionConfigsRequest": { +"description": "Request for BatchUpdateGenerativeQuestionConfig method.", +"id": "GoogleCloudRetailV2alphaBatchUpdateGenerativeQuestionConfigsRequest", +"properties": { +"requests": { +"description": "Required. The updates question configs.", +"items": { +"$ref": "GoogleCloudRetailV2alphaUpdateGenerativeQuestionConfigRequest" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaBatchUpdateGenerativeQuestionConfigsResponse": { +"description": "Aggregated response for UpdateGenerativeQuestionConfig method.", +"id": "GoogleCloudRetailV2alphaBatchUpdateGenerativeQuestionConfigsResponse", +"properties": { +"generativeQuestionConfigs": { +"description": "Optional. The updates question configs.", +"items": { +"$ref": "GoogleCloudRetailV2alphaGenerativeQuestionConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaBigQueryOutputResult": { +"description": "A BigQuery output result.", +"id": "GoogleCloudRetailV2alphaBigQueryOutputResult", +"properties": { +"datasetId": { +"description": "The ID of a BigQuery Dataset.", +"type": "string" +}, +"tableId": { +"description": "The ID of a BigQuery Table.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaBigQuerySource": { +"description": "BigQuery source import data from.", +"id": "GoogleCloudRetailV2alphaBigQuerySource", +"properties": { +"dataSchema": { +"description": "The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for autocomplete imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line.", +"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 (can be project # or ID) that the BigQuery source is in with 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" +}, +"GoogleCloudRetailV2alphaBranch": { +"description": "A data branch that stores all instances of Products.", +"id": "GoogleCloudRetailV2alphaBranch", +"properties": { +"displayName": { +"description": "Output only. Human readable name of the branch to display in the UI.", +"readOnly": true, +"type": "string" +}, +"isDefault": { +"description": "Output only. Indicates whether this branch is set as the default branch of its parent catalog.", +"readOnly": true, +"type": "boolean" +}, +"lastProductImportTime": { +"description": "Output only. Timestamp of last import through ProductService.ImportProducts. Empty value means no import has been made to this branch.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Immutable. Full resource name of the branch, such as `projects/*/locations/global/catalogs/default_catalog/branches/branch_id`.", +"type": "string" +}, +"productCountStats": { +"description": "Output only. Statistics for number of products in the branch, provided for different scopes. This field is not populated in BranchView.BASIC view.", +"items": { +"$ref": "GoogleCloudRetailV2alphaBranchProductCountStatistic" +}, +"readOnly": true, +"type": "array" +}, +"qualityMetrics": { +"description": "Output only. The quality metrics measured among products of this branch. See QualityMetric.requirement_key for supported metrics. Metrics could be missing if failed to retrieve. This field is not populated in BranchView.BASIC view.", +"items": { +"$ref": "GoogleCloudRetailV2alphaBranchQualityMetric" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaBranchProductCountStatistic": { +"description": "A statistic about the number of products in a branch.", +"id": "GoogleCloudRetailV2alphaBranchProductCountStatistic", +"properties": { +"counts": { +"additionalProperties": { +"format": "int64", +"type": "string" +}, +"description": "The number of products in scope broken down into different groups. The key is a group representing a set of products, and the value is the number of products in that group. Note: keys in this map may change over time. Possible keys: * \"primary-in-stock\", products have Product.Type.PRIMARY type and Product.Availability.IN_STOCK availability. * \"primary-out-of-stock\", products have Product.Type.PRIMARY type and Product.Availability.OUT_OF_STOCK availability. * \"primary-preorder\", products have Product.Type.PRIMARY type and Product.Availability.PREORDER availability. * \"primary-backorder\", products have Product.Type.PRIMARY type and Product.Availability.BACKORDER availability. * \"variant-in-stock\", products have Product.Type.VARIANT type and Product.Availability.IN_STOCK availability. * \"variant-out-of-stock\", products have Product.Type.VARIANT type and Product.Availability.OUT_OF_STOCK availability. * \"variant-preorder\", products have Product.Type.VARIANT type and Product.Availability.PREORDER availability. * \"variant-backorder\", products have Product.Type.VARIANT type and Product.Availability.BACKORDER availability. * \"price-discounted\", products have [Product.price_info.price] < [Product.price_info.original_price].", +"type": "object" +}, +"scope": { +"description": "[ProductCountScope] of the [counts].", +"enum": [ +"PRODUCT_COUNT_SCOPE_UNSPECIFIED", +"ALL_PRODUCTS", +"LAST_24_HOUR_UPDATE" +], +"enumDescriptions": [ +"Default value for enum. This value is not used in the API response.", +"Scope for all existing products in the branch. Useful for understanding how many products there are in a branch.", +"Scope for products created or updated in the last 24 hours." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaBranchQualityMetric": { +"description": "Metric measured on a group of Products against a certain quality requirement. Contains the number of products that pass the check and the number of products that don't.", +"id": "GoogleCloudRetailV2alphaBranchQualityMetric", +"properties": { +"qualifiedProductCount": { +"description": "Number of products passing the quality requirement check. We only check searchable products.", +"format": "int32", +"type": "integer" +}, +"requirementKey": { +"description": "The key that represents a quality requirement rule. Supported keys: * \"has-valid-uri\": product has a valid and accessible uri. * \"available-expire-time-conformance\": Product.available_time is early than \"now\", and Product.expire_time is greater than \"now\". * \"has-searchable-attributes\": product has at least one attribute set to searchable. * \"has-description\": product has non-empty description. * \"has-at-least-bigram-title\": Product title has at least two words. A comprehensive title helps to improve search quality. * \"variant-has-image\": the variant products has at least one image. You may ignore this metric if all your products are at primary level. * \"variant-has-price-info\": the variant products has price_info set. You may ignore this metric if all your products are at primary level. * \"has-publish-time\": product has non-empty publish_time.", +"type": "string" +}, +"suggestedQualityPercentThreshold": { +"description": "Value from 0 to 100 representing the suggested percentage of products that meet the quality requirements to get good search and recommendation performance. 100 * (qualified_product_count) / (qualified_product_count + unqualified_product_count) should be greater or equal to this suggestion.", +"format": "double", +"type": "number" +}, +"unqualifiedProductCount": { +"description": "Number of products failing the quality requirement check. We only check searchable products.", +"format": "int32", +"type": "integer" +}, +"unqualifiedSampleProducts": { +"description": "A list of a maximum of 100 sample products that do not qualify for this requirement. This field is only populated in the response to BranchService.GetBranch API, and is always empty for BranchService.ListBranches. Only the following fields are set in the Product. * Product.name * Product.id * Product.title", +"items": { +"$ref": "GoogleCloudRetailV2alphaProduct" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaCatalog": { +"description": "The catalog configuration.", +"id": "GoogleCloudRetailV2alphaCatalog", +"properties": { +"displayName": { +"description": "Required. Immutable. The catalog 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" +}, +"merchantCenterLinkingConfig": { +"$ref": "GoogleCloudRetailV2alphaMerchantCenterLinkingConfig", +"description": "The Merchant Center linking configuration. After a link is added, the data stream from Merchant Center to Cloud Retail will be enabled automatically. The requester must have access to the Merchant Center account in order to make changes to this field." +}, +"name": { +"description": "Required. Immutable. The fully qualified resource name of the catalog.", +"type": "string" +}, +"productLevelConfig": { +"$ref": "GoogleCloudRetailV2alphaProductLevelConfig", +"description": "Required. The product level configuration." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaCatalogAttribute": { +"description": "Catalog level attribute config for an attribute. For example, if customers want to enable/disable facet for a specific attribute.", +"id": "GoogleCloudRetailV2alphaCatalogAttribute", +"properties": { +"dynamicFacetableOption": { +"description": "If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if CatalogAttribute.indexable_option is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned. Must be specified, otherwise throws INVALID_FORMAT error.", +"enum": [ +"DYNAMIC_FACETABLE_OPTION_UNSPECIFIED", +"DYNAMIC_FACETABLE_ENABLED", +"DYNAMIC_FACETABLE_DISABLED" +], +"enumDescriptions": [ +"Value used when unset.", +"Dynamic facetable option enabled for an attribute.", +"Dynamic facetable option disabled for an attribute." +], +"type": "string" +}, +"exactSearchableOption": { +"description": "If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable. This property only applies to textual custom attributes and requires indexable set to enabled to enable exact-searchable. If unset, the server behavior defaults to EXACT_SEARCHABLE_DISABLED.", +"enum": [ +"EXACT_SEARCHABLE_OPTION_UNSPECIFIED", +"EXACT_SEARCHABLE_ENABLED", +"EXACT_SEARCHABLE_DISABLED" +], +"enumDescriptions": [ +"Value used when unset.", +"Exact searchable option enabled for an attribute.", +"Exact searchable option disabled for an attribute." +], +"type": "string" +}, +"facetConfig": { +"$ref": "GoogleCloudRetailV2alphaCatalogAttributeFacetConfig", +"description": "Contains facet options." +}, +"inUse": { +"description": "Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded catalog attributes that are neither in use by products nor predefined can be deleted. Catalog attributes that are either in use by products or are predefined attributes cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update.", +"readOnly": true, +"type": "boolean" +}, +"indexableOption": { +"description": "When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values are indexed so that it can be filtered, faceted, or boosted in SearchService.Search. Must be specified when AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, otherwise throws INVALID_FORMAT error.", +"enum": [ +"INDEXABLE_OPTION_UNSPECIFIED", +"INDEXABLE_ENABLED", +"INDEXABLE_DISABLED" +], +"enumDescriptions": [ +"Value used when unset.", +"Indexable option enabled for an attribute.", +"Indexable option disabled for an attribute." +], +"type": "string" +}, +"key": { +"description": "Required. Attribute name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. To be indexable, the attribute name can contain only alpha-numeric characters and underscores. For example, an attribute named `attributes.abc_xyz` can be indexed, but an attribute named `attributes.abc-xyz` cannot be indexed. If the attribute key starts with `attributes.`, then the attribute is a custom attribute. Attributes such as `brands`, `patterns`, and `title` are built-in and called system attributes.", +"type": "string" +}, +"recommendationsFilteringOption": { +"description": "When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if RECOMMENDATIONS_FILTERING_ENABLED, attribute values are filterable for recommendations. This option works for categorical features only, does not work for numerical features, inventory filtering.", +"enum": [ +"RECOMMENDATIONS_FILTERING_OPTION_UNSPECIFIED", +"RECOMMENDATIONS_FILTERING_DISABLED", +"RECOMMENDATIONS_FILTERING_ENABLED" +], +"enumDescriptions": [ +"Value used when unset. In this case, server behavior defaults to RECOMMENDATIONS_FILTERING_DISABLED.", +"Recommendation filtering is disabled.", +"Recommendation filtering is enabled." +], +"type": "string" +}, +"retrievableOption": { +"description": "If RETRIEVABLE_ENABLED, attribute values are retrievable in the search results. If unset, the server behavior defaults to RETRIEVABLE_DISABLED.", +"enum": [ +"RETRIEVABLE_OPTION_UNSPECIFIED", +"RETRIEVABLE_ENABLED", +"RETRIEVABLE_DISABLED" +], +"enumDescriptions": [ +"Value used when unset.", +"Retrievable option enabled for an attribute.", +"Retrievable option disabled for an attribute." +], +"type": "string" +}, +"searchableOption": { +"description": "When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if SEARCHABLE_ENABLED, attribute values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but attribute type is numerical, attribute values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical attributes. Must be specified, when AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, otherwise throws INVALID_FORMAT error.", +"enum": [ +"SEARCHABLE_OPTION_UNSPECIFIED", +"SEARCHABLE_ENABLED", +"SEARCHABLE_DISABLED" +], +"enumDescriptions": [ +"Value used when unset.", +"Searchable option enabled for an attribute.", +"Searchable option disabled for an attribute." +], +"type": "string" +}, +"type": { +"description": "Output only. The type of this attribute. This is derived from the attribute in Product.attributes.", +"enum": [ +"UNKNOWN", +"TEXTUAL", +"NUMERICAL" +], +"enumDescriptions": [ +"The type of the attribute is unknown. Used when type cannot be derived from attribute that is not in_use.", +"Textual attribute.", +"Numerical attribute." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaCatalogAttributeFacetConfig": { +"description": "Possible options for the facet that corresponds to the current attribute config.", +"id": "GoogleCloudRetailV2alphaCatalogAttributeFacetConfig", +"properties": { +"facetIntervals": { +"description": "If you don't set the facet SearchRequest.FacetSpec.FacetKey.intervals in the request to a numerical attribute, then we use the computed intervals with rounded bounds obtained from all its product numerical attribute values. The computed intervals might not be ideal for some attributes. Therefore, we give you the option to overwrite them with the facet_intervals field. The maximum of facet intervals per CatalogAttribute is 40. Each interval must have a lower bound or an upper bound. If both bounds are provided, then the lower bound must be smaller or equal than the upper bound.", +"items": { +"$ref": "GoogleCloudRetailV2alphaInterval" +}, +"type": "array" +}, +"ignoredFacetValues": { +"description": "Each instance represents a list of attribute values to ignore as facet values for a specific time range. The maximum number of instances per CatalogAttribute is 25.", +"items": { +"$ref": "GoogleCloudRetailV2alphaCatalogAttributeFacetConfigIgnoredFacetValues" +}, +"type": "array" +}, +"mergedFacet": { +"$ref": "GoogleCloudRetailV2alphaCatalogAttributeFacetConfigMergedFacet", +"description": "Use this field only if you want to merge a facet key into another facet key." +}, +"mergedFacetValues": { +"description": "Each instance replaces a list of facet values by a merged facet value. If a facet value is not in any list, then it will stay the same. To avoid conflicts, only paths of length 1 are accepted. In other words, if \"dark_blue\" merged into \"BLUE\", then the latter can't merge into \"blues\" because this would create a path of length 2. The maximum number of instances of MergedFacetValue per CatalogAttribute is 100. This feature is available only for textual custom attributes.", +"items": { +"$ref": "GoogleCloudRetailV2alphaCatalogAttributeFacetConfigMergedFacetValue" +}, +"type": "array" +}, +"rerankConfig": { +"$ref": "GoogleCloudRetailV2alphaCatalogAttributeFacetConfigRerankConfig", +"description": "Set this field only if you want to rerank based on facet values engaged by the user for the current key. This option is only possible for custom facetable textual keys." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaCatalogAttributeFacetConfigIgnoredFacetValues": { +"description": "Facet values to ignore on facets during the specified time range for the given SearchResponse.Facet.key attribute.", +"id": "GoogleCloudRetailV2alphaCatalogAttributeFacetConfigIgnoredFacetValues", +"properties": { +"endTime": { +"description": "If start time is empty and end time is not empty, then ignore these facet values before end time.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "Time range for the current list of facet values to ignore. If multiple time ranges are specified for an facet value for the current attribute, consider all of them. If both are empty, ignore always. If start time and end time are set, then start time must be before end time. If start time is not empty and end time is empty, then will ignore these facet values after the start time.", +"format": "google-datetime", +"type": "string" +}, +"values": { +"description": "List of facet values to ignore for the following time range. The facet values are the same as the attribute values. There is a limit of 10 values per instance of IgnoredFacetValues. Each value can have at most 128 characters.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaCatalogAttributeFacetConfigMergedFacet": { +"description": "The current facet key (i.e. attribute config) maps into the merged_facet_key. A facet key can have at most one child. The current facet key and the merged facet key need both to be textual custom attributes or both numerical custom attributes (same type).", +"id": "GoogleCloudRetailV2alphaCatalogAttributeFacetConfigMergedFacet", +"properties": { +"mergedFacetKey": { +"description": "The merged facet key should be a valid facet key that is different than the facet key of the current catalog attribute. We refer this is merged facet key as the child of the current catalog attribute. This merged facet key can't be a parent of another facet key (i.e. no directed path of length 2). This merged facet key needs to be either a textual custom attribute or a numerical custom attribute.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaCatalogAttributeFacetConfigMergedFacetValue": { +"description": "Replaces a set of textual facet values by the same (possibly different) merged facet value. Each facet value should appear at most once as a value per CatalogAttribute. This feature is available only for textual custom attributes.", +"id": "GoogleCloudRetailV2alphaCatalogAttributeFacetConfigMergedFacetValue", +"properties": { +"mergedValue": { +"description": "All the previous values are replaced by this merged facet value. This merged_value must be non-empty and can have up to 128 characters.", +"type": "string" +}, +"values": { +"description": "All the facet values that are replaces by the same merged_value that follows. The maximum number of values per MergedFacetValue is 25. Each value can have up to 128 characters.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaCatalogAttributeFacetConfigRerankConfig": { +"description": "Options to rerank based on facet values engaged by the user for the current key. That key needs to be a custom textual key and facetable. To use this control, you also need to pass all the facet keys engaged by the user in the request using the field [SearchRequest.FacetSpec]. In particular, if you don't pass the facet keys engaged that you want to rerank on, this control won't be effective. Moreover, to obtain better results, the facet values that you want to rerank on should be close to English (ideally made of words, underscores, and spaces).", +"id": "GoogleCloudRetailV2alphaCatalogAttributeFacetConfigRerankConfig", +"properties": { +"facetValues": { +"description": "If empty, rerank on all facet values for the current key. Otherwise, will rerank on the facet values from this list only.", +"items": { +"type": "string" +}, +"type": "array" +}, +"rerankFacet": { +"description": "If set to true, then we also rerank the dynamic facets based on the facet values engaged by the user for the current attribute key during serving.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaCollectUserEventRequest": { +"description": "Request message for CollectUserEvent method.", +"id": "GoogleCloudRetailV2alphaCollectUserEventRequest", +"properties": { +"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", +"type": "string" +}, +"prebuiltRule": { +"description": "The prebuilt rule name that can convert a specific type of raw_json. For example: \"ga4_bq\" rule for the GA4 user event schema.", +"type": "string" +}, +"rawJson": { +"description": "An arbitrary serialized JSON string that contains necessary information that can comprise a user event. When this field is specified, the user_event field will be ignored. Note: line-delimited JSON is not supported, a single JSON only.", +"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 3rd party requests.", +"type": "string" +}, +"userEvent": { +"description": "Required. URL encoded UserEvent proto with a length limit of 2,000,000 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaColorInfo": { +"description": "The color information of a Product.", +"id": "GoogleCloudRetailV2alphaColorInfo", +"properties": { +"colorFamilies": { +"description": "The standard color families. Strongly recommended to use the following standard color groups: \"Red\", \"Pink\", \"Orange\", \"Yellow\", \"Purple\", \"Green\", \"Cyan\", \"Blue\", \"Brown\", \"White\", \"Gray\", \"Black\" and \"Mixed\". Normally it is expected to have only 1 color family. May consider using single \"Mixed\" instead of multiple values. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). The colorFamilies field as a system attribute is not a required field but strongly recommended to be specified. Google Search models treat this field as more important than a custom product attribute when specified.", +"items": { +"type": "string" +}, +"type": "array" +}, +"colors": { +"description": "The color display names, which may be different from standard color family names, such as the color aliases used in the website frontend. Normally it is expected to have only 1 color. May consider using single \"Mixed\" instead of multiple values. A maximum of 75 colors are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaCompleteQueryResponse": { +"description": "Response of the autocomplete query.", +"id": "GoogleCloudRetailV2alphaCompleteQueryResponse", +"properties": { +"attributeResults": { +"additionalProperties": { +"$ref": "GoogleCloudRetailV2alphaCompleteQueryResponseAttributeResult" +}, +"description": "A map of matched attribute suggestions. This field is only available for \"cloud-retail\" dataset. Current supported keys: * `brands` * `categories`", +"type": "object" +}, +"attributionToken": { +"description": "A unique complete token. This should be included in the UserEvent.completion_detail for search events resulting from this completion, which enables accurate attribution of complete model performance.", +"type": "string" +}, +"completionResults": { +"description": "Results of the matching suggestions. The result list is ordered and the first result is top suggestion.", +"items": { +"$ref": "GoogleCloudRetailV2alphaCompleteQueryResponseCompletionResult" +}, +"type": "array" +}, +"recentSearchResults": { +"deprecated": true, +"description": "Deprecated. Matched recent searches of this user. The maximum number of recent searches is 10. This field is a restricted feature. If you want to enable it, contact Retail Search support. This feature is only available when CompleteQueryRequest.visitor_id field is set and UserEvent is imported. The recent searches satisfy the follow rules: * They are ordered from latest to oldest. * They are matched with CompleteQueryRequest.query case insensitively. * They are transformed to lower case. * They are UTF-8 safe. Recent searches are deduplicated. More recent searches will be reserved when duplication happens.", +"items": { +"$ref": "GoogleCloudRetailV2alphaCompleteQueryResponseRecentSearchResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaCompleteQueryResponseAttributeResult": { +"description": "Resource that represents attribute results. The list of suggestions for the attribute.", +"id": "GoogleCloudRetailV2alphaCompleteQueryResponseAttributeResult", +"properties": { +"suggestions": { +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaCompleteQueryResponseCompletionResult": { +"description": "Resource that represents completion results.", +"id": "GoogleCloudRetailV2alphaCompleteQueryResponseCompletionResult", +"properties": { +"attributes": { +"additionalProperties": { +"$ref": "GoogleCloudRetailV2alphaCustomAttribute" +}, +"description": "Custom attributes for the suggestion term. * For \"user-data\", the attributes are additional custom attributes ingested through BigQuery. * For \"cloud-retail\", the attributes are product attributes generated by Cloud Retail. It requires UserEvent.product_details is imported properly.", +"type": "object" +}, +"facets": { +"description": "Facet information for the suggestion term. Gives the number of items resulting from a search with this suggestion term for each facet. This is an experimental feature for limited customers. If you want to receive this facet information, reach out to the Retail support team.", +"items": { +"$ref": "GoogleCloudRetailV2alphaSearchResponseFacet" +}, +"type": "array" +}, +"suggestion": { +"description": "The suggestion for the query.", +"type": "string" +}, +"totalProductCount": { +"description": "Total number of products associated with a search with this suggestion. This is an experimental feature for limited customers. If you want to receive this product count information, reach out to the Retail support team.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaCompleteQueryResponseRecentSearchResult": { +"deprecated": true, +"description": "Deprecated: Recent search of this user.", +"id": "GoogleCloudRetailV2alphaCompleteQueryResponseRecentSearchResult", +"properties": { +"recentSearch": { +"description": "The recent search query.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaCompletionConfig": { +"description": "Catalog level autocomplete config for customers to customize autocomplete feature's settings.", +"id": "GoogleCloudRetailV2alphaCompletionConfig", +"properties": { +"allowlistInputConfig": { +"$ref": "GoogleCloudRetailV2alphaCompletionDataInputConfig", +"description": "Output only. The source data for the latest import of the autocomplete allowlist phrases.", +"readOnly": true +}, +"autoLearning": { +"description": "If set to true, the auto learning function is enabled. Auto learning uses user data to generate suggestions using ML techniques. Default value is false. Only after enabling auto learning can users use `cloud-retail` data in CompleteQueryRequest.", +"type": "boolean" +}, +"denylistInputConfig": { +"$ref": "GoogleCloudRetailV2alphaCompletionDataInputConfig", +"description": "Output only. The source data for the latest import of the autocomplete denylist phrases.", +"readOnly": true +}, +"lastAllowlistImportOperation": { +"description": "Output only. Name of the LRO corresponding to the latest allowlist import. Can use GetOperation API to retrieve the latest state of the Long Running Operation.", +"readOnly": true, +"type": "string" +}, +"lastDenylistImportOperation": { +"description": "Output only. Name of the LRO corresponding to the latest denylist import. Can use GetOperation API to retrieve the latest state of the Long Running Operation.", +"readOnly": true, +"type": "string" +}, +"lastSuggestionsImportOperation": { +"description": "Output only. Name of the LRO corresponding to the latest suggestion terms list import. Can use GetOperation API method to retrieve the latest state of the Long Running Operation.", +"readOnly": true, +"type": "string" +}, +"matchingOrder": { +"description": "Specifies the matching order for autocomplete suggestions, e.g., a query consisting of 'sh' with 'out-of-order' specified would suggest \"women's shoes\", whereas a query of 'red s' with 'exact-prefix' specified would suggest \"red shoes\". Currently supported values: * 'out-of-order' * 'exact-prefix' Default value: 'exact-prefix'.", +"type": "string" +}, +"maxSuggestions": { +"description": "The maximum number of autocomplete suggestions returned per term. Default value is 20. If left unset or set to 0, then will fallback to default value. Value range is 1 to 20.", +"format": "int32", +"type": "integer" +}, +"minPrefixLength": { +"description": "The minimum number of characters needed to be typed in order to get suggestions. Default value is 2. If left unset or set to 0, then will fallback to default value. Value range is 1 to 20.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "Required. Immutable. Fully qualified name `projects/*/locations/*/catalogs/*/completionConfig`", +"type": "string" +}, +"suggestionsInputConfig": { +"$ref": "GoogleCloudRetailV2alphaCompletionDataInputConfig", +"description": "Output only. The source data for the latest import of the autocomplete suggestion phrases.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaCompletionDataInputConfig": { +"description": "The input config source for completion data.", +"id": "GoogleCloudRetailV2alphaCompletionDataInputConfig", +"properties": { +"bigQuerySource": { +"$ref": "GoogleCloudRetailV2alphaBigQuerySource", +"description": "Required. BigQuery input source. Add the IAM permission \"BigQuery Data Viewer\" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaCompletionDetail": { +"description": "Detailed completion information including completion attribution token and clicked completion info.", +"id": "GoogleCloudRetailV2alphaCompletionDetail", +"properties": { +"completionAttributionToken": { +"description": "Completion attribution token in CompleteQueryResponse.attribution_token.", +"type": "string" +}, +"selectedPosition": { +"description": "End user selected CompleteQueryResponse.CompletionResult.suggestion position, starting from 0.", +"format": "int32", +"type": "integer" +}, +"selectedSuggestion": { +"description": "End user selected CompleteQueryResponse.CompletionResult.suggestion.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaCondition": { +"description": "Metadata that is used to define a condition that triggers an action. A valid condition must specify at least one of 'query_terms' or 'products_filter'. If multiple fields are specified, the condition is met if all the fields are satisfied e.g. if a set of query terms and product_filter are set, then only items matching the product_filter for requests with a query matching the query terms wil get boosted.", +"id": "GoogleCloudRetailV2alphaCondition", +"properties": { +"activeTimeRange": { +"description": "Range of time(s) specifying when Condition is active. Condition true if any time range matches.", +"items": { +"$ref": "GoogleCloudRetailV2alphaConditionTimeRange" +}, +"type": "array" +}, +"pageCategories": { +"description": "Used to support browse uses cases. A list (up to 10 entries) of categories or departments. The format should be the same as UserEvent.page_categories;", +"items": { +"type": "string" +}, +"type": "array" +}, +"queryTerms": { +"description": "A list (up to 10 entries) of terms to match the query on. If not specified, match all queries. If many query terms are specified, the condition is matched if any of the terms is a match (i.e. using the OR operator).", +"items": { +"$ref": "GoogleCloudRetailV2alphaConditionQueryTerm" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaConditionQueryTerm": { +"description": "Query terms that we want to match on.", +"id": "GoogleCloudRetailV2alphaConditionQueryTerm", +"properties": { +"fullMatch": { +"description": "Whether this is supposed to be a full or partial match.", +"type": "boolean" +}, +"value": { +"description": "The value of the term to match on. Value cannot be empty. Value can have at most 3 terms if specified as a partial match. Each space separated string is considered as one term. For example, \"a b c\" is 3 terms and allowed, but \" a b c d\" is 4 terms and not allowed for a partial match.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaConditionTimeRange": { +"description": "Used for time-dependent conditions. Example: Want to have rule applied for week long sale.", +"id": "GoogleCloudRetailV2alphaConditionTimeRange", +"properties": { +"endTime": { +"description": "End of time range. Range is inclusive.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "Start of time range. Range is inclusive.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaControl": { +"description": "Configures dynamic metadata that can be linked to a ServingConfig and affect search or recommendation results at serving time.", +"id": "GoogleCloudRetailV2alphaControl", +"properties": { +"associatedServingConfigIds": { +"description": "Output only. List of serving config ids that are associated with this control in the same Catalog. Note the association is managed via the ServingConfig, this is an output only denormalized view.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"displayName": { +"description": "Required. The human readable control display name. Used in Retail UI. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is thrown.", +"type": "string" +}, +"facetSpec": { +"$ref": "GoogleCloudRetailV2alphaSearchRequestFacetSpec", +"deprecated": true, +"description": "A facet specification to perform faceted search. Note that this field is deprecated and will throw NOT_IMPLEMENTED if used for creating a control." +}, +"name": { +"description": "Immutable. Fully qualified name `projects/*/locations/global/catalogs/*/controls/*`", +"type": "string" +}, +"rule": { +"$ref": "GoogleCloudRetailV2alphaRule", +"description": "A rule control - a condition-action pair. Enacts a set action when the condition is triggered. For example: Boost \"gShoe\" when query full matches \"Running Shoes\"." +}, +"searchSolutionUseCase": { +"description": "Specifies the use case for the control. Affects what condition fields can be set. Only settable by search controls. Will default to SEARCH_SOLUTION_USE_CASE_SEARCH if not specified. Currently only allow one search_solution_use_case per control.", +"items": { +"enum": [ +"SEARCH_SOLUTION_USE_CASE_UNSPECIFIED", +"SEARCH_SOLUTION_USE_CASE_SEARCH", +"SEARCH_SOLUTION_USE_CASE_BROWSE" +], +"enumDescriptions": [ +"The value when it's unspecified. In this case, server behavior defaults to SEARCH_SOLUTION_USE_CASE_SEARCH.", +"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" +}, +"solutionTypes": { +"description": "Required. Immutable. The solution types that the control is used for. Currently we support setting only one type of solution at creation time. Only `SOLUTION_TYPE_SEARCH` value is supported at the moment. If no solution type is provided at creation time, will default to SOLUTION_TYPE_SEARCH.", +"items": { +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Retail Search." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaCreateMerchantCenterAccountLinkMetadata": { +"description": "Common metadata related to the progress of the operations.", +"id": "GoogleCloudRetailV2alphaCreateMerchantCenterAccountLinkMetadata", +"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" +}, +"GoogleCloudRetailV2alphaCreateModelMetadata": { +"description": "Metadata associated with a create operation.", +"id": "GoogleCloudRetailV2alphaCreateModelMetadata", +"properties": { +"model": { +"description": "The resource name of the model that this create applies to. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaCustomAttribute": { +"description": "A custom attribute that is not explicitly modeled in Product.", +"id": "GoogleCloudRetailV2alphaCustomAttribute", +"properties": { +"indexable": { +"deprecated": true, +"description": "This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.", +"type": "boolean" +}, +"numbers": { +"description": "The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is \"lengths_cm\". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.", +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +}, +"searchable": { +"deprecated": true, +"description": "This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned.", +"type": "boolean" +}, +"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 text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaEnrollSolutionMetadata": { +"description": "Metadata related to the EnrollSolution method. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudRetailV2alphaEnrollSolutionMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2alphaEnrollSolutionRequest": { +"description": "Request for EnrollSolution method.", +"id": "GoogleCloudRetailV2alphaEnrollSolutionRequest", +"properties": { +"solution": { +"description": "Required. Solution to enroll.", +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Retail Search." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaEnrollSolutionResponse": { +"description": "Response for EnrollSolution method.", +"id": "GoogleCloudRetailV2alphaEnrollSolutionResponse", +"properties": { +"enrolledSolution": { +"description": "Retail API solution that the project has enrolled.", +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Retail Search." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaExperimentInfo": { +"description": "Metadata for active A/B testing experiment.", +"id": "GoogleCloudRetailV2alphaExperimentInfo", +"properties": { +"experiment": { +"description": "The fully qualified resource name of the experiment that provides the serving config under test, should an active experiment exist. For example: `projects/*/locations/global/catalogs/default_catalog/experiments/experiment_id`", +"type": "string" +}, +"servingConfigExperiment": { +"$ref": "GoogleCloudRetailV2alphaExperimentInfoServingConfigExperiment", +"description": "A/B test between existing Cloud Retail Search ServingConfigs." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaExperimentInfoServingConfigExperiment": { +"description": "Metadata for active serving config A/B tests.", +"id": "GoogleCloudRetailV2alphaExperimentInfoServingConfigExperiment", +"properties": { +"experimentServingConfig": { +"description": "The fully qualified resource name of the serving config `Experiment.VariantArm.serving_config_id` responsible for generating the search response. For example: `projects/*/locations/*/catalogs/*/servingConfigs/*`.", +"type": "string" +}, +"originalServingConfig": { +"description": "The fully qualified resource name of the original SearchRequest.placement in the search request prior to reassignment by experiment API. For example: `projects/*/locations/*/catalogs/*/servingConfigs/*`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaExportAnalyticsMetricsRequest": { +"description": "Request message for the `ExportAnalyticsMetrics` method.", +"id": "GoogleCloudRetailV2alphaExportAnalyticsMetricsRequest", +"properties": { +"filter": { +"description": "A filtering expression to specify restrictions on returned metrics. The expression is a sequence of terms. Each term applies a restriction to the returned metrics. Use this expression to restrict results to a specific time range. Currently we expect only one types of fields: * `timestamp`: This can be specified twice, once with a less than operator and once with a greater than operator. The `timestamp` restriction should result in one, contiguous, valid, `timestamp` range. Some examples of valid filters expressions: * Example 1: `timestamp > \"2012-04-23T18:25:43.511Z\" timestamp < \"2012-04-23T18:30:43.511Z\"` * Example 2: `timestamp > \"2012-04-23T18:25:43.511Z\"`", +"type": "string" +}, +"outputConfig": { +"$ref": "GoogleCloudRetailV2alphaOutputConfig", +"description": "Required. The output location of the data." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaExportAnalyticsMetricsResponse": { +"description": "Response of the ExportAnalyticsMetricsRequest. 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": "GoogleCloudRetailV2alphaExportAnalyticsMetricsResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"errorsConfig": { +"$ref": "GoogleCloudRetailV2alphaExportErrorsConfig", +"description": "This field is never set." +}, +"outputResult": { +"$ref": "GoogleCloudRetailV2alphaOutputResult", +"description": "Output result indicating where the data were exported to." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaExportErrorsConfig": { +"description": "Configuration of destination for Export related errors.", +"id": "GoogleCloudRetailV2alphaExportErrorsConfig", +"properties": { +"gcsPrefix": { +"description": "Google Cloud Storage path for import errors. This must be an empty, existing Cloud Storage bucket. Export errors will be written to a file in this bucket, one per line, as a JSON-encoded `google.rpc.Status` message.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaExportMetadata": { +"description": "Metadata related to the progress of the Export operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudRetailV2alphaExportMetadata", +"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" +}, +"GoogleCloudRetailV2alphaExportProductsRequest": { +"description": "Request message for ExportProducts method.", +"id": "GoogleCloudRetailV2alphaExportProductsRequest", +"properties": { +"filter": { +"description": "A filtering expression to specify restrictions on returned events. The expression is a sequence of terms. Each term applies a restriction to the returned products. Use this expression to restrict results to a specific time range, tag, or stock state or to filter products by product type. For example, `lastModifiedTime > \"2012-04-23T18:25:43.511Z\" lastModifiedTime<\"2012-04-23T18:25:43.511Z\" productType=primary` We expect only four types of fields: * `lastModifiedTime`: This can be specified twice, once with a less than operator and once with a greater than operator. The `lastModifiedTime` restriction should result in one, contiguous, valid, last-modified, time range. * `productType`: Supported values are `primary` and `variant`. The Boolean operators `OR` and `NOT` are supported if the expression is enclosed in parentheses and must be separated from the `productType` values by a space. * `availability`: Supported values are `IN_STOCK`, `OUT_OF_STOCK`, `PREORDER`, and `BACKORDER`. Boolean operators `OR` and `NOT` are supported if the expression is enclosed in parentheses and must be separated from the `availability` values by a space. * `Tag expressions`: Restricts output to products that match all of the specified tags. Boolean operators `OR` and `NOT` are supported if the expression is enclosed in parentheses and the operators are separated from the tag values by a space. Also supported is '`-\"tagA\"`', which is equivalent to '`NOT \"tagA\"`'. Tag values must be double-quoted, UTF-8 encoded strings and have a size limit of 1,000 characters. Some examples of valid filters expressions: * Example 1: `lastModifiedTime > \"2012-04-23T18:25:43.511Z\" lastModifiedTime < \"2012-04-23T18:30:43.511Z\"` * Example 2: `lastModifiedTime > \"2012-04-23T18:25:43.511Z\" productType = \"variant\"` * Example 3: `tag=(\"Red\" OR \"Blue\") tag=\"New-Arrival\" tag=(NOT \"promotional\") productType = \"primary\" lastModifiedTime < \"2018-04-23T18:30:43.511Z\"` * Example 4: `lastModifiedTime > \"2012-04-23T18:25:43.511Z\"` * Example 5: `availability = (IN_STOCK OR BACKORDER)`", +"type": "string" +}, +"outputConfig": { +"$ref": "GoogleCloudRetailV2alphaOutputConfig", +"description": "Required. The output location of the data." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaExportProductsResponse": { +"description": "Response of the ExportProductsRequest. 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": "GoogleCloudRetailV2alphaExportProductsResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"errorsConfig": { +"$ref": "GoogleCloudRetailV2alphaExportErrorsConfig", +"description": "This field is never set." +}, +"outputResult": { +"$ref": "GoogleCloudRetailV2alphaOutputResult", +"description": "Output result indicating where the data were exported to." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaExportUserEventsRequest": { +"description": "Request message for the `ExportUserEvents` method.", +"id": "GoogleCloudRetailV2alphaExportUserEventsRequest", +"properties": { +"filter": { +"description": "A filtering expression to specify restrictions on returned events. The expression is a sequence of terms. Each term applies a restriction to the returned user events. Use this expression to restrict results to a specific time range or to filter events by eventType. For example, `eventTime > \"2012-04-23T18:25:43.511Z\" eventsMissingCatalogItems eventTime<\"2012-04-23T18:25:43.511Z\" eventType=search` We expect only three types of fields: * `eventTime`: This can be specified twice, once with a less than operator and once with a greater than operator. The `eventTime` restriction should result in one, contiguous, valid, `eventTime` range. * `eventType`: Boolean operators `OR` and `NOT` are supported if the expression is enclosed in parentheses and the operators are separated from the tag values by a space. * `eventsMissingCatalogItems`: This restricts results to events for which catalog items were not found in the catalog. The default behavior is to return only those events for which catalog items were found. Some examples of valid filters expressions: * Example 1: `eventTime > \"2012-04-23T18:25:43.511Z\" eventTime < \"2012-04-23T18:30:43.511Z\"` * Example 2: `eventTime > \"2012-04-23T18:25:43.511Z\" eventType = detail-page-view` * Example 3: `eventsMissingCatalogItems eventType = (NOT search) eventTime < \"2018-04-23T18:30:43.511Z\"` * Example 4: `eventTime > \"2012-04-23T18:25:43.511Z\"` * Example 5: `eventType = (detail-page-view OR search)` * Example 6: `eventsMissingCatalogItems`", +"type": "string" +}, +"outputConfig": { +"$ref": "GoogleCloudRetailV2alphaOutputConfig", +"description": "Required. The output location of the data." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaExportUserEventsResponse": { +"description": "Response of the ExportUserEventsRequest. 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": "GoogleCloudRetailV2alphaExportUserEventsResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"errorsConfig": { +"$ref": "GoogleCloudRetailV2alphaExportErrorsConfig", +"description": "This field is never set." +}, +"outputResult": { +"$ref": "GoogleCloudRetailV2alphaOutputResult", +"description": "Output result indicating where the data were exported to." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaFulfillmentInfo": { +"description": "Fulfillment information, such as the store IDs for in-store pickup or region IDs for different shipping methods.", +"id": "GoogleCloudRetailV2alphaFulfillmentInfo", +"properties": { +"placeIds": { +"description": "The IDs for this type, such as the store IDs for FulfillmentInfo.type.pickup-in-store or the region IDs for FulfillmentInfo.type.same-day-delivery. A maximum of 3000 values are allowed. Each value must be a string with a length limit of 30 characters, matching the pattern `[a-zA-Z0-9_-]+`, such as \"store1\" or \"REGION-2\". Otherwise, an INVALID_ARGUMENT error is returned.", +"items": { +"type": "string" +}, +"type": "array" +}, +"type": { +"description": "The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * \"pickup-in-store\" * \"ship-to-store\" * \"same-day-delivery\" * \"next-day-delivery\" * \"custom-type-1\" * \"custom-type-2\" * \"custom-type-3\" * \"custom-type-4\" * \"custom-type-5\" If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaGcsOutputResult": { +"description": "A Gcs output result.", +"id": "GoogleCloudRetailV2alphaGcsOutputResult", +"properties": { +"outputUri": { +"description": "The uri of Gcs output", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaGcsSource": { +"description": "Google Cloud Storage location for input content.", +"id": "GoogleCloudRetailV2alphaGcsSource", +"properties": { +"dataSchema": { +"description": "The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: Using https://support.google.com/analytics/answer/3437719. Supported values for control imports: * `control` (default): One JSON Control per line. Supported values for catalog attribute imports: * `catalog_attribute` (default): One CSV CatalogAttribute per line.", +"type": "string" +}, +"inputUris": { +"description": "Required. Google Cloud Storage URIs to input files. 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, and each file can be up to 2 GB. See [Importing product information](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog) for the expected file format and setup instructions.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaGenerativeQuestionConfig": { +"description": "Configuration for a single generated question.", +"id": "GoogleCloudRetailV2alphaGenerativeQuestionConfig", +"properties": { +"allowedInConversation": { +"description": "Optional. Whether the question is asked at serving time.", +"type": "boolean" +}, +"catalog": { +"description": "Required. Resource name of the catalog. Format: projects/{project}/locations/{location}/catalogs/{catalog}", +"type": "string" +}, +"exampleValues": { +"description": "Output only. Values that can be used to answer the question.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"facet": { +"description": "Required. The facet to which the question is associated.", +"type": "string" +}, +"finalQuestion": { +"description": "Optional. The question that will be used at serving time. Question can have a max length of 300 bytes. When not populated, generated_question should be used.", +"type": "string" +}, +"frequency": { +"description": "Output only. The ratio of how often a question was asked.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"generatedQuestion": { +"description": "Output only. The LLM generated question.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaGenerativeQuestionsFeatureConfig": { +"description": "Configuration for overall generative question feature state.", +"id": "GoogleCloudRetailV2alphaGenerativeQuestionsFeatureConfig", +"properties": { +"catalog": { +"description": "Required. Resource name of the affected catalog. Format: projects/{project}/locations/{location}/catalogs/{catalog}", +"type": "string" +}, +"featureEnabled": { +"description": "Optional. Determines whether questions will be used at serving time. Note: This feature cannot be enabled until initial data requirements are satisfied.", +"type": "boolean" +}, +"minimumProducts": { +"description": "Optional. Minimum number of products in the response to trigger follow-up questions. Value must be 0 or positive.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaGetDefaultBranchResponse": { +"description": "Response message of CatalogService.GetDefaultBranch.", +"id": "GoogleCloudRetailV2alphaGetDefaultBranchResponse", +"properties": { +"branch": { +"description": "Full resource name of the branch id currently set as default branch.", +"type": "string" +}, +"note": { +"description": "This corresponds to SetDefaultBranchRequest.note field, when this branch was set as default.", +"type": "string" +}, +"setTime": { +"description": "The time when this branch is set to default.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaImage": { +"description": "Product image. Recommendations AI and Retail Search use product images to improve prediction and search results. Product images can be returned in results, and are shown in prediction or search previews in the console. Please try to provide correct product images and avoid using images with size too small.", +"id": "GoogleCloudRetailV2alphaImage", +"properties": { +"height": { +"description": "Height of the image in number of pixels. This field must be nonnegative. Otherwise, an INVALID_ARGUMENT error is returned.", +"format": "int32", +"type": "integer" +}, +"uri": { +"description": "Required. URI of the image. This field must be a valid UTF-8 encoded URI with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).", +"type": "string" +}, +"width": { +"description": "Width of the image in number of pixels. This field must be nonnegative. Otherwise, an INVALID_ARGUMENT error is returned.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaImportCompletionDataRequest": { +"description": "Request message for ImportCompletionData methods.", +"id": "GoogleCloudRetailV2alphaImportCompletionDataRequest", +"properties": { +"inputConfig": { +"$ref": "GoogleCloudRetailV2alphaCompletionDataInputConfig", +"description": "Required. The desired input location of the data." +}, +"notificationPubsubTopic": { +"description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification is sent to specified Pub/Sub topic. The message data is JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaImportCompletionDataResponse": { +"description": "Response of the ImportCompletionDataRequest. If the long running operation is done, this message is returned by the google.longrunning.Operations.response field if the operation is successful.", +"id": "GoogleCloudRetailV2alphaImportCompletionDataResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaImportErrorsConfig": { +"description": "Configuration of destination for Import related errors.", +"id": "GoogleCloudRetailV2alphaImportErrorsConfig", +"properties": { +"gcsPrefix": { +"description": "Google 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" +}, +"GoogleCloudRetailV2alphaImportMetadata": { +"description": "Metadata related to the progress of the Import operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudRetailV2alphaImportMetadata", +"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" +}, +"notificationPubsubTopic": { +"description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification is sent to specified Pub/Sub topic. The message data is JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", +"type": "string" +}, +"requestId": { +"deprecated": true, +"description": "Deprecated. This field is never set.", +"type": "string" +}, +"successCount": { +"description": "Count of entries that were processed successfully.", +"format": "int64", +"type": "string" +}, +"transformedUserEventsMetadata": { +"$ref": "GoogleCloudRetailV2alphaTransformedUserEventsMetadata", +"description": "Metadata related to transform user events." +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaImportProductsRequest": { +"description": "Request message for Import methods.", +"id": "GoogleCloudRetailV2alphaImportProductsRequest", +"properties": { +"errorsConfig": { +"$ref": "GoogleCloudRetailV2alphaImportErrorsConfig", +"description": "The desired location of errors incurred during the Import." +}, +"inputConfig": { +"$ref": "GoogleCloudRetailV2alphaProductInputConfig", +"description": "Required. The desired input location of the data." +}, +"notificationPubsubTopic": { +"description": "Full Pub/Sub topic name for receiving notification. If this field is set, when the import is finished, a notification is sent to specified Pub/Sub topic. The message data is JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`. It has to be within the same project as ImportProductsRequest.parent. Make sure that both `cloud-retail-customer-data-access@system.gserviceaccount.com` and `service-@gcp-sa-retail.iam.gserviceaccount.com` have the `pubsub.topics.publish` IAM permission on the topic. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`.", +"type": "string" +}, +"reconciliationMode": { +"description": "The mode of reconciliation between existing products and the products to be imported. Defaults to ReconciliationMode.INCREMENTAL.", +"enum": [ +"RECONCILIATION_MODE_UNSPECIFIED", +"INCREMENTAL", +"FULL" +], +"enumDescriptions": [ +"Defaults to INCREMENTAL.", +"Inserts new products or updates existing products.", +"Calculates diff and replaces the entire product dataset. Existing products may be deleted if they are not present in the source location." +], +"type": "string" +}, +"requestId": { +"deprecated": true, +"description": "Deprecated. This field has no effect.", +"type": "string" +}, +"skipDefaultBranchProtection": { +"description": "If true, this performs the FULL import even if it would delete a large proportion of the products in the default branch, which could potentially cause outages if you have live predict/search traffic. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`.", +"type": "boolean" +}, +"updateMask": { +"description": "Indicates which fields in the provided imported `products` to update. If not set, all fields are updated. If provided, only the existing product fields are updated. Missing products will not be created.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaImportProductsResponse": { +"description": "Response of the ImportProductsRequest. 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": "GoogleCloudRetailV2alphaImportProductsResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"errorsConfig": { +"$ref": "GoogleCloudRetailV2alphaImportErrorsConfig", +"description": "Echoes the destination for the complete errors in the request if set." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaImportUserEventsRequest": { +"description": "Request message for the ImportUserEvents request.", +"id": "GoogleCloudRetailV2alphaImportUserEventsRequest", +"properties": { +"errorsConfig": { +"$ref": "GoogleCloudRetailV2alphaImportErrorsConfig", +"description": "The desired location of errors incurred during the Import. Cannot be set for inline user event imports." +}, +"inputConfig": { +"$ref": "GoogleCloudRetailV2alphaUserEventInputConfig", +"description": "Required. The desired input location of the data." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaImportUserEventsResponse": { +"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": "GoogleCloudRetailV2alphaImportUserEventsResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"errorsConfig": { +"$ref": "GoogleCloudRetailV2alphaImportErrorsConfig", +"description": "Echoes the destination for the complete errors if this field was set in the request." +}, +"importSummary": { +"$ref": "GoogleCloudRetailV2alphaUserEventImportSummary", +"description": "Aggregated statistics of user event import status." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaInterval": { +"description": "A floating point interval.", +"id": "GoogleCloudRetailV2alphaInterval", +"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" +}, +"GoogleCloudRetailV2alphaListBranchesResponse": { +"description": "Response for BranchService.ListBranches method.", +"id": "GoogleCloudRetailV2alphaListBranchesResponse", +"properties": { +"branches": { +"description": "The Branches.", +"items": { +"$ref": "GoogleCloudRetailV2alphaBranch" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaListCatalogsResponse": { +"description": "Response for CatalogService.ListCatalogs method.", +"id": "GoogleCloudRetailV2alphaListCatalogsResponse", +"properties": { +"catalogs": { +"description": "All the customer's Catalogs.", +"items": { +"$ref": "GoogleCloudRetailV2alphaCatalog" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token that can be sent as ListCatalogsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaListControlsResponse": { +"description": "Response for ListControls method.", +"id": "GoogleCloudRetailV2alphaListControlsResponse", +"properties": { +"controls": { +"description": "All the Controls for a given catalog.", +"items": { +"$ref": "GoogleCloudRetailV2alphaControl" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Pagination token, if not returned indicates the last page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaListEnrolledSolutionsResponse": { +"description": "Response for ListEnrolledSolutions method.", +"id": "GoogleCloudRetailV2alphaListEnrolledSolutionsResponse", +"properties": { +"enrolledSolutions": { +"description": "Retail API solutions that the project has enrolled.", +"items": { +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Retail Search." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaListGenerativeQuestionConfigsResponse": { +"description": "Response for ListQuestions method.", +"id": "GoogleCloudRetailV2alphaListGenerativeQuestionConfigsResponse", +"properties": { +"generativeQuestionConfigs": { +"description": "All the questions for a given catalog.", +"items": { +"$ref": "GoogleCloudRetailV2alphaGenerativeQuestionConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaListMerchantCenterAccountLinksResponse": { +"description": "Response for MerchantCenterAccountLinkService.ListMerchantCenterAccountLinks method.", +"id": "GoogleCloudRetailV2alphaListMerchantCenterAccountLinksResponse", +"properties": { +"merchantCenterAccountLinks": { +"description": "The links.", +"items": { +"$ref": "GoogleCloudRetailV2alphaMerchantCenterAccountLink" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaListModelsResponse": { +"description": "Response to a ListModelRequest.", +"id": "GoogleCloudRetailV2alphaListModelsResponse", +"properties": { +"models": { +"description": "List of Models.", +"items": { +"$ref": "GoogleCloudRetailV2alphaModel" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Pagination token, if not returned indicates the last page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaListProductsResponse": { +"description": "Response message for ProductService.ListProducts method.", +"id": "GoogleCloudRetailV2alphaListProductsResponse", +"properties": { +"nextPageToken": { +"description": "A token that can be sent as ListProductsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"products": { +"description": "The Products.", +"items": { +"$ref": "GoogleCloudRetailV2alphaProduct" +}, +"type": "array" +}, +"totalSize": { +"description": "The total count of matched Products irrespective of pagination. The total number of Products returned by pagination may be less than the total_size that matches. This field is ignored if ListProductsRequest.require_total_size is not set or ListProductsRequest.page_token is not empty.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaListServingConfigsResponse": { +"description": "Response for ListServingConfigs method.", +"id": "GoogleCloudRetailV2alphaListServingConfigsResponse", +"properties": { +"nextPageToken": { +"description": "Pagination token, if not returned indicates the last page.", +"type": "string" +}, +"servingConfigs": { +"description": "All the ServingConfigs for a given catalog.", +"items": { +"$ref": "GoogleCloudRetailV2alphaServingConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaLocalInventory": { +"description": "The inventory information at a place (e.g. a store) identified by a place ID.", +"id": "GoogleCloudRetailV2alphaLocalInventory", +"properties": { +"attributes": { +"additionalProperties": { +"$ref": "GoogleCloudRetailV2alphaCustomAttribute" +}, +"description": "Optional. Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB.", +"type": "object" +}, +"availability": { +"description": "Optional. The availability of the Product at this place_id. Default to Availability.IN_STOCK. For primary products with variants set the availability of the primary as Availability.OUT_OF_STOCK and set the true availability at the variant level. This way the primary product will be considered \"in stock\" as long as it has at least one variant in stock. For primary products with no variants set the true availability at the primary level. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability).", +"enum": [ +"AVAILABILITY_UNSPECIFIED", +"IN_STOCK", +"OUT_OF_STOCK", +"PREORDER", +"BACKORDER" +], +"enumDescriptions": [ +"Default product availability. Default to Availability.IN_STOCK if unset.", +"Product in stock.", +"Product out of stock.", +"Product that is in pre-order state.", +"Product that is back-ordered (i.e. temporarily out of stock)." +], +"type": "string" +}, +"fulfillmentTypes": { +"description": "Optional. Supported fulfillment types. Valid fulfillment type values include commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * \"pickup-in-store\" * \"ship-to-store\" * \"same-day-delivery\" * \"next-day-delivery\" * \"custom-type-1\" * \"custom-type-2\" * \"custom-type-3\" * \"custom-type-4\" * \"custom-type-5\" If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned.", +"items": { +"type": "string" +}, +"type": "array" +}, +"placeId": { +"description": "Required. The place ID for the current set of inventory information.", +"type": "string" +}, +"priceInfo": { +"$ref": "GoogleCloudRetailV2alphaPriceInfo", +"description": "Optional. Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371)." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaLoggingConfig": { +"description": "Project level logging config to control what level of log will be generated and written to Cloud Logging.", +"id": "GoogleCloudRetailV2alphaLoggingConfig", +"properties": { +"defaultLogGenerationRule": { +"$ref": "GoogleCloudRetailV2alphaLoggingConfigLogGenerationRule", +"description": "The log generation rule that applies by default to all services supporting log generation. It can be overridden by ServiceLogGenerationRule for service level control." +}, +"name": { +"description": "Required. Immutable. The name of the LoggingConfig singleton resource. Format: projects/*/loggingConfig", +"type": "string" +}, +"serviceLogGenerationRules": { +"description": "Controls logging configurations more granularly for each supported service. This overrides the default_log_generation_rule for the services specified. For those not mentioned, they will fallback to the default log generation rule.", +"items": { +"$ref": "GoogleCloudRetailV2alphaLoggingConfigServiceLogGenerationRule" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaLoggingConfigLogGenerationRule": { +"description": "The logging configurations for services supporting log generation.", +"id": "GoogleCloudRetailV2alphaLoggingConfigLogGenerationRule", +"properties": { +"infoLogSampleRate": { +"description": "The log sample rate for INFO level log entries. You can use this to reduce the number of entries generated for INFO level logs. DO NOT set this field if the logging_level is not LoggingLevel.LOG_ALL. Otherwise, an INVALID_ARGUMENT error is returned. Sample rate for INFO logs defaults to 1 when unset (generate and send all INFO logs to Cloud Logging). Its value must be greater than 0 and less than or equal to 1.", +"format": "float", +"type": "number" +}, +"loggingLevel": { +"description": "The logging level. By default it is set to `LOG_WARNINGS_AND_ABOVE`.", +"enum": [ +"LOGGING_LEVEL_UNSPECIFIED", +"LOGGING_DISABLED", +"LOG_ERRORS_AND_ABOVE", +"LOG_WARNINGS_AND_ABOVE", +"LOG_ALL" +], +"enumDescriptions": [ +"Default value. Defaults to `LOG_FOR_WARNINGS_AND_ABOVE` if unset.", +"No log will be generated and sent to Cloud Logging.", +"Log for operations resulted in fatal error.", +"In addition to `LOG_ERRORS_AND_ABOVE`, also log for operations that have soft errors, quality suggestions.", +"Log all operations, including successful ones." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaLoggingConfigServiceLogGenerationRule": { +"description": "The granular logging configurations for supported services.", +"id": "GoogleCloudRetailV2alphaLoggingConfigServiceLogGenerationRule", +"properties": { +"logGenerationRule": { +"$ref": "GoogleCloudRetailV2alphaLoggingConfigLogGenerationRule", +"description": "The log generation rule that applies to this service." +}, +"serviceName": { +"description": "Required. Supported service names: \"CatalogService\", \"CompletionService\", \"ControlService\", \"MerchantCenterStreaming\", \"ModelService\", \"PredictionService\", \"ProductService\", \"ServingConfigService\", \"UserEventService\",", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaMerchantCenterAccountLink": { +"description": "Represents a link between a Merchant Center account and a branch. After a link is established, products from the linked Merchant Center account are streamed to the linked branch.", +"id": "GoogleCloudRetailV2alphaMerchantCenterAccountLink", +"properties": { +"branchId": { +"description": "Required. The branch ID (e.g. 0/1/2) within the catalog that products from merchant_center_account_id are streamed to. When updating this field, an empty value will use the currently configured default branch. However, changing the default branch later on won't change the linked branch here. A single branch ID can only have one linked Merchant Center account ID.", +"type": "string" +}, +"feedFilters": { +"description": "Criteria for the Merchant Center feeds to be ingested via the link. All offers will be ingested if the list is empty. Otherwise the offers will be ingested from selected feeds.", +"items": { +"$ref": "GoogleCloudRetailV2alphaMerchantCenterAccountLinkMerchantCenterFeedFilter" +}, +"type": "array" +}, +"feedLabel": { +"description": "The FeedLabel used to perform filtering. Note: this replaces [region_id](https://developers.google.com/shopping-content/reference/rest/v2.1/products#Product.FIELDS.feed_label). Example value: `US`. Example value: `FeedLabel1`.", +"type": "string" +}, +"id": { +"description": "Output only. Immutable. MerchantCenterAccountLink identifier, which is the final component of name. This field is auto generated and follows the convention: `BranchId_MerchantCenterAccountId`. `projects/*/locations/global/catalogs/default_catalog/merchantCenterAccountLinks/id_1`.", +"readOnly": true, +"type": "string" +}, +"languageCode": { +"description": "Language of the title/description and other string attributes. Use language tags defined by [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). ISO 639-1. This specifies the language of offers in Merchant Center that will be accepted. If empty, no language filtering will be performed. Example value: `en`.", +"type": "string" +}, +"merchantCenterAccountId": { +"description": "Required. The linked [Merchant center account id](https://developers.google.com/shopping-content/guides/accountstatuses). The account must be a standalone account or a sub-account of a MCA.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "Output only. Immutable. Full resource name of the Merchant Center Account Link, such as `projects/*/locations/global/catalogs/default_catalog/merchantCenterAccountLinks/merchant_center_account_link`.", +"readOnly": true, +"type": "string" +}, +"projectId": { +"description": "Output only. Google Cloud project ID.", +"readOnly": true, +"type": "string" +}, +"source": { +"description": "Optional. An optional arbitrary string that could be used as a tag for tracking link source.", +"type": "string" +}, +"state": { +"description": "Output only. Represents the state of the link.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"ACTIVE", +"FAILED" +], +"enumDescriptions": [ +"Default value.", +"Link is created and LRO is not complete.", +"Link is active.", +"Link creation failed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaMerchantCenterAccountLinkMerchantCenterFeedFilter": { +"description": "Merchant Center Feed filter criterion.", +"id": "GoogleCloudRetailV2alphaMerchantCenterAccountLinkMerchantCenterFeedFilter", +"properties": { +"primaryFeedId": { +"description": "Merchant Center primary feed ID.", +"format": "int64", +"type": "string" +}, +"primaryFeedName": { +"description": "Merchant Center primary feed name. The name is used for the display purposes only.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaMerchantCenterFeedFilter": { +"description": "Merchant Center Feed filter criterion.", +"id": "GoogleCloudRetailV2alphaMerchantCenterFeedFilter", +"properties": { +"primaryFeedId": { +"description": "Merchant Center primary feed ID.", +"format": "int64", +"type": "string" +}, +"primaryFeedName": { +"description": "Merchant Center primary feed name. The name is used for the display purposes only.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaMerchantCenterLink": { +"description": "Represents a link between a Merchant Center account and a branch. After a link is established, products from the linked Merchant Center account are streamed to the linked branch.", +"id": "GoogleCloudRetailV2alphaMerchantCenterLink", +"properties": { +"branchId": { +"description": "The branch ID (e.g. 0/1/2) within this catalog that products from merchant_center_account_id are streamed to. When updating this field, an empty value will use the currently configured default branch. However, changing the default branch later on won't change the linked branch here. A single branch ID can only have one linked Merchant Center account ID.", +"type": "string" +}, +"destinations": { +"description": "String representing the destination to import for, all if left empty. List of possible values is given in [Included destination](https://support.google.com/merchants/answer/7501026). List of allowed string values: \"Shopping_ads\", \"Buy_on_google_listings\", \"Display_ads\", \"Local_inventory _ads\", \"Free_listings\", \"Free_local_listings\" NOTE: The string values are case sensitive.", +"items": { +"type": "string" +}, +"type": "array" +}, +"feeds": { +"description": "Criteria for the Merchant Center feeds to be ingested via the link. All offers will be ingested if the list is empty. Otherwise the offers will be ingested from selected feeds.", +"items": { +"$ref": "GoogleCloudRetailV2alphaMerchantCenterFeedFilter" +}, +"type": "array" +}, +"languageCode": { +"description": "Language of the title/description and other string attributes. Use language tags defined by [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). ISO 639-1. This specifies the language of offers in Merchant Center that will be accepted. If empty no language filtering will be performed. Example value: `en`.", +"type": "string" +}, +"merchantCenterAccountId": { +"description": "Required. The linked [Merchant Center account ID](https://developers.google.com/shopping-content/guides/accountstatuses). The account must be a standalone account or a sub-account of a MCA.", +"format": "int64", +"type": "string" +}, +"regionCode": { +"description": "Region code of offers to accept. 2-letter Uppercase ISO 3166-1 alpha-2 code. List of values can be found [here](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry) under the `region` tag. If left blank no region filtering will be performed. Example value: `US`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaMerchantCenterLinkingConfig": { +"description": "Configures Merchant Center linking. Links contained in the config will be used to sync data from a Merchant Center account to a Cloud Retail branch.", +"id": "GoogleCloudRetailV2alphaMerchantCenterLinkingConfig", +"properties": { +"links": { +"description": "Links between Merchant Center accounts and branches.", +"items": { +"$ref": "GoogleCloudRetailV2alphaMerchantCenterLink" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaModel": { +"description": "Metadata that describes the training and serving parameters of a Model. A Model can be associated with a ServingConfig and then queried through the Predict API.", +"id": "GoogleCloudRetailV2alphaModel", +"properties": { +"createTime": { +"description": "Output only. Timestamp the Recommendation Model was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataState": { +"description": "Output only. The state of data requirements for this model: `DATA_OK` and `DATA_ERROR`. Recommendation model cannot be trained if the data is in `DATA_ERROR` state. Recommendation model can have `DATA_ERROR` state even if serving state is `ACTIVE`: models were trained successfully before, but cannot be refreshed because model 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 model has sufficient training data.", +"The model does not have sufficient training data. Error messages can be queried via Stackdriver." +], +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Cloud Console Dashboard. UTF-8 encoded string with limit of 1024 characters.", +"type": "string" +}, +"filteringOption": { +"description": "Optional. If `RECOMMENDATIONS_FILTERING_ENABLED`, recommendation filtering by attributes is enabled for the model.", +"enum": [ +"RECOMMENDATIONS_FILTERING_OPTION_UNSPECIFIED", +"RECOMMENDATIONS_FILTERING_DISABLED", +"RECOMMENDATIONS_FILTERING_ENABLED" +], +"enumDescriptions": [ +"Value used when unset. In this case, server behavior defaults to RECOMMENDATIONS_FILTERING_DISABLED.", +"Recommendation filtering is disabled.", +"Recommendation filtering is enabled." +], +"type": "string" +}, +"lastTuneTime": { +"description": "Output only. The timestamp when the latest successful tune finished.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"modelFeaturesConfig": { +"$ref": "GoogleCloudRetailV2alphaModelModelFeaturesConfig", +"description": "Optional. Additional model features config." +}, +"name": { +"description": "Required. The fully qualified resource name of the model. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}` catalog_id has char limit of 50. recommendation_model_id has char limit of 40.", +"type": "string" +}, +"optimizationObjective": { +"description": "Optional. The optimization objective e.g. `cvr`. Currently supported values: `ctr`, `cvr`, `revenue-per-order`. If not specified, we choose default based on model type. Default depends on type of recommendation: `recommended-for-you` => `ctr` `others-you-may-like` => `ctr` `frequently-bought-together` => `revenue_per_order` This field together with optimization_objective describe model metadata to use to control model training and serving. See https://cloud.google.com/retail/docs/models for more details on what the model metadata control and which combination of parameters are valid. For invalid combinations of parameters (e.g. type = `frequently-bought-together` and optimization_objective = `ctr`), you receive an error 400 if you try to create/update a recommendation with this set of knobs.", +"type": "string" +}, +"pageOptimizationConfig": { +"$ref": "GoogleCloudRetailV2alphaModelPageOptimizationConfig", +"description": "Optional. The page optimization config." +}, +"periodicTuningState": { +"description": "Optional. The state of periodic tuning. The period we use is 3 months - to do a one-off tune earlier use the `TuneModel` method. Default value is `PERIODIC_TUNING_ENABLED`.", +"enum": [ +"PERIODIC_TUNING_STATE_UNSPECIFIED", +"PERIODIC_TUNING_DISABLED", +"ALL_TUNING_DISABLED", +"PERIODIC_TUNING_ENABLED" +], +"enumDescriptions": [ +"Unspecified default value, should never be explicitly set.", +"The model has periodic tuning disabled. Tuning can be reenabled by calling the `EnableModelPeriodicTuning` method or by calling the `TuneModel` method.", +"The model cannot be tuned with periodic tuning OR the `TuneModel` method. Hide the options in customer UI and reject any requests through the backend self serve API.", +"The model has periodic tuning enabled. Tuning can be disabled by calling the `DisableModelPeriodicTuning` method." +], +"type": "string" +}, +"servingConfigLists": { +"description": "Output only. The list of valid serving configs associated with the PageOptimizationConfig.", +"items": { +"$ref": "GoogleCloudRetailV2alphaModelServingConfigList" +}, +"readOnly": true, +"type": "array" +}, +"servingState": { +"description": "Output only. The serving state of the model: `ACTIVE`, `NOT_ACTIVE`.", +"enum": [ +"SERVING_STATE_UNSPECIFIED", +"INACTIVE", +"ACTIVE", +"TUNED" +], +"enumDescriptions": [ +"Unspecified serving state.", +"The model is not serving.", +"The model is serving and can be queried.", +"The model is trained on tuned hyperparameters and can be queried." +], +"readOnly": true, +"type": "string" +}, +"trainingState": { +"description": "Optional. The training state that the model 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 model in order to control cost. If not specified: the default value for `CreateModel` method is `TRAINING`. The default value for `UpdateModel` method is to keep the state the same as before.", +"enum": [ +"TRAINING_STATE_UNSPECIFIED", +"PAUSED", +"TRAINING" +], +"enumDescriptions": [ +"Unspecified training state.", +"The model training is paused.", +"The model is training." +], +"type": "string" +}, +"tuningOperation": { +"description": "Output only. The tune operation associated with the model. Can be used to determine if there is an ongoing tune for this recommendation. Empty field implies no tune is goig on.", +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Required. The type of model e.g. `home-page`. Currently supported values: `recommended-for-you`, `others-you-may-like`, `frequently-bought-together`, `page-optimization`, `similar-items`, `buy-it-again`, `on-sale-items`, and `recently-viewed`(readonly value). This field together with optimization_objective describe model metadata to use to control model training and serving. See https://cloud.google.com/retail/docs/models for more details on what the model metadata control and which combination of parameters are valid. For invalid combinations of parameters (e.g. type = `frequently-bought-together` and optimization_objective = `ctr`), you receive an error 400 if you try to create/update a recommendation with this set of knobs.", +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp the Recommendation Model was last updated. E.g. if a Recommendation Model was paused - this would be the time the pause was initiated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaModelFrequentlyBoughtTogetherFeaturesConfig": { +"description": "Additional configs for the frequently-bought-together model type.", +"id": "GoogleCloudRetailV2alphaModelFrequentlyBoughtTogetherFeaturesConfig", +"properties": { +"contextProductsType": { +"description": "Optional. Specifies the context of the model when it is used in predict requests. Can only be set for the `frequently-bought-together` type. If it isn't specified, it defaults to MULTIPLE_CONTEXT_PRODUCTS.", +"enum": [ +"CONTEXT_PRODUCTS_TYPE_UNSPECIFIED", +"SINGLE_CONTEXT_PRODUCT", +"MULTIPLE_CONTEXT_PRODUCTS" +], +"enumDescriptions": [ +"Unspecified default value, should never be explicitly set. Defaults to MULTIPLE_CONTEXT_PRODUCTS.", +"Use only a single product as context for the recommendation. Typically used on pages like add-to-cart or product details.", +"Use one or multiple products as context for the recommendation. Typically used on shopping cart pages." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaModelModelFeaturesConfig": { +"description": "Additional model features config.", +"id": "GoogleCloudRetailV2alphaModelModelFeaturesConfig", +"properties": { +"frequentlyBoughtTogetherConfig": { +"$ref": "GoogleCloudRetailV2alphaModelFrequentlyBoughtTogetherFeaturesConfig", +"description": "Additional configs for frequently-bought-together models." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaModelPageOptimizationConfig": { +"description": "The PageOptimizationConfig for model training. This determines how many panels to optimize for, and which serving configs to consider for each panel. The purpose of this model is to optimize which ServingConfig to show on which panels in way that optimizes the visitors shopping journey.", +"id": "GoogleCloudRetailV2alphaModelPageOptimizationConfig", +"properties": { +"pageOptimizationEventType": { +"description": "Required. The type of UserEvent this page optimization is shown for. Each page has an associated event type - this will be the corresponding event type for the page that the page optimization model is used on. Supported types: * `add-to-cart`: Products being added to cart. * `detail-page-view`: Products detail page viewed. * `home-page-view`: Homepage viewed * `category-page-view`: Homepage viewed * `shopping-cart-page-view`: User viewing a shopping cart. `home-page-view` only allows models with type `recommended-for-you`. All other page_optimization_event_type allow all Model.types.", +"type": "string" +}, +"panels": { +"description": "Required. A list of panel configurations. Limit = 5.", +"items": { +"$ref": "GoogleCloudRetailV2alphaModelPageOptimizationConfigPanel" +}, +"type": "array" +}, +"restriction": { +"description": "Optional. How to restrict results across panels e.g. can the same ServingConfig be shown on multiple panels at once. If unspecified, default to `UNIQUE_MODEL_RESTRICTION`.", +"enum": [ +"RESTRICTION_UNSPECIFIED", +"NO_RESTRICTION", +"UNIQUE_SERVING_CONFIG_RESTRICTION", +"UNIQUE_MODEL_RESTRICTION", +"UNIQUE_MODEL_TYPE_RESTRICTION" +], +"enumDescriptions": [ +"Unspecified value for restriction.", +"Allow any ServingConfig to be show on any number of panels. Example: `Panel1 candidates`: pdp_ctr, pdp_cvr, home_page_ctr_no_diversity `Panel2 candidates`: home_page_ctr_no_diversity, home_page_ctr_diversity, pdp_cvr_no_diversity `Restriction` = NO_RESTRICTION `Valid combinations`: * * (pdp_ctr, home_page_ctr_no_diversity) * (pdp_ctr, home_page_ctr_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_cvr, home_page_ctr_no_diversity) * (pdp_cvr, home_page_ctr_diversity) * (pdp_cvr, pdp_cvr_no_diversity) * (home_page_ctr_no_diversity, home_page_ctr_no_diversity) * (home_page_ctr_no_diversity, home_page_ctr_diversity) * (home_page_ctr_no_diversity, pdp_cvr_no_diversity) * `Invalid combinations`: []", +"Do not allow the same ServingConfig.name to be shown on multiple panels. Example: `Panel1 candidates`: * pdp_ctr, pdp_cvr, home_page_ctr_no_diversity * `Panel2 candidates`: * home_page_ctr_no_diversity, home_page_ctr_diversity_low, pdp_cvr_no_diversity * `Restriction` = `UNIQUE_SERVING_CONFIG_RESTRICTION` `Valid combinations`: * * (pdp_ctr, home_page_ctr_no_diversity) * (pdp_ctr, home_page_ctr_diversity_low) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_cvr, home_page_ctr_no_diversity) * (pdp_cvr, home_page_ctr_diversity_low) * (pdp_cvr, pdp_cvr_no_diversity) * (home_page_ctr_no_diversity, home_page_ctr_diversity_low) * (home_page_ctr_no_diversity, pdp_cvr_no_diversity) * `Invalid combinations`: * * (home_page_ctr_no_diversity, home_page_ctr_no_diversity) *", +"Do not allow multiple ServingConfigs with same Model.name to be show on on different panels. Example: `Panel1 candidates`: * pdp_ctr, pdp_cvr, home_page_ctr_no_diversity * `Panel2 candidates`: * home_page_ctr_no_diversity, home_page_ctr_diversity_low, pdp_cvr_no_diversity * `Restriction` = `UNIQUE_MODEL_RESTRICTION` `Valid combinations`: * * (pdp_ctr, home_page_ctr_no_diversity) * (pdp_ctr, home_page_ctr_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_cvr, home_page_ctr_no_diversity) * (pdp_cvr, home_page_ctr_diversity_low) * (home_page_ctr_no_diversity, pdp_cvr_no_diversity) * `Invalid combinations`: * * (home_page_ctr_no_diversity, home_page_ctr_no_diversity) * (pdp_cvr, pdp_cvr_no_diversity) *", +"Do not allow multiple ServingConfigs with same Model.type to be shown on different panels. Example: `Panel1 candidates`: * pdp_ctr, pdp_cvr, home_page_ctr_no_diversity * `Panel2 candidates`: * home_page_ctr_no_diversity, home_page_ctr_diversity_low, pdp_cvr_no_diversity * `Restriction` = `UNIQUE_MODEL_RESTRICTION` `Valid combinations`: * * (pdp_ctr, home_page_ctr_no_diversity) * (pdp_ctr, home_page_ctr_diversity) * (pdp_cvr, home_page_ctr_no_diversity) * (pdp_cvr, home_page_ctr_diversity_low) * (home_page_ctr_no_diversity, pdp_cvr_no_diversity) * `Invalid combinations`: * * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_cvr, pdp_cvr_no_diversity) * (home_page_ctr_no_diversity, home_page_ctr_no_diversity) * (home_page_ctr_no_diversity, home_page_ctr_diversity) *" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaModelPageOptimizationConfigCandidate": { +"description": "A candidate to consider for a given panel. Currently only ServingConfig are valid candidates.", +"id": "GoogleCloudRetailV2alphaModelPageOptimizationConfigCandidate", +"properties": { +"servingConfigId": { +"description": "This has to be a valid ServingConfig identifier. For example, for a ServingConfig with full name: `projects/*/locations/global/catalogs/default_catalog/servingConfigs/my_candidate_config`, this would be `my_candidate_config`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaModelPageOptimizationConfigPanel": { +"description": "An individual panel with a list of ServingConfigs to consider for it.", +"id": "GoogleCloudRetailV2alphaModelPageOptimizationConfigPanel", +"properties": { +"candidates": { +"description": "Required. The candidates to consider on the panel.", +"items": { +"$ref": "GoogleCloudRetailV2alphaModelPageOptimizationConfigCandidate" +}, +"type": "array" +}, +"defaultCandidate": { +"$ref": "GoogleCloudRetailV2alphaModelPageOptimizationConfigCandidate", +"description": "Required. The default candidate. If the model fails at serving time, we fall back to the default." +}, +"displayName": { +"description": "Optional. The name to display for the panel.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaModelServingConfigList": { +"description": "Represents an ordered combination of valid serving configs, which can be used for `PAGE_OPTIMIZATION` recommendations.", +"id": "GoogleCloudRetailV2alphaModelServingConfigList", +"properties": { +"servingConfigIds": { +"description": "Optional. A set of valid serving configs that may be used for `PAGE_OPTIMIZATION`.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaOutputConfig": { +"description": "The output configuration setting.", +"id": "GoogleCloudRetailV2alphaOutputConfig", +"properties": { +"bigqueryDestination": { +"$ref": "GoogleCloudRetailV2alphaOutputConfigBigQueryDestination", +"description": "The BigQuery location where the output is to be written to." +}, +"gcsDestination": { +"$ref": "GoogleCloudRetailV2alphaOutputConfigGcsDestination", +"description": "The Google Cloud Storage location where the output is to be written to." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaOutputConfigBigQueryDestination": { +"description": "The BigQuery output destination configuration.", +"id": "GoogleCloudRetailV2alphaOutputConfigBigQueryDestination", +"properties": { +"datasetId": { +"description": "Required. The ID of a BigQuery Dataset.", +"type": "string" +}, +"tableIdPrefix": { +"description": "Required. The prefix of exported BigQuery tables.", +"type": "string" +}, +"tableType": { +"description": "Required. Describes the table type. The following values are supported: * `table`: A BigQuery native table. * `view`: A virtual table defined by a SQL query.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaOutputConfigGcsDestination": { +"description": "The Google Cloud Storage output destination configuration.", +"id": "GoogleCloudRetailV2alphaOutputConfigGcsDestination", +"properties": { +"outputUriPrefix": { +"description": "Required. The output uri prefix for saving output data to json files. Some mapping examples are as follows: output_uri_prefix sample output(assuming the object is foo.json) ======================== ============================================= gs://bucket/ gs://bucket/foo.json gs://bucket/folder/ gs://bucket/folder/foo.json gs://bucket/folder/item_ gs://bucket/folder/item_foo.json", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaOutputResult": { +"description": "Output result that stores the information about where the exported data is stored.", +"id": "GoogleCloudRetailV2alphaOutputResult", +"properties": { +"bigqueryResult": { +"description": "The BigQuery location where the result is stored.", +"items": { +"$ref": "GoogleCloudRetailV2alphaBigQueryOutputResult" +}, +"type": "array" +}, +"gcsResult": { +"description": "The Google Cloud Storage location where the result is stored.", +"items": { +"$ref": "GoogleCloudRetailV2alphaGcsOutputResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaPauseModelRequest": { +"description": "Request for pausing training of a model.", +"id": "GoogleCloudRetailV2alphaPauseModelRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2alphaPinControlMetadata": { +"description": "Metadata for pinning to be returned in the response. This is used for distinguishing between applied vs dropped pins.", +"id": "GoogleCloudRetailV2alphaPinControlMetadata", +"properties": { +"allMatchedPins": { +"additionalProperties": { +"$ref": "GoogleCloudRetailV2alphaPinControlMetadataProductPins" +}, +"description": "Map of all matched pins, keyed by pin position.", +"type": "object" +}, +"droppedPins": { +"additionalProperties": { +"$ref": "GoogleCloudRetailV2alphaPinControlMetadataProductPins" +}, +"description": "Map of pins that were dropped due to overlap with other matching pins, keyed by pin position.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaPinControlMetadataProductPins": { +"description": "List of product ids which have associated pins.", +"id": "GoogleCloudRetailV2alphaPinControlMetadataProductPins", +"properties": { +"productId": { +"description": "List of product ids which have associated pins.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaPredictRequest": { +"description": "Request message for Predict method.", +"id": "GoogleCloudRetailV2alphaPredictRequest", +"properties": { +"filter": { +"description": "Filter for restricting prediction results with a length limit of 5,000 characters. Accepts values for tags and the `filterOutOfStockItems` flag. * Tag expressions. Restricts predictions to products that match all of the specified tags. Boolean operators `OR` and `NOT` are supported if the expression is enclosed in parentheses, and must be separated from the tag values by a space. `-\"tagA\"` is also supported and is equivalent to `NOT \"tagA\"`. Tag values must be double quoted UTF-8 encoded strings with a size limit of 1,000 characters. Note: \"Recently viewed\" models don't support tag filtering at the moment. * filterOutOfStockItems. Restricts predictions to products that do not have a stockState value of OUT_OF_STOCK. Examples: * tag=(\"Red\" OR \"Blue\") tag=\"New-Arrival\" tag=(NOT \"promotional\") * filterOutOfStockItems tag=(-\"promotional\") * filterOutOfStockItems If your filter blocks all prediction results, the API will return *no* results. If instead you want empty result sets to return generic (unfiltered) popular products, set `strictFiltering` to False in `PredictRequest.params`. Note that the API will never return items with storageStatus of \"EXPIRED\" or \"DELETED\" regardless of filter choices. If `filterSyntaxV2` is set to true under the `params` field, then attribute-based expressions are expected instead of the above described tag-based syntax. Examples: * (colors: ANY(\"Red\", \"Blue\")) AND NOT (categories: ANY(\"Phones\")) * (availability: ANY(\"IN_STOCK\")) AND (colors: ANY(\"Red\") OR categories: ANY(\"Phones\")) For more information, see [Filter recommendations](https://cloud.google.com/retail/docs/filter-recs).", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The 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" +}, +"pageSize": { +"description": "Maximum number of results to return. Set this property to the number of prediction results needed. If zero, the service will choose a reasonable default. The maximum allowed value is 100. Values above 100 will be coerced to 100.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"deprecated": true, +"description": "This field is not used; leave it unset.", +"type": "string" +}, +"params": { +"additionalProperties": { +"type": "any" +}, +"description": "Additional domain specific parameters for the predictions. Allowed values: * `returnProduct`: Boolean. If set to true, the associated product object will be returned in the `results.metadata` field in the prediction response. * `returnScore`: Boolean. If set to true, the prediction 'score' corresponding to each returned product will be set in the `results.metadata` field in the prediction response. The given 'score' indicates the probability of a product being clicked/purchased given the user's context and history. * `strictFiltering`: Boolean. True by default. If set to false, the service will return generic (unfiltered) popular products instead of empty if your filter blocks all prediction results. * `priceRerankLevel`: String. Default empty. If set to be non-empty, then it needs to be one of {'no-price-reranking', 'low-price-reranking', 'medium-price-reranking', 'high-price-reranking'}. This gives request-level control and adjusts prediction results based on product price. * `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 prediction results based on product category. * `filterSyntaxV2`: Boolean. False by default. If set to true, the `filter` field is interpreteted according to the new, attribute-based syntax.", +"type": "object" +}, +"userEvent": { +"$ref": "GoogleCloudRetailV2alphaUserEvent", +"description": "Required. Context about the user, what they are looking at and what action they took to trigger the predict 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.visitor_id or UserInfo.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.visitor_id to a random unique ID and leave UserInfo.user_id unset." +}, +"validateOnly": { +"description": "Use validate only mode for this prediction query. If set to true, a dummy model will be used that returns arbitrary products. 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" +}, +"GoogleCloudRetailV2alphaPredictResponse": { +"description": "Response message for predict method.", +"id": "GoogleCloudRetailV2alphaPredictResponse", +"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 products in the request that were missing from the inventory.", +"items": { +"type": "string" +}, +"type": "array" +}, +"results": { +"description": "A list of recommended products. The order represents the ranking (from the most relevant product to the least).", +"items": { +"$ref": "GoogleCloudRetailV2alphaPredictResponsePredictionResult" +}, +"type": "array" +}, +"validateOnly": { +"description": "True if the validateOnly property was set in the request.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaPredictResponsePredictionResult": { +"description": "PredictionResult represents the recommendation prediction results.", +"id": "GoogleCloudRetailV2alphaPredictResponsePredictionResult", +"properties": { +"id": { +"description": "ID of the recommended product", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"type": "any" +}, +"description": "Additional product metadata / annotations. Possible values: * `product`: JSON representation of the product. Is set if `returnProduct` is set to true in `PredictRequest.params`. * `score`: Prediction score in double value. Is set if `returnScore` is set to true in `PredictRequest.params`.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaPriceInfo": { +"description": "The price information of a Product.", +"id": "GoogleCloudRetailV2alphaPriceInfo", +"properties": { +"cost": { +"description": "The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).", +"format": "float", +"type": "number" +}, +"currencyCode": { +"description": "The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.", +"type": "string" +}, +"originalPrice": { +"description": "Price of the product without any discount. If zero, by default set to be the price. If set, original_price should be greater than or equal to price, otherwise an INVALID_ARGUMENT error is thrown.", +"format": "float", +"type": "number" +}, +"price": { +"description": "Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).", +"format": "float", +"type": "number" +}, +"priceEffectiveTime": { +"description": "The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.", +"format": "google-datetime", +"type": "string" +}, +"priceExpireTime": { +"description": "The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.", +"format": "google-datetime", +"type": "string" +}, +"priceRange": { +"$ref": "GoogleCloudRetailV2alphaPriceInfoPriceRange", +"description": "Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaPriceInfoPriceRange": { +"description": "The price range of all variant Product having the same Product.primary_product_id.", +"id": "GoogleCloudRetailV2alphaPriceInfoPriceRange", +"properties": { +"originalPrice": { +"$ref": "GoogleCloudRetailV2alphaInterval", +"description": "The inclusive Product.pricing_info.original_price internal of all variant Product having the same Product.primary_product_id." +}, +"price": { +"$ref": "GoogleCloudRetailV2alphaInterval", +"description": "The inclusive Product.pricing_info.price interval of all variant Product having the same Product.primary_product_id." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaProduct": { +"description": "Product captures all metadata information of items to be recommended or searched.", +"id": "GoogleCloudRetailV2alphaProduct", +"properties": { +"attributes": { +"additionalProperties": { +"$ref": "GoogleCloudRetailV2alphaCustomAttribute" +}, +"description": "Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ \"vendor\": {\"text\": [\"vendor123\", \"vendor456\"]}, \"lengths_cm\": {\"numbers\":[2.3, 15.4]}, \"heights_cm\": {\"numbers\":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed.", +"type": "object" +}, +"audience": { +"$ref": "GoogleCloudRetailV2alphaAudience", +"description": "The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product." +}, +"availability": { +"description": "The online availability of the Product. Default to Availability.IN_STOCK. For primary products with variants set the availability of the primary as Availability.OUT_OF_STOCK and set the true availability at the variant level. This way the primary product will be considered \"in stock\" as long as it has at least one variant in stock. For primary products with no variants set the true availability at the primary level. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability).", +"enum": [ +"AVAILABILITY_UNSPECIFIED", +"IN_STOCK", +"OUT_OF_STOCK", +"PREORDER", +"BACKORDER" +], +"enumDescriptions": [ +"Default product availability. Default to Availability.IN_STOCK if unset.", +"Product in stock.", +"Product out of stock.", +"Product that is in pre-order state.", +"Product that is back-ordered (i.e. temporarily out of stock)." +], +"type": "string" +}, +"availableQuantity": { +"description": "The available quantity of the item.", +"format": "int32", +"type": "integer" +}, +"availableTime": { +"description": "The timestamp when this Product becomes available for SearchService.Search. Note that this is only applicable to Type.PRIMARY and Type.COLLECTION, and ignored for Type.VARIANT.", +"format": "google-datetime", +"type": "string" +}, +"brands": { +"description": "The brands of the product. A maximum of 30 brands are allowed unless overridden through the Google Cloud console. Each brand must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property [brand](https://support.google.com/merchants/answer/6324351). Schema.org property [Product.brand](https://schema.org/brand).", +"items": { +"type": "string" +}, +"type": "array" +}, +"categories": { +"description": "Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. 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). For example, if a shoes product belongs to both [\"Shoes & Accessories\" -> \"Shoes\"] and [\"Sports & Fitness\" -> \"Athletic Clothing\" -> \"Shoes\"], it could be represented as: \"categories\": [ \"Shoes & Accessories > Shoes\", \"Sports & Fitness > Athletic Clothing > Shoes\" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product unless overridden through the Google Cloud console. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436", +"items": { +"type": "string" +}, +"type": "array" +}, +"collectionMemberIds": { +"description": "The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return.", +"items": { +"type": "string" +}, +"type": "array" +}, +"colorInfo": { +"$ref": "GoogleCloudRetailV2alphaColorInfo", +"description": "The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color)." +}, +"conditions": { +"description": "The condition of the product. Strongly encouraged to use the standard values: \"new\", \"refurbished\", \"used\". A maximum of 1 value is allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property [condition](https://support.google.com/merchants/answer/6324469). Schema.org property [Offer.itemCondition](https://schema.org/itemCondition).", +"items": { +"type": "string" +}, +"type": "array" +}, +"description": { +"description": "Product description. This field must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property [description](https://support.google.com/merchants/answer/6324468). Schema.org property [Product.description](https://schema.org/description).", +"type": "string" +}, +"expireTime": { +"description": "Note that this field is applied in the following ways: * If the Product is already expired when it is uploaded, this product is not indexed for search. * If the Product is not expired when it is uploaded, only the Type.PRIMARY's and Type.COLLECTION's expireTime is respected, and Type.VARIANT's expireTime is not used. In general, we suggest the users to delete the stale products explicitly, instead of using this field to determine staleness. expire_time must be later than available_time and publish_time, otherwise an INVALID_ARGUMENT error is thrown. Corresponding properties: Google Merchant Center property [expiration_date](https://support.google.com/merchants/answer/6324499).", +"format": "google-datetime", +"type": "string" +}, +"fulfillmentInfo": { +"description": "Fulfillment information, such as the store IDs for in-store pickup or region IDs for different shipping methods. All the elements must have distinct FulfillmentInfo.type. Otherwise, an INVALID_ARGUMENT error is returned.", +"items": { +"$ref": "GoogleCloudRetailV2alphaFulfillmentInfo" +}, +"type": "array" +}, +"gtin": { +"description": "The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn), [Product.gtin8](https://schema.org/gtin8), [Product.gtin12](https://schema.org/gtin12), [Product.gtin13](https://schema.org/gtin13), or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.", +"type": "string" +}, +"id": { +"description": "Immutable. Product identifier, which is the final component of name. For example, this field is \"id_1\", if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org property [Product.sku](https://schema.org/sku).", +"type": "string" +}, +"images": { +"description": "Product images for the product. We highly recommend putting the main image first. A maximum of 300 images are allowed. Corresponding properties: Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).", +"items": { +"$ref": "GoogleCloudRetailV2alphaImage" +}, +"type": "array" +}, +"languageCode": { +"description": "Language of the title/description and other string attributes. Use language tags defined by [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to \"en-US\" if unset.", +"type": "string" +}, +"localInventories": { +"description": "Output only. A list of local inventories specific to different places. This field can be managed by ProductService.AddLocalInventories and ProductService.RemoveLocalInventories APIs if fine-grained, high-volume updates are necessary.", +"items": { +"$ref": "GoogleCloudRetailV2alphaLocalInventory" +}, +"readOnly": true, +"type": "array" +}, +"materials": { +"description": "The material of the product. For example, \"leather\", \"wooden\". A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 200 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`.", +"type": "string" +}, +"patterns": { +"description": "The pattern or graphic print of the product. For example, \"striped\", \"polka dot\", \"paisley\". A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).", +"items": { +"type": "string" +}, +"type": "array" +}, +"priceInfo": { +"$ref": "GoogleCloudRetailV2alphaPriceInfo", +"description": "Product price and cost information. Corresponding properties: Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371)." +}, +"primaryProductId": { +"description": "Variant group identifier. Must be an id, with the same parent branch with this product. Otherwise, an error is thrown. For Type.PRIMARY Products, this field can only be empty or set to the same value as id. For VARIANT Products, this field cannot be empty. A maximum of 2,000 products are allowed to share the same Type.PRIMARY Product. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property [item_group_id](https://support.google.com/merchants/answer/6324507). Schema.org property [Product.inProductGroupWithID](https://schema.org/inProductGroupWithID).", +"type": "string" +}, +"promotions": { +"description": "The promotions applied to the product. A maximum of 10 values are allowed per Product. Only Promotion.promotion_id will be used, other fields will be ignored if set.", +"items": { +"$ref": "GoogleCloudRetailV2alphaPromotion" +}, +"type": "array" +}, +"publishTime": { +"description": "The timestamp when the product is published by the retailer for the first time, which indicates the freshness of the products. Note that this field is different from available_time, given it purely describes product freshness regardless of when it is available on search and recommendation.", +"format": "google-datetime", +"type": "string" +}, +"rating": { +"$ref": "GoogleCloudRetailV2alphaRating", +"description": "The rating of this product." +}, +"retrievableFields": { +"deprecated": true, +"description": "Indicates which fields in the Products are returned in SearchResponse. Supported fields for all types: * audience * availability * brands * color_info * conditions * gtin * materials * name * patterns * price_info * rating * sizes * title * uri Supported fields only for Type.PRIMARY and Type.COLLECTION: * categories * description * images Supported fields only for Type.VARIANT: * Only the first image in images To mark attributes as retrievable, include paths of the form \"attributes.key\" where \"key\" is the key of a custom attribute, as specified in attributes. For Type.PRIMARY and Type.COLLECTION, the following fields are always returned in SearchResponse by default: * name For Type.VARIANT, the following fields are always returned in by default: * name * color_info Note: Returning more fields in SearchResponse can increase response payload size and serving latency. This field is deprecated. Use the retrievable site-wide control instead.", +"format": "google-fieldmask", +"type": "string" +}, +"sizes": { +"description": "The size of the product. To represent different size systems or size types, consider using this format: [[[size_system:]size_type:]size_value]. For example, in \"US:MENS:M\", \"US\" represents size system; \"MENS\" represents size type; \"M\" represents size value. In \"GIRLS:27\", size system is empty; \"GIRLS\" represents size type; \"27\" represents size value. In \"32 inches\", both size system and size type are empty, while size value is \"32 inches\". A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property [size](https://support.google.com/merchants/answer/6324492), [size_type](https://support.google.com/merchants/answer/6324497), and [size_system](https://support.google.com/merchants/answer/6324502). Schema.org property [Product.size](https://schema.org/size).", +"items": { +"type": "string" +}, +"type": "array" +}, +"tags": { +"description": "Custom tags associated with the product. At most 250 values are allowed per Product. This value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. This tag can be used for filtering recommendation results by passing the tag as part of the PredictRequest.filter. Corresponding properties: Google Merchant Center property [custom_label_0\u20134](https://support.google.com/merchants/answer/6324473).", +"items": { +"type": "string" +}, +"type": "array" +}, +"title": { +"description": "Required. Product title. This field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property [title](https://support.google.com/merchants/answer/6324415). Schema.org property [Product.name](https://schema.org/name).", +"type": "string" +}, +"ttl": { +"description": "Input only. The TTL (time to live) of the product. Note that this is only applicable to Type.PRIMARY and Type.COLLECTION, and ignored for Type.VARIANT. In general, we suggest the users to delete the stale products explicitly, instead of using this field to determine staleness. If it is set, it must be a non-negative value, and expire_time is set as current timestamp plus ttl. The derived expire_time is returned in the output and ttl is left blank when retrieving the Product. If it is set, the product is not available for SearchService.Search after current timestamp plus ttl. However, the product can still be retrieved by ProductService.GetProduct and ProductService.ListProducts.", +"format": "google-duration", +"type": "string" +}, +"type": { +"description": "Immutable. The type of the product. Default to Catalog.product_level_config.ingestion_product_type if unset.", +"enum": [ +"TYPE_UNSPECIFIED", +"PRIMARY", +"VARIANT", +"COLLECTION" +], +"enumDescriptions": [ +"Default value. Default to Catalog.product_level_config.ingestion_product_type if unset.", +"The primary type. As the primary unit for predicting, indexing and search serving, a Type.PRIMARY Product is grouped with multiple Type.VARIANT Products.", +"The variant type. Type.VARIANT Products usually share some common attributes on the same Type.PRIMARY Products, but they have variant attributes like different colors, sizes and prices, etc.", +"The collection type. Collection products are bundled Type.PRIMARY Products or Type.VARIANT Products that are sold together, such as a jewelry set with necklaces, earrings and rings, etc." +], +"type": "string" +}, +"uri": { +"description": "Canonical URL directly linking to the product detail page. It is strongly recommended to provide a valid uri for the product, otherwise the service performance could be significantly degraded. This field must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property [link](https://support.google.com/merchants/answer/6324416). Schema.org property [Offer.url](https://schema.org/url).", +"type": "string" +}, +"variants": { +"description": "Output only. Product variants grouped together on primary product which share similar product attributes. It's automatically grouped by primary_product_id for all the product variants. Only populated for Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.", +"items": { +"$ref": "GoogleCloudRetailV2alphaProduct" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaProductAttributeInterval": { +"description": "Product attribute name and numeric interval.", +"id": "GoogleCloudRetailV2alphaProductAttributeInterval", +"properties": { +"interval": { +"$ref": "GoogleCloudRetailV2alphaInterval", +"description": "The numeric interval (e.g. [10, 20))" +}, +"name": { +"description": "The attribute name (e.g. \"length\")", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaProductAttributeValue": { +"description": "Product attribute which structured by an attribute name and value. This structure is used in conversational search filters and answers. For example, if we have `name=color` and `value=red`, this means that the color is `red`.", +"id": "GoogleCloudRetailV2alphaProductAttributeValue", +"properties": { +"name": { +"description": "The attribute name.", +"type": "string" +}, +"value": { +"description": "The attribute value.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaProductDetail": { +"description": "Detailed product information associated with a user event.", +"id": "GoogleCloudRetailV2alphaProductDetail", +"properties": { +"product": { +"$ref": "GoogleCloudRetailV2alphaProduct", +"description": "Required. Product information. Required field(s): * Product.id Optional override field(s): * Product.price_info If any supported optional fields are provided, we will treat them as a full override when looking up product information from the catalog. Thus, it is important to ensure that the overriding fields are accurate and complete. All other product fields are ignored and instead populated via catalog lookup after event ingestion." +}, +"quantity": { +"description": "Quantity of the product associated with the user event. For example, this field will be 2 if two products are added to the shopping cart for `purchase-complete` event. Required for `add-to-cart` and `purchase-complete` event types.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaProductInlineSource": { +"description": "The inline source for the input config for ImportProducts method.", +"id": "GoogleCloudRetailV2alphaProductInlineSource", +"properties": { +"products": { +"description": "Required. A list of products to update/create. Each product must have a valid Product.id. Recommended max of 100 items.", +"items": { +"$ref": "GoogleCloudRetailV2alphaProduct" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaProductInputConfig": { +"description": "The input config source for products.", +"id": "GoogleCloudRetailV2alphaProductInputConfig", +"properties": { +"bigQuerySource": { +"$ref": "GoogleCloudRetailV2alphaBigQuerySource", +"description": "BigQuery input source." +}, +"gcsSource": { +"$ref": "GoogleCloudRetailV2alphaGcsSource", +"description": "Google Cloud Storage location for the input content." +}, +"productInlineSource": { +"$ref": "GoogleCloudRetailV2alphaProductInlineSource", +"description": "The Inline source for the input content for products." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaProductLevelConfig": { +"description": "Configures what level the product should be uploaded with regards to how users will be send events and how predictions will be made.", +"id": "GoogleCloudRetailV2alphaProductLevelConfig", +"properties": { +"ingestionProductType": { +"description": "The type of Products allowed to be ingested into the catalog. Acceptable values are: * `primary` (default): You can ingest Products of all types. When ingesting a Product, its type will default to Product.Type.PRIMARY if unset. * `variant` (incompatible with Retail Search): You can only ingest Product.Type.VARIANT Products. This means Product.primary_product_id cannot be empty. If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. If this field is `variant` and merchant_center_product_id_field is `itemGroupId`, an INVALID_ARGUMENT error is returned. See [Product levels](https://cloud.google.com/retail/docs/catalog#product-levels) for more details.", +"type": "string" +}, +"merchantCenterProductIdField": { +"description": "Which field of [Merchant Center Product](/bigquery-transfer/docs/merchant-center-products-schema) should be imported as Product.id. Acceptable values are: * `offerId` (default): Import `offerId` as the product ID. * `itemGroupId`: Import `itemGroupId` as the product ID. Notice that Retail API will choose one item from the ones with the same `itemGroupId`, and use it to represent the item group. If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. If this field is `itemGroupId` and ingestion_product_type is `variant`, an INVALID_ARGUMENT error is returned. See [Product levels](https://cloud.google.com/retail/docs/catalog#product-levels) for more details.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaProject": { +"description": "Metadata that describes a Cloud Retail Project.", +"id": "GoogleCloudRetailV2alphaProject", +"properties": { +"enrolledSolutions": { +"description": "Output only. Retail API solutions that the project has enrolled.", +"items": { +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Retail Search." +], +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"name": { +"description": "Output only. Full resource name of the retail project, such as `projects/{project_id_or_number}/retailProject`.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaPromotion": { +"description": "Promotion specification.", +"id": "GoogleCloudRetailV2alphaPromotion", +"properties": { +"promotionId": { +"description": "Promotion identifier, which is the final component of name. For example, this field is \"free_gift\", if name is `projects/*/locations/global/catalogs/default_catalog/promotions/free_gift`. The value must be a UTF-8 encoded string with a length limit of 128 characters, and match the pattern: `a-zA-Z*`. For example, id0LikeThis or ID_1_LIKE_THIS. Otherwise, an INVALID_ARGUMENT error is returned. Corresponds to Google Merchant Center property [promotion_id](https://support.google.com/merchants/answer/7050148).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaPurchaseTransaction": { +"description": "A transaction represents the entire purchase transaction.", +"id": "GoogleCloudRetailV2alphaPurchaseTransaction", +"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 = revenue - tax - cost", +"format": "float", +"type": "number" +}, +"currencyCode": { +"description": "Required. Currency code. Use three-character ISO-4217 code.", +"type": "string" +}, +"id": { +"description": "The transaction ID with a length limit of 128 characters.", +"type": "string" +}, +"revenue": { +"description": "Required. Total non-zero revenue or grand total associated with the transaction. This value include shipping, tax, or other adjustments to total revenue that you want to include as part of your revenue calculations.", +"format": "float", +"type": "number" +}, +"tax": { +"description": "All the taxes associated with the transaction.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaPurgeMetadata": { +"description": "Metadata related to the progress of the Purge operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudRetailV2alphaPurgeMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2alphaPurgeProductsMetadata": { +"description": "Metadata related to the progress of the PurgeProducts operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudRetailV2alphaPurgeProductsMetadata", +"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" +}, +"GoogleCloudRetailV2alphaPurgeProductsRequest": { +"description": "Request message for PurgeProducts method.", +"id": "GoogleCloudRetailV2alphaPurgeProductsRequest", +"properties": { +"filter": { +"description": "Required. The filter string to specify the products to be deleted with a length limit of 5,000 characters. Empty string filter is not allowed. \"*\" implies delete all items in a branch. The eligible fields for filtering are: * `availability`: Double quoted Product.availability string. * `create_time` : in ISO 8601 \"zulu\" format. Supported syntax: * Comparators (\">\", \"<\", \">=\", \"<=\", \"=\"). Examples: * create_time <= \"2015-02-13T17:05:46Z\" * availability = \"IN_STOCK\" * Conjunctions (\"AND\") Examples: * create_time <= \"2015-02-13T17:05:46Z\" AND availability = \"PREORDER\" * Disjunctions (\"OR\") Examples: * create_time <= \"2015-02-13T17:05:46Z\" OR availability = \"IN_STOCK\" * Can support nested queries. Examples: * (create_time <= \"2015-02-13T17:05:46Z\" AND availability = \"PREORDER\") OR (create_time >= \"2015-02-14T13:03:32Z\" AND availability = \"IN_STOCK\") * Filter Limits: * Filter should not contain more than 6 conditions. * Max nesting depth should not exceed 2 levels. Examples queries: * Delete back order products created before a timestamp. create_time <= \"2015-02-13T17:05:46Z\" OR availability = \"BACKORDER\"", +"type": "string" +}, +"force": { +"description": "Actually perform the purge. If `force` is set to false, the method will return the expected purge count without deleting any products.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaPurgeProductsResponse": { +"description": "Response of the PurgeProductsRequest. If the long running operation is successfully done, then this message is returned by the google.longrunning.Operations.response field.", +"id": "GoogleCloudRetailV2alphaPurgeProductsResponse", +"properties": { +"purgeCount": { +"description": "The total count of products purged as a result of the operation.", +"format": "int64", +"type": "string" +}, +"purgeSample": { +"description": "A sample of the product 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" +}, +"GoogleCloudRetailV2alphaPurgeUserEventsRequest": { +"description": "Request message for PurgeUserEvents method.", +"id": "GoogleCloudRetailV2alphaPurgeUserEventsRequest", +"properties": { +"filter": { +"description": "Required. The filter string to specify the events to be deleted with a length limit of 5,000 characters. Empty string filter is not allowed. The eligible fields for filtering are: * `eventType`: Double quoted UserEvent.event_type string. * `eventTime`: in ISO 8601 \"zulu\" format. * `visitorId`: 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. 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 time range: `eventTime > \"2012-04-23T18:25:43.511Z\" eventType = \"detail-page-view\"` * Deleting all events for a specific visitor: `visitorId = \"visitor1024\"` The filtering fields are assumed to have an implicit AND.", +"type": "string" +}, +"force": { +"description": "Actually perform the purge. If `force` is set to false, the method will return the expected purge count without deleting any user events.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaPurgeUserEventsResponse": { +"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": "GoogleCloudRetailV2alphaPurgeUserEventsResponse", +"properties": { +"purgedEventsCount": { +"description": "The total count of events purged as a result of the operation.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaRating": { +"description": "The rating of a Product.", +"id": "GoogleCloudRetailV2alphaRating", +"properties": { +"averageRating": { +"description": "The average rating of the Product. The rating is scaled at 1-5. Otherwise, an INVALID_ARGUMENT error is returned.", +"format": "float", +"type": "number" +}, +"ratingCount": { +"description": "The total number of ratings. This value is independent of the value of rating_histogram. This value must be nonnegative. Otherwise, an INVALID_ARGUMENT error is returned.", +"format": "int32", +"type": "integer" +}, +"ratingHistogram": { +"description": "List of rating counts per rating value (index = rating - 1). The list is empty if there is no rating. If the list is non-empty, its size is always 5. Otherwise, an INVALID_ARGUMENT error is returned. For example, [41, 14, 13, 47, 303]. It means that the Product got 41 ratings with 1 star, 14 ratings with 2 star, and so on.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaRejoinUserEventsMetadata": { +"description": "Metadata for `RejoinUserEvents` method.", +"id": "GoogleCloudRetailV2alphaRejoinUserEventsMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2alphaRejoinUserEventsRequest": { +"description": "Request message for RejoinUserEvents method.", +"id": "GoogleCloudRetailV2alphaRejoinUserEventsRequest", +"properties": { +"userEventRejoinScope": { +"description": "The type of the user event rejoin to define the scope and range of the user events to be rejoined with the latest product catalog. Defaults to `USER_EVENT_REJOIN_SCOPE_UNSPECIFIED` if this field is not set, or set to an invalid integer value.", +"enum": [ +"USER_EVENT_REJOIN_SCOPE_UNSPECIFIED", +"JOINED_EVENTS", +"UNJOINED_EVENTS" +], +"enumDescriptions": [ +"Rejoin all events with the latest product catalog, including both joined events and unjoined events.", +"Only rejoin joined events with the latest product catalog.", +"Only rejoin unjoined events with the latest product catalog." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaRejoinUserEventsResponse": { +"description": "Response message for `RejoinUserEvents` method.", +"id": "GoogleCloudRetailV2alphaRejoinUserEventsResponse", +"properties": { +"rejoinedUserEventsCount": { +"description": "Number of user events that were joined with latest product catalog.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaRemoveCatalogAttributeRequest": { +"description": "Request for CatalogService.RemoveCatalogAttribute method.", +"id": "GoogleCloudRetailV2alphaRemoveCatalogAttributeRequest", +"properties": { +"key": { +"description": "Required. The attribute name key of the CatalogAttribute to remove.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaRemoveControlRequest": { +"description": "Request for RemoveControl method.", +"id": "GoogleCloudRetailV2alphaRemoveControlRequest", +"properties": { +"controlId": { +"description": "Required. The id of the control to apply. Assumed to be in the same catalog as the serving config.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaRemoveFulfillmentPlacesMetadata": { +"description": "Metadata related to the progress of the RemoveFulfillmentPlaces operation. Currently empty because there is no meaningful metadata populated from the ProductService.RemoveFulfillmentPlaces method.", +"id": "GoogleCloudRetailV2alphaRemoveFulfillmentPlacesMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2alphaRemoveFulfillmentPlacesRequest": { +"description": "Request message for ProductService.RemoveFulfillmentPlaces method.", +"id": "GoogleCloudRetailV2alphaRemoveFulfillmentPlacesRequest", +"properties": { +"allowMissing": { +"description": "If set to true, and the Product is not found, the fulfillment information will still be processed and retained for at most 1 day and processed once the Product is created. If set to false, a NOT_FOUND error is returned if the Product is not found.", +"type": "boolean" +}, +"placeIds": { +"description": "Required. The IDs for this type, such as the store IDs for \"pickup-in-store\" or the region IDs for \"same-day-delivery\", to be removed for this type. At least 1 value is required, and a maximum of 2000 values are allowed. Each value must be a string with a length limit of 10 characters, matching the pattern `[a-zA-Z0-9_-]+`, such as \"store1\" or \"REGION-2\". Otherwise, an INVALID_ARGUMENT error is returned.", +"items": { +"type": "string" +}, +"type": "array" +}, +"removeTime": { +"description": "The time when the fulfillment updates are issued, used to prevent out-of-order updates on fulfillment information. If not provided, the internal system time will be used.", +"format": "google-datetime", +"type": "string" +}, +"type": { +"description": "Required. The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Supported values: * \"pickup-in-store\" * \"ship-to-store\" * \"same-day-delivery\" * \"next-day-delivery\" * \"custom-type-1\" * \"custom-type-2\" * \"custom-type-3\" * \"custom-type-4\" * \"custom-type-5\" If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. This field directly corresponds to Product.fulfillment_info.type.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaRemoveFulfillmentPlacesResponse": { +"description": "Response of the RemoveFulfillmentPlacesRequest. Currently empty because there is no meaningful response populated from the ProductService.RemoveFulfillmentPlaces method.", +"id": "GoogleCloudRetailV2alphaRemoveFulfillmentPlacesResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2alphaRemoveLocalInventoriesMetadata": { +"description": "Metadata related to the progress of the RemoveLocalInventories operation. Currently empty because there is no meaningful metadata populated from the ProductService.RemoveLocalInventories method.", +"id": "GoogleCloudRetailV2alphaRemoveLocalInventoriesMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2alphaRemoveLocalInventoriesRequest": { +"description": "Request message for ProductService.RemoveLocalInventories method.", +"id": "GoogleCloudRetailV2alphaRemoveLocalInventoriesRequest", +"properties": { +"allowMissing": { +"description": "If set to true, and the Product is not found, the local inventory removal request will still be processed and retained for at most 1 day and processed once the Product is created. If set to false, a NOT_FOUND error is returned if the Product is not found.", +"type": "boolean" +}, +"placeIds": { +"description": "Required. A list of place IDs to have their inventory deleted. At most 3000 place IDs are allowed per request.", +"items": { +"type": "string" +}, +"type": "array" +}, +"removeTime": { +"description": "The time when the inventory deletions are issued. Used to prevent out-of-order updates and deletions on local inventory fields. If not provided, the internal system time will be used.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaRemoveLocalInventoriesResponse": { +"description": "Response of the ProductService.RemoveLocalInventories API. Currently empty because there is no meaningful response populated from the ProductService.RemoveLocalInventories method.", +"id": "GoogleCloudRetailV2alphaRemoveLocalInventoriesResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2alphaReplaceCatalogAttributeRequest": { +"description": "Request for CatalogService.ReplaceCatalogAttribute method.", +"id": "GoogleCloudRetailV2alphaReplaceCatalogAttributeRequest", +"properties": { +"catalogAttribute": { +"$ref": "GoogleCloudRetailV2alphaCatalogAttribute", +"description": "Required. The updated CatalogAttribute." +}, +"updateMask": { +"description": "Indicates which fields in the provided CatalogAttribute to update. The following are NOT supported: * CatalogAttribute.key If not set, all supported fields are updated.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaResumeModelRequest": { +"description": "Request for resuming training of a model.", +"id": "GoogleCloudRetailV2alphaResumeModelRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2alphaRule": { +"description": "A rule is a condition-action pair * A condition defines when a rule is to be triggered. * An action specifies what occurs on that trigger. Currently rules only work for controls with SOLUTION_TYPE_SEARCH.", +"id": "GoogleCloudRetailV2alphaRule", +"properties": { +"boostAction": { +"$ref": "GoogleCloudRetailV2alphaRuleBoostAction", +"description": "A boost action." +}, +"condition": { +"$ref": "GoogleCloudRetailV2alphaCondition", +"description": "Required. The condition that triggers the rule. If the condition is empty, the rule will always apply." +}, +"doNotAssociateAction": { +"$ref": "GoogleCloudRetailV2alphaRuleDoNotAssociateAction", +"description": "Prevents term from being associated with other terms." +}, +"filterAction": { +"$ref": "GoogleCloudRetailV2alphaRuleFilterAction", +"description": "Filters results." +}, +"forceReturnFacetAction": { +"$ref": "GoogleCloudRetailV2alphaRuleForceReturnFacetAction", +"description": "Force returns an attribute as a facet in the request." +}, +"ignoreAction": { +"$ref": "GoogleCloudRetailV2alphaRuleIgnoreAction", +"description": "Ignores specific terms from query during search." +}, +"onewaySynonymsAction": { +"$ref": "GoogleCloudRetailV2alphaRuleOnewaySynonymsAction", +"description": "Treats specific term as a synonym with a group of terms. Group of terms will not be treated as synonyms with the specific term." +}, +"pinAction": { +"$ref": "GoogleCloudRetailV2alphaRulePinAction", +"description": "Pins one or more specified products to a specific position in the results." +}, +"redirectAction": { +"$ref": "GoogleCloudRetailV2alphaRuleRedirectAction", +"description": "Redirects a shopper to a specific page." +}, +"removeFacetAction": { +"$ref": "GoogleCloudRetailV2alphaRuleRemoveFacetAction", +"description": "Remove an attribute as a facet in the request (if present)." +}, +"replacementAction": { +"$ref": "GoogleCloudRetailV2alphaRuleReplacementAction", +"description": "Replaces specific terms in the query." +}, +"twowaySynonymsAction": { +"$ref": "GoogleCloudRetailV2alphaRuleTwowaySynonymsAction", +"description": "Treats a set of terms as synonyms of one another." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaRuleBoostAction": { +"description": "A boost action to apply to results matching condition specified above.", +"id": "GoogleCloudRetailV2alphaRuleBoostAction", +"properties": { +"boost": { +"description": "Strength of the condition boost, which must be in [-1, 1]. Negative boost means demotion. Default is 0.0. Setting to 1.0 gives the item a big promotion. However, it does not necessarily mean that the boosted item will be the top result at all times, nor that other items 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 items. Setting to -1.0 gives the item a big demotion. However, results that are deeply relevant might still be shown. The item 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.", +"format": "float", +"type": "number" +}, +"productsFilter": { +"description": "The filter can have a max size of 5000 characters. An expression which specifies which products to apply an action to. The syntax and supported fields are the same as a filter expression. See SearchRequest.filter for detail syntax and limitations. Examples: * To boost products with product ID \"product_1\" or \"product_2\", and color \"Red\" or \"Blue\": *(id: ANY(\"product_1\", \"product_2\")) * *AND * *(colorFamilies: ANY(\"Red\", \"Blue\")) *", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaRuleDoNotAssociateAction": { +"description": "Prevents `query_term` from being associated with specified terms during search. Example: Don't associate \"gShoe\" and \"cheap\".", +"id": "GoogleCloudRetailV2alphaRuleDoNotAssociateAction", +"properties": { +"doNotAssociateTerms": { +"description": "Cannot contain duplicates or the query term. Can specify up to 100 terms.", +"items": { +"type": "string" +}, +"type": "array" +}, +"queryTerms": { +"description": "Terms from the search query. Will not consider do_not_associate_terms for search if in search query. Can specify up to 100 terms.", +"items": { +"type": "string" +}, +"type": "array" +}, +"terms": { +"description": "Will be [deprecated = true] post migration;", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaRuleFilterAction": { +"description": "* Rule Condition: - No Condition.query_terms provided is a global match. - 1 or more Condition.query_terms provided are combined with OR operator. * Action Input: The request query and filter that are applied to the retrieved products, in addition to any filters already provided with the SearchRequest. The AND operator is used to combine the query's existing filters with the filter rule(s). NOTE: May result in 0 results when filters conflict. * Action Result: Filters the returned objects to be ONLY those that passed the filter.", +"id": "GoogleCloudRetailV2alphaRuleFilterAction", +"properties": { +"filter": { +"description": "A filter to apply on the matching condition results. Supported features: * filter must be set. * Filter syntax is identical to SearchRequest.filter. For more information, see [Filter](/retail/docs/filter-and-order#filter). * To filter products with product ID \"product_1\" or \"product_2\", and color \"Red\" or \"Blue\": *(id: ANY(\"product_1\", \"product_2\")) * *AND * *(colorFamilies: ANY(\"Red\", \"Blue\")) *", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaRuleForceReturnFacetAction": { +"description": "Force returns an attribute/facet in the request around a certain position or above. * Rule Condition: Must specify non-empty Condition.query_terms (for search only) or Condition.page_categories (for browse only), but can't specify both. * Action Inputs: attribute name, position * Action Result: Will force return a facet key around a certain position or above if the condition is satisfied. Example: Suppose the query is \"shoes\", the Condition.query_terms is \"shoes\", the ForceReturnFacetAction.FacetPositionAdjustment.attribute_name is \"size\" and the ForceReturnFacetAction.FacetPositionAdjustment.position is 8. Two cases: a) The facet key \"size\" is not already in the top 8 slots, then the facet \"size\" will appear at a position close to 8. b) The facet key \"size\" in among the top 8 positions in the request, then it will stay at its current rank.", +"id": "GoogleCloudRetailV2alphaRuleForceReturnFacetAction", +"properties": { +"facetPositionAdjustments": { +"description": "Each instance corresponds to a force return attribute for the given condition. There can't be more 15 instances here.", +"items": { +"$ref": "GoogleCloudRetailV2alphaRuleForceReturnFacetActionFacetPositionAdjustment" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaRuleForceReturnFacetActionFacetPositionAdjustment": { +"description": "Each facet position adjustment consists of a single attribute name (i.e. facet key) along with a specified position.", +"id": "GoogleCloudRetailV2alphaRuleForceReturnFacetActionFacetPositionAdjustment", +"properties": { +"attributeName": { +"description": "The attribute name to force return as a facet. Each attribute name should be a valid attribute name, be non-empty and contain at most 80 characters long.", +"type": "string" +}, +"position": { +"description": "This is the position in the request as explained above. It should be strictly positive be at most 100.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaRuleIgnoreAction": { +"description": "Prevents a term in the query from being used in search. Example: Don't search for \"shoddy\".", +"id": "GoogleCloudRetailV2alphaRuleIgnoreAction", +"properties": { +"ignoreTerms": { +"description": "Terms to ignore in the search query.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaRuleOnewaySynonymsAction": { +"description": "Maps a set of terms to a set of synonyms. Set of synonyms will be treated as synonyms of each query term only. `query_terms` will not be treated as synonyms of each other. Example: \"sneakers\" will use a synonym of \"shoes\". \"shoes\" will not use a synonym of \"sneakers\".", +"id": "GoogleCloudRetailV2alphaRuleOnewaySynonymsAction", +"properties": { +"onewayTerms": { +"description": "Will be [deprecated = true] post migration;", +"items": { +"type": "string" +}, +"type": "array" +}, +"queryTerms": { +"description": "Terms from the search query. Will treat synonyms as their synonyms. Not themselves synonyms of the synonyms. Can specify up to 100 terms.", +"items": { +"type": "string" +}, +"type": "array" +}, +"synonyms": { +"description": "Defines a set of synonyms. Cannot contain duplicates. Can specify up to 100 synonyms.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaRulePinAction": { +"description": "Pins one or more specified products to a specific position in the results. * Rule Condition: Must specify non-empty Condition.query_terms (for search only) or Condition.page_categories (for browse only), but can't specify both. * Action Input: mapping of `[pin_position, product_id]` pairs (pin position uses 1-based indexing). * Action Result: Will pin products with matching ids to the position specified in the final result order. Example: Suppose the query is `shoes`, the Condition.query_terms is `shoes` and the pin_map has `{1, \"pid1\"}`, then product with `pid1` will be pinned to the top position in the final results. If multiple PinActions are matched to a single request the actions will be processed from most to least recently updated. Pins to positions larger than the max allowed page size of 120 are not allowed.", +"id": "GoogleCloudRetailV2alphaRulePinAction", +"properties": { +"pinMap": { +"additionalProperties": { +"type": "string" +}, +"description": "Required. A map of positions to product_ids. Partial matches per action are allowed, if a certain position in the map is already filled that `[position, product_id]` pair will be ignored but the rest may still be applied. This case will only occur if multiple pin actions are matched to a single request, as the map guarantees that pin positions are unique within the same action. Duplicate product_ids are not permitted within a single pin map. The max size of this map is 120, equivalent to the max [request page size](https://cloud.google.com/retail/docs/reference/rest/v2/projects.locations.catalogs.placements/search#request-body).", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaRuleRedirectAction": { +"description": "Redirects a shopper to a specific page. * Rule Condition: Must specify Condition.query_terms. * Action Input: Request Query * Action Result: Redirects shopper to provided uri.", +"id": "GoogleCloudRetailV2alphaRuleRedirectAction", +"properties": { +"redirectUri": { +"description": "URL must have length equal or less than 2000 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaRuleRemoveFacetAction": { +"description": "Removes an attribute/facet in the request if is present. * Rule Condition: Must specify non-empty Condition.query_terms (for search only) or Condition.page_categories (for browse only), but can't specify both. * Action Input: attribute name * Action Result: Will remove the attribute (as a facet) from the request if it is present. Example: Suppose the query is \"shoes\", the Condition.query_terms is \"shoes\" and the attribute name \"size\", then facet key \"size\" will be removed from the request (if it is present).", +"id": "GoogleCloudRetailV2alphaRuleRemoveFacetAction", +"properties": { +"attributeNames": { +"description": "The attribute names (i.e. facet keys) to remove from the dynamic facets (if present in the request). There can't be more 3 attribute names. Each attribute name should be a valid attribute name, be non-empty and contain at most 80 characters.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaRuleReplacementAction": { +"description": "Replaces a term in the query. Multiple replacement candidates can be specified. All `query_terms` will be replaced with the replacement term. Example: Replace \"gShoe\" with \"google shoe\".", +"id": "GoogleCloudRetailV2alphaRuleReplacementAction", +"properties": { +"queryTerms": { +"description": "Terms from the search query. Will be replaced by replacement term. Can specify up to 100 terms.", +"items": { +"type": "string" +}, +"type": "array" +}, +"replacementTerm": { +"description": "Term that will be used for replacement.", +"type": "string" +}, +"term": { +"description": "Will be [deprecated = true] post migration;", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaRuleTwowaySynonymsAction": { +"description": "Creates a set of terms that will be treated as synonyms of each other. Example: synonyms of \"sneakers\" and \"shoes\": * \"sneakers\" will use a synonym of \"shoes\". * \"shoes\" will use a synonym of \"sneakers\".", +"id": "GoogleCloudRetailV2alphaRuleTwowaySynonymsAction", +"properties": { +"synonyms": { +"description": "Defines a set of synonyms. Can specify up to 100 synonyms. Must specify at least 2 synonyms.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaSearchRequest": { +"description": "Request message for SearchService.Search method.", +"id": "GoogleCloudRetailV2alphaSearchRequest", +"properties": { +"boostSpec": { +"$ref": "GoogleCloudRetailV2alphaSearchRequestBoostSpec", +"description": "Boost specification to boost certain products. For more information, see [Boost results](https://cloud.google.com/retail/docs/boosting). Notice that if both ServingConfig.boost_control_ids and SearchRequest.boost_spec are set, the boost conditions from both places are evaluated. If a search request matches multiple boost conditions, the final boost score is equal to the sum of the boost scores from all matched boost conditions." +}, +"branch": { +"description": "The branch resource name, such as `projects/*/locations/global/catalogs/default_catalog/branches/0`. Use \"default_branch\" as the branch ID or leave this field empty, to search products 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" +}, +"conversationalSearchSpec": { +"$ref": "GoogleCloudRetailV2alphaSearchRequestConversationalSearchSpec", +"description": "Optional. This field specifies all conversational related parameters addition to traditional retail search." +}, +"dynamicFacetSpec": { +"$ref": "GoogleCloudRetailV2alphaSearchRequestDynamicFacetSpec", +"deprecated": true, +"description": "Deprecated. Refer to https://cloud.google.com/retail/docs/configs#dynamic to enable dynamic facets. Do not set this field. The specification for dynamically generated facets. Notice that only textual facets can be dynamically generated." +}, +"entity": { +"description": "The entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. If this is set, it should be exactly matched with UserEvent.entity to get search results boosted by entity.", +"type": "string" +}, +"facetSpecs": { +"description": "Facet specifications for faceted search. If empty, no facets are returned. A maximum of 200 values are allowed. Otherwise, an INVALID_ARGUMENT error is returned.", +"items": { +"$ref": "GoogleCloudRetailV2alphaSearchRequestFacetSpec" +}, +"type": "array" +}, +"filter": { +"description": "The filter syntax consists of an expression language for constructing a predicate from one or more fields of the products being filtered. Filter expression is case-sensitive. For more information, see [Filter](https://cloud.google.com/retail/docs/filter-and-order#filter). If this field is unrecognizable, an INVALID_ARGUMENT is returned.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The 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. For more information, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) in the Resource Manager documentation.", +"type": "object" +}, +"offset": { +"description": "A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Products 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" +}, +"orderBy": { +"description": "The order in which products are returned. Products can be ordered by a field in an Product object. Leave it unset if ordered by relevance. OrderBy expression is case-sensitive. For more information, see [Order](https://cloud.google.com/retail/docs/filter-and-order#order). If this field is unrecognizable, an INVALID_ARGUMENT is returned.", +"type": "string" +}, +"pageCategories": { +"description": "The categories associated with a category page. Must be set for category navigation queries to achieve good search quality. The format should be the same as UserEvent.page_categories; 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: \"pageCategories\" : [\"Sales > 2017 Black Friday Deals\"].", +"items": { +"type": "string" +}, +"type": "array" +}, +"pageSize": { +"description": "Maximum number of Products to return. If unspecified, defaults to a reasonable value. The maximum allowed value is 120. Values above 120 will be coerced to 120. If this field is negative, an INVALID_ARGUMENT is returned.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "A page token SearchResponse.next_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" +}, +"personalizationSpec": { +"$ref": "GoogleCloudRetailV2alphaSearchRequestPersonalizationSpec", +"description": "The specification for personalization. Notice that if both ServingConfig.personalization_spec and SearchRequest.personalization_spec are set. SearchRequest.personalization_spec will override ServingConfig.personalization_spec." +}, +"query": { +"description": "Raw search query. If this field is empty, the request is considered a category browsing request and returned results are based on filter and page_categories.", +"type": "string" +}, +"queryExpansionSpec": { +"$ref": "GoogleCloudRetailV2alphaSearchRequestQueryExpansionSpec", +"description": "The query expansion specification that specifies the conditions under which query expansion occurs. For more information, see [Query expansion](https://cloud.google.com/retail/docs/result-size#query_expansion)." +}, +"relevanceThreshold": { +"description": "The relevance threshold of the search results. Defaults to RelevanceThreshold.HIGH, which means only the most relevant results are shown, and the least number of results are returned. For more information, see [Adjust result size](https://cloud.google.com/retail/docs/result-size#relevance_thresholding).", +"enum": [ +"RELEVANCE_THRESHOLD_UNSPECIFIED", +"HIGH", +"MEDIUM", +"LOW", +"LOWEST" +], +"enumDescriptions": [ +"Default value. In this case, server behavior defaults to RelevanceThreshold.HIGH.", +"High relevance threshold.", +"Medium relevance threshold.", +"Low relevance threshold.", +"Lowest relevance threshold." +], +"type": "string" +}, +"searchMode": { +"description": "The search mode of the search request. If not specified, a single search request triggers both product search and faceted search.", +"enum": [ +"SEARCH_MODE_UNSPECIFIED", +"PRODUCT_SEARCH_ONLY", +"FACETED_SEARCH_ONLY" +], +"enumDescriptions": [ +"Default value. In this case both product search and faceted search will be performed. Both SearchResponse.SearchResult and SearchResponse.Facet will be returned.", +"Only product search will be performed. The faceted search will be disabled. Only SearchResponse.SearchResult will be returned. SearchResponse.Facet will not be returned, even if SearchRequest.facet_specs or SearchRequest.dynamic_facet_spec is set.", +"Only faceted search will be performed. The product search will be disabled. When in this mode, one or both of SearchRequest.facet_specs and SearchRequest.dynamic_facet_spec should be set. Otherwise, an INVALID_ARGUMENT error is returned. Only SearchResponse.Facet will be returned. SearchResponse.SearchResult will not be returned." +], +"type": "string" +}, +"spellCorrectionSpec": { +"$ref": "GoogleCloudRetailV2alphaSearchRequestSpellCorrectionSpec", +"description": "The spell correction specification that specifies the mode under which spell correction will take effect." +}, +"tileNavigationSpec": { +"$ref": "GoogleCloudRetailV2alphaSearchRequestTileNavigationSpec", +"description": "Optional. This field specifies tile navigation related parameters." +}, +"userInfo": { +"$ref": "GoogleCloudRetailV2alphaUserInfo", +"description": "User information." +}, +"variantRollupKeys": { +"description": "The keys to fetch and rollup the matching variant Products attributes, FulfillmentInfo or LocalInventorys attributes. The attributes from all the matching variant Products or LocalInventorys are merged and de-duplicated. Notice that rollup attributes will lead to extra query latency. Maximum number of keys is 30. For FulfillmentInfo, a fulfillment type and a fulfillment ID must be provided in the format of \"fulfillmentType.fulfillmentId\". E.g., in \"pickupInStore.store123\", \"pickupInStore\" is fulfillment type and \"store123\" is the store ID. Supported keys are: * colorFamilies * price * originalPrice * discount * variantId * inventory(place_id,price) * inventory(place_id,original_price) * inventory(place_id,attributes.key), where key is any key in the Product.local_inventories.attributes map. * attributes.key, where key is any key in the Product.attributes map. * pickupInStore.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type \"pickup-in-store\". * shipToStore.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type \"ship-to-store\". * sameDayDelivery.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type \"same-day-delivery\". * nextDayDelivery.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type \"next-day-delivery\". * customFulfillment1.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type \"custom-type-1\". * customFulfillment2.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type \"custom-type-2\". * customFulfillment3.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type \"custom-type-3\". * customFulfillment4.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type \"custom-type-4\". * customFulfillment5.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type \"custom-type-5\". If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.", +"items": { +"type": "string" +}, +"type": "array" +}, +"visitorId": { +"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 logs in or out of the website. This should be the same identifier as UserEvent.visitor_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" +}, +"GoogleCloudRetailV2alphaSearchRequestBoostSpec": { +"description": "Boost specification to boost certain items.", +"id": "GoogleCloudRetailV2alphaSearchRequestBoostSpec", +"properties": { +"conditionBoostSpecs": { +"description": "Condition boost specifications. If a product 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": "GoogleCloudRetailV2alphaSearchRequestBoostSpecConditionBoostSpec" +}, +"type": "array" +}, +"skipBoostSpecValidation": { +"description": "Whether to skip boostspec validation. If this field is set to true, invalid BoostSpec.condition_boost_specs will be ignored and valid BoostSpec.condition_boost_specs will still be applied.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaSearchRequestBoostSpecConditionBoostSpec": { +"description": "Boost applies to products which match a condition.", +"id": "GoogleCloudRetailV2alphaSearchRequestBoostSpecConditionBoostSpec", +"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 item a big promotion. However, it does not necessarily mean that the boosted item will be the top result at all times, nor that other items 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 items. Setting to -1.0 gives the item a big demotion. However, results that are deeply relevant might still be shown. The item 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.", +"format": "float", +"type": "number" +}, +"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 products with product ID \"product_1\" or \"product_2\", and color \"Red\" or \"Blue\": * (id: ANY(\"product_1\", \"product_2\")) AND (colorFamilies: ANY(\"Red\",\"Blue\"))", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaSearchRequestConversationalSearchSpec": { +"description": "This field specifies all conversational related parameters addition to traditional retail search.", +"id": "GoogleCloudRetailV2alphaSearchRequestConversationalSearchSpec", +"properties": { +"conversationId": { +"description": "This field specifies the conversation id, which maintains the state of the conversation between client side and server side. Use the value from the previous ConversationalSearchResult.conversation_id. For the initial request, this should be empty.", +"type": "string" +}, +"followupConversationRequested": { +"description": "This field specifies whether the customer would like to do conversational search. If this field is set to true, conversational related extra information will be returned from server side, including follow-up question, answer options, etc.", +"type": "boolean" +}, +"userAnswer": { +"$ref": "GoogleCloudRetailV2alphaSearchRequestConversationalSearchSpecUserAnswer", +"description": "This field specifies the current user answer during the conversational search. This can be either user selected from suggested answers or user input plain text." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaSearchRequestConversationalSearchSpecUserAnswer": { +"description": "This field specifies the current user answer during the conversational search. This can be either user selected from suggested answers or user input plain text.", +"id": "GoogleCloudRetailV2alphaSearchRequestConversationalSearchSpecUserAnswer", +"properties": { +"selectedAnswer": { +"$ref": "GoogleCloudRetailV2alphaSearchRequestConversationalSearchSpecUserAnswerSelectedAnswer", +"description": "This field specifies the selected attributes during the conversational search. This should be a subset of ConversationalSearchResult.suggested_answers." +}, +"textAnswer": { +"description": "This field specifies the incremental input text from the user during the conversational search.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaSearchRequestConversationalSearchSpecUserAnswerSelectedAnswer": { +"description": "This field specifies the selected answers during the conversational search.", +"id": "GoogleCloudRetailV2alphaSearchRequestConversationalSearchSpecUserAnswerSelectedAnswer", +"properties": { +"productAttributeValue": { +"$ref": "GoogleCloudRetailV2alphaProductAttributeValue", +"description": "This field specifies the selected answer which is a attribute key-value." +}, +"productAttributeValues": { +"deprecated": true, +"description": "This field is deprecated and should not be set.", +"items": { +"$ref": "GoogleCloudRetailV2alphaProductAttributeValue" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaSearchRequestDynamicFacetSpec": { +"description": "The specifications of dynamically generated facets.", +"id": "GoogleCloudRetailV2alphaSearchRequestDynamicFacetSpec", +"properties": { +"mode": { +"description": "Mode of the DynamicFacet feature. Defaults to Mode.DISABLED if it's unset.", +"enum": [ +"MODE_UNSPECIFIED", +"DISABLED", +"ENABLED" +], +"enumDescriptions": [ +"Default value.", +"Disable Dynamic Facet.", +"Automatic mode built by Google Retail Search." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaSearchRequestFacetSpec": { +"description": "A facet specification to perform faceted search.", +"id": "GoogleCloudRetailV2alphaSearchRequestFacetSpec", +"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 by Google Retail Search. It is ordered together with dynamic facets if dynamic facets is enabled. 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 by Google Retail Search. 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 enable, 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 Google Retail Search orders \"gender\" and \"rating\" facets. However, notice that \"price\" and \"brands\" are always ranked at first and second position because their enable_dynamic_position values are 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 products with the color facet \"Red\" and 200 products with the color facet \"Blue\". A query containing the filter \"colorFamilies:ANY(\"Red\")\" and having \"colorFamilies\" as FacetKey.key would by default return only \"Red\" products in the search results, and also return \"Red\" with count 100 as the only color facet. Although there are also blue products available, \"Blue\" would not be shown as an available facet value. If \"colorFamilies\" is listed in \"excludedFilterKeys\", then the query returns the facet values \"Red\" with count 100 and \"Blue\" with count 200, because the \"colorFamilies\" 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\" products. A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error is returned.", +"items": { +"type": "string" +}, +"type": "array" +}, +"facetKey": { +"$ref": "GoogleCloudRetailV2alphaSearchRequestFacetSpecFacetKey", +"description": "Required. The facet key specification." +}, +"limit": { +"description": "Maximum of facet values that should be returned for this facet. If unspecified, defaults to 50. The maximum allowed value is 300. Values above 300 will be coerced to 300. If this field is negative, an INVALID_ARGUMENT is returned.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaSearchRequestFacetSpecFacetKey": { +"description": "Specifies how a facet is computed.", +"id": "GoogleCloudRetailV2alphaSearchRequestFacetSpecFacetKey", +"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 contains the given strings. For example, suppose \"categories\" has three values \"Women > Shoe\", \"Women > Dress\" and \"Men > Shoe\". If set \"contains\" to \"Shoe\", the \"categories\" facet gives only \"Women > Shoe\" and \"Men > Shoe\". Only supported on textual fields. Maximum is 10.", +"items": { +"type": "string" +}, +"type": "array" +}, +"intervals": { +"description": "Set only if values should be bucketized into intervals. Must be set for facets with numerical values. Must not be set for facet with text values. Maximum number of intervals is 40. For all numerical facet keys that appear in the list of products from the catalog, the percentiles 0, 10, 30, 50, 70, 90, and 100 are computed from their distribution weekly. If the model assigns a high score to a numerical facet key and its intervals are not specified in the search request, these percentiles become the bounds for its intervals and are returned in the response. If the facet key intervals are specified in the request, then the specified intervals are returned instead.", +"items": { +"$ref": "GoogleCloudRetailV2alphaInterval" +}, +"type": "array" +}, +"key": { +"description": "Required. Supported textual and numerical facet keys in Product object, over which the facet values are computed. Facet key is case-sensitive. Allowed facet keys when FacetKey.query is not specified: * textual_field = * \"brands\" * \"categories\" * \"genders\" * \"ageGroups\" * \"availability\" * \"colorFamilies\" * \"colors\" * \"sizes\" * \"materials\" * \"patterns\" * \"conditions\" * \"attributes.key\" * \"pickupInStore\" * \"shipToStore\" * \"sameDayDelivery\" * \"nextDayDelivery\" * \"customFulfillment1\" * \"customFulfillment2\" * \"customFulfillment3\" * \"customFulfillment4\" * \"customFulfillment5\" * \"inventory(place_id,attributes.key)\" * numerical_field = * \"price\" * \"discount\" * \"rating\" * \"ratingCount\" * \"attributes.key\" * \"inventory(place_id,price)\" * \"inventory(place_id,original_price)\" * \"inventory(place_id,attributes.key)\"", +"type": "string" +}, +"orderBy": { +"description": "The order in which SearchResponse.Facet.values 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; FulfillmentInfo.place_ids are sorted in the order given by FacetSpec.FacetKey.restricted_values.", +"type": "string" +}, +"prefixes": { +"description": "Only get facet values that start with the given string prefix. For example, suppose \"categories\" has three values \"Women > Shoe\", \"Women > Dress\" and \"Men > Shoe\". If set \"prefixes\" to \"Women\", the \"categories\" facet gives only \"Women > Shoe\" and \"Women > Dress\". Only supported on textual fields. Maximum is 10.", +"items": { +"type": "string" +}, +"type": "array" +}, +"query": { +"description": "The query that is used to compute facet for the given facet key. When provided, it overrides the default behavior of facet computation. The query syntax is the same as a filter expression. See SearchRequest.filter for detail syntax and limitations. Notice that there is no limitation on FacetKey.key when query is specified. In the response, SearchResponse.Facet.values.value is always \"1\" and SearchResponse.Facet.values.count is the number of results that match the query. For example, you can set a customized facet for \"shipToStore\", where FacetKey.key is \"customizedShipToStore\", and FacetKey.query is \"availability: ANY(\\\"IN_STOCK\\\") AND shipToStore: ANY(\\\"123\\\")\". Then the facet counts the products that are both in stock and ship to store \"123\".", +"type": "string" +}, +"restrictedValues": { +"description": "Only get facet for the given restricted values. For example, when using \"pickupInStore\" as key and set restricted values to [\"store123\", \"store456\"], only facets for \"store123\" and \"store456\" are returned. Only supported on predefined textual fields, custom textual attributes and fulfillments. Maximum is 20. Must be set for the fulfillment facet keys: * pickupInStore * shipToStore * sameDayDelivery * nextDayDelivery * customFulfillment1 * customFulfillment2 * customFulfillment3 * customFulfillment4 * customFulfillment5", +"items": { +"type": "string" +}, +"type": "array" +}, +"returnMinMax": { +"description": "Returns the min and max value for each numerical facet intervals. Ignored for textual facets.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaSearchRequestPersonalizationSpec": { +"description": "The specification for personalization.", +"id": "GoogleCloudRetailV2alphaSearchRequestPersonalizationSpec", +"properties": { +"mode": { +"description": "Defaults to Mode.AUTO.", +"enum": [ +"MODE_UNSPECIFIED", +"AUTO", +"DISABLED" +], +"enumDescriptions": [ +"Default value. In this case, server behavior defaults to Mode.AUTO.", +"Let CRS decide whether to use personalization based on quality of user event data.", +"Disable personalization." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaSearchRequestQueryExpansionSpec": { +"description": "Specification to determine under which conditions query expansion should occur.", +"id": "GoogleCloudRetailV2alphaSearchRequestQueryExpansionSpec", +"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 Google Retail Search." +], +"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" +}, +"GoogleCloudRetailV2alphaSearchRequestSpellCorrectionSpec": { +"description": "The specification for query spell correction.", +"id": "GoogleCloudRetailV2alphaSearchRequestSpellCorrectionSpec", +"properties": { +"mode": { +"description": "The mode under which spell correction should take effect to replace the original search query. Default to Mode.AUTO.", +"enum": [ +"MODE_UNSPECIFIED", +"SUGGESTION_ONLY", +"AUTO" +], +"enumDescriptions": [ +"Unspecified spell correction mode. In this case, server behavior defaults to Mode.AUTO.", +"Google Retail Search will try to find a spell suggestion if there is any and put in the SearchResponse.corrected_query. The spell suggestion will not be used as the search query.", +"Automatic spell correction built by Google Retail Search. Search will be based on the corrected query if found." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaSearchRequestTileNavigationSpec": { +"description": "This field specifies tile navigation related parameters.", +"id": "GoogleCloudRetailV2alphaSearchRequestTileNavigationSpec", +"properties": { +"appliedTiles": { +"description": "This field specifies the tiles which are already clicked in client side. NOTE: This field is not being used for filtering search products. Client side should also put all the applied tiles in SearchRequest.filter.", +"items": { +"$ref": "GoogleCloudRetailV2alphaTile" +}, +"type": "array" +}, +"tileNavigationRequested": { +"description": "This field specifies whether the customer would like to request tile navigation.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaSearchResponse": { +"description": "Response message for SearchService.Search method.", +"id": "GoogleCloudRetailV2alphaSearchResponse", +"properties": { +"appliedControls": { +"description": "The fully qualified resource name of applied [controls](https://cloud.google.com/retail/docs/serving-control-rules).", +"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.", +"type": "string" +}, +"conversationalSearchResult": { +"$ref": "GoogleCloudRetailV2alphaSearchResponseConversationalSearchResult", +"description": "This field specifies all related information that is needed on client side for UI rendering of conversational retail search." +}, +"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" +}, +"experimentInfo": { +"description": "Metadata related to A/B testing experiment associated with this response. Only exists when an experiment is triggered.", +"items": { +"$ref": "GoogleCloudRetailV2alphaExperimentInfo" +}, +"type": "array" +}, +"facets": { +"description": "Results of facets requested by user.", +"items": { +"$ref": "GoogleCloudRetailV2alphaSearchResponseFacet" +}, +"type": "array" +}, +"invalidConditionBoostSpecs": { +"description": "The invalid SearchRequest.BoostSpec.condition_boost_specs that are not applied during serving.", +"items": { +"$ref": "GoogleCloudRetailV2alphaSearchRequestBoostSpecConditionBoostSpec" +}, +"type": "array" +}, +"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" +}, +"pinControlMetadata": { +"$ref": "GoogleCloudRetailV2alphaPinControlMetadata", +"description": "Metadata for pin controls which were applicable to the request. This contains two map fields, one for all matched pins and one for pins which were matched but not applied. The two maps are keyed by pin position, and the values are the product ids which were matched to that pin." +}, +"queryExpansionInfo": { +"$ref": "GoogleCloudRetailV2alphaSearchResponseQueryExpansionInfo", +"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 items. The order represents the ranking.", +"items": { +"$ref": "GoogleCloudRetailV2alphaSearchResponseSearchResult" +}, +"type": "array" +}, +"tileNavigationResult": { +"$ref": "GoogleCloudRetailV2alphaSearchResponseTileNavigationResult", +"description": "This field specifies all related information for tile navigation that will be used in client side." +}, +"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" +}, +"GoogleCloudRetailV2alphaSearchResponseConversationalSearchResult": { +"description": "This field specifies all related information that is needed on client side for UI rendering of conversational retail search.", +"id": "GoogleCloudRetailV2alphaSearchResponseConversationalSearchResult", +"properties": { +"additionalFilter": { +"$ref": "GoogleCloudRetailV2alphaSearchResponseConversationalSearchResultAdditionalFilter", +"description": "This is the incremental additional filters implied from the current user answer. User should add the suggested addition filters to the previous SearchRequest.filter, and use the merged filter in the follow up search request." +}, +"additionalFilters": { +"deprecated": true, +"description": "This field is deprecated but will be kept for backward compatibility. There is expected to have only one additional filter and the value will be the same to the same as field `additional_filter`.", +"items": { +"$ref": "GoogleCloudRetailV2alphaSearchResponseConversationalSearchResultAdditionalFilter" +}, +"type": "array" +}, +"conversationId": { +"description": "Conversation UUID. This field will be stored in client side storage to maintain the conversation session with server and will be used for next search request's SearchRequest.ConversationalSearchSpec.conversation_id to restore conversation state in server.", +"type": "string" +}, +"followupQuestion": { +"description": "The follow-up question. e.g., `What is the color?`", +"type": "string" +}, +"refinedQuery": { +"description": "The current refined query for the conversational search. This field will be used in customer UI that the query in the search bar should be replaced with the refined query. For example, if SearchRequest.query is `dress` and next SearchRequest.ConversationalSearchSpec.UserAnswer.text_answer is `red color`, which does not match any product attribute value filters, the refined query will be `dress, red color`.", +"type": "string" +}, +"suggestedAnswers": { +"description": "The answer options provided to client for the follow-up question.", +"items": { +"$ref": "GoogleCloudRetailV2alphaSearchResponseConversationalSearchResultSuggestedAnswer" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaSearchResponseConversationalSearchResultAdditionalFilter": { +"description": "Additional filter that client side need to apply.", +"id": "GoogleCloudRetailV2alphaSearchResponseConversationalSearchResultAdditionalFilter", +"properties": { +"productAttributeValue": { +"$ref": "GoogleCloudRetailV2alphaProductAttributeValue", +"description": "Product attribute value, including an attribute key and an attribute value. Other types can be added here in the future." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaSearchResponseConversationalSearchResultSuggestedAnswer": { +"description": "Suggested answers to the follow-up question.", +"id": "GoogleCloudRetailV2alphaSearchResponseConversationalSearchResultSuggestedAnswer", +"properties": { +"productAttributeValue": { +"$ref": "GoogleCloudRetailV2alphaProductAttributeValue", +"description": "Product attribute value, including an attribute key and an attribute value. Other types can be added here in the future." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaSearchResponseFacet": { +"description": "A facet result.", +"id": "GoogleCloudRetailV2alphaSearchResponseFacet", +"properties": { +"dynamicFacet": { +"description": "Whether the facet is dynamically generated.", +"type": "boolean" +}, +"key": { +"description": "The key for this facet. E.g., \"colorFamilies\" or \"price\" or \"attributes.attr1\".", +"type": "string" +}, +"values": { +"description": "The facet values for this field.", +"items": { +"$ref": "GoogleCloudRetailV2alphaSearchResponseFacetFacetValue" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaSearchResponseFacetFacetValue": { +"description": "A facet value which contains value names and their count.", +"id": "GoogleCloudRetailV2alphaSearchResponseFacetFacetValue", +"properties": { +"count": { +"description": "Number of items that have this facet value.", +"format": "int64", +"type": "string" +}, +"interval": { +"$ref": "GoogleCloudRetailV2alphaInterval", +"description": "Interval value for a facet, such as [10, 20) for facet \"price\"." +}, +"maxValue": { +"description": "The maximum value in the FacetValue.interval. Only supported on numerical facets and returned if SearchRequest.FacetSpec.FacetKey.return_min_max is true.", +"format": "double", +"type": "number" +}, +"minValue": { +"description": "The minimum value in the FacetValue.interval. Only supported on numerical facets and returned if SearchRequest.FacetSpec.FacetKey.return_min_max is true.", +"format": "double", +"type": "number" +}, +"value": { +"description": "Text value of a facet, such as \"Black\" for facet \"colorFamilies\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaSearchResponseQueryExpansionInfo": { +"description": "Information describing query expansion including whether expansion has occurred.", +"id": "GoogleCloudRetailV2alphaSearchResponseQueryExpansionInfo", +"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" +}, +"GoogleCloudRetailV2alphaSearchResponseSearchResult": { +"description": "Represents the search results.", +"id": "GoogleCloudRetailV2alphaSearchResponseSearchResult", +"properties": { +"id": { +"description": "Product.id of the searched Product.", +"type": "string" +}, +"matchingVariantCount": { +"description": "The count of matched variant Products.", +"format": "int32", +"type": "integer" +}, +"matchingVariantFields": { +"additionalProperties": { +"format": "google-fieldmask", +"type": "string" +}, +"description": "If a variant Product matches the search query, this map indicates which Product fields are matched. The key is the Product.name, the value is a field mask of the matched Product fields. If matched attributes cannot be determined, this map will be empty. For example, a key \"sku1\" with field mask \"products.color_info\" indicates there is a match between \"sku1\" ColorInfo and the query.", +"type": "object" +}, +"personalLabels": { +"description": "Specifies previous events related to this product for this user based on UserEvent with same SearchRequest.visitor_id or UserInfo.user_id. This is set only when SearchRequest.PersonalizationSpec.mode is SearchRequest.PersonalizationSpec.Mode.AUTO. Possible values: * `purchased`: Indicates that this product has been purchased before.", +"items": { +"type": "string" +}, +"type": "array" +}, +"product": { +"$ref": "GoogleCloudRetailV2alphaProduct", +"description": "The product data snippet in the search response. Only Product.name is guaranteed to be populated. Product.variants contains the product variants that match the search query. If there are multiple product variants matching the query, top 5 most relevant product variants are returned and ordered by relevancy. If relevancy can be deternmined, use matching_variant_fields to look up matched product variants fields. If relevancy cannot be determined, e.g. when searching \"shoe\" all products in a shoe product can be a match, 5 product variants are returned but order is meaningless." +}, +"variantRollupValues": { +"additionalProperties": { +"type": "any" +}, +"description": "The rollup matching variant Product attributes. The key is one of the SearchRequest.variant_rollup_keys. The values are the merged and de-duplicated Product attributes. Notice that the rollup values are respect filter. For example, when filtering by \"colorFamilies:ANY(\\\"red\\\")\" and rollup \"colorFamilies\", only \"red\" is returned. For textual and numerical attributes, the rollup values is a list of string or double values with type google.protobuf.ListValue. For example, if there are two variants with colors \"red\" and \"blue\", the rollup values are { key: \"colorFamilies\" value { list_value { values { string_value: \"red\" } values { string_value: \"blue\" } } } } For FulfillmentInfo, the rollup values is a double value with type google.protobuf.Value. For example, `{key: \"pickupInStore.store1\" value { number_value: 10 }}` means a there are 10 variants in this product are available in the store \"store1\".", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaSearchResponseTileNavigationResult": { +"description": "This field specifies all related information for tile navigation that will be used in client side.", +"id": "GoogleCloudRetailV2alphaSearchResponseTileNavigationResult", +"properties": { +"tiles": { +"description": "The current tiles that are used for tile navigation, sorted by engagement.", +"items": { +"$ref": "GoogleCloudRetailV2alphaTile" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaServingConfig": { +"description": "Configures metadata that is used to generate serving time results (e.g. search results or recommendation predictions).", +"id": "GoogleCloudRetailV2alphaServingConfig", +"properties": { +"boostControlIds": { +"description": "Condition boost specifications. If a product matches multiple conditions in the specifications, boost scores from these specifications are all applied and combined in a non-linear way. Maximum number of specifications is 100. Notice that if both ServingConfig.boost_control_ids and SearchRequest.boost_spec are set, the boost conditions from both places are evaluated. If a search request matches multiple boost conditions, the final boost score is equal to the sum of the boost scores from all matched boost conditions. Can only be set if solution_types is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"displayName": { +"description": "Required. The human readable serving config display name. Used in Retail 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" +}, +"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 solution_types is SOLUTION_TYPE_RECOMMENDATION.", +"type": "string" +}, +"diversityType": { +"description": "What kind of diversity to use - data driven or rule based. If unset, the server behavior defaults to RULE_BASED_DIVERSITY.", +"enum": [ +"DIVERSITY_TYPE_UNSPECIFIED", +"RULE_BASED_DIVERSITY", +"DATA_DRIVEN_DIVERSITY" +], +"enumDescriptions": [ +"Default value.", +"Rule based diversity.", +"Data driven diversity." +], +"type": "string" +}, +"doNotAssociateControlIds": { +"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 solution_types is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"dynamicFacetSpec": { +"$ref": "GoogleCloudRetailV2alphaSearchRequestDynamicFacetSpec", +"description": "The specification for dynamically generated facets. Notice that only textual facets can be dynamically generated. Can only be set if solution_types is SOLUTION_TYPE_SEARCH." +}, +"enableCategoryFilterLevel": { +"description": "Whether to add additional category filters on the `similar-items` model. If not specified, we enable it by default. Allowed values are: * `no-category-match`: No additional filtering of original results from the model and the customer's filters. * `relaxed-category-match`: Only keep results with categories that match at least one item categories in the PredictRequests's context item. * If customer also sends filters in the PredictRequest, then the results will satisfy both conditions (user given and category match). Can only be set if solution_types is SOLUTION_TYPE_RECOMMENDATION.", +"type": "string" +}, +"facetControlIds": { +"description": "Facet specifications for faceted search. If empty, no facets are returned. The ids refer to the ids of Control resources with only the Facet control set. These controls are assumed to be in the same Catalog as the ServingConfig. A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error is returned. Can only be set if solution_types is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"filterControlIds": { +"description": "Condition filter specifications. If a product matches multiple conditions in the specifications, filters from these specifications are all applied and combined via the AND operator. Maximum number of specifications is 100. Can only be set if solution_types is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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. Can only be set if solution_types is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"ignoreRecsDenylist": { +"description": "When the flag is enabled, the products in the denylist will not be filtered out in the recommendation filtering results.", +"type": "boolean" +}, +"modelId": { +"description": "The id of the model in the same Catalog to use at serving time. Currently only RecommendationModels are supported: https://cloud.google.com/retail/recommendations-ai/docs/create-models Can be changed but only to a compatible model (e.g. others-you-may-like CTR to others-you-may-like CVR). Required when solution_types is SOLUTION_TYPE_RECOMMENDATION.", +"type": "string" +}, +"name": { +"description": "Immutable. Fully qualified name `projects/*/locations/global/catalogs/*/servingConfig/*`", +"type": "string" +}, +"onewaySynonymsControlIds": { +"description": "Condition oneway synonyms specifications. If multiple oneway synonyms conditions match, all matching oneway synonyms controls in the list will execute. Order of controls in the list will not matter. Maximum number of specifications is 100. Can only be set if solution_types is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"personalizationSpec": { +"$ref": "GoogleCloudRetailV2alphaSearchRequestPersonalizationSpec", +"description": "The specification for personalization spec. Can only be set if solution_types is SOLUTION_TYPE_SEARCH. Notice that if both ServingConfig.personalization_spec and SearchRequest.personalization_spec are set. SearchRequest.personalization_spec will override ServingConfig.personalization_spec." +}, +"priceRerankingLevel": { +"description": "How much price ranking we want in serving results. Price reranking causes product items with a similar recommendation probability to be ordered by price, with the highest-priced items first. This setting could result in a decrease in click-through and conversion rates. Allowed values are: * `no-price-reranking` * `low-price-reranking` * `medium-price-reranking` * `high-price-reranking` If not specified, we choose default based on model type. Default value: `no-price-reranking`. Can only be set if solution_types is SOLUTION_TYPE_RECOMMENDATION.", +"type": "string" +}, +"redirectControlIds": { +"description": "Condition redirect specifications. Only the first triggered redirect action is applied, even if multiple apply. Maximum number of specifications is 1000. Can only be set if solution_types 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 solution_types is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"solutionTypes": { +"description": "Required. Immutable. Specifies the solution types that a serving config can be associated with. Currently we support setting only one type of solution.", +"items": { +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Retail Search." +], +"type": "string" +}, +"type": "array" +}, +"twowaySynonymsControlIds": { +"description": "Condition synonyms specifications. If multiple syonyms conditions match, all matching synonyms control in the list will execute. Order of controls in the list will not matter. Maximum number of specifications is 100. Can only be set if solution_types is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaSetDefaultBranchRequest": { +"description": "Request message to set a specified branch as new default_branch.", +"id": "GoogleCloudRetailV2alphaSetDefaultBranchRequest", +"properties": { +"branchId": { +"description": "The final component of the resource name of a branch. This field must be one of \"0\", \"1\" or \"2\". Otherwise, an INVALID_ARGUMENT error is returned. If there are no sufficient active products in the targeted branch and force is not set, a FAILED_PRECONDITION error is returned.", +"type": "string" +}, +"force": { +"description": "If set to true, it permits switching to a branch with branch_id even if it has no sufficient active products.", +"type": "boolean" +}, +"note": { +"description": "Some note on this request, this can be retrieved by CatalogService.GetDefaultBranch before next valid default branch set occurs. This field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaSetInventoryMetadata": { +"description": "Metadata related to the progress of the SetInventory operation. Currently empty because there is no meaningful metadata populated from the ProductService.SetInventory method.", +"id": "GoogleCloudRetailV2alphaSetInventoryMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2alphaSetInventoryRequest": { +"description": "Request message for ProductService.SetInventory method.", +"id": "GoogleCloudRetailV2alphaSetInventoryRequest", +"properties": { +"allowMissing": { +"description": "If set to true, and the Product with name Product.name is not found, the inventory update will still be processed and retained for at most 1 day until the Product is created. If set to false, a NOT_FOUND error is returned if the Product is not found.", +"type": "boolean" +}, +"inventory": { +"$ref": "GoogleCloudRetailV2alphaProduct", +"description": "Required. The inventory information to update. The allowable fields to update are: * Product.price_info * Product.availability * Product.available_quantity * Product.fulfillment_info The updated inventory fields must be specified in SetInventoryRequest.set_mask. If SetInventoryRequest.inventory.name is empty or invalid, an INVALID_ARGUMENT error is returned. If the caller does not have permission to update the Product named in Product.name, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the Product to update does not have existing inventory information, the provided inventory information will be inserted. If the Product to update has existing inventory information, the provided inventory information will be merged while respecting the last update time for each inventory field, using the provided or default value for SetInventoryRequest.set_time. The caller can replace place IDs for a subset of fulfillment types in the following ways: * Adds \"fulfillment_info\" in SetInventoryRequest.set_mask * Specifies only the desired fulfillment types and corresponding place IDs to update in SetInventoryRequest.inventory.fulfillment_info The caller can clear all place IDs from a subset of fulfillment types in the following ways: * Adds \"fulfillment_info\" in SetInventoryRequest.set_mask * Specifies only the desired fulfillment types to clear in SetInventoryRequest.inventory.fulfillment_info * Checks that only the desired fulfillment info types have empty SetInventoryRequest.inventory.fulfillment_info.place_ids The last update time is recorded for the following inventory fields: * Product.price_info * Product.availability * Product.available_quantity * Product.fulfillment_info If a full overwrite of inventory information while ignoring timestamps is needed, ProductService.UpdateProduct should be invoked instead." +}, +"setMask": { +"description": "Indicates which inventory fields in the provided Product to update. At least one field must be provided. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned and the entire update will be ignored.", +"format": "google-fieldmask", +"type": "string" +}, +"setTime": { +"description": "The time when the request is issued, used to prevent out-of-order updates on inventory fields with the last update time recorded. If not provided, the internal system time will be used.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaSetInventoryResponse": { +"description": "Response of the SetInventoryRequest. Currently empty because there is no meaningful response populated from the ProductService.SetInventory method.", +"id": "GoogleCloudRetailV2alphaSetInventoryResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2alphaTile": { +"description": "This field specifies the tile information including an attribute key, attribute value. More fields will be added in the future, eg: product id or product counts, etc.", +"id": "GoogleCloudRetailV2alphaTile", +"properties": { +"productAttributeInterval": { +"$ref": "GoogleCloudRetailV2alphaProductAttributeInterval", +"description": "The product attribute key-numeric interval." +}, +"productAttributeValue": { +"$ref": "GoogleCloudRetailV2alphaProductAttributeValue", +"description": "The product attribute key-value." +}, +"representativeProductId": { +"description": "The representative product id for this tile.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaTransformedUserEventsMetadata": { +"description": "Metadata related to transform user events operation.", +"id": "GoogleCloudRetailV2alphaTransformedUserEventsMetadata", +"properties": { +"sourceEventsCount": { +"description": "Count of entries in the source user events BigQuery table.", +"format": "int64", +"type": "string" +}, +"transformedEventsCount": { +"description": "Count of entries in the transformed user events BigQuery table, which could be different from the actually imported number of user events.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaTuneModelMetadata": { +"description": "Metadata associated with a tune operation.", +"id": "GoogleCloudRetailV2alphaTuneModelMetadata", +"properties": { +"model": { +"description": "The resource name of the model that this tune applies to. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaTuneModelRequest": { +"description": "Request to manually start a tuning process now (instead of waiting for the periodically scheduled tuning to happen).", +"id": "GoogleCloudRetailV2alphaTuneModelRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2alphaTuneModelResponse": { +"description": "Response associated with a tune operation.", +"id": "GoogleCloudRetailV2alphaTuneModelResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2alphaUpdateGenerativeQuestionConfigRequest": { +"description": "Request for UpdateGenerativeQuestionConfig method.", +"id": "GoogleCloudRetailV2alphaUpdateGenerativeQuestionConfigRequest", +"properties": { +"generativeQuestionConfig": { +"$ref": "GoogleCloudRetailV2alphaGenerativeQuestionConfig", +"description": "Required. The question to update." +}, +"updateMask": { +"description": "Optional. Indicates which fields in the provided GenerativeQuestionConfig to update. The following are NOT supported: * GenerativeQuestionConfig.frequency If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaUserEvent": { +"description": "UserEvent captures all metadata information Retail API needs to know about how end users interact with customers' website.", +"id": "GoogleCloudRetailV2alphaUserEvent", +"properties": { +"attributes": { +"additionalProperties": { +"$ref": "GoogleCloudRetailV2alphaCustomAttribute" +}, +"description": "Extra user event features to include in the recommendation model. 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 Retail 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": "Highly recommended for user events that are the result of PredictionService.Predict. This field enables accurate attribution of recommendation model performance. The value must be a valid PredictResponse.attribution_token for user events that are the result of PredictionService.Predict. The value must be a valid SearchResponse.attribution_token for user events that are the result of SearchService.Search. This token enables us to accurately attribute page view or purchase 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 PredictResponse.attribution_token as a URL parameter to product K's page. When recording events on product K's page, log the PredictResponse.attribution_token to this field.", +"type": "string" +}, +"cartId": { +"description": "The ID or name of the associated shopping cart. This ID is used to associate multiple items added or present in the cart before purchase. This can only be set for `add-to-cart`, `purchase-complete`, or `shopping-cart-page-view` events.", +"type": "string" +}, +"completionDetail": { +"$ref": "GoogleCloudRetailV2alphaCompletionDetail", +"description": "The main auto-completion 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." +}, +"entity": { +"description": "The entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set this field to get better per-entity search, completion, and prediction results.", +"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: * `add-to-cart`: Products being added to cart. * `remove-from-cart`: Products being removed from cart. * `category-page-view`: Special pages such as sale or promotion pages viewed. * `detail-page-view`: Products detail page viewed. * `home-page-view`: Homepage viewed. * `promotion-offered`: Promotion is offered to a user. * `promotion-not-offered`: Promotion is not offered to a user. * `purchase-complete`: User finishing a purchase. * `search`: Product search. * `shopping-cart-page-view`: User viewing a shopping cart.", +"type": "string" +}, +"experimentIds": { +"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 (e.g. using Retail API, using different recommendation models).", +"items": { +"type": "string" +}, +"type": "array" +}, +"filter": { +"description": "The filter syntax consists of an expression language for constructing a predicate from one or more fields of the products being filtered. See SearchRequest.filter 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.", +"type": "string" +}, +"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. 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" +}, +"pageCategories": { +"description": "The categories 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: \"pageCategories\" : [\"Sales > 2017 Black Friday Deals\"]. Required for `category-page-view` events. At least one of search_query or page_categories is required for `search` events. Other event types should not set this field. Otherwise, an INVALID_ARGUMENT error is returned.", +"items": { +"type": "string" +}, +"type": "array" +}, +"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 `pageViewId` 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" +}, +"productDetails": { +"description": "The main product details related to the event. This field is optional except for the following event types: * `add-to-cart` * `detail-page-view` * `purchase-complete` In a `search` event, this field represents the products 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 product_details is desired. The end user may have not finished browsing the whole page yet.", +"items": { +"$ref": "GoogleCloudRetailV2alphaProductDetail" +}, +"type": "array" +}, +"purchaseTransaction": { +"$ref": "GoogleCloudRetailV2alphaPurchaseTransaction", +"description": "A transaction represents the entire purchase transaction. Required for `purchase-complete` events. Other event types should not set this field. Otherwise, an INVALID_ARGUMENT error is returned." +}, +"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.", +"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 page_categories is required for `search` events. Other event types should not set this field. Otherwise, an INVALID_ARGUMENT error is returned.", +"type": "string" +}, +"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 sesion_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 visitor_id as prefix.", +"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" +}, +"userInfo": { +"$ref": "GoogleCloudRetailV2alphaUserInfo", +"description": "User information." +}, +"visitorId": { +"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. 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. 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" +}, +"GoogleCloudRetailV2alphaUserEventImportSummary": { +"description": "A summary of import result. The UserEventImportSummary summarizes the import status for user events.", +"id": "GoogleCloudRetailV2alphaUserEventImportSummary", +"properties": { +"joinedEventsCount": { +"description": "Count of user events imported with complete existing catalog information.", +"format": "int64", +"type": "string" +}, +"unjoinedEventsCount": { +"description": "Count of user events imported, but with catalog information not found in the imported catalog.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaUserEventInlineSource": { +"description": "The inline source for the input config for ImportUserEvents method.", +"id": "GoogleCloudRetailV2alphaUserEventInlineSource", +"properties": { +"userEvents": { +"description": "Required. A list of user events to import. Recommended max of 10k items.", +"items": { +"$ref": "GoogleCloudRetailV2alphaUserEvent" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaUserEventInputConfig": { +"description": "The input config source for user events.", +"id": "GoogleCloudRetailV2alphaUserEventInputConfig", +"properties": { +"bigQuerySource": { +"$ref": "GoogleCloudRetailV2alphaBigQuerySource", +"description": "Required. BigQuery input source." +}, +"gcsSource": { +"$ref": "GoogleCloudRetailV2alphaGcsSource", +"description": "Required. Google Cloud Storage location for the input content." +}, +"userEventInlineSource": { +"$ref": "GoogleCloudRetailV2alphaUserEventInlineSource", +"description": "Required. The Inline source for the input content for UserEvents." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2alphaUserInfo": { +"description": "Information of an end user.", +"id": "GoogleCloudRetailV2alphaUserInfo", +"properties": { +"directUserRequest": { +"description": "True if the request is made directly from the end user, in which case the ip_address and 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" +}, +"ipAddress": { +"description": "The end user's IP address. This field is used to extract location information for personalization. This field must be either an IPv4 address (e.g. \"104.133.9.80\") or an IPv6 address (e.g. \"2001:0db8:85a3:0000:0000:8a2e:0370:7334\"). Otherwise, an INVALID_ARGUMENT error is returned. This should not be set when: * setting SearchRequest.user_info. * using the JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request is set.", +"type": "string" +}, +"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 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" +}, +"GoogleCloudRetailV2betaAddFulfillmentPlacesMetadata": { +"description": "Metadata related to the progress of the AddFulfillmentPlaces operation. Currently empty because there is no meaningful metadata populated from the ProductService.AddFulfillmentPlaces method.", +"id": "GoogleCloudRetailV2betaAddFulfillmentPlacesMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2betaAddFulfillmentPlacesResponse": { +"description": "Response of the AddFulfillmentPlacesRequest. Currently empty because there is no meaningful response populated from the ProductService.AddFulfillmentPlaces method.", +"id": "GoogleCloudRetailV2betaAddFulfillmentPlacesResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2betaAddLocalInventoriesMetadata": { +"description": "Metadata related to the progress of the AddLocalInventories operation. Currently empty because there is no meaningful metadata populated from the ProductService.AddLocalInventories method.", +"id": "GoogleCloudRetailV2betaAddLocalInventoriesMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2betaAddLocalInventoriesResponse": { +"description": "Response of the ProductService.AddLocalInventories API. Currently empty because there is no meaningful response populated from the ProductService.AddLocalInventories method.", +"id": "GoogleCloudRetailV2betaAddLocalInventoriesResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2betaBigQueryOutputResult": { +"description": "A BigQuery output result.", +"id": "GoogleCloudRetailV2betaBigQueryOutputResult", +"properties": { +"datasetId": { +"description": "The ID of a BigQuery Dataset.", +"type": "string" +}, +"tableId": { +"description": "The ID of a BigQuery Table.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2betaCreateModelMetadata": { +"description": "Metadata associated with a create operation.", +"id": "GoogleCloudRetailV2betaCreateModelMetadata", +"properties": { +"model": { +"description": "The resource name of the model that this create applies to. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2betaExportAnalyticsMetricsResponse": { +"description": "Response of the ExportAnalyticsMetricsRequest. 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": "GoogleCloudRetailV2betaExportAnalyticsMetricsResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"errorsConfig": { +"$ref": "GoogleCloudRetailV2betaExportErrorsConfig", +"description": "This field is never set." +}, +"outputResult": { +"$ref": "GoogleCloudRetailV2betaOutputResult", +"description": "Output result indicating where the data were exported to." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2betaExportErrorsConfig": { +"description": "Configuration of destination for Export related errors.", +"id": "GoogleCloudRetailV2betaExportErrorsConfig", +"properties": { +"gcsPrefix": { +"description": "Google Cloud Storage path for import errors. This must be an empty, existing Cloud Storage bucket. Export errors will be written to a file in this bucket, one per line, as a JSON-encoded `google.rpc.Status` message.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2betaExportMetadata": { +"description": "Metadata related to the progress of the Export operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudRetailV2betaExportMetadata", +"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" +}, +"GoogleCloudRetailV2betaExportProductsResponse": { +"description": "Response of the ExportProductsRequest. 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": "GoogleCloudRetailV2betaExportProductsResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"errorsConfig": { +"$ref": "GoogleCloudRetailV2betaExportErrorsConfig", +"description": "This field is never set." +}, +"outputResult": { +"$ref": "GoogleCloudRetailV2betaOutputResult", +"description": "Output result indicating where the data were exported to." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2betaExportUserEventsResponse": { +"description": "Response of the ExportUserEventsRequest. 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": "GoogleCloudRetailV2betaExportUserEventsResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"errorsConfig": { +"$ref": "GoogleCloudRetailV2betaExportErrorsConfig", +"description": "This field is never set." +}, +"outputResult": { +"$ref": "GoogleCloudRetailV2betaOutputResult", +"description": "Output result indicating where the data were exported to." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2betaGcsOutputResult": { +"description": "A Gcs output result.", +"id": "GoogleCloudRetailV2betaGcsOutputResult", +"properties": { +"outputUri": { +"description": "The uri of Gcs output", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2betaImportCompletionDataResponse": { +"description": "Response of the ImportCompletionDataRequest. If the long running operation is done, this message is returned by the google.longrunning.Operations.response field if the operation is successful.", +"id": "GoogleCloudRetailV2betaImportCompletionDataResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2betaImportErrorsConfig": { +"description": "Configuration of destination for Import related errors.", +"id": "GoogleCloudRetailV2betaImportErrorsConfig", +"properties": { +"gcsPrefix": { +"description": "Google 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" +}, +"GoogleCloudRetailV2betaImportMetadata": { +"description": "Metadata related to the progress of the Import operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudRetailV2betaImportMetadata", +"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" +}, +"notificationPubsubTopic": { +"description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification is sent to specified Pub/Sub topic. The message data is JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", +"type": "string" +}, +"requestId": { +"deprecated": true, +"description": "Deprecated. This field is never set.", +"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" +}, +"GoogleCloudRetailV2betaImportProductsResponse": { +"description": "Response of the ImportProductsRequest. 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": "GoogleCloudRetailV2betaImportProductsResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"errorsConfig": { +"$ref": "GoogleCloudRetailV2betaImportErrorsConfig", +"description": "Echoes the destination for the complete errors in the request if set." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2betaImportUserEventsResponse": { +"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": "GoogleCloudRetailV2betaImportUserEventsResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"errorsConfig": { +"$ref": "GoogleCloudRetailV2betaImportErrorsConfig", +"description": "Echoes the destination for the complete errors if this field was set in the request." +}, +"importSummary": { +"$ref": "GoogleCloudRetailV2betaUserEventImportSummary", +"description": "Aggregated statistics of user event import status." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2betaModel": { +"description": "Metadata that describes the training and serving parameters of a Model. A Model can be associated with a ServingConfig and then queried through the Predict API.", +"id": "GoogleCloudRetailV2betaModel", +"properties": { +"createTime": { +"description": "Output only. Timestamp the Recommendation Model was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataState": { +"description": "Output only. The state of data requirements for this model: `DATA_OK` and `DATA_ERROR`. Recommendation model cannot be trained if the data is in `DATA_ERROR` state. Recommendation model can have `DATA_ERROR` state even if serving state is `ACTIVE`: models were trained successfully before, but cannot be refreshed because model 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 model has sufficient training data.", +"The model does not have sufficient training data. Error messages can be queried via Stackdriver." +], +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Cloud Console Dashboard. UTF-8 encoded string with limit of 1024 characters.", +"type": "string" +}, +"filteringOption": { +"description": "Optional. If `RECOMMENDATIONS_FILTERING_ENABLED`, recommendation filtering by attributes is enabled for the model.", +"enum": [ +"RECOMMENDATIONS_FILTERING_OPTION_UNSPECIFIED", +"RECOMMENDATIONS_FILTERING_DISABLED", +"RECOMMENDATIONS_FILTERING_ENABLED" +], +"enumDescriptions": [ +"Value used when unset. In this case, server behavior defaults to RECOMMENDATIONS_FILTERING_DISABLED.", +"Recommendation filtering is disabled.", +"Recommendation filtering is enabled." +], +"type": "string" +}, +"lastTuneTime": { +"description": "Output only. The timestamp when the latest successful tune finished.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"modelFeaturesConfig": { +"$ref": "GoogleCloudRetailV2betaModelModelFeaturesConfig", +"description": "Optional. Additional model features config." +}, +"name": { +"description": "Required. The fully qualified resource name of the model. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}` catalog_id has char limit of 50. recommendation_model_id has char limit of 40.", +"type": "string" +}, +"optimizationObjective": { +"description": "Optional. The optimization objective e.g. `cvr`. Currently supported values: `ctr`, `cvr`, `revenue-per-order`. If not specified, we choose default based on model type. Default depends on type of recommendation: `recommended-for-you` => `ctr` `others-you-may-like` => `ctr` `frequently-bought-together` => `revenue_per_order` This field together with optimization_objective describe model metadata to use to control model training and serving. See https://cloud.google.com/retail/docs/models for more details on what the model metadata control and which combination of parameters are valid. For invalid combinations of parameters (e.g. type = `frequently-bought-together` and optimization_objective = `ctr`), you receive an error 400 if you try to create/update a recommendation with this set of knobs.", +"type": "string" +}, +"periodicTuningState": { +"description": "Optional. The state of periodic tuning. The period we use is 3 months - to do a one-off tune earlier use the `TuneModel` method. Default value is `PERIODIC_TUNING_ENABLED`.", +"enum": [ +"PERIODIC_TUNING_STATE_UNSPECIFIED", +"PERIODIC_TUNING_DISABLED", +"ALL_TUNING_DISABLED", +"PERIODIC_TUNING_ENABLED" +], +"enumDescriptions": [ +"Unspecified default value, should never be explicitly set.", +"The model has periodic tuning disabled. Tuning can be reenabled by calling the `EnableModelPeriodicTuning` method or by calling the `TuneModel` method.", +"The model cannot be tuned with periodic tuning OR the `TuneModel` method. Hide the options in customer UI and reject any requests through the backend self serve API.", +"The model has periodic tuning enabled. Tuning can be disabled by calling the `DisableModelPeriodicTuning` method." +], +"type": "string" +}, +"servingConfigLists": { +"description": "Output only. The list of valid serving configs associated with the PageOptimizationConfig.", +"items": { +"$ref": "GoogleCloudRetailV2betaModelServingConfigList" +}, +"readOnly": true, +"type": "array" +}, +"servingState": { +"description": "Output only. The serving state of the model: `ACTIVE`, `NOT_ACTIVE`.", +"enum": [ +"SERVING_STATE_UNSPECIFIED", +"INACTIVE", +"ACTIVE", +"TUNED" +], +"enumDescriptions": [ +"Unspecified serving state.", +"The model is not serving.", +"The model is serving and can be queried.", +"The model is trained on tuned hyperparameters and can be queried." +], +"readOnly": true, +"type": "string" +}, +"trainingState": { +"description": "Optional. The training state that the model 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 model in order to control cost. If not specified: the default value for `CreateModel` method is `TRAINING`. The default value for `UpdateModel` method is to keep the state the same as before.", +"enum": [ +"TRAINING_STATE_UNSPECIFIED", +"PAUSED", +"TRAINING" +], +"enumDescriptions": [ +"Unspecified training state.", +"The model training is paused.", +"The model is training." +], +"type": "string" +}, +"tuningOperation": { +"description": "Output only. The tune operation associated with the model. Can be used to determine if there is an ongoing tune for this recommendation. Empty field implies no tune is goig on.", +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Required. The type of model e.g. `home-page`. Currently supported values: `recommended-for-you`, `others-you-may-like`, `frequently-bought-together`, `page-optimization`, `similar-items`, `buy-it-again`, `on-sale-items`, and `recently-viewed`(readonly value). This field together with optimization_objective describe model metadata to use to control model training and serving. See https://cloud.google.com/retail/docs/models for more details on what the model metadata control and which combination of parameters are valid. For invalid combinations of parameters (e.g. type = `frequently-bought-together` and optimization_objective = `ctr`), you receive an error 400 if you try to create/update a recommendation with this set of knobs.", +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp the Recommendation Model was last updated. E.g. if a Recommendation Model was paused - this would be the time the pause was initiated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2betaModelFrequentlyBoughtTogetherFeaturesConfig": { +"description": "Additional configs for the frequently-bought-together model type.", +"id": "GoogleCloudRetailV2betaModelFrequentlyBoughtTogetherFeaturesConfig", +"properties": { +"contextProductsType": { +"description": "Optional. Specifies the context of the model when it is used in predict requests. Can only be set for the `frequently-bought-together` type. If it isn't specified, it defaults to MULTIPLE_CONTEXT_PRODUCTS.", +"enum": [ +"CONTEXT_PRODUCTS_TYPE_UNSPECIFIED", +"SINGLE_CONTEXT_PRODUCT", +"MULTIPLE_CONTEXT_PRODUCTS" +], +"enumDescriptions": [ +"Unspecified default value, should never be explicitly set. Defaults to MULTIPLE_CONTEXT_PRODUCTS.", +"Use only a single product as context for the recommendation. Typically used on pages like add-to-cart or product details.", +"Use one or multiple products as context for the recommendation. Typically used on shopping cart pages." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2betaModelModelFeaturesConfig": { +"description": "Additional model features config.", +"id": "GoogleCloudRetailV2betaModelModelFeaturesConfig", +"properties": { +"frequentlyBoughtTogetherConfig": { +"$ref": "GoogleCloudRetailV2betaModelFrequentlyBoughtTogetherFeaturesConfig", +"description": "Additional configs for frequently-bought-together models." +} +}, +"type": "object" +}, +"GoogleCloudRetailV2betaModelServingConfigList": { +"description": "Represents an ordered combination of valid serving configs, which can be used for `PAGE_OPTIMIZATION` recommendations.", +"id": "GoogleCloudRetailV2betaModelServingConfigList", +"properties": { +"servingConfigIds": { +"description": "Optional. A set of valid serving configs that may be used for `PAGE_OPTIMIZATION`.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2betaOutputResult": { +"description": "Output result that stores the information about where the exported data is stored.", +"id": "GoogleCloudRetailV2betaOutputResult", +"properties": { +"bigqueryResult": { +"description": "The BigQuery location where the result is stored.", +"items": { +"$ref": "GoogleCloudRetailV2betaBigQueryOutputResult" +}, +"type": "array" +}, +"gcsResult": { +"description": "The Google Cloud Storage location where the result is stored.", +"items": { +"$ref": "GoogleCloudRetailV2betaGcsOutputResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2betaPurgeMetadata": { +"description": "Metadata related to the progress of the Purge operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudRetailV2betaPurgeMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2betaPurgeProductsMetadata": { +"description": "Metadata related to the progress of the PurgeProducts operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudRetailV2betaPurgeProductsMetadata", +"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" +}, +"GoogleCloudRetailV2betaPurgeProductsResponse": { +"description": "Response of the PurgeProductsRequest. If the long running operation is successfully done, then this message is returned by the google.longrunning.Operations.response field.", +"id": "GoogleCloudRetailV2betaPurgeProductsResponse", +"properties": { +"purgeCount": { +"description": "The total count of products purged as a result of the operation.", +"format": "int64", +"type": "string" +}, +"purgeSample": { +"description": "A sample of the product 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" +}, +"GoogleCloudRetailV2betaPurgeUserEventsResponse": { +"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": "GoogleCloudRetailV2betaPurgeUserEventsResponse", +"properties": { +"purgedEventsCount": { +"description": "The total count of events purged as a result of the operation.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2betaRejoinUserEventsMetadata": { +"description": "Metadata for `RejoinUserEvents` method.", +"id": "GoogleCloudRetailV2betaRejoinUserEventsMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2betaRejoinUserEventsResponse": { +"description": "Response message for `RejoinUserEvents` method.", +"id": "GoogleCloudRetailV2betaRejoinUserEventsResponse", +"properties": { +"rejoinedUserEventsCount": { +"description": "Number of user events that were joined with latest product catalog.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2betaRemoveFulfillmentPlacesMetadata": { +"description": "Metadata related to the progress of the RemoveFulfillmentPlaces operation. Currently empty because there is no meaningful metadata populated from the ProductService.RemoveFulfillmentPlaces method.", +"id": "GoogleCloudRetailV2betaRemoveFulfillmentPlacesMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2betaRemoveFulfillmentPlacesResponse": { +"description": "Response of the RemoveFulfillmentPlacesRequest. Currently empty because there is no meaningful response populated from the ProductService.RemoveFulfillmentPlaces method.", +"id": "GoogleCloudRetailV2betaRemoveFulfillmentPlacesResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2betaRemoveLocalInventoriesMetadata": { +"description": "Metadata related to the progress of the RemoveLocalInventories operation. Currently empty because there is no meaningful metadata populated from the ProductService.RemoveLocalInventories method.", +"id": "GoogleCloudRetailV2betaRemoveLocalInventoriesMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2betaRemoveLocalInventoriesResponse": { +"description": "Response of the ProductService.RemoveLocalInventories API. Currently empty because there is no meaningful response populated from the ProductService.RemoveLocalInventories method.", +"id": "GoogleCloudRetailV2betaRemoveLocalInventoriesResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2betaSetInventoryMetadata": { +"description": "Metadata related to the progress of the SetInventory operation. Currently empty because there is no meaningful metadata populated from the ProductService.SetInventory method.", +"id": "GoogleCloudRetailV2betaSetInventoryMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2betaSetInventoryResponse": { +"description": "Response of the SetInventoryRequest. Currently empty because there is no meaningful response populated from the ProductService.SetInventory method.", +"id": "GoogleCloudRetailV2betaSetInventoryResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2betaTuneModelMetadata": { +"description": "Metadata associated with a tune operation.", +"id": "GoogleCloudRetailV2betaTuneModelMetadata", +"properties": { +"model": { +"description": "The resource name of the model that this tune applies to. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudRetailV2betaTuneModelResponse": { +"description": "Response associated with a tune operation.", +"id": "GoogleCloudRetailV2betaTuneModelResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudRetailV2betaUserEventImportSummary": { +"description": "A summary of import result. The UserEventImportSummary summarizes the import status for user events.", +"id": "GoogleCloudRetailV2betaUserEventImportSummary", +"properties": { +"joinedEventsCount": { +"description": "Count of user events imported with complete existing catalog information.", +"format": "int64", +"type": "string" +}, +"unjoinedEventsCount": { +"description": "Count of user events imported, but with catalog information not found in the imported catalog.", +"format": "int64", +"type": "string" +} +}, +"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" +}, +"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": "Vertex AI Search for Retail 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/securitycenter.v1beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/securitycenter.v1beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..5014585149b35523690aa7b1164ad9359e49e3f1 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/securitycenter.v1beta1.json @@ -0,0 +1,9112 @@ +{ +"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://securitycenter.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Security Command Center", +"description": "Security Command Center API provides access to temporal views of assets and findings within an organization.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/security-command-center", +"endpoints": [ +{ +"description": "Regional Endpoint", +"endpointUrl": "https://securitycenter.me-central2.rep.googleapis.com/", +"location": "me-central2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://securitycenter.us.rep.googleapis.com/", +"location": "us" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://securitycenter.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": "securitycenter:v1beta1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://securitycenter.mtls.googleapis.com/", +"name": "securitycenter", +"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": { +"methods": { +"getOrganizationSettings": { +"description": "Gets the settings for an organization.", +"flatPath": "v1beta1/organizations/{organizationsId}/organizationSettings", +"httpMethod": "GET", +"id": "securitycenter.organizations.getOrganizationSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the organization to get organization settings for. Its format is \"organizations/[organization_id]/organizationSettings\".", +"location": "path", +"pattern": "^organizations/[^/]+/organizationSettings$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "OrganizationSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateOrganizationSettings": { +"description": "Updates an organization's settings.", +"flatPath": "v1beta1/organizations/{organizationsId}/organizationSettings", +"httpMethod": "PATCH", +"id": "securitycenter.organizations.updateOrganizationSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The relative resource name of the settings. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/organizationSettings\".", +"location": "path", +"pattern": "^organizations/[^/]+/organizationSettings$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The FieldMask to use when updating the settings resource.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "OrganizationSettings" +}, +"response": { +"$ref": "OrganizationSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"assets": { +"methods": { +"group": { +"description": "Filters an organization's assets and groups them by their specified properties.", +"flatPath": "v1beta1/organizations/{organizationsId}/assets:group", +"httpMethod": "POST", +"id": "securitycenter.organizations.assets.group", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Name of the organization to groupBy. Its format is \"organizations/[organization_id]\".", +"location": "path", +"pattern": "^organizations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/assets:group", +"request": { +"$ref": "GroupAssetsRequest" +}, +"response": { +"$ref": "GroupAssetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists an organization's assets.", +"flatPath": "v1beta1/organizations/{organizationsId}/assets", +"httpMethod": "GET", +"id": "securitycenter.organizations.assets.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"compareDuration": { +"description": "When compare_duration is set, the ListAssetResult's \"state\" attribute is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible \"state\" values when compare_duration is specified: * \"ADDED\": indicates that the asset was not present before compare_duration, but present at read_time. * \"REMOVED\": indicates that the asset was present at the start of compare_duration, but not present at read_time. * \"ACTIVE\": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and read_time. If compare_duration is not specified, then the only possible state is \"UNUSED\", which indicates that the asset is present at read_time.", +"format": "google-duration", +"location": "query", +"type": "string" +}, +"fieldMask": { +"description": "Optional. A field mask to specify the ListAssetsResult fields to be listed in the response. An empty field mask will list all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"filter": { +"description": "Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are not supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include: * name * security_center_properties.resource_name * resource_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. For example, `resource_properties.size = 100` is a valid filter string.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: \"name,resource_properties.a_property\". The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be appended to the field name. For example: \"name desc,resource_properties.a_property\". Redundant space characters in the syntax are insignificant. \"name desc,resource_properties.a_property\" and \" name desc , resource_properties.a_property \" are equivalent.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The value returned by the last `ListAssetsResponse`; indicates that this is a continuation of a prior `ListAssets` call, and that the system should return the next page of data.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Name of the organization assets should belong to. Its format is \"organizations/[organization_id]\".", +"location": "path", +"pattern": "^organizations/[^/]+$", +"required": true, +"type": "string" +}, +"readTime": { +"description": "Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.", +"format": "google-datetime", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/assets", +"response": { +"$ref": "ListAssetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"runDiscovery": { +"description": "Runs asset discovery. The discovery is tracked with a long-running operation. This API can only be called with limited frequency for an organization. If it is called too frequently the caller will receive a TOO_MANY_REQUESTS error.", +"flatPath": "v1beta1/organizations/{organizationsId}/assets:runDiscovery", +"httpMethod": "POST", +"id": "securitycenter.organizations.assets.runDiscovery", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Name of the organization to run asset discovery for. Its format is \"organizations/[organization_id]\".", +"location": "path", +"pattern": "^organizations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/assets:runDiscovery", +"request": { +"$ref": "RunAssetDiscoveryRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateSecurityMarks": { +"description": "Updates security marks.", +"flatPath": "v1beta1/organizations/{organizationsId}/assets/{assetsId}/securityMarks", +"httpMethod": "PATCH", +"id": "securitycenter.organizations.assets.updateSecurityMarks", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", +"location": "path", +"pattern": "^organizations/[^/]+/assets/[^/]+/securityMarks$", +"required": true, +"type": "string" +}, +"startTime": { +"description": "The time at which the updated SecurityMarks take effect.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "The FieldMask to use when updating the security marks resource.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudSecuritycenterV1beta1SecurityMarks" +}, +"response": { +"$ref": "GoogleCloudSecuritycenterV1beta1SecurityMarks" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/organizations/{organizationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "securitycenter.organizations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^organizations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+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": "v1beta1/organizations/{organizationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "securitycenter.organizations.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^organizations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+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": "v1beta1/organizations/{organizationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "securitycenter.organizations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^organizations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+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": "v1beta1/organizations/{organizationsId}/operations", +"httpMethod": "GET", +"id": "securitycenter.organizations.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/[^/]+/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": "v1beta1/{+name}", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"sources": { +"methods": { +"create": { +"description": "Creates a source.", +"flatPath": "v1beta1/organizations/{organizationsId}/sources", +"httpMethod": "POST", +"id": "securitycenter.organizations.sources.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Resource name of the new source's parent. Its format should be \"organizations/[organization_id]\".", +"location": "path", +"pattern": "^organizations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/sources", +"request": { +"$ref": "Source" +}, +"response": { +"$ref": "Source" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a source.", +"flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}", +"httpMethod": "GET", +"id": "securitycenter.organizations.sources.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Relative resource name of the source. Its format is \"organizations/[organization_id]/source/[source_id]\".", +"location": "path", +"pattern": "^organizations/[^/]+/sources/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Source" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy on the specified Source.", +"flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}:getIamPolicy", +"httpMethod": "POST", +"id": "securitycenter.organizations.sources.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/[^/]+/sources/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:getIamPolicy", +"request": { +"$ref": "GetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all sources belonging to an organization.", +"flatPath": "v1beta1/organizations/{organizationsId}/sources", +"httpMethod": "GET", +"id": "securitycenter.organizations.sources.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The value returned by the last `ListSourcesResponse`; indicates that this is a continuation of a prior `ListSources` call, and that the system should return the next page of data.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Resource name of the parent of sources to list. Its format should be \"organizations/[organization_id]\".", +"location": "path", +"pattern": "^organizations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/sources", +"response": { +"$ref": "ListSourcesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a source.", +"flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}", +"httpMethod": "PATCH", +"id": "securitycenter.organizations.sources.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/sources/{source_id}\"", +"location": "path", +"pattern": "^organizations/[^/]+/sources/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The FieldMask to use when updating the source resource.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "Source" +}, +"response": { +"$ref": "Source" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified Source.", +"flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}:setIamPolicy", +"httpMethod": "POST", +"id": "securitycenter.organizations.sources.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/[^/]+/sources/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns the permissions that a caller has on the specified source.", +"flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}:testIamPermissions", +"httpMethod": "POST", +"id": "securitycenter.organizations.sources.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/[^/]+/sources/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"findings": { +"methods": { +"create": { +"description": "Creates a finding. The corresponding source must exist for finding creation to succeed.", +"flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}/findings", +"httpMethod": "POST", +"id": "securitycenter.organizations.sources.findings.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"findingId": { +"description": "Required. Unique identifier provided by the client within the parent scope. It must be alphanumeric and less than or equal to 32 characters and greater than 0 characters in length.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Resource name of the new finding's parent. Its format should be \"organizations/[organization_id]/sources/[source_id]\".", +"location": "path", +"pattern": "^organizations/[^/]+/sources/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/findings", +"request": { +"$ref": "GoogleCloudSecuritycenterV1beta1Finding" +}, +"response": { +"$ref": "GoogleCloudSecuritycenterV1beta1Finding" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"group": { +"description": "Filters an organization or source's findings and groups them by their specified properties. To group across all sources provide a `-` as the source id. Example: /v1beta1/organizations/{organization_id}/sources/-/findings", +"flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}/findings:group", +"httpMethod": "POST", +"id": "securitycenter.organizations.sources.findings.group", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Name of the source to groupBy. Its format is \"organizations/[organization_id]/sources/[source_id]\". To groupBy across all sources provide a source_id of `-`. For example: organizations/{organization_id}/sources/-", +"location": "path", +"pattern": "^organizations/[^/]+/sources/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/findings:group", +"request": { +"$ref": "GroupFindingsRequest" +}, +"response": { +"$ref": "GroupFindingsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists an organization or source's findings. To list across all sources provide a `-` as the source id. Example: /v1beta1/organizations/{organization_id}/sources/-/findings", +"flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}/findings", +"httpMethod": "GET", +"id": "securitycenter.organizations.sources.findings.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"fieldMask": { +"description": "Optional. A field mask to specify the Finding fields to be listed in the response. An empty field mask will list all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"filter": { +"description": "Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators `AND` and `OR`. Parentheses are not supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. Examples include: * name * source_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. For example, `source_properties.size = 100` is a valid filter string.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: \"name,resource_properties.a_property\". The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be appended to the field name. For example: \"name desc,source_properties.a_property\". Redundant space characters in the syntax are insignificant. \"name desc,source_properties.a_property\" and \" name desc , source_properties.a_property \" are equivalent.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The value returned by the last `ListFindingsResponse`; indicates that this is a continuation of a prior `ListFindings` call, and that the system should return the next page of data.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Name of the source the findings belong to. Its format is \"organizations/[organization_id]/sources/[source_id]\". To list across all sources provide a source_id of `-`. For example: organizations/{organization_id}/sources/-", +"location": "path", +"pattern": "^organizations/[^/]+/sources/[^/]+$", +"required": true, +"type": "string" +}, +"readTime": { +"description": "Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.", +"format": "google-datetime", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/findings", +"response": { +"$ref": "ListFindingsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Creates or updates a finding. The corresponding source must exist for a finding creation to succeed.", +"flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}/findings/{findingsId}", +"httpMethod": "PATCH", +"id": "securitycenter.organizations.sources.findings.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The relative resource name of this finding. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\"", +"location": "path", +"pattern": "^organizations/[^/]+/sources/[^/]+/findings/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The FieldMask to use when updating the finding resource. This field should not be specified when creating a finding.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudSecuritycenterV1beta1Finding" +}, +"response": { +"$ref": "GoogleCloudSecuritycenterV1beta1Finding" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setState": { +"description": "Updates the state of a finding.", +"flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}/findings/{findingsId}:setState", +"httpMethod": "POST", +"id": "securitycenter.organizations.sources.findings.setState", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the finding. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/sources/{source_id}/finding/{finding_id}\".", +"location": "path", +"pattern": "^organizations/[^/]+/sources/[^/]+/findings/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:setState", +"request": { +"$ref": "SetFindingStateRequest" +}, +"response": { +"$ref": "GoogleCloudSecuritycenterV1beta1Finding" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateSecurityMarks": { +"description": "Updates security marks.", +"flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}/findings/{findingsId}/securityMarks", +"httpMethod": "PATCH", +"id": "securitycenter.organizations.sources.findings.updateSecurityMarks", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", +"location": "path", +"pattern": "^organizations/[^/]+/sources/[^/]+/findings/[^/]+/securityMarks$", +"required": true, +"type": "string" +}, +"startTime": { +"description": "The time at which the updated SecurityMarks take effect.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "The FieldMask to use when updating the security marks resource.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudSecuritycenterV1beta1SecurityMarks" +}, +"response": { +"$ref": "GoogleCloudSecuritycenterV1beta1SecurityMarks" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20250103", +"rootUrl": "https://securitycenter.googleapis.com/", +"schemas": { +"Access": { +"description": "Represents an access event.", +"id": "Access", +"properties": { +"callerIp": { +"description": "Caller's IP address, such as \"1.1.1.1\".", +"type": "string" +}, +"callerIpGeo": { +"$ref": "Geolocation", +"description": "The caller IP's geolocation, which identifies where the call came from." +}, +"methodName": { +"description": "The method that the service account called, e.g. \"SetIamPolicy\".", +"type": "string" +}, +"principalEmail": { +"description": "Associated email, such as \"foo@google.com\". The email address of the authenticated user or a service account acting on behalf of a 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": "A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`.", +"type": "string" +}, +"serviceAccountDelegationInfo": { +"description": "The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are 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 that was used to create or exchange credentials when authenticating the service account that made 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" +}, +"serviceName": { +"description": "This is the API service that the service account made a call to, e.g. \"iam.googleapis.com\"", +"type": "string" +}, +"userAgent": { +"description": "The caller's user agent string associated with the finding.", +"type": "string" +}, +"userAgentFamily": { +"description": "Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application.", +"type": "string" +}, +"userName": { +"description": "A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username.", +"type": "string" +} +}, +"type": "object" +}, +"AccessReview": { +"description": "Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding.", +"id": "AccessReview", +"properties": { +"group": { +"description": "The API group of the resource. \"*\" means all.", +"type": "string" +}, +"name": { +"description": "The name of the resource being requested. Empty means all.", +"type": "string" +}, +"ns": { +"description": "Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by \"\" (empty).", +"type": "string" +}, +"resource": { +"description": "The optional resource type requested. \"*\" means all.", +"type": "string" +}, +"subresource": { +"description": "The optional subresource type.", +"type": "string" +}, +"verb": { +"description": "A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. \"*\" means all.", +"type": "string" +}, +"version": { +"description": "The API version of the resource. \"*\" means all.", +"type": "string" +} +}, +"type": "object" +}, +"AdaptiveProtection": { +"description": "Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection).", +"id": "AdaptiveProtection", +"properties": { +"confidence": { +"description": "A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"Application": { +"description": "Represents an application associated with a finding.", +"id": "Application", +"properties": { +"baseUri": { +"description": "The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`.", +"type": "string" +}, +"fullUri": { +"description": "The full URI with payload that can be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`.", +"type": "string" +} +}, +"type": "object" +}, +"Asset": { +"description": "Security Command Center representation of a Google Cloud resource. The Asset is a Security Command Center resource that captures information about a single Google Cloud resource. All modifications to an Asset are only within the context of Security Command Center and don't affect the referenced Google Cloud resource.", +"id": "Asset", +"properties": { +"createTime": { +"description": "The time at which the asset was created in Security Command Center.", +"format": "google-datetime", +"type": "string" +}, +"name": { +"description": "The relative resource name of this asset. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/assets/{asset_id}\".", +"type": "string" +}, +"resourceProperties": { +"additionalProperties": { +"type": "any" +}, +"description": "Resource managed properties. These properties are managed and defined by the Google Cloud resource and cannot be modified by the user.", +"type": "object" +}, +"securityCenterProperties": { +"$ref": "SecurityCenterProperties", +"description": "Security Command Center managed properties. These properties are managed by Security Command Center and cannot be modified by the user." +}, +"securityMarks": { +"$ref": "GoogleCloudSecuritycenterV1beta1SecurityMarks", +"description": "User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the asset." +}, +"updateTime": { +"description": "The time at which the asset was last updated, added, or deleted in Security Command Center.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"AssetDiscoveryConfig": { +"description": "The configuration used for Asset Discovery runs.", +"id": "AssetDiscoveryConfig", +"properties": { +"inclusionMode": { +"description": "The mode to use for filtering asset discovery.", +"enum": [ +"INCLUSION_MODE_UNSPECIFIED", +"INCLUDE_ONLY", +"EXCLUDE" +], +"enumDescriptions": [ +"Unspecified. Setting the mode with this value will disable inclusion/exclusion filtering for Asset Discovery.", +"Asset Discovery will capture only the resources within the projects specified. All other resources will be ignored.", +"Asset Discovery will ignore all resources under the projects specified. All other resources will be retrieved." +], +"type": "string" +}, +"projectIds": { +"description": "The project ids to use for filtering asset discovery.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Attack": { +"description": "Information about DDoS attack volume and classification.", +"id": "Attack", +"properties": { +"classification": { +"description": "Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'.", +"type": "string" +}, +"volumeBps": { +"deprecated": true, +"description": "Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead.", +"format": "int32", +"type": "integer" +}, +"volumeBpsLong": { +"description": "Total BPS (bytes per second) volume of attack.", +"format": "int64", +"type": "string" +}, +"volumePps": { +"deprecated": true, +"description": "Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead.", +"format": "int32", +"type": "integer" +}, +"volumePpsLong": { +"description": "Total PPS (packets per second) volume of attack.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"AttackExposure": { +"description": "An attack exposure contains the results of an attack path simulation run.", +"id": "AttackExposure", +"properties": { +"attackExposureResult": { +"description": "The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789`", +"type": "string" +}, +"exposedHighValueResourcesCount": { +"description": "The number of high value resources that are exposed as a result of this finding.", +"format": "int32", +"type": "integer" +}, +"exposedLowValueResourcesCount": { +"description": "The number of high value resources that are exposed as a result of this finding.", +"format": "int32", +"type": "integer" +}, +"exposedMediumValueResourcesCount": { +"description": "The number of medium value resources that are exposed as a result of this finding.", +"format": "int32", +"type": "integer" +}, +"latestCalculationTime": { +"description": "The most recent time the attack exposure was updated on this finding.", +"format": "google-datetime", +"type": "string" +}, +"score": { +"description": "A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate.", +"format": "double", +"type": "number" +}, +"state": { +"description": "What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not.", +"enum": [ +"STATE_UNSPECIFIED", +"CALCULATED", +"NOT_CALCULATED" +], +"enumDescriptions": [ +"The state is not specified.", +"The attack exposure has been calculated.", +"The attack exposure has not been calculated." +], +"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" +}, +"AwsAccount": { +"description": "An AWS account that is a member of an organization.", +"id": "AwsAccount", +"properties": { +"id": { +"description": "The unique identifier (ID) of the account, containing exactly 12 digits.", +"type": "string" +}, +"name": { +"description": "The friendly name of this account.", +"type": "string" +} +}, +"type": "object" +}, +"AwsMetadata": { +"description": "AWS metadata associated with the resource, only applicable if the finding's cloud provider is Amazon Web Services.", +"id": "AwsMetadata", +"properties": { +"account": { +"$ref": "AwsAccount", +"description": "The AWS account associated with the resource." +}, +"organization": { +"$ref": "AwsOrganization", +"description": "The AWS organization associated with the resource." +}, +"organizationalUnits": { +"description": "A list of AWS organizational units associated with the resource, ordered from lowest level (closest to the account) to highest level.", +"items": { +"$ref": "AwsOrganizationalUnit" +}, +"type": "array" +} +}, +"type": "object" +}, +"AwsOrganization": { +"description": "An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies.", +"id": "AwsOrganization", +"properties": { +"id": { +"description": "The unique identifier (ID) for the organization. The regex pattern for an organization ID string requires \"o-\" followed by from 10 to 32 lowercase letters or digits.", +"type": "string" +} +}, +"type": "object" +}, +"AwsOrganizationalUnit": { +"description": "An Organizational Unit (OU) is a container of AWS accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs.", +"id": "AwsOrganizationalUnit", +"properties": { +"id": { +"description": "The unique identifier (ID) associated with this OU. The regex pattern for an organizational unit ID string requires \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits. For example, \"ou-ab12-cd34ef56\".", +"type": "string" +}, +"name": { +"description": "The friendly name of the OU.", +"type": "string" +} +}, +"type": "object" +}, +"AzureManagementGroup": { +"description": "Represents an Azure management group.", +"id": "AzureManagementGroup", +"properties": { +"displayName": { +"description": "The display name of the Azure management group.", +"type": "string" +}, +"id": { +"description": "The UUID of the Azure management group, for example, `20000000-0001-0000-0000-000000000000`.", +"type": "string" +} +}, +"type": "object" +}, +"AzureMetadata": { +"description": "Azure metadata associated with the resource, only applicable if the finding's cloud provider is Microsoft Azure.", +"id": "AzureMetadata", +"properties": { +"managementGroups": { +"description": "A list of Azure management groups associated with the resource, ordered from lowest level (closest to the subscription) to highest level.", +"items": { +"$ref": "AzureManagementGroup" +}, +"type": "array" +}, +"resourceGroup": { +"$ref": "AzureResourceGroup", +"description": "The Azure resource group associated with the resource." +}, +"subscription": { +"$ref": "AzureSubscription", +"description": "The Azure subscription associated with the resource." +}, +"tenant": { +"$ref": "AzureTenant", +"description": "The Azure Entra tenant associated with the resource." +} +}, +"type": "object" +}, +"AzureResourceGroup": { +"description": "Represents an Azure resource group.", +"id": "AzureResourceGroup", +"properties": { +"id": { +"description": "The ID of the Azure resource group.", +"type": "string" +}, +"name": { +"description": "The name of the Azure resource group. This is not a UUID.", +"type": "string" +} +}, +"type": "object" +}, +"AzureSubscription": { +"description": "Represents an Azure subscription.", +"id": "AzureSubscription", +"properties": { +"displayName": { +"description": "The display name of the Azure subscription.", +"type": "string" +}, +"id": { +"description": "The UUID of the Azure subscription, for example, `291bba3f-e0a5-47bc-a099-3bdcb2a50a05`.", +"type": "string" +} +}, +"type": "object" +}, +"AzureTenant": { +"description": "Represents a Microsoft Entra tenant.", +"id": "AzureTenant", +"properties": { +"displayName": { +"description": "The display name of the Azure tenant.", +"type": "string" +}, +"id": { +"description": "The ID of the Microsoft Entra tenant, for example, \"a11aaa11-aa11-1aa1-11aa-1aaa11a\".", +"type": "string" +} +}, +"type": "object" +}, +"BackupDisasterRecovery": { +"description": "Information related to Google Cloud Backup and DR Service findings.", +"id": "BackupDisasterRecovery", +"properties": { +"appliance": { +"description": "The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`.", +"type": "string" +}, +"applications": { +"description": "The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"backupCreateTime": { +"description": "The timestamp at which the Backup and DR backup was created.", +"format": "google-datetime", +"type": "string" +}, +"backupTemplate": { +"description": "The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`.", +"type": "string" +}, +"backupType": { +"description": "The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`.", +"type": "string" +}, +"host": { +"description": "The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`.", +"type": "string" +}, +"policies": { +"description": "The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"policyOptions": { +"description": "The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"profile": { +"description": "The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`.", +"type": "string" +}, +"storagePool": { +"description": "The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`.", +"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" +}, +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"CloudArmor": { +"description": "Fields related to Google Cloud Armor findings.", +"id": "CloudArmor", +"properties": { +"adaptiveProtection": { +"$ref": "AdaptiveProtection", +"description": "Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview)." +}, +"attack": { +"$ref": "Attack", +"description": "Information about DDoS attack volume and classification." +}, +"duration": { +"description": "Duration of attack from the start until the current moment (updated every 5 minutes).", +"format": "google-duration", +"type": "string" +}, +"requests": { +"$ref": "Requests", +"description": "Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview)." +}, +"securityPolicy": { +"$ref": "SecurityPolicy", +"description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding." +}, +"threatVector": { +"description": "Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, \"L3_4\" for Layer 3 and Layer 4 DDoS attacks, or \"L_7\" for Layer 7 DDoS attacks.", +"type": "string" +} +}, +"type": "object" +}, +"CloudDlpDataProfile": { +"description": "The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding.", +"id": "CloudDlpDataProfile", +"properties": { +"dataProfile": { +"description": "Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`.", +"type": "string" +}, +"parentType": { +"description": "The resource hierarchy level at which the data profile was generated.", +"enum": [ +"PARENT_TYPE_UNSPECIFIED", +"ORGANIZATION", +"PROJECT" +], +"enumDescriptions": [ +"Unspecified parent type.", +"Organization-level configurations.", +"Project-level configurations." +], +"type": "string" +} +}, +"type": "object" +}, +"CloudDlpInspection": { +"description": "Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding.", +"id": "CloudDlpInspection", +"properties": { +"fullScan": { +"description": "Whether Cloud DLP scanned the complete resource or a sampled subset.", +"type": "boolean" +}, +"infoType": { +"description": "The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`.", +"type": "string" +}, +"infoTypeCount": { +"description": "The number of times Cloud DLP found this infoType within this job and resource.", +"format": "int64", +"type": "string" +}, +"inspectJob": { +"description": "Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`.", +"type": "string" +} +}, +"type": "object" +}, +"CloudLoggingEntry": { +"description": "Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry)", +"id": "CloudLoggingEntry", +"properties": { +"insertId": { +"description": "A unique identifier for the log entry.", +"type": "string" +}, +"logId": { +"description": "The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity`. Note that this field is not URL-encoded, unlike the `LOG_ID` field in `LogEntry`.", +"type": "string" +}, +"resourceContainer": { +"description": "The organization, folder, or project of the monitored resource that produced this log entry.", +"type": "string" +}, +"timestamp": { +"description": "The time the event described by the log entry occurred.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"Compliance": { +"description": "Contains compliance information about a security standard indicating unmet recommendations.", +"id": "Compliance", +"properties": { +"ids": { +"description": "Policies within the standard or benchmark, for example, A.12.4.1", +"items": { +"type": "string" +}, +"type": "array" +}, +"standard": { +"description": "Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP.", +"type": "string" +}, +"version": { +"description": "Version of the standard or benchmark, for example, 1.1", +"type": "string" +} +}, +"type": "object" +}, +"ComplianceSnapshot": { +"description": "Result containing the properties and count of a ComplianceSnapshot request.", +"id": "ComplianceSnapshot", +"properties": { +"category": { +"description": "The category of Findings matching.", +"type": "string" +}, +"cloudProvider": { +"description": "The cloud provider for the compliance snapshot.", +"enum": [ +"CLOUD_PROVIDER_UNSPECIFIED", +"GOOGLE_CLOUD_PLATFORM", +"AMAZON_WEB_SERVICES", +"MICROSOFT_AZURE" +], +"enumDescriptions": [ +"The cloud provider is unspecified.", +"The cloud provider is Google Cloud Platform.", +"The cloud provider is Amazon Web Services.", +"The cloud provider is Microsoft Azure." +], +"type": "string" +}, +"complianceStandard": { +"description": "The compliance standard (ie CIS).", +"type": "string" +}, +"complianceVersion": { +"description": "The compliance version (ie 1.3) in CIS 1.3.", +"type": "string" +}, +"count": { +"description": "Total count of findings for the given properties.", +"format": "int64", +"type": "string" +}, +"leafContainerResource": { +"description": "The leaf container resource name that is closest to the snapshot.", +"type": "string" +}, +"name": { +"description": "The compliance snapshot name. Format: //sources//complianceSnapshots/", +"type": "string" +}, +"snapshotTime": { +"description": "The snapshot time of the snapshot.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"Connection": { +"description": "Contains information about the IP connection associated with the finding.", +"id": "Connection", +"properties": { +"destinationIp": { +"description": "Destination IP address. Not present for sockets that are listening and not connected.", +"type": "string" +}, +"destinationPort": { +"description": "Destination port. Not present for sockets that are listening and not connected.", +"format": "int32", +"type": "integer" +}, +"protocol": { +"description": "IANA Internet Protocol Number such as TCP(6) and UDP(17).", +"enum": [ +"PROTOCOL_UNSPECIFIED", +"ICMP", +"TCP", +"UDP", +"GRE", +"ESP" +], +"enumDescriptions": [ +"Unspecified protocol (not HOPOPT).", +"Internet Control Message Protocol.", +"Transmission Control Protocol.", +"User Datagram Protocol.", +"Generic Routing Encapsulation.", +"Encap Security Payload." +], +"type": "string" +}, +"sourceIp": { +"description": "Source IP address.", +"type": "string" +}, +"sourcePort": { +"description": "Source port.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Contact": { +"description": "The email address of a contact.", +"id": "Contact", +"properties": { +"email": { +"description": "An email address. For example, \"`person123@company.com`\".", +"type": "string" +} +}, +"type": "object" +}, +"ContactDetails": { +"description": "Details about specific contacts", +"id": "ContactDetails", +"properties": { +"contacts": { +"description": "A list of contacts", +"items": { +"$ref": "Contact" +}, +"type": "array" +} +}, +"type": "object" +}, +"Container": { +"description": "Container associated with the finding.", +"id": "Container", +"properties": { +"createTime": { +"description": "The time that the container was created.", +"format": "google-datetime", +"type": "string" +}, +"imageId": { +"description": "Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest.", +"type": "string" +}, +"labels": { +"description": "Container labels, as provided by the container runtime.", +"items": { +"$ref": "Label" +}, +"type": "array" +}, +"name": { +"description": "Name of the container.", +"type": "string" +}, +"uri": { +"description": "Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags.", +"type": "string" +} +}, +"type": "object" +}, +"Cve": { +"description": "CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability.", +"id": "Cve", +"properties": { +"cvssv3": { +"$ref": "Cvssv3", +"description": "Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document" +}, +"exploitReleaseDate": { +"description": "Date the first publicly available exploit or PoC was released.", +"format": "google-datetime", +"type": "string" +}, +"exploitationActivity": { +"description": "The exploitation activity of the vulnerability in the wild.", +"enum": [ +"EXPLOITATION_ACTIVITY_UNSPECIFIED", +"WIDE", +"CONFIRMED", +"AVAILABLE", +"ANTICIPATED", +"NO_KNOWN" +], +"enumDescriptions": [ +"Invalid or empty value.", +"Exploitation has been reported or confirmed to widely occur.", +"Limited reported or confirmed exploitation activities.", +"Exploit is publicly available.", +"No known exploitation activity, but has a high potential for exploitation.", +"No known exploitation activity." +], +"type": "string" +}, +"firstExploitationDate": { +"description": "Date of the earliest known exploitation.", +"format": "google-datetime", +"type": "string" +}, +"id": { +"description": "The unique identifier for the vulnerability. e.g. CVE-2021-34527", +"type": "string" +}, +"impact": { +"description": "The potential impact of the vulnerability if it was to be exploited.", +"enum": [ +"RISK_RATING_UNSPECIFIED", +"LOW", +"MEDIUM", +"HIGH", +"CRITICAL" +], +"enumDescriptions": [ +"Invalid or empty value.", +"Exploitation would have little to no security impact.", +"Exploitation would enable attackers to perform activities, or could allow attackers to have a direct impact, but would require additional steps.", +"Exploitation would enable attackers to have a notable direct impact without needing to overcome any major mitigating factors.", +"Exploitation would fundamentally undermine the security of affected systems, enable actors to perform significant attacks with minimal effort, with little to no mitigating factors to overcome." +], +"type": "string" +}, +"observedInTheWild": { +"description": "Whether or not the vulnerability has been observed in the wild.", +"type": "boolean" +}, +"references": { +"description": "Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527", +"items": { +"$ref": "Reference" +}, +"type": "array" +}, +"upstreamFixAvailable": { +"description": "Whether upstream fix is available for the CVE.", +"type": "boolean" +}, +"zeroDay": { +"description": "Whether or not the vulnerability was zero day when the finding was published.", +"type": "boolean" +} +}, +"type": "object" +}, +"Cvssv3": { +"description": "Common Vulnerability Scoring System version 3.", +"id": "Cvssv3", +"properties": { +"attackComplexity": { +"description": "This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability.", +"enum": [ +"ATTACK_COMPLEXITY_UNSPECIFIED", +"ATTACK_COMPLEXITY_LOW", +"ATTACK_COMPLEXITY_HIGH" +], +"enumDescriptions": [ +"Invalid value.", +"Specialized access conditions or extenuating circumstances do not exist. An attacker can expect repeatable success when attacking the vulnerable component.", +"A successful attack depends on conditions beyond the attacker's control. That is, a successful attack cannot be accomplished at will, but requires the attacker to invest in some measurable amount of effort in preparation or execution against the vulnerable component before a successful attack can be expected." +], +"type": "string" +}, +"attackVector": { +"description": "Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible.", +"enum": [ +"ATTACK_VECTOR_UNSPECIFIED", +"ATTACK_VECTOR_NETWORK", +"ATTACK_VECTOR_ADJACENT", +"ATTACK_VECTOR_LOCAL", +"ATTACK_VECTOR_PHYSICAL" +], +"enumDescriptions": [ +"Invalid value.", +"The vulnerable component is bound to the network stack and the set of possible attackers extends beyond the other options listed below, up to and including the entire Internet.", +"The vulnerable component is bound to the network stack, but the attack is limited at the protocol level to a logically adjacent topology.", +"The vulnerable component is not bound to the network stack and the attacker's path is via read/write/execute capabilities.", +"The attack requires the attacker to physically touch or manipulate the vulnerable component." +], +"type": "string" +}, +"availabilityImpact": { +"description": "This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability.", +"enum": [ +"IMPACT_UNSPECIFIED", +"IMPACT_HIGH", +"IMPACT_LOW", +"IMPACT_NONE" +], +"enumDescriptions": [ +"Invalid value.", +"High impact.", +"Low impact.", +"No impact." +], +"type": "string" +}, +"baseScore": { +"description": "The base score is a function of the base metric scores.", +"format": "double", +"type": "number" +}, +"confidentialityImpact": { +"description": "This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability.", +"enum": [ +"IMPACT_UNSPECIFIED", +"IMPACT_HIGH", +"IMPACT_LOW", +"IMPACT_NONE" +], +"enumDescriptions": [ +"Invalid value.", +"High impact.", +"Low impact.", +"No impact." +], +"type": "string" +}, +"integrityImpact": { +"description": "This metric measures the impact to integrity of a successfully exploited vulnerability.", +"enum": [ +"IMPACT_UNSPECIFIED", +"IMPACT_HIGH", +"IMPACT_LOW", +"IMPACT_NONE" +], +"enumDescriptions": [ +"Invalid value.", +"High impact.", +"Low impact.", +"No impact." +], +"type": "string" +}, +"privilegesRequired": { +"description": "This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability.", +"enum": [ +"PRIVILEGES_REQUIRED_UNSPECIFIED", +"PRIVILEGES_REQUIRED_NONE", +"PRIVILEGES_REQUIRED_LOW", +"PRIVILEGES_REQUIRED_HIGH" +], +"enumDescriptions": [ +"Invalid value.", +"The attacker is unauthorized prior to attack, and therefore does not require any access to settings or files of the vulnerable system to carry out an attack.", +"The attacker requires privileges that provide basic user capabilities that could normally affect only settings and files owned by a user. Alternatively, an attacker with Low privileges has the ability to access only non-sensitive resources.", +"The attacker requires privileges that provide significant (e.g., administrative) control over the vulnerable component allowing access to component-wide settings and files." +], +"type": "string" +}, +"scope": { +"description": "The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope.", +"enum": [ +"SCOPE_UNSPECIFIED", +"SCOPE_UNCHANGED", +"SCOPE_CHANGED" +], +"enumDescriptions": [ +"Invalid value.", +"An exploited vulnerability can only affect resources managed by the same security authority.", +"An exploited vulnerability can affect resources beyond the security scope managed by the security authority of the vulnerable component." +], +"type": "string" +}, +"userInteraction": { +"description": "This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component.", +"enum": [ +"USER_INTERACTION_UNSPECIFIED", +"USER_INTERACTION_NONE", +"USER_INTERACTION_REQUIRED" +], +"enumDescriptions": [ +"Invalid value.", +"The vulnerable system can be exploited without interaction from any user.", +"Successful exploitation of this vulnerability requires a user to take some action before the vulnerability can be exploited." +], +"type": "string" +} +}, +"type": "object" +}, +"DataAccessEvent": { +"description": "Details about a data access attempt made by a principal not authorized under applicable data security policy.", +"id": "DataAccessEvent", +"properties": { +"eventId": { +"description": "Unique identifier for data access event.", +"type": "string" +}, +"eventTime": { +"description": "Timestamp of data access event.", +"format": "google-datetime", +"type": "string" +}, +"operation": { +"description": "The operation performed by the principal to access the data.", +"enum": [ +"OPERATION_UNSPECIFIED", +"READ", +"MOVE", +"COPY" +], +"enumDescriptions": [ +"The operation is unspecified.", +"Represents a read operation.", +"Represents a move operation.", +"Represents a copy operation." +], +"type": "string" +}, +"principalEmail": { +"description": "The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other.", +"type": "string" +} +}, +"type": "object" +}, +"DataFlowEvent": { +"description": "Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy.", +"id": "DataFlowEvent", +"properties": { +"eventId": { +"description": "Unique identifier for data flow event.", +"type": "string" +}, +"eventTime": { +"description": "Timestamp of data flow event.", +"format": "google-datetime", +"type": "string" +}, +"operation": { +"description": "The operation performed by the principal for the data flow event.", +"enum": [ +"OPERATION_UNSPECIFIED", +"READ", +"MOVE", +"COPY" +], +"enumDescriptions": [ +"The operation is unspecified.", +"Represents a read operation.", +"Represents a move operation.", +"Represents a copy operation." +], +"type": "string" +}, +"principalEmail": { +"description": "The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other.", +"type": "string" +}, +"violatedLocation": { +"description": "Non-compliant location of the principal or the data destination.", +"type": "string" +} +}, +"type": "object" +}, +"DataRetentionDeletionEvent": { +"description": "Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments.", +"id": "DataRetentionDeletionEvent", +"properties": { +"dataObjectCount": { +"description": "Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000.", +"format": "int64", +"type": "string" +}, +"eventDetectionTime": { +"description": "Timestamp indicating when the event was detected.", +"format": "google-datetime", +"type": "string" +}, +"eventType": { +"description": "Type of the DRD event.", +"enum": [ +"EVENT_TYPE_UNSPECIFIED", +"EVENT_TYPE_MAX_TTL_EXCEEDED" +], +"enumDescriptions": [ +"Unspecified event type.", +"The maximum retention time has been exceeded." +], +"type": "string" +}, +"maxRetentionAllowed": { +"description": "Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user set the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"Database": { +"description": "Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided.", +"id": "Database", +"properties": { +"displayName": { +"description": "The human-readable name of the database that the user connected to.", +"type": "string" +}, +"grantees": { +"description": "The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory.", +"type": "string" +}, +"query": { +"description": "The SQL statement that is associated with the database access.", +"type": "string" +}, +"userName": { +"description": "The username used to connect to the database. The username might not be an IAM principal and does not have a set format.", +"type": "string" +}, +"version": { +"description": "The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion).", +"type": "string" +} +}, +"type": "object" +}, +"Detection": { +"description": "Memory hash detection contributing to the binary family match.", +"id": "Detection", +"properties": { +"binary": { +"description": "The name of the binary associated with the memory hash signature detection.", +"type": "string" +}, +"percentPagesMatched": { +"description": "The percentage of memory page hashes in the signature that were matched.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"Disk": { +"description": "Contains information about the disk associated with the finding.", +"id": "Disk", +"properties": { +"name": { +"description": "The name of the disk, for example, \"https://www.googleapis.com/compute/v1/projects/project-id/zones/zone-id/disks/disk-id\".", +"type": "string" +} +}, +"type": "object" +}, +"DiskPath": { +"description": "Path of the file in terms of underlying disk/partition identifiers.", +"id": "DiskPath", +"properties": { +"partitionUuid": { +"description": "UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid)", +"type": "string" +}, +"relativePath": { +"description": "Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh", +"type": "string" +} +}, +"type": "object" +}, +"DynamicMuteRecord": { +"description": "The record of a dynamic mute rule that matches the finding.", +"id": "DynamicMuteRecord", +"properties": { +"matchTime": { +"description": "When the dynamic mute rule first matched the finding.", +"format": "google-datetime", +"type": "string" +}, +"muteConfig": { +"description": "The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`.", +"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" +}, +"EnvironmentVariable": { +"description": "A name-value pair representing an environment variable used in an operating system process.", +"id": "EnvironmentVariable", +"properties": { +"name": { +"description": "Environment variable name as a JSON encoded string.", +"type": "string" +}, +"val": { +"description": "Environment variable value as a JSON encoded string.", +"type": "string" +} +}, +"type": "object" +}, +"ExfilResource": { +"description": "Resource where data was exfiltrated from or exfiltrated to.", +"id": "ExfilResource", +"properties": { +"components": { +"description": "Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name).", +"type": "string" +} +}, +"type": "object" +}, +"Exfiltration": { +"description": "Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to.", +"id": "Exfiltration", +"properties": { +"sources": { +"description": "If there are multiple sources, then the data is considered \"joined\" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source.", +"items": { +"$ref": "ExfilResource" +}, +"type": "array" +}, +"targets": { +"description": "If there are multiple targets, each target would get a complete copy of the \"joined\" source data.", +"items": { +"$ref": "ExfilResource" +}, +"type": "array" +}, +"totalExfiltratedBytes": { +"description": "Total exfiltrated bytes processed for the entire job.", +"format": "int64", +"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" +}, +"File": { +"description": "File information about the related binary/library used by an executable, or the script used by a script interpreter", +"id": "File", +"properties": { +"contents": { +"description": "Prefix of the file contents as a JSON-encoded string.", +"type": "string" +}, +"diskPath": { +"$ref": "DiskPath", +"description": "Path of the file in terms of underlying disk/partition identifiers." +}, +"hashedSize": { +"description": "The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.", +"format": "int64", +"type": "string" +}, +"partiallyHashed": { +"description": "True when the hash covers only a prefix of the file.", +"type": "boolean" +}, +"path": { +"description": "Absolute path of the file as a JSON encoded string.", +"type": "string" +}, +"sha256": { +"description": "SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file.", +"type": "string" +}, +"size": { +"description": "Size of the file in bytes.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"Finding": { +"description": "Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.", +"id": "Finding", +"properties": { +"access": { +"$ref": "Access", +"description": "Access details associated with the finding, such as more information on the caller, which method was accessed, and from where." +}, +"application": { +"$ref": "Application", +"description": "Represents an application associated with the finding." +}, +"attackExposure": { +"$ref": "AttackExposure", +"description": "The results of an attack path simulation relevant to this finding." +}, +"backupDisasterRecovery": { +"$ref": "BackupDisasterRecovery", +"description": "Fields related to Backup and DR findings." +}, +"canonicalName": { +"description": "The canonical name of the finding. It's either \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\", \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}\" or \"projects/{project_number}/sources/{source_id}/findings/{finding_id}\", depending on the closest CRM ancestor of the resource associated with the finding.", +"type": "string" +}, +"category": { +"description": "The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: \"XSS_FLASH_INJECTION\"", +"type": "string" +}, +"cloudArmor": { +"$ref": "CloudArmor", +"description": "Fields related to Cloud Armor findings." +}, +"cloudDlpDataProfile": { +"$ref": "CloudDlpDataProfile", +"description": "Cloud DLP data profile that is associated with the finding." +}, +"cloudDlpInspection": { +"$ref": "CloudDlpInspection", +"description": "Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding." +}, +"compliances": { +"description": "Contains compliance information for security standards associated to the finding.", +"items": { +"$ref": "Compliance" +}, +"type": "array" +}, +"connections": { +"description": "Contains information about the IP connection associated with the finding.", +"items": { +"$ref": "Connection" +}, +"type": "array" +}, +"contacts": { +"additionalProperties": { +"$ref": "ContactDetails" +}, +"description": "Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { \"security\": { \"contacts\": [ { \"email\": \"person1@company.com\" }, { \"email\": \"person2@company.com\" } ] } }", +"readOnly": true, +"type": "object" +}, +"containers": { +"description": "Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers.", +"items": { +"$ref": "Container" +}, +"type": "array" +}, +"createTime": { +"description": "The time at which the finding was created in Security Command Center.", +"format": "google-datetime", +"type": "string" +}, +"dataAccessEvents": { +"description": "Data access events associated with the finding.", +"items": { +"$ref": "DataAccessEvent" +}, +"type": "array" +}, +"dataFlowEvents": { +"description": "Data flow events associated with the finding.", +"items": { +"$ref": "DataFlowEvent" +}, +"type": "array" +}, +"dataRetentionDeletionEvents": { +"description": "Data retention deletion events associated with the finding.", +"items": { +"$ref": "DataRetentionDeletionEvent" +}, +"type": "array" +}, +"database": { +"$ref": "Database", +"description": "Database associated with the finding." +}, +"description": { +"description": "Contains more details about the finding.", +"type": "string" +}, +"disk": { +"$ref": "Disk", +"description": "Disk associated with the finding." +}, +"eventTime": { +"description": "The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp.", +"format": "google-datetime", +"type": "string" +}, +"exfiltration": { +"$ref": "Exfiltration", +"description": "Represents exfiltrations associated with the finding." +}, +"externalSystems": { +"additionalProperties": { +"$ref": "GoogleCloudSecuritycenterV1ExternalSystem" +}, +"description": "Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields.", +"readOnly": true, +"type": "object" +}, +"externalUri": { +"description": "The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL.", +"type": "string" +}, +"files": { +"description": "File associated with the finding.", +"items": { +"$ref": "File" +}, +"type": "array" +}, +"findingClass": { +"description": "The class of the finding.", +"enum": [ +"FINDING_CLASS_UNSPECIFIED", +"THREAT", +"VULNERABILITY", +"MISCONFIGURATION", +"OBSERVATION", +"SCC_ERROR", +"POSTURE_VIOLATION", +"TOXIC_COMBINATION", +"SENSITIVE_DATA_RISK" +], +"enumDescriptions": [ +"Unspecified finding class.", +"Describes unwanted or malicious activity.", +"Describes a potential weakness in software that increases risk to Confidentiality & Integrity & Availability.", +"Describes a potential weakness in cloud resource/asset configuration that increases risk.", +"Describes a security observation that is for informational purposes.", +"Describes an error that prevents some SCC functionality.", +"Describes a potential security risk due to a change in the security posture.", +"Describes a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination.", +"Describes a potential security risk to data assets that contain sensitive data." +], +"type": "string" +}, +"groupMemberships": { +"description": "Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests.", +"items": { +"$ref": "GroupMembership" +}, +"type": "array" +}, +"iamBindings": { +"description": "Represents IAM bindings associated with the finding.", +"items": { +"$ref": "IamBinding" +}, +"type": "array" +}, +"indicator": { +"$ref": "Indicator", +"description": "Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise)." +}, +"kernelRootkit": { +"$ref": "KernelRootkit", +"description": "Signature of the kernel rootkit." +}, +"kubernetes": { +"$ref": "Kubernetes", +"description": "Kubernetes resources associated with the finding." +}, +"loadBalancers": { +"description": "The load balancers associated with the finding.", +"items": { +"$ref": "LoadBalancer" +}, +"type": "array" +}, +"logEntries": { +"description": "Log entries that are relevant to the finding.", +"items": { +"$ref": "LogEntry" +}, +"type": "array" +}, +"mitreAttack": { +"$ref": "MitreAttack", +"description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org" +}, +"moduleName": { +"description": "Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885", +"type": "string" +}, +"mute": { +"description": "Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute.", +"enum": [ +"MUTE_UNSPECIFIED", +"MUTED", +"UNMUTED", +"UNDEFINED" +], +"enumDescriptions": [ +"Unspecified.", +"Finding has been muted.", +"Finding has been unmuted.", +"Finding has never been muted/unmuted." +], +"type": "string" +}, +"muteInfo": { +"$ref": "MuteInfo", +"description": "Output only. The mute information regarding this finding.", +"readOnly": true +}, +"muteInitiator": { +"description": "Records additional information about the mute operation, for example, the [mute configuration](/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding.", +"type": "string" +}, +"muteUpdateTime": { +"description": "Output only. The most recent time this finding was muted or unmuted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\", \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}\", \"projects/{project_id}/sources/{source_id}/findings/{finding_id}\".", +"type": "string" +}, +"nextSteps": { +"description": "Steps to address the finding.", +"type": "string" +}, +"notebook": { +"$ref": "Notebook", +"description": "Notebook associated with the finding." +}, +"orgPolicies": { +"description": "Contains information about the org policies associated with the finding.", +"items": { +"$ref": "OrgPolicy" +}, +"type": "array" +}, +"parent": { +"description": "The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: \"organizations/{organization_id}/sources/{source_id}\"", +"type": "string" +}, +"parentDisplayName": { +"description": "Output only. The human readable display name of the finding source such as \"Event Threat Detection\" or \"Security Health Analytics\".", +"readOnly": true, +"type": "string" +}, +"processes": { +"description": "Represents operating system processes associated with the Finding.", +"items": { +"$ref": "Process" +}, +"type": "array" +}, +"resourceName": { +"description": "For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time.", +"type": "string" +}, +"securityMarks": { +"$ref": "SecurityMarks", +"description": "Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding.", +"readOnly": true +}, +"securityPosture": { +"$ref": "SecurityPosture", +"description": "The security posture associated with the finding." +}, +"severity": { +"description": "The severity of the finding. This field is managed by the source that writes the finding.", +"enum": [ +"SEVERITY_UNSPECIFIED", +"CRITICAL", +"HIGH", +"MEDIUM", +"LOW" +], +"enumDescriptions": [ +"This value is used for findings when a source doesn't write a severity value.", +"Vulnerability: A critical vulnerability is easily discoverable by an external actor, exploitable, and results in the direct ability to execute arbitrary code, exfiltrate data, and otherwise gain additional access and privileges to cloud resources and workloads. Examples include publicly accessible unprotected user data and public SSH access with weak or no passwords. Threat: Indicates a threat that is able to access, modify, or delete data or execute unauthorized code within existing resources.", +"Vulnerability: A high risk vulnerability can be easily discovered and exploited in combination with other vulnerabilities in order to gain direct access and the ability to execute arbitrary code, exfiltrate data, and otherwise gain additional access and privileges to cloud resources and workloads. An example is a database with weak or no passwords that is only accessible internally. This database could easily be compromised by an actor that had access to the internal network. Threat: Indicates a threat that is able to create new computational resources in an environment but not able to access data or execute code in existing resources.", +"Vulnerability: A medium risk vulnerability could be used by an actor to gain access to resources or privileges that enable them to eventually (through multiple steps or a complex exploit) gain access and the ability to execute arbitrary code or exfiltrate data. An example is a service account with access to more projects than it should have. If an actor gains access to the service account, they could potentially use that access to manipulate a project the service account was not intended to. Threat: Indicates a threat that is able to cause operational impact but may not access data or execute unauthorized code.", +"Vulnerability: A low risk vulnerability hampers a security organization's ability to detect vulnerabilities or active threats in their deployment, or prevents the root cause investigation of security issues. An example is monitoring and logs being disabled for resource configurations and access. Threat: Indicates a threat that has obtained minimal access to an environment but is not able to access data, execute code, or create resources." +], +"type": "string" +}, +"sourceProperties": { +"additionalProperties": { +"type": "any" +}, +"description": "Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only.", +"type": "object" +}, +"state": { +"description": "The state of the finding.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"INACTIVE" +], +"enumDescriptions": [ +"Unspecified state.", +"The finding requires attention and has not been addressed yet.", +"The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active." +], +"type": "string" +}, +"toxicCombination": { +"$ref": "ToxicCombination", +"description": "Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests." +}, +"vulnerability": { +"$ref": "Vulnerability", +"description": "Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)" +} +}, +"type": "object" +}, +"Folder": { +"description": "Message that contains the resource name and display name of a folder resource.", +"id": "Folder", +"properties": { +"resourceFolder": { +"description": "Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", +"type": "string" +}, +"resourceFolderDisplayName": { +"description": "The user defined display name for this folder.", +"type": "string" +} +}, +"type": "object" +}, +"GcpMetadata": { +"description": "GCP metadata associated with the resource, only applicable if the finding's cloud provider is Google Cloud Platform.", +"id": "GcpMetadata", +"properties": { +"folders": { +"description": "Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2Folder" +}, +"readOnly": true, +"type": "array" +}, +"organization": { +"description": "The name of the organization that the resource belongs to.", +"type": "string" +}, +"parent": { +"description": "The full resource name of resource's parent.", +"type": "string" +}, +"parentDisplayName": { +"description": "The human readable name of resource's parent.", +"type": "string" +}, +"project": { +"description": "The full resource name of project that the resource belongs to.", +"type": "string" +}, +"projectDisplayName": { +"description": "The project ID that the resource belongs to.", +"type": "string" +} +}, +"type": "object" +}, +"Geolocation": { +"description": "Represents a geographical location for a given access.", +"id": "Geolocation", +"properties": { +"regionCode": { +"description": "A CLDR.", +"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" +}, +"GoogleCloudSecuritycenterV1BigQueryExport": { +"description": "Configures how to deliver Findings to BigQuery Instance.", +"id": "GoogleCloudSecuritycenterV1BigQueryExport", +"properties": { +"createTime": { +"description": "Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataset": { +"description": "The dataset to write findings' updates to. Its format is \"projects/[project_id]/datasets/[bigquery_dataset_id]\". BigQuery Dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_).", +"type": "string" +}, +"description": { +"description": "The description of the export (max of 1024 characters).", +"type": "string" +}, +"filter": { +"description": "Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.", +"type": "string" +}, +"mostRecentEditor": { +"description": "Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: \"organizations/{organization_id}/bigQueryExports/{export_id}\" Example format: \"folders/{folder_id}/bigQueryExports/{export_id}\" Example format: \"projects/{project_id}/bigQueryExports/{export_id}\" This field is provided in responses, and is ignored when provided in create requests.", +"type": "string" +}, +"principal": { +"description": "Output only. The service account that needs permission to create table and upload data to the BigQuery dataset.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV1Binding": { +"description": "Represents a Kubernetes RoleBinding or ClusterRoleBinding.", +"id": "GoogleCloudSecuritycenterV1Binding", +"properties": { +"name": { +"description": "Name for the binding.", +"type": "string" +}, +"ns": { +"description": "Namespace for the binding.", +"type": "string" +}, +"role": { +"$ref": "Role", +"description": "The Role or ClusterRole referenced by the binding." +}, +"subjects": { +"description": "Represents one or more subjects that are bound to the role. Not always available for PATCH requests.", +"items": { +"$ref": "Subject" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV1BulkMuteFindingsResponse": { +"description": "The response to a BulkMute request. Contains the LRO information.", +"id": "GoogleCloudSecuritycenterV1BulkMuteFindingsResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudSecuritycenterV1CustomConfig": { +"description": "Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify.", +"id": "GoogleCloudSecuritycenterV1CustomConfig", +"properties": { +"customOutput": { +"$ref": "GoogleCloudSecuritycenterV1CustomOutputSpec", +"description": "Custom output properties." +}, +"description": { +"description": "Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks.", +"type": "string" +}, +"predicate": { +"$ref": "Expr", +"description": "The CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated." +}, +"recommendation": { +"description": "An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON.", +"type": "string" +}, +"resourceSelector": { +"$ref": "GoogleCloudSecuritycenterV1ResourceSelector", +"description": "The resource types that the custom module operates on. Each custom module can specify up to 5 resource types." +}, +"severity": { +"description": "The severity to assign to findings generated by the module.", +"enum": [ +"SEVERITY_UNSPECIFIED", +"CRITICAL", +"HIGH", +"MEDIUM", +"LOW" +], +"enumDescriptions": [ +"Unspecified severity.", +"Critical severity.", +"High severity.", +"Medium severity.", +"Low severity." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV1CustomOutputSpec": { +"description": "A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`.", +"id": "GoogleCloudSecuritycenterV1CustomOutputSpec", +"properties": { +"properties": { +"description": "A list of custom output properties to add to the finding.", +"items": { +"$ref": "GoogleCloudSecuritycenterV1Property" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule": { +"description": "An EffectiveSecurityHealthAnalyticsCustomModule is the representation of a Security Health Analytics custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablementState` property in EffectiveSecurityHealthAnalyticsCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective enablement_state for the module in all child folders or projects is also `enabled`. EffectiveSecurityHealthAnalyticsCustomModule is read-only.", +"id": "GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule", +"properties": { +"cloudProvider": { +"description": "The cloud provider of the custom module.", +"enum": [ +"CLOUD_PROVIDER_UNSPECIFIED", +"GOOGLE_CLOUD_PLATFORM", +"AMAZON_WEB_SERVICES", +"MICROSOFT_AZURE" +], +"enumDescriptions": [ +"Unspecified cloud provider.", +"Google Cloud Platform.", +"Amazon Web Services.", +"Microsoft Azure." +], +"type": "string" +}, +"customConfig": { +"$ref": "GoogleCloudSecuritycenterV1CustomConfig", +"description": "Output only. The user-specified configuration for the module.", +"readOnly": true +}, +"displayName": { +"description": "Output only. The display name for the custom module. The name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only.", +"readOnly": true, +"type": "string" +}, +"enablementState": { +"description": "Output only. The effective state of enablement for the module at the given level of the hierarchy.", +"enum": [ +"ENABLEMENT_STATE_UNSPECIFIED", +"ENABLED", +"DISABLED" +], +"enumDescriptions": [ +"Unspecified enablement state.", +"The module is enabled at the given level.", +"The module is disabled at the given level." +], +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The resource name of the custom module. Its format is \"organizations/{organization}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}\", or \"folders/{folder}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}\", or \"projects/{project}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}\"", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV1ExternalSystem": { +"description": "Representation of third party SIEM/SOAR fields within SCC.", +"id": "GoogleCloudSecuritycenterV1ExternalSystem", +"properties": { +"assignees": { +"description": "References primary/secondary etc assignees in the external system.", +"items": { +"type": "string" +}, +"type": "array" +}, +"caseCloseTime": { +"description": "The time when the case was closed, as reported by the external system.", +"format": "google-datetime", +"type": "string" +}, +"caseCreateTime": { +"description": "The time when the case was created, as reported by the external system.", +"format": "google-datetime", +"type": "string" +}, +"casePriority": { +"description": "The priority of the finding's corresponding case in the external system.", +"type": "string" +}, +"caseSla": { +"description": "The SLA of the finding's corresponding case in the external system.", +"format": "google-datetime", +"type": "string" +}, +"caseUri": { +"description": "The link to the finding's corresponding case in the external system.", +"type": "string" +}, +"externalSystemUpdateTime": { +"description": "The time when the case was last updated, as reported by the external system.", +"format": "google-datetime", +"type": "string" +}, +"externalUid": { +"description": "The identifier that's used to track the finding's corresponding case in the external system.", +"type": "string" +}, +"name": { +"description": "Full resource name of the external system, for example: \"organizations/1234/sources/5678/findings/123456/externalSystems/jira\", \"folders/1234/sources/5678/findings/123456/externalSystems/jira\", \"projects/1234/sources/5678/findings/123456/externalSystems/jira\"", +"type": "string" +}, +"status": { +"description": "The most recent status of the finding's corresponding case, as reported by the external system.", +"type": "string" +}, +"ticketInfo": { +"$ref": "TicketInfo", +"description": "Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding." +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV1MuteConfig": { +"description": "A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings.", +"id": "GoogleCloudSecuritycenterV1MuteConfig", +"properties": { +"createTime": { +"description": "Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "A description of the mute config.", +"type": "string" +}, +"displayName": { +"deprecated": true, +"description": "The human readable name to be displayed for the mute config.", +"type": "string" +}, +"expiryTime": { +"description": "Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings.", +"format": "google-datetime", +"type": "string" +}, +"filter": { +"description": "Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:`", +"type": "string" +}, +"mostRecentEditor": { +"description": "Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}`", +"type": "string" +}, +"type": { +"description": "Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation.", +"enum": [ +"MUTE_CONFIG_TYPE_UNSPECIFIED", +"STATIC", +"DYNAMIC" +], +"enumDescriptions": [ +"Unused.", +"A static mute config, which sets the static mute state of future matching findings to muted. Once the static mute state has been set, finding or config modifications will not affect the state.", +"A dynamic mute config, which is applied to existing and future matching findings, setting their dynamic mute state to \"muted\". If the config is updated or deleted, or a matching finding is updated, such that the finding doesn't match the config, the config will be removed from the finding, and the finding's dynamic mute state may become \"unmuted\" (unless other configs still match)." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV1NotificationMessage": { +"description": "Cloud SCC's Notification", +"id": "GoogleCloudSecuritycenterV1NotificationMessage", +"properties": { +"finding": { +"$ref": "Finding", +"description": "If it's a Finding based notification config, this field will be populated." +}, +"notificationConfigName": { +"description": "Name of the notification config that generated current notification.", +"type": "string" +}, +"resource": { +"$ref": "GoogleCloudSecuritycenterV1Resource", +"description": "The Cloud resource tied to this notification's Finding." +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV1Property": { +"description": "An individual name-value pair that defines a custom source property.", +"id": "GoogleCloudSecuritycenterV1Property", +"properties": { +"name": { +"description": "Name of the property for the custom output.", +"type": "string" +}, +"valueExpression": { +"$ref": "Expr", +"description": "The CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks." +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV1Resource": { +"description": "Information related to the Google Cloud resource.", +"id": "GoogleCloudSecuritycenterV1Resource", +"properties": { +"awsMetadata": { +"$ref": "AwsMetadata", +"description": "The AWS metadata associated with the finding." +}, +"azureMetadata": { +"$ref": "AzureMetadata", +"description": "The Azure metadata associated with the finding." +}, +"cloudProvider": { +"description": "Indicates which cloud provider the resource resides in.", +"enum": [ +"CLOUD_PROVIDER_UNSPECIFIED", +"GOOGLE_CLOUD_PLATFORM", +"AMAZON_WEB_SERVICES", +"MICROSOFT_AZURE" +], +"enumDescriptions": [ +"The cloud provider is unspecified.", +"The cloud provider is Google Cloud Platform.", +"The cloud provider is Amazon Web Services.", +"The cloud provider is Microsoft Azure." +], +"type": "string" +}, +"displayName": { +"description": "The human readable name of the resource.", +"type": "string" +}, +"folders": { +"description": "Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization.", +"items": { +"$ref": "Folder" +}, +"readOnly": true, +"type": "array" +}, +"location": { +"description": "The region or location of the service (if applicable).", +"type": "string" +}, +"name": { +"description": "The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", +"type": "string" +}, +"organization": { +"description": "Indicates which organization or tenant in the cloud provider the finding applies to.", +"type": "string" +}, +"parent": { +"description": "The full resource name of resource's parent.", +"type": "string" +}, +"parentDisplayName": { +"description": "The human readable name of resource's parent.", +"type": "string" +}, +"project": { +"description": "The full resource name of project that the resource belongs to.", +"type": "string" +}, +"projectDisplayName": { +"description": "The project ID that the resource belongs to.", +"type": "string" +}, +"resourcePath": { +"$ref": "ResourcePath", +"description": "Provides the path to the resource within the resource hierarchy." +}, +"resourcePathString": { +"description": "A string representation of the resource path. For Google Cloud, it has the format of `organizations/{organization_id}/folders/{folder_id}/folders/{folder_id}/projects/{project_id}` where there can be any number of folders. For AWS, it has the format of `org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_unit_id}/account/{account_id}` where there can be any number of organizational units. For Azure, it has the format of `mg/{management_group_id}/mg/{management_group_id}/subscription/{subscription_id}/rg/{resource_group_name}` where there can be any number of management groups.", +"type": "string" +}, +"service": { +"description": "The parent service or product from which the resource is provided, for example, GKE or SNS.", +"type": "string" +}, +"type": { +"description": "The full resource type of the resource.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV1ResourceSelector": { +"description": "Resource for selecting resource type.", +"id": "GoogleCloudSecuritycenterV1ResourceSelector", +"properties": { +"resourceTypes": { +"description": "The resource types to run the detector on.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV1ResourceValueConfig": { +"description": "A resource value configuration (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations.", +"id": "GoogleCloudSecuritycenterV1ResourceValueConfig", +"properties": { +"cloudProvider": { +"description": "Cloud provider this configuration applies to", +"enum": [ +"CLOUD_PROVIDER_UNSPECIFIED", +"GOOGLE_CLOUD_PLATFORM", +"AMAZON_WEB_SERVICES", +"MICROSOFT_AZURE" +], +"enumDescriptions": [ +"The cloud provider is unspecified.", +"The cloud provider is Google Cloud Platform.", +"The cloud provider is Amazon Web Services.", +"The cloud provider is Microsoft Azure." +], +"type": "string" +}, +"createTime": { +"description": "Output only. Timestamp this resource value configuration was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Description of the resource value configuration.", +"type": "string" +}, +"name": { +"description": "Name for the resource value configuration", +"type": "string" +}, +"resourceLabelsSelector": { +"additionalProperties": { +"type": "string" +}, +"description": "List of resource labels to search for, evaluated with `AND`. For example, `\"resource_labels_selector\": {\"key\": \"value\", \"env\": \"prod\"}` will match resources with labels \"key\": \"value\" `AND` \"env\": \"prod\" https://cloud.google.com/resource-manager/docs/creating-managing-labels", +"type": "object" +}, +"resourceType": { +"description": "Apply resource_value only to resources that match resource_type. resource_type will be checked with `AND` of other resources. For example, \"storage.googleapis.com/Bucket\" with resource_value \"HIGH\" will apply \"HIGH\" value only to \"storage.googleapis.com/Bucket\" resources.", +"type": "string" +}, +"resourceValue": { +"description": "Required. Resource value level this expression represents", +"enum": [ +"RESOURCE_VALUE_UNSPECIFIED", +"HIGH", +"MEDIUM", +"LOW", +"NONE" +], +"enumDescriptions": [ +"Unspecific value", +"High resource value", +"Medium resource value", +"Low resource value", +"No resource value, e.g. ignore these resources" +], +"type": "string" +}, +"scope": { +"description": "Project or folder to scope this configuration to. For example, \"project/456\" would apply this configuration only to resources in \"project/456\" scope will be checked with `AND` of other resources.", +"type": "string" +}, +"sensitiveDataProtectionMapping": { +"$ref": "GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping", +"description": "A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. \"bigquery.googleapis.com/Dataset\"." +}, +"tagValues": { +"description": "Required. Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of \"tagValues/123\". Example: `[ \"tagValues/123\", \"tagValues/456\", \"tagValues/789\" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing", +"items": { +"type": "string" +}, +"type": "array" +}, +"updateTime": { +"description": "Output only. Timestamp this resource value configuration was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV1RunAssetDiscoveryResponse": { +"description": "Response of asset discovery run", +"id": "GoogleCloudSecuritycenterV1RunAssetDiscoveryResponse", +"properties": { +"duration": { +"description": "The duration between asset discovery run start and end", +"format": "google-duration", +"type": "string" +}, +"state": { +"description": "The state of an asset discovery run.", +"enum": [ +"STATE_UNSPECIFIED", +"COMPLETED", +"SUPERSEDED", +"TERMINATED" +], +"enumDescriptions": [ +"Asset discovery run state was unspecified.", +"Asset discovery run completed successfully.", +"Asset discovery run was cancelled with tasks still pending, as another run for the same organization was started with a higher priority.", +"Asset discovery run was killed and terminated." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule": { +"description": "Represents an instance of a Security Health Analytics custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by the child folders and projects.", +"id": "GoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule", +"properties": { +"ancestorModule": { +"description": "Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited.", +"readOnly": true, +"type": "string" +}, +"cloudProvider": { +"description": "The cloud provider of the custom module.", +"enum": [ +"CLOUD_PROVIDER_UNSPECIFIED", +"GOOGLE_CLOUD_PLATFORM", +"AMAZON_WEB_SERVICES", +"MICROSOFT_AZURE" +], +"enumDescriptions": [ +"Unspecified cloud provider.", +"Google Cloud.", +"Amazon Web Services (AWS).", +"Microsoft Azure." +], +"type": "string" +}, +"customConfig": { +"$ref": "GoogleCloudSecuritycenterV1CustomConfig", +"description": "The user specified custom configuration for the module." +}, +"displayName": { +"description": "The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only.", +"type": "string" +}, +"enablementState": { +"description": "The enablement state of the custom module.", +"enum": [ +"ENABLEMENT_STATE_UNSPECIFIED", +"ENABLED", +"DISABLED", +"INHERITED" +], +"enumDescriptions": [ +"Unspecified enablement state.", +"The module is enabled at the given CRM resource.", +"The module is disabled at the given CRM resource.", +"State is inherited from an ancestor module. The module will either be effectively ENABLED or DISABLED based on its closest non-inherited ancestor module in the CRM hierarchy." +], +"type": "string" +}, +"lastEditor": { +"description": "Output only. The editor that last updated the custom module.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Immutable. The resource name of the custom module. Its format is \"organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}\", or \"folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}\", or \"projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}\" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.", +"type": "string" +}, +"updateTime": { +"description": "Output only. The time at which the custom module was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping": { +"description": "Resource value mapping for Sensitive Data Protection findings. If any of these mappings have a resource value that is not unspecified, the resource_value field will be ignored when reading this configuration.", +"id": "GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping", +"properties": { +"highSensitivityMapping": { +"description": "Resource value mapping for high-sensitivity Sensitive Data Protection findings", +"enum": [ +"RESOURCE_VALUE_UNSPECIFIED", +"HIGH", +"MEDIUM", +"LOW", +"NONE" +], +"enumDescriptions": [ +"Unspecific value", +"High resource value", +"Medium resource value", +"Low resource value", +"No resource value, e.g. ignore these resources" +], +"type": "string" +}, +"mediumSensitivityMapping": { +"description": "Resource value mapping for medium-sensitivity Sensitive Data Protection findings", +"enum": [ +"RESOURCE_VALUE_UNSPECIFIED", +"HIGH", +"MEDIUM", +"LOW", +"NONE" +], +"enumDescriptions": [ +"Unspecific value", +"High resource value", +"Medium resource value", +"Low resource value", +"No resource value, e.g. ignore these resources" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV1beta1Finding": { +"description": "Security Command Center finding. A finding is a record of assessment data (security, risk, health or privacy) ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, an XSS vulnerability in an App Engine application is a finding.", +"id": "GoogleCloudSecuritycenterV1beta1Finding", +"properties": { +"category": { +"description": "The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: \"XSS_FLASH_INJECTION\"", +"type": "string" +}, +"createTime": { +"description": "The time at which the finding was created in Security Command Center.", +"format": "google-datetime", +"type": "string" +}, +"eventTime": { +"description": "The time at which the event took place, or when an update to the finding occurred. For example, if the finding represents an open firewall it would capture the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding were to be resolved afterward, this time would reflect when the finding was resolved.", +"format": "google-datetime", +"type": "string" +}, +"externalUri": { +"description": "The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL.", +"type": "string" +}, +"name": { +"description": "The relative resource name of this finding. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\"", +"type": "string" +}, +"parent": { +"description": "Immutable. The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: \"organizations/{organization_id}/sources/{source_id}\"", +"type": "string" +}, +"resourceName": { +"description": "For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time.", +"type": "string" +}, +"securityMarks": { +"$ref": "GoogleCloudSecuritycenterV1beta1SecurityMarks", +"description": "Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding.", +"readOnly": true +}, +"sourceProperties": { +"additionalProperties": { +"type": "any" +}, +"description": "Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only.", +"type": "object" +}, +"state": { +"description": "The state of the finding.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"INACTIVE" +], +"enumDescriptions": [ +"Unspecified state.", +"The finding requires attention and has not been addressed yet.", +"The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV1beta1RunAssetDiscoveryResponse": { +"description": "Response of asset discovery run", +"id": "GoogleCloudSecuritycenterV1beta1RunAssetDiscoveryResponse", +"properties": { +"duration": { +"description": "The duration between asset discovery run start and end", +"format": "google-duration", +"type": "string" +}, +"state": { +"description": "The state of an asset discovery run.", +"enum": [ +"STATE_UNSPECIFIED", +"COMPLETED", +"SUPERSEDED", +"TERMINATED" +], +"enumDescriptions": [ +"Asset discovery run state was unspecified.", +"Asset discovery run completed successfully.", +"Asset discovery run was cancelled with tasks still pending, as another run for the same organization was started with a higher priority.", +"Asset discovery run was killed and terminated." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV1beta1SecurityMarks": { +"description": "User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization.", +"id": "GoogleCloudSecuritycenterV1beta1SecurityMarks", +"properties": { +"marks": { +"additionalProperties": { +"type": "string" +}, +"description": "Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)", +"type": "object" +}, +"name": { +"description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV1p1beta1Finding": { +"description": "Security Command Center finding. A finding is a record of assessment data (security, risk, health or privacy) ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, an XSS vulnerability in an App Engine application is a finding.", +"id": "GoogleCloudSecuritycenterV1p1beta1Finding", +"properties": { +"canonicalName": { +"description": "The canonical name of the finding. It's either \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\", \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}\" or \"projects/{project_number}/sources/{source_id}/findings/{finding_id}\", depending on the closest CRM ancestor of the resource associated with the finding.", +"type": "string" +}, +"category": { +"description": "The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: \"XSS_FLASH_INJECTION\"", +"type": "string" +}, +"createTime": { +"description": "The time at which the finding was created in Security Command Center.", +"format": "google-datetime", +"type": "string" +}, +"eventTime": { +"description": "The time at which the event took place, or when an update to the finding occurred. For example, if the finding represents an open firewall it would capture the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding were to be resolved afterward, this time would reflect when the finding was resolved. Must not be set to a value greater than the current timestamp.", +"format": "google-datetime", +"type": "string" +}, +"externalUri": { +"description": "The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL.", +"type": "string" +}, +"name": { +"description": "The relative resource name of this finding. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\"", +"type": "string" +}, +"parent": { +"description": "The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: \"organizations/{organization_id}/sources/{source_id}\"", +"type": "string" +}, +"resourceName": { +"description": "For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time.", +"type": "string" +}, +"securityMarks": { +"$ref": "GoogleCloudSecuritycenterV1p1beta1SecurityMarks", +"description": "Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding.", +"readOnly": true +}, +"severity": { +"description": "The severity of the finding. This field is managed by the source that writes the finding.", +"enum": [ +"SEVERITY_UNSPECIFIED", +"CRITICAL", +"HIGH", +"MEDIUM", +"LOW" +], +"enumDescriptions": [ +"No severity specified. The default value.", +"Critical severity.", +"High severity.", +"Medium severity.", +"Low severity." +], +"type": "string" +}, +"sourceProperties": { +"additionalProperties": { +"type": "any" +}, +"description": "Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only.", +"type": "object" +}, +"state": { +"description": "The state of the finding.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"INACTIVE" +], +"enumDescriptions": [ +"Unspecified state.", +"The finding requires attention and has not been addressed yet.", +"The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV1p1beta1Folder": { +"description": "Message that contains the resource name and display name of a folder resource.", +"id": "GoogleCloudSecuritycenterV1p1beta1Folder", +"properties": { +"resourceFolder": { +"description": "Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", +"type": "string" +}, +"resourceFolderDisplayName": { +"description": "The user defined display name for this folder.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV1p1beta1NotificationMessage": { +"description": "Security Command Center's Notification", +"id": "GoogleCloudSecuritycenterV1p1beta1NotificationMessage", +"properties": { +"finding": { +"$ref": "GoogleCloudSecuritycenterV1p1beta1Finding", +"description": "If it's a Finding based notification config, this field will be populated." +}, +"notificationConfigName": { +"description": "Name of the notification config that generated current notification.", +"type": "string" +}, +"resource": { +"$ref": "GoogleCloudSecuritycenterV1p1beta1Resource", +"description": "The Cloud resource tied to the notification." +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV1p1beta1Resource": { +"description": "Information related to the Google Cloud resource.", +"id": "GoogleCloudSecuritycenterV1p1beta1Resource", +"properties": { +"folders": { +"description": "Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization.", +"items": { +"$ref": "GoogleCloudSecuritycenterV1p1beta1Folder" +}, +"readOnly": true, +"type": "array" +}, +"name": { +"description": "The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", +"type": "string" +}, +"parent": { +"description": "The full resource name of resource's parent.", +"type": "string" +}, +"parentDisplayName": { +"description": "The human readable name of resource's parent.", +"type": "string" +}, +"project": { +"description": "The full resource name of project that the resource belongs to.", +"type": "string" +}, +"projectDisplayName": { +"description": "The project id that the resource belongs to.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse": { +"description": "Response of asset discovery run", +"id": "GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse", +"properties": { +"duration": { +"description": "The duration between asset discovery run start and end", +"format": "google-duration", +"type": "string" +}, +"state": { +"description": "The state of an asset discovery run.", +"enum": [ +"STATE_UNSPECIFIED", +"COMPLETED", +"SUPERSEDED", +"TERMINATED" +], +"enumDescriptions": [ +"Asset discovery run state was unspecified.", +"Asset discovery run completed successfully.", +"Asset discovery run was cancelled with tasks still pending, as another run for the same organization was started with a higher priority.", +"Asset discovery run was killed and terminated." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV1p1beta1SecurityMarks": { +"description": "User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization.", +"id": "GoogleCloudSecuritycenterV1p1beta1SecurityMarks", +"properties": { +"canonicalName": { +"description": "The canonical name of the marks. Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"folders/{folder_id}/assets/{asset_id}/securityMarks\" \"projects/{project_number}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" \"projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks\"", +"type": "string" +}, +"marks": { +"additionalProperties": { +"type": "string" +}, +"description": "Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)", +"type": "object" +}, +"name": { +"description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Access": { +"description": "Represents an access event.", +"id": "GoogleCloudSecuritycenterV2Access", +"properties": { +"callerIp": { +"description": "Caller's IP address, such as \"1.1.1.1\".", +"type": "string" +}, +"callerIpGeo": { +"$ref": "GoogleCloudSecuritycenterV2Geolocation", +"description": "The caller IP's geolocation, which identifies where the call came from." +}, +"methodName": { +"description": "The method that the service account called, e.g. \"SetIamPolicy\".", +"type": "string" +}, +"principalEmail": { +"description": "Associated email, such as \"foo@google.com\". The email address of the authenticated user or a service account acting on behalf of a 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": "A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`.", +"type": "string" +}, +"serviceAccountDelegationInfo": { +"description": "The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo" +}, +"type": "array" +}, +"serviceAccountKeyName": { +"description": "The name of the service account key that was used to create or exchange credentials when authenticating the service account that made 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" +}, +"serviceName": { +"description": "This is the API service that the service account made a call to, e.g. \"iam.googleapis.com\"", +"type": "string" +}, +"userAgent": { +"description": "The caller's user agent string associated with the finding.", +"type": "string" +}, +"userAgentFamily": { +"description": "Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application.", +"type": "string" +}, +"userName": { +"description": "A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2AccessReview": { +"description": "Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding.", +"id": "GoogleCloudSecuritycenterV2AccessReview", +"properties": { +"group": { +"description": "The API group of the resource. \"*\" means all.", +"type": "string" +}, +"name": { +"description": "The name of the resource being requested. Empty means all.", +"type": "string" +}, +"ns": { +"description": "Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by \"\" (empty).", +"type": "string" +}, +"resource": { +"description": "The optional resource type requested. \"*\" means all.", +"type": "string" +}, +"subresource": { +"description": "The optional subresource type.", +"type": "string" +}, +"verb": { +"description": "A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. \"*\" means all.", +"type": "string" +}, +"version": { +"description": "The API version of the resource. \"*\" means all.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2AdaptiveProtection": { +"description": "Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection).", +"id": "GoogleCloudSecuritycenterV2AdaptiveProtection", +"properties": { +"confidence": { +"description": "A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Application": { +"description": "Represents an application associated with a finding.", +"id": "GoogleCloudSecuritycenterV2Application", +"properties": { +"baseUri": { +"description": "The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`.", +"type": "string" +}, +"fullUri": { +"description": "The full URI with payload that could be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Attack": { +"description": "Information about DDoS attack volume and classification.", +"id": "GoogleCloudSecuritycenterV2Attack", +"properties": { +"classification": { +"description": "Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'.", +"type": "string" +}, +"volumeBps": { +"deprecated": true, +"description": "Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead.", +"format": "int32", +"type": "integer" +}, +"volumeBpsLong": { +"description": "Total BPS (bytes per second) volume of attack.", +"format": "int64", +"type": "string" +}, +"volumePps": { +"deprecated": true, +"description": "Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead.", +"format": "int32", +"type": "integer" +}, +"volumePpsLong": { +"description": "Total PPS (packets per second) volume of attack.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2AttackExposure": { +"description": "An attack exposure contains the results of an attack path simulation run.", +"id": "GoogleCloudSecuritycenterV2AttackExposure", +"properties": { +"attackExposureResult": { +"description": "The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789`", +"type": "string" +}, +"exposedHighValueResourcesCount": { +"description": "The number of high value resources that are exposed as a result of this finding.", +"format": "int32", +"type": "integer" +}, +"exposedLowValueResourcesCount": { +"description": "The number of high value resources that are exposed as a result of this finding.", +"format": "int32", +"type": "integer" +}, +"exposedMediumValueResourcesCount": { +"description": "The number of medium value resources that are exposed as a result of this finding.", +"format": "int32", +"type": "integer" +}, +"latestCalculationTime": { +"description": "The most recent time the attack exposure was updated on this finding.", +"format": "google-datetime", +"type": "string" +}, +"score": { +"description": "A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate.", +"format": "double", +"type": "number" +}, +"state": { +"description": "Output only. What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not.", +"enum": [ +"STATE_UNSPECIFIED", +"CALCULATED", +"NOT_CALCULATED" +], +"enumDescriptions": [ +"The state is not specified.", +"The attack exposure has been calculated.", +"The attack exposure has not been calculated." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2AwsAccount": { +"description": "An AWS account that is a member of an organization.", +"id": "GoogleCloudSecuritycenterV2AwsAccount", +"properties": { +"id": { +"description": "The unique identifier (ID) of the account, containing exactly 12 digits.", +"type": "string" +}, +"name": { +"description": "The friendly name of this account.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2AwsMetadata": { +"description": "AWS metadata associated with the resource, only applicable if the finding's cloud provider is Amazon Web Services.", +"id": "GoogleCloudSecuritycenterV2AwsMetadata", +"properties": { +"account": { +"$ref": "GoogleCloudSecuritycenterV2AwsAccount", +"description": "The AWS account associated with the resource." +}, +"organization": { +"$ref": "GoogleCloudSecuritycenterV2AwsOrganization", +"description": "The AWS organization associated with the resource." +}, +"organizationalUnits": { +"description": "A list of AWS organizational units associated with the resource, ordered from lowest level (closest to the account) to highest level.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2AwsOrganizationalUnit" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2AwsOrganization": { +"description": "An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies.", +"id": "GoogleCloudSecuritycenterV2AwsOrganization", +"properties": { +"id": { +"description": "The unique identifier (ID) for the organization. The regex pattern for an organization ID string requires \"o-\" followed by from 10 to 32 lowercase letters or digits.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2AwsOrganizationalUnit": { +"description": "An Organizational Unit (OU) is a container of AWS accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs.", +"id": "GoogleCloudSecuritycenterV2AwsOrganizationalUnit", +"properties": { +"id": { +"description": "The unique identifier (ID) associated with this OU. The regex pattern for an organizational unit ID string requires \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits. For example, \"ou-ab12-cd34ef56\".", +"type": "string" +}, +"name": { +"description": "The friendly name of the OU.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2AzureManagementGroup": { +"description": "Represents an Azure management group.", +"id": "GoogleCloudSecuritycenterV2AzureManagementGroup", +"properties": { +"displayName": { +"description": "The display name of the Azure management group.", +"type": "string" +}, +"id": { +"description": "The UUID of the Azure management group, for example, `20000000-0001-0000-0000-000000000000`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2AzureMetadata": { +"description": "Azure metadata associated with the resource, only applicable if the finding's cloud provider is Microsoft Azure.", +"id": "GoogleCloudSecuritycenterV2AzureMetadata", +"properties": { +"managementGroups": { +"description": "A list of Azure management groups associated with the resource, ordered from lowest level (closest to the subscription) to highest level.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2AzureManagementGroup" +}, +"type": "array" +}, +"resourceGroup": { +"$ref": "GoogleCloudSecuritycenterV2AzureResourceGroup", +"description": "The Azure resource group associated with the resource." +}, +"subscription": { +"$ref": "GoogleCloudSecuritycenterV2AzureSubscription", +"description": "The Azure subscription associated with the resource." +}, +"tenant": { +"$ref": "GoogleCloudSecuritycenterV2AzureTenant", +"description": "The Azure Entra tenant associated with the resource." +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2AzureResourceGroup": { +"description": "Represents an Azure resource group.", +"id": "GoogleCloudSecuritycenterV2AzureResourceGroup", +"properties": { +"id": { +"description": "The ID of the Azure resource group.", +"type": "string" +}, +"name": { +"description": "The name of the Azure resource group. This is not a UUID.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2AzureSubscription": { +"description": "Represents an Azure subscription.", +"id": "GoogleCloudSecuritycenterV2AzureSubscription", +"properties": { +"displayName": { +"description": "The display name of the Azure subscription.", +"type": "string" +}, +"id": { +"description": "The UUID of the Azure subscription, for example, `291bba3f-e0a5-47bc-a099-3bdcb2a50a05`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2AzureTenant": { +"description": "Represents a Microsoft Entra tenant.", +"id": "GoogleCloudSecuritycenterV2AzureTenant", +"properties": { +"displayName": { +"description": "The display name of the Azure tenant.", +"type": "string" +}, +"id": { +"description": "The ID of the Microsoft Entra tenant, for example, \"a11aaa11-aa11-1aa1-11aa-1aaa11a\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2BackupDisasterRecovery": { +"description": "Information related to Google Cloud Backup and DR Service findings.", +"id": "GoogleCloudSecuritycenterV2BackupDisasterRecovery", +"properties": { +"appliance": { +"description": "The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`.", +"type": "string" +}, +"applications": { +"description": "The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"backupCreateTime": { +"description": "The timestamp at which the Backup and DR backup was created.", +"format": "google-datetime", +"type": "string" +}, +"backupTemplate": { +"description": "The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`.", +"type": "string" +}, +"backupType": { +"description": "The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`.", +"type": "string" +}, +"host": { +"description": "The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`.", +"type": "string" +}, +"policies": { +"description": "The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"policyOptions": { +"description": "The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"profile": { +"description": "The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`.", +"type": "string" +}, +"storagePool": { +"description": "The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2BigQueryExport": { +"description": "Configures how to deliver Findings to BigQuery Instance.", +"id": "GoogleCloudSecuritycenterV2BigQueryExport", +"properties": { +"createTime": { +"description": "Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataset": { +"description": "The dataset to write findings' updates to. Its format is \"projects/[project_id]/datasets/[bigquery_dataset_id]\". BigQuery dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_).", +"type": "string" +}, +"description": { +"description": "The description of the export (max of 1024 characters).", +"type": "string" +}, +"filter": { +"description": "Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.", +"type": "string" +}, +"mostRecentEditor": { +"description": "Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Identifier. The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. The following list shows some examples: + `organizations/{organization_id}/locations/{location_id}/bigQueryExports/{export_id}` + `folders/{folder_id}/locations/{location_id}/bigQueryExports/{export_id}` + `projects/{project_id}/locations/{location_id}/bigQueryExports/{export_id}` This field is provided in responses, and is ignored when provided in create requests.", +"type": "string" +}, +"principal": { +"description": "Output only. The service account that needs permission to create table and upload data to the BigQuery dataset.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Binding": { +"description": "Represents a Kubernetes RoleBinding or ClusterRoleBinding.", +"id": "GoogleCloudSecuritycenterV2Binding", +"properties": { +"name": { +"description": "Name for the binding.", +"type": "string" +}, +"ns": { +"description": "Namespace for the binding.", +"type": "string" +}, +"role": { +"$ref": "GoogleCloudSecuritycenterV2Role", +"description": "The Role or ClusterRole referenced by the binding." +}, +"subjects": { +"description": "Represents one or more subjects that are bound to the role. Not always available for PATCH requests.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2Subject" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2BulkMuteFindingsResponse": { +"description": "The response to a BulkMute request. Contains the LRO information.", +"id": "GoogleCloudSecuritycenterV2BulkMuteFindingsResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2CloudArmor": { +"description": "Fields related to Google Cloud Armor findings.", +"id": "GoogleCloudSecuritycenterV2CloudArmor", +"properties": { +"adaptiveProtection": { +"$ref": "GoogleCloudSecuritycenterV2AdaptiveProtection", +"description": "Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview)." +}, +"attack": { +"$ref": "GoogleCloudSecuritycenterV2Attack", +"description": "Information about DDoS attack volume and classification." +}, +"duration": { +"description": "Duration of attack from the start until the current moment (updated every 5 minutes).", +"format": "google-duration", +"type": "string" +}, +"requests": { +"$ref": "GoogleCloudSecuritycenterV2Requests", +"description": "Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview)." +}, +"securityPolicy": { +"$ref": "GoogleCloudSecuritycenterV2SecurityPolicy", +"description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding." +}, +"threatVector": { +"description": "Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, \"L3_4\" for Layer 3 and Layer 4 DDoS attacks, or \"L_7\" for Layer 7 DDoS attacks.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2CloudDlpDataProfile": { +"description": "The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding.", +"id": "GoogleCloudSecuritycenterV2CloudDlpDataProfile", +"properties": { +"dataProfile": { +"description": "Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`.", +"type": "string" +}, +"parentType": { +"description": "The resource hierarchy level at which the data profile was generated.", +"enum": [ +"PARENT_TYPE_UNSPECIFIED", +"ORGANIZATION", +"PROJECT" +], +"enumDescriptions": [ +"Unspecified parent type.", +"Organization-level configurations.", +"Project-level configurations." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2CloudDlpInspection": { +"description": "Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding.", +"id": "GoogleCloudSecuritycenterV2CloudDlpInspection", +"properties": { +"fullScan": { +"description": "Whether Cloud DLP scanned the complete resource or a sampled subset.", +"type": "boolean" +}, +"infoType": { +"description": "The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`.", +"type": "string" +}, +"infoTypeCount": { +"description": "The number of times Cloud DLP found this infoType within this job and resource.", +"format": "int64", +"type": "string" +}, +"inspectJob": { +"description": "Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2CloudLoggingEntry": { +"description": "Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry)", +"id": "GoogleCloudSecuritycenterV2CloudLoggingEntry", +"properties": { +"insertId": { +"description": "A unique identifier for the log entry.", +"type": "string" +}, +"logId": { +"description": "The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity` Note that this field is not URL-encoded, unlike in `LogEntry`.", +"type": "string" +}, +"resourceContainer": { +"description": "The organization, folder, or project of the monitored resource that produced this log entry.", +"type": "string" +}, +"timestamp": { +"description": "The time the event described by the log entry occurred.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Compliance": { +"description": "Contains compliance information about a security standard indicating unmet recommendations.", +"id": "GoogleCloudSecuritycenterV2Compliance", +"properties": { +"ids": { +"description": "Policies within the standard or benchmark, for example, A.12.4.1", +"items": { +"type": "string" +}, +"type": "array" +}, +"standard": { +"description": "Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP.", +"type": "string" +}, +"version": { +"description": "Version of the standard or benchmark, for example, 1.1", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Connection": { +"description": "Contains information about the IP connection associated with the finding.", +"id": "GoogleCloudSecuritycenterV2Connection", +"properties": { +"destinationIp": { +"description": "Destination IP address. Not present for sockets that are listening and not connected.", +"type": "string" +}, +"destinationPort": { +"description": "Destination port. Not present for sockets that are listening and not connected.", +"format": "int32", +"type": "integer" +}, +"protocol": { +"description": "IANA Internet Protocol Number such as TCP(6) and UDP(17).", +"enum": [ +"PROTOCOL_UNSPECIFIED", +"ICMP", +"TCP", +"UDP", +"GRE", +"ESP" +], +"enumDescriptions": [ +"Unspecified protocol (not HOPOPT).", +"Internet Control Message Protocol.", +"Transmission Control Protocol.", +"User Datagram Protocol.", +"Generic Routing Encapsulation.", +"Encap Security Payload." +], +"type": "string" +}, +"sourceIp": { +"description": "Source IP address.", +"type": "string" +}, +"sourcePort": { +"description": "Source port.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Contact": { +"description": "The email address of a contact.", +"id": "GoogleCloudSecuritycenterV2Contact", +"properties": { +"email": { +"description": "An email address. For example, \"`person123@company.com`\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2ContactDetails": { +"description": "Details about specific contacts", +"id": "GoogleCloudSecuritycenterV2ContactDetails", +"properties": { +"contacts": { +"description": "A list of contacts", +"items": { +"$ref": "GoogleCloudSecuritycenterV2Contact" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Container": { +"description": "Container associated with the finding.", +"id": "GoogleCloudSecuritycenterV2Container", +"properties": { +"createTime": { +"description": "The time that the container was created.", +"format": "google-datetime", +"type": "string" +}, +"imageId": { +"description": "Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest.", +"type": "string" +}, +"labels": { +"description": "Container labels, as provided by the container runtime.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2Label" +}, +"type": "array" +}, +"name": { +"description": "Name of the container.", +"type": "string" +}, +"uri": { +"description": "Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Cve": { +"description": "CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability.", +"id": "GoogleCloudSecuritycenterV2Cve", +"properties": { +"cvssv3": { +"$ref": "GoogleCloudSecuritycenterV2Cvssv3", +"description": "Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document" +}, +"exploitReleaseDate": { +"description": "Date the first publicly available exploit or PoC was released.", +"format": "google-datetime", +"type": "string" +}, +"exploitationActivity": { +"description": "The exploitation activity of the vulnerability in the wild.", +"enum": [ +"EXPLOITATION_ACTIVITY_UNSPECIFIED", +"WIDE", +"CONFIRMED", +"AVAILABLE", +"ANTICIPATED", +"NO_KNOWN" +], +"enumDescriptions": [ +"Invalid or empty value.", +"Exploitation has been reported or confirmed to widely occur.", +"Limited reported or confirmed exploitation activities.", +"Exploit is publicly available.", +"No known exploitation activity, but has a high potential for exploitation.", +"No known exploitation activity." +], +"type": "string" +}, +"firstExploitationDate": { +"description": "Date of the earliest known exploitation.", +"format": "google-datetime", +"type": "string" +}, +"id": { +"description": "The unique identifier for the vulnerability. e.g. CVE-2021-34527", +"type": "string" +}, +"impact": { +"description": "The potential impact of the vulnerability if it was to be exploited.", +"enum": [ +"RISK_RATING_UNSPECIFIED", +"LOW", +"MEDIUM", +"HIGH", +"CRITICAL" +], +"enumDescriptions": [ +"Invalid or empty value.", +"Exploitation would have little to no security impact.", +"Exploitation would enable attackers to perform activities, or could allow attackers to have a direct impact, but would require additional steps.", +"Exploitation would enable attackers to have a notable direct impact without needing to overcome any major mitigating factors.", +"Exploitation would fundamentally undermine the security of affected systems, enable actors to perform significant attacks with minimal effort, with little to no mitigating factors to overcome." +], +"type": "string" +}, +"observedInTheWild": { +"description": "Whether or not the vulnerability has been observed in the wild.", +"type": "boolean" +}, +"references": { +"description": "Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527", +"items": { +"$ref": "GoogleCloudSecuritycenterV2Reference" +}, +"type": "array" +}, +"upstreamFixAvailable": { +"description": "Whether upstream fix is available for the CVE.", +"type": "boolean" +}, +"zeroDay": { +"description": "Whether or not the vulnerability was zero day when the finding was published.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Cvssv3": { +"description": "Common Vulnerability Scoring System version 3.", +"id": "GoogleCloudSecuritycenterV2Cvssv3", +"properties": { +"attackComplexity": { +"description": "This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability.", +"enum": [ +"ATTACK_COMPLEXITY_UNSPECIFIED", +"ATTACK_COMPLEXITY_LOW", +"ATTACK_COMPLEXITY_HIGH" +], +"enumDescriptions": [ +"Invalid value.", +"Specialized access conditions or extenuating circumstances do not exist. An attacker can expect repeatable success when attacking the vulnerable component.", +"A successful attack depends on conditions beyond the attacker's control. That is, a successful attack cannot be accomplished at will, but requires the attacker to invest in some measurable amount of effort in preparation or execution against the vulnerable component before a successful attack can be expected." +], +"type": "string" +}, +"attackVector": { +"description": "Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible.", +"enum": [ +"ATTACK_VECTOR_UNSPECIFIED", +"ATTACK_VECTOR_NETWORK", +"ATTACK_VECTOR_ADJACENT", +"ATTACK_VECTOR_LOCAL", +"ATTACK_VECTOR_PHYSICAL" +], +"enumDescriptions": [ +"Invalid value.", +"The vulnerable component is bound to the network stack and the set of possible attackers extends beyond the other options listed below, up to and including the entire Internet.", +"The vulnerable component is bound to the network stack, but the attack is limited at the protocol level to a logically adjacent topology.", +"The vulnerable component is not bound to the network stack and the attacker's path is via read/write/execute capabilities.", +"The attack requires the attacker to physically touch or manipulate the vulnerable component." +], +"type": "string" +}, +"availabilityImpact": { +"description": "This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability.", +"enum": [ +"IMPACT_UNSPECIFIED", +"IMPACT_HIGH", +"IMPACT_LOW", +"IMPACT_NONE" +], +"enumDescriptions": [ +"Invalid value.", +"High impact.", +"Low impact.", +"No impact." +], +"type": "string" +}, +"baseScore": { +"description": "The base score is a function of the base metric scores.", +"format": "double", +"type": "number" +}, +"confidentialityImpact": { +"description": "This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability.", +"enum": [ +"IMPACT_UNSPECIFIED", +"IMPACT_HIGH", +"IMPACT_LOW", +"IMPACT_NONE" +], +"enumDescriptions": [ +"Invalid value.", +"High impact.", +"Low impact.", +"No impact." +], +"type": "string" +}, +"integrityImpact": { +"description": "This metric measures the impact to integrity of a successfully exploited vulnerability.", +"enum": [ +"IMPACT_UNSPECIFIED", +"IMPACT_HIGH", +"IMPACT_LOW", +"IMPACT_NONE" +], +"enumDescriptions": [ +"Invalid value.", +"High impact.", +"Low impact.", +"No impact." +], +"type": "string" +}, +"privilegesRequired": { +"description": "This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability.", +"enum": [ +"PRIVILEGES_REQUIRED_UNSPECIFIED", +"PRIVILEGES_REQUIRED_NONE", +"PRIVILEGES_REQUIRED_LOW", +"PRIVILEGES_REQUIRED_HIGH" +], +"enumDescriptions": [ +"Invalid value.", +"The attacker is unauthorized prior to attack, and therefore does not require any access to settings or files of the vulnerable system to carry out an attack.", +"The attacker requires privileges that provide basic user capabilities that could normally affect only settings and files owned by a user. Alternatively, an attacker with Low privileges has the ability to access only non-sensitive resources.", +"The attacker requires privileges that provide significant (e.g., administrative) control over the vulnerable component allowing access to component-wide settings and files." +], +"type": "string" +}, +"scope": { +"description": "The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope.", +"enum": [ +"SCOPE_UNSPECIFIED", +"SCOPE_UNCHANGED", +"SCOPE_CHANGED" +], +"enumDescriptions": [ +"Invalid value.", +"An exploited vulnerability can only affect resources managed by the same security authority.", +"An exploited vulnerability can affect resources beyond the security scope managed by the security authority of the vulnerable component." +], +"type": "string" +}, +"userInteraction": { +"description": "This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component.", +"enum": [ +"USER_INTERACTION_UNSPECIFIED", +"USER_INTERACTION_NONE", +"USER_INTERACTION_REQUIRED" +], +"enumDescriptions": [ +"Invalid value.", +"The vulnerable system can be exploited without interaction from any user.", +"Successful exploitation of this vulnerability requires a user to take some action before the vulnerability can be exploited." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2DataAccessEvent": { +"description": "Details about a data access attempt made by a principal not authorized under applicable data security policy.", +"id": "GoogleCloudSecuritycenterV2DataAccessEvent", +"properties": { +"eventId": { +"description": "Unique identifier for data access event.", +"type": "string" +}, +"eventTime": { +"description": "Timestamp of data access event.", +"format": "google-datetime", +"type": "string" +}, +"operation": { +"description": "The operation performed by the principal to access the data.", +"enum": [ +"OPERATION_UNSPECIFIED", +"READ", +"MOVE", +"COPY" +], +"enumDescriptions": [ +"The operation is unspecified.", +"Represents a read operation.", +"Represents a move operation.", +"Represents a copy operation." +], +"type": "string" +}, +"principalEmail": { +"description": "The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2DataFlowEvent": { +"description": "Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy.", +"id": "GoogleCloudSecuritycenterV2DataFlowEvent", +"properties": { +"eventId": { +"description": "Unique identifier for data flow event.", +"type": "string" +}, +"eventTime": { +"description": "Timestamp of data flow event.", +"format": "google-datetime", +"type": "string" +}, +"operation": { +"description": "The operation performed by the principal for the data flow event.", +"enum": [ +"OPERATION_UNSPECIFIED", +"READ", +"MOVE", +"COPY" +], +"enumDescriptions": [ +"The operation is unspecified.", +"Represents a read operation.", +"Represents a move operation.", +"Represents a copy operation." +], +"type": "string" +}, +"principalEmail": { +"description": "The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other.", +"type": "string" +}, +"violatedLocation": { +"description": "Non-compliant location of the principal or the data destination.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2DataRetentionDeletionEvent": { +"description": "Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments.", +"id": "GoogleCloudSecuritycenterV2DataRetentionDeletionEvent", +"properties": { +"dataObjectCount": { +"description": "Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000.", +"format": "int64", +"type": "string" +}, +"eventDetectionTime": { +"description": "Timestamp indicating when the event was detected.", +"format": "google-datetime", +"type": "string" +}, +"eventType": { +"description": "Type of the DRD event.", +"enum": [ +"EVENT_TYPE_UNSPECIFIED", +"EVENT_TYPE_MAX_TTL_EXCEEDED" +], +"enumDescriptions": [ +"Unspecified event type.", +"The maximum retention time has been exceeded." +], +"type": "string" +}, +"maxRetentionAllowed": { +"description": "Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user set the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Database": { +"description": "Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided.", +"id": "GoogleCloudSecuritycenterV2Database", +"properties": { +"displayName": { +"description": "The human-readable name of the database that the user connected to.", +"type": "string" +}, +"grantees": { +"description": "The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory.", +"type": "string" +}, +"query": { +"description": "The SQL statement that is associated with the database access.", +"type": "string" +}, +"userName": { +"description": "The username used to connect to the database. The username might not be an IAM principal and does not have a set format.", +"type": "string" +}, +"version": { +"description": "The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Detection": { +"description": "Memory hash detection contributing to the binary family match.", +"id": "GoogleCloudSecuritycenterV2Detection", +"properties": { +"binary": { +"description": "The name of the binary associated with the memory hash signature detection.", +"type": "string" +}, +"percentPagesMatched": { +"description": "The percentage of memory page hashes in the signature that were matched.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Disk": { +"description": "Contains information about the disk associated with the finding.", +"id": "GoogleCloudSecuritycenterV2Disk", +"properties": { +"name": { +"description": "The name of the disk, for example, \"https://www.googleapis.com/compute/v1/projects/project-id/zones/zone-id/disks/disk-id\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2DiskPath": { +"description": "Path of the file in terms of underlying disk/partition identifiers.", +"id": "GoogleCloudSecuritycenterV2DiskPath", +"properties": { +"partitionUuid": { +"description": "UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid)", +"type": "string" +}, +"relativePath": { +"description": "Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2DynamicMuteRecord": { +"description": "The record of a dynamic mute rule that matches the finding.", +"id": "GoogleCloudSecuritycenterV2DynamicMuteRecord", +"properties": { +"matchTime": { +"description": "When the dynamic mute rule first matched the finding.", +"format": "google-datetime", +"type": "string" +}, +"muteConfig": { +"description": "The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2EnvironmentVariable": { +"description": "A name-value pair representing an environment variable used in an operating system process.", +"id": "GoogleCloudSecuritycenterV2EnvironmentVariable", +"properties": { +"name": { +"description": "Environment variable name as a JSON encoded string.", +"type": "string" +}, +"val": { +"description": "Environment variable value as a JSON encoded string.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2ExfilResource": { +"description": "Resource where data was exfiltrated from or exfiltrated to.", +"id": "GoogleCloudSecuritycenterV2ExfilResource", +"properties": { +"components": { +"description": "Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Exfiltration": { +"description": "Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to.", +"id": "GoogleCloudSecuritycenterV2Exfiltration", +"properties": { +"sources": { +"description": "If there are multiple sources, then the data is considered \"joined\" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2ExfilResource" +}, +"type": "array" +}, +"targets": { +"description": "If there are multiple targets, each target would get a complete copy of the \"joined\" source data.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2ExfilResource" +}, +"type": "array" +}, +"totalExfiltratedBytes": { +"description": "Total exfiltrated bytes processed for the entire job.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2ExternalSystem": { +"description": "Representation of third party SIEM/SOAR fields within SCC.", +"id": "GoogleCloudSecuritycenterV2ExternalSystem", +"properties": { +"assignees": { +"description": "References primary/secondary etc assignees in the external system.", +"items": { +"type": "string" +}, +"type": "array" +}, +"caseCloseTime": { +"description": "The time when the case was closed, as reported by the external system.", +"format": "google-datetime", +"type": "string" +}, +"caseCreateTime": { +"description": "The time when the case was created, as reported by the external system.", +"format": "google-datetime", +"type": "string" +}, +"casePriority": { +"description": "The priority of the finding's corresponding case in the external system.", +"type": "string" +}, +"caseSla": { +"description": "The SLA of the finding's corresponding case in the external system.", +"format": "google-datetime", +"type": "string" +}, +"caseUri": { +"description": "The link to the finding's corresponding case in the external system.", +"type": "string" +}, +"externalSystemUpdateTime": { +"description": "The time when the case was last updated, as reported by the external system.", +"format": "google-datetime", +"type": "string" +}, +"externalUid": { +"description": "The identifier that's used to track the finding's corresponding case in the external system.", +"type": "string" +}, +"name": { +"description": "Full resource name of the external system. The following list shows some examples: + `organizations/1234/sources/5678/findings/123456/externalSystems/jira` + `organizations/1234/sources/5678/locations/us/findings/123456/externalSystems/jira` + `folders/1234/sources/5678/findings/123456/externalSystems/jira` + `folders/1234/sources/5678/locations/us/findings/123456/externalSystems/jira` + `projects/1234/sources/5678/findings/123456/externalSystems/jira` + `projects/1234/sources/5678/locations/us/findings/123456/externalSystems/jira`", +"type": "string" +}, +"status": { +"description": "The most recent status of the finding's corresponding case, as reported by the external system.", +"type": "string" +}, +"ticketInfo": { +"$ref": "GoogleCloudSecuritycenterV2TicketInfo", +"description": "Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding." +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2File": { +"description": "File information about the related binary/library used by an executable, or the script used by a script interpreter", +"id": "GoogleCloudSecuritycenterV2File", +"properties": { +"contents": { +"description": "Prefix of the file contents as a JSON-encoded string.", +"type": "string" +}, +"diskPath": { +"$ref": "GoogleCloudSecuritycenterV2DiskPath", +"description": "Path of the file in terms of underlying disk/partition identifiers." +}, +"hashedSize": { +"description": "The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.", +"format": "int64", +"type": "string" +}, +"partiallyHashed": { +"description": "True when the hash covers only a prefix of the file.", +"type": "boolean" +}, +"path": { +"description": "Absolute path of the file as a JSON encoded string.", +"type": "string" +}, +"sha256": { +"description": "SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file.", +"type": "string" +}, +"size": { +"description": "Size of the file in bytes.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Finding": { +"description": "Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.", +"id": "GoogleCloudSecuritycenterV2Finding", +"properties": { +"access": { +"$ref": "GoogleCloudSecuritycenterV2Access", +"description": "Access details associated with the finding, such as more information on the caller, which method was accessed, and from where." +}, +"application": { +"$ref": "GoogleCloudSecuritycenterV2Application", +"description": "Represents an application associated with the finding." +}, +"attackExposure": { +"$ref": "GoogleCloudSecuritycenterV2AttackExposure", +"description": "The results of an attack path simulation relevant to this finding." +}, +"backupDisasterRecovery": { +"$ref": "GoogleCloudSecuritycenterV2BackupDisasterRecovery", +"description": "Fields related to Backup and DR findings." +}, +"canonicalName": { +"description": "Output only. The canonical name of the finding. The following list shows some examples: + `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}` + `organizations/{organization_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` + `folders/{folder_id}/sources/{source_id}/findings/{finding_id}` + `folders/{folder_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` + `projects/{project_id}/sources/{source_id}/findings/{finding_id}` + `projects/{project_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` The prefix is the closest CRM ancestor of the resource associated with the finding.", +"readOnly": true, +"type": "string" +}, +"category": { +"description": "Immutable. The additional taxonomy group within findings from a given source. Example: \"XSS_FLASH_INJECTION\"", +"type": "string" +}, +"cloudArmor": { +"$ref": "GoogleCloudSecuritycenterV2CloudArmor", +"description": "Fields related to Cloud Armor findings." +}, +"cloudDlpDataProfile": { +"$ref": "GoogleCloudSecuritycenterV2CloudDlpDataProfile", +"description": "Cloud DLP data profile that is associated with the finding." +}, +"cloudDlpInspection": { +"$ref": "GoogleCloudSecuritycenterV2CloudDlpInspection", +"description": "Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding." +}, +"compliances": { +"description": "Contains compliance information for security standards associated to the finding.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2Compliance" +}, +"type": "array" +}, +"connections": { +"description": "Contains information about the IP connection associated with the finding.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2Connection" +}, +"type": "array" +}, +"contacts": { +"additionalProperties": { +"$ref": "GoogleCloudSecuritycenterV2ContactDetails" +}, +"description": "Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { \"security\": { \"contacts\": [ { \"email\": \"person1@company.com\" }, { \"email\": \"person2@company.com\" } ] } }", +"readOnly": true, +"type": "object" +}, +"containers": { +"description": "Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2Container" +}, +"type": "array" +}, +"createTime": { +"description": "Output only. The time at which the finding was created in Security Command Center.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataAccessEvents": { +"description": "Data access events associated with the finding.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2DataAccessEvent" +}, +"type": "array" +}, +"dataFlowEvents": { +"description": "Data flow events associated with the finding.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2DataFlowEvent" +}, +"type": "array" +}, +"dataRetentionDeletionEvents": { +"description": "Data retention deletion events associated with the finding.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2DataRetentionDeletionEvent" +}, +"type": "array" +}, +"database": { +"$ref": "GoogleCloudSecuritycenterV2Database", +"description": "Database associated with the finding." +}, +"description": { +"description": "Contains more details about the finding.", +"type": "string" +}, +"disk": { +"$ref": "GoogleCloudSecuritycenterV2Disk", +"description": "Disk associated with the finding." +}, +"eventTime": { +"description": "The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp.", +"format": "google-datetime", +"type": "string" +}, +"exfiltration": { +"$ref": "GoogleCloudSecuritycenterV2Exfiltration", +"description": "Represents exfiltrations associated with the finding." +}, +"externalSystems": { +"additionalProperties": { +"$ref": "GoogleCloudSecuritycenterV2ExternalSystem" +}, +"description": "Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields.", +"readOnly": true, +"type": "object" +}, +"externalUri": { +"description": "The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL.", +"type": "string" +}, +"files": { +"description": "File associated with the finding.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2File" +}, +"type": "array" +}, +"findingClass": { +"description": "The class of the finding.", +"enum": [ +"FINDING_CLASS_UNSPECIFIED", +"THREAT", +"VULNERABILITY", +"MISCONFIGURATION", +"OBSERVATION", +"SCC_ERROR", +"POSTURE_VIOLATION", +"TOXIC_COMBINATION", +"SENSITIVE_DATA_RISK" +], +"enumDescriptions": [ +"Unspecified finding class.", +"Describes unwanted or malicious activity.", +"Describes a potential weakness in software that increases risk to Confidentiality & Integrity & Availability.", +"Describes a potential weakness in cloud resource/asset configuration that increases risk.", +"Describes a security observation that is for informational purposes.", +"Describes an error that prevents some SCC functionality.", +"Describes a potential security risk due to a change in the security posture.", +"Describes a combination of security issues that represent a more severe security problem when taken together.", +"Describes a potential security risk to data assets that contain sensitive data." +], +"type": "string" +}, +"groupMemberships": { +"description": "Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2GroupMembership" +}, +"type": "array" +}, +"iamBindings": { +"description": "Represents IAM bindings associated with the finding.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2IamBinding" +}, +"type": "array" +}, +"indicator": { +"$ref": "GoogleCloudSecuritycenterV2Indicator", +"description": "Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise)." +}, +"kernelRootkit": { +"$ref": "GoogleCloudSecuritycenterV2KernelRootkit", +"description": "Signature of the kernel rootkit." +}, +"kubernetes": { +"$ref": "GoogleCloudSecuritycenterV2Kubernetes", +"description": "Kubernetes resources associated with the finding." +}, +"loadBalancers": { +"description": "The load balancers associated with the finding.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2LoadBalancer" +}, +"type": "array" +}, +"logEntries": { +"description": "Log entries that are relevant to the finding.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2LogEntry" +}, +"type": "array" +}, +"mitreAttack": { +"$ref": "GoogleCloudSecuritycenterV2MitreAttack", +"description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org" +}, +"moduleName": { +"description": "Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885", +"type": "string" +}, +"mute": { +"description": "Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute.", +"enum": [ +"MUTE_UNSPECIFIED", +"MUTED", +"UNMUTED", +"UNDEFINED" +], +"enumDescriptions": [ +"Unspecified.", +"Finding has been muted.", +"Finding has been unmuted.", +"Finding has never been muted/unmuted." +], +"type": "string" +}, +"muteInfo": { +"$ref": "GoogleCloudSecuritycenterV2MuteInfo", +"description": "Output only. The mute information regarding this finding.", +"readOnly": true +}, +"muteInitiator": { +"description": "Records additional information about the mute operation, for example, the [mute configuration](https://cloud.google.com/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding.", +"type": "string" +}, +"muteUpdateTime": { +"description": "Output only. The most recent time this finding was muted or unmuted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. The following list shows some examples: + `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}` + `organizations/{organization_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` + `folders/{folder_id}/sources/{source_id}/findings/{finding_id}` + `folders/{folder_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` + `projects/{project_id}/sources/{source_id}/findings/{finding_id}` + `projects/{project_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}`", +"type": "string" +}, +"nextSteps": { +"description": "Steps to address the finding.", +"type": "string" +}, +"notebook": { +"$ref": "GoogleCloudSecuritycenterV2Notebook", +"description": "Notebook associated with the finding." +}, +"orgPolicies": { +"description": "Contains information about the org policies associated with the finding.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2OrgPolicy" +}, +"type": "array" +}, +"parent": { +"description": "The relative resource name of the source and location the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. The following list shows some examples: + `organizations/{organization_id}/sources/{source_id}` + `folders/{folders_id}/sources/{source_id}` + `projects/{projects_id}/sources/{source_id}` + `organizations/{organization_id}/sources/{source_id}/locations/{location_id}` + `folders/{folders_id}/sources/{source_id}/locations/{location_id}` + `projects/{projects_id}/sources/{source_id}/locations/{location_id}`", +"type": "string" +}, +"parentDisplayName": { +"description": "Output only. The human readable display name of the finding source such as \"Event Threat Detection\" or \"Security Health Analytics\".", +"readOnly": true, +"type": "string" +}, +"processes": { +"description": "Represents operating system processes associated with the Finding.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2Process" +}, +"type": "array" +}, +"resourceName": { +"description": "Immutable. For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string.", +"type": "string" +}, +"securityMarks": { +"$ref": "GoogleCloudSecuritycenterV2SecurityMarks", +"description": "Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding.", +"readOnly": true +}, +"securityPosture": { +"$ref": "GoogleCloudSecuritycenterV2SecurityPosture", +"description": "The security posture associated with the finding." +}, +"severity": { +"description": "The severity of the finding. This field is managed by the source that writes the finding.", +"enum": [ +"SEVERITY_UNSPECIFIED", +"CRITICAL", +"HIGH", +"MEDIUM", +"LOW" +], +"enumDescriptions": [ +"This value is used for findings when a source doesn't write a severity value.", +"Vulnerability: A critical vulnerability is easily discoverable by an external actor, exploitable, and results in the direct ability to execute arbitrary code, exfiltrate data, and otherwise gain additional access and privileges to cloud resources and workloads. Examples include publicly accessible unprotected user data and public SSH access with weak or no passwords. Threat: Indicates a threat that is able to access, modify, or delete data or execute unauthorized code within existing resources.", +"Vulnerability: A high risk vulnerability can be easily discovered and exploited in combination with other vulnerabilities in order to gain direct access and the ability to execute arbitrary code, exfiltrate data, and otherwise gain additional access and privileges to cloud resources and workloads. An example is a database with weak or no passwords that is only accessible internally. This database could easily be compromised by an actor that had access to the internal network. Threat: Indicates a threat that is able to create new computational resources in an environment but not able to access data or execute code in existing resources.", +"Vulnerability: A medium risk vulnerability could be used by an actor to gain access to resources or privileges that enable them to eventually (through multiple steps or a complex exploit) gain access and the ability to execute arbitrary code or exfiltrate data. An example is a service account with access to more projects than it should have. If an actor gains access to the service account, they could potentially use that access to manipulate a project the service account was not intended to. Threat: Indicates a threat that is able to cause operational impact but may not access data or execute unauthorized code.", +"Vulnerability: A low risk vulnerability hampers a security organization's ability to detect vulnerabilities or active threats in their deployment, or prevents the root cause investigation of security issues. An example is monitoring and logs being disabled for resource configurations and access. Threat: Indicates a threat that has obtained minimal access to an environment but is not able to access data, execute code, or create resources." +], +"type": "string" +}, +"sourceProperties": { +"additionalProperties": { +"type": "any" +}, +"description": "Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only.", +"type": "object" +}, +"state": { +"description": "Output only. The state of the finding.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"INACTIVE" +], +"enumDescriptions": [ +"Unspecified state.", +"The finding requires attention and has not been addressed yet.", +"The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active." +], +"readOnly": true, +"type": "string" +}, +"toxicCombination": { +"$ref": "GoogleCloudSecuritycenterV2ToxicCombination", +"description": "Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests." +}, +"vulnerability": { +"$ref": "GoogleCloudSecuritycenterV2Vulnerability", +"description": "Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Folder": { +"description": "Message that contains the resource name and display name of a folder resource.", +"id": "GoogleCloudSecuritycenterV2Folder", +"properties": { +"resourceFolder": { +"description": "Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", +"type": "string" +}, +"resourceFolderDisplayName": { +"description": "The user defined display name for this folder.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Geolocation": { +"description": "Represents a geographical location for a given access.", +"id": "GoogleCloudSecuritycenterV2Geolocation", +"properties": { +"regionCode": { +"description": "A CLDR.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2GroupMembership": { +"description": "Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way.", +"id": "GoogleCloudSecuritycenterV2GroupMembership", +"properties": { +"groupId": { +"description": "ID of the group.", +"type": "string" +}, +"groupType": { +"description": "Type of group.", +"enum": [ +"GROUP_TYPE_UNSPECIFIED", +"GROUP_TYPE_TOXIC_COMBINATION" +], +"enumDescriptions": [ +"Default value.", +"Group represents a toxic combination." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2IamBinding": { +"description": "Represents a particular IAM binding, which captures a member's role addition, removal, or state.", +"id": "GoogleCloudSecuritycenterV2IamBinding", +"properties": { +"action": { +"description": "The action that was performed on a Binding.", +"enum": [ +"ACTION_UNSPECIFIED", +"ADD", +"REMOVE" +], +"enumDescriptions": [ +"Unspecified.", +"Addition of a Binding.", +"Removal of a Binding." +], +"type": "string" +}, +"member": { +"description": "A single identity requesting access for a Cloud Platform resource, for example, \"foo@google.com\".", +"type": "string" +}, +"role": { +"description": "Role that is assigned to \"members\". For example, \"roles/viewer\", \"roles/editor\", or \"roles/owner\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Indicator": { +"description": "Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise).", +"id": "GoogleCloudSecuritycenterV2Indicator", +"properties": { +"domains": { +"description": "List of domains associated to the Finding.", +"items": { +"type": "string" +}, +"type": "array" +}, +"ipAddresses": { +"description": "The list of IP addresses that are associated with the finding.", +"items": { +"type": "string" +}, +"type": "array" +}, +"signatures": { +"description": "The list of matched signatures indicating that the given process is present in the environment.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2ProcessSignature" +}, +"type": "array" +}, +"uris": { +"description": "The list of URIs associated to the Findings.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Issue": { +"description": "Security Command Center Issue.", +"id": "GoogleCloudSecuritycenterV2Issue", +"properties": { +"createTime": { +"description": "Output only. The time the issue was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "The description of the issue in Markdown format.", +"type": "string" +}, +"detection": { +"description": "The finding category or rule name that generated the issue.", +"type": "string" +}, +"domains": { +"description": "The domains of the issue.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2IssueDomain" +}, +"type": "array" +}, +"exposureScore": { +"description": "The exposure score of the issue.", +"format": "double", +"type": "number" +}, +"issueType": { +"description": "The type of the issue.", +"enum": [ +"ISSUE_TYPE_UNSPECIFIED", +"CHOKEPOINT", +"TOXIC_COMBINATION", +"INSIGHT" +], +"enumDescriptions": [ +"Unspecified issue type.", +"Chokepoint issue type.", +"Toxic combination issue type.", +"Insight issue type." +], +"type": "string" +}, +"lastObservationTime": { +"description": "The time the issue was last observed.", +"format": "google-datetime", +"type": "string" +}, +"mute": { +"$ref": "GoogleCloudSecuritycenterV2IssueMute", +"description": "The mute information of the issue." +}, +"name": { +"description": "Identifier. The name of the issue. Format: organizations/{organization}/locations/{location}/issues/{issue}", +"type": "string" +}, +"primaryResource": { +"$ref": "GoogleCloudSecuritycenterV2IssueResource", +"description": "The primary resource associated with the issue." +}, +"relatedFindings": { +"description": "The findings related to the issue.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2IssueFinding" +}, +"type": "array" +}, +"remediations": { +"description": "Approaches to remediate the issue in Markdown format.", +"items": { +"type": "string" +}, +"type": "array" +}, +"secondaryResources": { +"description": "Additional resources associated with the issue.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2IssueResource" +}, +"type": "array" +}, +"securityContexts": { +"description": "The security context of the issue.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2IssueSecurityContext" +}, +"type": "array" +}, +"severity": { +"description": "The severity of the issue.", +"enum": [ +"SEVERITY_UNSPECIFIED", +"CRITICAL", +"HIGH", +"MEDIUM", +"LOW" +], +"enumDescriptions": [ +"Unspecified severity.", +"Critical severity.", +"High severity.", +"Medium severity.", +"Low severity." +], +"type": "string" +}, +"state": { +"description": "Output only. The state of the issue.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"INACTIVE" +], +"enumDescriptions": [ +"Unspecified state.", +"Active state.", +"Inactive state." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The time the issue was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2IssueDomain": { +"description": "The domains of an issue.", +"id": "GoogleCloudSecuritycenterV2IssueDomain", +"properties": { +"domainCategory": { +"description": "The domain category of the issue.", +"enum": [ +"DOMAIN_CATEGORY_UNSPECIFIED", +"AI", +"CODE", +"CONTAINER", +"DATA", +"IDENTITY_AND_ACCESS", +"VULNERABILITY" +], +"enumDescriptions": [ +"Unspecified domain category.", +"Issues in the AI domain.", +"Issues in the code domain.", +"Issues in the container domain.", +"Issues in the data domain.", +"Issues in the identity and access domain.", +"Issues in the vulnerability domain." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2IssueFinding": { +"description": "Finding related to an issue.", +"id": "GoogleCloudSecuritycenterV2IssueFinding", +"properties": { +"cve": { +"$ref": "GoogleCloudSecuritycenterV2IssueFindingCve", +"description": "The CVE of the finding." +}, +"name": { +"description": "The name of the finding.", +"type": "string" +}, +"securityBulletin": { +"$ref": "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin", +"description": "The security bulletin of the finding." +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2IssueFindingCve": { +"description": "The CVE of the finding.", +"id": "GoogleCloudSecuritycenterV2IssueFindingCve", +"properties": { +"name": { +"description": "The CVE name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin": { +"description": "The security bulletin of the finding.", +"id": "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin", +"properties": { +"name": { +"description": "The security bulletin name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2IssueMute": { +"description": "The mute information of the issue.", +"id": "GoogleCloudSecuritycenterV2IssueMute", +"properties": { +"muteInitiator": { +"description": "The email address of the user who last changed the mute state of the issue.", +"type": "string" +}, +"muteReason": { +"description": "The user-provided reason for muting the issue.", +"type": "string" +}, +"muteState": { +"description": "Output only. The mute state of the issue.", +"enum": [ +"MUTE_STATE_UNSPECIFIED", +"NOT_MUTED", +"MUTED" +], +"enumDescriptions": [ +"Unspecified mute state.", +"Not muted.", +"Muted." +], +"readOnly": true, +"type": "string" +}, +"muteUpdateTime": { +"description": "The time the issue was muted.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2IssueResource": { +"description": "A resource associated with the an issue.", +"id": "GoogleCloudSecuritycenterV2IssueResource", +"properties": { +"awsMetadata": { +"$ref": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata", +"description": "The AWS metadata of the resource associated with the issue. Only populated for AWS resources." +}, +"azureMetadata": { +"$ref": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata", +"description": "The Azure metadata of the resource associated with the issue. Only populated for Azure resources." +}, +"cloudProvider": { +"description": "The cloud provider of the resource associated with the issue.", +"enum": [ +"CLOUD_PROVIDER_UNSPECIFIED", +"GOOGLE_CLOUD", +"AMAZON_WEB_SERVICES", +"MICROSOFT_AZURE" +], +"enumDescriptions": [ +"Unspecified cloud provider.", +"Google Cloud.", +"Amazon Web Services.", +"Microsoft Azure." +], +"type": "string" +}, +"displayName": { +"description": "The resource-type specific display name of the resource associated with the issue.", +"type": "string" +}, +"googleCloudMetadata": { +"$ref": "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata", +"description": "The Google Cloud metadata of the resource associated with the issue. Only populated for Google Cloud resources." +}, +"name": { +"description": "The full resource name of the resource associated with the issue.", +"type": "string" +}, +"type": { +"description": "The type of the resource associated with the issue.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2IssueResourceAwsMetadata": { +"description": "The AWS metadata of a resource associated with an issue.", +"id": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata", +"properties": { +"account": { +"$ref": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount", +"description": "The AWS account of the resource associated with the issue." +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount": { +"description": "The AWS account of the resource associated with the issue.", +"id": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount", +"properties": { +"id": { +"description": "The AWS account ID of the resource associated with the issue.", +"type": "string" +}, +"name": { +"description": "The AWS account name of the resource associated with the issue.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2IssueResourceAzureMetadata": { +"description": "The Azure metadata of a resource associated with an issue.", +"id": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata", +"properties": { +"subscription": { +"$ref": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription", +"description": "The Azure subscription of the resource associated with the issue." +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription": { +"description": "The Azure subscription of the resource associated with the issue.", +"id": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription", +"properties": { +"displayName": { +"description": "The Azure subscription display name of the resource associated with the issue.", +"type": "string" +}, +"id": { +"description": "The Azure subscription ID of the resource associated with the issue.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata": { +"description": "Google Cloud metadata of a resource associated with an issue.", +"id": "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata", +"properties": { +"projectId": { +"description": "The project ID that the resource associated with the issue belongs to.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2IssueSecurityContext": { +"description": "Security context associated with an issue.", +"id": "GoogleCloudSecuritycenterV2IssueSecurityContext", +"properties": { +"aggregatedCount": { +"$ref": "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount", +"description": "The aggregated count of the security context." +}, +"context": { +"$ref": "GoogleCloudSecuritycenterV2IssueSecurityContextContext", +"description": "The context of the security context." +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount": { +"description": "Aggregated count of a security context.", +"id": "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount", +"properties": { +"key": { +"description": "Aggregation key.", +"type": "string" +}, +"value": { +"description": "Aggregation value.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2IssueSecurityContextContext": { +"description": "Context of a security context.", +"id": "GoogleCloudSecuritycenterV2IssueSecurityContextContext", +"properties": { +"type": { +"description": "Context type.", +"type": "string" +}, +"values": { +"description": "Context values.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2KernelRootkit": { +"description": "Kernel mode rootkit signatures.", +"id": "GoogleCloudSecuritycenterV2KernelRootkit", +"properties": { +"name": { +"description": "Rootkit name, when available.", +"type": "string" +}, +"unexpectedCodeModification": { +"description": "True if unexpected modifications of kernel code memory are present.", +"type": "boolean" +}, +"unexpectedFtraceHandler": { +"description": "True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.", +"type": "boolean" +}, +"unexpectedInterruptHandler": { +"description": "True if interrupt handlers that are are not in the expected kernel or module code regions are present.", +"type": "boolean" +}, +"unexpectedKernelCodePages": { +"description": "True if kernel code pages that are not in the expected kernel or module code regions are present.", +"type": "boolean" +}, +"unexpectedKprobeHandler": { +"description": "True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.", +"type": "boolean" +}, +"unexpectedProcessesInRunqueue": { +"description": "True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list.", +"type": "boolean" +}, +"unexpectedReadOnlyDataModification": { +"description": "True if unexpected modifications of kernel read-only data memory are present.", +"type": "boolean" +}, +"unexpectedSystemCallHandler": { +"description": "True if system call handlers that are are not in the expected kernel or module code regions are present.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Kubernetes": { +"description": "Kubernetes-related attributes.", +"id": "GoogleCloudSecuritycenterV2Kubernetes", +"properties": { +"accessReviews": { +"description": "Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2AccessReview" +}, +"type": "array" +}, +"bindings": { +"description": "Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).", +"items": { +"$ref": "GoogleCloudSecuritycenterV2Binding" +}, +"type": "array" +}, +"nodePools": { +"description": "GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2NodePool" +}, +"type": "array" +}, +"nodes": { +"description": "Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2Node" +}, +"type": "array" +}, +"objects": { +"description": "Kubernetes objects related to the finding.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2Object" +}, +"type": "array" +}, +"pods": { +"description": "Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2Pod" +}, +"type": "array" +}, +"roles": { +"description": "Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).", +"items": { +"$ref": "GoogleCloudSecuritycenterV2Role" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Label": { +"description": "Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering).", +"id": "GoogleCloudSecuritycenterV2Label", +"properties": { +"name": { +"description": "Name of the label.", +"type": "string" +}, +"value": { +"description": "Value that corresponds to the label's name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2LoadBalancer": { +"description": "Contains information related to the load balancer associated with the finding.", +"id": "GoogleCloudSecuritycenterV2LoadBalancer", +"properties": { +"name": { +"description": "The name of the load balancer associated with the finding.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2LogEntry": { +"description": "An individual entry in a log.", +"id": "GoogleCloudSecuritycenterV2LogEntry", +"properties": { +"cloudLoggingEntry": { +"$ref": "GoogleCloudSecuritycenterV2CloudLoggingEntry", +"description": "An individual entry in a log stored in Cloud Logging." +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2MemoryHashSignature": { +"description": "A signature corresponding to memory page hashes.", +"id": "GoogleCloudSecuritycenterV2MemoryHashSignature", +"properties": { +"binaryFamily": { +"description": "The binary family.", +"type": "string" +}, +"detections": { +"description": "The list of memory hash detections contributing to the binary family match.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2Detection" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2MitreAttack": { +"description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org", +"id": "GoogleCloudSecuritycenterV2MitreAttack", +"properties": { +"additionalTactics": { +"description": "Additional MITRE ATT&CK tactics related to this finding, if any.", +"items": { +"enum": [ +"TACTIC_UNSPECIFIED", +"RECONNAISSANCE", +"RESOURCE_DEVELOPMENT", +"INITIAL_ACCESS", +"EXECUTION", +"PERSISTENCE", +"PRIVILEGE_ESCALATION", +"DEFENSE_EVASION", +"CREDENTIAL_ACCESS", +"DISCOVERY", +"LATERAL_MOVEMENT", +"COLLECTION", +"COMMAND_AND_CONTROL", +"EXFILTRATION", +"IMPACT" +], +"enumDescriptions": [ +"Unspecified value.", +"TA0043", +"TA0042", +"TA0001", +"TA0002", +"TA0003", +"TA0004", +"TA0005", +"TA0006", +"TA0007", +"TA0008", +"TA0009", +"TA0011", +"TA0010", +"TA0040" +], +"type": "string" +}, +"type": "array" +}, +"additionalTechniques": { +"description": "Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques.", +"items": { +"enum": [ +"TECHNIQUE_UNSPECIFIED", +"MASQUERADING", +"MATCH_LEGITIMATE_NAME_OR_LOCATION", +"BOOT_OR_LOGON_INITIALIZATION_SCRIPTS", +"STARTUP_ITEMS", +"NETWORK_SERVICE_DISCOVERY", +"PROCESS_DISCOVERY", +"COMMAND_AND_SCRIPTING_INTERPRETER", +"UNIX_SHELL", +"PYTHON", +"EXPLOITATION_FOR_PRIVILEGE_ESCALATION", +"PERMISSION_GROUPS_DISCOVERY", +"CLOUD_GROUPS", +"INDICATOR_REMOVAL_FILE_DELETION", +"APPLICATION_LAYER_PROTOCOL", +"DNS", +"SOFTWARE_DEPLOYMENT_TOOLS", +"VALID_ACCOUNTS", +"DEFAULT_ACCOUNTS", +"LOCAL_ACCOUNTS", +"CLOUD_ACCOUNTS", +"PROXY", +"EXTERNAL_PROXY", +"MULTI_HOP_PROXY", +"ACCOUNT_MANIPULATION", +"ADDITIONAL_CLOUD_CREDENTIALS", +"SSH_AUTHORIZED_KEYS", +"ADDITIONAL_CONTAINER_CLUSTER_ROLES", +"INGRESS_TOOL_TRANSFER", +"NATIVE_API", +"BRUTE_FORCE", +"SHARED_MODULES", +"ACCESS_TOKEN_MANIPULATION", +"TOKEN_IMPERSONATION_OR_THEFT", +"EXPLOIT_PUBLIC_FACING_APPLICATION", +"DOMAIN_POLICY_MODIFICATION", +"DATA_DESTRUCTION", +"SERVICE_STOP", +"INHIBIT_SYSTEM_RECOVERY", +"RESOURCE_HIJACKING", +"NETWORK_DENIAL_OF_SERVICE", +"CLOUD_SERVICE_DISCOVERY", +"STEAL_APPLICATION_ACCESS_TOKEN", +"ACCOUNT_ACCESS_REMOVAL", +"STEAL_WEB_SESSION_COOKIE", +"CREATE_OR_MODIFY_SYSTEM_PROCESS", +"EVENT_TRIGGERED_EXECUTION", +"ABUSE_ELEVATION_CONTROL_MECHANISM", +"UNSECURED_CREDENTIALS", +"MODIFY_AUTHENTICATION_PROCESS", +"IMPAIR_DEFENSES", +"DISABLE_OR_MODIFY_TOOLS", +"EXFILTRATION_OVER_WEB_SERVICE", +"EXFILTRATION_TO_CLOUD_STORAGE", +"DYNAMIC_RESOLUTION", +"LATERAL_TOOL_TRANSFER", +"MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE", +"CREATE_SNAPSHOT", +"CLOUD_INFRASTRUCTURE_DISCOVERY", +"OBTAIN_CAPABILITIES", +"ACTIVE_SCANNING", +"SCANNING_IP_BLOCKS", +"CONTAINER_ADMINISTRATION_COMMAND", +"DEPLOY_CONTAINER", +"ESCAPE_TO_HOST", +"CONTAINER_AND_RESOURCE_DISCOVERY", +"STEAL_OR_FORGE_AUTHENTICATION_CERTIFICATES" +], +"enumDescriptions": [ +"Unspecified value.", +"T1036", +"T1036.005", +"T1037", +"T1037.005", +"T1046", +"T1057", +"T1059", +"T1059.004", +"T1059.006", +"T1068", +"T1069", +"T1069.003", +"T1070.004", +"T1071", +"T1071.004", +"T1072", +"T1078", +"T1078.001", +"T1078.003", +"T1078.004", +"T1090", +"T1090.002", +"T1090.003", +"T1098", +"T1098.001", +"T1098.004", +"T1098.006", +"T1105", +"T1106", +"T1110", +"T1129", +"T1134", +"T1134.001", +"T1190", +"T1484", +"T1485", +"T1489", +"T1490", +"T1496", +"T1498", +"T1526", +"T1528", +"T1531", +"T1539", +"T1543", +"T1546", +"T1548", +"T1552", +"T1556", +"T1562", +"T1562.001", +"T1567", +"T1567.002", +"T1568", +"T1570", +"T1578", +"T1578.001", +"T1580", +"T1588", +"T1595", +"T1595.001", +"T1609", +"T1610", +"T1611", +"T1613", +"T1649" +], +"type": "string" +}, +"type": "array" +}, +"primaryTactic": { +"description": "The MITRE ATT&CK tactic most closely represented by this finding, if any.", +"enum": [ +"TACTIC_UNSPECIFIED", +"RECONNAISSANCE", +"RESOURCE_DEVELOPMENT", +"INITIAL_ACCESS", +"EXECUTION", +"PERSISTENCE", +"PRIVILEGE_ESCALATION", +"DEFENSE_EVASION", +"CREDENTIAL_ACCESS", +"DISCOVERY", +"LATERAL_MOVEMENT", +"COLLECTION", +"COMMAND_AND_CONTROL", +"EXFILTRATION", +"IMPACT" +], +"enumDescriptions": [ +"Unspecified value.", +"TA0043", +"TA0042", +"TA0001", +"TA0002", +"TA0003", +"TA0004", +"TA0005", +"TA0006", +"TA0007", +"TA0008", +"TA0009", +"TA0011", +"TA0010", +"TA0040" +], +"type": "string" +}, +"primaryTechniques": { +"description": "The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).", +"items": { +"enum": [ +"TECHNIQUE_UNSPECIFIED", +"MASQUERADING", +"MATCH_LEGITIMATE_NAME_OR_LOCATION", +"BOOT_OR_LOGON_INITIALIZATION_SCRIPTS", +"STARTUP_ITEMS", +"NETWORK_SERVICE_DISCOVERY", +"PROCESS_DISCOVERY", +"COMMAND_AND_SCRIPTING_INTERPRETER", +"UNIX_SHELL", +"PYTHON", +"EXPLOITATION_FOR_PRIVILEGE_ESCALATION", +"PERMISSION_GROUPS_DISCOVERY", +"CLOUD_GROUPS", +"INDICATOR_REMOVAL_FILE_DELETION", +"APPLICATION_LAYER_PROTOCOL", +"DNS", +"SOFTWARE_DEPLOYMENT_TOOLS", +"VALID_ACCOUNTS", +"DEFAULT_ACCOUNTS", +"LOCAL_ACCOUNTS", +"CLOUD_ACCOUNTS", +"PROXY", +"EXTERNAL_PROXY", +"MULTI_HOP_PROXY", +"ACCOUNT_MANIPULATION", +"ADDITIONAL_CLOUD_CREDENTIALS", +"SSH_AUTHORIZED_KEYS", +"ADDITIONAL_CONTAINER_CLUSTER_ROLES", +"INGRESS_TOOL_TRANSFER", +"NATIVE_API", +"BRUTE_FORCE", +"SHARED_MODULES", +"ACCESS_TOKEN_MANIPULATION", +"TOKEN_IMPERSONATION_OR_THEFT", +"EXPLOIT_PUBLIC_FACING_APPLICATION", +"DOMAIN_POLICY_MODIFICATION", +"DATA_DESTRUCTION", +"SERVICE_STOP", +"INHIBIT_SYSTEM_RECOVERY", +"RESOURCE_HIJACKING", +"NETWORK_DENIAL_OF_SERVICE", +"CLOUD_SERVICE_DISCOVERY", +"STEAL_APPLICATION_ACCESS_TOKEN", +"ACCOUNT_ACCESS_REMOVAL", +"STEAL_WEB_SESSION_COOKIE", +"CREATE_OR_MODIFY_SYSTEM_PROCESS", +"EVENT_TRIGGERED_EXECUTION", +"ABUSE_ELEVATION_CONTROL_MECHANISM", +"UNSECURED_CREDENTIALS", +"MODIFY_AUTHENTICATION_PROCESS", +"IMPAIR_DEFENSES", +"DISABLE_OR_MODIFY_TOOLS", +"EXFILTRATION_OVER_WEB_SERVICE", +"EXFILTRATION_TO_CLOUD_STORAGE", +"DYNAMIC_RESOLUTION", +"LATERAL_TOOL_TRANSFER", +"MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE", +"CREATE_SNAPSHOT", +"CLOUD_INFRASTRUCTURE_DISCOVERY", +"OBTAIN_CAPABILITIES", +"ACTIVE_SCANNING", +"SCANNING_IP_BLOCKS", +"CONTAINER_ADMINISTRATION_COMMAND", +"DEPLOY_CONTAINER", +"ESCAPE_TO_HOST", +"CONTAINER_AND_RESOURCE_DISCOVERY", +"STEAL_OR_FORGE_AUTHENTICATION_CERTIFICATES" +], +"enumDescriptions": [ +"Unspecified value.", +"T1036", +"T1036.005", +"T1037", +"T1037.005", +"T1046", +"T1057", +"T1059", +"T1059.004", +"T1059.006", +"T1068", +"T1069", +"T1069.003", +"T1070.004", +"T1071", +"T1071.004", +"T1072", +"T1078", +"T1078.001", +"T1078.003", +"T1078.004", +"T1090", +"T1090.002", +"T1090.003", +"T1098", +"T1098.001", +"T1098.004", +"T1098.006", +"T1105", +"T1106", +"T1110", +"T1129", +"T1134", +"T1134.001", +"T1190", +"T1484", +"T1485", +"T1489", +"T1490", +"T1496", +"T1498", +"T1526", +"T1528", +"T1531", +"T1539", +"T1543", +"T1546", +"T1548", +"T1552", +"T1556", +"T1562", +"T1562.001", +"T1567", +"T1567.002", +"T1568", +"T1570", +"T1578", +"T1578.001", +"T1580", +"T1588", +"T1595", +"T1595.001", +"T1609", +"T1610", +"T1611", +"T1613", +"T1649" +], +"type": "string" +}, +"type": "array" +}, +"version": { +"description": "The MITRE ATT&CK version referenced by the above fields. E.g. \"8\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2MuteConfig": { +"description": "A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings.", +"id": "GoogleCloudSecuritycenterV2MuteConfig", +"properties": { +"createTime": { +"description": "Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "A description of the mute config.", +"type": "string" +}, +"expiryTime": { +"description": "Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings.", +"format": "google-datetime", +"type": "string" +}, +"filter": { +"description": "Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:`", +"type": "string" +}, +"mostRecentEditor": { +"description": "Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Identifier. This field will be ignored if provided on config creation. The following list shows some examples of the format: + `organizations/{organization}/muteConfigs/{mute_config}` + `organizations/{organization}locations/{location}//muteConfigs/{mute_config}` + `folders/{folder}/muteConfigs/{mute_config}` + `folders/{folder}/locations/{location}/muteConfigs/{mute_config}` + `projects/{project}/muteConfigs/{mute_config}` + `projects/{project}/locations/{location}/muteConfigs/{mute_config}`", +"type": "string" +}, +"type": { +"description": "Required. The type of the mute config, which determines what type of mute state the config affects. Immutable after creation.", +"enum": [ +"MUTE_CONFIG_TYPE_UNSPECIFIED", +"STATIC", +"DYNAMIC" +], +"enumDescriptions": [ +"Unused.", +"A static mute config, which sets the static mute state of future matching findings to muted. Once the static mute state has been set, finding or config modifications will not affect the state.", +"A dynamic mute config, which is applied to existing and future matching findings, setting their dynamic mute state to \"muted\". If the config is updated or deleted, or a matching finding is updated, such that the finding doesn't match the config, the config will be removed from the finding, and the finding's dynamic mute state may become \"unmuted\" (unless other configs still match)." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2MuteInfo": { +"description": "Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules.", +"id": "GoogleCloudSecuritycenterV2MuteInfo", +"properties": { +"dynamicMuteRecords": { +"description": "The list of dynamic mute rules that currently match the finding.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2DynamicMuteRecord" +}, +"type": "array" +}, +"staticMute": { +"$ref": "GoogleCloudSecuritycenterV2StaticMute", +"description": "If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute." +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Node": { +"description": "Kubernetes nodes associated with the finding.", +"id": "GoogleCloudSecuritycenterV2Node", +"properties": { +"name": { +"description": "[Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2NodePool": { +"description": "Provides GKE node pool information.", +"id": "GoogleCloudSecuritycenterV2NodePool", +"properties": { +"name": { +"description": "Kubernetes node pool name.", +"type": "string" +}, +"nodes": { +"description": "Nodes associated with the finding.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2Node" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Notebook": { +"description": "Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding.", +"id": "GoogleCloudSecuritycenterV2Notebook", +"properties": { +"lastAuthor": { +"description": "The user ID of the latest author to modify the notebook.", +"type": "string" +}, +"name": { +"description": "The name of the notebook.", +"type": "string" +}, +"notebookUpdateTime": { +"description": "The most recent time the notebook was updated.", +"format": "google-datetime", +"type": "string" +}, +"service": { +"description": "The source notebook service, for example, \"Colab Enterprise\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2NotificationMessage": { +"description": "Cloud SCC's Notification", +"id": "GoogleCloudSecuritycenterV2NotificationMessage", +"properties": { +"finding": { +"$ref": "GoogleCloudSecuritycenterV2Finding", +"description": "If it's a Finding based notification config, this field will be populated." +}, +"notificationConfigName": { +"description": "Name of the notification config that generated current notification.", +"type": "string" +}, +"resource": { +"$ref": "GoogleCloudSecuritycenterV2Resource", +"description": "The Cloud resource tied to this notification's Finding." +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Object": { +"description": "Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview.", +"id": "GoogleCloudSecuritycenterV2Object", +"properties": { +"containers": { +"description": "Pod containers associated with this finding, if any.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2Container" +}, +"type": "array" +}, +"group": { +"description": "Kubernetes object group, such as \"policy.k8s.io/v1\".", +"type": "string" +}, +"kind": { +"description": "Kubernetes object kind, such as \"Namespace\".", +"type": "string" +}, +"name": { +"description": "Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/.", +"type": "string" +}, +"ns": { +"description": "Kubernetes object namespace. Must be a valid DNS label. Named \"ns\" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2OrgPolicy": { +"description": "Contains information about the org policies associated with the finding.", +"id": "GoogleCloudSecuritycenterV2OrgPolicy", +"properties": { +"name": { +"description": "The resource name of the org policy. Example: \"organizations/{organization_id}/policies/{constraint_name}\"", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Package": { +"description": "Package is a generic definition of a package.", +"id": "GoogleCloudSecuritycenterV2Package", +"properties": { +"cpeUri": { +"description": "The CPE URI where the vulnerability was detected.", +"type": "string" +}, +"packageName": { +"description": "The name of the package where the vulnerability was detected.", +"type": "string" +}, +"packageType": { +"description": "Type of package, for example, os, maven, or go.", +"type": "string" +}, +"packageVersion": { +"description": "The version of the package.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Pod": { +"description": "A Kubernetes Pod.", +"id": "GoogleCloudSecuritycenterV2Pod", +"properties": { +"containers": { +"description": "Pod containers associated with this finding, if any.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2Container" +}, +"type": "array" +}, +"labels": { +"description": "Pod labels. For Kubernetes containers, these are applied to the container.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2Label" +}, +"type": "array" +}, +"name": { +"description": "Kubernetes Pod name.", +"type": "string" +}, +"ns": { +"description": "Kubernetes Pod namespace.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2PolicyDriftDetails": { +"description": "The policy field that violates the deployed posture and its expected and detected values.", +"id": "GoogleCloudSecuritycenterV2PolicyDriftDetails", +"properties": { +"detectedValue": { +"description": "The detected value that violates the deployed posture, for example, `false` or `allowed_values={\"projects/22831892\"}`.", +"type": "string" +}, +"expectedValue": { +"description": "The value of this field that was configured in a posture, for example, `true` or `allowed_values={\"projects/29831892\"}`.", +"type": "string" +}, +"field": { +"description": "The name of the updated field, for example constraint.implementation.policy_rules[0].enforce", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Process": { +"description": "Represents an operating system process.", +"id": "GoogleCloudSecuritycenterV2Process", +"properties": { +"args": { +"description": "Process arguments as JSON encoded strings.", +"items": { +"type": "string" +}, +"type": "array" +}, +"argumentsTruncated": { +"description": "True if `args` is incomplete.", +"type": "boolean" +}, +"binary": { +"$ref": "GoogleCloudSecuritycenterV2File", +"description": "File information for the process executable." +}, +"envVariables": { +"description": "Process environment variables.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2EnvironmentVariable" +}, +"type": "array" +}, +"envVariablesTruncated": { +"description": "True if `env_variables` is incomplete.", +"type": "boolean" +}, +"libraries": { +"description": "File information for libraries loaded by the process.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2File" +}, +"type": "array" +}, +"name": { +"description": "The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`.", +"type": "string" +}, +"parentPid": { +"description": "The parent process ID.", +"format": "int64", +"type": "string" +}, +"pid": { +"description": "The process ID.", +"format": "int64", +"type": "string" +}, +"script": { +"$ref": "GoogleCloudSecuritycenterV2File", +"description": "When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter." +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2ProcessSignature": { +"description": "Indicates what signature matched this process.", +"id": "GoogleCloudSecuritycenterV2ProcessSignature", +"properties": { +"memoryHashSignature": { +"$ref": "GoogleCloudSecuritycenterV2MemoryHashSignature", +"description": "Signature indicating that a binary family was matched." +}, +"signatureType": { +"description": "Describes the type of resource associated with the signature.", +"enum": [ +"SIGNATURE_TYPE_UNSPECIFIED", +"SIGNATURE_TYPE_PROCESS", +"SIGNATURE_TYPE_FILE" +], +"enumDescriptions": [ +"The default signature type.", +"Used for signatures concerning processes.", +"Used for signatures concerning disks." +], +"type": "string" +}, +"yaraRuleSignature": { +"$ref": "GoogleCloudSecuritycenterV2YaraRuleSignature", +"description": "Signature indicating that a YARA rule was matched." +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Reference": { +"description": "Additional Links", +"id": "GoogleCloudSecuritycenterV2Reference", +"properties": { +"source": { +"description": "Source of the reference e.g. NVD", +"type": "string" +}, +"uri": { +"description": "Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Requests": { +"description": "Information about the requests relevant to the finding.", +"id": "GoogleCloudSecuritycenterV2Requests", +"properties": { +"longTermAllowed": { +"description": "Allowed RPS (requests per second) over the long term.", +"format": "int32", +"type": "integer" +}, +"longTermDenied": { +"description": "Denied RPS (requests per second) over the long term.", +"format": "int32", +"type": "integer" +}, +"ratio": { +"description": "For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term.", +"format": "double", +"type": "number" +}, +"shortTermAllowed": { +"description": "Allowed RPS (requests per second) in the short term.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Resource": { +"description": "Information related to the Google Cloud resource.", +"id": "GoogleCloudSecuritycenterV2Resource", +"properties": { +"awsMetadata": { +"$ref": "GoogleCloudSecuritycenterV2AwsMetadata", +"description": "The AWS metadata associated with the finding." +}, +"azureMetadata": { +"$ref": "GoogleCloudSecuritycenterV2AzureMetadata", +"description": "The Azure metadata associated with the finding." +}, +"cloudProvider": { +"description": "Indicates which cloud provider the finding is from.", +"enum": [ +"CLOUD_PROVIDER_UNSPECIFIED", +"GOOGLE_CLOUD_PLATFORM", +"AMAZON_WEB_SERVICES", +"MICROSOFT_AZURE" +], +"enumDescriptions": [ +"The cloud provider is unspecified.", +"The cloud provider is Google Cloud Platform.", +"The cloud provider is Amazon Web Services.", +"The cloud provider is Microsoft Azure." +], +"type": "string" +}, +"displayName": { +"description": "The human readable name of the resource.", +"type": "string" +}, +"gcpMetadata": { +"$ref": "GcpMetadata", +"description": "The GCP metadata associated with the finding." +}, +"location": { +"description": "The region or location of the service (if applicable).", +"type": "string" +}, +"name": { +"description": "The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", +"type": "string" +}, +"resourcePath": { +"$ref": "GoogleCloudSecuritycenterV2ResourcePath", +"description": "Provides the path to the resource within the resource hierarchy." +}, +"resourcePathString": { +"description": "A string representation of the resource path. For Google Cloud, it has the format of `organizations/{organization_id}/folders/{folder_id}/folders/{folder_id}/projects/{project_id}` where there can be any number of folders. For AWS, it has the format of `org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_unit_id}/account/{account_id}` where there can be any number of organizational units. For Azure, it has the format of `mg/{management_group_id}/mg/{management_group_id}/subscription/{subscription_id}/rg/{resource_group_name}` where there can be any number of management groups.", +"type": "string" +}, +"service": { +"description": "The service or resource provider associated with the resource.", +"type": "string" +}, +"type": { +"description": "The full resource type of the resource.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2ResourcePath": { +"description": "Represents the path of resources leading up to the resource this finding is about.", +"id": "GoogleCloudSecuritycenterV2ResourcePath", +"properties": { +"nodes": { +"description": "The list of nodes that make the up resource path, ordered from lowest level to highest level.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2ResourcePathNode" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2ResourcePathNode": { +"description": "A node within the resource path. Each node represents a resource within the resource hierarchy.", +"id": "GoogleCloudSecuritycenterV2ResourcePathNode", +"properties": { +"displayName": { +"description": "The display name of the resource this node represents.", +"type": "string" +}, +"id": { +"description": "The ID of the resource this node represents.", +"type": "string" +}, +"nodeType": { +"description": "The type of resource this node represents.", +"enum": [ +"RESOURCE_PATH_NODE_TYPE_UNSPECIFIED", +"GCP_ORGANIZATION", +"GCP_FOLDER", +"GCP_PROJECT", +"AWS_ORGANIZATION", +"AWS_ORGANIZATIONAL_UNIT", +"AWS_ACCOUNT", +"AZURE_MANAGEMENT_GROUP", +"AZURE_SUBSCRIPTION", +"AZURE_RESOURCE_GROUP" +], +"enumDescriptions": [ +"Node type is unspecified.", +"The node represents a Google Cloud organization.", +"The node represents a Google Cloud folder.", +"The node represents a Google Cloud project.", +"The node represents an AWS organization.", +"The node represents an AWS organizational unit.", +"The node represents an AWS account.", +"The node represents an Azure management group.", +"The node represents an Azure subscription.", +"The node represents an Azure resource group." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2ResourceValueConfig": { +"description": "A resource value configuration (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations.", +"id": "GoogleCloudSecuritycenterV2ResourceValueConfig", +"properties": { +"cloudProvider": { +"description": "Cloud provider this configuration applies to", +"enum": [ +"CLOUD_PROVIDER_UNSPECIFIED", +"GOOGLE_CLOUD_PLATFORM", +"AMAZON_WEB_SERVICES", +"MICROSOFT_AZURE" +], +"enumDescriptions": [ +"The cloud provider is unspecified.", +"The cloud provider is Google Cloud Platform.", +"The cloud provider is Amazon Web Services.", +"The cloud provider is Microsoft Azure." +], +"type": "string" +}, +"createTime": { +"description": "Output only. Timestamp this resource value configuration was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Description of the resource value configuration.", +"type": "string" +}, +"name": { +"description": "Identifier. Name for the resource value configuration", +"type": "string" +}, +"resourceLabelsSelector": { +"additionalProperties": { +"type": "string" +}, +"description": "List of resource labels to search for, evaluated with `AND`. For example, \"resource_labels_selector\": {\"key\": \"value\", \"env\": \"prod\"} will match resources with labels \"key\": \"value\" `AND` \"env\": \"prod\" https://cloud.google.com/resource-manager/docs/creating-managing-labels", +"type": "object" +}, +"resourceType": { +"description": "Apply resource_value only to resources that match resource_type. resource_type will be checked with `AND` of other resources. For example, \"storage.googleapis.com/Bucket\" with resource_value \"HIGH\" will apply \"HIGH\" value only to \"storage.googleapis.com/Bucket\" resources.", +"type": "string" +}, +"resourceValue": { +"description": "Resource value level this expression represents Only required when there is no Sensitive Data Protection mapping in the request", +"enum": [ +"RESOURCE_VALUE_UNSPECIFIED", +"HIGH", +"MEDIUM", +"LOW", +"NONE" +], +"enumDescriptions": [ +"Unspecific value", +"High resource value", +"Medium resource value", +"Low resource value", +"No resource value, e.g. ignore these resources" +], +"type": "string" +}, +"scope": { +"description": "Project or folder to scope this configuration to. For example, \"project/456\" would apply this configuration only to resources in \"project/456\" scope and will be checked with `AND` of other resources.", +"type": "string" +}, +"sensitiveDataProtectionMapping": { +"$ref": "GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping", +"description": "A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. \"bigquery.googleapis.com/Dataset\"." +}, +"tagValues": { +"description": "Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of \"tagValues/123\". Example: `[ \"tagValues/123\", \"tagValues/456\", \"tagValues/789\" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing", +"items": { +"type": "string" +}, +"type": "array" +}, +"updateTime": { +"description": "Output only. Timestamp this resource value configuration was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Role": { +"description": "Kubernetes Role or ClusterRole.", +"id": "GoogleCloudSecuritycenterV2Role", +"properties": { +"kind": { +"description": "Role type.", +"enum": [ +"KIND_UNSPECIFIED", +"ROLE", +"CLUSTER_ROLE" +], +"enumDescriptions": [ +"Role type is not specified.", +"Kubernetes Role.", +"Kubernetes ClusterRole." +], +"type": "string" +}, +"name": { +"description": "Role name.", +"type": "string" +}, +"ns": { +"description": "Role namespace.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2SecurityBulletin": { +"description": "SecurityBulletin are notifications of vulnerabilities of Google products.", +"id": "GoogleCloudSecuritycenterV2SecurityBulletin", +"properties": { +"bulletinId": { +"description": "ID of the bulletin corresponding to the vulnerability.", +"type": "string" +}, +"submissionTime": { +"description": "Submission time of this Security Bulletin.", +"format": "google-datetime", +"type": "string" +}, +"suggestedUpgradeVersion": { +"description": "This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2SecurityMarks": { +"description": "User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization.", +"id": "GoogleCloudSecuritycenterV2SecurityMarks", +"properties": { +"canonicalName": { +"description": "The canonical name of the marks. The following list shows some examples: + `organizations/{organization_id}/assets/{asset_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks` + `folders/{folder_id}/assets/{asset_id}/securityMarks` + `folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks` + `folders/{folder_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks` + `projects/{project_number}/assets/{asset_id}/securityMarks` + `projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks` + `projects/{project_number}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks`", +"type": "string" +}, +"marks": { +"additionalProperties": { +"type": "string" +}, +"description": "Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)", +"type": "object" +}, +"name": { +"description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name The following list shows some examples: + `organizations/{organization_id}/assets/{asset_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2SecurityPolicy": { +"description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding.", +"id": "GoogleCloudSecuritycenterV2SecurityPolicy", +"properties": { +"name": { +"description": "The name of the Google Cloud Armor security policy, for example, \"my-security-policy\".", +"type": "string" +}, +"preview": { +"description": "Whether or not the associated rule or policy is in preview mode.", +"type": "boolean" +}, +"type": { +"description": "The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2SecurityPosture": { +"description": "Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud.", +"id": "GoogleCloudSecuritycenterV2SecurityPosture", +"properties": { +"changedPolicy": { +"description": "The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`.", +"type": "string" +}, +"name": { +"description": "Name of the posture, for example, `CIS-Posture`.", +"type": "string" +}, +"policy": { +"description": "The ID of the updated policy, for example, `compute-policy-1`.", +"type": "string" +}, +"policyDriftDetails": { +"description": "The details about a change in an updated policy that violates the deployed posture.", +"items": { +"$ref": "GoogleCloudSecuritycenterV2PolicyDriftDetails" +}, +"type": "array" +}, +"policySet": { +"description": "The name of the updated policy set, for example, `cis-policyset`.", +"type": "string" +}, +"postureDeployment": { +"description": "The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`.", +"type": "string" +}, +"postureDeploymentResource": { +"description": "The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`.", +"type": "string" +}, +"revisionId": { +"description": "The version of the posture, for example, `c7cfa2a8`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping": { +"description": "Resource value mapping for Sensitive Data Protection findings If any of these mappings have a resource value that is not unspecified, the resource_value field will be ignored when reading this configuration.", +"id": "GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping", +"properties": { +"highSensitivityMapping": { +"description": "Resource value mapping for high-sensitivity Sensitive Data Protection findings", +"enum": [ +"RESOURCE_VALUE_UNSPECIFIED", +"HIGH", +"MEDIUM", +"LOW", +"NONE" +], +"enumDescriptions": [ +"Unspecific value", +"High resource value", +"Medium resource value", +"Low resource value", +"No resource value, e.g. ignore these resources" +], +"type": "string" +}, +"mediumSensitivityMapping": { +"description": "Resource value mapping for medium-sensitivity Sensitive Data Protection findings", +"enum": [ +"RESOURCE_VALUE_UNSPECIFIED", +"HIGH", +"MEDIUM", +"LOW", +"NONE" +], +"enumDescriptions": [ +"Unspecific value", +"High resource value", +"Medium resource value", +"Low resource value", +"No resource value, e.g. ignore these resources" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo": { +"description": "Identity delegation history of an authenticated service account.", +"id": "GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo", +"properties": { +"principalEmail": { +"description": "The email address of a Google account.", +"type": "string" +}, +"principalSubject": { +"description": "A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{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" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2StaticMute": { +"description": "Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly.", +"id": "GoogleCloudSecuritycenterV2StaticMute", +"properties": { +"applyTime": { +"description": "When the static mute was applied.", +"format": "google-datetime", +"type": "string" +}, +"state": { +"description": "The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value.", +"enum": [ +"MUTE_UNSPECIFIED", +"MUTED", +"UNMUTED", +"UNDEFINED" +], +"enumDescriptions": [ +"Unspecified.", +"Finding has been muted.", +"Finding has been unmuted.", +"Finding has never been muted/unmuted." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Subject": { +"description": "Represents a Kubernetes subject.", +"id": "GoogleCloudSecuritycenterV2Subject", +"properties": { +"kind": { +"description": "Authentication type for the subject.", +"enum": [ +"AUTH_TYPE_UNSPECIFIED", +"USER", +"SERVICEACCOUNT", +"GROUP" +], +"enumDescriptions": [ +"Authentication is not specified.", +"User with valid certificate.", +"Users managed by Kubernetes API with credentials stored as secrets.", +"Collection of users." +], +"type": "string" +}, +"name": { +"description": "Name for the subject.", +"type": "string" +}, +"ns": { +"description": "Namespace for the subject.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2TicketInfo": { +"description": "Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding.", +"id": "GoogleCloudSecuritycenterV2TicketInfo", +"properties": { +"assignee": { +"description": "The assignee of the ticket in the ticket system.", +"type": "string" +}, +"description": { +"description": "The description of the ticket in the ticket system.", +"type": "string" +}, +"id": { +"description": "The identifier of the ticket in the ticket system.", +"type": "string" +}, +"status": { +"description": "The latest status of the ticket, as reported by the ticket system.", +"type": "string" +}, +"updateTime": { +"description": "The time when the ticket was last updated, as reported by the ticket system.", +"format": "google-datetime", +"type": "string" +}, +"uri": { +"description": "The link to the ticket in the ticket system.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2ToxicCombination": { +"description": "Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination.", +"id": "GoogleCloudSecuritycenterV2ToxicCombination", +"properties": { +"attackExposureScore": { +"description": "The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack.", +"format": "double", +"type": "number" +}, +"relatedFindings": { +"description": "List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2Vulnerability": { +"description": "Refers to common vulnerability fields e.g. cve, cvss, cwe etc.", +"id": "GoogleCloudSecuritycenterV2Vulnerability", +"properties": { +"cve": { +"$ref": "GoogleCloudSecuritycenterV2Cve", +"description": "CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)" +}, +"fixedPackage": { +"$ref": "GoogleCloudSecuritycenterV2Package", +"description": "The fixed package is relevant to the finding." +}, +"offendingPackage": { +"$ref": "GoogleCloudSecuritycenterV2Package", +"description": "The offending package is relevant to the finding." +}, +"securityBulletin": { +"$ref": "GoogleCloudSecuritycenterV2SecurityBulletin", +"description": "The security bulletin is relevant to this finding." +} +}, +"type": "object" +}, +"GoogleCloudSecuritycenterV2YaraRuleSignature": { +"description": "A signature corresponding to a YARA rule.", +"id": "GoogleCloudSecuritycenterV2YaraRuleSignature", +"properties": { +"yaraRule": { +"description": "The name of the YARA rule.", +"type": "string" +} +}, +"type": "object" +}, +"GroupAssetsRequest": { +"description": "Request message for grouping by assets.", +"id": "GroupAssetsRequest", +"properties": { +"compareDuration": { +"description": "When compare_duration is set, the Asset's \"state\" property is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible \"state\" values when compare_duration is specified: * \"ADDED\": indicates that the asset was not present before compare_duration, but present at reference_time. * \"REMOVED\": indicates that the asset was present at the start of compare_duration, but not present at reference_time. * \"ACTIVE\": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and reference_time. This field is ignored if `state` is not a field in `group_by`.", +"format": "google-duration", +"type": "string" +}, +"filter": { +"description": "Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are not supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include: * name * security_center_properties.resource_name * resource_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. For example, `resource_properties.size = 100` is a valid filter string.", +"type": "string" +}, +"groupBy": { +"description": "Required. Expression that defines what assets fields to use for grouping. The string value should follow SQL syntax: comma separated list of fields. For example: \"security_center_properties.resource_project,security_center_properties.project\". The following fields are supported when compare_duration is not set: * security_center_properties.resource_project * security_center_properties.resource_type * security_center_properties.resource_parent The following fields are supported when compare_duration is set: * security_center_properties.resource_type", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "The value returned by the last `GroupAssetsResponse`; indicates that this is a continuation of a prior `GroupAssets` call, and that the system should return the next page of data.", +"type": "string" +}, +"readTime": { +"description": "Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GroupAssetsResponse": { +"description": "Response message for grouping by assets.", +"id": "GroupAssetsResponse", +"properties": { +"groupByResults": { +"description": "Group results. There exists an element for each existing unique combination of property/values. The element contains a count for the number of times those specific property/values appear.", +"items": { +"$ref": "GroupResult" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results.", +"type": "string" +}, +"readTime": { +"description": "Time used for executing the groupBy request.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GroupFindingsRequest": { +"description": "Request message for grouping by findings.", +"id": "GroupFindingsRequest", +"properties": { +"filter": { +"description": "Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators `AND` and `OR`. Parentheses are not supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. Examples include: * name * source_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. For example, `source_properties.size = 100` is a valid filter string.", +"type": "string" +}, +"groupBy": { +"description": "Required. Expression that defines what assets fields to use for grouping (including `state`). The string value should follow SQL syntax: comma separated list of fields. For example: \"parent,resource_name\". The following fields are supported: * resource_name * category * state * parent", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "The value returned by the last `GroupFindingsResponse`; indicates that this is a continuation of a prior `GroupFindings` call, and that the system should return the next page of data.", +"type": "string" +}, +"readTime": { +"description": "Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GroupFindingsResponse": { +"description": "Response message for group by findings.", +"id": "GroupFindingsResponse", +"properties": { +"groupByResults": { +"description": "Group results. There exists an element for each existing unique combination of property/values. The element contains a count for the number of times those specific property/values appear.", +"items": { +"$ref": "GroupResult" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results.", +"type": "string" +}, +"readTime": { +"description": "Time used for executing the groupBy request.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GroupMembership": { +"description": "Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way.", +"id": "GroupMembership", +"properties": { +"groupId": { +"description": "ID of the group.", +"type": "string" +}, +"groupType": { +"description": "Type of group.", +"enum": [ +"GROUP_TYPE_UNSPECIFIED", +"GROUP_TYPE_TOXIC_COMBINATION" +], +"enumDescriptions": [ +"Default value.", +"Group represents a toxic combination." +], +"type": "string" +} +}, +"type": "object" +}, +"GroupResult": { +"description": "Result containing the properties and count of a groupBy request.", +"id": "GroupResult", +"properties": { +"count": { +"description": "Total count of resources for the given properties.", +"format": "int64", +"type": "string" +}, +"properties": { +"additionalProperties": { +"type": "any" +}, +"description": "Properties matching the groupBy fields in the request.", +"type": "object" +} +}, +"type": "object" +}, +"IamBinding": { +"description": "Represents a particular IAM binding, which captures a member's role addition, removal, or state.", +"id": "IamBinding", +"properties": { +"action": { +"description": "The action that was performed on a Binding.", +"enum": [ +"ACTION_UNSPECIFIED", +"ADD", +"REMOVE" +], +"enumDescriptions": [ +"Unspecified.", +"Addition of a Binding.", +"Removal of a Binding." +], +"type": "string" +}, +"member": { +"description": "A single identity requesting access for a Cloud Platform resource, for example, \"foo@google.com\".", +"type": "string" +}, +"role": { +"description": "Role that is assigned to \"members\". For example, \"roles/viewer\", \"roles/editor\", or \"roles/owner\".", +"type": "string" +} +}, +"type": "object" +}, +"Indicator": { +"description": "Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise).", +"id": "Indicator", +"properties": { +"domains": { +"description": "List of domains associated to the Finding.", +"items": { +"type": "string" +}, +"type": "array" +}, +"ipAddresses": { +"description": "The list of IP addresses that are associated with the finding.", +"items": { +"type": "string" +}, +"type": "array" +}, +"signatures": { +"description": "The list of matched signatures indicating that the given process is present in the environment.", +"items": { +"$ref": "ProcessSignature" +}, +"type": "array" +}, +"uris": { +"description": "The list of URIs associated to the Findings.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"KernelRootkit": { +"description": "Kernel mode rootkit signatures.", +"id": "KernelRootkit", +"properties": { +"name": { +"description": "Rootkit name, when available.", +"type": "string" +}, +"unexpectedCodeModification": { +"description": "True if unexpected modifications of kernel code memory are present.", +"type": "boolean" +}, +"unexpectedFtraceHandler": { +"description": "True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.", +"type": "boolean" +}, +"unexpectedInterruptHandler": { +"description": "True if interrupt handlers that are are not in the expected kernel or module code regions are present.", +"type": "boolean" +}, +"unexpectedKernelCodePages": { +"description": "True if kernel code pages that are not in the expected kernel or module code regions are present.", +"type": "boolean" +}, +"unexpectedKprobeHandler": { +"description": "True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.", +"type": "boolean" +}, +"unexpectedProcessesInRunqueue": { +"description": "True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list.", +"type": "boolean" +}, +"unexpectedReadOnlyDataModification": { +"description": "True if unexpected modifications of kernel read-only data memory are present.", +"type": "boolean" +}, +"unexpectedSystemCallHandler": { +"description": "True if system call handlers that are are not in the expected kernel or module code regions are present.", +"type": "boolean" +} +}, +"type": "object" +}, +"Kubernetes": { +"description": "Kubernetes-related attributes.", +"id": "Kubernetes", +"properties": { +"accessReviews": { +"description": "Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding.", +"items": { +"$ref": "AccessReview" +}, +"type": "array" +}, +"bindings": { +"description": "Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).", +"items": { +"$ref": "GoogleCloudSecuritycenterV1Binding" +}, +"type": "array" +}, +"nodePools": { +"description": "GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available.", +"items": { +"$ref": "NodePool" +}, +"type": "array" +}, +"nodes": { +"description": "Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information.", +"items": { +"$ref": "Node" +}, +"type": "array" +}, +"objects": { +"description": "Kubernetes objects related to the finding.", +"items": { +"$ref": "Object" +}, +"type": "array" +}, +"pods": { +"description": "Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod.", +"items": { +"$ref": "Pod" +}, +"type": "array" +}, +"roles": { +"description": "Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).", +"items": { +"$ref": "Role" +}, +"type": "array" +} +}, +"type": "object" +}, +"Label": { +"description": "Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering).", +"id": "Label", +"properties": { +"name": { +"description": "Name of the label.", +"type": "string" +}, +"value": { +"description": "Value that corresponds to the label's name.", +"type": "string" +} +}, +"type": "object" +}, +"ListAssetsResponse": { +"description": "Response message for listing assets.", +"id": "ListAssetsResponse", +"properties": { +"listAssetsResults": { +"description": "Assets matching the list request.", +"items": { +"$ref": "ListAssetsResult" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results.", +"type": "string" +}, +"readTime": { +"description": "Time used for executing the list request.", +"format": "google-datetime", +"type": "string" +}, +"totalSize": { +"description": "The total number of assets matching the query.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ListAssetsResult": { +"description": "Result containing the Asset and its State.", +"id": "ListAssetsResult", +"properties": { +"asset": { +"$ref": "Asset", +"description": "Asset matching the search request." +}, +"state": { +"description": "State of the asset.", +"enum": [ +"STATE_UNSPECIFIED", +"UNUSED", +"ADDED", +"REMOVED", +"ACTIVE" +], +"enumDescriptions": [ +"Unspecified state.", +"Request did not specify use of this field in the result.", +"Asset was added between the points in time.", +"Asset was removed between the points in time.", +"Asset was active at both point(s) in time." +], +"type": "string" +} +}, +"type": "object" +}, +"ListFindingsResponse": { +"description": "Response message for listing findings.", +"id": "ListFindingsResponse", +"properties": { +"findings": { +"description": "Findings matching the list request.", +"items": { +"$ref": "GoogleCloudSecuritycenterV1beta1Finding" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results.", +"type": "string" +}, +"readTime": { +"description": "Time used for executing the list request.", +"format": "google-datetime", +"type": "string" +}, +"totalSize": { +"description": "The total number of findings matching the query.", +"format": "int32", +"type": "integer" +} +}, +"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" +}, +"ListSourcesResponse": { +"description": "Response message for listing sources.", +"id": "ListSourcesResponse", +"properties": { +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results.", +"type": "string" +}, +"sources": { +"description": "Sources belonging to the requested parent.", +"items": { +"$ref": "Source" +}, +"type": "array" +} +}, +"type": "object" +}, +"LoadBalancer": { +"description": "Contains information related to the load balancer associated with the finding.", +"id": "LoadBalancer", +"properties": { +"name": { +"description": "The name of the load balancer associated with the finding.", +"type": "string" +} +}, +"type": "object" +}, +"LogEntry": { +"description": "An individual entry in a log.", +"id": "LogEntry", +"properties": { +"cloudLoggingEntry": { +"$ref": "CloudLoggingEntry", +"description": "An individual entry in a log stored in Cloud Logging." +} +}, +"type": "object" +}, +"MemoryHashSignature": { +"description": "A signature corresponding to memory page hashes.", +"id": "MemoryHashSignature", +"properties": { +"binaryFamily": { +"description": "The binary family.", +"type": "string" +}, +"detections": { +"description": "The list of memory hash detections contributing to the binary family match.", +"items": { +"$ref": "Detection" +}, +"type": "array" +} +}, +"type": "object" +}, +"MitreAttack": { +"description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org", +"id": "MitreAttack", +"properties": { +"additionalTactics": { +"description": "Additional MITRE ATT&CK tactics related to this finding, if any.", +"items": { +"enum": [ +"TACTIC_UNSPECIFIED", +"RECONNAISSANCE", +"RESOURCE_DEVELOPMENT", +"INITIAL_ACCESS", +"EXECUTION", +"PERSISTENCE", +"PRIVILEGE_ESCALATION", +"DEFENSE_EVASION", +"CREDENTIAL_ACCESS", +"DISCOVERY", +"LATERAL_MOVEMENT", +"COLLECTION", +"COMMAND_AND_CONTROL", +"EXFILTRATION", +"IMPACT" +], +"enumDescriptions": [ +"Unspecified value.", +"TA0043", +"TA0042", +"TA0001", +"TA0002", +"TA0003", +"TA0004", +"TA0005", +"TA0006", +"TA0007", +"TA0008", +"TA0009", +"TA0011", +"TA0010", +"TA0040" +], +"type": "string" +}, +"type": "array" +}, +"additionalTechniques": { +"description": "Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques.", +"items": { +"enum": [ +"TECHNIQUE_UNSPECIFIED", +"MASQUERADING", +"MATCH_LEGITIMATE_NAME_OR_LOCATION", +"BOOT_OR_LOGON_INITIALIZATION_SCRIPTS", +"STARTUP_ITEMS", +"NETWORK_SERVICE_DISCOVERY", +"PROCESS_DISCOVERY", +"COMMAND_AND_SCRIPTING_INTERPRETER", +"UNIX_SHELL", +"PYTHON", +"EXPLOITATION_FOR_PRIVILEGE_ESCALATION", +"PERMISSION_GROUPS_DISCOVERY", +"CLOUD_GROUPS", +"INDICATOR_REMOVAL_FILE_DELETION", +"APPLICATION_LAYER_PROTOCOL", +"DNS", +"SOFTWARE_DEPLOYMENT_TOOLS", +"VALID_ACCOUNTS", +"DEFAULT_ACCOUNTS", +"LOCAL_ACCOUNTS", +"CLOUD_ACCOUNTS", +"PROXY", +"EXTERNAL_PROXY", +"MULTI_HOP_PROXY", +"ACCOUNT_MANIPULATION", +"ADDITIONAL_CLOUD_CREDENTIALS", +"SSH_AUTHORIZED_KEYS", +"ADDITIONAL_CONTAINER_CLUSTER_ROLES", +"INGRESS_TOOL_TRANSFER", +"NATIVE_API", +"BRUTE_FORCE", +"SHARED_MODULES", +"ACCESS_TOKEN_MANIPULATION", +"TOKEN_IMPERSONATION_OR_THEFT", +"EXPLOIT_PUBLIC_FACING_APPLICATION", +"DOMAIN_POLICY_MODIFICATION", +"DATA_DESTRUCTION", +"SERVICE_STOP", +"INHIBIT_SYSTEM_RECOVERY", +"RESOURCE_HIJACKING", +"NETWORK_DENIAL_OF_SERVICE", +"CLOUD_SERVICE_DISCOVERY", +"STEAL_APPLICATION_ACCESS_TOKEN", +"ACCOUNT_ACCESS_REMOVAL", +"STEAL_WEB_SESSION_COOKIE", +"CREATE_OR_MODIFY_SYSTEM_PROCESS", +"EVENT_TRIGGERED_EXECUTION", +"ABUSE_ELEVATION_CONTROL_MECHANISM", +"UNSECURED_CREDENTIALS", +"MODIFY_AUTHENTICATION_PROCESS", +"IMPAIR_DEFENSES", +"DISABLE_OR_MODIFY_TOOLS", +"EXFILTRATION_OVER_WEB_SERVICE", +"EXFILTRATION_TO_CLOUD_STORAGE", +"DYNAMIC_RESOLUTION", +"LATERAL_TOOL_TRANSFER", +"MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE", +"CREATE_SNAPSHOT", +"CLOUD_INFRASTRUCTURE_DISCOVERY", +"OBTAIN_CAPABILITIES", +"ACTIVE_SCANNING", +"SCANNING_IP_BLOCKS", +"CONTAINER_ADMINISTRATION_COMMAND", +"DEPLOY_CONTAINER", +"ESCAPE_TO_HOST", +"CONTAINER_AND_RESOURCE_DISCOVERY", +"STEAL_OR_FORGE_AUTHENTICATION_CERTIFICATES" +], +"enumDescriptions": [ +"Unspecified value.", +"T1036", +"T1036.005", +"T1037", +"T1037.005", +"T1046", +"T1057", +"T1059", +"T1059.004", +"T1059.006", +"T1068", +"T1069", +"T1069.003", +"T1070.004", +"T1071", +"T1071.004", +"T1072", +"T1078", +"T1078.001", +"T1078.003", +"T1078.004", +"T1090", +"T1090.002", +"T1090.003", +"T1098", +"T1098.001", +"T1098.004", +"T1098.006", +"T1105", +"T1106", +"T1110", +"T1129", +"T1134", +"T1134.001", +"T1190", +"T1484", +"T1485", +"T1489", +"T1490", +"T1496", +"T1498", +"T1526", +"T1528", +"T1531", +"T1539", +"T1543", +"T1546", +"T1548", +"T1552", +"T1556", +"T1562", +"T1562.001", +"T1567", +"T1567.002", +"T1568", +"T1570", +"T1578", +"T1578.001", +"T1580", +"T1588", +"T1595", +"T1595.001", +"T1609", +"T1610", +"T1611", +"T1613", +"T1649" +], +"type": "string" +}, +"type": "array" +}, +"primaryTactic": { +"description": "The MITRE ATT&CK tactic most closely represented by this finding, if any.", +"enum": [ +"TACTIC_UNSPECIFIED", +"RECONNAISSANCE", +"RESOURCE_DEVELOPMENT", +"INITIAL_ACCESS", +"EXECUTION", +"PERSISTENCE", +"PRIVILEGE_ESCALATION", +"DEFENSE_EVASION", +"CREDENTIAL_ACCESS", +"DISCOVERY", +"LATERAL_MOVEMENT", +"COLLECTION", +"COMMAND_AND_CONTROL", +"EXFILTRATION", +"IMPACT" +], +"enumDescriptions": [ +"Unspecified value.", +"TA0043", +"TA0042", +"TA0001", +"TA0002", +"TA0003", +"TA0004", +"TA0005", +"TA0006", +"TA0007", +"TA0008", +"TA0009", +"TA0011", +"TA0010", +"TA0040" +], +"type": "string" +}, +"primaryTechniques": { +"description": "The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).", +"items": { +"enum": [ +"TECHNIQUE_UNSPECIFIED", +"MASQUERADING", +"MATCH_LEGITIMATE_NAME_OR_LOCATION", +"BOOT_OR_LOGON_INITIALIZATION_SCRIPTS", +"STARTUP_ITEMS", +"NETWORK_SERVICE_DISCOVERY", +"PROCESS_DISCOVERY", +"COMMAND_AND_SCRIPTING_INTERPRETER", +"UNIX_SHELL", +"PYTHON", +"EXPLOITATION_FOR_PRIVILEGE_ESCALATION", +"PERMISSION_GROUPS_DISCOVERY", +"CLOUD_GROUPS", +"INDICATOR_REMOVAL_FILE_DELETION", +"APPLICATION_LAYER_PROTOCOL", +"DNS", +"SOFTWARE_DEPLOYMENT_TOOLS", +"VALID_ACCOUNTS", +"DEFAULT_ACCOUNTS", +"LOCAL_ACCOUNTS", +"CLOUD_ACCOUNTS", +"PROXY", +"EXTERNAL_PROXY", +"MULTI_HOP_PROXY", +"ACCOUNT_MANIPULATION", +"ADDITIONAL_CLOUD_CREDENTIALS", +"SSH_AUTHORIZED_KEYS", +"ADDITIONAL_CONTAINER_CLUSTER_ROLES", +"INGRESS_TOOL_TRANSFER", +"NATIVE_API", +"BRUTE_FORCE", +"SHARED_MODULES", +"ACCESS_TOKEN_MANIPULATION", +"TOKEN_IMPERSONATION_OR_THEFT", +"EXPLOIT_PUBLIC_FACING_APPLICATION", +"DOMAIN_POLICY_MODIFICATION", +"DATA_DESTRUCTION", +"SERVICE_STOP", +"INHIBIT_SYSTEM_RECOVERY", +"RESOURCE_HIJACKING", +"NETWORK_DENIAL_OF_SERVICE", +"CLOUD_SERVICE_DISCOVERY", +"STEAL_APPLICATION_ACCESS_TOKEN", +"ACCOUNT_ACCESS_REMOVAL", +"STEAL_WEB_SESSION_COOKIE", +"CREATE_OR_MODIFY_SYSTEM_PROCESS", +"EVENT_TRIGGERED_EXECUTION", +"ABUSE_ELEVATION_CONTROL_MECHANISM", +"UNSECURED_CREDENTIALS", +"MODIFY_AUTHENTICATION_PROCESS", +"IMPAIR_DEFENSES", +"DISABLE_OR_MODIFY_TOOLS", +"EXFILTRATION_OVER_WEB_SERVICE", +"EXFILTRATION_TO_CLOUD_STORAGE", +"DYNAMIC_RESOLUTION", +"LATERAL_TOOL_TRANSFER", +"MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE", +"CREATE_SNAPSHOT", +"CLOUD_INFRASTRUCTURE_DISCOVERY", +"OBTAIN_CAPABILITIES", +"ACTIVE_SCANNING", +"SCANNING_IP_BLOCKS", +"CONTAINER_ADMINISTRATION_COMMAND", +"DEPLOY_CONTAINER", +"ESCAPE_TO_HOST", +"CONTAINER_AND_RESOURCE_DISCOVERY", +"STEAL_OR_FORGE_AUTHENTICATION_CERTIFICATES" +], +"enumDescriptions": [ +"Unspecified value.", +"T1036", +"T1036.005", +"T1037", +"T1037.005", +"T1046", +"T1057", +"T1059", +"T1059.004", +"T1059.006", +"T1068", +"T1069", +"T1069.003", +"T1070.004", +"T1071", +"T1071.004", +"T1072", +"T1078", +"T1078.001", +"T1078.003", +"T1078.004", +"T1090", +"T1090.002", +"T1090.003", +"T1098", +"T1098.001", +"T1098.004", +"T1098.006", +"T1105", +"T1106", +"T1110", +"T1129", +"T1134", +"T1134.001", +"T1190", +"T1484", +"T1485", +"T1489", +"T1490", +"T1496", +"T1498", +"T1526", +"T1528", +"T1531", +"T1539", +"T1543", +"T1546", +"T1548", +"T1552", +"T1556", +"T1562", +"T1562.001", +"T1567", +"T1567.002", +"T1568", +"T1570", +"T1578", +"T1578.001", +"T1580", +"T1588", +"T1595", +"T1595.001", +"T1609", +"T1610", +"T1611", +"T1613", +"T1649" +], +"type": "string" +}, +"type": "array" +}, +"version": { +"description": "The MITRE ATT&CK version referenced by the above fields. E.g. \"8\".", +"type": "string" +} +}, +"type": "object" +}, +"MuteInfo": { +"description": "Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules.", +"id": "MuteInfo", +"properties": { +"dynamicMuteRecords": { +"description": "The list of dynamic mute rules that currently match the finding.", +"items": { +"$ref": "DynamicMuteRecord" +}, +"type": "array" +}, +"staticMute": { +"$ref": "StaticMute", +"description": "If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute." +} +}, +"type": "object" +}, +"Node": { +"description": "Kubernetes nodes associated with the finding.", +"id": "Node", +"properties": { +"name": { +"description": "[Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node.", +"type": "string" +} +}, +"type": "object" +}, +"NodePool": { +"description": "Provides GKE node pool information.", +"id": "NodePool", +"properties": { +"name": { +"description": "Kubernetes node pool name.", +"type": "string" +}, +"nodes": { +"description": "Nodes associated with the finding.", +"items": { +"$ref": "Node" +}, +"type": "array" +} +}, +"type": "object" +}, +"Notebook": { +"description": "Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding.", +"id": "Notebook", +"properties": { +"lastAuthor": { +"description": "The user ID of the latest author to modify the notebook.", +"type": "string" +}, +"name": { +"description": "The name of the notebook.", +"type": "string" +}, +"notebookUpdateTime": { +"description": "The most recent time the notebook was updated.", +"format": "google-datetime", +"type": "string" +}, +"service": { +"description": "The source notebook service, for example, \"Colab Enterprise\".", +"type": "string" +} +}, +"type": "object" +}, +"Object": { +"description": "Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview.", +"id": "Object", +"properties": { +"containers": { +"description": "Pod containers associated with this finding, if any.", +"items": { +"$ref": "Container" +}, +"type": "array" +}, +"group": { +"description": "Kubernetes object group, such as \"policy.k8s.io/v1\".", +"type": "string" +}, +"kind": { +"description": "Kubernetes object kind, such as \"Namespace\".", +"type": "string" +}, +"name": { +"description": "Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/.", +"type": "string" +}, +"ns": { +"description": "Kubernetes object namespace. Must be a valid DNS label. Named \"ns\" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/.", +"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" +}, +"OrgPolicy": { +"description": "Contains information about the org policies associated with the finding.", +"id": "OrgPolicy", +"properties": { +"name": { +"description": "The resource name of the org policy. Example: \"organizations/{organization_id}/policies/{constraint_name}\"", +"type": "string" +} +}, +"type": "object" +}, +"OrganizationSettings": { +"description": "User specified settings that are attached to the Security Command Center organization.", +"id": "OrganizationSettings", +"properties": { +"assetDiscoveryConfig": { +"$ref": "AssetDiscoveryConfig", +"description": "The configuration used for Asset Discovery runs." +}, +"enableAssetDiscovery": { +"description": "A flag that indicates if Asset Discovery should be enabled. If the flag is set to `true`, then discovery of assets will occur. If it is set to `false`, all historical assets will remain, but discovery of future assets will not occur.", +"type": "boolean" +}, +"name": { +"description": "The relative resource name of the settings. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/organizationSettings\".", +"type": "string" +} +}, +"type": "object" +}, +"Package": { +"description": "Package is a generic definition of a package.", +"id": "Package", +"properties": { +"cpeUri": { +"description": "The CPE URI where the vulnerability was detected.", +"type": "string" +}, +"packageName": { +"description": "The name of the package where the vulnerability was detected.", +"type": "string" +}, +"packageType": { +"description": "Type of package, for example, os, maven, or go.", +"type": "string" +}, +"packageVersion": { +"description": "The version of the package.", +"type": "string" +} +}, +"type": "object" +}, +"Pod": { +"description": "A Kubernetes Pod.", +"id": "Pod", +"properties": { +"containers": { +"description": "Pod containers associated with this finding, if any.", +"items": { +"$ref": "Container" +}, +"type": "array" +}, +"labels": { +"description": "Pod labels. For Kubernetes containers, these are applied to the container.", +"items": { +"$ref": "Label" +}, +"type": "array" +}, +"name": { +"description": "Kubernetes Pod name.", +"type": "string" +}, +"ns": { +"description": "Kubernetes Pod namespace.", +"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" +}, +"PolicyDriftDetails": { +"description": "The policy field that violates the deployed posture and its expected and detected values.", +"id": "PolicyDriftDetails", +"properties": { +"detectedValue": { +"description": "The detected value that violates the deployed posture, for example, `false` or `allowed_values={\"projects/22831892\"}`.", +"type": "string" +}, +"expectedValue": { +"description": "The value of this field that was configured in a posture, for example, `true` or `allowed_values={\"projects/29831892\"}`.", +"type": "string" +}, +"field": { +"description": "The name of the updated field, for example constraint.implementation.policy_rules[0].enforce", +"type": "string" +} +}, +"type": "object" +}, +"Process": { +"description": "Represents an operating system process.", +"id": "Process", +"properties": { +"args": { +"description": "Process arguments as JSON encoded strings.", +"items": { +"type": "string" +}, +"type": "array" +}, +"argumentsTruncated": { +"description": "True if `args` is incomplete.", +"type": "boolean" +}, +"binary": { +"$ref": "File", +"description": "File information for the process executable." +}, +"envVariables": { +"description": "Process environment variables.", +"items": { +"$ref": "EnvironmentVariable" +}, +"type": "array" +}, +"envVariablesTruncated": { +"description": "True if `env_variables` is incomplete.", +"type": "boolean" +}, +"libraries": { +"description": "File information for libraries loaded by the process.", +"items": { +"$ref": "File" +}, +"type": "array" +}, +"name": { +"description": "The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`.", +"type": "string" +}, +"parentPid": { +"description": "The parent process ID.", +"format": "int64", +"type": "string" +}, +"pid": { +"description": "The process ID.", +"format": "int64", +"type": "string" +}, +"script": { +"$ref": "File", +"description": "When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter." +} +}, +"type": "object" +}, +"ProcessSignature": { +"description": "Indicates what signature matched this process.", +"id": "ProcessSignature", +"properties": { +"memoryHashSignature": { +"$ref": "MemoryHashSignature", +"description": "Signature indicating that a binary family was matched." +}, +"signatureType": { +"description": "Describes the type of resource associated with the signature.", +"enum": [ +"SIGNATURE_TYPE_UNSPECIFIED", +"SIGNATURE_TYPE_PROCESS", +"SIGNATURE_TYPE_FILE" +], +"enumDescriptions": [ +"The default signature type.", +"Used for signatures concerning processes.", +"Used for signatures concerning disks." +], +"type": "string" +}, +"yaraRuleSignature": { +"$ref": "YaraRuleSignature", +"description": "Signature indicating that a YARA rule was matched." +} +}, +"type": "object" +}, +"Reference": { +"description": "Additional Links", +"id": "Reference", +"properties": { +"source": { +"description": "Source of the reference e.g. NVD", +"type": "string" +}, +"uri": { +"description": "Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527.", +"type": "string" +} +}, +"type": "object" +}, +"Requests": { +"description": "Information about the requests relevant to the finding.", +"id": "Requests", +"properties": { +"longTermAllowed": { +"description": "Allowed RPS (requests per second) over the long term.", +"format": "int32", +"type": "integer" +}, +"longTermDenied": { +"description": "Denied RPS (requests per second) over the long term.", +"format": "int32", +"type": "integer" +}, +"ratio": { +"description": "For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term.", +"format": "double", +"type": "number" +}, +"shortTermAllowed": { +"description": "Allowed RPS (requests per second) in the short term.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ResourcePath": { +"description": "Represents the path of resources leading up to the resource this finding is about.", +"id": "ResourcePath", +"properties": { +"nodes": { +"description": "The list of nodes that make the up resource path, ordered from lowest level to highest level.", +"items": { +"$ref": "ResourcePathNode" +}, +"type": "array" +} +}, +"type": "object" +}, +"ResourcePathNode": { +"description": "A node within the resource path. Each node represents a resource within the resource hierarchy.", +"id": "ResourcePathNode", +"properties": { +"displayName": { +"description": "The display name of the resource this node represents.", +"type": "string" +}, +"id": { +"description": "The ID of the resource this node represents.", +"type": "string" +}, +"nodeType": { +"description": "The type of resource this node represents.", +"enum": [ +"RESOURCE_PATH_NODE_TYPE_UNSPECIFIED", +"GCP_ORGANIZATION", +"GCP_FOLDER", +"GCP_PROJECT", +"AWS_ORGANIZATION", +"AWS_ORGANIZATIONAL_UNIT", +"AWS_ACCOUNT", +"AZURE_MANAGEMENT_GROUP", +"AZURE_SUBSCRIPTION", +"AZURE_RESOURCE_GROUP" +], +"enumDescriptions": [ +"Node type is unspecified.", +"The node represents a Google Cloud organization.", +"The node represents a Google Cloud folder.", +"The node represents a Google Cloud project.", +"The node represents an AWS organization.", +"The node represents an AWS organizational unit.", +"The node represents an AWS account.", +"The node represents an Azure management group.", +"The node represents an Azure subscription.", +"The node represents an Azure resource group." +], +"type": "string" +} +}, +"type": "object" +}, +"Role": { +"description": "Kubernetes Role or ClusterRole.", +"id": "Role", +"properties": { +"kind": { +"description": "Role type.", +"enum": [ +"KIND_UNSPECIFIED", +"ROLE", +"CLUSTER_ROLE" +], +"enumDescriptions": [ +"Role type is not specified.", +"Kubernetes Role.", +"Kubernetes ClusterRole." +], +"type": "string" +}, +"name": { +"description": "Role name.", +"type": "string" +}, +"ns": { +"description": "Role namespace.", +"type": "string" +} +}, +"type": "object" +}, +"RunAssetDiscoveryRequest": { +"description": "Request message for running asset discovery for an organization.", +"id": "RunAssetDiscoveryRequest", +"properties": {}, +"type": "object" +}, +"SecurityBulletin": { +"description": "SecurityBulletin are notifications of vulnerabilities of Google products.", +"id": "SecurityBulletin", +"properties": { +"bulletinId": { +"description": "ID of the bulletin corresponding to the vulnerability.", +"type": "string" +}, +"submissionTime": { +"description": "Submission time of this Security Bulletin.", +"format": "google-datetime", +"type": "string" +}, +"suggestedUpgradeVersion": { +"description": "This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0", +"type": "string" +} +}, +"type": "object" +}, +"SecurityCenterProperties": { +"description": "Security Command Center managed properties. These properties are managed by Security Command Center and cannot be modified by the user.", +"id": "SecurityCenterProperties", +"properties": { +"resourceName": { +"description": "Immutable. The full resource name of the Google Cloud resource this asset represents. This field is immutable after create time. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", +"type": "string" +}, +"resourceOwners": { +"description": "Owners of the Google Cloud resource.", +"items": { +"type": "string" +}, +"type": "array" +}, +"resourceParent": { +"description": "The full resource name of the immediate parent of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", +"type": "string" +}, +"resourceProject": { +"description": "The full resource name of the project the resource belongs to. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", +"type": "string" +}, +"resourceType": { +"description": "The type of the Google Cloud resource. Examples include: APPLICATION, PROJECT, and ORGANIZATION. This is a case insensitive field defined by Security Command Center and/or the producer of the resource and is immutable after create time.", +"type": "string" +} +}, +"type": "object" +}, +"SecurityMarks": { +"description": "User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization.", +"id": "SecurityMarks", +"properties": { +"canonicalName": { +"description": "The canonical name of the marks. Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"folders/{folder_id}/assets/{asset_id}/securityMarks\" \"projects/{project_number}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" \"projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks\"", +"type": "string" +}, +"marks": { +"additionalProperties": { +"type": "string" +}, +"description": "Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)", +"type": "object" +}, +"name": { +"description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", +"type": "string" +} +}, +"type": "object" +}, +"SecurityPolicy": { +"description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding.", +"id": "SecurityPolicy", +"properties": { +"name": { +"description": "The name of the Google Cloud Armor security policy, for example, \"my-security-policy\".", +"type": "string" +}, +"preview": { +"description": "Whether or not the associated rule or policy is in preview mode.", +"type": "boolean" +}, +"type": { +"description": "The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'.", +"type": "string" +} +}, +"type": "object" +}, +"SecurityPosture": { +"description": "Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud.", +"id": "SecurityPosture", +"properties": { +"changedPolicy": { +"description": "The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`.", +"type": "string" +}, +"name": { +"description": "Name of the posture, for example, `CIS-Posture`.", +"type": "string" +}, +"policy": { +"description": "The ID of the updated policy, for example, `compute-policy-1`.", +"type": "string" +}, +"policyDriftDetails": { +"description": "The details about a change in an updated policy that violates the deployed posture.", +"items": { +"$ref": "PolicyDriftDetails" +}, +"type": "array" +}, +"policySet": { +"description": "The name of the updated policyset, for example, `cis-policyset`.", +"type": "string" +}, +"postureDeployment": { +"description": "The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`.", +"type": "string" +}, +"postureDeploymentResource": { +"description": "The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`.", +"type": "string" +}, +"revisionId": { +"description": "The version of the posture, for example, `c7cfa2a8`.", +"type": "string" +} +}, +"type": "object" +}, +"ServiceAccountDelegationInfo": { +"description": "Identity delegation history of an authenticated service account.", +"id": "ServiceAccountDelegationInfo", +"properties": { +"principalEmail": { +"description": "The email address of a Google account.", +"type": "string" +}, +"principalSubject": { +"description": "A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{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" +} +}, +"type": "object" +}, +"SetFindingStateRequest": { +"description": "Request message for updating a finding's state.", +"id": "SetFindingStateRequest", +"properties": { +"startTime": { +"description": "Optional. The time at which the updated state takes effect. If not set uses the current time.", +"format": "google-datetime", +"type": "string" +}, +"state": { +"description": "Required. The desired State of the finding.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"INACTIVE" +], +"enumDescriptions": [ +"Unspecified state.", +"The finding requires attention and has not been addressed yet.", +"The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active." +], +"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" +}, +"Source": { +"description": "Security Command Center finding source. A finding source is an entity or a mechanism that can produce a finding. A source is like a container of findings that come from the same scanner, logger, monitor, etc.", +"id": "Source", +"properties": { +"description": { +"description": "The description of the source (max of 1024 characters). Example: \"Web Security Scanner is a web security scanner for common vulnerabilities in App Engine applications. It can automatically scan and detect four common vulnerabilities, including cross-site-scripting (XSS), Flash injection, mixed content (HTTP in HTTPS), and outdated/insecure libraries.\"", +"type": "string" +}, +"displayName": { +"description": "The source's display name. A source's display name must be unique amongst its siblings, for example, two sources with the same parent can't share the same display name. The display name must have a length between 1 and 64 characters (inclusive).", +"type": "string" +}, +"name": { +"description": "The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/sources/{source_id}\"", +"type": "string" +} +}, +"type": "object" +}, +"StaticMute": { +"description": "Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly.", +"id": "StaticMute", +"properties": { +"applyTime": { +"description": "When the static mute was applied.", +"format": "google-datetime", +"type": "string" +}, +"state": { +"description": "The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value.", +"enum": [ +"MUTE_UNSPECIFIED", +"MUTED", +"UNMUTED", +"UNDEFINED" +], +"enumDescriptions": [ +"Unspecified.", +"Finding has been muted.", +"Finding has been unmuted.", +"Finding has never been muted/unmuted." +], +"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" +}, +"Subject": { +"description": "Represents a Kubernetes subject.", +"id": "Subject", +"properties": { +"kind": { +"description": "Authentication type for the subject.", +"enum": [ +"AUTH_TYPE_UNSPECIFIED", +"USER", +"SERVICEACCOUNT", +"GROUP" +], +"enumDescriptions": [ +"Authentication is not specified.", +"User with valid certificate.", +"Users managed by Kubernetes API with credentials stored as secrets.", +"Collection of users." +], +"type": "string" +}, +"name": { +"description": "Name for the subject.", +"type": "string" +}, +"ns": { +"description": "Namespace for the subject.", +"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" +}, +"TicketInfo": { +"description": "Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding.", +"id": "TicketInfo", +"properties": { +"assignee": { +"description": "The assignee of the ticket in the ticket system.", +"type": "string" +}, +"description": { +"description": "The description of the ticket in the ticket system.", +"type": "string" +}, +"id": { +"description": "The identifier of the ticket in the ticket system.", +"type": "string" +}, +"status": { +"description": "The latest status of the ticket, as reported by the ticket system.", +"type": "string" +}, +"updateTime": { +"description": "The time when the ticket was last updated, as reported by the ticket system.", +"format": "google-datetime", +"type": "string" +}, +"uri": { +"description": "The link to the ticket in the ticket system.", +"type": "string" +} +}, +"type": "object" +}, +"ToxicCombination": { +"description": "Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination.", +"id": "ToxicCombination", +"properties": { +"attackExposureScore": { +"description": "The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack.", +"format": "double", +"type": "number" +}, +"relatedFindings": { +"description": "List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Vulnerability": { +"description": "Refers to common vulnerability fields e.g. cve, cvss, cwe etc.", +"id": "Vulnerability", +"properties": { +"cve": { +"$ref": "Cve", +"description": "CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)" +}, +"fixedPackage": { +"$ref": "Package", +"description": "The fixed package is relevant to the finding." +}, +"offendingPackage": { +"$ref": "Package", +"description": "The offending package is relevant to the finding." +}, +"securityBulletin": { +"$ref": "SecurityBulletin", +"description": "The security bulletin is relevant to this finding." +} +}, +"type": "object" +}, +"VulnerabilityCountBySeverity": { +"description": "Vulnerability count by severity.", +"id": "VulnerabilityCountBySeverity", +"properties": { +"severityToFindingCount": { +"additionalProperties": { +"format": "int64", +"type": "string" +}, +"description": "Key is the Severity enum.", +"type": "object" +} +}, +"type": "object" +}, +"VulnerabilitySnapshot": { +"description": "Result containing the properties and count of a VulnerabilitySnapshot request.", +"id": "VulnerabilitySnapshot", +"properties": { +"cloudProvider": { +"description": "The cloud provider for the vulnerability snapshot.", +"enum": [ +"CLOUD_PROVIDER_UNSPECIFIED", +"GOOGLE_CLOUD_PLATFORM", +"AMAZON_WEB_SERVICES", +"MICROSOFT_AZURE" +], +"enumDescriptions": [ +"The cloud provider is unspecified.", +"The cloud provider is Google Cloud Platform.", +"The cloud provider is Amazon Web Services.", +"The cloud provider is Microsoft Azure." +], +"type": "string" +}, +"findingCount": { +"$ref": "VulnerabilityCountBySeverity", +"description": "The vulnerability count by severity." +}, +"name": { +"description": "Identifier. The vulnerability snapshot name. Format: //locations//vulnerabilitySnapshots/", +"type": "string" +}, +"snapshotTime": { +"description": "The time that the snapshot was taken.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"YaraRuleSignature": { +"description": "A signature corresponding to a YARA rule.", +"id": "YaraRuleSignature", +"properties": { +"yaraRule": { +"description": "The name of the YARA rule.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Security Command Center 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/serviceconsumermanagement.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..93f1ff3852a0f380120067c86f1fe3f6776018d5 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1.json @@ -0,0 +1,3322 @@ +{ +"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://serviceconsumermanagement.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Service Consumer Management", +"description": "Manages the service consumers of a Service Infrastructure service.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/service-consumer-management/docs/overview", +"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": "serviceconsumermanagement:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://serviceconsumermanagement.mtls.googleapis.com/", +"name": "serviceconsumermanagement", +"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": "serviceconsumermanagement.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" +] +}, +"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": "serviceconsumermanagement.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" +] +}, +"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": "serviceconsumermanagement.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" +] +}, +"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": "serviceconsumermanagement.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" +] +} +} +}, +"services": { +"methods": { +"search": { +"description": "Search tenancy units for a managed service.", +"flatPath": "v1/services/{servicesId}:search", +"httpMethod": "GET", +"id": "serviceconsumermanagement.services.search", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results returned by this request. Currently, the default maximum is set to 1000. If `page_size` isn't provided or the size provided is a number larger than 1000, it's automatically set to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of `nextPageToken` from the previous response.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Service for which search is performed. services/{service} {service} the name of a service, for example 'service.googleapis.com'.", +"location": "path", +"pattern": "^services/[^/]+$", +"required": true, +"type": "string" +}, +"query": { +"description": "Optional. Set a query `{expression}` for querying tenancy units. Your `{expression}` must be in the format: `field_name=literal_string`. The `field_name` is the name of the field you want to compare. Supported fields are `tenant_resources.tag` and `tenant_resources.resource`. For example, to search tenancy units that contain at least one tenant resource with a given tag 'xyz', use the query `tenant_resources.tag=xyz`. To search tenancy units that contain at least one tenant resource with a given resource name 'projects/123456', use the query `tenant_resources.resource=projects/123456`. Multiple expressions can be joined with `AND`s. Tenancy units must match all expressions to be included in the result set. For example, `tenant_resources.tag=xyz AND tenant_resources.resource=projects/123456`", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}:search", +"response": { +"$ref": "SearchTenancyUnitsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"tenancyUnits": { +"methods": { +"addProject": { +"description": "Add a new tenant project to the tenancy unit. There can be a maximum of 1024 tenant projects in a tenancy unit. If there are previously failed `AddTenantProject` calls, you might need to call `RemoveTenantProject` first to resolve them before you can make another call to `AddTenantProject` with the same tag. Operation.", +"flatPath": "v1/services/{servicesId}/{servicesId1}/{servicesId2}/tenancyUnits/{tenancyUnitsId}:addProject", +"httpMethod": "POST", +"id": "serviceconsumermanagement.services.tenancyUnits.addProject", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Name of the tenancy unit. Such as 'services/service.googleapis.com/projects/12345/tenancyUnits/abcd'.", +"location": "path", +"pattern": "^services/[^/]+/[^/]+/[^/]+/tenancyUnits/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}:addProject", +"request": { +"$ref": "AddTenantProjectRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"applyProjectConfig": { +"description": "Apply a configuration to an existing tenant project. This project must exist in an active state and have the original owner account. The caller must have permission to add a project to the given tenancy unit. The configuration is applied, but any existing settings on the project aren't modified. Specified policy bindings are applied. Existing bindings aren't modified. Specified services are activated. No service is deactivated. If specified, new billing configuration is applied. Omit a billing configuration to keep the existing one. A service account in the project is created if previously non existed. Specified labels will be appended to tenant project, note that the value of existing label key will be updated if the same label key is requested. The specified folder is ignored, as moving a tenant project to a different folder isn't supported. The operation fails if any of the steps fail, but no rollback of already applied configuration changes is attempted. Operation.", +"flatPath": "v1/services/{servicesId}/{servicesId1}/{servicesId2}/tenancyUnits/{tenancyUnitsId}:applyProjectConfig", +"httpMethod": "POST", +"id": "serviceconsumermanagement.services.tenancyUnits.applyProjectConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the tenancy unit. Such as 'services/service.googleapis.com/projects/12345/tenancyUnits/abcd'.", +"location": "path", +"pattern": "^services/[^/]+/[^/]+/[^/]+/tenancyUnits/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:applyProjectConfig", +"request": { +"$ref": "ApplyTenantProjectConfigRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"attachProject": { +"description": "Attach an existing project to the tenancy unit as a new tenant resource. The project could either be the tenant project reserved by calling `AddTenantProject` under a tenancy unit of a service producer's project of a managed service, or from a separate project. The caller is checked against a set of permissions as if calling `AddTenantProject` on the same service consumer. To trigger the attachment, the targeted tenant project must be in a folder. Make sure the ServiceConsumerManagement service account is the owner of that project. These two requirements are already met if the project is reserved by calling `AddTenantProject`. Operation.", +"flatPath": "v1/services/{servicesId}/{servicesId1}/{servicesId2}/tenancyUnits/{tenancyUnitsId}:attachProject", +"httpMethod": "POST", +"id": "serviceconsumermanagement.services.tenancyUnits.attachProject", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the tenancy unit that the project will be attached to. Such as 'services/service.googleapis.com/projects/12345/tenancyUnits/abcd'.", +"location": "path", +"pattern": "^services/[^/]+/[^/]+/[^/]+/tenancyUnits/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:attachProject", +"request": { +"$ref": "AttachTenantProjectRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a tenancy unit with no tenant resources. If tenancy unit already exists, it will be returned, however, in this case, returned TenancyUnit does not have tenant_resources field set and ListTenancyUnits has to be used to get a complete TenancyUnit with all fields populated.", +"flatPath": "v1/services/{servicesId}/{servicesId1}/{servicesId2}/tenancyUnits", +"httpMethod": "POST", +"id": "serviceconsumermanagement.services.tenancyUnits.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. services/{service}/{collection id}/{resource id} {collection id} is the cloud resource collection type representing the service consumer, for example 'projects', or 'organizations'. {resource id} is the consumer numeric id, such as project number: '123456'. {service} the name of a managed service, such as 'service.googleapis.com'. Enables service binding using the new tenancy unit.", +"location": "path", +"pattern": "^services/[^/]+/[^/]+/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/tenancyUnits", +"request": { +"$ref": "CreateTenancyUnitRequest" +}, +"response": { +"$ref": "TenancyUnit" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Delete a tenancy unit. Before you delete the tenancy unit, there should be no tenant resources in it that aren't in a DELETED state. Operation.", +"flatPath": "v1/services/{servicesId}/{servicesId1}/{servicesId2}/tenancyUnits/{tenancyUnitsId}", +"httpMethod": "DELETE", +"id": "serviceconsumermanagement.services.tenancyUnits.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the tenancy unit to be deleted.", +"location": "path", +"pattern": "^services/[^/]+/[^/]+/[^/]+/tenancyUnits/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"deleteProject": { +"description": "Deletes the specified project resource identified by a tenant resource tag. The mothod removes a project lien with a 'TenantManager' origin if that was added. It will then attempt to delete the project. If that operation fails, this method also fails. After the project has been deleted, the tenant resource state is set to DELETED. To permanently remove resource metadata, call the `RemoveTenantProject` method. New resources with the same tag can't be added if there are existing resources in a DELETED state. Operation.", +"flatPath": "v1/services/{servicesId}/{servicesId1}/{servicesId2}/tenancyUnits/{tenancyUnitsId}:deleteProject", +"httpMethod": "POST", +"id": "serviceconsumermanagement.services.tenancyUnits.deleteProject", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the tenancy unit. Such as 'services/service.googleapis.com/projects/12345/tenancyUnits/abcd'.", +"location": "path", +"pattern": "^services/[^/]+/[^/]+/[^/]+/tenancyUnits/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:deleteProject", +"request": { +"$ref": "DeleteTenantProjectRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Find the tenancy unit for a managed service and service consumer. This method shouldn't be used in a service producer's runtime path, for example to find the tenant project number when creating VMs. Service producers must persist the tenant project's information after the project is created.", +"flatPath": "v1/services/{servicesId}/{servicesId1}/{servicesId2}/tenancyUnits", +"httpMethod": "GET", +"id": "serviceconsumermanagement.services.tenancyUnits.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filter expression over tenancy resources field. Optional.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results returned by this request.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of `nextPageToken` from the previous response.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Managed service and service consumer. Required. services/{service}/{collection id}/{resource id} {collection id} is the cloud resource collection type representing the service consumer, for example 'projects', or 'organizations'. {resource id} is the consumer numeric id, such as project number: '123456'. {service} the name of a service, such as 'service.googleapis.com'.", +"location": "path", +"pattern": "^services/[^/]+/[^/]+/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/tenancyUnits", +"response": { +"$ref": "ListTenancyUnitsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"removeProject": { +"description": "Removes the specified project resource identified by a tenant resource tag. The method removes the project lien with 'TenantManager' origin if that was added. It then attempts to delete the project. If that operation fails, this method also fails. Calls to remove already removed or non-existent tenant project succeed. After the project has been deleted, or if was already in a DELETED state, resource metadata is permanently removed from the tenancy unit. Operation.", +"flatPath": "v1/services/{servicesId}/{servicesId1}/{servicesId2}/tenancyUnits/{tenancyUnitsId}:removeProject", +"httpMethod": "POST", +"id": "serviceconsumermanagement.services.tenancyUnits.removeProject", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the tenancy unit. Such as 'services/service.googleapis.com/projects/12345/tenancyUnits/abcd'.", +"location": "path", +"pattern": "^services/[^/]+/[^/]+/[^/]+/tenancyUnits/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:removeProject", +"request": { +"$ref": "RemoveTenantProjectRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"undeleteProject": { +"description": "Attempts to undelete a previously deleted tenant project. The project must be in a DELETED state. There are no guarantees that an undeleted project will be in a fully restored and functional state. Call the `ApplyTenantProjectConfig` method to update its configuration and then validate all managed service resources. Operation.", +"flatPath": "v1/services/{servicesId}/{servicesId1}/{servicesId2}/tenancyUnits/{tenancyUnitsId}:undeleteProject", +"httpMethod": "POST", +"id": "serviceconsumermanagement.services.tenancyUnits.undeleteProject", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the tenancy unit. Such as 'services/service.googleapis.com/projects/12345/tenancyUnits/abcd'.", +"location": "path", +"pattern": "^services/[^/]+/[^/]+/[^/]+/tenancyUnits/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:undeleteProject", +"request": { +"$ref": "UndeleteTenantProjectRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +}, +"revision": "20241210", +"rootUrl": "https://serviceconsumermanagement.googleapis.com/", +"schemas": { +"AddTenantProjectRequest": { +"description": "Request to add a newly created and configured tenant project to a tenancy unit.", +"id": "AddTenantProjectRequest", +"properties": { +"projectConfig": { +"$ref": "TenantProjectConfig", +"description": "Configuration of the new tenant project to be added to tenancy unit resources." +}, +"tag": { +"description": "Required. Tag of the added project. Must be less than 128 characters. Required.", +"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" +}, +"ApplyTenantProjectConfigRequest": { +"description": "Request to apply configuration to an existing tenant project.", +"id": "ApplyTenantProjectConfigRequest", +"properties": { +"projectConfig": { +"$ref": "TenantProjectConfig", +"description": "Configuration that should be applied to the existing tenant project." +}, +"tag": { +"description": "Required. Tag of the project. Must be less than 128 characters. Required.", +"type": "string" +} +}, +"type": "object" +}, +"AttachTenantProjectRequest": { +"description": "Request to attach an existing project to the tenancy unit as a new tenant resource.", +"id": "AttachTenantProjectRequest", +"properties": { +"externalResource": { +"description": "When attaching an external project, this is in the format of `projects/{project_number}`.", +"type": "string" +}, +"reservedResource": { +"description": "When attaching a reserved project already in tenancy units, this is the tag of a tenant resource under the tenancy unit for the managed service's service producer project. The reserved tenant resource must be in an active state.", +"type": "string" +}, +"tag": { +"description": "Required. Tag of the tenant resource after attachment. Must be less than 128 characters. Required.", +"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" +}, +"BillingConfig": { +"description": "Describes the billing configuration for a new tenant project.", +"id": "BillingConfig", +"properties": { +"billingAccount": { +"description": "Name of the billing account. For example `billingAccounts/012345-567890-ABCDEF`.", +"type": "string" +} +}, +"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" +}, +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"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" +}, +"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" +}, +"CreateTenancyUnitRequest": { +"description": "Request to create a tenancy unit for a service consumer of a managed service.", +"id": "CreateTenancyUnitRequest", +"properties": { +"tenancyUnitId": { +"description": "Optional. Optional service producer-provided identifier of the tenancy unit. Must be no longer than 40 characters and preferably URI friendly. If it isn't provided, a UID for the tenancy unit is automatically generated. The identifier must be unique across a managed service. If the tenancy unit already exists for the managed service and service consumer pair, calling `CreateTenancyUnit` returns the existing tenancy unit if the provided identifier is identical or empty, otherwise the call fails.", +"type": "string" +} +}, +"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" +}, +"DeleteTenantProjectRequest": { +"description": "Request message to delete tenant project resource from the tenancy unit.", +"id": "DeleteTenantProjectRequest", +"properties": { +"tag": { +"description": "Required. Tag of the resource within the tenancy unit.", +"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" +}, +"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" +}, +"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" +}, +"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" +}, +"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" +}, +"ListTenancyUnitsResponse": { +"description": "Response for the list request.", +"id": "ListTenancyUnitsResponse", +"properties": { +"nextPageToken": { +"description": "Pagination token for large results.", +"type": "string" +}, +"tenancyUnits": { +"description": "Tenancy units matching the request.", +"items": { +"$ref": "TenancyUnit" +}, +"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" +}, +"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" +}, +"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" +}, +"PolicyBinding": { +"description": "Translates to IAM Policy bindings (without auditing at this level)", +"id": "PolicyBinding", +"properties": { +"members": { +"description": "Uses the same format as in IAM policy. `member` must include both a prefix and ID. For example, `user:{emailId}`, `serviceAccount:{emailId}`, `group:{emailId}`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"role": { +"description": "Role. (https://cloud.google.com/iam/docs/understanding-roles) For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", +"type": "string" +} +}, +"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" +}, +"RemoveTenantProjectRequest": { +"description": "Request message to remove a tenant project resource from the tenancy unit.", +"id": "RemoveTenantProjectRequest", +"properties": { +"tag": { +"description": "Required. Tag of the resource within the tenancy unit.", +"type": "string" +} +}, +"type": "object" +}, +"RubySettings": { +"description": "Settings for Ruby client libraries.", +"id": "RubySettings", +"properties": { +"common": { +"$ref": "CommonLanguageSettings", +"description": "Some settings." +} +}, +"type": "object" +}, +"SearchTenancyUnitsResponse": { +"description": "Response for the search query.", +"id": "SearchTenancyUnitsResponse", +"properties": { +"nextPageToken": { +"description": "Pagination token for large results.", +"type": "string" +}, +"tenancyUnits": { +"description": "Tenancy Units matching the request.", +"items": { +"$ref": "TenancyUnit" +}, +"type": "array" +} +}, +"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" +}, +"ServiceAccountConfig": { +"description": "Describes the service account configuration for the tenant project.", +"id": "ServiceAccountConfig", +"properties": { +"accountId": { +"description": "ID of the IAM service account to be created in tenant project. The email format of the service account is \"@.iam.gserviceaccount.com\". This account ID must be unique within tenant project and service producers have to guarantee it. The ID must be 6-30 characters long, and match the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])`.", +"type": "string" +}, +"tenantProjectRoles": { +"description": "Roles for the associated service account for the tenant project.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"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" +}, +"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" +}, +"TenancyUnit": { +"description": "Representation of a tenancy unit.", +"id": "TenancyUnit", +"properties": { +"consumer": { +"description": "Output only. @OutputOnly Cloud resource name of the consumer of this service. For example 'projects/123456'.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. @OutputOnly The time this tenancy unit was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Globally unique identifier of this tenancy unit \"services/{service}/{collection id}/{resource id}/tenancyUnits/{unit}\"", +"type": "string" +}, +"service": { +"description": "Output only. Google Cloud API name of the managed service owning this tenancy unit. For example 'serviceconsumermanagement.googleapis.com'.", +"readOnly": true, +"type": "string" +}, +"tenantResources": { +"description": "Resources constituting the tenancy unit. There can be at most 512 tenant resources in a tenancy unit.", +"items": { +"$ref": "TenantResource" +}, +"type": "array" +} +}, +"type": "object" +}, +"TenantProjectConfig": { +"description": "This structure defines a tenant project to be added to the specified tenancy unit and its initial configuration and properties. A project lien is created for the tenant project to prevent the tenant project from being deleted accidentally. The lien is deleted as part of tenant project removal.", +"id": "TenantProjectConfig", +"properties": { +"billingConfig": { +"$ref": "BillingConfig", +"description": "Billing account properties. The billing account must be specified." +}, +"folder": { +"description": "Folder where project in this tenancy unit must be located This folder must have been previously created with the required permissions for the caller to create and configure a project in it. Valid folder resource names have the format `folders/{folder_number}` (for example, `folders/123456`).", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels that are applied to this project.", +"type": "object" +}, +"serviceAccountConfig": { +"$ref": "ServiceAccountConfig", +"description": "Configuration for the IAM service account on the tenant project." +}, +"services": { +"description": "Google Cloud API names of services that are activated on this project during provisioning. If any of these services can't be activated, the request fails. For example: 'compute.googleapis.com','cloudfunctions.googleapis.com'", +"items": { +"type": "string" +}, +"type": "array" +}, +"tenantProjectPolicy": { +"$ref": "TenantProjectPolicy", +"description": "Describes ownership and policies for the new tenant project." +} +}, +"type": "object" +}, +"TenantProjectPolicy": { +"description": "Describes policy settings that can be applied to a newly created tenant project.", +"id": "TenantProjectPolicy", +"properties": { +"policyBindings": { +"description": "Policy bindings to be applied to the tenant project, in addition to the 'roles/owner' role granted to the Service Consumer Management service account.", +"items": { +"$ref": "PolicyBinding" +}, +"type": "array" +} +}, +"type": "object" +}, +"TenantResource": { +"description": "Resource constituting the TenancyUnit.", +"id": "TenantResource", +"properties": { +"resource": { +"description": "Output only. @OutputOnly Identifier of the tenant resource. For cloud projects, it is in the form 'projects/{number}'. For example 'projects/123456'.", +"readOnly": true, +"type": "string" +}, +"status": { +"description": "Status of tenant resource.", +"enum": [ +"STATUS_UNSPECIFIED", +"PENDING_CREATE", +"ACTIVE", +"PENDING_DELETE", +"FAILED", +"DELETED" +], +"enumDescriptions": [ +"Unspecified status is the default unset value.", +"Creation of the tenant resource is ongoing.", +"Active resource.", +"Deletion of the resource is ongoing.", +"Tenant resource creation or deletion has failed.", +"Tenant resource has been deleted." +], +"type": "string" +}, +"tag": { +"description": "Unique per single tenancy unit.", +"type": "string" +} +}, +"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" +}, +"UndeleteTenantProjectRequest": { +"description": "Request message to undelete tenant project resource previously deleted from the tenancy unit.", +"id": "UndeleteTenantProjectRequest", +"properties": { +"tag": { +"description": "Required. Tag of the resource within the tenancy unit.", +"type": "string" +} +}, +"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" +}, +"V1AddVisibilityLabelsResponse": { +"description": "Response message for the `AddVisibilityLabels` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.", +"id": "V1AddVisibilityLabelsResponse", +"properties": { +"labels": { +"description": "The updated set of visibility labels for this consumer on this service.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"V1Beta1BatchCreateProducerOverridesResponse": { +"description": "Response message for BatchCreateProducerOverrides", +"id": "V1Beta1BatchCreateProducerOverridesResponse", +"properties": { +"overrides": { +"description": "The overrides that were created.", +"items": { +"$ref": "V1Beta1QuotaOverride" +}, +"type": "array" +} +}, +"type": "object" +}, +"V1Beta1DisableConsumerResponse": { +"description": "Response message for the `DisableConsumer` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.", +"id": "V1Beta1DisableConsumerResponse", +"properties": {}, +"type": "object" +}, +"V1Beta1EnableConsumerResponse": { +"description": "Response message for the `EnableConsumer` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.", +"id": "V1Beta1EnableConsumerResponse", +"properties": {}, +"type": "object" +}, +"V1Beta1GenerateServiceIdentityResponse": { +"description": "Response message for the `GenerateServiceIdentity` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.", +"id": "V1Beta1GenerateServiceIdentityResponse", +"properties": { +"identity": { +"$ref": "V1Beta1ServiceIdentity", +"description": "ServiceIdentity that was created or retrieved." +} +}, +"type": "object" +}, +"V1Beta1ImportProducerOverridesResponse": { +"description": "Response message for ImportProducerOverrides", +"id": "V1Beta1ImportProducerOverridesResponse", +"properties": { +"overrides": { +"description": "The overrides that were created from the imported data.", +"items": { +"$ref": "V1Beta1QuotaOverride" +}, +"type": "array" +} +}, +"type": "object" +}, +"V1Beta1ImportProducerQuotaPoliciesResponse": { +"description": "Response message for ImportProducerQuotaPolicies", +"id": "V1Beta1ImportProducerQuotaPoliciesResponse", +"properties": { +"policies": { +"description": "The policies that were created from the imported data.", +"items": { +"$ref": "V1Beta1ProducerQuotaPolicy" +}, +"type": "array" +} +}, +"type": "object" +}, +"V1Beta1ProducerQuotaPolicy": { +"description": "Quota policy created by service producer.", +"id": "V1Beta1ProducerQuotaPolicy", +"properties": { +"container": { +"description": "The cloud resource container at which the quota policy is created. The format is {container_type}/{container_number}", +"type": "string" +}, +"dimensions": { +"additionalProperties": { +"type": "string" +}, +"description": " If this map is nonempty, then this policy applies only to specific values for dimensions defined in the limit unit. For example, a policy on a limit with the unit 1/{project}/{region} could contain an entry with the key \"region\" and the value \"us-east-1\"; the policy is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit's unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * \"project\" is not a valid key; the project is already specified in the parent resource name. * \"user\" is not a valid key; the API does not support quota polcies that apply only to a specific user. * If \"region\" appears as a key, its value must be a valid Cloud region. * If \"zone\" appears as a key, its value must be a valid Cloud zone. * If any valid key other than \"region\" or \"zone\" appears in the map, then all valid keys other than \"region\" or \"zone\" must also appear in the map.", +"type": "object" +}, +"metric": { +"description": "The name of the metric to which this policy applies. An example name would be: `compute.googleapis.com/cpus`", +"type": "string" +}, +"name": { +"description": "The resource name of the producer policy. An example name would be: `services/compute.googleapis.com/organizations/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/producerQuotaPolicies/4a3f2c1d`", +"type": "string" +}, +"policyValue": { +"description": "The quota policy value. Can be any nonnegative integer, or -1 (unlimited quota).", +"format": "int64", +"type": "string" +}, +"unit": { +"description": "The limit unit of the limit to which this policy applies. An example unit would be: `1/{project}/{region}` Note that `{project}` and `{region}` are not placeholders in this example; the literal characters `{` and `}` occur in the string.", +"type": "string" +} +}, +"type": "object" +}, +"V1Beta1QuotaOverride": { +"description": "A quota override", +"id": "V1Beta1QuotaOverride", +"properties": { +"adminOverrideAncestor": { +"description": "The resource name of the ancestor that requested the override. For example: \"organizations/12345\" or \"folders/67890\". Used by admin overrides only.", +"type": "string" +}, +"dimensions": { +"additionalProperties": { +"type": "string" +}, +"description": " If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit 1/{project}/{region} could contain an entry with the key \"region\" and the value \"us-east-1\"; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit's unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * \"project\" is not a valid key; the project is already specified in the parent resource name. * \"user\" is not a valid key; the API does not support quota overrides that apply only to a specific user. * If \"region\" appears as a key, its value must be a valid Cloud region. * If \"zone\" appears as a key, its value must be a valid Cloud zone. * If any valid key other than \"region\" or \"zone\" appears in the map, then all valid keys other than \"region\" or \"zone\" must also appear in the map.", +"type": "object" +}, +"metric": { +"description": "The name of the metric to which this override applies. An example name would be: `compute.googleapis.com/cpus`", +"type": "string" +}, +"name": { +"description": "The resource name of the producer override. An example name would be: `services/compute.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/producerOverrides/4a3f2c1d`", +"type": "string" +}, +"overrideValue": { +"description": "The overriding quota limit value. Can be any nonnegative integer, or -1 (unlimited quota).", +"format": "int64", +"type": "string" +}, +"unit": { +"description": "The limit unit of the limit to which this override applies. An example unit would be: `1/{project}/{region}` Note that `{project}` and `{region}` are not placeholders in this example; the literal characters `{` and `}` occur in the string.", +"type": "string" +} +}, +"type": "object" +}, +"V1Beta1RefreshConsumerResponse": { +"description": "Response message for the `RefreshConsumer` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.", +"id": "V1Beta1RefreshConsumerResponse", +"properties": {}, +"type": "object" +}, +"V1Beta1ServiceIdentity": { +"description": "A service identity in the Identity and Access Management API.", +"id": "V1Beta1ServiceIdentity", +"properties": { +"email": { +"description": "The email address of the service identity.", +"type": "string" +}, +"name": { +"description": "P4 service identity resource name. An example name would be: `services/serviceconsumermanagement.googleapis.com/projects/123/serviceIdentities/default`", +"type": "string" +}, +"tag": { +"description": "The P4 service identity configuration tag. This must be defined in activation_grants. If not specified when creating the account, the tag is set to \"default\".", +"type": "string" +}, +"uniqueId": { +"description": "The unique and stable id of the service identity.", +"type": "string" +} +}, +"type": "object" +}, +"V1DefaultIdentity": { +"description": "A default identity in the Identity and Access Management API.", +"id": "V1DefaultIdentity", +"properties": { +"email": { +"description": "The email address of the default identity. Calling GenerateDefaultIdentity with a deleted or purged default identity should expect does_not_exist@invalid-project.iam.gserviceaccount.com placeholder email.", +"type": "string" +}, +"name": { +"description": "Default identity resource name. An example name would be: `services/serviceconsumermanagement.googleapis.com/projects/123/defaultIdentity`", +"type": "string" +}, +"tag": { +"description": "The Default Identity tag. If specified when creating the account, the tag must be present in activation_grants. If not specified when creating the account, the tag is set to the tag specified in activation_grants.", +"type": "string" +}, +"uniqueId": { +"description": "The unique and stable id of the default identity.", +"type": "string" +} +}, +"type": "object" +}, +"V1DisableConsumerResponse": { +"description": "Response message for the `DisableConsumer` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.", +"id": "V1DisableConsumerResponse", +"properties": {}, +"type": "object" +}, +"V1EnableConsumerResponse": { +"description": "Response message for the `EnableConsumer` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.", +"id": "V1EnableConsumerResponse", +"properties": {}, +"type": "object" +}, +"V1GenerateDefaultIdentityResponse": { +"description": "Response message for the `GenerateDefaultIdentity` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.", +"id": "V1GenerateDefaultIdentityResponse", +"properties": { +"attachStatus": { +"description": "Status of the role attachment. Under development (go/si-attach-role), currently always return ATTACH_STATUS_UNSPECIFIED)", +"enum": [ +"ATTACH_STATUS_UNSPECIFIED", +"ATTACHED", +"ATTACH_SKIPPED", +"PREVIOUSLY_ATTACHED", +"ATTACH_DENIED_BY_ORG_POLICY" +], +"enumDescriptions": [ +"Indicates that the AttachStatus was not set.", +"The default identity was attached to a role successfully in this request.", +"The request specified that no attempt should be made to attach the role.", +"Role was attached to the consumer project at some point in time. Tenant manager doesn't make assertion about the current state of the identity with respect to the consumer. Role attachment should happen only once after activation and cannot be reattached after customer removes it. (go/si-attach-role)", +"Role attachment was denied in this request by customer set org policy. (go/si-attach-role)" +], +"type": "string" +}, +"identity": { +"$ref": "V1DefaultIdentity", +"description": "DefaultIdentity that was created or retrieved." +}, +"role": { +"description": "Role attached to consumer project. Empty if not attached in this request. (Under development, currently always return empty.)", +"type": "string" +} +}, +"type": "object" +}, +"V1GenerateServiceAccountResponse": { +"description": "Response message for the `GenerateServiceAccount` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.", +"id": "V1GenerateServiceAccountResponse", +"properties": { +"account": { +"$ref": "V1ServiceAccount", +"description": "ServiceAccount that was created or retrieved." +} +}, +"type": "object" +}, +"V1RefreshConsumerResponse": { +"description": "Response message for the `RefreshConsumer` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.", +"id": "V1RefreshConsumerResponse", +"properties": {}, +"type": "object" +}, +"V1RemoveVisibilityLabelsResponse": { +"description": "Response message for the `RemoveVisibilityLabels` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.", +"id": "V1RemoveVisibilityLabelsResponse", +"properties": { +"labels": { +"description": "The updated set of visibility labels for this consumer on this service.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"V1ServiceAccount": { +"description": "A service account in the Identity and Access Management API.", +"id": "V1ServiceAccount", +"properties": { +"email": { +"description": "The email address of the service account.", +"type": "string" +}, +"iamAccountName": { +"deprecated": true, +"description": "Deprecated. See b/136209818.", +"type": "string" +}, +"name": { +"description": "P4 SA resource name. An example name would be: `services/serviceconsumermanagement.googleapis.com/projects/123/serviceAccounts/default`", +"type": "string" +}, +"tag": { +"description": "The P4 SA configuration tag. This must be defined in activation_grants. If not specified when creating the account, the tag is set to \"default\".", +"type": "string" +}, +"uniqueId": { +"description": "The unique and stable id of the service account.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Service Consumer 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/servicecontrol.v2.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/servicecontrol.v2.json new file mode 100644 index 0000000000000000000000000000000000000000..ebdd6887f5435693da127db31116c130dff08868 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/servicecontrol.v2.json @@ -0,0 +1,1298 @@ +{ +"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:v2", +"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": { +"check": { +"description": "Private Preview. This feature is only available for approved services. This method provides admission control for services that are integrated with [Service Infrastructure](https://cloud.google.com/service-infrastructure). It checks whether an operation should be allowed based on the service configuration and relevant policies. It must be called before the operation is executed. For more information, see [Admission Control](https://cloud.google.com/service-infrastructure/docs/admission-control). NOTE: The admission control has an expected policy propagation delay of 60s. The caller **must** not depend on the most recent policy changes. NOTE: The admission control has a hard limit of 1 referenced resources per call. If an operation refers to more than 1 resources, the caller must call the Check method multiple times. This method requires the `servicemanagement.services.check` permission on the specified service. For more information, see [Service Control API Access Control](https://cloud.google.com/service-infrastructure/docs/service-control/access-control).", +"flatPath": "v2/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": "v2/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": "Private Preview. This feature is only available for approved services. This method provides telemetry reporting for services that are integrated with [Service Infrastructure](https://cloud.google.com/service-infrastructure). It reports a list of operations that have occurred on a service. It must be called after the operations have been executed. For more information, see [Telemetry Reporting](https://cloud.google.com/service-infrastructure/docs/telemetry-reporting). NOTE: The telemetry reporting has a hard limit of 1000 operations and 1MB per Report call. It is recommended to have no more than 100 operations per call. This method requires the `servicemanagement.services.report` permission on the specified service. For more information, see [Service Control API Access Control](https://cloud.google.com/service-infrastructure/docs/service-control/access-control).", +"flatPath": "v2/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": "v2/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": { +"Api": { +"description": "This message defines attributes associated with API operations, such as a network API request. The terminology is based on the conventions used by Google APIs, Istio, and OpenAPI.", +"id": "Api", +"properties": { +"operation": { +"description": "The API operation name. For gRPC requests, it is the fully qualified API method name, such as \"google.pubsub.v1.Publisher.Publish\". For OpenAPI requests, it is the `operationId`, such as \"getPet\".", +"type": "string" +}, +"protocol": { +"description": "The API protocol used for sending the request, such as \"http\", \"https\", \"grpc\", or \"internal\".", +"type": "string" +}, +"service": { +"description": "The API service name. It is a logical identifier for a networked API, such as \"pubsub.googleapis.com\". The naming syntax depends on the API management system being used for handling the request.", +"type": "string" +}, +"version": { +"description": "The API version associated with the API operation above, such as \"v1\" or \"v1alpha1\".", +"type": "string" +} +}, +"type": "object" +}, +"AttributeContext": { +"description": "This message defines the standard attribute vocabulary for Google APIs. An attribute is a piece of metadata that describes an activity on a network service. For example, the size of an HTTP request, or the status code of an HTTP response. Each attribute has a type and a name, which is logically defined as a proto message field in `AttributeContext`. The field type becomes the attribute type, and the field path becomes the attribute name. For example, the attribute `source.ip` maps to field `AttributeContext.source.ip`. This message definition is guaranteed not to have any wire breaking change. So you can use it directly for passing attributes across different systems. NOTE: Different system may generate different subset of attributes. Please verify the system specification before relying on an attribute generated a system.", +"id": "AttributeContext", +"properties": { +"api": { +"$ref": "Api", +"description": "Represents an API operation that is involved to a network activity." +}, +"destination": { +"$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." +}, +"extensions": { +"description": "Supports extensions for advanced use cases, such as logs and metrics.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"origin": { +"$ref": "Peer", +"description": "The origin of a network activity. In a multi hop network activity, the origin represents the sender of the first hop. For the first hop, the `source` and the `origin` must have the same content." +}, +"request": { +"$ref": "Request", +"description": "Represents a network request, such as an HTTP request." +}, +"resource": { +"$ref": "Resource", +"description": "Represents a target resource that is involved with a network activity. If multiple resources are involved with an activity, this must be the primary one." +}, +"response": { +"$ref": "Response", +"description": "Represents a network response, such as an HTTP response." +}, +"source": { +"$ref": "Peer", +"description": "The source of a network activity, such as starting a TCP connection. In a multi hop network activity, the source represents the sender of the last hop." +} +}, +"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" +}, +"CheckRequest": { +"description": "Request message for the Check method.", +"id": "CheckRequest", +"properties": { +"attributes": { +"$ref": "AttributeContext", +"description": "Describes attributes about the operation being executed by the service." +}, +"flags": { +"description": "Optional. Contains a comma-separated list of flags.", +"type": "string" +}, +"resources": { +"description": "Describes the resources and the policies applied to each resource.", +"items": { +"$ref": "ResourceInfo" +}, +"type": "array" +}, +"serviceConfigId": { +"description": "Specifies the version of the service configuration that should be used to process the request. Must not be empty. Set this field to 'latest' to specify using the latest configuration.", +"type": "string" +} +}, +"type": "object" +}, +"CheckResponse": { +"description": "Response message for the Check method.", +"id": "CheckResponse", +"properties": { +"dynamicMetadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional response metadata that will be emitted as dynamic metadata to be consumed by the caller of ServiceController. For compatibility with the ext_authz interface.", +"type": "object" +}, +"headers": { +"additionalProperties": { +"type": "string" +}, +"description": "Returns a set of request contexts generated from the `CheckRequest`.", +"type": "object" +}, +"status": { +"$ref": "Status", +"description": "Operation is allowed when this field is not set. Any non-'OK' status indicates a denial; google.rpc.Status.details would contain additional details about the denial." +} +}, +"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" +}, +"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" +}, +"ReportRequest": { +"description": "Request message for the Report method.", +"id": "ReportRequest", +"properties": { +"operations": { +"description": "Describes the list of operations to be reported. Each operation is represented as an AttributeContext, and contains all attributes around an API access.", +"items": { +"$ref": "AttributeContext" +}, +"type": "array" +}, +"serviceConfigId": { +"description": "Specifies the version of the service configuration that should be used to process the request. Must not be empty. Set this field to 'latest' to specify using the latest configuration.", +"type": "string" +} +}, +"type": "object" +}, +"ReportResponse": { +"description": "Response message for the Report method.", +"id": "ReportResponse", +"properties": { +"extensions": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The extension field to store serialized OTel responses. e.g. ExportLogsServiceResponse, ExportMetricsServiceResponse.", +"type": "object" +} +}, +"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 referenced in the request.", +"id": "ResourceInfo", +"properties": { +"container": { +"description": "Optional. The identifier of the container of this resource. For Google Cloud APIs, the resource container must be one of the following formats: - `projects/` - `folders/` - `organizations/` Required for the policy enforcement on the container level (e.g. VPCSC, Location Policy check, Org Policy check).", +"type": "string" +}, +"location": { +"description": "Optional. The location of the resource, it must be a valid zone, region or multiregion, for example: \"europe-west4\", \"northamerica-northeast1-a\". Required for location policy check.", +"type": "string" +}, +"name": { +"description": "The name of the resource referenced in the request.", +"type": "string" +}, +"permission": { +"description": "The resource permission needed for this request. The format must be \"{service}/{plural}.{verb}\".", +"type": "string" +}, +"type": { +"description": "The resource type in the format of \"{service}/{kind}\".", +"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" +}, +"Response": { +"description": "This message defines attributes for a typical network response. It generally models semantics of an HTTP response.", +"id": "Response", +"properties": { +"backendLatency": { +"description": "The amount of time it takes the backend service to fully respond to a request. Measured from when the destination service starts to send the request to the backend until when the destination service receives the complete response from the backend.", +"format": "google-duration", +"type": "string" +}, +"code": { +"description": "The HTTP response status code, such as `200` and `404`.", +"format": "int64", +"type": "string" +}, +"headers": { +"additionalProperties": { +"type": "string" +}, +"description": "The HTTP response headers. If multiple headers share the same key, they must be merged according to HTTP spec. All header keys must be lowercased, because HTTP header keys are case-insensitive.", +"type": "object" +}, +"size": { +"description": "The HTTP response size in bytes. If unknown, it must be -1.", +"format": "int64", +"type": "string" +}, +"time": { +"description": "The timestamp when the `destination` service sends the last byte of the response.", +"format": "google-datetime", +"type": "string" +} +}, +"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" +}, +"V2HttpRequest": { +"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": "V2HttpRequest", +"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" +}, +"V2LogEntry": { +"description": "An individual log entry.", +"id": "V2LogEntry", +"properties": { +"httpRequest": { +"$ref": "V2HttpRequest", +"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": "V2LogEntryOperation", +"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": "V2LogEntrySourceLocation", +"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" +}, +"V2LogEntryOperation": { +"description": "Additional information about a potentially long-running operation with which a log entry is associated.", +"id": "V2LogEntryOperation", +"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" +}, +"V2LogEntrySourceLocation": { +"description": "Additional information about the source code location that produced the log entry.", +"id": "V2LogEntrySourceLocation", +"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" +}, +"V2ResourceEvent": { +"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": "V2ResourceEvent", +"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": "v2", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/siteVerification.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/siteVerification.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..298e19ec5b29836966991cde231fbb35785610da --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/siteVerification.v1.json @@ -0,0 +1,321 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/siteverification": { +"description": "Manage the list of sites and domains you control" +}, +"https://www.googleapis.com/auth/siteverification.verify_only": { +"description": "Manage your new site verifications with Google" +} +} +} +}, +"basePath": "/siteVerification/v1/", +"baseUrl": "https://www.googleapis.com/siteVerification/v1/", +"batchPath": "batch/siteVerification/v1", +"description": "Verifies ownership of websites or domains with Google.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/site-verification/", +"etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/ffKkQHIfwnRAzOSRWAT_SYBS6HY\"", +"icons": { +"x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", +"x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" +}, +"id": "siteVerification:v1", +"kind": "discovery#restDescription", +"name": "siteVerification", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"alt": { +"default": "json", +"description": "Data format for the response.", +"enum": [ +"json" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json" +], +"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": "false", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"userIp": { +"description": "Deprecated. Please use quotaUser instead.", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"webResource": { +"methods": { +"delete": { +"description": "Relinquish ownership of a website or domain.", +"httpMethod": "DELETE", +"id": "siteVerification.webResource.delete", +"parameterOrder": [ +"id" +], +"parameters": { +"id": { +"description": "The id of a verified site or domain.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "webResource/{id}", +"scopes": [ +"https://www.googleapis.com/auth/siteverification" +] +}, +"get": { +"description": "Get the most current data for a website or domain.", +"httpMethod": "GET", +"id": "siteVerification.webResource.get", +"parameterOrder": [ +"id" +], +"parameters": { +"id": { +"description": "The id of a verified site or domain.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "webResource/{id}", +"response": { +"$ref": "SiteVerificationWebResourceResource" +}, +"scopes": [ +"https://www.googleapis.com/auth/siteverification" +] +}, +"getToken": { +"description": "Get a verification token for placing on a website or domain.", +"httpMethod": "POST", +"id": "siteVerification.webResource.getToken", +"path": "token", +"request": { +"$ref": "SiteVerificationWebResourceGettokenRequest" +}, +"response": { +"$ref": "SiteVerificationWebResourceGettokenResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/siteverification", +"https://www.googleapis.com/auth/siteverification.verify_only" +] +}, +"insert": { +"description": "Attempt verification of a website or domain.", +"httpMethod": "POST", +"id": "siteVerification.webResource.insert", +"parameterOrder": [ +"verificationMethod" +], +"parameters": { +"verificationMethod": { +"description": "The method to use for verifying a site or domain.", +"location": "query", +"required": true, +"type": "string" +} +}, +"path": "webResource", +"request": { +"$ref": "SiteVerificationWebResourceResource" +}, +"response": { +"$ref": "SiteVerificationWebResourceResource" +}, +"scopes": [ +"https://www.googleapis.com/auth/siteverification", +"https://www.googleapis.com/auth/siteverification.verify_only" +] +}, +"list": { +"description": "Get the list of your verified websites and domains.", +"httpMethod": "GET", +"id": "siteVerification.webResource.list", +"path": "webResource", +"response": { +"$ref": "SiteVerificationWebResourceListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/siteverification" +] +}, +"patch": { +"description": "Modify the list of owners for your website or domain. This method supports patch semantics.", +"httpMethod": "PATCH", +"id": "siteVerification.webResource.patch", +"parameterOrder": [ +"id" +], +"parameters": { +"id": { +"description": "The id of a verified site or domain.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "webResource/{id}", +"request": { +"$ref": "SiteVerificationWebResourceResource" +}, +"response": { +"$ref": "SiteVerificationWebResourceResource" +}, +"scopes": [ +"https://www.googleapis.com/auth/siteverification" +] +}, +"update": { +"description": "Modify the list of owners for your website or domain.", +"httpMethod": "PUT", +"id": "siteVerification.webResource.update", +"parameterOrder": [ +"id" +], +"parameters": { +"id": { +"description": "The id of a verified site or domain.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "webResource/{id}", +"request": { +"$ref": "SiteVerificationWebResourceResource" +}, +"response": { +"$ref": "SiteVerificationWebResourceResource" +}, +"scopes": [ +"https://www.googleapis.com/auth/siteverification" +] +} +} +} +}, +"revision": "20191119", +"rootUrl": "https://www.googleapis.com/", +"schemas": { +"SiteVerificationWebResourceGettokenRequest": { +"id": "SiteVerificationWebResourceGettokenRequest", +"properties": { +"site": { +"description": "The site for which a verification token will be generated.", +"properties": { +"identifier": { +"description": "The site identifier. If the type is set to SITE, the identifier is a URL. If the type is set to INET_DOMAIN, the site identifier is a domain name.", +"type": "string" +}, +"type": { +"description": "The type of resource to be verified. Can be SITE or INET_DOMAIN (domain name).", +"type": "string" +} +}, +"type": "object" +}, +"verificationMethod": { +"description": "The verification method that will be used to verify this site. For sites, 'FILE' or 'META' methods may be used. For domains, only 'DNS' may be used.", +"type": "string" +} +}, +"type": "object" +}, +"SiteVerificationWebResourceGettokenResponse": { +"id": "SiteVerificationWebResourceGettokenResponse", +"properties": { +"method": { +"description": "The verification method to use in conjunction with this token. For FILE, the token should be placed in the top-level directory of the site, stored inside a file of the same name. For META, the token should be placed in the HEAD tag of the default page that is loaded for the site. For DNS, the token should be placed in a TXT record of the domain.", +"type": "string" +}, +"token": { +"description": "The verification token. The token must be placed appropriately in order for verification to succeed.", +"type": "string" +} +}, +"type": "object" +}, +"SiteVerificationWebResourceListResponse": { +"id": "SiteVerificationWebResourceListResponse", +"properties": { +"items": { +"description": "The list of sites that are owned by the authenticated user.", +"items": { +"$ref": "SiteVerificationWebResourceResource" +}, +"type": "array" +} +}, +"type": "object" +}, +"SiteVerificationWebResourceResource": { +"id": "SiteVerificationWebResourceResource", +"properties": { +"id": { +"description": "The string used to identify this site. This value should be used in the \"id\" portion of the REST URL for the Get, Update, and Delete operations.", +"type": "string" +}, +"owners": { +"description": "The email addresses of all verified owners.", +"items": { +"type": "string" +}, +"type": "array" +}, +"site": { +"description": "The address and type of a site that is verified or will be verified.", +"properties": { +"identifier": { +"description": "The site identifier. If the type is set to SITE, the identifier is a URL. If the type is set to INET_DOMAIN, the site identifier is a domain name.", +"type": "string" +}, +"type": { +"description": "The site type. Can be SITE or INET_DOMAIN (domain name).", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +} +}, +"servicePath": "siteVerification/v1/", +"title": "Google Site Verification API", +"version": "v1" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/slides.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/slides.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..e6bbb97470e8c4d2d4b65dad1cbb70bc4499b270 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/slides.v1.json @@ -0,0 +1,4628 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/drive": { +"description": "See, edit, create, and delete all of your Google Drive files" +}, +"https://www.googleapis.com/auth/drive.file": { +"description": "See, edit, create, and delete only the specific Google Drive files you use with this app" +}, +"https://www.googleapis.com/auth/drive.readonly": { +"description": "See and download all your Google Drive files" +}, +"https://www.googleapis.com/auth/presentations": { +"description": "See, edit, create, and delete all your Google Slides presentations" +}, +"https://www.googleapis.com/auth/presentations.readonly": { +"description": "See all your Google Slides presentations" +}, +"https://www.googleapis.com/auth/spreadsheets": { +"description": "See, edit, create, and delete all your Google Sheets spreadsheets" +}, +"https://www.googleapis.com/auth/spreadsheets.readonly": { +"description": "See all your Google Sheets spreadsheets" +} +} +} +}, +"basePath": "", +"baseUrl": "https://slides.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Slides", +"description": "Reads and writes Google Slides presentations.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/slides/", +"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": "slides:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://slides.mtls.googleapis.com/", +"name": "slides", +"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": { +"presentations": { +"methods": { +"batchUpdate": { +"description": "Applies one or more updates to the presentation. Each request is validated before being applied. If any request is not valid, then the entire request will fail and nothing will be applied. Some requests have replies to give you some information about how they are applied. Other requests do not need to return information; these each return an empty reply. The order of replies matches that of the requests. For example, suppose you call batchUpdate with four updates, and only the third one returns information. The response would have two empty replies: the reply to the third request, and another empty reply, in that order. Because other users may be editing the presentation, the presentation might not exactly reflect your changes: your changes may be altered with respect to collaborator changes. If there are no collaborators, the presentation should reflect your changes. In any case, the updates in your request are guaranteed to be applied together atomically.", +"flatPath": "v1/presentations/{presentationId}:batchUpdate", +"httpMethod": "POST", +"id": "slides.presentations.batchUpdate", +"parameterOrder": [ +"presentationId" +], +"parameters": { +"presentationId": { +"description": "The presentation to apply the updates to.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/presentations/{presentationId}:batchUpdate", +"request": { +"$ref": "BatchUpdatePresentationRequest" +}, +"response": { +"$ref": "BatchUpdatePresentationResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.readonly", +"https://www.googleapis.com/auth/presentations", +"https://www.googleapis.com/auth/spreadsheets", +"https://www.googleapis.com/auth/spreadsheets.readonly" +] +}, +"create": { +"description": "Creates a blank presentation using the title given in the request. If a `presentationId` is provided, it is used as the ID of the new presentation. Otherwise, a new ID is generated. Other fields in the request, including any provided content, are ignored. Returns the created presentation.", +"flatPath": "v1/presentations", +"httpMethod": "POST", +"id": "slides.presentations.create", +"parameterOrder": [], +"parameters": {}, +"path": "v1/presentations", +"request": { +"$ref": "Presentation" +}, +"response": { +"$ref": "Presentation" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/presentations" +] +}, +"get": { +"description": "Gets the latest version of the specified presentation.", +"flatPath": "v1/presentations/{presentationsId}", +"httpMethod": "GET", +"id": "slides.presentations.get", +"parameterOrder": [ +"presentationId" +], +"parameters": { +"presentationId": { +"description": "The ID of the presentation to retrieve.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/presentations/{+presentationId}", +"response": { +"$ref": "Presentation" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.readonly", +"https://www.googleapis.com/auth/presentations", +"https://www.googleapis.com/auth/presentations.readonly" +] +} +}, +"resources": { +"pages": { +"methods": { +"get": { +"description": "Gets the latest version of the specified page in the presentation.", +"flatPath": "v1/presentations/{presentationId}/pages/{pageObjectId}", +"httpMethod": "GET", +"id": "slides.presentations.pages.get", +"parameterOrder": [ +"presentationId", +"pageObjectId" +], +"parameters": { +"pageObjectId": { +"description": "The object ID of the page to retrieve.", +"location": "path", +"required": true, +"type": "string" +}, +"presentationId": { +"description": "The ID of the presentation to retrieve.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/presentations/{presentationId}/pages/{pageObjectId}", +"response": { +"$ref": "Page" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.readonly", +"https://www.googleapis.com/auth/presentations", +"https://www.googleapis.com/auth/presentations.readonly" +] +}, +"getThumbnail": { +"description": "Generates a thumbnail of the latest version of the specified page in the presentation and returns a URL to the thumbnail image. This request counts as an [expensive read request](/slides/limits) for quota purposes.", +"flatPath": "v1/presentations/{presentationId}/pages/{pageObjectId}/thumbnail", +"httpMethod": "GET", +"id": "slides.presentations.pages.getThumbnail", +"parameterOrder": [ +"presentationId", +"pageObjectId" +], +"parameters": { +"pageObjectId": { +"description": "The object ID of the page whose thumbnail to retrieve.", +"location": "path", +"required": true, +"type": "string" +}, +"presentationId": { +"description": "The ID of the presentation to retrieve.", +"location": "path", +"required": true, +"type": "string" +}, +"thumbnailProperties.mimeType": { +"description": "The optional mime type of the thumbnail image. If you don't specify the mime type, the mime type defaults to PNG.", +"enum": [ +"PNG" +], +"enumDescriptions": [ +"The default mime type." +], +"location": "query", +"type": "string" +}, +"thumbnailProperties.thumbnailSize": { +"description": "The optional thumbnail image size. If you don't specify the size, the server chooses a default size of the image.", +"enum": [ +"THUMBNAIL_SIZE_UNSPECIFIED", +"LARGE", +"MEDIUM", +"SMALL" +], +"enumDescriptions": [ +"The default thumbnail image size. The unspecified thumbnail size implies that the server chooses the size of the image in a way that might vary in the future.", +"The thumbnail image width of 1600px.", +"The thumbnail image width of 800px.", +"The thumbnail image width of 200px." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/presentations/{presentationId}/pages/{pageObjectId}/thumbnail", +"response": { +"$ref": "Thumbnail" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive", +"https://www.googleapis.com/auth/drive.file", +"https://www.googleapis.com/auth/drive.readonly", +"https://www.googleapis.com/auth/presentations", +"https://www.googleapis.com/auth/presentations.readonly" +] +} +} +} +} +} +}, +"revision": "20240625", +"rootUrl": "https://slides.googleapis.com/", +"schemas": { +"AffineTransform": { +"description": "AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] to transform source coordinates (x,y) into destination coordinates (x', y') according to: x' x = shear_y scale_y translate_y 1 [ 1 ] After transformation, x' = scale_x * x + shear_x * y + translate_x; y' = scale_y * y + shear_y * x + translate_y; This message is therefore composed of these six matrix elements.", +"id": "AffineTransform", +"properties": { +"scaleX": { +"description": "The X coordinate scaling element.", +"format": "double", +"type": "number" +}, +"scaleY": { +"description": "The Y coordinate scaling element.", +"format": "double", +"type": "number" +}, +"shearX": { +"description": "The X coordinate shearing element.", +"format": "double", +"type": "number" +}, +"shearY": { +"description": "The Y coordinate shearing element.", +"format": "double", +"type": "number" +}, +"translateX": { +"description": "The X coordinate translation element.", +"format": "double", +"type": "number" +}, +"translateY": { +"description": "The Y coordinate translation element.", +"format": "double", +"type": "number" +}, +"unit": { +"description": "The units for translate elements.", +"enum": [ +"UNIT_UNSPECIFIED", +"EMU", +"PT" +], +"enumDescriptions": [ +"The units are unknown.", +"An English Metric Unit (EMU) is defined as 1/360,000 of a centimeter and thus there are 914,400 EMUs per inch, and 12,700 EMUs per point.", +"A point, 1/72 of an inch." +], +"type": "string" +} +}, +"type": "object" +}, +"AutoText": { +"description": "A TextElement kind that represents auto text.", +"id": "AutoText", +"properties": { +"content": { +"description": "The rendered content of this auto text, if available.", +"type": "string" +}, +"style": { +"$ref": "TextStyle", +"description": "The styling applied to this auto text." +}, +"type": { +"description": "The type of this auto text.", +"enum": [ +"TYPE_UNSPECIFIED", +"SLIDE_NUMBER" +], +"enumDescriptions": [ +"An unspecified autotext type.", +"Type for autotext that represents the current slide number." +], +"type": "string" +} +}, +"type": "object" +}, +"Autofit": { +"description": "The autofit properties of a Shape.", +"id": "Autofit", +"properties": { +"autofitType": { +"description": "The autofit type of the shape. If the autofit type is AUTOFIT_TYPE_UNSPECIFIED, the autofit type is inherited from a parent placeholder if it exists. The field is automatically set to NONE if a request is made that might affect text fitting within its bounding text box. In this case the font_scale is applied to the font_size and the line_spacing_reduction is applied to the line_spacing. Both properties are also reset to default values.", +"enum": [ +"AUTOFIT_TYPE_UNSPECIFIED", +"NONE", +"TEXT_AUTOFIT", +"SHAPE_AUTOFIT" +], +"enumDescriptions": [ +"The autofit type is unspecified.", +"Do not autofit.", +"Shrink text on overflow to fit the shape.", +"Resize the shape to fit the text." +], +"type": "string" +}, +"fontScale": { +"description": "The font scale applied to the shape. For shapes with autofit_type NONE or SHAPE_AUTOFIT, this value is the default value of 1. For TEXT_AUTOFIT, this value multiplied by the font_size gives the font size that is rendered in the editor. This property is read-only.", +"format": "float", +"type": "number" +}, +"lineSpacingReduction": { +"description": "The line spacing reduction applied to the shape. For shapes with autofit_type NONE or SHAPE_AUTOFIT, this value is the default value of 0. For TEXT_AUTOFIT, this value subtracted from the line_spacing gives the line spacing that is rendered in the editor. This property is read-only.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"BatchUpdatePresentationRequest": { +"description": "Request message for PresentationsService.BatchUpdatePresentation.", +"id": "BatchUpdatePresentationRequest", +"properties": { +"requests": { +"description": "A list of updates to apply to the presentation.", +"items": { +"$ref": "Request" +}, +"type": "array" +}, +"writeControl": { +"$ref": "WriteControl", +"description": "Provides control over how write requests are executed." +} +}, +"type": "object" +}, +"BatchUpdatePresentationResponse": { +"description": "Response message from a batch update.", +"id": "BatchUpdatePresentationResponse", +"properties": { +"presentationId": { +"description": "The presentation the updates were applied to.", +"type": "string" +}, +"replies": { +"description": "The reply of the updates. This maps 1:1 with the updates, although replies to some requests may be empty.", +"items": { +"$ref": "Response" +}, +"type": "array" +}, +"writeControl": { +"$ref": "WriteControl", +"description": "The updated write control after applying the request." +} +}, +"type": "object" +}, +"Bullet": { +"description": "Describes the bullet of a paragraph.", +"id": "Bullet", +"properties": { +"bulletStyle": { +"$ref": "TextStyle", +"description": "The paragraph specific text style applied to this bullet." +}, +"glyph": { +"description": "The rendered bullet glyph for this paragraph.", +"type": "string" +}, +"listId": { +"description": "The ID of the list this paragraph belongs to.", +"type": "string" +}, +"nestingLevel": { +"description": "The nesting level of this paragraph in the list.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ColorScheme": { +"description": "The palette of predefined colors for a page.", +"id": "ColorScheme", +"properties": { +"colors": { +"description": "The ThemeColorType and corresponding concrete color pairs.", +"items": { +"$ref": "ThemeColorPair" +}, +"type": "array" +} +}, +"type": "object" +}, +"ColorStop": { +"description": "A color and position in a gradient band.", +"id": "ColorStop", +"properties": { +"alpha": { +"description": "The alpha value of this color in the gradient band. Defaults to 1.0, fully opaque.", +"format": "float", +"type": "number" +}, +"color": { +"$ref": "OpaqueColor", +"description": "The color of the gradient stop." +}, +"position": { +"description": "The relative position of the color stop in the gradient band measured in percentage. The value should be in the interval [0.0, 1.0].", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"CreateImageRequest": { +"description": "Creates an image.", +"id": "CreateImageRequest", +"properties": { +"elementProperties": { +"$ref": "PageElementProperties", +"description": "The element properties for the image. When the aspect ratio of the provided size does not match the image aspect ratio, the image is scaled and centered with respect to the size in order to maintain the aspect ratio. The provided transform is applied after this operation. The PageElementProperties.size property is optional. If you don't specify the size, the default size of the image is used. The PageElementProperties.transform property is optional. If you don't specify a transform, the image will be placed at the top-left corner of the page." +}, +"objectId": { +"description": "A user-supplied object ID. If you specify an ID, it must be unique among all pages and page elements in the presentation. The ID must start with an alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID must not be less than 5 or greater than 50. If you don't specify an ID, a unique one is generated.", +"type": "string" +}, +"url": { +"description": "The image URL. The image is fetched once at insertion time and a copy is stored for display inside the presentation. Images must be less than 50 MB in size, can't exceed 25 megapixels, and must be in one of PNG, JPEG, or GIF formats. The provided URL must be publicly accessible and up to 2 KB in length. The URL is saved with the image, and exposed through the Image.source_url field.", +"type": "string" +} +}, +"type": "object" +}, +"CreateImageResponse": { +"description": "The result of creating an image.", +"id": "CreateImageResponse", +"properties": { +"objectId": { +"description": "The object ID of the created image.", +"type": "string" +} +}, +"type": "object" +}, +"CreateLineRequest": { +"description": "Creates a line.", +"id": "CreateLineRequest", +"properties": { +"category": { +"description": "The category of the line to be created. The exact line type created is determined based on the category and how it's routed to connect to other page elements. If you specify both a `category` and a `line_category`, the `category` takes precedence. If you do not specify a value for `category`, but specify a value for `line_category`, then the specified `line_category` value is used. If you do not specify either, then STRAIGHT is used.", +"enum": [ +"LINE_CATEGORY_UNSPECIFIED", +"STRAIGHT", +"BENT", +"CURVED" +], +"enumDescriptions": [ +"Unspecified line category.", +"Straight connectors, including straight connector 1.", +"Bent connectors, including bent connector 2 to 5.", +"Curved connectors, including curved connector 2 to 5." +], +"type": "string" +}, +"elementProperties": { +"$ref": "PageElementProperties", +"description": "The element properties for the line." +}, +"lineCategory": { +"deprecated": true, +"description": "The category of the line to be created. *Deprecated*: use `category` instead. The exact line type created is determined based on the category and how it's routed to connect to other page elements. If you specify both a `category` and a `line_category`, the `category` takes precedence.", +"enum": [ +"STRAIGHT", +"BENT", +"CURVED" +], +"enumDescriptions": [ +"Straight connectors, including straight connector 1. The is the default category when one is not specified.", +"Bent connectors, including bent connector 2 to 5.", +"Curved connectors, including curved connector 2 to 5." +], +"type": "string" +}, +"objectId": { +"description": "A user-supplied object ID. If you specify an ID, it must be unique among all pages and page elements in the presentation. The ID must start with an alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID must not be less than 5 or greater than 50. If you don't specify an ID, a unique one is generated.", +"type": "string" +} +}, +"type": "object" +}, +"CreateLineResponse": { +"description": "The result of creating a line.", +"id": "CreateLineResponse", +"properties": { +"objectId": { +"description": "The object ID of the created line.", +"type": "string" +} +}, +"type": "object" +}, +"CreateParagraphBulletsRequest": { +"description": "Creates bullets for all of the paragraphs that overlap with the given text index range. The nesting level of each paragraph will be determined by counting leading tabs in front of each paragraph. To avoid excess space between the bullet and the corresponding paragraph, these leading tabs are removed by this request. This may change the indices of parts of the text. If the paragraph immediately before paragraphs being updated is in a list with a matching preset, the paragraphs being updated are added to that preceding list.", +"id": "CreateParagraphBulletsRequest", +"properties": { +"bulletPreset": { +"description": "The kinds of bullet glyphs to be used. Defaults to the `BULLET_DISC_CIRCLE_SQUARE` preset.", +"enum": [ +"BULLET_DISC_CIRCLE_SQUARE", +"BULLET_DIAMONDX_ARROW3D_SQUARE", +"BULLET_CHECKBOX", +"BULLET_ARROW_DIAMOND_DISC", +"BULLET_STAR_CIRCLE_SQUARE", +"BULLET_ARROW3D_CIRCLE_SQUARE", +"BULLET_LEFTTRIANGLE_DIAMOND_DISC", +"BULLET_DIAMONDX_HOLLOWDIAMOND_SQUARE", +"BULLET_DIAMOND_CIRCLE_SQUARE", +"NUMBERED_DIGIT_ALPHA_ROMAN", +"NUMBERED_DIGIT_ALPHA_ROMAN_PARENS", +"NUMBERED_DIGIT_NESTED", +"NUMBERED_UPPERALPHA_ALPHA_ROMAN", +"NUMBERED_UPPERROMAN_UPPERALPHA_DIGIT", +"NUMBERED_ZERODIGIT_ALPHA_ROMAN" +], +"enumDescriptions": [ +"A bulleted list with a `DISC`, `CIRCLE` and `SQUARE` bullet glyph for the first 3 list nesting levels.", +"A bulleted list with a `DIAMONDX`, `ARROW3D` and `SQUARE` bullet glyph for the first 3 list nesting levels.", +"A bulleted list with `CHECKBOX` bullet glyphs for all list nesting levels.", +"A bulleted list with a `ARROW`, `DIAMOND` and `DISC` bullet glyph for the first 3 list nesting levels.", +"A bulleted list with a `STAR`, `CIRCLE` and `SQUARE` bullet glyph for the first 3 list nesting levels.", +"A bulleted list with a `ARROW3D`, `CIRCLE` and `SQUARE` bullet glyph for the first 3 list nesting levels.", +"A bulleted list with a `LEFTTRIANGLE`, `DIAMOND` and `DISC` bullet glyph for the first 3 list nesting levels.", +"A bulleted list with a `DIAMONDX`, `HOLLOWDIAMOND` and `SQUARE` bullet glyph for the first 3 list nesting levels.", +"A bulleted list with a `DIAMOND`, `CIRCLE` and `SQUARE` bullet glyph for the first 3 list nesting levels.", +"A numbered list with `DIGIT`, `ALPHA` and `ROMAN` numeric glyphs for the first 3 list nesting levels, followed by periods.", +"A numbered list with `DIGIT`, `ALPHA` and `ROMAN` numeric glyphs for the first 3 list nesting levels, followed by parenthesis.", +"A numbered list with `DIGIT` numeric glyphs separated by periods, where each nesting level uses the previous nesting level's glyph as a prefix. For example: '1.', '1.1.', '2.', '2.2.'.", +"A numbered list with `UPPERALPHA`, `ALPHA` and `ROMAN` numeric glyphs for the first 3 list nesting levels, followed by periods.", +"A numbered list with `UPPERROMAN`, `UPPERALPHA` and `DIGIT` numeric glyphs for the first 3 list nesting levels, followed by periods.", +"A numbered list with `ZERODIGIT`, `ALPHA` and `ROMAN` numeric glyphs for the first 3 list nesting levels, followed by periods." +], +"type": "string" +}, +"cellLocation": { +"$ref": "TableCellLocation", +"description": "The optional table cell location if the text to be modified is in a table cell. If present, the object_id must refer to a table." +}, +"objectId": { +"description": "The object ID of the shape or table containing the text to add bullets to.", +"type": "string" +}, +"textRange": { +"$ref": "Range", +"description": "The range of text to apply the bullet presets to, based on TextElement indexes." +} +}, +"type": "object" +}, +"CreateShapeRequest": { +"description": "Creates a new shape.", +"id": "CreateShapeRequest", +"properties": { +"elementProperties": { +"$ref": "PageElementProperties", +"description": "The element properties for the shape." +}, +"objectId": { +"description": "A user-supplied object ID. If you specify an ID, it must be unique among all pages and page elements in the presentation. The ID must start with an alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID must not be less than 5 or greater than 50. If empty, a unique identifier will be generated.", +"type": "string" +}, +"shapeType": { +"description": "The shape type.", +"enum": [ +"TYPE_UNSPECIFIED", +"TEXT_BOX", +"RECTANGLE", +"ROUND_RECTANGLE", +"ELLIPSE", +"ARC", +"BENT_ARROW", +"BENT_UP_ARROW", +"BEVEL", +"BLOCK_ARC", +"BRACE_PAIR", +"BRACKET_PAIR", +"CAN", +"CHEVRON", +"CHORD", +"CLOUD", +"CORNER", +"CUBE", +"CURVED_DOWN_ARROW", +"CURVED_LEFT_ARROW", +"CURVED_RIGHT_ARROW", +"CURVED_UP_ARROW", +"DECAGON", +"DIAGONAL_STRIPE", +"DIAMOND", +"DODECAGON", +"DONUT", +"DOUBLE_WAVE", +"DOWN_ARROW", +"DOWN_ARROW_CALLOUT", +"FOLDED_CORNER", +"FRAME", +"HALF_FRAME", +"HEART", +"HEPTAGON", +"HEXAGON", +"HOME_PLATE", +"HORIZONTAL_SCROLL", +"IRREGULAR_SEAL_1", +"IRREGULAR_SEAL_2", +"LEFT_ARROW", +"LEFT_ARROW_CALLOUT", +"LEFT_BRACE", +"LEFT_BRACKET", +"LEFT_RIGHT_ARROW", +"LEFT_RIGHT_ARROW_CALLOUT", +"LEFT_RIGHT_UP_ARROW", +"LEFT_UP_ARROW", +"LIGHTNING_BOLT", +"MATH_DIVIDE", +"MATH_EQUAL", +"MATH_MINUS", +"MATH_MULTIPLY", +"MATH_NOT_EQUAL", +"MATH_PLUS", +"MOON", +"NO_SMOKING", +"NOTCHED_RIGHT_ARROW", +"OCTAGON", +"PARALLELOGRAM", +"PENTAGON", +"PIE", +"PLAQUE", +"PLUS", +"QUAD_ARROW", +"QUAD_ARROW_CALLOUT", +"RIBBON", +"RIBBON_2", +"RIGHT_ARROW", +"RIGHT_ARROW_CALLOUT", +"RIGHT_BRACE", +"RIGHT_BRACKET", +"ROUND_1_RECTANGLE", +"ROUND_2_DIAGONAL_RECTANGLE", +"ROUND_2_SAME_RECTANGLE", +"RIGHT_TRIANGLE", +"SMILEY_FACE", +"SNIP_1_RECTANGLE", +"SNIP_2_DIAGONAL_RECTANGLE", +"SNIP_2_SAME_RECTANGLE", +"SNIP_ROUND_RECTANGLE", +"STAR_10", +"STAR_12", +"STAR_16", +"STAR_24", +"STAR_32", +"STAR_4", +"STAR_5", +"STAR_6", +"STAR_7", +"STAR_8", +"STRIPED_RIGHT_ARROW", +"SUN", +"TRAPEZOID", +"TRIANGLE", +"UP_ARROW", +"UP_ARROW_CALLOUT", +"UP_DOWN_ARROW", +"UTURN_ARROW", +"VERTICAL_SCROLL", +"WAVE", +"WEDGE_ELLIPSE_CALLOUT", +"WEDGE_RECTANGLE_CALLOUT", +"WEDGE_ROUND_RECTANGLE_CALLOUT", +"FLOW_CHART_ALTERNATE_PROCESS", +"FLOW_CHART_COLLATE", +"FLOW_CHART_CONNECTOR", +"FLOW_CHART_DECISION", +"FLOW_CHART_DELAY", +"FLOW_CHART_DISPLAY", +"FLOW_CHART_DOCUMENT", +"FLOW_CHART_EXTRACT", +"FLOW_CHART_INPUT_OUTPUT", +"FLOW_CHART_INTERNAL_STORAGE", +"FLOW_CHART_MAGNETIC_DISK", +"FLOW_CHART_MAGNETIC_DRUM", +"FLOW_CHART_MAGNETIC_TAPE", +"FLOW_CHART_MANUAL_INPUT", +"FLOW_CHART_MANUAL_OPERATION", +"FLOW_CHART_MERGE", +"FLOW_CHART_MULTIDOCUMENT", +"FLOW_CHART_OFFLINE_STORAGE", +"FLOW_CHART_OFFPAGE_CONNECTOR", +"FLOW_CHART_ONLINE_STORAGE", +"FLOW_CHART_OR", +"FLOW_CHART_PREDEFINED_PROCESS", +"FLOW_CHART_PREPARATION", +"FLOW_CHART_PROCESS", +"FLOW_CHART_PUNCHED_CARD", +"FLOW_CHART_PUNCHED_TAPE", +"FLOW_CHART_SORT", +"FLOW_CHART_SUMMING_JUNCTION", +"FLOW_CHART_TERMINATOR", +"ARROW_EAST", +"ARROW_NORTH_EAST", +"ARROW_NORTH", +"SPEECH", +"STARBURST", +"TEARDROP", +"ELLIPSE_RIBBON", +"ELLIPSE_RIBBON_2", +"CLOUD_CALLOUT", +"CUSTOM" +], +"enumDescriptions": [ +"The shape type that is not predefined.", +"Text box shape.", +"Rectangle shape. Corresponds to ECMA-376 ST_ShapeType 'rect'.", +"Round corner rectangle shape. Corresponds to ECMA-376 ST_ShapeType 'roundRect'", +"Ellipse shape. Corresponds to ECMA-376 ST_ShapeType 'ellipse'", +"Curved arc shape. Corresponds to ECMA-376 ST_ShapeType 'arc'", +"Bent arrow shape. Corresponds to ECMA-376 ST_ShapeType 'bentArrow'", +"Bent up arrow shape. Corresponds to ECMA-376 ST_ShapeType 'bentUpArrow'", +"Bevel shape. Corresponds to ECMA-376 ST_ShapeType 'bevel'", +"Block arc shape. Corresponds to ECMA-376 ST_ShapeType 'blockArc'", +"Brace pair shape. Corresponds to ECMA-376 ST_ShapeType 'bracePair'", +"Bracket pair shape. Corresponds to ECMA-376 ST_ShapeType 'bracketPair'", +"Can shape. Corresponds to ECMA-376 ST_ShapeType 'can'", +"Chevron shape. Corresponds to ECMA-376 ST_ShapeType 'chevron'", +"Chord shape. Corresponds to ECMA-376 ST_ShapeType 'chord'", +"Cloud shape. Corresponds to ECMA-376 ST_ShapeType 'cloud'", +"Corner shape. Corresponds to ECMA-376 ST_ShapeType 'corner'", +"Cube shape. Corresponds to ECMA-376 ST_ShapeType 'cube'", +"Curved down arrow shape. Corresponds to ECMA-376 ST_ShapeType 'curvedDownArrow'", +"Curved left arrow shape. Corresponds to ECMA-376 ST_ShapeType 'curvedLeftArrow'", +"Curved right arrow shape. Corresponds to ECMA-376 ST_ShapeType 'curvedRightArrow'", +"Curved up arrow shape. Corresponds to ECMA-376 ST_ShapeType 'curvedUpArrow'", +"Decagon shape. Corresponds to ECMA-376 ST_ShapeType 'decagon'", +"Diagonal stripe shape. Corresponds to ECMA-376 ST_ShapeType 'diagStripe'", +"Diamond shape. Corresponds to ECMA-376 ST_ShapeType 'diamond'", +"Dodecagon shape. Corresponds to ECMA-376 ST_ShapeType 'dodecagon'", +"Donut shape. Corresponds to ECMA-376 ST_ShapeType 'donut'", +"Double wave shape. Corresponds to ECMA-376 ST_ShapeType 'doubleWave'", +"Down arrow shape. Corresponds to ECMA-376 ST_ShapeType 'downArrow'", +"Callout down arrow shape. Corresponds to ECMA-376 ST_ShapeType 'downArrowCallout'", +"Folded corner shape. Corresponds to ECMA-376 ST_ShapeType 'foldedCorner'", +"Frame shape. Corresponds to ECMA-376 ST_ShapeType 'frame'", +"Half frame shape. Corresponds to ECMA-376 ST_ShapeType 'halfFrame'", +"Heart shape. Corresponds to ECMA-376 ST_ShapeType 'heart'", +"Heptagon shape. Corresponds to ECMA-376 ST_ShapeType 'heptagon'", +"Hexagon shape. Corresponds to ECMA-376 ST_ShapeType 'hexagon'", +"Home plate shape. Corresponds to ECMA-376 ST_ShapeType 'homePlate'", +"Horizontal scroll shape. Corresponds to ECMA-376 ST_ShapeType 'horizontalScroll'", +"Irregular seal 1 shape. Corresponds to ECMA-376 ST_ShapeType 'irregularSeal1'", +"Irregular seal 2 shape. Corresponds to ECMA-376 ST_ShapeType 'irregularSeal2'", +"Left arrow shape. Corresponds to ECMA-376 ST_ShapeType 'leftArrow'", +"Callout left arrow shape. Corresponds to ECMA-376 ST_ShapeType 'leftArrowCallout'", +"Left brace shape. Corresponds to ECMA-376 ST_ShapeType 'leftBrace'", +"Left bracket shape. Corresponds to ECMA-376 ST_ShapeType 'leftBracket'", +"Left right arrow shape. Corresponds to ECMA-376 ST_ShapeType 'leftRightArrow'", +"Callout left right arrow shape. Corresponds to ECMA-376 ST_ShapeType 'leftRightArrowCallout'", +"Left right up arrow shape. Corresponds to ECMA-376 ST_ShapeType 'leftRightUpArrow'", +"Left up arrow shape. Corresponds to ECMA-376 ST_ShapeType 'leftUpArrow'", +"Lightning bolt shape. Corresponds to ECMA-376 ST_ShapeType 'lightningBolt'", +"Divide math shape. Corresponds to ECMA-376 ST_ShapeType 'mathDivide'", +"Equal math shape. Corresponds to ECMA-376 ST_ShapeType 'mathEqual'", +"Minus math shape. Corresponds to ECMA-376 ST_ShapeType 'mathMinus'", +"Multiply math shape. Corresponds to ECMA-376 ST_ShapeType 'mathMultiply'", +"Not equal math shape. Corresponds to ECMA-376 ST_ShapeType 'mathNotEqual'", +"Plus math shape. Corresponds to ECMA-376 ST_ShapeType 'mathPlus'", +"Moon shape. Corresponds to ECMA-376 ST_ShapeType 'moon'", +"No smoking shape. Corresponds to ECMA-376 ST_ShapeType 'noSmoking'", +"Notched right arrow shape. Corresponds to ECMA-376 ST_ShapeType 'notchedRightArrow'", +"Octagon shape. Corresponds to ECMA-376 ST_ShapeType 'octagon'", +"Parallelogram shape. Corresponds to ECMA-376 ST_ShapeType 'parallelogram'", +"Pentagon shape. Corresponds to ECMA-376 ST_ShapeType 'pentagon'", +"Pie shape. Corresponds to ECMA-376 ST_ShapeType 'pie'", +"Plaque shape. Corresponds to ECMA-376 ST_ShapeType 'plaque'", +"Plus shape. Corresponds to ECMA-376 ST_ShapeType 'plus'", +"Quad-arrow shape. Corresponds to ECMA-376 ST_ShapeType 'quadArrow'", +"Callout quad-arrow shape. Corresponds to ECMA-376 ST_ShapeType 'quadArrowCallout'", +"Ribbon shape. Corresponds to ECMA-376 ST_ShapeType 'ribbon'", +"Ribbon 2 shape. Corresponds to ECMA-376 ST_ShapeType 'ribbon2'", +"Right arrow shape. Corresponds to ECMA-376 ST_ShapeType 'rightArrow'", +"Callout right arrow shape. Corresponds to ECMA-376 ST_ShapeType 'rightArrowCallout'", +"Right brace shape. Corresponds to ECMA-376 ST_ShapeType 'rightBrace'", +"Right bracket shape. Corresponds to ECMA-376 ST_ShapeType 'rightBracket'", +"One round corner rectangle shape. Corresponds to ECMA-376 ST_ShapeType 'round1Rect'", +"Two diagonal round corner rectangle shape. Corresponds to ECMA-376 ST_ShapeType 'round2DiagRect'", +"Two same-side round corner rectangle shape. Corresponds to ECMA-376 ST_ShapeType 'round2SameRect'", +"Right triangle shape. Corresponds to ECMA-376 ST_ShapeType 'rtTriangle'", +"Smiley face shape. Corresponds to ECMA-376 ST_ShapeType 'smileyFace'", +"One snip corner rectangle shape. Corresponds to ECMA-376 ST_ShapeType 'snip1Rect'", +"Two diagonal snip corner rectangle shape. Corresponds to ECMA-376 ST_ShapeType 'snip2DiagRect'", +"Two same-side snip corner rectangle shape. Corresponds to ECMA-376 ST_ShapeType 'snip2SameRect'", +"One snip one round corner rectangle shape. Corresponds to ECMA-376 ST_ShapeType 'snipRoundRect'", +"Ten pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star10'", +"Twelve pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star12'", +"Sixteen pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star16'", +"Twenty four pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star24'", +"Thirty two pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star32'", +"Four pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star4'", +"Five pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star5'", +"Six pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star6'", +"Seven pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star7'", +"Eight pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star8'", +"Striped right arrow shape. Corresponds to ECMA-376 ST_ShapeType 'stripedRightArrow'", +"Sun shape. Corresponds to ECMA-376 ST_ShapeType 'sun'", +"Trapezoid shape. Corresponds to ECMA-376 ST_ShapeType 'trapezoid'", +"Triangle shape. Corresponds to ECMA-376 ST_ShapeType 'triangle'", +"Up arrow shape. Corresponds to ECMA-376 ST_ShapeType 'upArrow'", +"Callout up arrow shape. Corresponds to ECMA-376 ST_ShapeType 'upArrowCallout'", +"Up down arrow shape. Corresponds to ECMA-376 ST_ShapeType 'upDownArrow'", +"U-turn arrow shape. Corresponds to ECMA-376 ST_ShapeType 'uturnArrow'", +"Vertical scroll shape. Corresponds to ECMA-376 ST_ShapeType 'verticalScroll'", +"Wave shape. Corresponds to ECMA-376 ST_ShapeType 'wave'", +"Callout wedge ellipse shape. Corresponds to ECMA-376 ST_ShapeType 'wedgeEllipseCallout'", +"Callout wedge rectangle shape. Corresponds to ECMA-376 ST_ShapeType 'wedgeRectCallout'", +"Callout wedge round rectangle shape. Corresponds to ECMA-376 ST_ShapeType 'wedgeRoundRectCallout'", +"Alternate process flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartAlternateProcess'", +"Collate flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartCollate'", +"Connector flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartConnector'", +"Decision flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartDecision'", +"Delay flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartDelay'", +"Display flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartDisplay'", +"Document flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartDocument'", +"Extract flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartExtract'", +"Input output flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartInputOutput'", +"Internal storage flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartInternalStorage'", +"Magnetic disk flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartMagneticDisk'", +"Magnetic drum flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartMagneticDrum'", +"Magnetic tape flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartMagneticTape'", +"Manual input flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartManualInput'", +"Manual operation flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartManualOperation'", +"Merge flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartMerge'", +"Multi-document flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartMultidocument'", +"Offline storage flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartOfflineStorage'", +"Off-page connector flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartOffpageConnector'", +"Online storage flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartOnlineStorage'", +"Or flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartOr'", +"Predefined process flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartPredefinedProcess'", +"Preparation flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartPreparation'", +"Process flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartProcess'", +"Punched card flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartPunchedCard'", +"Punched tape flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartPunchedTape'", +"Sort flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartSort'", +"Summing junction flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartSummingJunction'", +"Terminator flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartTerminator'", +"East arrow shape.", +"Northeast arrow shape.", +"North arrow shape.", +"Speech shape.", +"Star burst shape.", +"Teardrop shape. Corresponds to ECMA-376 ST_ShapeType 'teardrop'", +"Ellipse ribbon shape. Corresponds to ECMA-376 ST_ShapeType 'ellipseRibbon'", +"Ellipse ribbon 2 shape. Corresponds to ECMA-376 ST_ShapeType 'ellipseRibbon2'", +"Callout cloud shape. Corresponds to ECMA-376 ST_ShapeType 'cloudCallout'", +"Custom shape." +], +"type": "string" +} +}, +"type": "object" +}, +"CreateShapeResponse": { +"description": "The result of creating a shape.", +"id": "CreateShapeResponse", +"properties": { +"objectId": { +"description": "The object ID of the created shape.", +"type": "string" +} +}, +"type": "object" +}, +"CreateSheetsChartRequest": { +"description": "Creates an embedded Google Sheets chart. NOTE: Chart creation requires at least one of the spreadsheets.readonly, spreadsheets, drive.readonly, drive.file, or drive OAuth scopes.", +"id": "CreateSheetsChartRequest", +"properties": { +"chartId": { +"description": "The ID of the specific chart in the Google Sheets spreadsheet.", +"format": "int32", +"type": "integer" +}, +"elementProperties": { +"$ref": "PageElementProperties", +"description": "The element properties for the chart. When the aspect ratio of the provided size does not match the chart aspect ratio, the chart is scaled and centered with respect to the size in order to maintain aspect ratio. The provided transform is applied after this operation." +}, +"linkingMode": { +"description": "The mode with which the chart is linked to the source spreadsheet. When not specified, the chart will be an image that is not linked.", +"enum": [ +"NOT_LINKED_IMAGE", +"LINKED" +], +"enumDescriptions": [ +"The chart is not associated with the source spreadsheet and cannot be updated. A chart that is not linked will be inserted as an image.", +"Linking the chart allows it to be updated, and other collaborators will see a link to the spreadsheet." +], +"type": "string" +}, +"objectId": { +"description": "A user-supplied object ID. If specified, the ID must be unique among all pages and page elements in the presentation. The ID should start with a word character [a-zA-Z0-9_] and then followed by any number of the following characters [a-zA-Z0-9_-:]. The length of the ID should not be less than 5 or greater than 50. If empty, a unique identifier will be generated.", +"type": "string" +}, +"spreadsheetId": { +"description": "The ID of the Google Sheets spreadsheet that contains the chart. You might need to add a resource key to the HTTP header for a subset of old files. For more information, see [Access link-shared files using resource keys](https://developers.google.com/drive/api/v3/resource-keys).", +"type": "string" +} +}, +"type": "object" +}, +"CreateSheetsChartResponse": { +"description": "The result of creating an embedded Google Sheets chart.", +"id": "CreateSheetsChartResponse", +"properties": { +"objectId": { +"description": "The object ID of the created chart.", +"type": "string" +} +}, +"type": "object" +}, +"CreateSlideRequest": { +"description": "Creates a slide.", +"id": "CreateSlideRequest", +"properties": { +"insertionIndex": { +"description": "The optional zero-based index indicating where to insert the slides. If you don't specify an index, the slide is created at the end.", +"format": "int32", +"type": "integer" +}, +"objectId": { +"description": "A user-supplied object ID. If you specify an ID, it must be unique among all pages and page elements in the presentation. The ID must start with an alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The ID length must be between 5 and 50 characters, inclusive. If you don't specify an ID, a unique one is generated.", +"type": "string" +}, +"placeholderIdMappings": { +"description": "An optional list of object ID mappings from the placeholder(s) on the layout to the placeholders that are created on the slide from the specified layout. Can only be used when `slide_layout_reference` is specified.", +"items": { +"$ref": "LayoutPlaceholderIdMapping" +}, +"type": "array" +}, +"slideLayoutReference": { +"$ref": "LayoutReference", +"description": "Layout reference of the slide to be inserted, based on the *current master*, which is one of the following: - The master of the previous slide index. - The master of the first slide, if the insertion_index is zero. - The first master in the presentation, if there are no slides. If the LayoutReference is not found in the current master, a 400 bad request error is returned. If you don't specify a layout reference, the slide uses the predefined `BLANK` layout." +} +}, +"type": "object" +}, +"CreateSlideResponse": { +"description": "The result of creating a slide.", +"id": "CreateSlideResponse", +"properties": { +"objectId": { +"description": "The object ID of the created slide.", +"type": "string" +} +}, +"type": "object" +}, +"CreateTableRequest": { +"description": "Creates a new table.", +"id": "CreateTableRequest", +"properties": { +"columns": { +"description": "Number of columns in the table.", +"format": "int32", +"type": "integer" +}, +"elementProperties": { +"$ref": "PageElementProperties", +"description": "The element properties for the table. The table will be created at the provided size, subject to a minimum size. If no size is provided, the table will be automatically sized. Table transforms must have a scale of 1 and no shear components. If no transform is provided, the table will be centered on the page." +}, +"objectId": { +"description": "A user-supplied object ID. If you specify an ID, it must be unique among all pages and page elements in the presentation. The ID must start with an alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID must not be less than 5 or greater than 50. If you don't specify an ID, a unique one is generated.", +"type": "string" +}, +"rows": { +"description": "Number of rows in the table.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"CreateTableResponse": { +"description": "The result of creating a table.", +"id": "CreateTableResponse", +"properties": { +"objectId": { +"description": "The object ID of the created table.", +"type": "string" +} +}, +"type": "object" +}, +"CreateVideoRequest": { +"description": "Creates a video. NOTE: Creating a video from Google Drive requires that the requesting app have at least one of the drive, drive.readonly, or drive.file OAuth scopes.", +"id": "CreateVideoRequest", +"properties": { +"elementProperties": { +"$ref": "PageElementProperties", +"description": "The element properties for the video. The PageElementProperties.size property is optional. If you don't specify a size, a default size is chosen by the server. The PageElementProperties.transform property is optional. The transform must not have shear components. If you don't specify a transform, the video will be placed at the top left corner of the page." +}, +"id": { +"description": "The video source's unique identifier for this video. e.g. For YouTube video https://www.youtube.com/watch?v=7U3axjORYZ0, the ID is 7U3axjORYZ0. For a Google Drive video https://drive.google.com/file/d/1xCgQLFTJi5_Xl8DgW_lcUYq5e-q6Hi5Q the ID is 1xCgQLFTJi5_Xl8DgW_lcUYq5e-q6Hi5Q. To access a Google Drive video file, you might need to add a resource key to the HTTP header for a subset of old files. For more information, see [Access link-shared files using resource keys](https://developers.google.com/drive/api/v3/resource-keys).", +"type": "string" +}, +"objectId": { +"description": "A user-supplied object ID. If you specify an ID, it must be unique among all pages and page elements in the presentation. The ID must start with an alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID must not be less than 5 or greater than 50. If you don't specify an ID, a unique one is generated.", +"type": "string" +}, +"source": { +"description": "The video source.", +"enum": [ +"SOURCE_UNSPECIFIED", +"YOUTUBE", +"DRIVE" +], +"enumDescriptions": [ +"The video source is unspecified.", +"The video source is YouTube.", +"The video source is Google Drive." +], +"type": "string" +} +}, +"type": "object" +}, +"CreateVideoResponse": { +"description": "The result of creating a video.", +"id": "CreateVideoResponse", +"properties": { +"objectId": { +"description": "The object ID of the created video.", +"type": "string" +} +}, +"type": "object" +}, +"CropProperties": { +"description": "The crop properties of an object enclosed in a container. For example, an Image. The crop properties is represented by the offsets of four edges which define a crop rectangle. The offsets are measured in percentage from the corresponding edges of the object's original bounding rectangle towards inside, relative to the object's original dimensions. - If the offset is in the interval (0, 1), the corresponding edge of crop rectangle is positioned inside of the object's original bounding rectangle. - If the offset is negative or greater than 1, the corresponding edge of crop rectangle is positioned outside of the object's original bounding rectangle. - If the left edge of the crop rectangle is on the right side of its right edge, the object will be flipped horizontally. - If the top edge of the crop rectangle is below its bottom edge, the object will be flipped vertically. - If all offsets and rotation angle is 0, the object is not cropped. After cropping, the content in the crop rectangle will be stretched to fit its container.", +"id": "CropProperties", +"properties": { +"angle": { +"description": "The rotation angle of the crop window around its center, in radians. Rotation angle is applied after the offset.", +"format": "float", +"type": "number" +}, +"bottomOffset": { +"description": "The offset specifies the bottom edge of the crop rectangle that is located above the original bounding rectangle bottom edge, relative to the object's original height.", +"format": "float", +"type": "number" +}, +"leftOffset": { +"description": "The offset specifies the left edge of the crop rectangle that is located to the right of the original bounding rectangle left edge, relative to the object's original width.", +"format": "float", +"type": "number" +}, +"rightOffset": { +"description": "The offset specifies the right edge of the crop rectangle that is located to the left of the original bounding rectangle right edge, relative to the object's original width.", +"format": "float", +"type": "number" +}, +"topOffset": { +"description": "The offset specifies the top edge of the crop rectangle that is located below the original bounding rectangle top edge, relative to the object's original height.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"DeleteObjectRequest": { +"description": "Deletes an object, either pages or page elements, from the presentation.", +"id": "DeleteObjectRequest", +"properties": { +"objectId": { +"description": "The object ID of the page or page element to delete. If after a delete operation a group contains only 1 or no page elements, the group is also deleted. If a placeholder is deleted on a layout, any empty inheriting placeholders are also deleted.", +"type": "string" +} +}, +"type": "object" +}, +"DeleteParagraphBulletsRequest": { +"description": "Deletes bullets from all of the paragraphs that overlap with the given text index range. The nesting level of each paragraph will be visually preserved by adding indent to the start of the corresponding paragraph.", +"id": "DeleteParagraphBulletsRequest", +"properties": { +"cellLocation": { +"$ref": "TableCellLocation", +"description": "The optional table cell location if the text to be modified is in a table cell. If present, the object_id must refer to a table." +}, +"objectId": { +"description": "The object ID of the shape or table containing the text to delete bullets from.", +"type": "string" +}, +"textRange": { +"$ref": "Range", +"description": "The range of text to delete bullets from, based on TextElement indexes." +} +}, +"type": "object" +}, +"DeleteTableColumnRequest": { +"description": "Deletes a column from a table.", +"id": "DeleteTableColumnRequest", +"properties": { +"cellLocation": { +"$ref": "TableCellLocation", +"description": "The reference table cell location from which a column will be deleted. The column this cell spans will be deleted. If this is a merged cell, multiple columns will be deleted. If no columns remain in the table after this deletion, the whole table is deleted." +}, +"tableObjectId": { +"description": "The table to delete columns from.", +"type": "string" +} +}, +"type": "object" +}, +"DeleteTableRowRequest": { +"description": "Deletes a row from a table.", +"id": "DeleteTableRowRequest", +"properties": { +"cellLocation": { +"$ref": "TableCellLocation", +"description": "The reference table cell location from which a row will be deleted. The row this cell spans will be deleted. If this is a merged cell, multiple rows will be deleted. If no rows remain in the table after this deletion, the whole table is deleted." +}, +"tableObjectId": { +"description": "The table to delete rows from.", +"type": "string" +} +}, +"type": "object" +}, +"DeleteTextRequest": { +"description": "Deletes text from a shape or a table cell.", +"id": "DeleteTextRequest", +"properties": { +"cellLocation": { +"$ref": "TableCellLocation", +"description": "The optional table cell location if the text is to be deleted from a table cell. If present, the object_id must refer to a table." +}, +"objectId": { +"description": "The object ID of the shape or table from which the text will be deleted.", +"type": "string" +}, +"textRange": { +"$ref": "Range", +"description": "The range of text to delete, based on TextElement indexes. There is always an implicit newline character at the end of a shape's or table cell's text that cannot be deleted. `Range.Type.ALL` will use the correct bounds, but care must be taken when specifying explicit bounds for range types `FROM_START_INDEX` and `FIXED_RANGE`. For example, if the text is \"ABC\", followed by an implicit newline, then the maximum value is 2 for `text_range.start_index` and 3 for `text_range.end_index`. Deleting text that crosses a paragraph boundary may result in changes to paragraph styles and lists as the two paragraphs are merged. Ranges that include only one code unit of a surrogate pair are expanded to include both code units." +} +}, +"type": "object" +}, +"Dimension": { +"description": "A magnitude in a single direction in the specified units.", +"id": "Dimension", +"properties": { +"magnitude": { +"description": "The magnitude.", +"format": "double", +"type": "number" +}, +"unit": { +"description": "The units for magnitude.", +"enum": [ +"UNIT_UNSPECIFIED", +"EMU", +"PT" +], +"enumDescriptions": [ +"The units are unknown.", +"An English Metric Unit (EMU) is defined as 1/360,000 of a centimeter and thus there are 914,400 EMUs per inch, and 12,700 EMUs per point.", +"A point, 1/72 of an inch." +], +"type": "string" +} +}, +"type": "object" +}, +"DuplicateObjectRequest": { +"description": "Duplicates a slide or page element. When duplicating a slide, the duplicate slide will be created immediately following the specified slide. When duplicating a page element, the duplicate will be placed on the same page at the same position as the original.", +"id": "DuplicateObjectRequest", +"properties": { +"objectId": { +"description": "The ID of the object to duplicate.", +"type": "string" +}, +"objectIds": { +"additionalProperties": { +"type": "string" +}, +"description": "The object being duplicated may contain other objects, for example when duplicating a slide or a group page element. This map defines how the IDs of duplicated objects are generated: the keys are the IDs of the original objects and its values are the IDs that will be assigned to the corresponding duplicate object. The ID of the source object's duplicate may be specified in this map as well, using the same value of the `object_id` field as a key and the newly desired ID as the value. All keys must correspond to existing IDs in the presentation. All values must be unique in the presentation and must start with an alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the new ID must not be less than 5 or greater than 50. If any IDs of source objects are omitted from the map, a new random ID will be assigned. If the map is empty or unset, all duplicate objects will receive a new random ID.", +"type": "object" +} +}, +"type": "object" +}, +"DuplicateObjectResponse": { +"description": "The response of duplicating an object.", +"id": "DuplicateObjectResponse", +"properties": { +"objectId": { +"description": "The ID of the new duplicate object.", +"type": "string" +} +}, +"type": "object" +}, +"Group": { +"description": "A PageElement kind representing a joined collection of PageElements.", +"id": "Group", +"properties": { +"children": { +"description": "The collection of elements in the group. The minimum size of a group is 2.", +"items": { +"$ref": "PageElement" +}, +"type": "array" +} +}, +"type": "object" +}, +"GroupObjectsRequest": { +"description": "Groups objects to create an object group. For example, groups PageElements to create a Group on the same page as all the children.", +"id": "GroupObjectsRequest", +"properties": { +"childrenObjectIds": { +"description": "The object IDs of the objects to group. Only page elements can be grouped. There should be at least two page elements on the same page that are not already in another group. Some page elements, such as videos, tables and placeholders cannot be grouped.", +"items": { +"type": "string" +}, +"type": "array" +}, +"groupObjectId": { +"description": "A user-supplied object ID for the group to be created. If you specify an ID, it must be unique among all pages and page elements in the presentation. The ID must start with an alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID must not be less than 5 or greater than 50. If you don't specify an ID, a unique one is generated.", +"type": "string" +} +}, +"type": "object" +}, +"GroupObjectsResponse": { +"description": "The result of grouping objects.", +"id": "GroupObjectsResponse", +"properties": { +"objectId": { +"description": "The object ID of the created group.", +"type": "string" +} +}, +"type": "object" +}, +"Image": { +"description": "A PageElement kind representing an image.", +"id": "Image", +"properties": { +"contentUrl": { +"description": "An URL to an image with a default lifetime of 30 minutes. This URL is tagged with the account of the requester. Anyone with the URL effectively accesses the image as the original requester. Access to the image may be lost if the presentation's sharing settings change.", +"type": "string" +}, +"imageProperties": { +"$ref": "ImageProperties", +"description": "The properties of the image." +}, +"placeholder": { +"$ref": "Placeholder", +"description": "Placeholders are page elements that inherit from corresponding placeholders on layouts and masters. If set, the image is a placeholder image and any inherited properties can be resolved by looking at the parent placeholder identified by the Placeholder.parent_object_id field." +}, +"sourceUrl": { +"description": "The source URL is the URL used to insert the image. The source URL can be empty.", +"type": "string" +} +}, +"type": "object" +}, +"ImageProperties": { +"description": "The properties of the Image.", +"id": "ImageProperties", +"properties": { +"brightness": { +"description": "The brightness effect of the image. The value should be in the interval [-1.0, 1.0], where 0 means no effect. This property is read-only.", +"format": "float", +"type": "number" +}, +"contrast": { +"description": "The contrast effect of the image. The value should be in the interval [-1.0, 1.0], where 0 means no effect. This property is read-only.", +"format": "float", +"type": "number" +}, +"cropProperties": { +"$ref": "CropProperties", +"description": "The crop properties of the image. If not set, the image is not cropped. This property is read-only." +}, +"link": { +"$ref": "Link", +"description": "The hyperlink destination of the image. If unset, there is no link." +}, +"outline": { +"$ref": "Outline", +"description": "The outline of the image. If not set, the image has no outline." +}, +"recolor": { +"$ref": "Recolor", +"description": "The recolor effect of the image. If not set, the image is not recolored. This property is read-only." +}, +"shadow": { +"$ref": "Shadow", +"description": "The shadow of the image. If not set, the image has no shadow. This property is read-only." +}, +"transparency": { +"description": "The transparency effect of the image. The value should be in the interval [0.0, 1.0], where 0 means no effect and 1 means completely transparent. This property is read-only.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"InsertTableColumnsRequest": { +"description": "Inserts columns into a table. Other columns in the table will be resized to fit the new column.", +"id": "InsertTableColumnsRequest", +"properties": { +"cellLocation": { +"$ref": "TableCellLocation", +"description": "The reference table cell location from which columns will be inserted. A new column will be inserted to the left (or right) of the column where the reference cell is. If the reference cell is a merged cell, a new column will be inserted to the left (or right) of the merged cell." +}, +"insertRight": { +"description": "Whether to insert new columns to the right of the reference cell location. - `True`: insert to the right. - `False`: insert to the left.", +"type": "boolean" +}, +"number": { +"description": "The number of columns to be inserted. Maximum 20 per request.", +"format": "int32", +"type": "integer" +}, +"tableObjectId": { +"description": "The table to insert columns into.", +"type": "string" +} +}, +"type": "object" +}, +"InsertTableRowsRequest": { +"description": "Inserts rows into a table.", +"id": "InsertTableRowsRequest", +"properties": { +"cellLocation": { +"$ref": "TableCellLocation", +"description": "The reference table cell location from which rows will be inserted. A new row will be inserted above (or below) the row where the reference cell is. If the reference cell is a merged cell, a new row will be inserted above (or below) the merged cell." +}, +"insertBelow": { +"description": "Whether to insert new rows below the reference cell location. - `True`: insert below the cell. - `False`: insert above the cell.", +"type": "boolean" +}, +"number": { +"description": "The number of rows to be inserted. Maximum 20 per request.", +"format": "int32", +"type": "integer" +}, +"tableObjectId": { +"description": "The table to insert rows into.", +"type": "string" +} +}, +"type": "object" +}, +"InsertTextRequest": { +"description": "Inserts text into a shape or a table cell.", +"id": "InsertTextRequest", +"properties": { +"cellLocation": { +"$ref": "TableCellLocation", +"description": "The optional table cell location if the text is to be inserted into a table cell. If present, the object_id must refer to a table." +}, +"insertionIndex": { +"description": "The index where the text will be inserted, in Unicode code units, based on TextElement indexes. The index is zero-based and is computed from the start of the string. The index may be adjusted to prevent insertions inside Unicode grapheme clusters. In these cases, the text will be inserted immediately after the grapheme cluster.", +"format": "int32", +"type": "integer" +}, +"objectId": { +"description": "The object ID of the shape or table where the text will be inserted.", +"type": "string" +}, +"text": { +"description": "The text to be inserted. Inserting a newline character will implicitly create a new ParagraphMarker at that index. The paragraph style of the new paragraph will be copied from the paragraph at the current insertion index, including lists and bullets. Text styles for inserted text will be determined automatically, generally preserving the styling of neighboring text. In most cases, the text will be added to the TextRun that exists at the insertion index. Some control characters (U+0000-U+0008, U+000C-U+001F) and characters from the Unicode Basic Multilingual Plane Private Use Area (U+E000-U+F8FF) will be stripped out of the inserted text.", +"type": "string" +} +}, +"type": "object" +}, +"LayoutPlaceholderIdMapping": { +"description": "The user-specified ID mapping for a placeholder that will be created on a slide from a specified layout.", +"id": "LayoutPlaceholderIdMapping", +"properties": { +"layoutPlaceholder": { +"$ref": "Placeholder", +"description": "The placeholder on a layout that will be applied to a slide. Only type and index are needed. For example, a predefined `TITLE_AND_BODY` layout may usually have a TITLE placeholder with index 0 and a BODY placeholder with index 0." +}, +"layoutPlaceholderObjectId": { +"description": "The object ID of the placeholder on a layout that will be applied to a slide.", +"type": "string" +}, +"objectId": { +"description": "A user-supplied object ID for the placeholder identified above that to be created onto a slide. If you specify an ID, it must be unique among all pages and page elements in the presentation. The ID must start with an alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID must not be less than 5 or greater than 50. If you don't specify an ID, a unique one is generated.", +"type": "string" +} +}, +"type": "object" +}, +"LayoutProperties": { +"description": "The properties of Page are only relevant for pages with page_type LAYOUT.", +"id": "LayoutProperties", +"properties": { +"displayName": { +"description": "The human-readable name of the layout.", +"type": "string" +}, +"masterObjectId": { +"description": "The object ID of the master that this layout is based on.", +"type": "string" +}, +"name": { +"description": "The name of the layout.", +"type": "string" +} +}, +"type": "object" +}, +"LayoutReference": { +"description": "Slide layout reference. This may reference either: - A predefined layout - One of the layouts in the presentation.", +"id": "LayoutReference", +"properties": { +"layoutId": { +"description": "Layout ID: the object ID of one of the layouts in the presentation.", +"type": "string" +}, +"predefinedLayout": { +"description": "Predefined layout.", +"enum": [ +"PREDEFINED_LAYOUT_UNSPECIFIED", +"BLANK", +"CAPTION_ONLY", +"TITLE", +"TITLE_AND_BODY", +"TITLE_AND_TWO_COLUMNS", +"TITLE_ONLY", +"SECTION_HEADER", +"SECTION_TITLE_AND_DESCRIPTION", +"ONE_COLUMN_TEXT", +"MAIN_POINT", +"BIG_NUMBER" +], +"enumDescriptions": [ +"Unspecified layout.", +"Blank layout, with no placeholders.", +"Layout with a caption at the bottom.", +"Layout with a title and a subtitle.", +"Layout with a title and body.", +"Layout with a title and two columns.", +"Layout with only a title.", +"Layout with a section title.", +"Layout with a title and subtitle on one side and description on the other.", +"Layout with one title and one body, arranged in a single column.", +"Layout with a main point.", +"Layout with a big number heading." +], +"type": "string" +} +}, +"type": "object" +}, +"Line": { +"description": "A PageElement kind representing a non-connector line, straight connector, curved connector, or bent connector.", +"id": "Line", +"properties": { +"lineCategory": { +"description": "The category of the line. It matches the `category` specified in CreateLineRequest, and can be updated with UpdateLineCategoryRequest.", +"enum": [ +"LINE_CATEGORY_UNSPECIFIED", +"STRAIGHT", +"BENT", +"CURVED" +], +"enumDescriptions": [ +"Unspecified line category.", +"Straight connectors, including straight connector 1.", +"Bent connectors, including bent connector 2 to 5.", +"Curved connectors, including curved connector 2 to 5." +], +"type": "string" +}, +"lineProperties": { +"$ref": "LineProperties", +"description": "The properties of the line." +}, +"lineType": { +"description": "The type of the line.", +"enum": [ +"TYPE_UNSPECIFIED", +"STRAIGHT_CONNECTOR_1", +"BENT_CONNECTOR_2", +"BENT_CONNECTOR_3", +"BENT_CONNECTOR_4", +"BENT_CONNECTOR_5", +"CURVED_CONNECTOR_2", +"CURVED_CONNECTOR_3", +"CURVED_CONNECTOR_4", +"CURVED_CONNECTOR_5", +"STRAIGHT_LINE" +], +"enumDescriptions": [ +"An unspecified line type.", +"Straight connector 1 form. Corresponds to ECMA-376 ST_ShapeType 'straightConnector1'.", +"Bent connector 2 form. Corresponds to ECMA-376 ST_ShapeType 'bentConnector2'.", +"Bent connector 3 form. Corresponds to ECMA-376 ST_ShapeType 'bentConnector3'.", +"Bent connector 4 form. Corresponds to ECMA-376 ST_ShapeType 'bentConnector4'.", +"Bent connector 5 form. Corresponds to ECMA-376 ST_ShapeType 'bentConnector5'.", +"Curved connector 2 form. Corresponds to ECMA-376 ST_ShapeType 'curvedConnector2'.", +"Curved connector 3 form. Corresponds to ECMA-376 ST_ShapeType 'curvedConnector3'.", +"Curved connector 4 form. Corresponds to ECMA-376 ST_ShapeType 'curvedConnector4'.", +"Curved connector 5 form. Corresponds to ECMA-376 ST_ShapeType 'curvedConnector5'.", +"Straight line. Corresponds to ECMA-376 ST_ShapeType 'line'. This line type is not a connector." +], +"type": "string" +} +}, +"type": "object" +}, +"LineConnection": { +"description": "The properties for one end of a Line connection.", +"id": "LineConnection", +"properties": { +"connectedObjectId": { +"description": "The object ID of the connected page element. Some page elements, such as groups, tables, and lines do not have connection sites and therefore cannot be connected to a connector line.", +"type": "string" +}, +"connectionSiteIndex": { +"description": "The index of the connection site on the connected page element. In most cases, it corresponds to the predefined connection site index from the ECMA-376 standard. More information on those connection sites can be found in the description of the \"cnx\" attribute in section 20.1.9.9 and Annex H. \"Predefined DrawingML Shape and Text Geometries\" of \"Office Open XML File Formats-Fundamentals and Markup Language Reference\", part 1 of [ECMA-376 5th edition] (http://www.ecma-international.org/publications/standards/Ecma-376.htm). The position of each connection site can also be viewed from Slides editor.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"LineFill": { +"description": "The fill of the line.", +"id": "LineFill", +"properties": { +"solidFill": { +"$ref": "SolidFill", +"description": "Solid color fill." +} +}, +"type": "object" +}, +"LineProperties": { +"description": "The properties of the Line. When unset, these fields default to values that match the appearance of new lines created in the Slides editor.", +"id": "LineProperties", +"properties": { +"dashStyle": { +"description": "The dash style of the line.", +"enum": [ +"DASH_STYLE_UNSPECIFIED", +"SOLID", +"DOT", +"DASH", +"DASH_DOT", +"LONG_DASH", +"LONG_DASH_DOT" +], +"enumDescriptions": [ +"Unspecified dash style.", +"Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'solid'. This is the default dash style.", +"Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'dot'.", +"Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'dash'.", +"Alternating dashes and dots. Corresponds to ECMA-376 ST_PresetLineDashVal value 'dashDot'.", +"Line with large dashes. Corresponds to ECMA-376 ST_PresetLineDashVal value 'lgDash'.", +"Alternating large dashes and dots. Corresponds to ECMA-376 ST_PresetLineDashVal value 'lgDashDot'." +], +"type": "string" +}, +"endArrow": { +"description": "The style of the arrow at the end of the line.", +"enum": [ +"ARROW_STYLE_UNSPECIFIED", +"NONE", +"STEALTH_ARROW", +"FILL_ARROW", +"FILL_CIRCLE", +"FILL_SQUARE", +"FILL_DIAMOND", +"OPEN_ARROW", +"OPEN_CIRCLE", +"OPEN_SQUARE", +"OPEN_DIAMOND" +], +"enumDescriptions": [ +"An unspecified arrow style.", +"No arrow.", +"Arrow with notched back. Corresponds to ECMA-376 ST_LineEndType value 'stealth'.", +"Filled arrow. Corresponds to ECMA-376 ST_LineEndType value 'triangle'.", +"Filled circle. Corresponds to ECMA-376 ST_LineEndType value 'oval'.", +"Filled square.", +"Filled diamond. Corresponds to ECMA-376 ST_LineEndType value 'diamond'.", +"Hollow arrow.", +"Hollow circle.", +"Hollow square.", +"Hollow diamond." +], +"type": "string" +}, +"endConnection": { +"$ref": "LineConnection", +"description": "The connection at the end of the line. If unset, there is no connection. Only lines with a Type indicating it is a \"connector\" can have an `end_connection`." +}, +"lineFill": { +"$ref": "LineFill", +"description": "The fill of the line. The default line fill matches the defaults for new lines created in the Slides editor." +}, +"link": { +"$ref": "Link", +"description": "The hyperlink destination of the line. If unset, there is no link." +}, +"startArrow": { +"description": "The style of the arrow at the beginning of the line.", +"enum": [ +"ARROW_STYLE_UNSPECIFIED", +"NONE", +"STEALTH_ARROW", +"FILL_ARROW", +"FILL_CIRCLE", +"FILL_SQUARE", +"FILL_DIAMOND", +"OPEN_ARROW", +"OPEN_CIRCLE", +"OPEN_SQUARE", +"OPEN_DIAMOND" +], +"enumDescriptions": [ +"An unspecified arrow style.", +"No arrow.", +"Arrow with notched back. Corresponds to ECMA-376 ST_LineEndType value 'stealth'.", +"Filled arrow. Corresponds to ECMA-376 ST_LineEndType value 'triangle'.", +"Filled circle. Corresponds to ECMA-376 ST_LineEndType value 'oval'.", +"Filled square.", +"Filled diamond. Corresponds to ECMA-376 ST_LineEndType value 'diamond'.", +"Hollow arrow.", +"Hollow circle.", +"Hollow square.", +"Hollow diamond." +], +"type": "string" +}, +"startConnection": { +"$ref": "LineConnection", +"description": "The connection at the beginning of the line. If unset, there is no connection. Only lines with a Type indicating it is a \"connector\" can have a `start_connection`." +}, +"weight": { +"$ref": "Dimension", +"description": "The thickness of the line." +} +}, +"type": "object" +}, +"Link": { +"description": "A hypertext link.", +"id": "Link", +"properties": { +"pageObjectId": { +"description": "If set, indicates this is a link to the specific page in this presentation with this ID. A page with this ID may not exist.", +"type": "string" +}, +"relativeLink": { +"description": "If set, indicates this is a link to a slide in this presentation, addressed by its position.", +"enum": [ +"RELATIVE_SLIDE_LINK_UNSPECIFIED", +"NEXT_SLIDE", +"PREVIOUS_SLIDE", +"FIRST_SLIDE", +"LAST_SLIDE" +], +"enumDescriptions": [ +"An unspecified relative slide link.", +"A link to the next slide.", +"A link to the previous slide.", +"A link to the first slide in the presentation.", +"A link to the last slide in the presentation." +], +"type": "string" +}, +"slideIndex": { +"description": "If set, indicates this is a link to the slide at this zero-based index in the presentation. There may not be a slide at this index.", +"format": "int32", +"type": "integer" +}, +"url": { +"description": "If set, indicates this is a link to the external web page at this URL.", +"type": "string" +} +}, +"type": "object" +}, +"List": { +"description": "A List describes the look and feel of bullets belonging to paragraphs associated with a list. A paragraph that is part of a list has an implicit reference to that list's ID.", +"id": "List", +"properties": { +"listId": { +"description": "The ID of the list.", +"type": "string" +}, +"nestingLevel": { +"additionalProperties": { +"$ref": "NestingLevel" +}, +"description": "A map of nesting levels to the properties of bullets at the associated level. A list has at most nine levels of nesting, so the possible values for the keys of this map are 0 through 8, inclusive.", +"type": "object" +} +}, +"type": "object" +}, +"MasterProperties": { +"description": "The properties of Page that are only relevant for pages with page_type MASTER.", +"id": "MasterProperties", +"properties": { +"displayName": { +"description": "The human-readable name of the master.", +"type": "string" +} +}, +"type": "object" +}, +"MergeTableCellsRequest": { +"description": "Merges cells in a Table.", +"id": "MergeTableCellsRequest", +"properties": { +"objectId": { +"description": "The object ID of the table.", +"type": "string" +}, +"tableRange": { +"$ref": "TableRange", +"description": "The table range specifying which cells of the table to merge. Any text in the cells being merged will be concatenated and stored in the upper-left (\"head\") cell of the range. If the range is non-rectangular (which can occur in some cases where the range covers cells that are already merged), a 400 bad request error is returned." +} +}, +"type": "object" +}, +"NestingLevel": { +"description": "Contains properties describing the look and feel of a list bullet at a given level of nesting.", +"id": "NestingLevel", +"properties": { +"bulletStyle": { +"$ref": "TextStyle", +"description": "The style of a bullet at this level of nesting." +} +}, +"type": "object" +}, +"NotesProperties": { +"description": "The properties of Page that are only relevant for pages with page_type NOTES.", +"id": "NotesProperties", +"properties": { +"speakerNotesObjectId": { +"description": "The object ID of the shape on this notes page that contains the speaker notes for the corresponding slide. The actual shape may not always exist on the notes page. Inserting text using this object ID will automatically create the shape. In this case, the actual shape may have different object ID. The `GetPresentation` or `GetPage` action will always return the latest object ID.", +"type": "string" +} +}, +"type": "object" +}, +"OpaqueColor": { +"description": "A themeable solid color value.", +"id": "OpaqueColor", +"properties": { +"rgbColor": { +"$ref": "RgbColor", +"description": "An opaque RGB color." +}, +"themeColor": { +"description": "An opaque theme color.", +"enum": [ +"THEME_COLOR_TYPE_UNSPECIFIED", +"DARK1", +"LIGHT1", +"DARK2", +"LIGHT2", +"ACCENT1", +"ACCENT2", +"ACCENT3", +"ACCENT4", +"ACCENT5", +"ACCENT6", +"HYPERLINK", +"FOLLOWED_HYPERLINK", +"TEXT1", +"BACKGROUND1", +"TEXT2", +"BACKGROUND2" +], +"enumDescriptions": [ +"Unspecified theme color. This value should not be used.", +"Represents the first dark color.", +"Represents the first light color.", +"Represents the second dark color.", +"Represents the second light color.", +"Represents the first accent color.", +"Represents the second accent color.", +"Represents the third accent color.", +"Represents the fourth accent color.", +"Represents the fifth accent color.", +"Represents the sixth accent color.", +"Represents the color to use for hyperlinks.", +"Represents the color to use for visited hyperlinks.", +"Represents the first text color.", +"Represents the first background color.", +"Represents the second text color.", +"Represents the second background color." +], +"type": "string" +} +}, +"type": "object" +}, +"OptionalColor": { +"description": "A color that can either be fully opaque or fully transparent.", +"id": "OptionalColor", +"properties": { +"opaqueColor": { +"$ref": "OpaqueColor", +"description": "If set, this will be used as an opaque color. If unset, this represents a transparent color." +} +}, +"type": "object" +}, +"Outline": { +"description": "The outline of a PageElement. If these fields are unset, they may be inherited from a parent placeholder if it exists. If there is no parent, the fields will default to the value used for new page elements created in the Slides editor, which may depend on the page element kind.", +"id": "Outline", +"properties": { +"dashStyle": { +"description": "The dash style of the outline.", +"enum": [ +"DASH_STYLE_UNSPECIFIED", +"SOLID", +"DOT", +"DASH", +"DASH_DOT", +"LONG_DASH", +"LONG_DASH_DOT" +], +"enumDescriptions": [ +"Unspecified dash style.", +"Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'solid'. This is the default dash style.", +"Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'dot'.", +"Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'dash'.", +"Alternating dashes and dots. Corresponds to ECMA-376 ST_PresetLineDashVal value 'dashDot'.", +"Line with large dashes. Corresponds to ECMA-376 ST_PresetLineDashVal value 'lgDash'.", +"Alternating large dashes and dots. Corresponds to ECMA-376 ST_PresetLineDashVal value 'lgDashDot'." +], +"type": "string" +}, +"outlineFill": { +"$ref": "OutlineFill", +"description": "The fill of the outline." +}, +"propertyState": { +"description": "The outline property state. Updating the outline on a page element will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no outline on a page element, set this field to `NOT_RENDERED`. In this case, any other outline fields set in the same request will be ignored.", +"enum": [ +"RENDERED", +"NOT_RENDERED", +"INHERIT" +], +"enumDescriptions": [ +"If a property's state is RENDERED, then the element has the corresponding property when rendered on a page. If the element is a placeholder shape as determined by the placeholder field, and it inherits from a placeholder shape, the corresponding field may be unset, meaning that the property value is inherited from a parent placeholder. If the element does not inherit, then the field will contain the rendered value. This is the default value.", +"If a property's state is NOT_RENDERED, then the element does not have the corresponding property when rendered on a page. However, the field may still be set so it can be inherited by child shapes. To remove a property from a rendered element, set its property_state to NOT_RENDERED.", +"If a property's state is INHERIT, then the property state uses the value of corresponding `property_state` field on the parent shape. Elements that do not inherit will never have an INHERIT property state." +], +"type": "string" +}, +"weight": { +"$ref": "Dimension", +"description": "The thickness of the outline." +} +}, +"type": "object" +}, +"OutlineFill": { +"description": "The fill of the outline.", +"id": "OutlineFill", +"properties": { +"solidFill": { +"$ref": "SolidFill", +"description": "Solid color fill." +} +}, +"type": "object" +}, +"Page": { +"description": "A page in a presentation.", +"id": "Page", +"properties": { +"layoutProperties": { +"$ref": "LayoutProperties", +"description": "Layout specific properties. Only set if page_type = LAYOUT." +}, +"masterProperties": { +"$ref": "MasterProperties", +"description": "Master specific properties. Only set if page_type = MASTER." +}, +"notesProperties": { +"$ref": "NotesProperties", +"description": "Notes specific properties. Only set if page_type = NOTES." +}, +"objectId": { +"description": "The object ID for this page. Object IDs used by Page and PageElement share the same namespace.", +"type": "string" +}, +"pageElements": { +"description": "The page elements rendered on the page.", +"items": { +"$ref": "PageElement" +}, +"type": "array" +}, +"pageProperties": { +"$ref": "PageProperties", +"description": "The properties of the page." +}, +"pageType": { +"description": "The type of the page.", +"enum": [ +"SLIDE", +"MASTER", +"LAYOUT", +"NOTES", +"NOTES_MASTER" +], +"enumDescriptions": [ +"A slide page.", +"A master slide page.", +"A layout page.", +"A notes page.", +"A notes master page." +], +"type": "string" +}, +"revisionId": { +"description": "Output only. The revision ID of the presentation. Can be used in update requests to assert the presentation revision hasn't changed since the last read operation. Only populated if the user has edit access to the presentation. The revision ID is not a sequential number but an opaque string. The format of the revision ID might change over time. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated. However, a changed ID can also be due to internal factors such as ID format changes.", +"type": "string" +}, +"slideProperties": { +"$ref": "SlideProperties", +"description": "Slide specific properties. Only set if page_type = SLIDE." +} +}, +"type": "object" +}, +"PageBackgroundFill": { +"description": "The page background fill.", +"id": "PageBackgroundFill", +"properties": { +"propertyState": { +"description": "The background fill property state. Updating the fill on a page will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no fill on a page, set this field to `NOT_RENDERED`. In this case, any other fill fields set in the same request will be ignored.", +"enum": [ +"RENDERED", +"NOT_RENDERED", +"INHERIT" +], +"enumDescriptions": [ +"If a property's state is RENDERED, then the element has the corresponding property when rendered on a page. If the element is a placeholder shape as determined by the placeholder field, and it inherits from a placeholder shape, the corresponding field may be unset, meaning that the property value is inherited from a parent placeholder. If the element does not inherit, then the field will contain the rendered value. This is the default value.", +"If a property's state is NOT_RENDERED, then the element does not have the corresponding property when rendered on a page. However, the field may still be set so it can be inherited by child shapes. To remove a property from a rendered element, set its property_state to NOT_RENDERED.", +"If a property's state is INHERIT, then the property state uses the value of corresponding `property_state` field on the parent shape. Elements that do not inherit will never have an INHERIT property state." +], +"type": "string" +}, +"solidFill": { +"$ref": "SolidFill", +"description": "Solid color fill." +}, +"stretchedPictureFill": { +"$ref": "StretchedPictureFill", +"description": "Stretched picture fill." +} +}, +"type": "object" +}, +"PageElement": { +"description": "A visual element rendered on a page.", +"id": "PageElement", +"properties": { +"description": { +"description": "The description of the page element. Combined with title to display alt text. The field is not supported for Group elements.", +"type": "string" +}, +"elementGroup": { +"$ref": "Group", +"description": "A collection of page elements joined as a single unit." +}, +"image": { +"$ref": "Image", +"description": "An image page element." +}, +"line": { +"$ref": "Line", +"description": "A line page element." +}, +"objectId": { +"description": "The object ID for this page element. Object IDs used by google.apps.slides.v1.Page and google.apps.slides.v1.PageElement share the same namespace.", +"type": "string" +}, +"shape": { +"$ref": "Shape", +"description": "A generic shape." +}, +"sheetsChart": { +"$ref": "SheetsChart", +"description": "A linked chart embedded from Google Sheets. Unlinked charts are represented as images." +}, +"size": { +"$ref": "Size", +"description": "The size of the page element." +}, +"speakerSpotlight": { +"$ref": "SpeakerSpotlight", +"description": "A Speaker Spotlight." +}, +"table": { +"$ref": "Table", +"description": "A table page element." +}, +"title": { +"description": "The title of the page element. Combined with description to display alt text. The field is not supported for Group elements.", +"type": "string" +}, +"transform": { +"$ref": "AffineTransform", +"description": "The transform of the page element. The visual appearance of the page element is determined by its absolute transform. To compute the absolute transform, preconcatenate a page element's transform with the transforms of all of its parent groups. If the page element is not in a group, its absolute transform is the same as the value in this field. The initial transform for the newly created Group is always the identity transform." +}, +"video": { +"$ref": "Video", +"description": "A video page element." +}, +"wordArt": { +"$ref": "WordArt", +"description": "A word art page element." +} +}, +"type": "object" +}, +"PageElementProperties": { +"description": "Common properties for a page element. Note: When you initially create a PageElement, the API may modify the values of both `size` and `transform`, but the visual size will be unchanged.", +"id": "PageElementProperties", +"properties": { +"pageObjectId": { +"description": "The object ID of the page where the element is located.", +"type": "string" +}, +"size": { +"$ref": "Size", +"description": "The size of the element." +}, +"transform": { +"$ref": "AffineTransform", +"description": "The transform for the element." +} +}, +"type": "object" +}, +"PageProperties": { +"description": "The properties of the Page. The page will inherit properties from the parent page. Depending on the page type the hierarchy is defined in either SlideProperties or LayoutProperties.", +"id": "PageProperties", +"properties": { +"colorScheme": { +"$ref": "ColorScheme", +"description": "The color scheme of the page. If unset, the color scheme is inherited from a parent page. If the page has no parent, the color scheme uses a default Slides color scheme, matching the defaults in the Slides editor. Only the concrete colors of the first 12 ThemeColorTypes are editable. In addition, only the color scheme on `Master` pages can be updated. To update the field, a color scheme containing mappings from all the first 12 ThemeColorTypes to their concrete colors must be provided. Colors for the remaining ThemeColorTypes will be ignored." +}, +"pageBackgroundFill": { +"$ref": "PageBackgroundFill", +"description": "The background fill of the page. If unset, the background fill is inherited from a parent page if it exists. If the page has no parent, then the background fill defaults to the corresponding fill in the Slides editor." +} +}, +"type": "object" +}, +"ParagraphMarker": { +"description": "A TextElement kind that represents the beginning of a new paragraph.", +"id": "ParagraphMarker", +"properties": { +"bullet": { +"$ref": "Bullet", +"description": "The bullet for this paragraph. If not present, the paragraph does not belong to a list." +}, +"style": { +"$ref": "ParagraphStyle", +"description": "The paragraph's style" +} +}, +"type": "object" +}, +"ParagraphStyle": { +"description": "Styles that apply to a whole paragraph. If this text is contained in a shape with a parent placeholder, then these paragraph styles may be inherited from the parent. Which paragraph styles are inherited depend on the nesting level of lists: * A paragraph not in a list will inherit its paragraph style from the paragraph at the 0 nesting level of the list inside the parent placeholder. * A paragraph in a list will inherit its paragraph style from the paragraph at its corresponding nesting level of the list inside the parent placeholder. Inherited paragraph styles are represented as unset fields in this message.", +"id": "ParagraphStyle", +"properties": { +"alignment": { +"description": "The text alignment for this paragraph.", +"enum": [ +"ALIGNMENT_UNSPECIFIED", +"START", +"CENTER", +"END", +"JUSTIFIED" +], +"enumDescriptions": [ +"The paragraph alignment is inherited from the parent.", +"The paragraph is aligned to the start of the line. Left-aligned for LTR text, right-aligned otherwise.", +"The paragraph is centered.", +"The paragraph is aligned to the end of the line. Right-aligned for LTR text, left-aligned otherwise.", +"The paragraph is justified." +], +"type": "string" +}, +"direction": { +"description": "The text direction of this paragraph. If unset, the value defaults to LEFT_TO_RIGHT since text direction is not inherited.", +"enum": [ +"TEXT_DIRECTION_UNSPECIFIED", +"LEFT_TO_RIGHT", +"RIGHT_TO_LEFT" +], +"enumDescriptions": [ +"The text direction is inherited from the parent.", +"The text goes from left to right.", +"The text goes from right to left." +], +"type": "string" +}, +"indentEnd": { +"$ref": "Dimension", +"description": "The amount indentation for the paragraph on the side that corresponds to the end of the text, based on the current text direction. If unset, the value is inherited from the parent." +}, +"indentFirstLine": { +"$ref": "Dimension", +"description": "The amount of indentation for the start of the first line of the paragraph. If unset, the value is inherited from the parent." +}, +"indentStart": { +"$ref": "Dimension", +"description": "The amount indentation for the paragraph on the side that corresponds to the start of the text, based on the current text direction. If unset, the value is inherited from the parent." +}, +"lineSpacing": { +"description": "The amount of space between lines, as a percentage of normal, where normal is represented as 100.0. If unset, the value is inherited from the parent.", +"format": "float", +"type": "number" +}, +"spaceAbove": { +"$ref": "Dimension", +"description": "The amount of extra space above the paragraph. If unset, the value is inherited from the parent." +}, +"spaceBelow": { +"$ref": "Dimension", +"description": "The amount of extra space below the paragraph. If unset, the value is inherited from the parent." +}, +"spacingMode": { +"description": "The spacing mode for the paragraph.", +"enum": [ +"SPACING_MODE_UNSPECIFIED", +"NEVER_COLLAPSE", +"COLLAPSE_LISTS" +], +"enumDescriptions": [ +"The spacing mode is inherited from the parent.", +"Paragraph spacing is always rendered.", +"Paragraph spacing is skipped between list elements." +], +"type": "string" +} +}, +"type": "object" +}, +"Placeholder": { +"description": "The placeholder information that uniquely identifies a placeholder shape.", +"id": "Placeholder", +"properties": { +"index": { +"description": "The index of the placeholder. If the same placeholder types are present in the same page, they would have different index values.", +"format": "int32", +"type": "integer" +}, +"parentObjectId": { +"description": "The object ID of this shape's parent placeholder. If unset, the parent placeholder shape does not exist, so the shape does not inherit properties from any other shape.", +"type": "string" +}, +"type": { +"description": "The type of the placeholder.", +"enum": [ +"NONE", +"BODY", +"CHART", +"CLIP_ART", +"CENTERED_TITLE", +"DIAGRAM", +"DATE_AND_TIME", +"FOOTER", +"HEADER", +"MEDIA", +"OBJECT", +"PICTURE", +"SLIDE_NUMBER", +"SUBTITLE", +"TABLE", +"TITLE", +"SLIDE_IMAGE" +], +"enumDescriptions": [ +"Default value, signifies it is not a placeholder.", +"Body text.", +"Chart or graph.", +"Clip art image.", +"Title centered.", +"Diagram.", +"Date and time.", +"Footer text.", +"Header text.", +"Multimedia.", +"Any content type.", +"Picture.", +"Number of a slide.", +"Subtitle.", +"Table.", +"Slide title.", +"Slide image." +], +"type": "string" +} +}, +"type": "object" +}, +"Presentation": { +"description": "A Google Slides presentation.", +"id": "Presentation", +"properties": { +"layouts": { +"description": "The layouts in the presentation. A layout is a template that determines how content is arranged and styled on the slides that inherit from that layout.", +"items": { +"$ref": "Page" +}, +"type": "array" +}, +"locale": { +"description": "The locale of the presentation, as an IETF BCP 47 language tag.", +"type": "string" +}, +"masters": { +"description": "The slide masters in the presentation. A slide master contains all common page elements and the common properties for a set of layouts. They serve three purposes: - Placeholder shapes on a master contain the default text styles and shape properties of all placeholder shapes on pages that use that master. - The master page properties define the common page properties inherited by its layouts. - Any other shapes on the master slide appear on all slides using that master, regardless of their layout.", +"items": { +"$ref": "Page" +}, +"type": "array" +}, +"notesMaster": { +"$ref": "Page", +"description": "The notes master in the presentation. It serves three purposes: - Placeholder shapes on a notes master contain the default text styles and shape properties of all placeholder shapes on notes pages. Specifically, a `SLIDE_IMAGE` placeholder shape contains the slide thumbnail, and a `BODY` placeholder shape contains the speaker notes. - The notes master page properties define the common page properties inherited by all notes pages. - Any other shapes on the notes master appear on all notes pages. The notes master is read-only." +}, +"pageSize": { +"$ref": "Size", +"description": "The size of pages in the presentation." +}, +"presentationId": { +"description": "The ID of the presentation.", +"type": "string" +}, +"revisionId": { +"description": "Output only. The revision ID of the presentation. Can be used in update requests to assert the presentation revision hasn't changed since the last read operation. Only populated if the user has edit access to the presentation. The revision ID is not a sequential number but a nebulous string. The format of the revision ID may change over time, so it should be treated opaquely. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated. However, a changed ID can also be due to internal factors such as ID format changes.", +"type": "string" +}, +"slides": { +"description": "The slides in the presentation. A slide inherits properties from a slide layout.", +"items": { +"$ref": "Page" +}, +"type": "array" +}, +"title": { +"description": "The title of the presentation.", +"type": "string" +} +}, +"type": "object" +}, +"Range": { +"description": "Specifies a contiguous range of an indexed collection, such as characters in text.", +"id": "Range", +"properties": { +"endIndex": { +"description": "The optional zero-based index of the end of the collection. Required for `FIXED_RANGE` ranges.", +"format": "int32", +"type": "integer" +}, +"startIndex": { +"description": "The optional zero-based index of the beginning of the collection. Required for `FIXED_RANGE` and `FROM_START_INDEX` ranges.", +"format": "int32", +"type": "integer" +}, +"type": { +"description": "The type of range.", +"enum": [ +"RANGE_TYPE_UNSPECIFIED", +"FIXED_RANGE", +"FROM_START_INDEX", +"ALL" +], +"enumDescriptions": [ +"Unspecified range type. This value must not be used.", +"A fixed range. Both the `start_index` and `end_index` must be specified.", +"Starts the range at `start_index` and continues until the end of the collection. The `end_index` must not be specified.", +"Sets the range to be the whole length of the collection. Both the `start_index` and the `end_index` must not be specified." +], +"type": "string" +} +}, +"type": "object" +}, +"Recolor": { +"description": "A recolor effect applied on an image.", +"id": "Recolor", +"properties": { +"name": { +"description": "The name of the recolor effect. The name is determined from the `recolor_stops` by matching the gradient against the colors in the page's current color scheme. This property is read-only.", +"enum": [ +"NONE", +"LIGHT1", +"LIGHT2", +"LIGHT3", +"LIGHT4", +"LIGHT5", +"LIGHT6", +"LIGHT7", +"LIGHT8", +"LIGHT9", +"LIGHT10", +"DARK1", +"DARK2", +"DARK3", +"DARK4", +"DARK5", +"DARK6", +"DARK7", +"DARK8", +"DARK9", +"DARK10", +"GRAYSCALE", +"NEGATIVE", +"SEPIA", +"CUSTOM" +], +"enumDescriptions": [ +"No recolor effect. The default value.", +"A recolor effect that lightens the image using the page's first available color from its color scheme.", +"A recolor effect that lightens the image using the page's second available color from its color scheme.", +"A recolor effect that lightens the image using the page's third available color from its color scheme.", +"A recolor effect that lightens the image using the page's forth available color from its color scheme.", +"A recolor effect that lightens the image using the page's fifth available color from its color scheme.", +"A recolor effect that lightens the image using the page's sixth available color from its color scheme.", +"A recolor effect that lightens the image using the page's seventh available color from its color scheme.", +"A recolor effect that lightens the image using the page's eighth available color from its color scheme.", +"A recolor effect that lightens the image using the page's ninth available color from its color scheme.", +"A recolor effect that lightens the image using the page's tenth available color from its color scheme.", +"A recolor effect that darkens the image using the page's first available color from its color scheme.", +"A recolor effect that darkens the image using the page's second available color from its color scheme.", +"A recolor effect that darkens the image using the page's third available color from its color scheme.", +"A recolor effect that darkens the image using the page's fourth available color from its color scheme.", +"A recolor effect that darkens the image using the page's fifth available color from its color scheme.", +"A recolor effect that darkens the image using the page's sixth available color from its color scheme.", +"A recolor effect that darkens the image using the page's seventh available color from its color scheme.", +"A recolor effect that darkens the image using the page's eighth available color from its color scheme.", +"A recolor effect that darkens the image using the page's ninth available color from its color scheme.", +"A recolor effect that darkens the image using the page's tenth available color from its color scheme.", +"A recolor effect that recolors the image to grayscale.", +"A recolor effect that recolors the image to negative grayscale.", +"A recolor effect that recolors the image using the sepia color.", +"Custom recolor effect. Refer to `recolor_stops` for the concrete gradient." +], +"type": "string" +}, +"recolorStops": { +"description": "The recolor effect is represented by a gradient, which is a list of color stops. The colors in the gradient will replace the corresponding colors at the same position in the color palette and apply to the image. This property is read-only.", +"items": { +"$ref": "ColorStop" +}, +"type": "array" +} +}, +"type": "object" +}, +"RefreshSheetsChartRequest": { +"description": "Refreshes an embedded Google Sheets chart by replacing it with the latest version of the chart from Google Sheets. NOTE: Refreshing charts requires at least one of the spreadsheets.readonly, spreadsheets, drive.readonly, or drive OAuth scopes.", +"id": "RefreshSheetsChartRequest", +"properties": { +"objectId": { +"description": "The object ID of the chart to refresh.", +"type": "string" +} +}, +"type": "object" +}, +"ReplaceAllShapesWithImageRequest": { +"description": "Replaces all shapes that match the given criteria with the provided image. The images replacing the shapes are rectangular after being inserted into the presentation and do not take on the forms of the shapes.", +"id": "ReplaceAllShapesWithImageRequest", +"properties": { +"containsText": { +"$ref": "SubstringMatchCriteria", +"description": "If set, this request will replace all of the shapes that contain the given text." +}, +"imageReplaceMethod": { +"description": "The image replace method. If you specify both a `replace_method` and an `image_replace_method`, the `image_replace_method` takes precedence. If you do not specify a value for `image_replace_method`, but specify a value for `replace_method`, then the specified `replace_method` value is used. If you do not specify either, then CENTER_INSIDE is used.", +"enum": [ +"IMAGE_REPLACE_METHOD_UNSPECIFIED", +"CENTER_INSIDE", +"CENTER_CROP" +], +"enumDescriptions": [ +"Unspecified image replace method. This value must not be used.", +"Scales and centers the image to fit within the bounds of the original shape and maintains the image's aspect ratio. The rendered size of the image may be smaller than the size of the shape. This is the default method when one is not specified.", +"Scales and centers the image to fill the bounds of the original shape. The image may be cropped in order to fill the shape. The rendered size of the image will be the same as the original shape." +], +"type": "string" +}, +"imageUrl": { +"description": "The image URL. The image is fetched once at insertion time and a copy is stored for display inside the presentation. Images must be less than 50MB in size, cannot exceed 25 megapixels, and must be in one of PNG, JPEG, or GIF format. The provided URL can be at most 2 kB in length. The URL itself is saved with the image, and exposed via the Image.source_url field.", +"type": "string" +}, +"pageObjectIds": { +"description": "If non-empty, limits the matches to page elements only on the given pages. Returns a 400 bad request error if given the page object ID of a notes page or a notes master, or if a page with that object ID doesn't exist in the presentation.", +"items": { +"type": "string" +}, +"type": "array" +}, +"replaceMethod": { +"deprecated": true, +"description": "The replace method. *Deprecated*: use `image_replace_method` instead. If you specify both a `replace_method` and an `image_replace_method`, the `image_replace_method` takes precedence.", +"enum": [ +"CENTER_INSIDE", +"CENTER_CROP" +], +"enumDescriptions": [ +"Scales and centers the image to fit within the bounds of the original shape and maintains the image's aspect ratio. The rendered size of the image may be smaller than the size of the shape. This is the default method when one is not specified.", +"Scales and centers the image to fill the bounds of the original shape. The image may be cropped in order to fill the shape. The rendered size of the image will be the same as that of the original shape." +], +"type": "string" +} +}, +"type": "object" +}, +"ReplaceAllShapesWithImageResponse": { +"description": "The result of replacing shapes with an image.", +"id": "ReplaceAllShapesWithImageResponse", +"properties": { +"occurrencesChanged": { +"description": "The number of shapes replaced with images.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ReplaceAllShapesWithSheetsChartRequest": { +"description": "Replaces all shapes that match the given criteria with the provided Google Sheets chart. The chart will be scaled and centered to fit within the bounds of the original shape. NOTE: Replacing shapes with a chart requires at least one of the spreadsheets.readonly, spreadsheets, drive.readonly, or drive OAuth scopes.", +"id": "ReplaceAllShapesWithSheetsChartRequest", +"properties": { +"chartId": { +"description": "The ID of the specific chart in the Google Sheets spreadsheet.", +"format": "int32", +"type": "integer" +}, +"containsText": { +"$ref": "SubstringMatchCriteria", +"description": "The criteria that the shapes must match in order to be replaced. The request will replace all of the shapes that contain the given text." +}, +"linkingMode": { +"description": "The mode with which the chart is linked to the source spreadsheet. When not specified, the chart will be an image that is not linked.", +"enum": [ +"NOT_LINKED_IMAGE", +"LINKED" +], +"enumDescriptions": [ +"The chart is not associated with the source spreadsheet and cannot be updated. A chart that is not linked will be inserted as an image.", +"Linking the chart allows it to be updated, and other collaborators will see a link to the spreadsheet." +], +"type": "string" +}, +"pageObjectIds": { +"description": "If non-empty, limits the matches to page elements only on the given pages. Returns a 400 bad request error if given the page object ID of a notes page or a notes master, or if a page with that object ID doesn't exist in the presentation.", +"items": { +"type": "string" +}, +"type": "array" +}, +"spreadsheetId": { +"description": "The ID of the Google Sheets spreadsheet that contains the chart.", +"type": "string" +} +}, +"type": "object" +}, +"ReplaceAllShapesWithSheetsChartResponse": { +"description": "The result of replacing shapes with a Google Sheets chart.", +"id": "ReplaceAllShapesWithSheetsChartResponse", +"properties": { +"occurrencesChanged": { +"description": "The number of shapes replaced with charts.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ReplaceAllTextRequest": { +"description": "Replaces all instances of text matching a criteria with replace text.", +"id": "ReplaceAllTextRequest", +"properties": { +"containsText": { +"$ref": "SubstringMatchCriteria", +"description": "Finds text in a shape matching this substring." +}, +"pageObjectIds": { +"description": "If non-empty, limits the matches to page elements only on the given pages. Returns a 400 bad request error if given the page object ID of a notes master, or if a page with that object ID doesn't exist in the presentation.", +"items": { +"type": "string" +}, +"type": "array" +}, +"replaceText": { +"description": "The text that will replace the matched text.", +"type": "string" +} +}, +"type": "object" +}, +"ReplaceAllTextResponse": { +"description": "The result of replacing text.", +"id": "ReplaceAllTextResponse", +"properties": { +"occurrencesChanged": { +"description": "The number of occurrences changed by replacing all text.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ReplaceImageRequest": { +"description": "Replaces an existing image with a new image. Replacing an image removes some image effects from the existing image.", +"id": "ReplaceImageRequest", +"properties": { +"imageObjectId": { +"description": "The ID of the existing image that will be replaced. The ID can be retrieved from the response of a get request.", +"type": "string" +}, +"imageReplaceMethod": { +"description": "The replacement method.", +"enum": [ +"IMAGE_REPLACE_METHOD_UNSPECIFIED", +"CENTER_INSIDE", +"CENTER_CROP" +], +"enumDescriptions": [ +"Unspecified image replace method. This value must not be used.", +"Scales and centers the image to fit within the bounds of the original shape and maintains the image's aspect ratio. The rendered size of the image may be smaller than the size of the shape. This is the default method when one is not specified.", +"Scales and centers the image to fill the bounds of the original shape. The image may be cropped in order to fill the shape. The rendered size of the image will be the same as the original shape." +], +"type": "string" +}, +"url": { +"description": "The image URL. The image is fetched once at insertion time and a copy is stored for display inside the presentation. Images must be less than 50MB, cannot exceed 25 megapixels, and must be in PNG, JPEG, or GIF format. The provided URL can't surpass 2 KB in length. The URL is saved with the image, and exposed through the Image.source_url field.", +"type": "string" +} +}, +"type": "object" +}, +"Request": { +"description": "A single kind of update to apply to a presentation.", +"id": "Request", +"properties": { +"createImage": { +"$ref": "CreateImageRequest", +"description": "Creates an image." +}, +"createLine": { +"$ref": "CreateLineRequest", +"description": "Creates a line." +}, +"createParagraphBullets": { +"$ref": "CreateParagraphBulletsRequest", +"description": "Creates bullets for paragraphs." +}, +"createShape": { +"$ref": "CreateShapeRequest", +"description": "Creates a new shape." +}, +"createSheetsChart": { +"$ref": "CreateSheetsChartRequest", +"description": "Creates an embedded Google Sheets chart." +}, +"createSlide": { +"$ref": "CreateSlideRequest", +"description": "Creates a new slide." +}, +"createTable": { +"$ref": "CreateTableRequest", +"description": "Creates a new table." +}, +"createVideo": { +"$ref": "CreateVideoRequest", +"description": "Creates a video." +}, +"deleteObject": { +"$ref": "DeleteObjectRequest", +"description": "Deletes a page or page element from the presentation." +}, +"deleteParagraphBullets": { +"$ref": "DeleteParagraphBulletsRequest", +"description": "Deletes bullets from paragraphs." +}, +"deleteTableColumn": { +"$ref": "DeleteTableColumnRequest", +"description": "Deletes a column from a table." +}, +"deleteTableRow": { +"$ref": "DeleteTableRowRequest", +"description": "Deletes a row from a table." +}, +"deleteText": { +"$ref": "DeleteTextRequest", +"description": "Deletes text from a shape or a table cell." +}, +"duplicateObject": { +"$ref": "DuplicateObjectRequest", +"description": "Duplicates a slide or page element." +}, +"groupObjects": { +"$ref": "GroupObjectsRequest", +"description": "Groups objects, such as page elements." +}, +"insertTableColumns": { +"$ref": "InsertTableColumnsRequest", +"description": "Inserts columns into a table." +}, +"insertTableRows": { +"$ref": "InsertTableRowsRequest", +"description": "Inserts rows into a table." +}, +"insertText": { +"$ref": "InsertTextRequest", +"description": "Inserts text into a shape or table cell." +}, +"mergeTableCells": { +"$ref": "MergeTableCellsRequest", +"description": "Merges cells in a Table." +}, +"refreshSheetsChart": { +"$ref": "RefreshSheetsChartRequest", +"description": "Refreshes a Google Sheets chart." +}, +"replaceAllShapesWithImage": { +"$ref": "ReplaceAllShapesWithImageRequest", +"description": "Replaces all shapes matching some criteria with an image." +}, +"replaceAllShapesWithSheetsChart": { +"$ref": "ReplaceAllShapesWithSheetsChartRequest", +"description": "Replaces all shapes matching some criteria with a Google Sheets chart." +}, +"replaceAllText": { +"$ref": "ReplaceAllTextRequest", +"description": "Replaces all instances of specified text." +}, +"replaceImage": { +"$ref": "ReplaceImageRequest", +"description": "Replaces an existing image with a new image." +}, +"rerouteLine": { +"$ref": "RerouteLineRequest", +"description": "Reroutes a line such that it's connected at the two closest connection sites on the connected page elements." +}, +"ungroupObjects": { +"$ref": "UngroupObjectsRequest", +"description": "Ungroups objects, such as groups." +}, +"unmergeTableCells": { +"$ref": "UnmergeTableCellsRequest", +"description": "Unmerges cells in a Table." +}, +"updateImageProperties": { +"$ref": "UpdateImagePropertiesRequest", +"description": "Updates the properties of an Image." +}, +"updateLineCategory": { +"$ref": "UpdateLineCategoryRequest", +"description": "Updates the category of a line." +}, +"updateLineProperties": { +"$ref": "UpdateLinePropertiesRequest", +"description": "Updates the properties of a Line." +}, +"updatePageElementAltText": { +"$ref": "UpdatePageElementAltTextRequest", +"description": "Updates the alt text title and/or description of a page element." +}, +"updatePageElementTransform": { +"$ref": "UpdatePageElementTransformRequest", +"description": "Updates the transform of a page element." +}, +"updatePageElementsZOrder": { +"$ref": "UpdatePageElementsZOrderRequest", +"description": "Updates the Z-order of page elements." +}, +"updatePageProperties": { +"$ref": "UpdatePagePropertiesRequest", +"description": "Updates the properties of a Page." +}, +"updateParagraphStyle": { +"$ref": "UpdateParagraphStyleRequest", +"description": "Updates the styling of paragraphs within a Shape or Table." +}, +"updateShapeProperties": { +"$ref": "UpdateShapePropertiesRequest", +"description": "Updates the properties of a Shape." +}, +"updateSlideProperties": { +"$ref": "UpdateSlidePropertiesRequest", +"description": "Updates the properties of a Slide" +}, +"updateSlidesPosition": { +"$ref": "UpdateSlidesPositionRequest", +"description": "Updates the position of a set of slides in the presentation." +}, +"updateTableBorderProperties": { +"$ref": "UpdateTableBorderPropertiesRequest", +"description": "Updates the properties of the table borders in a Table." +}, +"updateTableCellProperties": { +"$ref": "UpdateTableCellPropertiesRequest", +"description": "Updates the properties of a TableCell." +}, +"updateTableColumnProperties": { +"$ref": "UpdateTableColumnPropertiesRequest", +"description": "Updates the properties of a Table column." +}, +"updateTableRowProperties": { +"$ref": "UpdateTableRowPropertiesRequest", +"description": "Updates the properties of a Table row." +}, +"updateTextStyle": { +"$ref": "UpdateTextStyleRequest", +"description": "Updates the styling of text within a Shape or Table." +}, +"updateVideoProperties": { +"$ref": "UpdateVideoPropertiesRequest", +"description": "Updates the properties of a Video." +} +}, +"type": "object" +}, +"RerouteLineRequest": { +"description": "Reroutes a line such that it's connected at the two closest connection sites on the connected page elements.", +"id": "RerouteLineRequest", +"properties": { +"objectId": { +"description": "The object ID of the line to reroute. Only a line with a category indicating it is a \"connector\" can be rerouted. The start and end connections of the line must be on different page elements.", +"type": "string" +} +}, +"type": "object" +}, +"Response": { +"description": "A single response from an update.", +"id": "Response", +"properties": { +"createImage": { +"$ref": "CreateImageResponse", +"description": "The result of creating an image." +}, +"createLine": { +"$ref": "CreateLineResponse", +"description": "The result of creating a line." +}, +"createShape": { +"$ref": "CreateShapeResponse", +"description": "The result of creating a shape." +}, +"createSheetsChart": { +"$ref": "CreateSheetsChartResponse", +"description": "The result of creating a Google Sheets chart." +}, +"createSlide": { +"$ref": "CreateSlideResponse", +"description": "The result of creating a slide." +}, +"createTable": { +"$ref": "CreateTableResponse", +"description": "The result of creating a table." +}, +"createVideo": { +"$ref": "CreateVideoResponse", +"description": "The result of creating a video." +}, +"duplicateObject": { +"$ref": "DuplicateObjectResponse", +"description": "The result of duplicating an object." +}, +"groupObjects": { +"$ref": "GroupObjectsResponse", +"description": "The result of grouping objects." +}, +"replaceAllShapesWithImage": { +"$ref": "ReplaceAllShapesWithImageResponse", +"description": "The result of replacing all shapes matching some criteria with an image." +}, +"replaceAllShapesWithSheetsChart": { +"$ref": "ReplaceAllShapesWithSheetsChartResponse", +"description": "The result of replacing all shapes matching some criteria with a Google Sheets chart." +}, +"replaceAllText": { +"$ref": "ReplaceAllTextResponse", +"description": "The result of replacing text." +} +}, +"type": "object" +}, +"RgbColor": { +"description": "An RGB color.", +"id": "RgbColor", +"properties": { +"blue": { +"description": "The blue component of the color, from 0.0 to 1.0.", +"format": "float", +"type": "number" +}, +"green": { +"description": "The green component of the color, from 0.0 to 1.0.", +"format": "float", +"type": "number" +}, +"red": { +"description": "The red component of the color, from 0.0 to 1.0.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"Shadow": { +"description": "The shadow properties of a page element. If these fields are unset, they may be inherited from a parent placeholder if it exists. If there is no parent, the fields will default to the value used for new page elements created in the Slides editor, which may depend on the page element kind.", +"id": "Shadow", +"properties": { +"alignment": { +"description": "The alignment point of the shadow, that sets the origin for translate, scale and skew of the shadow. This property is read-only.", +"enum": [ +"RECTANGLE_POSITION_UNSPECIFIED", +"TOP_LEFT", +"TOP_CENTER", +"TOP_RIGHT", +"LEFT_CENTER", +"CENTER", +"RIGHT_CENTER", +"BOTTOM_LEFT", +"BOTTOM_CENTER", +"BOTTOM_RIGHT" +], +"enumDescriptions": [ +"Unspecified.", +"Top left.", +"Top center.", +"Top right.", +"Left center.", +"Center.", +"Right center.", +"Bottom left.", +"Bottom center.", +"Bottom right." +], +"type": "string" +}, +"alpha": { +"description": "The alpha of the shadow's color, from 0.0 to 1.0.", +"format": "float", +"type": "number" +}, +"blurRadius": { +"$ref": "Dimension", +"description": "The radius of the shadow blur. The larger the radius, the more diffuse the shadow becomes." +}, +"color": { +"$ref": "OpaqueColor", +"description": "The shadow color value." +}, +"propertyState": { +"description": "The shadow property state. Updating the shadow on a page element will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no shadow on a page element, set this field to `NOT_RENDERED`. In this case, any other shadow fields set in the same request will be ignored.", +"enum": [ +"RENDERED", +"NOT_RENDERED", +"INHERIT" +], +"enumDescriptions": [ +"If a property's state is RENDERED, then the element has the corresponding property when rendered on a page. If the element is a placeholder shape as determined by the placeholder field, and it inherits from a placeholder shape, the corresponding field may be unset, meaning that the property value is inherited from a parent placeholder. If the element does not inherit, then the field will contain the rendered value. This is the default value.", +"If a property's state is NOT_RENDERED, then the element does not have the corresponding property when rendered on a page. However, the field may still be set so it can be inherited by child shapes. To remove a property from a rendered element, set its property_state to NOT_RENDERED.", +"If a property's state is INHERIT, then the property state uses the value of corresponding `property_state` field on the parent shape. Elements that do not inherit will never have an INHERIT property state." +], +"type": "string" +}, +"rotateWithShape": { +"description": "Whether the shadow should rotate with the shape. This property is read-only.", +"type": "boolean" +}, +"transform": { +"$ref": "AffineTransform", +"description": "Transform that encodes the translate, scale, and skew of the shadow, relative to the alignment position." +}, +"type": { +"description": "The type of the shadow. This property is read-only.", +"enum": [ +"SHADOW_TYPE_UNSPECIFIED", +"OUTER" +], +"enumDescriptions": [ +"Unspecified shadow type.", +"Outer shadow." +], +"type": "string" +} +}, +"type": "object" +}, +"Shape": { +"description": "A PageElement kind representing a generic shape that does not have a more specific classification.", +"id": "Shape", +"properties": { +"placeholder": { +"$ref": "Placeholder", +"description": "Placeholders are page elements that inherit from corresponding placeholders on layouts and masters. If set, the shape is a placeholder shape and any inherited properties can be resolved by looking at the parent placeholder identified by the Placeholder.parent_object_id field." +}, +"shapeProperties": { +"$ref": "ShapeProperties", +"description": "The properties of the shape." +}, +"shapeType": { +"description": "The type of the shape.", +"enum": [ +"TYPE_UNSPECIFIED", +"TEXT_BOX", +"RECTANGLE", +"ROUND_RECTANGLE", +"ELLIPSE", +"ARC", +"BENT_ARROW", +"BENT_UP_ARROW", +"BEVEL", +"BLOCK_ARC", +"BRACE_PAIR", +"BRACKET_PAIR", +"CAN", +"CHEVRON", +"CHORD", +"CLOUD", +"CORNER", +"CUBE", +"CURVED_DOWN_ARROW", +"CURVED_LEFT_ARROW", +"CURVED_RIGHT_ARROW", +"CURVED_UP_ARROW", +"DECAGON", +"DIAGONAL_STRIPE", +"DIAMOND", +"DODECAGON", +"DONUT", +"DOUBLE_WAVE", +"DOWN_ARROW", +"DOWN_ARROW_CALLOUT", +"FOLDED_CORNER", +"FRAME", +"HALF_FRAME", +"HEART", +"HEPTAGON", +"HEXAGON", +"HOME_PLATE", +"HORIZONTAL_SCROLL", +"IRREGULAR_SEAL_1", +"IRREGULAR_SEAL_2", +"LEFT_ARROW", +"LEFT_ARROW_CALLOUT", +"LEFT_BRACE", +"LEFT_BRACKET", +"LEFT_RIGHT_ARROW", +"LEFT_RIGHT_ARROW_CALLOUT", +"LEFT_RIGHT_UP_ARROW", +"LEFT_UP_ARROW", +"LIGHTNING_BOLT", +"MATH_DIVIDE", +"MATH_EQUAL", +"MATH_MINUS", +"MATH_MULTIPLY", +"MATH_NOT_EQUAL", +"MATH_PLUS", +"MOON", +"NO_SMOKING", +"NOTCHED_RIGHT_ARROW", +"OCTAGON", +"PARALLELOGRAM", +"PENTAGON", +"PIE", +"PLAQUE", +"PLUS", +"QUAD_ARROW", +"QUAD_ARROW_CALLOUT", +"RIBBON", +"RIBBON_2", +"RIGHT_ARROW", +"RIGHT_ARROW_CALLOUT", +"RIGHT_BRACE", +"RIGHT_BRACKET", +"ROUND_1_RECTANGLE", +"ROUND_2_DIAGONAL_RECTANGLE", +"ROUND_2_SAME_RECTANGLE", +"RIGHT_TRIANGLE", +"SMILEY_FACE", +"SNIP_1_RECTANGLE", +"SNIP_2_DIAGONAL_RECTANGLE", +"SNIP_2_SAME_RECTANGLE", +"SNIP_ROUND_RECTANGLE", +"STAR_10", +"STAR_12", +"STAR_16", +"STAR_24", +"STAR_32", +"STAR_4", +"STAR_5", +"STAR_6", +"STAR_7", +"STAR_8", +"STRIPED_RIGHT_ARROW", +"SUN", +"TRAPEZOID", +"TRIANGLE", +"UP_ARROW", +"UP_ARROW_CALLOUT", +"UP_DOWN_ARROW", +"UTURN_ARROW", +"VERTICAL_SCROLL", +"WAVE", +"WEDGE_ELLIPSE_CALLOUT", +"WEDGE_RECTANGLE_CALLOUT", +"WEDGE_ROUND_RECTANGLE_CALLOUT", +"FLOW_CHART_ALTERNATE_PROCESS", +"FLOW_CHART_COLLATE", +"FLOW_CHART_CONNECTOR", +"FLOW_CHART_DECISION", +"FLOW_CHART_DELAY", +"FLOW_CHART_DISPLAY", +"FLOW_CHART_DOCUMENT", +"FLOW_CHART_EXTRACT", +"FLOW_CHART_INPUT_OUTPUT", +"FLOW_CHART_INTERNAL_STORAGE", +"FLOW_CHART_MAGNETIC_DISK", +"FLOW_CHART_MAGNETIC_DRUM", +"FLOW_CHART_MAGNETIC_TAPE", +"FLOW_CHART_MANUAL_INPUT", +"FLOW_CHART_MANUAL_OPERATION", +"FLOW_CHART_MERGE", +"FLOW_CHART_MULTIDOCUMENT", +"FLOW_CHART_OFFLINE_STORAGE", +"FLOW_CHART_OFFPAGE_CONNECTOR", +"FLOW_CHART_ONLINE_STORAGE", +"FLOW_CHART_OR", +"FLOW_CHART_PREDEFINED_PROCESS", +"FLOW_CHART_PREPARATION", +"FLOW_CHART_PROCESS", +"FLOW_CHART_PUNCHED_CARD", +"FLOW_CHART_PUNCHED_TAPE", +"FLOW_CHART_SORT", +"FLOW_CHART_SUMMING_JUNCTION", +"FLOW_CHART_TERMINATOR", +"ARROW_EAST", +"ARROW_NORTH_EAST", +"ARROW_NORTH", +"SPEECH", +"STARBURST", +"TEARDROP", +"ELLIPSE_RIBBON", +"ELLIPSE_RIBBON_2", +"CLOUD_CALLOUT", +"CUSTOM" +], +"enumDescriptions": [ +"The shape type that is not predefined.", +"Text box shape.", +"Rectangle shape. Corresponds to ECMA-376 ST_ShapeType 'rect'.", +"Round corner rectangle shape. Corresponds to ECMA-376 ST_ShapeType 'roundRect'", +"Ellipse shape. Corresponds to ECMA-376 ST_ShapeType 'ellipse'", +"Curved arc shape. Corresponds to ECMA-376 ST_ShapeType 'arc'", +"Bent arrow shape. Corresponds to ECMA-376 ST_ShapeType 'bentArrow'", +"Bent up arrow shape. Corresponds to ECMA-376 ST_ShapeType 'bentUpArrow'", +"Bevel shape. Corresponds to ECMA-376 ST_ShapeType 'bevel'", +"Block arc shape. Corresponds to ECMA-376 ST_ShapeType 'blockArc'", +"Brace pair shape. Corresponds to ECMA-376 ST_ShapeType 'bracePair'", +"Bracket pair shape. Corresponds to ECMA-376 ST_ShapeType 'bracketPair'", +"Can shape. Corresponds to ECMA-376 ST_ShapeType 'can'", +"Chevron shape. Corresponds to ECMA-376 ST_ShapeType 'chevron'", +"Chord shape. Corresponds to ECMA-376 ST_ShapeType 'chord'", +"Cloud shape. Corresponds to ECMA-376 ST_ShapeType 'cloud'", +"Corner shape. Corresponds to ECMA-376 ST_ShapeType 'corner'", +"Cube shape. Corresponds to ECMA-376 ST_ShapeType 'cube'", +"Curved down arrow shape. Corresponds to ECMA-376 ST_ShapeType 'curvedDownArrow'", +"Curved left arrow shape. Corresponds to ECMA-376 ST_ShapeType 'curvedLeftArrow'", +"Curved right arrow shape. Corresponds to ECMA-376 ST_ShapeType 'curvedRightArrow'", +"Curved up arrow shape. Corresponds to ECMA-376 ST_ShapeType 'curvedUpArrow'", +"Decagon shape. Corresponds to ECMA-376 ST_ShapeType 'decagon'", +"Diagonal stripe shape. Corresponds to ECMA-376 ST_ShapeType 'diagStripe'", +"Diamond shape. Corresponds to ECMA-376 ST_ShapeType 'diamond'", +"Dodecagon shape. Corresponds to ECMA-376 ST_ShapeType 'dodecagon'", +"Donut shape. Corresponds to ECMA-376 ST_ShapeType 'donut'", +"Double wave shape. Corresponds to ECMA-376 ST_ShapeType 'doubleWave'", +"Down arrow shape. Corresponds to ECMA-376 ST_ShapeType 'downArrow'", +"Callout down arrow shape. Corresponds to ECMA-376 ST_ShapeType 'downArrowCallout'", +"Folded corner shape. Corresponds to ECMA-376 ST_ShapeType 'foldedCorner'", +"Frame shape. Corresponds to ECMA-376 ST_ShapeType 'frame'", +"Half frame shape. Corresponds to ECMA-376 ST_ShapeType 'halfFrame'", +"Heart shape. Corresponds to ECMA-376 ST_ShapeType 'heart'", +"Heptagon shape. Corresponds to ECMA-376 ST_ShapeType 'heptagon'", +"Hexagon shape. Corresponds to ECMA-376 ST_ShapeType 'hexagon'", +"Home plate shape. Corresponds to ECMA-376 ST_ShapeType 'homePlate'", +"Horizontal scroll shape. Corresponds to ECMA-376 ST_ShapeType 'horizontalScroll'", +"Irregular seal 1 shape. Corresponds to ECMA-376 ST_ShapeType 'irregularSeal1'", +"Irregular seal 2 shape. Corresponds to ECMA-376 ST_ShapeType 'irregularSeal2'", +"Left arrow shape. Corresponds to ECMA-376 ST_ShapeType 'leftArrow'", +"Callout left arrow shape. Corresponds to ECMA-376 ST_ShapeType 'leftArrowCallout'", +"Left brace shape. Corresponds to ECMA-376 ST_ShapeType 'leftBrace'", +"Left bracket shape. Corresponds to ECMA-376 ST_ShapeType 'leftBracket'", +"Left right arrow shape. Corresponds to ECMA-376 ST_ShapeType 'leftRightArrow'", +"Callout left right arrow shape. Corresponds to ECMA-376 ST_ShapeType 'leftRightArrowCallout'", +"Left right up arrow shape. Corresponds to ECMA-376 ST_ShapeType 'leftRightUpArrow'", +"Left up arrow shape. Corresponds to ECMA-376 ST_ShapeType 'leftUpArrow'", +"Lightning bolt shape. Corresponds to ECMA-376 ST_ShapeType 'lightningBolt'", +"Divide math shape. Corresponds to ECMA-376 ST_ShapeType 'mathDivide'", +"Equal math shape. Corresponds to ECMA-376 ST_ShapeType 'mathEqual'", +"Minus math shape. Corresponds to ECMA-376 ST_ShapeType 'mathMinus'", +"Multiply math shape. Corresponds to ECMA-376 ST_ShapeType 'mathMultiply'", +"Not equal math shape. Corresponds to ECMA-376 ST_ShapeType 'mathNotEqual'", +"Plus math shape. Corresponds to ECMA-376 ST_ShapeType 'mathPlus'", +"Moon shape. Corresponds to ECMA-376 ST_ShapeType 'moon'", +"No smoking shape. Corresponds to ECMA-376 ST_ShapeType 'noSmoking'", +"Notched right arrow shape. Corresponds to ECMA-376 ST_ShapeType 'notchedRightArrow'", +"Octagon shape. Corresponds to ECMA-376 ST_ShapeType 'octagon'", +"Parallelogram shape. Corresponds to ECMA-376 ST_ShapeType 'parallelogram'", +"Pentagon shape. Corresponds to ECMA-376 ST_ShapeType 'pentagon'", +"Pie shape. Corresponds to ECMA-376 ST_ShapeType 'pie'", +"Plaque shape. Corresponds to ECMA-376 ST_ShapeType 'plaque'", +"Plus shape. Corresponds to ECMA-376 ST_ShapeType 'plus'", +"Quad-arrow shape. Corresponds to ECMA-376 ST_ShapeType 'quadArrow'", +"Callout quad-arrow shape. Corresponds to ECMA-376 ST_ShapeType 'quadArrowCallout'", +"Ribbon shape. Corresponds to ECMA-376 ST_ShapeType 'ribbon'", +"Ribbon 2 shape. Corresponds to ECMA-376 ST_ShapeType 'ribbon2'", +"Right arrow shape. Corresponds to ECMA-376 ST_ShapeType 'rightArrow'", +"Callout right arrow shape. Corresponds to ECMA-376 ST_ShapeType 'rightArrowCallout'", +"Right brace shape. Corresponds to ECMA-376 ST_ShapeType 'rightBrace'", +"Right bracket shape. Corresponds to ECMA-376 ST_ShapeType 'rightBracket'", +"One round corner rectangle shape. Corresponds to ECMA-376 ST_ShapeType 'round1Rect'", +"Two diagonal round corner rectangle shape. Corresponds to ECMA-376 ST_ShapeType 'round2DiagRect'", +"Two same-side round corner rectangle shape. Corresponds to ECMA-376 ST_ShapeType 'round2SameRect'", +"Right triangle shape. Corresponds to ECMA-376 ST_ShapeType 'rtTriangle'", +"Smiley face shape. Corresponds to ECMA-376 ST_ShapeType 'smileyFace'", +"One snip corner rectangle shape. Corresponds to ECMA-376 ST_ShapeType 'snip1Rect'", +"Two diagonal snip corner rectangle shape. Corresponds to ECMA-376 ST_ShapeType 'snip2DiagRect'", +"Two same-side snip corner rectangle shape. Corresponds to ECMA-376 ST_ShapeType 'snip2SameRect'", +"One snip one round corner rectangle shape. Corresponds to ECMA-376 ST_ShapeType 'snipRoundRect'", +"Ten pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star10'", +"Twelve pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star12'", +"Sixteen pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star16'", +"Twenty four pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star24'", +"Thirty two pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star32'", +"Four pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star4'", +"Five pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star5'", +"Six pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star6'", +"Seven pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star7'", +"Eight pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star8'", +"Striped right arrow shape. Corresponds to ECMA-376 ST_ShapeType 'stripedRightArrow'", +"Sun shape. Corresponds to ECMA-376 ST_ShapeType 'sun'", +"Trapezoid shape. Corresponds to ECMA-376 ST_ShapeType 'trapezoid'", +"Triangle shape. Corresponds to ECMA-376 ST_ShapeType 'triangle'", +"Up arrow shape. Corresponds to ECMA-376 ST_ShapeType 'upArrow'", +"Callout up arrow shape. Corresponds to ECMA-376 ST_ShapeType 'upArrowCallout'", +"Up down arrow shape. Corresponds to ECMA-376 ST_ShapeType 'upDownArrow'", +"U-turn arrow shape. Corresponds to ECMA-376 ST_ShapeType 'uturnArrow'", +"Vertical scroll shape. Corresponds to ECMA-376 ST_ShapeType 'verticalScroll'", +"Wave shape. Corresponds to ECMA-376 ST_ShapeType 'wave'", +"Callout wedge ellipse shape. Corresponds to ECMA-376 ST_ShapeType 'wedgeEllipseCallout'", +"Callout wedge rectangle shape. Corresponds to ECMA-376 ST_ShapeType 'wedgeRectCallout'", +"Callout wedge round rectangle shape. Corresponds to ECMA-376 ST_ShapeType 'wedgeRoundRectCallout'", +"Alternate process flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartAlternateProcess'", +"Collate flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartCollate'", +"Connector flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartConnector'", +"Decision flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartDecision'", +"Delay flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartDelay'", +"Display flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartDisplay'", +"Document flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartDocument'", +"Extract flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartExtract'", +"Input output flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartInputOutput'", +"Internal storage flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartInternalStorage'", +"Magnetic disk flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartMagneticDisk'", +"Magnetic drum flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartMagneticDrum'", +"Magnetic tape flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartMagneticTape'", +"Manual input flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartManualInput'", +"Manual operation flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartManualOperation'", +"Merge flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartMerge'", +"Multi-document flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartMultidocument'", +"Offline storage flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartOfflineStorage'", +"Off-page connector flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartOffpageConnector'", +"Online storage flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartOnlineStorage'", +"Or flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartOr'", +"Predefined process flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartPredefinedProcess'", +"Preparation flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartPreparation'", +"Process flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartProcess'", +"Punched card flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartPunchedCard'", +"Punched tape flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartPunchedTape'", +"Sort flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartSort'", +"Summing junction flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartSummingJunction'", +"Terminator flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartTerminator'", +"East arrow shape.", +"Northeast arrow shape.", +"North arrow shape.", +"Speech shape.", +"Star burst shape.", +"Teardrop shape. Corresponds to ECMA-376 ST_ShapeType 'teardrop'", +"Ellipse ribbon shape. Corresponds to ECMA-376 ST_ShapeType 'ellipseRibbon'", +"Ellipse ribbon 2 shape. Corresponds to ECMA-376 ST_ShapeType 'ellipseRibbon2'", +"Callout cloud shape. Corresponds to ECMA-376 ST_ShapeType 'cloudCallout'", +"Custom shape." +], +"type": "string" +}, +"text": { +"$ref": "TextContent", +"description": "The text content of the shape." +} +}, +"type": "object" +}, +"ShapeBackgroundFill": { +"description": "The shape background fill.", +"id": "ShapeBackgroundFill", +"properties": { +"propertyState": { +"description": "The background fill property state. Updating the fill on a shape will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no fill on a shape, set this field to `NOT_RENDERED`. In this case, any other fill fields set in the same request will be ignored.", +"enum": [ +"RENDERED", +"NOT_RENDERED", +"INHERIT" +], +"enumDescriptions": [ +"If a property's state is RENDERED, then the element has the corresponding property when rendered on a page. If the element is a placeholder shape as determined by the placeholder field, and it inherits from a placeholder shape, the corresponding field may be unset, meaning that the property value is inherited from a parent placeholder. If the element does not inherit, then the field will contain the rendered value. This is the default value.", +"If a property's state is NOT_RENDERED, then the element does not have the corresponding property when rendered on a page. However, the field may still be set so it can be inherited by child shapes. To remove a property from a rendered element, set its property_state to NOT_RENDERED.", +"If a property's state is INHERIT, then the property state uses the value of corresponding `property_state` field on the parent shape. Elements that do not inherit will never have an INHERIT property state." +], +"type": "string" +}, +"solidFill": { +"$ref": "SolidFill", +"description": "Solid color fill." +} +}, +"type": "object" +}, +"ShapeProperties": { +"description": "The properties of a Shape. If the shape is a placeholder shape as determined by the placeholder field, then these properties may be inherited from a parent placeholder shape. Determining the rendered value of the property depends on the corresponding property_state field value. Any text autofit settings on the shape are automatically deactivated by requests that can impact how text fits in the shape.", +"id": "ShapeProperties", +"properties": { +"autofit": { +"$ref": "Autofit", +"description": "The autofit properties of the shape. This property is only set for shapes that allow text." +}, +"contentAlignment": { +"description": "The alignment of the content in the shape. If unspecified, the alignment is inherited from a parent placeholder if it exists. If the shape has no parent, the default alignment matches the alignment for new shapes created in the Slides editor.", +"enum": [ +"CONTENT_ALIGNMENT_UNSPECIFIED", +"CONTENT_ALIGNMENT_UNSUPPORTED", +"TOP", +"MIDDLE", +"BOTTOM" +], +"enumDescriptions": [ +"An unspecified content alignment. The content alignment is inherited from the parent if it exists.", +"An unsupported content alignment.", +"An alignment that aligns the content to the top of the content holder. Corresponds to ECMA-376 ST_TextAnchoringType 't'.", +"An alignment that aligns the content to the middle of the content holder. Corresponds to ECMA-376 ST_TextAnchoringType 'ctr'.", +"An alignment that aligns the content to the bottom of the content holder. Corresponds to ECMA-376 ST_TextAnchoringType 'b'." +], +"type": "string" +}, +"link": { +"$ref": "Link", +"description": "The hyperlink destination of the shape. If unset, there is no link. Links are not inherited from parent placeholders." +}, +"outline": { +"$ref": "Outline", +"description": "The outline of the shape. If unset, the outline is inherited from a parent placeholder if it exists. If the shape has no parent, then the default outline depends on the shape type, matching the defaults for new shapes created in the Slides editor." +}, +"shadow": { +"$ref": "Shadow", +"description": "The shadow properties of the shape. If unset, the shadow is inherited from a parent placeholder if it exists. If the shape has no parent, then the default shadow matches the defaults for new shapes created in the Slides editor. This property is read-only." +}, +"shapeBackgroundFill": { +"$ref": "ShapeBackgroundFill", +"description": "The background fill of the shape. If unset, the background fill is inherited from a parent placeholder if it exists. If the shape has no parent, then the default background fill depends on the shape type, matching the defaults for new shapes created in the Slides editor." +} +}, +"type": "object" +}, +"SheetsChart": { +"description": "A PageElement kind representing a linked chart embedded from Google Sheets.", +"id": "SheetsChart", +"properties": { +"chartId": { +"description": "The ID of the specific chart in the Google Sheets spreadsheet that is embedded.", +"format": "int32", +"type": "integer" +}, +"contentUrl": { +"description": "The URL of an image of the embedded chart, with a default lifetime of 30 minutes. This URL is tagged with the account of the requester. Anyone with the URL effectively accesses the image as the original requester. Access to the image may be lost if the presentation's sharing settings change.", +"type": "string" +}, +"sheetsChartProperties": { +"$ref": "SheetsChartProperties", +"description": "The properties of the Sheets chart." +}, +"spreadsheetId": { +"description": "The ID of the Google Sheets spreadsheet that contains the source chart.", +"type": "string" +} +}, +"type": "object" +}, +"SheetsChartProperties": { +"description": "The properties of the SheetsChart.", +"id": "SheetsChartProperties", +"properties": { +"chartImageProperties": { +"$ref": "ImageProperties", +"description": "The properties of the embedded chart image." +} +}, +"type": "object" +}, +"Size": { +"description": "A width and height.", +"id": "Size", +"properties": { +"height": { +"$ref": "Dimension", +"description": "The height of the object." +}, +"width": { +"$ref": "Dimension", +"description": "The width of the object." +} +}, +"type": "object" +}, +"SlideProperties": { +"description": "The properties of Page that are only relevant for pages with page_type SLIDE.", +"id": "SlideProperties", +"properties": { +"isSkipped": { +"description": "Whether the slide is skipped in the presentation mode. Defaults to false.", +"type": "boolean" +}, +"layoutObjectId": { +"description": "The object ID of the layout that this slide is based on. This property is read-only.", +"type": "string" +}, +"masterObjectId": { +"description": "The object ID of the master that this slide is based on. This property is read-only.", +"type": "string" +}, +"notesPage": { +"$ref": "Page", +"description": "The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only." +} +}, +"type": "object" +}, +"SolidFill": { +"description": "A solid color fill. The page or page element is filled entirely with the specified color value. If any field is unset, its value may be inherited from a parent placeholder if it exists.", +"id": "SolidFill", +"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 * (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.", +"format": "float", +"type": "number" +}, +"color": { +"$ref": "OpaqueColor", +"description": "The color value of the solid fill." +} +}, +"type": "object" +}, +"SpeakerSpotlight": { +"description": "A PageElement kind representing a Speaker Spotlight.", +"id": "SpeakerSpotlight", +"properties": { +"speakerSpotlightProperties": { +"$ref": "SpeakerSpotlightProperties", +"description": "The properties of the Speaker Spotlight." +} +}, +"type": "object" +}, +"SpeakerSpotlightProperties": { +"description": "The properties of the SpeakerSpotlight.", +"id": "SpeakerSpotlightProperties", +"properties": { +"outline": { +"$ref": "Outline", +"description": "The outline of the Speaker Spotlight. If not set, it has no outline." +}, +"shadow": { +"$ref": "Shadow", +"description": "The shadow of the Speaker Spotlight. If not set, it has no shadow." +} +}, +"type": "object" +}, +"StretchedPictureFill": { +"description": "The stretched picture fill. The page or page element is filled entirely with the specified picture. The picture is stretched to fit its container.", +"id": "StretchedPictureFill", +"properties": { +"contentUrl": { +"description": "Reading the content_url: An URL to a picture with a default lifetime of 30 minutes. This URL is tagged with the account of the requester. Anyone with the URL effectively accesses the picture as the original requester. Access to the picture may be lost if the presentation's sharing settings change. Writing the content_url: The picture is fetched once at insertion time and a copy is stored for display inside the presentation. Pictures must be less than 50MB in size, cannot exceed 25 megapixels, and must be in one of PNG, JPEG, or GIF format. The provided URL can be at most 2 kB in length.", +"type": "string" +}, +"size": { +"$ref": "Size", +"description": "The original size of the picture fill. This field is read-only." +} +}, +"type": "object" +}, +"SubstringMatchCriteria": { +"description": "A criteria that matches a specific string of text in a shape or table.", +"id": "SubstringMatchCriteria", +"properties": { +"matchCase": { +"description": "Indicates whether the search should respect case: - `True`: the search is case sensitive. - `False`: the search is case insensitive.", +"type": "boolean" +}, +"text": { +"description": "The text to search for in the shape or table.", +"type": "string" +} +}, +"type": "object" +}, +"Table": { +"description": "A PageElement kind representing a table.", +"id": "Table", +"properties": { +"columns": { +"description": "Number of columns in the table.", +"format": "int32", +"type": "integer" +}, +"horizontalBorderRows": { +"description": "Properties of horizontal cell borders. A table's horizontal cell borders are represented as a grid. The grid has one more row than the number of rows in the table and the same number of columns as the table. For example, if the table is 3 x 3, its horizontal borders will be represented as a grid with 4 rows and 3 columns.", +"items": { +"$ref": "TableBorderRow" +}, +"type": "array" +}, +"rows": { +"description": "Number of rows in the table.", +"format": "int32", +"type": "integer" +}, +"tableColumns": { +"description": "Properties of each column.", +"items": { +"$ref": "TableColumnProperties" +}, +"type": "array" +}, +"tableRows": { +"description": "Properties and contents of each row. Cells that span multiple rows are contained in only one of these rows and have a row_span greater than 1.", +"items": { +"$ref": "TableRow" +}, +"type": "array" +}, +"verticalBorderRows": { +"description": "Properties of vertical cell borders. A table's vertical cell borders are represented as a grid. The grid has the same number of rows as the table and one more column than the number of columns in the table. For example, if the table is 3 x 3, its vertical borders will be represented as a grid with 3 rows and 4 columns.", +"items": { +"$ref": "TableBorderRow" +}, +"type": "array" +} +}, +"type": "object" +}, +"TableBorderCell": { +"description": "The properties of each border cell.", +"id": "TableBorderCell", +"properties": { +"location": { +"$ref": "TableCellLocation", +"description": "The location of the border within the border table." +}, +"tableBorderProperties": { +"$ref": "TableBorderProperties", +"description": "The border properties." +} +}, +"type": "object" +}, +"TableBorderFill": { +"description": "The fill of the border.", +"id": "TableBorderFill", +"properties": { +"solidFill": { +"$ref": "SolidFill", +"description": "Solid fill." +} +}, +"type": "object" +}, +"TableBorderProperties": { +"description": "The border styling properties of the TableBorderCell.", +"id": "TableBorderProperties", +"properties": { +"dashStyle": { +"description": "The dash style of the border.", +"enum": [ +"DASH_STYLE_UNSPECIFIED", +"SOLID", +"DOT", +"DASH", +"DASH_DOT", +"LONG_DASH", +"LONG_DASH_DOT" +], +"enumDescriptions": [ +"Unspecified dash style.", +"Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'solid'. This is the default dash style.", +"Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'dot'.", +"Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'dash'.", +"Alternating dashes and dots. Corresponds to ECMA-376 ST_PresetLineDashVal value 'dashDot'.", +"Line with large dashes. Corresponds to ECMA-376 ST_PresetLineDashVal value 'lgDash'.", +"Alternating large dashes and dots. Corresponds to ECMA-376 ST_PresetLineDashVal value 'lgDashDot'." +], +"type": "string" +}, +"tableBorderFill": { +"$ref": "TableBorderFill", +"description": "The fill of the table border." +}, +"weight": { +"$ref": "Dimension", +"description": "The thickness of the border." +} +}, +"type": "object" +}, +"TableBorderRow": { +"description": "Contents of each border row in a table.", +"id": "TableBorderRow", +"properties": { +"tableBorderCells": { +"description": "Properties of each border cell. When a border's adjacent table cells are merged, it is not included in the response.", +"items": { +"$ref": "TableBorderCell" +}, +"type": "array" +} +}, +"type": "object" +}, +"TableCell": { +"description": "Properties and contents of each table cell.", +"id": "TableCell", +"properties": { +"columnSpan": { +"description": "Column span of the cell.", +"format": "int32", +"type": "integer" +}, +"location": { +"$ref": "TableCellLocation", +"description": "The location of the cell within the table." +}, +"rowSpan": { +"description": "Row span of the cell.", +"format": "int32", +"type": "integer" +}, +"tableCellProperties": { +"$ref": "TableCellProperties", +"description": "The properties of the table cell." +}, +"text": { +"$ref": "TextContent", +"description": "The text content of the cell." +} +}, +"type": "object" +}, +"TableCellBackgroundFill": { +"description": "The table cell background fill.", +"id": "TableCellBackgroundFill", +"properties": { +"propertyState": { +"description": "The background fill property state. Updating the fill on a table cell will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no fill on a table cell, set this field to `NOT_RENDERED`. In this case, any other fill fields set in the same request will be ignored.", +"enum": [ +"RENDERED", +"NOT_RENDERED", +"INHERIT" +], +"enumDescriptions": [ +"If a property's state is RENDERED, then the element has the corresponding property when rendered on a page. If the element is a placeholder shape as determined by the placeholder field, and it inherits from a placeholder shape, the corresponding field may be unset, meaning that the property value is inherited from a parent placeholder. If the element does not inherit, then the field will contain the rendered value. This is the default value.", +"If a property's state is NOT_RENDERED, then the element does not have the corresponding property when rendered on a page. However, the field may still be set so it can be inherited by child shapes. To remove a property from a rendered element, set its property_state to NOT_RENDERED.", +"If a property's state is INHERIT, then the property state uses the value of corresponding `property_state` field on the parent shape. Elements that do not inherit will never have an INHERIT property state." +], +"type": "string" +}, +"solidFill": { +"$ref": "SolidFill", +"description": "Solid color fill." +} +}, +"type": "object" +}, +"TableCellLocation": { +"description": "A location of a single table cell within a table.", +"id": "TableCellLocation", +"properties": { +"columnIndex": { +"description": "The 0-based column index.", +"format": "int32", +"type": "integer" +}, +"rowIndex": { +"description": "The 0-based row index.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"TableCellProperties": { +"description": "The properties of the TableCell.", +"id": "TableCellProperties", +"properties": { +"contentAlignment": { +"description": "The alignment of the content in the table cell. The default alignment matches the alignment for newly created table cells in the Slides editor.", +"enum": [ +"CONTENT_ALIGNMENT_UNSPECIFIED", +"CONTENT_ALIGNMENT_UNSUPPORTED", +"TOP", +"MIDDLE", +"BOTTOM" +], +"enumDescriptions": [ +"An unspecified content alignment. The content alignment is inherited from the parent if it exists.", +"An unsupported content alignment.", +"An alignment that aligns the content to the top of the content holder. Corresponds to ECMA-376 ST_TextAnchoringType 't'.", +"An alignment that aligns the content to the middle of the content holder. Corresponds to ECMA-376 ST_TextAnchoringType 'ctr'.", +"An alignment that aligns the content to the bottom of the content holder. Corresponds to ECMA-376 ST_TextAnchoringType 'b'." +], +"type": "string" +}, +"tableCellBackgroundFill": { +"$ref": "TableCellBackgroundFill", +"description": "The background fill of the table cell. The default fill matches the fill for newly created table cells in the Slides editor." +} +}, +"type": "object" +}, +"TableColumnProperties": { +"description": "Properties of each column in a table.", +"id": "TableColumnProperties", +"properties": { +"columnWidth": { +"$ref": "Dimension", +"description": "Width of a column." +} +}, +"type": "object" +}, +"TableRange": { +"description": "A table range represents a reference to a subset of a table. It's important to note that the cells specified by a table range do not necessarily form a rectangle. For example, let's say we have a 3 x 3 table where all the cells of the last row are merged together. The table looks like this: [ ] A table range with location = (0, 0), row span = 3 and column span = 2 specifies the following cells: x x [ x x x ]", +"id": "TableRange", +"properties": { +"columnSpan": { +"description": "The column span of the table range.", +"format": "int32", +"type": "integer" +}, +"location": { +"$ref": "TableCellLocation", +"description": "The starting location of the table range." +}, +"rowSpan": { +"description": "The row span of the table range.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"TableRow": { +"description": "Properties and contents of each row in a table.", +"id": "TableRow", +"properties": { +"rowHeight": { +"$ref": "Dimension", +"description": "Height of a row." +}, +"tableCells": { +"description": "Properties and contents of each cell. Cells that span multiple columns are represented only once with a column_span greater than 1. As a result, the length of this collection does not always match the number of columns of the entire table.", +"items": { +"$ref": "TableCell" +}, +"type": "array" +}, +"tableRowProperties": { +"$ref": "TableRowProperties", +"description": "Properties of the row." +} +}, +"type": "object" +}, +"TableRowProperties": { +"description": "Properties of each row in a table.", +"id": "TableRowProperties", +"properties": { +"minRowHeight": { +"$ref": "Dimension", +"description": "Minimum height of the row. The row will be rendered in the Slides editor at a height equal to or greater than this value in order to show all the text in the row's cell(s)." +} +}, +"type": "object" +}, +"TextContent": { +"description": "The general text content. The text must reside in a compatible shape (e.g. text box or rectangle) or a table cell in a page.", +"id": "TextContent", +"properties": { +"lists": { +"additionalProperties": { +"$ref": "List" +}, +"description": "The bulleted lists contained in this text, keyed by list ID.", +"type": "object" +}, +"textElements": { +"description": "The text contents broken down into its component parts, including styling information. This property is read-only.", +"items": { +"$ref": "TextElement" +}, +"type": "array" +} +}, +"type": "object" +}, +"TextElement": { +"description": "A TextElement describes the content of a range of indices in the text content of a Shape or TableCell.", +"id": "TextElement", +"properties": { +"autoText": { +"$ref": "AutoText", +"description": "A TextElement representing a spot in the text that is dynamically replaced with content that can change over time." +}, +"endIndex": { +"description": "The zero-based end index of this text element, exclusive, in Unicode code units.", +"format": "int32", +"type": "integer" +}, +"paragraphMarker": { +"$ref": "ParagraphMarker", +"description": "A marker representing the beginning of a new paragraph. The `start_index` and `end_index` of this TextElement represent the range of the paragraph. Other TextElements with an index range contained inside this paragraph's range are considered to be part of this paragraph. The range of indices of two separate paragraphs will never overlap." +}, +"startIndex": { +"description": "The zero-based start index of this text element, in Unicode code units.", +"format": "int32", +"type": "integer" +}, +"textRun": { +"$ref": "TextRun", +"description": "A TextElement representing a run of text where all of the characters in the run have the same TextStyle. The `start_index` and `end_index` of TextRuns will always be fully contained in the index range of a single `paragraph_marker` TextElement. In other words, a TextRun will never span multiple paragraphs." +} +}, +"type": "object" +}, +"TextRun": { +"description": "A TextElement kind that represents a run of text that all has the same styling.", +"id": "TextRun", +"properties": { +"content": { +"description": "The text of this run.", +"type": "string" +}, +"style": { +"$ref": "TextStyle", +"description": "The styling applied to this run." +} +}, +"type": "object" +}, +"TextStyle": { +"description": "Represents the styling that can be applied to a TextRun. If this text is contained in a shape with a parent placeholder, then these text styles may be inherited from the parent. Which text styles are inherited depend on the nesting level of lists: * A text run in a paragraph that is not in a list will inherit its text style from the the newline character in the paragraph at the 0 nesting level of the list inside the parent placeholder. * A text run in a paragraph that is in a list will inherit its text style from the newline character in the paragraph at its corresponding nesting level of the list inside the parent placeholder. Inherited text styles are represented as unset fields in this message. If text is contained in a shape without a parent placeholder, unsetting these fields will revert the style to a value matching the defaults in the Slides editor.", +"id": "TextStyle", +"properties": { +"backgroundColor": { +"$ref": "OptionalColor", +"description": "The background color of the text. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set." +}, +"baselineOffset": { +"description": "The text's vertical offset from its normal position. Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically rendered in a smaller font size, computed based on the `font_size` field. The `font_size` itself is not affected by changes in this field.", +"enum": [ +"BASELINE_OFFSET_UNSPECIFIED", +"NONE", +"SUPERSCRIPT", +"SUBSCRIPT" +], +"enumDescriptions": [ +"The text's baseline offset is inherited from the parent.", +"The text is not vertically offset.", +"The text is vertically offset upwards (superscript).", +"The text is vertically offset downwards (subscript)." +], +"type": "string" +}, +"bold": { +"description": "Whether or not the text is rendered as bold.", +"type": "boolean" +}, +"fontFamily": { +"description": "The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`. Some fonts can affect the weight of the text. If an update request specifies values for both `font_family` and `bold`, the explicitly-set `bold` value is used.", +"type": "string" +}, +"fontSize": { +"$ref": "Dimension", +"description": "The size of the text's font. When read, the `font_size` will specified in points." +}, +"foregroundColor": { +"$ref": "OptionalColor", +"description": "The color of the text itself. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set." +}, +"italic": { +"description": "Whether or not the text is italicized.", +"type": "boolean" +}, +"link": { +"$ref": "Link", +"description": "The hyperlink destination of the text. If unset, there is no link. Links are not inherited from parent text. Changing the link in an update request causes some other changes to the text style of the range: * When setting a link, the text foreground color will be set to ThemeColorType.HYPERLINK and the text will be underlined. If these fields are modified in the same request, those values will be used instead of the link defaults. * Setting a link on a text range that overlaps with an existing link will also update the existing link to point to the new URL. * Links are not settable on newline characters. As a result, setting a link on a text range that crosses a paragraph boundary, such as `\"ABC\\n123\"`, will separate the newline character(s) into their own text runs. The link will be applied separately to the runs before and after the newline. * Removing a link will update the text style of the range to match the style of the preceding text (or the default text styles if the preceding text is another link) unless different styles are being set in the same request." +}, +"smallCaps": { +"description": "Whether or not the text is in small capital letters.", +"type": "boolean" +}, +"strikethrough": { +"description": "Whether or not the text is struck through.", +"type": "boolean" +}, +"underline": { +"description": "Whether or not the text is underlined.", +"type": "boolean" +}, +"weightedFontFamily": { +"$ref": "WeightedFontFamily", +"description": "The font family and rendered weight of the text. This field is an extension of `font_family` meant to support explicit font weights without breaking backwards compatibility. As such, when reading the style of a range of text, the value of `weighted_font_family#font_family` will always be equal to that of `font_family`. However, when writing, if both fields are included in the field mask (either explicitly or through the wildcard `\"*\"`), their values are reconciled as follows: * If `font_family` is set and `weighted_font_family` is not, the value of `font_family` is applied with weight `400` (\"normal\"). * If both fields are set, the value of `font_family` must match that of `weighted_font_family#font_family`. If so, the font family and weight of `weighted_font_family` is applied. Otherwise, a 400 bad request error is returned. * If `weighted_font_family` is set and `font_family` is not, the font family and weight of `weighted_font_family` is applied. * If neither field is set, the font family and weight of the text inherit from the parent. Note that these properties cannot inherit separately from each other. If an update request specifies values for both `weighted_font_family` and `bold`, the `weighted_font_family` is applied first, then `bold`. If `weighted_font_family#weight` is not set, it defaults to `400`. If `weighted_font_family` is set, then `weighted_font_family#font_family` must also be set with a non-empty value. Otherwise, a 400 bad request error is returned." +} +}, +"type": "object" +}, +"ThemeColorPair": { +"description": "A pair mapping a theme color type to the concrete color it represents.", +"id": "ThemeColorPair", +"properties": { +"color": { +"$ref": "RgbColor", +"description": "The concrete color corresponding to the theme color type above." +}, +"type": { +"description": "The type of the theme color.", +"enum": [ +"THEME_COLOR_TYPE_UNSPECIFIED", +"DARK1", +"LIGHT1", +"DARK2", +"LIGHT2", +"ACCENT1", +"ACCENT2", +"ACCENT3", +"ACCENT4", +"ACCENT5", +"ACCENT6", +"HYPERLINK", +"FOLLOWED_HYPERLINK", +"TEXT1", +"BACKGROUND1", +"TEXT2", +"BACKGROUND2" +], +"enumDescriptions": [ +"Unspecified theme color. This value should not be used.", +"Represents the first dark color.", +"Represents the first light color.", +"Represents the second dark color.", +"Represents the second light color.", +"Represents the first accent color.", +"Represents the second accent color.", +"Represents the third accent color.", +"Represents the fourth accent color.", +"Represents the fifth accent color.", +"Represents the sixth accent color.", +"Represents the color to use for hyperlinks.", +"Represents the color to use for visited hyperlinks.", +"Represents the first text color.", +"Represents the first background color.", +"Represents the second text color.", +"Represents the second background color." +], +"type": "string" +} +}, +"type": "object" +}, +"Thumbnail": { +"description": "The thumbnail of a page.", +"id": "Thumbnail", +"properties": { +"contentUrl": { +"description": "The content URL of the thumbnail image. The URL to the image has a default lifetime of 30 minutes. This URL is tagged with the account of the requester. Anyone with the URL effectively accesses the image as the original requester. Access to the image may be lost if the presentation's sharing settings change. The mime type of the thumbnail image is the same as specified in the `GetPageThumbnailRequest`.", +"type": "string" +}, +"height": { +"description": "The positive height in pixels of the thumbnail image.", +"format": "int32", +"type": "integer" +}, +"width": { +"description": "The positive width in pixels of the thumbnail image.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"UngroupObjectsRequest": { +"description": "Ungroups objects, such as groups.", +"id": "UngroupObjectsRequest", +"properties": { +"objectIds": { +"description": "The object IDs of the objects to ungroup. Only groups that are not inside other groups can be ungrouped. All the groups should be on the same page. The group itself is deleted. The visual sizes and positions of all the children are preserved.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"UnmergeTableCellsRequest": { +"description": "Unmerges cells in a Table.", +"id": "UnmergeTableCellsRequest", +"properties": { +"objectId": { +"description": "The object ID of the table.", +"type": "string" +}, +"tableRange": { +"$ref": "TableRange", +"description": "The table range specifying which cells of the table to unmerge. All merged cells in this range will be unmerged, and cells that are already unmerged will not be affected. If the range has no merged cells, the request will do nothing. If there is text in any of the merged cells, the text will remain in the upper-left (\"head\") cell of the resulting block of unmerged cells." +} +}, +"type": "object" +}, +"UpdateImagePropertiesRequest": { +"description": "Update the properties of an Image.", +"id": "UpdateImagePropertiesRequest", +"properties": { +"fields": { +"description": "The fields that should be updated. At least one field must be specified. The root `imageProperties` is implied and should not be specified. A single `\"*\"` can be used as short-hand for listing every field. For example to update the image outline color, set `fields` to `\"outline.outlineFill.solidFill.color\"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset.", +"format": "google-fieldmask", +"type": "string" +}, +"imageProperties": { +"$ref": "ImageProperties", +"description": "The image properties to update." +}, +"objectId": { +"description": "The object ID of the image the updates are applied to.", +"type": "string" +} +}, +"type": "object" +}, +"UpdateLineCategoryRequest": { +"description": "Updates the category of a line.", +"id": "UpdateLineCategoryRequest", +"properties": { +"lineCategory": { +"description": "The line category to update to. The exact line type is determined based on the category to update to and how it's routed to connect to other page elements.", +"enum": [ +"LINE_CATEGORY_UNSPECIFIED", +"STRAIGHT", +"BENT", +"CURVED" +], +"enumDescriptions": [ +"Unspecified line category.", +"Straight connectors, including straight connector 1.", +"Bent connectors, including bent connector 2 to 5.", +"Curved connectors, including curved connector 2 to 5." +], +"type": "string" +}, +"objectId": { +"description": "The object ID of the line the update is applied to. Only a line with a category indicating it is a \"connector\" can be updated. The line may be rerouted after updating its category.", +"type": "string" +} +}, +"type": "object" +}, +"UpdateLinePropertiesRequest": { +"description": "Updates the properties of a Line.", +"id": "UpdateLinePropertiesRequest", +"properties": { +"fields": { +"description": "The fields that should be updated. At least one field must be specified. The root `lineProperties` is implied and should not be specified. A single `\"*\"` can be used as short-hand for listing every field. For example to update the line solid fill color, set `fields` to `\"lineFill.solidFill.color\"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset.", +"format": "google-fieldmask", +"type": "string" +}, +"lineProperties": { +"$ref": "LineProperties", +"description": "The line properties to update." +}, +"objectId": { +"description": "The object ID of the line the update is applied to.", +"type": "string" +} +}, +"type": "object" +}, +"UpdatePageElementAltTextRequest": { +"description": "Updates the alt text title and/or description of a page element.", +"id": "UpdatePageElementAltTextRequest", +"properties": { +"description": { +"description": "The updated alt text description of the page element. If unset the existing value will be maintained. The description is exposed to screen readers and other accessibility interfaces. Only use human readable values related to the content of the page element.", +"type": "string" +}, +"objectId": { +"description": "The object ID of the page element the updates are applied to.", +"type": "string" +}, +"title": { +"description": "The updated alt text title of the page element. If unset the existing value will be maintained. The title is exposed to screen readers and other accessibility interfaces. Only use human readable values related to the content of the page element.", +"type": "string" +} +}, +"type": "object" +}, +"UpdatePageElementTransformRequest": { +"description": "Updates the transform of a page element. Updating the transform of a group will change the absolute transform of the page elements in that group, which can change their visual appearance. See the documentation for PageElement.transform for more details.", +"id": "UpdatePageElementTransformRequest", +"properties": { +"applyMode": { +"description": "The apply mode of the transform update.", +"enum": [ +"APPLY_MODE_UNSPECIFIED", +"RELATIVE", +"ABSOLUTE" +], +"enumDescriptions": [ +"Unspecified mode.", +"Applies the new AffineTransform matrix to the existing one, and replaces the existing one with the resulting concatenation.", +"Replaces the existing AffineTransform matrix with the new one." +], +"type": "string" +}, +"objectId": { +"description": "The object ID of the page element to update.", +"type": "string" +}, +"transform": { +"$ref": "AffineTransform", +"description": "The input transform matrix used to update the page element." +} +}, +"type": "object" +}, +"UpdatePageElementsZOrderRequest": { +"description": "Updates the Z-order of page elements. Z-order is an ordering of the elements on the page from back to front. The page element in the front may cover the elements that are behind it.", +"id": "UpdatePageElementsZOrderRequest", +"properties": { +"operation": { +"description": "The Z-order operation to apply on the page elements. When applying the operation on multiple page elements, the relative Z-orders within these page elements before the operation is maintained.", +"enum": [ +"Z_ORDER_OPERATION_UNSPECIFIED", +"BRING_TO_FRONT", +"BRING_FORWARD", +"SEND_BACKWARD", +"SEND_TO_BACK" +], +"enumDescriptions": [ +"Unspecified operation.", +"Brings the page elements to the front of the page.", +"Brings the page elements forward on the page by one element relative to the forwardmost one in the specified page elements.", +"Sends the page elements backward on the page by one element relative to the furthest behind one in the specified page elements.", +"Sends the page elements to the back of the page." +], +"type": "string" +}, +"pageElementObjectIds": { +"description": "The object IDs of the page elements to update. All the page elements must be on the same page and must not be grouped.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"UpdatePagePropertiesRequest": { +"description": "Updates the properties of a Page.", +"id": "UpdatePagePropertiesRequest", +"properties": { +"fields": { +"description": "The fields that should be updated. At least one field must be specified. The root `pageProperties` is implied and should not be specified. A single `\"*\"` can be used as short-hand for listing every field. For example to update the page background solid fill color, set `fields` to `\"pageBackgroundFill.solidFill.color\"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset.", +"format": "google-fieldmask", +"type": "string" +}, +"objectId": { +"description": "The object ID of the page the update is applied to.", +"type": "string" +}, +"pageProperties": { +"$ref": "PageProperties", +"description": "The page properties to update." +} +}, +"type": "object" +}, +"UpdateParagraphStyleRequest": { +"description": "Updates the styling for all of the paragraphs within a Shape or Table that overlap with the given text index range.", +"id": "UpdateParagraphStyleRequest", +"properties": { +"cellLocation": { +"$ref": "TableCellLocation", +"description": "The location of the cell in the table containing the paragraph(s) to style. If `object_id` refers to a table, `cell_location` must have a value. Otherwise, it must not." +}, +"fields": { +"description": "The fields that should be updated. At least one field must be specified. The root `style` is implied and should not be specified. A single `\"*\"` can be used as short-hand for listing every field. For example, to update the paragraph alignment, set `fields` to `\"alignment\"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset.", +"format": "google-fieldmask", +"type": "string" +}, +"objectId": { +"description": "The object ID of the shape or table with the text to be styled.", +"type": "string" +}, +"style": { +"$ref": "ParagraphStyle", +"description": "The paragraph's style." +}, +"textRange": { +"$ref": "Range", +"description": "The range of text containing the paragraph(s) to style." +} +}, +"type": "object" +}, +"UpdateShapePropertiesRequest": { +"description": "Update the properties of a Shape.", +"id": "UpdateShapePropertiesRequest", +"properties": { +"fields": { +"description": "The fields that should be updated. At least one field must be specified. The root `shapeProperties` is implied and should not be specified. A single `\"*\"` can be used as short-hand for listing every field. For example to update the shape background solid fill color, set `fields` to `\"shapeBackgroundFill.solidFill.color\"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset.", +"format": "google-fieldmask", +"type": "string" +}, +"objectId": { +"description": "The object ID of the shape the updates are applied to.", +"type": "string" +}, +"shapeProperties": { +"$ref": "ShapeProperties", +"description": "The shape properties to update." +} +}, +"type": "object" +}, +"UpdateSlidePropertiesRequest": { +"description": "Updates the properties of a Slide.", +"id": "UpdateSlidePropertiesRequest", +"properties": { +"fields": { +"description": "The fields that should be updated. At least one field must be specified. The root 'slideProperties' is implied and should not be specified. A single `\"*\"` can be used as short-hand for listing every field. For example to update whether a slide is skipped, set `fields` to `\"isSkipped\"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset.", +"format": "google-fieldmask", +"type": "string" +}, +"objectId": { +"description": "The object ID of the slide the update is applied to.", +"type": "string" +}, +"slideProperties": { +"$ref": "SlideProperties", +"description": "The slide properties to update." +} +}, +"type": "object" +}, +"UpdateSlidesPositionRequest": { +"description": "Updates the position of slides in the presentation.", +"id": "UpdateSlidesPositionRequest", +"properties": { +"insertionIndex": { +"description": "The index where the slides should be inserted, based on the slide arrangement before the move takes place. Must be between zero and the number of slides in the presentation, inclusive.", +"format": "int32", +"type": "integer" +}, +"slideObjectIds": { +"description": "The IDs of the slides in the presentation that should be moved. The slides in this list must be in existing presentation order, without duplicates.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"UpdateTableBorderPropertiesRequest": { +"description": "Updates the properties of the table borders in a Table.", +"id": "UpdateTableBorderPropertiesRequest", +"properties": { +"borderPosition": { +"description": "The border position in the table range the updates should apply to. If a border position is not specified, the updates will apply to all borders in the table range.", +"enum": [ +"ALL", +"BOTTOM", +"INNER", +"INNER_HORIZONTAL", +"INNER_VERTICAL", +"LEFT", +"OUTER", +"RIGHT", +"TOP" +], +"enumDescriptions": [ +"All borders in the range.", +"Borders at the bottom of the range.", +"Borders on the inside of the range.", +"Horizontal borders on the inside of the range.", +"Vertical borders on the inside of the range.", +"Borders at the left of the range.", +"Borders along the outside of the range.", +"Borders at the right of the range.", +"Borders at the top of the range." +], +"type": "string" +}, +"fields": { +"description": "The fields that should be updated. At least one field must be specified. The root `tableBorderProperties` is implied and should not be specified. A single `\"*\"` can be used as short-hand for listing every field. For example to update the table border solid fill color, set `fields` to `\"tableBorderFill.solidFill.color\"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset.", +"format": "google-fieldmask", +"type": "string" +}, +"objectId": { +"description": "The object ID of the table.", +"type": "string" +}, +"tableBorderProperties": { +"$ref": "TableBorderProperties", +"description": "The table border properties to update." +}, +"tableRange": { +"$ref": "TableRange", +"description": "The table range representing the subset of the table to which the updates are applied. If a table range is not specified, the updates will apply to the entire table." +} +}, +"type": "object" +}, +"UpdateTableCellPropertiesRequest": { +"description": "Update the properties of a TableCell.", +"id": "UpdateTableCellPropertiesRequest", +"properties": { +"fields": { +"description": "The fields that should be updated. At least one field must be specified. The root `tableCellProperties` is implied and should not be specified. A single `\"*\"` can be used as short-hand for listing every field. For example to update the table cell background solid fill color, set `fields` to `\"tableCellBackgroundFill.solidFill.color\"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset.", +"format": "google-fieldmask", +"type": "string" +}, +"objectId": { +"description": "The object ID of the table.", +"type": "string" +}, +"tableCellProperties": { +"$ref": "TableCellProperties", +"description": "The table cell properties to update." +}, +"tableRange": { +"$ref": "TableRange", +"description": "The table range representing the subset of the table to which the updates are applied. If a table range is not specified, the updates will apply to the entire table." +} +}, +"type": "object" +}, +"UpdateTableColumnPropertiesRequest": { +"description": "Updates the properties of a Table column.", +"id": "UpdateTableColumnPropertiesRequest", +"properties": { +"columnIndices": { +"description": "The list of zero-based indices specifying which columns to update. If no indices are provided, all columns in the table will be updated.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"fields": { +"description": "The fields that should be updated. At least one field must be specified. The root `tableColumnProperties` is implied and should not be specified. A single `\"*\"` can be used as short-hand for listing every field. For example to update the column width, set `fields` to `\"column_width\"`. If '\"column_width\"' is included in the field mask but the property is left unset, the column width will default to 406,400 EMU (32 points).", +"format": "google-fieldmask", +"type": "string" +}, +"objectId": { +"description": "The object ID of the table.", +"type": "string" +}, +"tableColumnProperties": { +"$ref": "TableColumnProperties", +"description": "The table column properties to update. If the value of `table_column_properties#column_width` in the request is less than 406,400 EMU (32 points), a 400 bad request error is returned." +} +}, +"type": "object" +}, +"UpdateTableRowPropertiesRequest": { +"description": "Updates the properties of a Table row.", +"id": "UpdateTableRowPropertiesRequest", +"properties": { +"fields": { +"description": "The fields that should be updated. At least one field must be specified. The root `tableRowProperties` is implied and should not be specified. A single `\"*\"` can be used as short-hand for listing every field. For example to update the minimum row height, set `fields` to `\"min_row_height\"`. If '\"min_row_height\"' is included in the field mask but the property is left unset, the minimum row height will default to 0.", +"format": "google-fieldmask", +"type": "string" +}, +"objectId": { +"description": "The object ID of the table.", +"type": "string" +}, +"rowIndices": { +"description": "The list of zero-based indices specifying which rows to update. If no indices are provided, all rows in the table will be updated.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"tableRowProperties": { +"$ref": "TableRowProperties", +"description": "The table row properties to update." +} +}, +"type": "object" +}, +"UpdateTextStyleRequest": { +"description": "Update the styling of text in a Shape or Table.", +"id": "UpdateTextStyleRequest", +"properties": { +"cellLocation": { +"$ref": "TableCellLocation", +"description": "The location of the cell in the table containing the text to style. If `object_id` refers to a table, `cell_location` must have a value. Otherwise, it must not." +}, +"fields": { +"description": "The fields that should be updated. At least one field must be specified. The root `style` is implied and should not be specified. A single `\"*\"` can be used as short-hand for listing every field. For example, to update the text style to bold, set `fields` to `\"bold\"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset.", +"format": "google-fieldmask", +"type": "string" +}, +"objectId": { +"description": "The object ID of the shape or table with the text to be styled.", +"type": "string" +}, +"style": { +"$ref": "TextStyle", +"description": "The style(s) to set on the text. If the value for a particular style matches that of the parent, that style will be set to inherit. Certain text style changes may cause other changes meant to mirror the behavior of the Slides editor. See the documentation of TextStyle for more information." +}, +"textRange": { +"$ref": "Range", +"description": "The range of text to style. The range may be extended to include adjacent newlines. If the range fully contains a paragraph belonging to a list, the paragraph's bullet is also updated with the matching text style." +} +}, +"type": "object" +}, +"UpdateVideoPropertiesRequest": { +"description": "Update the properties of a Video.", +"id": "UpdateVideoPropertiesRequest", +"properties": { +"fields": { +"description": "The fields that should be updated. At least one field must be specified. The root `videoProperties` is implied and should not be specified. A single `\"*\"` can be used as short-hand for listing every field. For example to update the video outline color, set `fields` to `\"outline.outlineFill.solidFill.color\"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset.", +"format": "google-fieldmask", +"type": "string" +}, +"objectId": { +"description": "The object ID of the video the updates are applied to.", +"type": "string" +}, +"videoProperties": { +"$ref": "VideoProperties", +"description": "The video properties to update." +} +}, +"type": "object" +}, +"Video": { +"description": "A PageElement kind representing a video.", +"id": "Video", +"properties": { +"id": { +"description": "The video source's unique identifier for this video.", +"type": "string" +}, +"source": { +"description": "The video source.", +"enum": [ +"SOURCE_UNSPECIFIED", +"YOUTUBE", +"DRIVE" +], +"enumDescriptions": [ +"The video source is unspecified.", +"The video source is YouTube.", +"The video source is Google Drive." +], +"type": "string" +}, +"url": { +"description": "An URL to a video. The URL is valid as long as the source video exists and sharing settings do not change.", +"type": "string" +}, +"videoProperties": { +"$ref": "VideoProperties", +"description": "The properties of the video." +} +}, +"type": "object" +}, +"VideoProperties": { +"description": "The properties of the Video.", +"id": "VideoProperties", +"properties": { +"autoPlay": { +"description": "Whether to enable video autoplay when the page is displayed in present mode. Defaults to false.", +"type": "boolean" +}, +"end": { +"description": "The time at which to end playback, measured in seconds from the beginning of the video. If set, the end time should be after the start time. If not set or if you set this to a value that exceeds the video's length, the video will be played until its end.", +"format": "uint32", +"type": "integer" +}, +"mute": { +"description": "Whether to mute the audio during video playback. Defaults to false.", +"type": "boolean" +}, +"outline": { +"$ref": "Outline", +"description": "The outline of the video. The default outline matches the defaults for new videos created in the Slides editor." +}, +"start": { +"description": "The time at which to start playback, measured in seconds from the beginning of the video. If set, the start time should be before the end time. If you set this to a value that exceeds the video's length in seconds, the video will be played from the last second. If not set, the video will be played from the beginning.", +"format": "uint32", +"type": "integer" +} +}, +"type": "object" +}, +"WeightedFontFamily": { +"description": "Represents a font family and weight used to style a TextRun.", +"id": "WeightedFontFamily", +"properties": { +"fontFamily": { +"description": "The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`.", +"type": "string" +}, +"weight": { +"description": "The rendered weight of the text. This field can have any value that is a multiple of `100` between `100` and `900`, inclusive. This range corresponds to the numerical values described in the CSS 2.1 Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness), with non-numerical values disallowed. Weights greater than or equal to `700` are considered bold, and weights less than `700`are not bold. The default value is `400` (\"normal\").", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"WordArt": { +"description": "A PageElement kind representing word art.", +"id": "WordArt", +"properties": { +"renderedText": { +"description": "The text rendered as word art.", +"type": "string" +} +}, +"type": "object" +}, +"WriteControl": { +"description": "Provides control over how write requests are executed.", +"id": "WriteControl", +"properties": { +"requiredRevisionId": { +"description": "The revision ID of the presentation required for the write request. If specified and the required revision ID doesn't match the presentation's current revision ID, the request is not processed and returns a 400 bad request error. When a required revision ID is returned in a response, it indicates the revision ID of the document after the request was applied.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Google Slides 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/smartdevicemanagement.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/smartdevicemanagement.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..81782e2ee2382a65506a89c12cba0a0e3f58a18f --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/smartdevicemanagement.v1.json @@ -0,0 +1,488 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/sdm.service": { +"description": "See and/or control the devices that you selected" +} +} +} +}, +"basePath": "", +"baseUrl": "https://smartdevicemanagement.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Smart Device Management", +"description": "Allow select enterprise partners to access, control, and manage Google and Nest devices programmatically.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/nest/device-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": "smartdevicemanagement:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://smartdevicemanagement.mtls.googleapis.com/", +"name": "smartdevicemanagement", +"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": { +"enterprises": { +"resources": { +"devices": { +"methods": { +"executeCommand": { +"description": "Executes a command to device managed by the enterprise.", +"flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}:executeCommand", +"httpMethod": "POST", +"id": "smartdevicemanagement.enterprises.devices.executeCommand", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the device requested. For example: \"enterprises/XYZ/devices/123\"", +"location": "path", +"pattern": "^enterprises/[^/]+/devices/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:executeCommand", +"request": { +"$ref": "GoogleHomeEnterpriseSdmV1ExecuteDeviceCommandRequest" +}, +"response": { +"$ref": "GoogleHomeEnterpriseSdmV1ExecuteDeviceCommandResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/sdm.service" +] +}, +"get": { +"description": "Gets a device managed by the enterprise.", +"flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}", +"httpMethod": "GET", +"id": "smartdevicemanagement.enterprises.devices.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the device requested. For example: \"enterprises/XYZ/devices/123\"", +"location": "path", +"pattern": "^enterprises/[^/]+/devices/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleHomeEnterpriseSdmV1Device" +}, +"scopes": [ +"https://www.googleapis.com/auth/sdm.service" +] +}, +"list": { +"description": "Lists devices managed by the enterprise.", +"flatPath": "v1/enterprises/{enterprisesId}/devices", +"httpMethod": "GET", +"id": "smartdevicemanagement.enterprises.devices.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional filter to list devices. Filters can be done on: Device custom name (substring match): 'customName=wing'", +"location": "query", +"type": "string" +}, +"parent": { +"description": "The parent enterprise to list devices under. E.g. \"enterprises/XYZ\".", +"location": "path", +"pattern": "^enterprises/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/devices", +"response": { +"$ref": "GoogleHomeEnterpriseSdmV1ListDevicesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/sdm.service" +] +} +} +}, +"structures": { +"methods": { +"get": { +"description": "Gets a structure managed by the enterprise.", +"flatPath": "v1/enterprises/{enterprisesId}/structures/{structuresId}", +"httpMethod": "GET", +"id": "smartdevicemanagement.enterprises.structures.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the structure requested. For example: \"enterprises/XYZ/structures/ABC\".", +"location": "path", +"pattern": "^enterprises/[^/]+/structures/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleHomeEnterpriseSdmV1Structure" +}, +"scopes": [ +"https://www.googleapis.com/auth/sdm.service" +] +}, +"list": { +"description": "Lists structures managed by the enterprise.", +"flatPath": "v1/enterprises/{enterprisesId}/structures", +"httpMethod": "GET", +"id": "smartdevicemanagement.enterprises.structures.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional filter to list structures.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "The parent enterprise to list structures under. E.g. \"enterprises/XYZ\".", +"location": "path", +"pattern": "^enterprises/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/structures", +"response": { +"$ref": "GoogleHomeEnterpriseSdmV1ListStructuresResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/sdm.service" +] +} +}, +"resources": { +"rooms": { +"methods": { +"get": { +"description": "Gets a room managed by the enterprise.", +"flatPath": "v1/enterprises/{enterprisesId}/structures/{structuresId}/rooms/{roomsId}", +"httpMethod": "GET", +"id": "smartdevicemanagement.enterprises.structures.rooms.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the room requested. For example: \"enterprises/XYZ/structures/ABC/rooms/123\".", +"location": "path", +"pattern": "^enterprises/[^/]+/structures/[^/]+/rooms/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleHomeEnterpriseSdmV1Room" +}, +"scopes": [ +"https://www.googleapis.com/auth/sdm.service" +] +}, +"list": { +"description": "Lists rooms managed by the enterprise.", +"flatPath": "v1/enterprises/{enterprisesId}/structures/{structuresId}/rooms", +"httpMethod": "GET", +"id": "smartdevicemanagement.enterprises.structures.rooms.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "The parent resource name of the rooms requested. For example: \"enterprises/XYZ/structures/ABC\".", +"location": "path", +"pattern": "^enterprises/[^/]+/structures/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/rooms", +"response": { +"$ref": "GoogleHomeEnterpriseSdmV1ListRoomsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/sdm.service" +] +} +} +} +} +} +} +} +}, +"revision": "20240616", +"rootUrl": "https://smartdevicemanagement.googleapis.com/", +"schemas": { +"GoogleHomeEnterpriseSdmV1Device": { +"description": "Device resource represents an instance of enterprise managed device in the property.", +"id": "GoogleHomeEnterpriseSdmV1Device", +"properties": { +"name": { +"description": "Required. The resource name of the device. For example: \"enterprises/XYZ/devices/123\".", +"type": "string" +}, +"parentRelations": { +"description": "Assignee details of the device.", +"items": { +"$ref": "GoogleHomeEnterpriseSdmV1ParentRelation" +}, +"type": "array" +}, +"traits": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Output only. Device traits.", +"readOnly": true, +"type": "object" +}, +"type": { +"description": "Output only. Type of the device for general display purposes. For example: \"THERMOSTAT\". The device type should not be used to deduce or infer functionality of the actual device it is assigned to. Instead, use the returned traits for the device.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleHomeEnterpriseSdmV1ExecuteDeviceCommandRequest": { +"description": "Request message for SmartDeviceManagementService.ExecuteDeviceCommand", +"id": "GoogleHomeEnterpriseSdmV1ExecuteDeviceCommandRequest", +"properties": { +"command": { +"description": "The command name to execute, represented by the fully qualified protobuf message name.", +"type": "string" +}, +"params": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The command message to execute, represented as a Struct.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleHomeEnterpriseSdmV1ExecuteDeviceCommandResponse": { +"description": "Response message for SmartDeviceManagementService.ExecuteDeviceCommand", +"id": "GoogleHomeEnterpriseSdmV1ExecuteDeviceCommandResponse", +"properties": { +"results": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The results of executing the command.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleHomeEnterpriseSdmV1ListDevicesResponse": { +"description": "Response message for SmartDeviceManagementService.ListDevices", +"id": "GoogleHomeEnterpriseSdmV1ListDevicesResponse", +"properties": { +"devices": { +"description": "The list of devices.", +"items": { +"$ref": "GoogleHomeEnterpriseSdmV1Device" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleHomeEnterpriseSdmV1ListRoomsResponse": { +"description": "Response message for SmartDeviceManagementService.ListRooms", +"id": "GoogleHomeEnterpriseSdmV1ListRoomsResponse", +"properties": { +"rooms": { +"description": "The list of rooms.", +"items": { +"$ref": "GoogleHomeEnterpriseSdmV1Room" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleHomeEnterpriseSdmV1ListStructuresResponse": { +"description": "Response message for SmartDeviceManagementService.ListStructures", +"id": "GoogleHomeEnterpriseSdmV1ListStructuresResponse", +"properties": { +"structures": { +"description": "The list of structures.", +"items": { +"$ref": "GoogleHomeEnterpriseSdmV1Structure" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleHomeEnterpriseSdmV1ParentRelation": { +"description": "Represents device relationships, for instance, structure/room to which the device is assigned to.", +"id": "GoogleHomeEnterpriseSdmV1ParentRelation", +"properties": { +"displayName": { +"description": "Output only. The custom name of the relation -- e.g., structure/room where the device is assigned to.", +"readOnly": true, +"type": "string" +}, +"parent": { +"description": "Output only. The name of the relation -- e.g., structure/room where the device is assigned to. For example: \"enterprises/XYZ/structures/ABC\" or \"enterprises/XYZ/structures/ABC/rooms/123\"", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleHomeEnterpriseSdmV1Room": { +"description": "Room resource represents an instance of sub-space within a structure such as rooms in a hotel suite or rental apartment.", +"id": "GoogleHomeEnterpriseSdmV1Room", +"properties": { +"name": { +"description": "Output only. The resource name of the room. For example: \"enterprises/XYZ/structures/ABC/rooms/123\".", +"readOnly": true, +"type": "string" +}, +"traits": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Room traits.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleHomeEnterpriseSdmV1Structure": { +"description": "Structure resource represents an instance of enterprise managed home or hotel room.", +"id": "GoogleHomeEnterpriseSdmV1Structure", +"properties": { +"name": { +"description": "Output only. The resource name of the structure. For example: \"enterprises/XYZ/structures/ABC\".", +"readOnly": true, +"type": "string" +}, +"traits": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Structure traits.", +"type": "object" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Smart Device 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/speech.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/speech.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..0bde2aa8e2f3d5496900daa3a4d76bfcd1914819 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/speech.v1.json @@ -0,0 +1,1537 @@ +{ +"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://speech.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Speech", +"description": "Converts audio to text by applying powerful neural network models.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/speech-to-text/docs/quickstart-protocol", +"endpoints": [ +{ +"description": "Regional Endpoint", +"endpointUrl": "https://speech.us-central1.rep.googleapis.com/", +"location": "us-central1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://speech.us-west1.rep.googleapis.com/", +"location": "us-west1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://speech.me-west1.rep.googleapis.com/", +"location": "me-west1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://speech.europe-west1.rep.googleapis.com/", +"location": "europe-west1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://speech.europe-west2.rep.googleapis.com/", +"location": "europe-west2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://speech.europe-west3.rep.googleapis.com/", +"location": "europe-west3" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://speech.europe-west4.rep.googleapis.com/", +"location": "europe-west4" +} +], +"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": "speech:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://speech.mtls.googleapis.com/", +"name": "speech", +"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": "speech.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^.*$", +"required": true, +"type": "string" +} +}, +"path": "v1/operations/{+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/operations", +"httpMethod": "GET", +"id": "speech.operations.list", +"parameterOrder": [], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"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": "v1/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"projects": { +"resources": { +"locations": { +"resources": { +"customClasses": { +"methods": { +"create": { +"description": "Create a custom class.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customClasses", +"httpMethod": "POST", +"id": "speech.projects.locations.customClasses.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource where this custom class will be created. Format: `projects/{project}/locations/{location}/customClasses` Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](https://cloud.google.com/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/customClasses", +"request": { +"$ref": "CreateCustomClassRequest" +}, +"response": { +"$ref": "CustomClass" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Delete a custom class.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customClasses/{customClassesId}", +"httpMethod": "DELETE", +"id": "speech.projects.locations.customClasses.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the custom class to delete. Format: `projects/{project}/locations/{location}/customClasses/{custom_class}` Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](https://cloud.google.com/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/customClasses/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Get a custom class.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customClasses/{customClassesId}", +"httpMethod": "GET", +"id": "speech.projects.locations.customClasses.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the custom class to retrieve. Format: `projects/{project}/locations/{location}/customClasses/{custom_class}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/customClasses/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "CustomClass" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "List custom classes.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customClasses", +"httpMethod": "GET", +"id": "speech.projects.locations.customClasses.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of custom classes to return. The service may return fewer than this value. If unspecified, at most 50 custom classes 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 `ListCustomClass` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCustomClass` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of custom classes. Format: `projects/{project}/locations/{location}/customClasses` Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](https://cloud.google.com/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/customClasses", +"response": { +"$ref": "ListCustomClassesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Update a custom class.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customClasses/{customClassesId}", +"httpMethod": "PATCH", +"id": "speech.projects.locations.customClasses.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name of the custom class.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/customClasses/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The list of fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "CustomClass" +}, +"response": { +"$ref": "CustomClass" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"phraseSets": { +"methods": { +"create": { +"description": "Create a set of phrase hints. Each item in the set can be a single word or a multi-word phrase. The items in the PhraseSet are favored by the recognition model when you send a call that includes the PhraseSet.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/phraseSets", +"httpMethod": "POST", +"id": "speech.projects.locations.phraseSets.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource where this phrase set will be created. Format: `projects/{project}/locations/{location}` Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](https://cloud.google.com/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/phraseSets", +"request": { +"$ref": "CreatePhraseSetRequest" +}, +"response": { +"$ref": "PhraseSet" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Delete a phrase set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/phraseSets/{phraseSetsId}", +"httpMethod": "DELETE", +"id": "speech.projects.locations.phraseSets.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the phrase set to delete. Format: `projects/{project}/locations/{location}/phraseSets/{phrase_set}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/phraseSets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Get a phrase set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/phraseSets/{phraseSetsId}", +"httpMethod": "GET", +"id": "speech.projects.locations.phraseSets.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the phrase set to retrieve. Format: `projects/{project}/locations/{location}/phraseSets/{phrase_set}` Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](https://cloud.google.com/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/phraseSets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "PhraseSet" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "List phrase sets.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/phraseSets", +"httpMethod": "GET", +"id": "speech.projects.locations.phraseSets.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of phrase sets to return. The service may return fewer than this value. If unspecified, at most 50 phrase 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 page token, received from a previous `ListPhraseSet` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPhraseSet` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of phrase set. Format: `projects/{project}/locations/{location}` Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](https://cloud.google.com/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/phraseSets", +"response": { +"$ref": "ListPhraseSetResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Update a phrase set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/phraseSets/{phraseSetsId}", +"httpMethod": "PATCH", +"id": "speech.projects.locations.phraseSets.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name of the phrase set.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/phraseSets/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The list of fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "PhraseSet" +}, +"response": { +"$ref": "PhraseSet" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"speech": { +"methods": { +"longrunningrecognize": { +"description": "Performs asynchronous speech recognition: receive results via the google.longrunning.Operations interface. Returns either an `Operation.error` or an `Operation.response` which contains a `LongRunningRecognizeResponse` message. For more information on asynchronous speech recognition, see the [how-to](https://cloud.google.com/speech-to-text/docs/async-recognize).", +"flatPath": "v1/speech:longrunningrecognize", +"httpMethod": "POST", +"id": "speech.speech.longrunningrecognize", +"parameterOrder": [], +"parameters": {}, +"path": "v1/speech:longrunningrecognize", +"request": { +"$ref": "LongRunningRecognizeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"recognize": { +"description": "Performs synchronous speech recognition: receive results after all audio has been sent and processed.", +"flatPath": "v1/speech:recognize", +"httpMethod": "POST", +"id": "speech.speech.recognize", +"parameterOrder": [], +"parameters": {}, +"path": "v1/speech:recognize", +"request": { +"$ref": "RecognizeRequest" +}, +"response": { +"$ref": "RecognizeResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +}, +"revision": "20241111", +"rootUrl": "https://speech.googleapis.com/", +"schemas": { +"ABNFGrammar": { +"id": "ABNFGrammar", +"properties": { +"abnfStrings": { +"description": "All declarations and rules of an ABNF grammar broken up into multiple strings that will end up concatenated.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ClassItem": { +"description": "An item of the class.", +"id": "ClassItem", +"properties": { +"value": { +"description": "The class item's value.", +"type": "string" +} +}, +"type": "object" +}, +"CreateCustomClassRequest": { +"description": "Message sent by the client for the `CreateCustomClass` method.", +"id": "CreateCustomClassRequest", +"properties": { +"customClass": { +"$ref": "CustomClass", +"description": "Required. The custom class to create." +}, +"customClassId": { +"description": "Required. The ID to use for the custom class, which will become the final component of the custom class' resource name. This value should restrict to letters, numbers, and hyphens, with the first character a letter, the last a letter or a number, and be 4-63 characters.", +"type": "string" +} +}, +"type": "object" +}, +"CreatePhraseSetRequest": { +"description": "Message sent by the client for the `CreatePhraseSet` method.", +"id": "CreatePhraseSetRequest", +"properties": { +"phraseSet": { +"$ref": "PhraseSet", +"description": "Required. The phrase set to create." +}, +"phraseSetId": { +"description": "Required. The ID to use for the phrase set, which will become the final component of the phrase set's resource name. This value should restrict to letters, numbers, and hyphens, with the first character a letter, the last a letter or a number, and be 4-63 characters.", +"type": "string" +} +}, +"type": "object" +}, +"CustomClass": { +"description": "A set of words or phrases that represents a common concept likely to appear in your audio, for example a list of passenger ship names. CustomClass items can be substituted into placeholders that you set in PhraseSet phrases.", +"id": "CustomClass", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. Allows users to store small amounts of arbitrary data. Both the key and the value must be 63 characters or less each. At most 100 annotations. This field is not used.", +"readOnly": true, +"type": "object" +}, +"customClassId": { +"description": "If this custom class is a resource, the custom_class_id is the resource id of the CustomClass. Case sensitive.", +"type": "string" +}, +"deleteTime": { +"description": "Output only. The time at which this resource was requested for deletion. This field is not used.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Output only. User-settable, human-readable name for the CustomClass. Must be 63 characters or less. This field is not used.", +"readOnly": true, +"type": "string" +}, +"etag": { +"description": "Output only. This checksum is computed by the server based on the value of other fields. This may be sent on update, undelete, and delete requests to ensure the client has an up-to-date value before proceeding. This field is not used.", +"readOnly": true, +"type": "string" +}, +"expireTime": { +"description": "Output only. The time at which this resource will be purged. This field is not used.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"items": { +"description": "A collection of class items.", +"items": { +"$ref": "ClassItem" +}, +"type": "array" +}, +"kmsKeyName": { +"description": "Output only. The [KMS key name](https://cloud.google.com/kms/docs/resource-hierarchy#keys) with which the content of the ClassItem is encrypted. The expected format is `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.", +"readOnly": true, +"type": "string" +}, +"kmsKeyVersionName": { +"description": "Output only. The [KMS key version name](https://cloud.google.com/kms/docs/resource-hierarchy#key_versions) with which content of the ClassItem is encrypted. The expected format is `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}`.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "The resource name of the custom class.", +"type": "string" +}, +"reconciling": { +"description": "Output only. Whether or not this CustomClass is in the process of being updated. This field is not used.", +"readOnly": true, +"type": "boolean" +}, +"state": { +"description": "Output only. The CustomClass lifecycle state. This field is not used.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"DELETED" +], +"enumDescriptions": [ +"Unspecified state. This is only used/useful for distinguishing unset values.", +"The normal and active state.", +"This CustomClass has been deleted." +], +"readOnly": true, +"type": "string" +}, +"uid": { +"description": "Output only. System-assigned unique identifier for the CustomClass. This field is not used.", +"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" +}, +"Entry": { +"description": "A single replacement configuration.", +"id": "Entry", +"properties": { +"caseSensitive": { +"description": "Whether the search is case sensitive.", +"type": "boolean" +}, +"replace": { +"description": "What to replace with. Max length is 100 characters.", +"type": "string" +}, +"search": { +"description": "What to replace. Max length is 100 characters.", +"type": "string" +} +}, +"type": "object" +}, +"ListCustomClassesResponse": { +"description": "Message returned to the client by the `ListCustomClasses` method.", +"id": "ListCustomClassesResponse", +"properties": { +"customClasses": { +"description": "The custom classes.", +"items": { +"$ref": "CustomClass" +}, +"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" +}, +"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" +}, +"ListPhraseSetResponse": { +"description": "Message returned to the client by the `ListPhraseSet` method.", +"id": "ListPhraseSetResponse", +"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" +}, +"phraseSets": { +"description": "The phrase set.", +"items": { +"$ref": "PhraseSet" +}, +"type": "array" +} +}, +"type": "object" +}, +"LongRunningRecognizeMetadata": { +"description": "Describes the progress of a long-running `LongRunningRecognize` call. It is included in the `metadata` field of the `Operation` returned by the `GetOperation` call of the `google::longrunning::Operations` service.", +"id": "LongRunningRecognizeMetadata", +"properties": { +"lastUpdateTime": { +"description": "Time of the most recent processing update.", +"format": "google-datetime", +"type": "string" +}, +"progressPercent": { +"description": "Approximate percentage of audio processed thus far. Guaranteed to be 100 when the audio is fully processed and the results are available.", +"format": "int32", +"type": "integer" +}, +"startTime": { +"description": "Time when the request was received.", +"format": "google-datetime", +"type": "string" +}, +"uri": { +"description": "Output only. The URI of the audio file being transcribed. Empty if the audio was sent as byte content.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"LongRunningRecognizeRequest": { +"description": "The top-level message sent by the client for the `LongRunningRecognize` method.", +"id": "LongRunningRecognizeRequest", +"properties": { +"audio": { +"$ref": "RecognitionAudio", +"description": "Required. The audio data to be recognized." +}, +"config": { +"$ref": "RecognitionConfig", +"description": "Required. Provides information to the recognizer that specifies how to process the request." +}, +"outputConfig": { +"$ref": "TranscriptOutputConfig", +"description": "Optional. Specifies an optional destination for the recognition results." +} +}, +"type": "object" +}, +"LongRunningRecognizeResponse": { +"description": "The only message returned to the client by the `LongRunningRecognize` method. It contains the result as zero or more sequential `SpeechRecognitionResult` messages. It is included in the `result.response` field of the `Operation` returned by the `GetOperation` call of the `google::longrunning::Operations` service.", +"id": "LongRunningRecognizeResponse", +"properties": { +"outputConfig": { +"$ref": "TranscriptOutputConfig", +"description": "Original output config if present in the request." +}, +"outputError": { +"$ref": "Status", +"description": "If the transcript output fails this field contains the relevant error." +}, +"requestId": { +"description": "The ID associated with the request. This is a unique ID specific only to the given request.", +"format": "int64", +"type": "string" +}, +"results": { +"description": "Sequential list of transcription results corresponding to sequential portions of audio.", +"items": { +"$ref": "SpeechRecognitionResult" +}, +"type": "array" +}, +"speechAdaptationInfo": { +"$ref": "SpeechAdaptationInfo", +"description": "Provides information on speech adaptation behavior in response" +}, +"totalBilledTime": { +"description": "When available, billed audio seconds for the corresponding request.", +"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": "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" +}, +"Phrase": { +"description": "A phrases containing words and phrase \"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-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. \"i was born in january\", \"i was born in febuary\", ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. \"i was born in $month\"). To refer to pre-built classes, use the class' symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class's `custom_class_id` to a string unique to all class resources and inline classes. Then use the class' id wrapped in $`{...}` e.g. \"${my-months}\". To refer to custom classes resources, use the class' id wrapped in `${}` (e.g. `${my-months}`). Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](https://cloud.google.com/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.", +"id": "Phrase", +"properties": { +"boost": { +"description": "Hint Boost. Overrides the boost set at the phrase set level. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 and 20. We recommend using a binary search approach to finding the optimal value for your use case as well as adding phrases both with and without boost to your requests.", +"format": "float", +"type": "number" +}, +"value": { +"description": "The phrase itself.", +"type": "string" +} +}, +"type": "object" +}, +"PhraseSet": { +"description": "Provides \"hints\" to the speech recognizer to favor specific words and phrases in the results.", +"id": "PhraseSet", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. Allows users to store small amounts of arbitrary data. Both the key and the value must be 63 characters or less each. At most 100 annotations. This field is not used.", +"readOnly": true, +"type": "object" +}, +"boost": { +"description": "Hint Boost. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost values would correspond to anti-biasing. Anti-biasing is not enabled, so negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 (exclusive) and 20. We recommend using a binary search approach to finding the optimal value for your use case as well as adding phrases both with and without boost to your requests.", +"format": "float", +"type": "number" +}, +"deleteTime": { +"description": "Output only. The time at which this resource was requested for deletion. This field is not used.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Output only. User-settable, human-readable name for the PhraseSet. Must be 63 characters or less. This field is not used.", +"readOnly": true, +"type": "string" +}, +"etag": { +"description": "Output only. This checksum is computed by the server based on the value of other fields. This may be sent on update, undelete, and delete requests to ensure the client has an up-to-date value before proceeding. This field is not used.", +"readOnly": true, +"type": "string" +}, +"expireTime": { +"description": "Output only. The time at which this resource will be purged. This field is not used.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"kmsKeyName": { +"description": "Output only. The [KMS key name](https://cloud.google.com/kms/docs/resource-hierarchy#keys) with which the content of the PhraseSet is encrypted. The expected format is `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.", +"readOnly": true, +"type": "string" +}, +"kmsKeyVersionName": { +"description": "Output only. The [KMS key version name](https://cloud.google.com/kms/docs/resource-hierarchy#key_versions) with which content of the PhraseSet is encrypted. The expected format is `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}`.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "The resource name of the phrase set.", +"type": "string" +}, +"phrases": { +"description": "A list of word and phrases.", +"items": { +"$ref": "Phrase" +}, +"type": "array" +}, +"reconciling": { +"description": "Output only. Whether or not this PhraseSet is in the process of being updated. This field is not used.", +"readOnly": true, +"type": "boolean" +}, +"state": { +"description": "Output only. The CustomClass lifecycle state. This field is not used.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"DELETED" +], +"enumDescriptions": [ +"Unspecified state. This is only used/useful for distinguishing unset values.", +"The normal and active state.", +"This CustomClass has been deleted." +], +"readOnly": true, +"type": "string" +}, +"uid": { +"description": "Output only. System-assigned unique identifier for the PhraseSet. This field is not used.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"RecognitionAudio": { +"description": "Contains audio data in the encoding specified in the `RecognitionConfig`. Either `content` or `uri` must be supplied. Supplying both or neither returns google.rpc.Code.INVALID_ARGUMENT. See [content limits](https://cloud.google.com/speech-to-text/quotas#content).", +"id": "RecognitionAudio", +"properties": { +"content": { +"description": "The audio data bytes encoded as specified in `RecognitionConfig`. Note: as with all bytes fields, proto buffers use a pure binary representation, whereas JSON representations use base64.", +"format": "byte", +"type": "string" +}, +"uri": { +"description": "URI that points to a file that contains audio data bytes as specified in `RecognitionConfig`. The file must not be compressed (for example, gzip). Currently, only Google Cloud Storage URIs are supported, which must be specified in the following format: `gs://bucket_name/object_name` (other URI formats return google.rpc.Code.INVALID_ARGUMENT). For more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris).", +"type": "string" +} +}, +"type": "object" +}, +"RecognitionConfig": { +"description": "Provides information to the recognizer that specifies how to process the request.", +"id": "RecognitionConfig", +"properties": { +"adaptation": { +"$ref": "SpeechAdaptation", +"description": "Speech adaptation configuration improves the accuracy of speech recognition. For more information, see the [speech adaptation](https://cloud.google.com/speech-to-text/docs/adaptation) documentation. When speech adaptation is set it supersedes the `speech_contexts` field." +}, +"alternativeLanguageCodes": { +"description": "A list of up to 3 additional [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tags, listing possible alternative languages of the supplied audio. See [Language Support](https://cloud.google.com/speech-to-text/docs/languages) for a list of the currently supported language codes. If alternative languages are listed, recognition result will contain recognition in the most likely language detected including the main language_code. The recognition result will include the language tag of the language detected in the audio. Note: This feature is only supported for Voice Command and Voice Search use cases and performance may vary for other use cases (e.g., phone call transcription).", +"items": { +"type": "string" +}, +"type": "array" +}, +"audioChannelCount": { +"description": "The number of channels in the input audio data. ONLY set this for MULTI-CHANNEL recognition. Valid values for LINEAR16, OGG_OPUS and FLAC are `1`-`8`. Valid value for MULAW, AMR, AMR_WB and SPEEX_WITH_HEADER_BYTE is only `1`. If `0` or omitted, defaults to one channel (mono). Note: We only recognize the first channel by default. To perform independent recognition on each channel set `enable_separate_recognition_per_channel` to 'true'.", +"format": "int32", +"type": "integer" +}, +"diarizationConfig": { +"$ref": "SpeakerDiarizationConfig", +"description": "Config to enable speaker diarization and set additional parameters to make diarization better suited for your application. Note: When this is enabled, we send all the words from the beginning of the audio for the top alternative in every consecutive STREAMING responses. This is done in order to improve our speaker tags as our models learn to identify the speakers in the conversation over time. For non-streaming requests, the diarization results will be provided only in the top alternative of the FINAL SpeechRecognitionResult." +}, +"enableAutomaticPunctuation": { +"description": "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.", +"type": "boolean" +}, +"enableSeparateRecognitionPerChannel": { +"description": "This needs to be set to `true` explicitly and `audio_channel_count` > 1 to get each channel recognized separately. The recognition result will contain a `channel_tag` field to state which channel that result belongs to. If this is not true, we will only recognize the first channel. The request is billed cumulatively for all channels recognized: `audio_channel_count` multiplied by the length of the audio.", +"type": "boolean" +}, +"enableSpokenEmojis": { +"description": "The spoken emoji behavior for the call If not set, uses default behavior based on model of choice If 'true', adds spoken emoji formatting for the request. This will replace spoken emojis with the corresponding Unicode symbols in the final transcript. If 'false', spoken emojis are not replaced.", +"type": "boolean" +}, +"enableSpokenPunctuation": { +"description": "The spoken punctuation behavior for the call If not set, uses default behavior based on model of choice e.g. command_and_search will enable spoken punctuation by default If 'true', replaces spoken punctuation with the corresponding symbols in the request. For example, \"how are you question mark\" becomes \"how are you?\". See https://cloud.google.com/speech-to-text/docs/spoken-punctuation for support. If 'false', spoken punctuation is not replaced.", +"type": "boolean" +}, +"enableWordConfidence": { +"description": "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" +}, +"enableWordTimeOffsets": { +"description": "If `true`, the top result includes a list of words and the start and end time offsets (timestamps) for those words. If `false`, no word-level time offset information is returned. The default is `false`.", +"type": "boolean" +}, +"encoding": { +"description": "Encoding of audio data sent in all `RecognitionAudio` messages. This field is optional for `FLAC` and `WAV` audio files and required for all other audio formats. For details, see AudioEncoding.", +"enum": [ +"ENCODING_UNSPECIFIED", +"LINEAR16", +"FLAC", +"MULAW", +"AMR", +"AMR_WB", +"OGG_OPUS", +"SPEEX_WITH_HEADER_BYTE", +"MP3", +"WEBM_OPUS", +"ALAW" +], +"enumDescriptions": [ +"Not specified.", +"Uncompressed 16-bit signed little-endian samples (Linear PCM).", +"`FLAC` (Free Lossless Audio Codec) is the recommended encoding because it is lossless--therefore recognition is not compromised--and requires only about half the bandwidth of `LINEAR16`. `FLAC` stream encoding supports 16-bit and 24-bit samples, however, not all fields in `STREAMINFO` are supported.", +"8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.", +"Adaptive Multi-Rate Narrowband codec. `sample_rate_hertz` must be 8000.", +"Adaptive Multi-Rate Wideband codec. `sample_rate_hertz` must be 16000.", +"Opus encoded audio frames in Ogg container ([OggOpus](https://wiki.xiph.org/OggOpus)). `sample_rate_hertz` must be one of 8000, 12000, 16000, 24000, or 48000.", +"Although the use of lossy encodings is not recommended, if a very low bitrate encoding is required, `OGG_OPUS` is highly preferred over Speex encoding. The [Speex](https://speex.org/) encoding supported by Cloud Speech API has a header byte in each block, as in MIME type `audio/x-speex-with-header-byte`. It is a variant of the RTP Speex encoding defined in [RFC 5574](https://tools.ietf.org/html/rfc5574). The stream is a sequence of blocks, one block per RTP packet. Each block starts with a byte containing the length of the block, in bytes, followed by one or more frames of Speex data, padded to an integral number of bytes (octets) as specified in RFC 5574. In other words, each RTP header is replaced with a single byte containing the block length. Only Speex wideband is supported. `sample_rate_hertz` must be 16000.", +"MP3 audio. MP3 encoding is a Beta feature and only available in v1p1beta1. Support all standard MP3 bitrates (which range from 32-320 kbps). When using this encoding, `sample_rate_hertz` has to match the sample rate of the file being used.", +"Opus encoded audio frames in WebM container ([WebM](https://www.webmproject.org/docs/container/)). `sample_rate_hertz` must be one of 8000, 12000, 16000, 24000, or 48000.", +"8-bit samples that compand 13-bit audio samples using G.711 PCMU/a-law." +], +"type": "string" +}, +"languageCode": { +"description": "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-to-text/docs/languages) for a list of the currently supported language codes.", +"type": "string" +}, +"maxAlternatives": { +"description": "Maximum number of recognition hypotheses to be returned. Specifically, the maximum number of `SpeechRecognitionAlternative` messages within each `SpeechRecognitionResult`. 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" +}, +"metadata": { +"$ref": "RecognitionMetadata", +"description": "Metadata regarding this request." +}, +"model": { +"description": "Which model to select for the given request. Select the model best suited to your domain to get best results. If a model is not explicitly specified, then we auto-select a model based on the parameters in the RecognitionConfig. *Model* *Description* latest_long Best for long form content like media or conversation. latest_short Best for short form content like commands or single shot directed speech. command_and_search Best for short queries such as voice commands or voice search. phone_call Best for audio that originated from a phone call (typically recorded at an 8khz sampling rate). video Best for audio that originated from video or includes multiple speakers. Ideally the audio is recorded at a 16khz or greater sampling rate. This is a premium model that costs more than the standard rate. default Best for audio that is not one of the specific audio models. For example, long-form audio. Ideally the audio is high-fidelity, recorded at a 16khz or greater sampling rate. medical_conversation Best for audio that originated from a conversation between a medical provider and patient. medical_dictation Best for audio that originated from dictation notes by a medical provider. ", +"type": "string" +}, +"profanityFilter": { +"description": "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" +}, +"sampleRateHertz": { +"description": "Sample rate in Hertz of the audio data sent in all `RecognitionAudio` messages. Valid values are: 8000-48000. 16000 is optimal. For best results, set the sampling rate of the audio source to 16000 Hz. If that's not possible, use the native sample rate of the audio source (instead of re-sampling). This field is optional for FLAC and WAV audio files, but is required for all other audio formats. For details, see AudioEncoding.", +"format": "int32", +"type": "integer" +}, +"speechContexts": { +"description": "Array of SpeechContext. A means to provide context to assist the speech recognition. For more information, see [speech adaptation](https://cloud.google.com/speech-to-text/docs/adaptation).", +"items": { +"$ref": "SpeechContext" +}, +"type": "array" +}, +"transcriptNormalization": { +"$ref": "TranscriptNormalization", +"description": "Optional. Use transcription normalization to automatically replace parts of the transcript with phrases of your choosing. For StreamingRecognize, this normalization only applies to stable partial transcripts (stability > 0.8) and final transcripts." +}, +"useEnhanced": { +"description": "Set to true to use an enhanced model for speech recognition. If `use_enhanced` is set to true and the `model` field is not set, then an appropriate enhanced model is chosen if an enhanced model exists for the audio. If `use_enhanced` is true and an enhanced version of the specified model does not exist, then the speech is recognized using the standard version of the specified model.", +"type": "boolean" +} +}, +"type": "object" +}, +"RecognitionMetadata": { +"deprecated": true, +"description": "Description of audio data to be recognized.", +"id": "RecognitionMetadata", +"properties": { +"audioTopic": { +"description": "Description of the content. Eg. \"Recordings of federal supreme court hearings from 2012\".", +"type": "string" +}, +"industryNaicsCodeOfAudio": { +"description": "The industry vertical to which this speech recognition request most closely applies. This is most indicative of the topics contained in the audio. Use the 6-digit NAICS code to identify the industry vertical - see https://www.naics.com/search/.", +"format": "uint32", +"type": "integer" +}, +"interactionType": { +"description": "The use case most closely describing the audio content to be recognized.", +"enum": [ +"INTERACTION_TYPE_UNSPECIFIED", +"DISCUSSION", +"PRESENTATION", +"PHONE_CALL", +"VOICEMAIL", +"PROFESSIONALLY_PRODUCED", +"VOICE_SEARCH", +"VOICE_COMMAND", +"DICTATION" +], +"enumDescriptions": [ +"Use case is either unknown or is something other than one of the other values below.", +"Multiple people in a conversation or discussion. For example in a meeting with two or more people actively participating. Typically all the primary people speaking would be in the same room (if not, see PHONE_CALL)", +"One or more persons lecturing or presenting to others, mostly uninterrupted.", +"A phone-call or video-conference in which two or more people, who are not in the same room, are actively participating.", +"A recorded message intended for another person to listen to.", +"Professionally produced audio (eg. TV Show, Podcast).", +"Transcribe spoken questions and queries into text.", +"Transcribe voice commands, such as for controlling a device.", +"Transcribe speech to text to create a written document, such as a text-message, email or report." +], +"type": "string" +}, +"microphoneDistance": { +"description": "The audio type that most closely describes the audio being recognized.", +"enum": [ +"MICROPHONE_DISTANCE_UNSPECIFIED", +"NEARFIELD", +"MIDFIELD", +"FARFIELD" +], +"enumDescriptions": [ +"Audio type is not known.", +"The audio was captured from a closely placed microphone. Eg. phone, dictaphone, or handheld microphone. Generally if there speaker is within 1 meter of the microphone.", +"The speaker if within 3 meters of the microphone.", +"The speaker is more than 3 meters away from the microphone." +], +"type": "string" +}, +"originalMediaType": { +"description": "The original media the speech was recorded on.", +"enum": [ +"ORIGINAL_MEDIA_TYPE_UNSPECIFIED", +"AUDIO", +"VIDEO" +], +"enumDescriptions": [ +"Unknown original media type.", +"The speech data is an audio recording.", +"The speech data originally recorded on a video." +], +"type": "string" +}, +"originalMimeType": { +"description": "Mime type of the original audio file. For example `audio/m4a`, `audio/x-alaw-basic`, `audio/mp3`, `audio/3gpp`. A list of possible audio mime types is maintained at http://www.iana.org/assignments/media-types/media-types.xhtml#audio", +"type": "string" +}, +"recordingDeviceName": { +"description": "The device used to make the recording. Examples 'Nexus 5X' or 'Polycom SoundStation IP 6000' or 'POTS' or 'VoIP' or 'Cardioid Microphone'.", +"type": "string" +}, +"recordingDeviceType": { +"description": "The type of device the speech was recorded with.", +"enum": [ +"RECORDING_DEVICE_TYPE_UNSPECIFIED", +"SMARTPHONE", +"PC", +"PHONE_LINE", +"VEHICLE", +"OTHER_OUTDOOR_DEVICE", +"OTHER_INDOOR_DEVICE" +], +"enumDescriptions": [ +"The recording device is unknown.", +"Speech was recorded on a smartphone.", +"Speech was recorded using a personal computer or tablet.", +"Speech was recorded over a phone line.", +"Speech was recorded in a vehicle.", +"Speech was recorded outdoors.", +"Speech was recorded indoors." +], +"type": "string" +} +}, +"type": "object" +}, +"RecognizeRequest": { +"description": "The top-level message sent by the client for the `Recognize` method.", +"id": "RecognizeRequest", +"properties": { +"audio": { +"$ref": "RecognitionAudio", +"description": "Required. The audio data to be recognized." +}, +"config": { +"$ref": "RecognitionConfig", +"description": "Required. Provides information to the recognizer that specifies how to process the request." +} +}, +"type": "object" +}, +"RecognizeResponse": { +"description": "The only message returned to the client by the `Recognize` method. It contains the result as zero or more sequential `SpeechRecognitionResult` messages.", +"id": "RecognizeResponse", +"properties": { +"requestId": { +"description": "The ID associated with the request. This is a unique ID specific only to the given request.", +"format": "int64", +"type": "string" +}, +"results": { +"description": "Sequential list of transcription results corresponding to sequential portions of audio.", +"items": { +"$ref": "SpeechRecognitionResult" +}, +"type": "array" +}, +"speechAdaptationInfo": { +"$ref": "SpeechAdaptationInfo", +"description": "Provides information on adaptation behavior in response" +}, +"totalBilledTime": { +"description": "When available, billed audio seconds for the corresponding request.", +"format": "google-duration", +"type": "string" +}, +"usingLegacyModels": { +"description": "Whether request used legacy asr models (was not automatically migrated to use conformer models).", +"type": "boolean" +} +}, +"type": "object" +}, +"SpeakerDiarizationConfig": { +"description": "Config to enable speaker diarization.", +"id": "SpeakerDiarizationConfig", +"properties": { +"enableSpeakerDiarization": { +"description": "If 'true', enables speaker detection for each recognized word in the top alternative of the recognition result using a speaker_label provided in the WordInfo.", +"type": "boolean" +}, +"maxSpeakerCount": { +"description": "Maximum number of speakers in the conversation. This range gives you more flexibility by allowing the system to automatically determine the correct number of speakers. If not set, the default value is 6.", +"format": "int32", +"type": "integer" +}, +"minSpeakerCount": { +"description": "Minimum number of speakers in the conversation. This range gives you more flexibility by allowing the system to automatically determine the correct number of speakers. If not set, the default value is 2.", +"format": "int32", +"type": "integer" +}, +"speakerTag": { +"deprecated": true, +"description": "Output only. Unused.", +"format": "int32", +"readOnly": true, +"type": "integer" +} +}, +"type": "object" +}, +"SpeechAdaptation": { +"description": "Speech adaptation configuration.", +"id": "SpeechAdaptation", +"properties": { +"abnfGrammar": { +"$ref": "ABNFGrammar", +"description": "Augmented Backus-Naur form (ABNF) is a standardized grammar notation comprised by a set of derivation rules. See specifications: https://www.w3.org/TR/speech-grammar" +}, +"customClasses": { +"description": "A collection of custom classes. To specify the classes inline, leave the class' `name` blank and fill in the rest of its fields, giving it a unique `custom_class_id`. Refer to the inline defined class in phrase hints by its `custom_class_id`.", +"items": { +"$ref": "CustomClass" +}, +"type": "array" +}, +"phraseSetReferences": { +"description": "A collection of phrase set resource names to use.", +"items": { +"type": "string" +}, +"type": "array" +}, +"phraseSets": { +"description": "A collection of phrase sets. To specify the hints inline, leave the phrase set's `name` blank and fill in the rest of its fields. Any phrase set can use any custom class.", +"items": { +"$ref": "PhraseSet" +}, +"type": "array" +} +}, +"type": "object" +}, +"SpeechAdaptationInfo": { +"description": "Information on speech adaptation use in results", +"id": "SpeechAdaptationInfo", +"properties": { +"adaptationTimeout": { +"description": "Whether there was a timeout when applying speech adaptation. If true, adaptation had no effect in the response transcript.", +"type": "boolean" +}, +"timeoutMessage": { +"description": "If set, returns a message specifying which part of the speech adaptation request timed out.", +"type": "string" +} +}, +"type": "object" +}, +"SpeechContext": { +"description": "Provides \"hints\" to the speech recognizer to favor specific words and phrases in the results.", +"id": "SpeechContext", +"properties": { +"boost": { +"description": "Hint Boost. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost values would correspond to anti-biasing. Anti-biasing is not enabled, so negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 and 20. We recommend using a binary search approach to finding the optimal value for your use case.", +"format": "float", +"type": "number" +}, +"phrases": { +"description": "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-to-text/quotas#content). List items can also be set to classes for groups of words that represent common concepts that occur in natural language. For example, rather than providing phrase hints for every month of the year, using the $MONTH class improves the likelihood of correctly transcribing audio that includes months.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SpeechRecognitionAlternative": { +"description": "Alternative hypotheses (a.k.a. n-best list).", +"id": "SpeechRecognitionAlternative", +"properties": { +"confidence": { +"description": "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 of a non-streaming result or, of a streaming result where `is_final=true`. 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", +"type": "number" +}, +"transcript": { +"description": "Transcript text representing the words that the user spoke. In languages that use spaces to separate words, the transcript might have a leading space if it isn't the first result. You can concatenate each result to obtain the full transcript without using a separator.", +"type": "string" +}, +"words": { +"description": "A list of word-specific information for each recognized word. Note: When `enable_speaker_diarization` is true, you will see all the words from the beginning of the audio.", +"items": { +"$ref": "WordInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"SpeechRecognitionResult": { +"description": "A speech recognition result corresponding to a portion of the audio.", +"id": "SpeechRecognitionResult", +"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": "SpeechRecognitionAlternative" +}, +"type": "array" +}, +"channelTag": { +"description": "For multi-channel audio, this is the channel number corresponding to the recognized result for the audio from that channel. For audio_channel_count = N, its output values can range from '1' to 'N'.", +"format": "int32", +"type": "integer" +}, +"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" +}, +"resultEndTime": { +"description": "Time offset of the end of this result relative to the beginning of the audio.", +"format": "google-duration", +"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" +}, +"TranscriptNormalization": { +"description": "Transcription normalization configuration. Use transcription normalization to automatically replace parts of the transcript with phrases of your choosing. For StreamingRecognize, this normalization only applies to stable partial transcripts (stability > 0.8) and final transcripts.", +"id": "TranscriptNormalization", +"properties": { +"entries": { +"description": "A list of replacement entries. We will perform replacement with one entry at a time. For example, the second entry in [\"cat\" => \"dog\", \"mountain cat\" => \"mountain dog\"] will never be applied because we will always process the first entry before it. At most 100 entries.", +"items": { +"$ref": "Entry" +}, +"type": "array" +} +}, +"type": "object" +}, +"TranscriptOutputConfig": { +"description": "Specifies an optional destination for the recognition results.", +"id": "TranscriptOutputConfig", +"properties": { +"gcsUri": { +"description": "Specifies a Cloud Storage URI for the recognition results. Must be specified in the format: `gs://bucket_name/object_name`, and the bucket must already exist.", +"type": "string" +} +}, +"type": "object" +}, +"WordInfo": { +"description": "Word-specific information for recognized words.", +"id": "WordInfo", +"properties": { +"confidence": { +"description": "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 of a non-streaming result or, of a streaming result where `is_final=true`. 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", +"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" +}, +"speakerLabel": { +"description": "Output only. A label value assigned for every unique speaker within the audio. This field specifies which speaker was detected to have spoken this word. For some models, like medical_conversation this can be actual speaker role, for example \"patient\" or \"provider\", but generally this would be a number identifying a speaker. This field is only set if enable_speaker_diarization = 'true' and only for the top alternative.", +"readOnly": true, +"type": "string" +}, +"speakerTag": { +"deprecated": true, +"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' to diarization_speaker_count. speaker_tag is set if enable_speaker_diarization = 'true' and only for the top alternative. Note: Use speaker_label instead.", +"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" +} +}, +"servicePath": "", +"title": "Cloud Speech-to-Text 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/sqladmin.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/sqladmin.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..9ec788400250b701a6dc11488d0a990a3ae3a397 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/sqladmin.v1.json @@ -0,0 +1,6700 @@ +{ +"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/sqlservice.admin": { +"description": "Manage your Google SQL Service instances" +} +} +} +}, +"basePath": "", +"baseUrl": "https://sqladmin.googleapis.com/", +"batchPath": "batch", +"canonicalName": "SQL Admin", +"description": "API for Cloud SQL database instance management", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/cloud-sql/", +"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": "sqladmin:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://sqladmin.mtls.googleapis.com/", +"name": "sqladmin", +"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": { +"backupRuns": { +"methods": { +"delete": { +"description": "Deletes the backup taken by a backup run.", +"flatPath": "v1/projects/{project}/instances/{instance}/backupRuns/{id}", +"httpMethod": "DELETE", +"id": "sql.backupRuns.delete", +"parameterOrder": [ +"project", +"instance", +"id" +], +"parameters": { +"id": { +"description": "The ID of the backup run to delete. To find a backup run ID, use the [list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/backupRuns/list) method.", +"format": "int64", +"location": "path", +"required": true, +"type": "string" +}, +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/backupRuns/{id}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"get": { +"description": "Retrieves a resource containing information about a backup run.", +"flatPath": "v1/projects/{project}/instances/{instance}/backupRuns/{id}", +"httpMethod": "GET", +"id": "sql.backupRuns.get", +"parameterOrder": [ +"project", +"instance", +"id" +], +"parameters": { +"id": { +"description": "The ID of this backup run.", +"format": "int64", +"location": "path", +"required": true, +"type": "string" +}, +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/backupRuns/{id}", +"response": { +"$ref": "BackupRun" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"insert": { +"description": "Creates a new backup run on demand.", +"flatPath": "v1/projects/{project}/instances/{instance}/backupRuns", +"httpMethod": "POST", +"id": "sql.backupRuns.insert", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/backupRuns", +"request": { +"$ref": "BackupRun" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"list": { +"description": "Lists all backup runs associated with the project or a given instance and configuration in the reverse chronological order of the backup initiation time.", +"flatPath": "v1/projects/{project}/instances/{instance}/backupRuns", +"httpMethod": "GET", +"id": "sql.backupRuns.list", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID, or \"-\" for all instances. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"maxResults": { +"description": "Maximum number of backup runs per response.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A previously-returned page token representing part of the larger set of results to view.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/backupRuns", +"response": { +"$ref": "BackupRunsListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +} +} +}, +"connect": { +"methods": { +"generateEphemeralCert": { +"description": "Generates a short-lived X509 certificate containing the provided public key and signed by a private key specific to the target instance. Users may use the certificate to authenticate as themselves when connecting to the database.", +"flatPath": "v1/projects/{project}/instances/{instance}:generateEphemeralCert", +"httpMethod": "POST", +"id": "sql.connect.generateEphemeral", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}:generateEphemeralCert", +"request": { +"$ref": "GenerateEphemeralCertRequest" +}, +"response": { +"$ref": "GenerateEphemeralCertResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"get": { +"description": "Retrieves connect settings about a Cloud SQL instance.", +"flatPath": "v1/projects/{project}/instances/{instance}/connectSettings", +"httpMethod": "GET", +"id": "sql.connect.get", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +}, +"readTime": { +"description": "Optional. Optional snapshot read timestamp to trade freshness for performance.", +"format": "google-datetime", +"location": "query", +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/connectSettings", +"response": { +"$ref": "ConnectSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +} +} +}, +"databases": { +"methods": { +"delete": { +"description": "Deletes a database from a Cloud SQL instance.", +"flatPath": "v1/projects/{project}/instances/{instance}/databases/{database}", +"httpMethod": "DELETE", +"id": "sql.databases.delete", +"parameterOrder": [ +"project", +"instance", +"database" +], +"parameters": { +"database": { +"description": "Name of the database to be deleted in the instance.", +"location": "path", +"required": true, +"type": "string" +}, +"instance": { +"description": "Database instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/databases/{database}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"get": { +"description": "Retrieves a resource containing information about a database inside a Cloud SQL instance.", +"flatPath": "v1/projects/{project}/instances/{instance}/databases/{database}", +"httpMethod": "GET", +"id": "sql.databases.get", +"parameterOrder": [ +"project", +"instance", +"database" +], +"parameters": { +"database": { +"description": "Name of the database in the instance.", +"location": "path", +"required": true, +"type": "string" +}, +"instance": { +"description": "Database instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/databases/{database}", +"response": { +"$ref": "Database" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"insert": { +"description": "Inserts a resource containing information about a database inside a Cloud SQL instance. **Note:** You can't modify the default character set and collation.", +"flatPath": "v1/projects/{project}/instances/{instance}/databases", +"httpMethod": "POST", +"id": "sql.databases.insert", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Database instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/databases", +"request": { +"$ref": "Database" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"list": { +"description": "Lists databases in the specified Cloud SQL instance.", +"flatPath": "v1/projects/{project}/instances/{instance}/databases", +"httpMethod": "GET", +"id": "sql.databases.list", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/databases", +"response": { +"$ref": "DatabasesListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"patch": { +"description": "Partially updates a resource containing information about a database inside a Cloud SQL instance. This method supports patch semantics.", +"flatPath": "v1/projects/{project}/instances/{instance}/databases/{database}", +"httpMethod": "PATCH", +"id": "sql.databases.patch", +"parameterOrder": [ +"project", +"instance", +"database" +], +"parameters": { +"database": { +"description": "Name of the database to be updated in the instance.", +"location": "path", +"required": true, +"type": "string" +}, +"instance": { +"description": "Database instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/databases/{database}", +"request": { +"$ref": "Database" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"update": { +"description": "Updates a resource containing information about a database inside a Cloud SQL instance.", +"flatPath": "v1/projects/{project}/instances/{instance}/databases/{database}", +"httpMethod": "PUT", +"id": "sql.databases.update", +"parameterOrder": [ +"project", +"instance", +"database" +], +"parameters": { +"database": { +"description": "Name of the database to be updated in the instance.", +"location": "path", +"required": true, +"type": "string" +}, +"instance": { +"description": "Database instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/databases/{database}", +"request": { +"$ref": "Database" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +} +} +}, +"flags": { +"methods": { +"list": { +"description": "Lists all available database flags for Cloud SQL instances.", +"flatPath": "v1/flags", +"httpMethod": "GET", +"id": "sql.flags.list", +"parameterOrder": [], +"parameters": { +"databaseVersion": { +"description": "Database type and version you want to retrieve flags for. By default, this method returns flags for all database types and versions.", +"location": "query", +"type": "string" +} +}, +"path": "v1/flags", +"response": { +"$ref": "FlagsListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +} +} +}, +"instances": { +"methods": { +"ListServerCertificates": { +"description": "Lists all versions of server certificates and certificate authorities (CAs) for the specified instance. There can be up to three sets of certs listed: the certificate that is currently in use, a future that has been added but not yet used to sign a certificate, and a certificate that has been rotated out. For instances not using Certificate Authority Service (CAS) server CA, use ListServerCas instead.", +"flatPath": "v1/projects/{project}/instances/{instance}/listServerCertificates", +"httpMethod": "GET", +"id": "sql.instances.ListServerCertificates", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Required. Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Required. Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/listServerCertificates", +"response": { +"$ref": "InstancesListServerCertificatesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"RotateServerCertificate": { +"description": "Rotates the server certificate version to one previously added with the addServerCertificate method. For instances not using Certificate Authority Service (CAS) server CA, use RotateServerCa instead.", +"flatPath": "v1/projects/{project}/instances/{instance}/rotateServerCertificate", +"httpMethod": "POST", +"id": "sql.instances.RotateServerCertificate", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Required. Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Required. Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/rotateServerCertificate", +"request": { +"$ref": "InstancesRotateServerCertificateRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"acquireSsrsLease": { +"description": "Acquire a lease for the setup of SQL Server Reporting Services (SSRS).", +"flatPath": "v1/projects/{project}/instances/{instance}/acquireSsrsLease", +"httpMethod": "POST", +"id": "sql.instances.acquireSsrsLease", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Required. Cloud SQL instance ID. This doesn't include the project ID. It's composed of lowercase letters, numbers, and hyphens, and it must start with a letter. The total length must be 98 characters or less (Example: instance-id).", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Required. Project ID of the project that contains the instance (Example: project-id).", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/acquireSsrsLease", +"request": { +"$ref": "InstancesAcquireSsrsLeaseRequest" +}, +"response": { +"$ref": "SqlInstancesAcquireSsrsLeaseResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"addServerCa": { +"description": "Adds a new trusted Certificate Authority (CA) version for the specified instance. Required to prepare for a certificate rotation. If a CA version was previously added but never used in a certificate rotation, this operation replaces that version. There cannot be more than one CA version waiting to be rotated in. For instances that have enabled Certificate Authority Service (CAS) based server CA, use AddServerCertificate to add a new server certificate.", +"flatPath": "v1/projects/{project}/instances/{instance}/addServerCa", +"httpMethod": "POST", +"id": "sql.instances.addServerCa", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/addServerCa", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"addServerCertificate": { +"description": "Add a new trusted server certificate version for the specified instance using Certificate Authority Service (CAS) server CA. Required to prepare for a certificate rotation. If a server certificate version was previously added but never used in a certificate rotation, this operation replaces that version. There cannot be more than one certificate version waiting to be rotated in. For instances not using CAS server CA, use AddServerCa instead.", +"flatPath": "v1/projects/{project}/instances/{instance}/addServerCertificate", +"httpMethod": "POST", +"id": "sql.instances.addServerCertificate", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/addServerCertificate", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"clone": { +"description": "Creates a Cloud SQL instance as a clone of the source instance. Using this operation might cause your instance to restart.", +"flatPath": "v1/projects/{project}/instances/{instance}/clone", +"httpMethod": "POST", +"id": "sql.instances.clone", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "The ID of the Cloud SQL instance to be cloned (source). This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the source as well as the clone Cloud SQL instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/clone", +"request": { +"$ref": "InstancesCloneRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"delete": { +"description": "Deletes a Cloud SQL instance.", +"flatPath": "v1/projects/{project}/instances/{instance}", +"httpMethod": "DELETE", +"id": "sql.instances.delete", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance to be deleted.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"demote": { +"description": "Demotes an existing standalone instance to be a Cloud SQL read replica for an external database server.", +"flatPath": "v1/projects/{project}/instances/{instance}/demote", +"httpMethod": "POST", +"id": "sql.instances.demote", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Required. Cloud SQL instance name.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Required. ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/demote", +"request": { +"$ref": "InstancesDemoteRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"demoteMaster": { +"description": "Demotes the stand-alone instance to be a Cloud SQL read replica for an external database server.", +"flatPath": "v1/projects/{project}/instances/{instance}/demoteMaster", +"httpMethod": "POST", +"id": "sql.instances.demoteMaster", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance name.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/demoteMaster", +"request": { +"$ref": "InstancesDemoteMasterRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"export": { +"description": "Exports data from a Cloud SQL instance to a Cloud Storage bucket as a SQL dump or CSV file.", +"flatPath": "v1/projects/{project}/instances/{instance}/export", +"httpMethod": "POST", +"id": "sql.instances.export", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance to be exported.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/export", +"request": { +"$ref": "InstancesExportRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"failover": { +"description": "Initiates a manual failover of a high availability (HA) primary instance to a standby instance, which becomes the primary instance. Users are then rerouted to the new primary. For more information, see the [Overview of high availability](https://cloud.google.com/sql/docs/mysql/high-availability) page in the Cloud SQL documentation. If using Legacy HA (MySQL only), this causes the instance to failover to its failover replica instance.", +"flatPath": "v1/projects/{project}/instances/{instance}/failover", +"httpMethod": "POST", +"id": "sql.instances.failover", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "ID of the project that contains the read replica.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/failover", +"request": { +"$ref": "InstancesFailoverRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"get": { +"description": "Retrieves a resource containing information about a Cloud SQL instance.", +"flatPath": "v1/projects/{project}/instances/{instance}", +"httpMethod": "GET", +"id": "sql.instances.get", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Database instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}", +"response": { +"$ref": "DatabaseInstance" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"import": { +"description": "Imports data into a Cloud SQL instance from a SQL dump or CSV file in Cloud Storage.", +"flatPath": "v1/projects/{project}/instances/{instance}/import", +"httpMethod": "POST", +"id": "sql.instances.import", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/import", +"request": { +"$ref": "InstancesImportRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"insert": { +"description": "Creates a new Cloud SQL instance.", +"flatPath": "v1/projects/{project}/instances", +"httpMethod": "POST", +"id": "sql.instances.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID of the project to which the newly created Cloud SQL instances should belong.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances", +"request": { +"$ref": "DatabaseInstance" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"list": { +"description": "Lists instances under a given project.", +"flatPath": "v1/projects/{project}/instances", +"httpMethod": "GET", +"id": "sql.instances.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. The expression is in the form of field:value. For example, 'instanceType:CLOUD_SQL_INSTANCE'. Fields can be nested as needed as per their JSON representation, such as 'settings.userLabels.auto_start:true'. Multiple filter queries are space-separated. For example. 'state:RUNNABLE instanceType:CLOUD_SQL_INSTANCE'. By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly.", +"location": "query", +"type": "string" +}, +"maxResults": { +"description": "The maximum number of instances to return. The service may return fewer than this value. If unspecified, at most 500 instances are returned. The maximum value is 1000; values above 1000 are coerced to 1000.", +"format": "uint32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A previously-returned page token representing part of the larger set of results to view.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID of the project for which to list Cloud SQL instances.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances", +"response": { +"$ref": "InstancesListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"listServerCas": { +"description": "Lists all of the trusted Certificate Authorities (CAs) for the specified instance. There can be up to three CAs listed: the CA that was used to sign the certificate that is currently in use, a CA that has been added but not yet used to sign a certificate, and a CA used to sign a certificate that has previously rotated out.", +"flatPath": "v1/projects/{project}/instances/{instance}/listServerCas", +"httpMethod": "GET", +"id": "sql.instances.listServerCas", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/listServerCas", +"response": { +"$ref": "InstancesListServerCasResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"patch": { +"description": "Partially updates settings of a Cloud SQL instance by merging the request with the current configuration. This method supports patch semantics.", +"flatPath": "v1/projects/{project}/instances/{instance}", +"httpMethod": "PATCH", +"id": "sql.instances.patch", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}", +"request": { +"$ref": "DatabaseInstance" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"promoteReplica": { +"description": "Promotes the read replica instance to be an independent Cloud SQL primary instance. Using this operation might cause your instance to restart.", +"flatPath": "v1/projects/{project}/instances/{instance}/promoteReplica", +"httpMethod": "POST", +"id": "sql.instances.promoteReplica", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"failover": { +"description": "Set to true to invoke a replica failover to the DR replica. As part of replica failover, the promote operation attempts to add the original primary instance as a replica of the promoted DR replica when the original primary instance comes back online. If set to false or not specified, then the original primary instance becomes an independent Cloud SQL primary instance.", +"location": "query", +"type": "boolean" +}, +"instance": { +"description": "Cloud SQL read replica instance name.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "ID of the project that contains the read replica.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/promoteReplica", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"reencrypt": { +"description": "Reencrypt CMEK instance with latest key version.", +"flatPath": "v1/projects/{project}/instances/{instance}/reencrypt", +"httpMethod": "POST", +"id": "sql.instances.reencrypt", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/reencrypt", +"request": { +"$ref": "InstancesReencryptRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"releaseSsrsLease": { +"description": "Release a lease for the setup of SQL Server Reporting Services (SSRS).", +"flatPath": "v1/projects/{project}/instances/{instance}/releaseSsrsLease", +"httpMethod": "POST", +"id": "sql.instances.releaseSsrsLease", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Required. The Cloud SQL instance ID. This doesn't include the project ID. The instance ID contains lowercase letters, numbers, and hyphens, and it must start with a letter. This ID can have a maximum length of 98 characters.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Required. The project ID that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/releaseSsrsLease", +"response": { +"$ref": "SqlInstancesReleaseSsrsLeaseResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"resetSslConfig": { +"description": "Deletes all client certificates and generates a new server SSL certificate for the instance.", +"flatPath": "v1/projects/{project}/instances/{instance}/resetSslConfig", +"httpMethod": "POST", +"id": "sql.instances.resetSslConfig", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/resetSslConfig", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"restart": { +"description": "Restarts a Cloud SQL instance.", +"flatPath": "v1/projects/{project}/instances/{instance}/restart", +"httpMethod": "POST", +"id": "sql.instances.restart", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance to be restarted.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/restart", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"restoreBackup": { +"description": "Restores a backup of a Cloud SQL instance. Using this operation might cause your instance to restart.", +"flatPath": "v1/projects/{project}/instances/{instance}/restoreBackup", +"httpMethod": "POST", +"id": "sql.instances.restoreBackup", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/restoreBackup", +"request": { +"$ref": "InstancesRestoreBackupRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"rotateServerCa": { +"description": "Rotates the server certificate to one signed by the Certificate Authority (CA) version previously added with the addServerCA method. For instances that have enabled Certificate Authority Service (CAS) based server CA, use RotateServerCertificate to rotate the server certificate.", +"flatPath": "v1/projects/{project}/instances/{instance}/rotateServerCa", +"httpMethod": "POST", +"id": "sql.instances.rotateServerCa", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/rotateServerCa", +"request": { +"$ref": "InstancesRotateServerCaRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"startReplica": { +"description": "Starts the replication in the read replica instance.", +"flatPath": "v1/projects/{project}/instances/{instance}/startReplica", +"httpMethod": "POST", +"id": "sql.instances.startReplica", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL read replica instance name.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "ID of the project that contains the read replica.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/startReplica", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"stopReplica": { +"description": "Stops the replication in the read replica instance.", +"flatPath": "v1/projects/{project}/instances/{instance}/stopReplica", +"httpMethod": "POST", +"id": "sql.instances.stopReplica", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL read replica instance name.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "ID of the project that contains the read replica.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/stopReplica", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"switchover": { +"description": "Switches over from the primary instance to the DR replica instance.", +"flatPath": "v1/projects/{project}/instances/{instance}/switchover", +"httpMethod": "POST", +"id": "sql.instances.switchover", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"dbTimeout": { +"description": "Optional. (MySQL and PostgreSQL only) Cloud SQL instance operations timeout, which is a sum of all database operations. Default value is 10 minutes and can be modified to a maximum value of 24 hours.", +"format": "google-duration", +"location": "query", +"type": "string" +}, +"instance": { +"description": "Cloud SQL read replica instance name.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "ID of the project that contains the replica.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/switchover", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"truncateLog": { +"description": "Truncate MySQL general and slow query log tables MySQL only.", +"flatPath": "v1/projects/{project}/instances/{instance}/truncateLog", +"httpMethod": "POST", +"id": "sql.instances.truncateLog", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the Cloud SQL project.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/truncateLog", +"request": { +"$ref": "InstancesTruncateLogRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"update": { +"description": "Updates settings of a Cloud SQL instance. Using this operation might cause your instance to restart.", +"flatPath": "v1/projects/{project}/instances/{instance}", +"httpMethod": "PUT", +"id": "sql.instances.update", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}", +"request": { +"$ref": "DatabaseInstance" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Cancels an instance operation that has been performed on an instance.", +"flatPath": "v1/projects/{project}/operations/{operation}/cancel", +"httpMethod": "POST", +"id": "sql.operations.cancel", +"parameterOrder": [ +"project", +"operation" +], +"parameters": { +"operation": { +"description": "Instance operation ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/operations/{operation}/cancel", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"get": { +"description": "Retrieves an instance operation that has been performed on an instance.", +"flatPath": "v1/projects/{project}/operations/{operation}", +"httpMethod": "GET", +"id": "sql.operations.get", +"parameterOrder": [ +"project", +"operation" +], +"parameters": { +"operation": { +"description": "Instance operation ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/operations/{operation}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"list": { +"description": "Lists all instance operations that have been performed on the given Cloud SQL instance in the reverse chronological order of the start time.", +"flatPath": "v1/projects/{project}/operations", +"httpMethod": "GET", +"id": "sql.operations.list", +"parameterOrder": [ +"project" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "query", +"type": "string" +}, +"maxResults": { +"description": "Maximum number of operations per response.", +"format": "uint32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A previously-returned page token representing part of the larger set of results to view.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/operations", +"response": { +"$ref": "OperationsListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +} +} +}, +"projects": { +"resources": { +"instances": { +"methods": { +"getDiskShrinkConfig": { +"description": "Get Disk Shrink Config for a given instance.", +"flatPath": "v1/projects/{project}/instances/{instance}/getDiskShrinkConfig", +"httpMethod": "GET", +"id": "sql.projects.instances.getDiskShrinkConfig", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/getDiskShrinkConfig", +"response": { +"$ref": "SqlInstancesGetDiskShrinkConfigResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"getLatestRecoveryTime": { +"description": "Get Latest Recovery Time for a given instance.", +"flatPath": "v1/projects/{project}/instances/{instance}/getLatestRecoveryTime", +"httpMethod": "GET", +"id": "sql.projects.instances.getLatestRecoveryTime", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/getLatestRecoveryTime", +"response": { +"$ref": "SqlInstancesGetLatestRecoveryTimeResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"performDiskShrink": { +"description": "Perform Disk Shrink on primary instance.", +"flatPath": "v1/projects/{project}/instances/{instance}/performDiskShrink", +"httpMethod": "POST", +"id": "sql.projects.instances.performDiskShrink", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/performDiskShrink", +"request": { +"$ref": "PerformDiskShrinkContext" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"rescheduleMaintenance": { +"description": "Reschedules the maintenance on the given instance.", +"flatPath": "v1/projects/{project}/instances/{instance}/rescheduleMaintenance", +"httpMethod": "POST", +"id": "sql.projects.instances.rescheduleMaintenance", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/rescheduleMaintenance", +"request": { +"$ref": "SqlInstancesRescheduleMaintenanceRequestBody" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"resetReplicaSize": { +"description": "Reset Replica Size to primary instance disk size.", +"flatPath": "v1/projects/{project}/instances/{instance}/resetReplicaSize", +"httpMethod": "POST", +"id": "sql.projects.instances.resetReplicaSize", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL read replica instance name.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "ID of the project that contains the read replica.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/resetReplicaSize", +"request": { +"$ref": "SqlInstancesResetReplicaSizeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"startExternalSync": { +"description": "Start External primary instance migration.", +"flatPath": "v1/projects/{project}/instances/{instance}/startExternalSync", +"httpMethod": "POST", +"id": "sql.projects.instances.startExternalSync", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/startExternalSync", +"request": { +"$ref": "SqlInstancesStartExternalSyncRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"verifyExternalSyncSettings": { +"description": "Verify External primary instance external sync settings.", +"flatPath": "v1/projects/{project}/instances/{instance}/verifyExternalSyncSettings", +"httpMethod": "POST", +"id": "sql.projects.instances.verifyExternalSyncSettings", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/verifyExternalSyncSettings", +"request": { +"$ref": "SqlInstancesVerifyExternalSyncSettingsRequest" +}, +"response": { +"$ref": "SqlInstancesVerifyExternalSyncSettingsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +} +} +} +} +}, +"sslCerts": { +"methods": { +"createEphemeral": { +"description": "Generates a short-lived X509 certificate containing the provided public key and signed by a private key specific to the target instance. Users may use the certificate to authenticate as themselves when connecting to the database.", +"flatPath": "v1/projects/{project}/instances/{instance}/createEphemeral", +"httpMethod": "POST", +"id": "sql.sslCerts.createEphemeral", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the Cloud SQL project.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/createEphemeral", +"request": { +"$ref": "SslCertsCreateEphemeralRequest" +}, +"response": { +"$ref": "SslCert" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"delete": { +"description": "Deletes the SSL certificate. For First Generation instances, the certificate remains valid until the instance is restarted.", +"flatPath": "v1/projects/{project}/instances/{instance}/sslCerts/{sha1Fingerprint}", +"httpMethod": "DELETE", +"id": "sql.sslCerts.delete", +"parameterOrder": [ +"project", +"instance", +"sha1Fingerprint" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +}, +"sha1Fingerprint": { +"description": "Sha1 FingerPrint.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/sslCerts/{sha1Fingerprint}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"get": { +"description": "Retrieves a particular SSL certificate. Does not include the private key (required for usage). The private key must be saved from the response to initial creation.", +"flatPath": "v1/projects/{project}/instances/{instance}/sslCerts/{sha1Fingerprint}", +"httpMethod": "GET", +"id": "sql.sslCerts.get", +"parameterOrder": [ +"project", +"instance", +"sha1Fingerprint" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +}, +"sha1Fingerprint": { +"description": "Sha1 FingerPrint.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/sslCerts/{sha1Fingerprint}", +"response": { +"$ref": "SslCert" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"insert": { +"description": "Creates an SSL certificate and returns it along with the private key and server certificate authority. The new certificate will not be usable until the instance is restarted.", +"flatPath": "v1/projects/{project}/instances/{instance}/sslCerts", +"httpMethod": "POST", +"id": "sql.sslCerts.insert", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/sslCerts", +"request": { +"$ref": "SslCertsInsertRequest" +}, +"response": { +"$ref": "SslCertsInsertResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"list": { +"description": "Lists all of the current SSL certificates for the instance.", +"flatPath": "v1/projects/{project}/instances/{instance}/sslCerts", +"httpMethod": "GET", +"id": "sql.sslCerts.list", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Cloud SQL instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/sslCerts", +"response": { +"$ref": "SslCertsListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +} +} +}, +"tiers": { +"methods": { +"list": { +"description": "Lists all available machine types (tiers) for Cloud SQL, for example, `db-custom-1-3840`. For more information, see https://cloud.google.com/sql/pricing.", +"flatPath": "v1/projects/{project}/tiers", +"httpMethod": "GET", +"id": "sql.tiers.list", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Project ID of the project for which to list tiers.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/tiers", +"response": { +"$ref": "TiersListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +} +} +}, +"users": { +"methods": { +"delete": { +"description": "Deletes a user from a Cloud SQL instance.", +"flatPath": "v1/projects/{project}/instances/{instance}/users", +"httpMethod": "DELETE", +"id": "sql.users.delete", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"host": { +"description": "Host of the user in the instance.", +"location": "query", +"type": "string" +}, +"instance": { +"description": "Database instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"name": { +"description": "Name of the user in the instance.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/users", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"get": { +"description": "Retrieves a resource containing information about a user.", +"flatPath": "v1/projects/{project}/instances/{instance}/users/{name}", +"httpMethod": "GET", +"id": "sql.users.get", +"parameterOrder": [ +"project", +"instance", +"name" +], +"parameters": { +"host": { +"description": "Host of a user of the instance.", +"location": "query", +"type": "string" +}, +"instance": { +"description": "Database instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"name": { +"description": "User of the instance.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/users/{name}", +"response": { +"$ref": "User" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"insert": { +"description": "Creates a new user in a Cloud SQL instance.", +"flatPath": "v1/projects/{project}/instances/{instance}/users", +"httpMethod": "POST", +"id": "sql.users.insert", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Database instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/users", +"request": { +"$ref": "User" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"list": { +"description": "Lists users in the specified Cloud SQL instance.", +"flatPath": "v1/projects/{project}/instances/{instance}/users", +"httpMethod": "GET", +"id": "sql.users.list", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"instance": { +"description": "Database instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/users", +"response": { +"$ref": "UsersListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +}, +"update": { +"description": "Updates an existing user in a Cloud SQL instance.", +"flatPath": "v1/projects/{project}/instances/{instance}/users", +"httpMethod": "PUT", +"id": "sql.users.update", +"parameterOrder": [ +"project", +"instance" +], +"parameters": { +"host": { +"description": "Optional. Host of the user in the instance.", +"location": "query", +"type": "string" +}, +"instance": { +"description": "Database instance ID. This does not include the project ID.", +"location": "path", +"required": true, +"type": "string" +}, +"name": { +"description": "Name of the user in the instance.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Project ID of the project that contains the instance.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{project}/instances/{instance}/users", +"request": { +"$ref": "User" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/sqlservice.admin" +] +} +} +} +}, +"revision": "20241210", +"rootUrl": "https://sqladmin.googleapis.com/", +"schemas": { +"AclEntry": { +"description": "An entry for an Access Control list.", +"id": "AclEntry", +"properties": { +"expirationTime": { +"description": "The time when this access control entry expires in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.", +"format": "google-datetime", +"type": "string" +}, +"kind": { +"description": "This is always `sql#aclEntry`.", +"type": "string" +}, +"name": { +"description": "Optional. A label to identify this entry.", +"type": "string" +}, +"value": { +"description": "The allowlisted value for the access control list.", +"type": "string" +} +}, +"type": "object" +}, +"AcquireSsrsLeaseContext": { +"description": "Acquire SSRS lease context.", +"id": "AcquireSsrsLeaseContext", +"properties": { +"duration": { +"description": "Lease duration needed for SSRS setup.", +"format": "google-duration", +"type": "string" +}, +"reportDatabase": { +"description": "The report database to be used for SSRS setup.", +"type": "string" +}, +"serviceLogin": { +"description": "The username to be used as the service login to connect to the report database for SSRS setup.", +"type": "string" +}, +"setupLogin": { +"description": "The username to be used as the setup login to connect to the database server for SSRS setup.", +"type": "string" +} +}, +"type": "object" +}, +"AdvancedMachineFeatures": { +"description": "Specifies options for controlling advanced machine features.", +"id": "AdvancedMachineFeatures", +"properties": { +"threadsPerCore": { +"description": "The number of threads per physical core.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ApiWarning": { +"description": "An Admin API warning message.", +"id": "ApiWarning", +"properties": { +"code": { +"description": "Code to uniquely identify the warning type.", +"enum": [ +"SQL_API_WARNING_CODE_UNSPECIFIED", +"REGION_UNREACHABLE", +"MAX_RESULTS_EXCEEDS_LIMIT", +"COMPROMISED_CREDENTIALS", +"INTERNAL_STATE_FAILURE" +], +"enumDescriptions": [ +"An unknown or unset warning type from Cloud SQL API.", +"Warning when one or more regions are not reachable. The returned result set may be incomplete.", +"Warning when user provided maxResults parameter exceeds the limit. The returned result set may be incomplete.", +"Warning when user tries to create/update a user with credentials that have previously been compromised by a public data breach.", +"Warning when the operation succeeds but some non-critical workflow state failed." +], +"type": "string" +}, +"message": { +"description": "The warning message.", +"type": "string" +}, +"region": { +"description": "The region name for REGION_UNREACHABLE warning.", +"type": "string" +} +}, +"type": "object" +}, +"AvailableDatabaseVersion": { +"description": "An available database version. It can be a major or a minor version.", +"id": "AvailableDatabaseVersion", +"properties": { +"displayName": { +"description": "The database version's display name.", +"type": "string" +}, +"majorVersion": { +"description": "The version's major version name.", +"type": "string" +}, +"name": { +"description": "The database version name. For MySQL 8.0, this string provides the database major and minor version.", +"type": "string" +} +}, +"type": "object" +}, +"BackupConfiguration": { +"description": "Database instance backup configuration.", +"id": "BackupConfiguration", +"properties": { +"backupRetentionSettings": { +"$ref": "BackupRetentionSettings", +"description": "Backup retention settings." +}, +"binaryLogEnabled": { +"description": "(MySQL only) Whether binary log is enabled. If backup configuration is disabled, binarylog must be disabled as well.", +"type": "boolean" +}, +"enabled": { +"description": "Whether this configuration is enabled.", +"type": "boolean" +}, +"kind": { +"description": "This is always `sql#backupConfiguration`.", +"type": "string" +}, +"location": { +"description": "Location of the backup", +"type": "string" +}, +"pointInTimeRecoveryEnabled": { +"description": "Whether point in time recovery is enabled.", +"type": "boolean" +}, +"replicationLogArchivingEnabled": { +"description": "Reserved for future use.", +"type": "boolean" +}, +"startTime": { +"description": "Start time for the daily backup configuration in UTC timezone in the 24 hour format - `HH:MM`.", +"type": "string" +}, +"transactionLogRetentionDays": { +"description": "The number of days of transaction logs we retain for point in time restore, from 1-7.", +"format": "int32", +"type": "integer" +}, +"transactionalLogStorageState": { +"description": "Output only. This value contains the storage location of transactional logs used to perform point-in-time recovery (PITR) for the database.", +"enum": [ +"TRANSACTIONAL_LOG_STORAGE_STATE_UNSPECIFIED", +"DISK", +"SWITCHING_TO_CLOUD_STORAGE", +"SWITCHED_TO_CLOUD_STORAGE", +"CLOUD_STORAGE" +], +"enumDescriptions": [ +"Unspecified.", +"The transaction logs used for PITR for the instance are stored on a data disk.", +"The transaction logs used for PITR for the instance are switching from being stored on a data disk to being stored in Cloud Storage. Only applicable to MySQL.", +"The transaction logs used for PITR for the instance are now stored in Cloud Storage. Previously, they were stored on a data disk. Only applicable to MySQL.", +"The transaction logs used for PITR for the instance are stored in Cloud Storage. Only applicable to MySQL and PostgreSQL." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"BackupContext": { +"description": "Backup context.", +"id": "BackupContext", +"properties": { +"backupId": { +"description": "The identifier of the backup.", +"format": "int64", +"type": "string" +}, +"kind": { +"description": "This is always `sql#backupContext`.", +"type": "string" +} +}, +"type": "object" +}, +"BackupReencryptionConfig": { +"description": "Backup Reencryption Config", +"id": "BackupReencryptionConfig", +"properties": { +"backupLimit": { +"description": "Backup re-encryption limit", +"format": "int32", +"type": "integer" +}, +"backupType": { +"description": "Type of backups users want to re-encrypt.", +"enum": [ +"BACKUP_TYPE_UNSPECIFIED", +"AUTOMATED", +"ON_DEMAND" +], +"enumDescriptions": [ +"Unknown backup type, will be defaulted to AUTOMATIC backup type", +"Reencrypt automatic backups", +"Reencrypt on-demand backups" +], +"type": "string" +} +}, +"type": "object" +}, +"BackupRetentionSettings": { +"description": "We currently only support backup retention by specifying the number of backups we will retain.", +"id": "BackupRetentionSettings", +"properties": { +"retainedBackups": { +"description": "Depending on the value of retention_unit, this is used to determine if a backup needs to be deleted. If retention_unit is 'COUNT', we will retain this many backups.", +"format": "int32", +"type": "integer" +}, +"retentionUnit": { +"description": "The unit that 'retained_backups' represents.", +"enum": [ +"RETENTION_UNIT_UNSPECIFIED", +"COUNT" +], +"enumDescriptions": [ +"Backup retention unit is unspecified, will be treated as COUNT.", +"Retention will be by count, eg. \"retain the most recent 7 backups\"." +], +"type": "string" +} +}, +"type": "object" +}, +"BackupRun": { +"description": "A BackupRun resource.", +"id": "BackupRun", +"properties": { +"backupKind": { +"description": "Specifies the kind of backup, PHYSICAL or DEFAULT_SNAPSHOT.", +"enum": [ +"SQL_BACKUP_KIND_UNSPECIFIED", +"SNAPSHOT", +"PHYSICAL" +], +"enumDescriptions": [ +"This is an unknown BackupKind.", +"Snapshot-based backups.", +"Physical backups." +], +"type": "string" +}, +"description": { +"description": "The description of this run, only applicable to on-demand backups.", +"type": "string" +}, +"diskEncryptionConfiguration": { +"$ref": "DiskEncryptionConfiguration", +"description": "Encryption configuration specific to a backup." +}, +"diskEncryptionStatus": { +"$ref": "DiskEncryptionStatus", +"description": "Encryption status specific to a backup." +}, +"endTime": { +"description": "The time the backup operation completed in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.", +"format": "google-datetime", +"type": "string" +}, +"enqueuedTime": { +"description": "The time the run was enqueued in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.", +"format": "google-datetime", +"type": "string" +}, +"error": { +"$ref": "OperationError", +"description": "Information about why the backup operation failed. This is only present if the run has the FAILED status." +}, +"id": { +"description": "The identifier for this backup run. Unique only for a specific Cloud SQL instance.", +"format": "int64", +"type": "string" +}, +"instance": { +"description": "Name of the database instance.", +"type": "string" +}, +"kind": { +"description": "This is always `sql#backupRun`.", +"type": "string" +}, +"location": { +"description": "Location of the backups.", +"type": "string" +}, +"maxChargeableBytes": { +"description": "Output only. The maximum chargeable bytes for the backup.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"selfLink": { +"description": "The URI of this resource.", +"type": "string" +}, +"startTime": { +"description": "The time the backup operation actually started in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.", +"format": "google-datetime", +"type": "string" +}, +"status": { +"description": "The status of this run.", +"enum": [ +"SQL_BACKUP_RUN_STATUS_UNSPECIFIED", +"ENQUEUED", +"OVERDUE", +"RUNNING", +"FAILED", +"SUCCESSFUL", +"SKIPPED", +"DELETION_PENDING", +"DELETION_FAILED", +"DELETED" +], +"enumDescriptions": [ +"The status of the run is unknown.", +"The backup operation was enqueued.", +"The backup is overdue across a given backup window. Indicates a problem. Example: Long-running operation in progress during the whole window.", +"The backup is in progress.", +"The backup failed.", +"The backup was successful.", +"The backup was skipped (without problems) for a given backup window. Example: Instance was idle.", +"The backup is about to be deleted.", +"The backup deletion failed.", +"The backup has been deleted." +], +"type": "string" +}, +"timeZone": { +"description": "Backup time zone to prevent restores to an instance with a different time zone. Now relevant only for SQL Server.", +"type": "string" +}, +"type": { +"description": "The type of this run; can be either \"AUTOMATED\" or \"ON_DEMAND\" or \"FINAL\". This field defaults to \"ON_DEMAND\" and is ignored, when specified for insert requests.", +"enum": [ +"SQL_BACKUP_RUN_TYPE_UNSPECIFIED", +"AUTOMATED", +"ON_DEMAND" +], +"enumDescriptions": [ +"This is an unknown BackupRun type.", +"The backup schedule automatically triggers a backup.", +"The user manually triggers a backup." +], +"type": "string" +}, +"windowStartTime": { +"description": "The start time of the backup window during which this the backup was attempted in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"BackupRunsListResponse": { +"description": "Backup run list results.", +"id": "BackupRunsListResponse", +"properties": { +"items": { +"description": "A list of backup runs in reverse chronological order of the enqueued time.", +"items": { +"$ref": "BackupRun" +}, +"type": "array" +}, +"kind": { +"description": "This is always `sql#backupRunsList`.", +"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" +}, +"BinLogCoordinates": { +"description": "Binary log coordinates.", +"id": "BinLogCoordinates", +"properties": { +"binLogFileName": { +"description": "Name of the binary log file for a Cloud SQL instance.", +"type": "string" +}, +"binLogPosition": { +"description": "Position (offset) within the binary log file.", +"format": "int64", +"type": "string" +}, +"kind": { +"description": "This is always `sql#binLogCoordinates`.", +"type": "string" +} +}, +"type": "object" +}, +"CloneContext": { +"description": "Database instance clone context.", +"id": "CloneContext", +"properties": { +"allocatedIpRange": { +"description": "The name of the allocated ip range for the private ip Cloud SQL instance. For example: \"google-managed-services-default\". If set, the cloned instance ip will be created in the allocated range. The range name must comply with [RFC 1035](https://tools.ietf.org/html/rfc1035). Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])?. Reserved for future use.", +"type": "string" +}, +"binLogCoordinates": { +"$ref": "BinLogCoordinates", +"description": "Binary log coordinates, if specified, identify the position up to which the source instance is cloned. If not specified, the source instance is cloned up to the most recent binary log coordinates." +}, +"databaseNames": { +"description": "(SQL Server only) Clone only the specified databases from the source instance. Clone all databases if empty.", +"items": { +"type": "string" +}, +"type": "array" +}, +"destinationInstanceName": { +"description": "Name of the Cloud SQL instance to be created as a clone.", +"type": "string" +}, +"kind": { +"description": "This is always `sql#cloneContext`.", +"type": "string" +}, +"pitrTimestampMs": { +"description": "Reserved for future use.", +"format": "int64", +"type": "string" +}, +"pointInTime": { +"description": "Timestamp, if specified, identifies the time to which the source instance is cloned.", +"format": "google-datetime", +"type": "string" +}, +"preferredSecondaryZone": { +"description": "Optional. Copy clone and point-in-time recovery clone of a regional instance in the specified zones. If not specified, clone to the same secondary zone as the source instance. This value cannot be the same as the preferred_zone field. This field applies to all DB types.", +"type": "string" +}, +"preferredZone": { +"description": "Optional. Copy clone and point-in-time recovery clone of an instance to the specified zone. If no zone is specified, clone to the same primary zone as the source instance. This field applies to all DB types.", +"type": "string" +} +}, +"type": "object" +}, +"ConnectSettings": { +"description": "Connect settings retrieval response.", +"id": "ConnectSettings", +"properties": { +"backendType": { +"description": "`SECOND_GEN`: Cloud SQL database instance. `EXTERNAL`: A database server that is not managed by Google. This property is read-only; use the `tier` property in the `settings` object to determine the database type.", +"enum": [ +"SQL_BACKEND_TYPE_UNSPECIFIED", +"FIRST_GEN", +"SECOND_GEN", +"EXTERNAL" +], +"enumDeprecated": [ +false, +true, +false, +false +], +"enumDescriptions": [ +"This is an unknown backend type for instance.", +"V1 speckle instance.", +"V2 speckle instance.", +"On premises instance." +], +"type": "string" +}, +"customSubjectAlternativeNames": { +"description": "Custom subject alternative names for the server certificate.", +"items": { +"type": "string" +}, +"type": "array" +}, +"databaseVersion": { +"description": "The database engine type and version. The `databaseVersion` field cannot be changed after instance creation. MySQL instances: `MYSQL_8_0`, `MYSQL_5_7` (default), or `MYSQL_5_6`. PostgreSQL instances: `POSTGRES_9_6`, `POSTGRES_10`, `POSTGRES_11`, `POSTGRES_12` (default), `POSTGRES_13`, or `POSTGRES_14`. SQL Server instances: `SQLSERVER_2017_STANDARD` (default), `SQLSERVER_2017_ENTERPRISE`, `SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`, `SQLSERVER_2019_STANDARD`, `SQLSERVER_2019_ENTERPRISE`, `SQLSERVER_2019_EXPRESS`, or `SQLSERVER_2019_WEB`.", +"enum": [ +"SQL_DATABASE_VERSION_UNSPECIFIED", +"MYSQL_5_1", +"MYSQL_5_5", +"MYSQL_5_6", +"MYSQL_5_7", +"MYSQL_8_0", +"MYSQL_8_0_18", +"MYSQL_8_0_26", +"MYSQL_8_0_27", +"MYSQL_8_0_28", +"MYSQL_8_0_29", +"MYSQL_8_0_30", +"MYSQL_8_0_31", +"MYSQL_8_0_32", +"MYSQL_8_0_33", +"MYSQL_8_0_34", +"MYSQL_8_0_35", +"MYSQL_8_0_36", +"MYSQL_8_0_37", +"MYSQL_8_0_38", +"MYSQL_8_0_39", +"MYSQL_8_0_40", +"MYSQL_8_0_41", +"MYSQL_8_0_42", +"MYSQL_8_4", +"SQLSERVER_2017_STANDARD", +"SQLSERVER_2017_ENTERPRISE", +"SQLSERVER_2017_EXPRESS", +"SQLSERVER_2017_WEB", +"POSTGRES_9_6", +"POSTGRES_10", +"POSTGRES_11", +"POSTGRES_12", +"POSTGRES_13", +"POSTGRES_14", +"POSTGRES_15", +"POSTGRES_16", +"POSTGRES_17", +"SQLSERVER_2019_STANDARD", +"SQLSERVER_2019_ENTERPRISE", +"SQLSERVER_2019_EXPRESS", +"SQLSERVER_2019_WEB", +"SQLSERVER_2022_STANDARD", +"SQLSERVER_2022_ENTERPRISE", +"SQLSERVER_2022_EXPRESS", +"SQLSERVER_2022_WEB" +], +"enumDeprecated": [ +false, +true, +true, +false, +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"This is an unknown database version.", +"The database version is MySQL 5.1.", +"The database version is MySQL 5.5.", +"The database version is MySQL 5.6.", +"The database version is MySQL 5.7.", +"The database version is MySQL 8.", +"The database major version is MySQL 8.0 and the minor version is 18.", +"The database major version is MySQL 8.0 and the minor version is 26.", +"The database major version is MySQL 8.0 and the minor version is 27.", +"The database major version is MySQL 8.0 and the minor version is 28.", +"The database major version is MySQL 8.0 and the minor version is 29.", +"The database major version is MySQL 8.0 and the minor version is 30.", +"The database major version is MySQL 8.0 and the minor version is 31.", +"The database major version is MySQL 8.0 and the minor version is 32.", +"The database major version is MySQL 8.0 and the minor version is 33.", +"The database major version is MySQL 8.0 and the minor version is 34.", +"The database major version is MySQL 8.0 and the minor version is 35.", +"The database major version is MySQL 8.0 and the minor version is 36.", +"The database major version is MySQL 8.0 and the minor version is 37.", +"The database major version is MySQL 8.0 and the minor version is 38.", +"The database major version is MySQL 8.0 and the minor version is 39.", +"The database major version is MySQL 8.0 and the minor version is 40.", +"The database major version is MySQL 8.0 and the minor version is 41.", +"The database major version is MySQL 8.0 and the minor version is 42.", +"The database version is MySQL 8.4.", +"The database version is SQL Server 2017 Standard.", +"The database version is SQL Server 2017 Enterprise.", +"The database version is SQL Server 2017 Express.", +"The database version is SQL Server 2017 Web.", +"The database version is PostgreSQL 9.6.", +"The database version is PostgreSQL 10.", +"The database version is PostgreSQL 11.", +"The database version is PostgreSQL 12.", +"The database version is PostgreSQL 13.", +"The database version is PostgreSQL 14.", +"The database version is PostgreSQL 15.", +"The database version is PostgreSQL 16.", +"The database version is PostgreSQL 17.", +"The database version is SQL Server 2019 Standard.", +"The database version is SQL Server 2019 Enterprise.", +"The database version is SQL Server 2019 Express.", +"The database version is SQL Server 2019 Web.", +"The database version is SQL Server 2022 Standard.", +"The database version is SQL Server 2022 Enterprise.", +"The database version is SQL Server 2022 Express.", +"The database version is SQL Server 2022 Web." +], +"type": "string" +}, +"dnsName": { +"description": "The dns name of the instance.", +"type": "string" +}, +"ipAddresses": { +"description": "The assigned IP addresses for the instance.", +"items": { +"$ref": "IpMapping" +}, +"type": "array" +}, +"kind": { +"description": "This is always `sql#connectSettings`.", +"type": "string" +}, +"pscEnabled": { +"description": "Whether PSC connectivity is enabled for this instance.", +"type": "boolean" +}, +"region": { +"description": "The cloud region for the instance. For example, `us-central1`, `europe-west1`. The region cannot be changed after instance creation.", +"type": "string" +}, +"serverCaCert": { +"$ref": "SslCert", +"description": "SSL configuration." +}, +"serverCaMode": { +"description": "Specify what type of CA is used for the server certificate.", +"enum": [ +"CA_MODE_UNSPECIFIED", +"GOOGLE_MANAGED_INTERNAL_CA", +"GOOGLE_MANAGED_CAS_CA" +], +"enumDescriptions": [ +"CA mode is unknown.", +"Google-managed self-signed internal CA.", +"Google-managed regional CA part of root CA hierarchy hosted on Google Cloud's Certificate Authority Service (CAS)." +], +"type": "string" +} +}, +"type": "object" +}, +"DataCacheConfig": { +"description": "Data cache configurations.", +"id": "DataCacheConfig", +"properties": { +"dataCacheEnabled": { +"description": "Whether data cache is enabled for the instance.", +"type": "boolean" +} +}, +"type": "object" +}, +"Database": { +"description": "Represents a SQL database on the Cloud SQL instance.", +"id": "Database", +"properties": { +"charset": { +"description": "The Cloud SQL charset value.", +"type": "string" +}, +"collation": { +"description": "The Cloud SQL collation value.", +"type": "string" +}, +"etag": { +"description": "This field is deprecated and will be removed from a future version of the API.", +"type": "string" +}, +"instance": { +"description": "The name of the Cloud SQL instance. This does not include the project ID.", +"type": "string" +}, +"kind": { +"description": "This is always `sql#database`.", +"type": "string" +}, +"name": { +"description": "The name of the database in the Cloud SQL instance. This does not include the project ID or instance name.", +"type": "string" +}, +"project": { +"description": "The project ID of the project containing the Cloud SQL database. The Google apps domain is prefixed if applicable.", +"type": "string" +}, +"selfLink": { +"description": "The URI of this resource.", +"type": "string" +}, +"sqlserverDatabaseDetails": { +"$ref": "SqlServerDatabaseDetails" +} +}, +"type": "object" +}, +"DatabaseFlags": { +"description": "Database flags for Cloud SQL instances.", +"id": "DatabaseFlags", +"properties": { +"name": { +"description": "The name of the flag. These flags are passed at instance startup, so include both server options and system variables. Flags are specified with underscores, not hyphens. For more information, see [Configuring Database Flags](https://cloud.google.com/sql/docs/mysql/flags) in the Cloud SQL documentation.", +"type": "string" +}, +"value": { +"description": "The value of the flag. Boolean flags are set to `on` for true and `off` for false. This field must be omitted if the flag doesn't take a value.", +"type": "string" +} +}, +"type": "object" +}, +"DatabaseInstance": { +"description": "A Cloud SQL instance resource.", +"id": "DatabaseInstance", +"properties": { +"availableMaintenanceVersions": { +"description": "Output only. List all maintenance versions applicable on the instance", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"backendType": { +"description": "The backend type. `SECOND_GEN`: Cloud SQL database instance. `EXTERNAL`: A database server that is not managed by Google. This property is read-only; use the `tier` property in the `settings` object to determine the database type.", +"enum": [ +"SQL_BACKEND_TYPE_UNSPECIFIED", +"FIRST_GEN", +"SECOND_GEN", +"EXTERNAL" +], +"enumDeprecated": [ +false, +true, +false, +false +], +"enumDescriptions": [ +"This is an unknown backend type for instance.", +"V1 speckle instance.", +"V2 speckle instance.", +"On premises instance." +], +"type": "string" +}, +"connectionName": { +"description": "Connection name of the Cloud SQL instance used in connection strings.", +"type": "string" +}, +"createTime": { +"description": "Output only. The time when the instance was created in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"currentDiskSize": { +"deprecated": true, +"description": "The current disk usage of the instance in bytes. This property has been deprecated. Use the \"cloudsql.googleapis.com/database/disk/bytes_used\" metric in Cloud Monitoring API instead. Please see [this announcement](https://groups.google.com/d/msg/google-cloud-sql-announce/I_7-F9EBhT0/BtvFtdFeAgAJ) for details.", +"format": "int64", +"type": "string" +}, +"databaseInstalledVersion": { +"description": "Output only. Stores the current database version running on the instance including minor version such as `MYSQL_8_0_18`.", +"readOnly": true, +"type": "string" +}, +"databaseVersion": { +"description": "The database engine type and version. The `databaseVersion` field cannot be changed after instance creation.", +"enum": [ +"SQL_DATABASE_VERSION_UNSPECIFIED", +"MYSQL_5_1", +"MYSQL_5_5", +"MYSQL_5_6", +"MYSQL_5_7", +"MYSQL_8_0", +"MYSQL_8_0_18", +"MYSQL_8_0_26", +"MYSQL_8_0_27", +"MYSQL_8_0_28", +"MYSQL_8_0_29", +"MYSQL_8_0_30", +"MYSQL_8_0_31", +"MYSQL_8_0_32", +"MYSQL_8_0_33", +"MYSQL_8_0_34", +"MYSQL_8_0_35", +"MYSQL_8_0_36", +"MYSQL_8_0_37", +"MYSQL_8_0_38", +"MYSQL_8_0_39", +"MYSQL_8_0_40", +"MYSQL_8_0_41", +"MYSQL_8_0_42", +"MYSQL_8_4", +"SQLSERVER_2017_STANDARD", +"SQLSERVER_2017_ENTERPRISE", +"SQLSERVER_2017_EXPRESS", +"SQLSERVER_2017_WEB", +"POSTGRES_9_6", +"POSTGRES_10", +"POSTGRES_11", +"POSTGRES_12", +"POSTGRES_13", +"POSTGRES_14", +"POSTGRES_15", +"POSTGRES_16", +"POSTGRES_17", +"SQLSERVER_2019_STANDARD", +"SQLSERVER_2019_ENTERPRISE", +"SQLSERVER_2019_EXPRESS", +"SQLSERVER_2019_WEB", +"SQLSERVER_2022_STANDARD", +"SQLSERVER_2022_ENTERPRISE", +"SQLSERVER_2022_EXPRESS", +"SQLSERVER_2022_WEB" +], +"enumDeprecated": [ +false, +true, +true, +false, +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"This is an unknown database version.", +"The database version is MySQL 5.1.", +"The database version is MySQL 5.5.", +"The database version is MySQL 5.6.", +"The database version is MySQL 5.7.", +"The database version is MySQL 8.", +"The database major version is MySQL 8.0 and the minor version is 18.", +"The database major version is MySQL 8.0 and the minor version is 26.", +"The database major version is MySQL 8.0 and the minor version is 27.", +"The database major version is MySQL 8.0 and the minor version is 28.", +"The database major version is MySQL 8.0 and the minor version is 29.", +"The database major version is MySQL 8.0 and the minor version is 30.", +"The database major version is MySQL 8.0 and the minor version is 31.", +"The database major version is MySQL 8.0 and the minor version is 32.", +"The database major version is MySQL 8.0 and the minor version is 33.", +"The database major version is MySQL 8.0 and the minor version is 34.", +"The database major version is MySQL 8.0 and the minor version is 35.", +"The database major version is MySQL 8.0 and the minor version is 36.", +"The database major version is MySQL 8.0 and the minor version is 37.", +"The database major version is MySQL 8.0 and the minor version is 38.", +"The database major version is MySQL 8.0 and the minor version is 39.", +"The database major version is MySQL 8.0 and the minor version is 40.", +"The database major version is MySQL 8.0 and the minor version is 41.", +"The database major version is MySQL 8.0 and the minor version is 42.", +"The database version is MySQL 8.4.", +"The database version is SQL Server 2017 Standard.", +"The database version is SQL Server 2017 Enterprise.", +"The database version is SQL Server 2017 Express.", +"The database version is SQL Server 2017 Web.", +"The database version is PostgreSQL 9.6.", +"The database version is PostgreSQL 10.", +"The database version is PostgreSQL 11.", +"The database version is PostgreSQL 12.", +"The database version is PostgreSQL 13.", +"The database version is PostgreSQL 14.", +"The database version is PostgreSQL 15.", +"The database version is PostgreSQL 16.", +"The database version is PostgreSQL 17.", +"The database version is SQL Server 2019 Standard.", +"The database version is SQL Server 2019 Enterprise.", +"The database version is SQL Server 2019 Express.", +"The database version is SQL Server 2019 Web.", +"The database version is SQL Server 2022 Standard.", +"The database version is SQL Server 2022 Enterprise.", +"The database version is SQL Server 2022 Express.", +"The database version is SQL Server 2022 Web." +], +"type": "string" +}, +"diskEncryptionConfiguration": { +"$ref": "DiskEncryptionConfiguration", +"description": "Disk encryption configuration specific to an instance." +}, +"diskEncryptionStatus": { +"$ref": "DiskEncryptionStatus", +"description": "Disk encryption status specific to an instance." +}, +"dnsName": { +"description": "Output only. The dns name of the instance.", +"readOnly": true, +"type": "string" +}, +"etag": { +"description": "This field is deprecated and will be removed from a future version of the API. Use the `settings.settingsVersion` field instead.", +"type": "string" +}, +"failoverReplica": { +"description": "The name and status of the failover replica.", +"properties": { +"available": { +"description": "The availability status of the failover replica. A false status indicates that the failover replica is out of sync. The primary instance can only failover to the failover replica when the status is true.", +"type": "boolean" +}, +"name": { +"description": "The name of the failover replica. If specified at instance creation, a failover replica is created for the instance. The name doesn't include the project ID.", +"type": "string" +} +}, +"type": "object" +}, +"gceZone": { +"description": "The Compute Engine zone that the instance is currently serving from. This value could be different from the zone that was specified when the instance was created if the instance has failed over to its secondary zone. WARNING: Changing this might restart the instance.", +"type": "string" +}, +"geminiConfig": { +"$ref": "GeminiInstanceConfig", +"description": "Gemini instance configuration." +}, +"instanceType": { +"description": "The instance type.", +"enum": [ +"SQL_INSTANCE_TYPE_UNSPECIFIED", +"CLOUD_SQL_INSTANCE", +"ON_PREMISES_INSTANCE", +"READ_REPLICA_INSTANCE" +], +"enumDescriptions": [ +"This is an unknown Cloud SQL instance type.", +"A regular Cloud SQL instance that is not replicating from a primary instance.", +"An instance running on the customer's premises that is not managed by Cloud SQL.", +"A Cloud SQL instance acting as a read-replica." +], +"type": "string" +}, +"ipAddresses": { +"description": "The assigned IP addresses for the instance.", +"items": { +"$ref": "IpMapping" +}, +"type": "array" +}, +"ipv6Address": { +"deprecated": true, +"description": "The IPv6 address assigned to the instance. (Deprecated) This property was applicable only to First Generation instances.", +"type": "string" +}, +"kind": { +"description": "This is always `sql#instance`.", +"type": "string" +}, +"maintenanceVersion": { +"description": "The current software version on the instance.", +"type": "string" +}, +"masterInstanceName": { +"description": "The name of the instance which will act as primary in the replication setup.", +"type": "string" +}, +"maxDiskSize": { +"deprecated": true, +"description": "The maximum disk size of the instance in bytes.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "Name of the Cloud SQL instance. This does not include the project ID.", +"type": "string" +}, +"onPremisesConfiguration": { +"$ref": "OnPremisesConfiguration", +"description": "Configuration specific to on-premises instances." +}, +"outOfDiskReport": { +"$ref": "SqlOutOfDiskReport", +"description": "This field represents the report generated by the proactive database wellness job for OutOfDisk issues. * Writers: * the proactive database wellness job for OOD. * Readers: * the proactive database wellness job" +}, +"primaryDnsName": { +"deprecated": true, +"description": "Output only. DEPRECATED: please use write_endpoint instead.", +"readOnly": true, +"type": "string" +}, +"project": { +"description": "The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable.", +"type": "string" +}, +"pscServiceAttachmentLink": { +"description": "Output only. The link to service attachment of PSC instance.", +"readOnly": true, +"type": "string" +}, +"region": { +"description": "The geographical region of the Cloud SQL instance. It can be one of the [regions](https://cloud.google.com/sql/docs/mysql/locations#location-r) where Cloud SQL operates: For example, `asia-east1`, `europe-west1`, and `us-central1`. The default value is `us-central1`.", +"type": "string" +}, +"replicaConfiguration": { +"$ref": "ReplicaConfiguration", +"description": "Configuration specific to failover replicas and read replicas." +}, +"replicaNames": { +"description": "The replicas of the instance.", +"items": { +"type": "string" +}, +"type": "array" +}, +"replicationCluster": { +"$ref": "ReplicationCluster", +"description": "Optional. A primary instance and disaster recovery (DR) replica pair. A DR replica is a cross-region replica that you designate for failover in the event that the primary instance experiences regional failure. Applicable to MySQL and PostgreSQL." +}, +"rootPassword": { +"description": "Initial root password. Use only on creation. You must set root passwords before you can connect to PostgreSQL instances.", +"type": "string" +}, +"satisfiesPzi": { +"description": "Output only. This status indicates whether the instance satisfies PZI. The status is reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "This status indicates whether the instance satisfies PZS. The status is reserved for future use.", +"type": "boolean" +}, +"scheduledMaintenance": { +"$ref": "SqlScheduledMaintenance", +"description": "The start time of any upcoming scheduled maintenance for this instance." +}, +"secondaryGceZone": { +"description": "The Compute Engine zone that the failover instance is currently serving from for a regional instance. This value could be different from the zone that was specified when the instance was created if the instance has failed over to its secondary/failover zone.", +"type": "string" +}, +"selfLink": { +"description": "The URI of this resource.", +"type": "string" +}, +"serverCaCert": { +"$ref": "SslCert", +"description": "SSL configuration." +}, +"serviceAccountEmailAddress": { +"description": "The service account email address assigned to the instance.\\This property is read-only.", +"type": "string" +}, +"settings": { +"$ref": "Settings", +"description": "The user settings." +}, +"sqlNetworkArchitecture": { +"enum": [ +"SQL_NETWORK_ARCHITECTURE_UNSPECIFIED", +"NEW_NETWORK_ARCHITECTURE", +"OLD_NETWORK_ARCHITECTURE" +], +"enumDescriptions": [ +"", +"The instance uses the new network architecture.", +"The instance uses the old network architecture." +], +"type": "string" +}, +"state": { +"description": "The current serving state of the Cloud SQL instance.", +"enum": [ +"SQL_INSTANCE_STATE_UNSPECIFIED", +"RUNNABLE", +"SUSPENDED", +"PENDING_DELETE", +"PENDING_CREATE", +"MAINTENANCE", +"FAILED", +"ONLINE_MAINTENANCE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +false, +true +], +"enumDescriptions": [ +"The state of the instance is unknown.", +"The instance is running, or has been stopped by owner.", +"The instance is not available, for example due to problems with billing.", +"The instance is being deleted.", +"The instance is being created.", +"The instance is down for maintenance.", +"The creation of the instance failed or a fatal error occurred during maintenance.", +"Deprecated" +], +"type": "string" +}, +"suspensionReason": { +"description": "If the instance state is SUSPENDED, the reason for the suspension.", +"items": { +"enum": [ +"SQL_SUSPENSION_REASON_UNSPECIFIED", +"BILLING_ISSUE", +"LEGAL_ISSUE", +"OPERATIONAL_ISSUE", +"KMS_KEY_ISSUE" +], +"enumDescriptions": [ +"This is an unknown suspension reason.", +"The instance is suspended due to billing issues (for example:, GCP account issue)", +"The instance is suspended due to illegal content (for example:, child pornography, copyrighted material, etc.).", +"The instance is causing operational issues (for example:, causing the database to crash).", +"The KMS key used by the instance is either revoked or denied access to" +], +"type": "string" +}, +"type": "array" +}, +"switchTransactionLogsToCloudStorageEnabled": { +"description": "Input only. Whether Cloud SQL is enabled to switch storing point-in-time recovery log files from a data disk to Cloud Storage.", +"type": "boolean" +}, +"tags": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Input only. Immutable. Tag keys and tag values that are bound to this instance. You must represent each item in the map as: `\"\" : \"\"`. For example, a single resource can have the following tags: ``` \"123/environment\": \"production\", \"123/costCenter\": \"marketing\", ``` For more information on tag creation and management, see https://cloud.google.com/resource-manager/docs/tags/tags-overview.", +"type": "object" +}, +"upgradableDatabaseVersions": { +"description": "Output only. All database versions that are available for upgrade.", +"items": { +"$ref": "AvailableDatabaseVersion" +}, +"readOnly": true, +"type": "array" +}, +"writeEndpoint": { +"description": "Output only. The dns name of the primary instance in a replication group.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"DatabasesListResponse": { +"description": "Database list response.", +"id": "DatabasesListResponse", +"properties": { +"items": { +"description": "List of database resources in the instance.", +"items": { +"$ref": "Database" +}, +"type": "array" +}, +"kind": { +"description": "This is always `sql#databasesList`.", +"type": "string" +} +}, +"type": "object" +}, +"DemoteContext": { +"description": "This context is used to demote an existing standalone instance to be a Cloud SQL read replica for an external database server.", +"id": "DemoteContext", +"properties": { +"kind": { +"description": "This is always `sql#demoteContext`.", +"type": "string" +}, +"sourceRepresentativeInstanceName": { +"description": "Required. The name of the instance which acts as the on-premises primary instance in the replication setup.", +"type": "string" +} +}, +"type": "object" +}, +"DemoteMasterConfiguration": { +"description": "Read-replica configuration for connecting to the on-premises primary instance.", +"id": "DemoteMasterConfiguration", +"properties": { +"kind": { +"description": "This is always `sql#demoteMasterConfiguration`.", +"type": "string" +}, +"mysqlReplicaConfiguration": { +"$ref": "DemoteMasterMySqlReplicaConfiguration", +"description": "MySQL specific configuration when replicating from a MySQL on-premises primary instance. Replication configuration information such as the username, password, certificates, and keys are not stored in the instance metadata. The configuration information is used only to set up the replication connection and is stored by MySQL in a file named `master.info` in the data directory." +} +}, +"type": "object" +}, +"DemoteMasterContext": { +"description": "Database instance demote primary instance context.", +"id": "DemoteMasterContext", +"properties": { +"kind": { +"description": "This is always `sql#demoteMasterContext`.", +"type": "string" +}, +"masterInstanceName": { +"description": "The name of the instance which will act as on-premises primary instance in the replication setup.", +"type": "string" +}, +"replicaConfiguration": { +"$ref": "DemoteMasterConfiguration", +"description": "Configuration specific to read-replicas replicating from the on-premises primary instance." +}, +"skipReplicationSetup": { +"description": "Flag to skip replication setup on the instance.", +"type": "boolean" +}, +"verifyGtidConsistency": { +"description": "Verify the GTID consistency for demote operation. Default value: `True`. Setting this flag to `false` enables you to bypass the GTID consistency check between on-premises primary instance and Cloud SQL instance during the demotion operation but also exposes you to the risk of future replication failures. Change the value only if you know the reason for the GTID divergence and are confident that doing so will not cause any replication issues.", +"type": "boolean" +} +}, +"type": "object" +}, +"DemoteMasterMySqlReplicaConfiguration": { +"description": "Read-replica configuration specific to MySQL databases.", +"id": "DemoteMasterMySqlReplicaConfiguration", +"properties": { +"caCertificate": { +"description": "PEM representation of the trusted CA's x509 certificate.", +"type": "string" +}, +"clientCertificate": { +"description": "PEM representation of the replica's x509 certificate.", +"type": "string" +}, +"clientKey": { +"description": "PEM representation of the replica's private key. The corresponsing public key is encoded in the client's certificate. The format of the replica's private key can be either PKCS #1 or PKCS #8.", +"type": "string" +}, +"kind": { +"description": "This is always `sql#demoteMasterMysqlReplicaConfiguration`.", +"type": "string" +}, +"password": { +"description": "The password for the replication connection.", +"type": "string" +}, +"username": { +"description": "The username for the replication connection.", +"type": "string" +} +}, +"type": "object" +}, +"DenyMaintenancePeriod": { +"description": "Deny maintenance Periods. This specifies a date range during when all CSA rollout will be denied.", +"id": "DenyMaintenancePeriod", +"properties": { +"endDate": { +"description": "\"deny maintenance period\" end date. If the year of the end date is empty, the year of the start date also must be empty. In this case, it means the no maintenance interval recurs every year. The date is in format yyyy-mm-dd i.e., 2020-11-01, or mm-dd, i.e., 11-01", +"type": "string" +}, +"startDate": { +"description": "\"deny maintenance period\" start date. If the year of the start date is empty, the year of the end date also must be empty. In this case, it means the deny maintenance period recurs every year. The date is in format yyyy-mm-dd i.e., 2020-11-01, or mm-dd, i.e., 11-01", +"type": "string" +}, +"time": { +"description": "Time in UTC when the \"deny maintenance period\" starts on start_date and ends on end_date. The time is in format: HH:mm:SS, i.e., 00:00:00", +"type": "string" +} +}, +"type": "object" +}, +"DiskEncryptionConfiguration": { +"description": "Disk encryption configuration for an instance.", +"id": "DiskEncryptionConfiguration", +"properties": { +"kind": { +"description": "This is always `sql#diskEncryptionConfiguration`.", +"type": "string" +}, +"kmsKeyName": { +"description": "Resource name of KMS key for disk encryption", +"type": "string" +} +}, +"type": "object" +}, +"DiskEncryptionStatus": { +"description": "Disk encryption status for an instance.", +"id": "DiskEncryptionStatus", +"properties": { +"kind": { +"description": "This is always `sql#diskEncryptionStatus`.", +"type": "string" +}, +"kmsKeyVersionName": { +"description": "KMS key version used to encrypt the Cloud SQL instance resource", +"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" +}, +"ExportContext": { +"description": "Database instance export context.", +"id": "ExportContext", +"properties": { +"bakExportOptions": { +"description": "Options for exporting BAK files (SQL Server-only)", +"properties": { +"bakType": { +"description": "Type of this bak file will be export, FULL or DIFF, SQL Server only", +"enum": [ +"BAK_TYPE_UNSPECIFIED", +"FULL", +"DIFF", +"TLOG" +], +"enumDescriptions": [ +"Default type.", +"Full backup.", +"Differential backup.", +"Transaction Log backup" +], +"type": "string" +}, +"copyOnly": { +"deprecated": true, +"description": "Deprecated: copy_only is deprecated. Use differential_base instead", +"type": "boolean" +}, +"differentialBase": { +"description": "Whether or not the backup can be used as a differential base copy_only backup can not be served as differential base", +"type": "boolean" +}, +"exportLogEndTime": { +"description": "Optional. The end timestamp when transaction log will be included in the export operation. [RFC 3339](https://tools.ietf.org/html/rfc3339) format (for example, `2023-10-01T16:19:00.094`) in UTC. When omitted, all available logs until current time will be included. Only applied to Cloud SQL for SQL Server.", +"format": "google-datetime", +"type": "string" +}, +"exportLogStartTime": { +"description": "Optional. The begin timestamp when transaction log will be included in the export operation. [RFC 3339](https://tools.ietf.org/html/rfc3339) format (for example, `2023-10-01T16:19:00.094`) in UTC. When omitted, all available logs from the beginning of retention period will be included. Only applied to Cloud SQL for SQL Server.", +"format": "google-datetime", +"type": "string" +}, +"stripeCount": { +"description": "Option for specifying how many stripes to use for the export. If blank, and the value of the striped field is true, the number of stripes is automatically chosen.", +"format": "int32", +"type": "integer" +}, +"striped": { +"description": "Whether or not the export should be striped.", +"type": "boolean" +} +}, +"type": "object" +}, +"csvExportOptions": { +"description": "Options for exporting data as CSV. `MySQL` and `PostgreSQL` instances only.", +"properties": { +"escapeCharacter": { +"description": "Specifies the character that should appear before a data character that needs to be escaped.", +"type": "string" +}, +"fieldsTerminatedBy": { +"description": "Specifies the character that separates columns within each row (line) of the file.", +"type": "string" +}, +"linesTerminatedBy": { +"description": "This is used to separate lines. If a line does not contain all fields, the rest of the columns are set to their default values.", +"type": "string" +}, +"quoteCharacter": { +"description": "Specifies the quoting character to be used when a data value is quoted.", +"type": "string" +}, +"selectQuery": { +"description": "The select query used to extract the data.", +"type": "string" +} +}, +"type": "object" +}, +"databases": { +"description": "Databases to be exported. `MySQL instances:` If `fileType` is `SQL` and no database is specified, all databases are exported, except for the `mysql` system database. If `fileType` is `CSV`, you can specify one database, either by using this property or by using the `csvExportOptions.selectQuery` property, which takes precedence over this property. `PostgreSQL instances:` You must specify one database to be exported. If `fileType` is `CSV`, this database must match the one specified in the `csvExportOptions.selectQuery` property. `SQL Server instances:` You must specify one database to be exported, and the `fileType` must be `BAK`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"fileType": { +"description": "The file type for the specified uri.", +"enum": [ +"SQL_FILE_TYPE_UNSPECIFIED", +"SQL", +"CSV", +"BAK" +], +"enumDescriptions": [ +"Unknown file type.", +"File containing SQL statements.", +"File in CSV format.", +"" +], +"type": "string" +}, +"kind": { +"description": "This is always `sql#exportContext`.", +"type": "string" +}, +"offload": { +"description": "Option for export offload.", +"type": "boolean" +}, +"sqlExportOptions": { +"description": "Options for exporting data as SQL statements.", +"properties": { +"mysqlExportOptions": { +"description": "Options for exporting from MySQL.", +"properties": { +"masterData": { +"description": "Option to include SQL statement required to set up replication. If set to `1`, the dump file includes a CHANGE MASTER TO statement with the binary log coordinates, and --set-gtid-purged is set to ON. If set to `2`, the CHANGE MASTER TO statement is written as a SQL comment and has no effect. If set to any value other than `1`, --set-gtid-purged is set to OFF.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"parallel": { +"description": "Optional. Whether or not the export should be parallel.", +"type": "boolean" +}, +"postgresExportOptions": { +"description": "Options for exporting from a Cloud SQL for PostgreSQL instance.", +"properties": { +"clean": { +"description": "Optional. Use this option to include DROP SQL statements. These statements are used to delete database objects before running the import operation.", +"type": "boolean" +}, +"ifExists": { +"description": "Optional. Option to include an IF EXISTS SQL statement with each DROP statement produced by clean.", +"type": "boolean" +} +}, +"type": "object" +}, +"schemaOnly": { +"description": "Export only schemas.", +"type": "boolean" +}, +"tables": { +"description": "Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database. For PostgreSQL instances, you can specify only one table.", +"items": { +"type": "string" +}, +"type": "array" +}, +"threads": { +"description": "Optional. The number of threads to use for parallel export.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"uri": { +"description": "The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form `gs://bucketName/fileName`. If the file already exists, the request succeeds, but the operation fails. If `fileType` is `SQL` and the filename ends with .gz, the contents are compressed.", +"type": "string" +} +}, +"type": "object" +}, +"ExternalSyncSelectedObject": { +"description": "The selected object that Cloud SQL migrates.", +"id": "ExternalSyncSelectedObject", +"properties": { +"database": { +"description": "The name of the database that Cloud SQL migrates.", +"type": "string" +} +}, +"type": "object" +}, +"FailoverContext": { +"description": "Database instance failover context.", +"id": "FailoverContext", +"properties": { +"kind": { +"description": "This is always `sql#failoverContext`.", +"type": "string" +}, +"settingsVersion": { +"description": "The current settings version of this instance. Request will be rejected if this version doesn't match the current settings version.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"Flag": { +"description": "A flag resource.", +"id": "Flag", +"properties": { +"allowedIntValues": { +"description": "Use this field if only certain integers are accepted. Can be combined with min_value and max_value to add additional values.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"allowedStringValues": { +"description": "For `STRING` flags, a list of strings that the value can be set to.", +"items": { +"type": "string" +}, +"type": "array" +}, +"appliesTo": { +"description": "The database version this flag applies to. Can be MySQL instances: `MYSQL_8_0`, `MYSQL_8_0_18`, `MYSQL_8_0_26`, `MYSQL_5_7`, or `MYSQL_5_6`. PostgreSQL instances: `POSTGRES_9_6`, `POSTGRES_10`, `POSTGRES_11` or `POSTGRES_12`. SQL Server instances: `SQLSERVER_2017_STANDARD`, `SQLSERVER_2017_ENTERPRISE`, `SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`, `SQLSERVER_2019_STANDARD`, `SQLSERVER_2019_ENTERPRISE`, `SQLSERVER_2019_EXPRESS`, or `SQLSERVER_2019_WEB`. See [the complete list](/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion).", +"items": { +"enum": [ +"SQL_DATABASE_VERSION_UNSPECIFIED", +"MYSQL_5_1", +"MYSQL_5_5", +"MYSQL_5_6", +"MYSQL_5_7", +"MYSQL_8_0", +"MYSQL_8_0_18", +"MYSQL_8_0_26", +"MYSQL_8_0_27", +"MYSQL_8_0_28", +"MYSQL_8_0_29", +"MYSQL_8_0_30", +"MYSQL_8_0_31", +"MYSQL_8_0_32", +"MYSQL_8_0_33", +"MYSQL_8_0_34", +"MYSQL_8_0_35", +"MYSQL_8_0_36", +"MYSQL_8_0_37", +"MYSQL_8_0_38", +"MYSQL_8_0_39", +"MYSQL_8_0_40", +"MYSQL_8_0_41", +"MYSQL_8_0_42", +"MYSQL_8_4", +"SQLSERVER_2017_STANDARD", +"SQLSERVER_2017_ENTERPRISE", +"SQLSERVER_2017_EXPRESS", +"SQLSERVER_2017_WEB", +"POSTGRES_9_6", +"POSTGRES_10", +"POSTGRES_11", +"POSTGRES_12", +"POSTGRES_13", +"POSTGRES_14", +"POSTGRES_15", +"POSTGRES_16", +"POSTGRES_17", +"SQLSERVER_2019_STANDARD", +"SQLSERVER_2019_ENTERPRISE", +"SQLSERVER_2019_EXPRESS", +"SQLSERVER_2019_WEB", +"SQLSERVER_2022_STANDARD", +"SQLSERVER_2022_ENTERPRISE", +"SQLSERVER_2022_EXPRESS", +"SQLSERVER_2022_WEB" +], +"enumDeprecated": [ +false, +true, +true, +false, +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"This is an unknown database version.", +"The database version is MySQL 5.1.", +"The database version is MySQL 5.5.", +"The database version is MySQL 5.6.", +"The database version is MySQL 5.7.", +"The database version is MySQL 8.", +"The database major version is MySQL 8.0 and the minor version is 18.", +"The database major version is MySQL 8.0 and the minor version is 26.", +"The database major version is MySQL 8.0 and the minor version is 27.", +"The database major version is MySQL 8.0 and the minor version is 28.", +"The database major version is MySQL 8.0 and the minor version is 29.", +"The database major version is MySQL 8.0 and the minor version is 30.", +"The database major version is MySQL 8.0 and the minor version is 31.", +"The database major version is MySQL 8.0 and the minor version is 32.", +"The database major version is MySQL 8.0 and the minor version is 33.", +"The database major version is MySQL 8.0 and the minor version is 34.", +"The database major version is MySQL 8.0 and the minor version is 35.", +"The database major version is MySQL 8.0 and the minor version is 36.", +"The database major version is MySQL 8.0 and the minor version is 37.", +"The database major version is MySQL 8.0 and the minor version is 38.", +"The database major version is MySQL 8.0 and the minor version is 39.", +"The database major version is MySQL 8.0 and the minor version is 40.", +"The database major version is MySQL 8.0 and the minor version is 41.", +"The database major version is MySQL 8.0 and the minor version is 42.", +"The database version is MySQL 8.4.", +"The database version is SQL Server 2017 Standard.", +"The database version is SQL Server 2017 Enterprise.", +"The database version is SQL Server 2017 Express.", +"The database version is SQL Server 2017 Web.", +"The database version is PostgreSQL 9.6.", +"The database version is PostgreSQL 10.", +"The database version is PostgreSQL 11.", +"The database version is PostgreSQL 12.", +"The database version is PostgreSQL 13.", +"The database version is PostgreSQL 14.", +"The database version is PostgreSQL 15.", +"The database version is PostgreSQL 16.", +"The database version is PostgreSQL 17.", +"The database version is SQL Server 2019 Standard.", +"The database version is SQL Server 2019 Enterprise.", +"The database version is SQL Server 2019 Express.", +"The database version is SQL Server 2019 Web.", +"The database version is SQL Server 2022 Standard.", +"The database version is SQL Server 2022 Enterprise.", +"The database version is SQL Server 2022 Express.", +"The database version is SQL Server 2022 Web." +], +"type": "string" +}, +"type": "array" +}, +"inBeta": { +"description": "Whether or not the flag is considered in beta.", +"type": "boolean" +}, +"kind": { +"description": "This is always `sql#flag`.", +"type": "string" +}, +"maxValue": { +"description": "For `INTEGER` flags, the maximum allowed value.", +"format": "int64", +"type": "string" +}, +"minValue": { +"description": "For `INTEGER` flags, the minimum allowed value.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "This is the name of the flag. Flag names always use underscores, not hyphens, for example: `max_allowed_packet`", +"type": "string" +}, +"requiresRestart": { +"description": "Indicates whether changing this flag will trigger a database restart. Only applicable to Second Generation instances.", +"type": "boolean" +}, +"type": { +"description": "The type of the flag. Flags are typed to being `BOOLEAN`, `STRING`, `INTEGER` or `NONE`. `NONE` is used for flags that do not take a value, such as `skip_grant_tables`.", +"enum": [ +"SQL_FLAG_TYPE_UNSPECIFIED", +"BOOLEAN", +"STRING", +"INTEGER", +"NONE", +"MYSQL_TIMEZONE_OFFSET", +"FLOAT", +"REPEATED_STRING" +], +"enumDescriptions": [ +"This is an unknown flag type.", +"Boolean type flag.", +"String type flag.", +"Integer type flag.", +"Flag type used for a server startup option.", +"Type introduced specially for MySQL TimeZone offset. Accept a string value with the format [-12:59, 13:00].", +"Float type flag.", +"Comma-separated list of the strings in a SqlFlagType enum." +], +"type": "string" +} +}, +"type": "object" +}, +"FlagsListResponse": { +"description": "Flags list response.", +"id": "FlagsListResponse", +"properties": { +"items": { +"description": "List of flags.", +"items": { +"$ref": "Flag" +}, +"type": "array" +}, +"kind": { +"description": "This is always `sql#flagsList`.", +"type": "string" +} +}, +"type": "object" +}, +"GeminiInstanceConfig": { +"description": "Gemini instance configuration.", +"id": "GeminiInstanceConfig", +"properties": { +"activeQueryEnabled": { +"description": "Output only. Whether the active query is enabled.", +"readOnly": true, +"type": "boolean" +}, +"entitled": { +"description": "Output only. Whether Gemini is enabled.", +"readOnly": true, +"type": "boolean" +}, +"flagRecommenderEnabled": { +"description": "Output only. Whether the flag recommender is enabled.", +"readOnly": true, +"type": "boolean" +}, +"googleVacuumMgmtEnabled": { +"description": "Output only. Whether the vacuum management is enabled.", +"readOnly": true, +"type": "boolean" +}, +"indexAdvisorEnabled": { +"description": "Output only. Whether the index advisor is enabled.", +"readOnly": true, +"type": "boolean" +}, +"oomSessionCancelEnabled": { +"description": "Output only. Whether canceling the out-of-memory (OOM) session is enabled.", +"readOnly": true, +"type": "boolean" +} +}, +"type": "object" +}, +"GenerateEphemeralCertRequest": { +"description": "Ephemeral certificate creation request.", +"id": "GenerateEphemeralCertRequest", +"properties": { +"access_token": { +"description": "Optional. Access token to include in the signed certificate.", +"type": "string" +}, +"public_key": { +"description": "PEM encoded public key to include in the signed certificate.", +"type": "string" +}, +"readTime": { +"description": "Optional. Optional snapshot read timestamp to trade freshness for performance.", +"format": "google-datetime", +"type": "string" +}, +"validDuration": { +"description": "Optional. If set, it will contain the cert valid duration.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GenerateEphemeralCertResponse": { +"description": "Ephemeral certificate creation request.", +"id": "GenerateEphemeralCertResponse", +"properties": { +"ephemeralCert": { +"$ref": "SslCert", +"description": "Generated cert" +} +}, +"type": "object" +}, +"ImportContext": { +"description": "Database instance import context.", +"id": "ImportContext", +"properties": { +"bakImportOptions": { +"description": "Import parameters specific to SQL Server .BAK files", +"properties": { +"bakType": { +"description": "Type of the bak content, FULL or DIFF", +"enum": [ +"BAK_TYPE_UNSPECIFIED", +"FULL", +"DIFF", +"TLOG" +], +"enumDescriptions": [ +"Default type.", +"Full backup.", +"Differential backup.", +"Transaction Log backup" +], +"type": "string" +}, +"encryptionOptions": { +"properties": { +"certPath": { +"description": "Path to the Certificate (.cer) in Cloud Storage, in the form `gs://bucketName/fileName`. The instance must have write permissions to the bucket and read access to the file.", +"type": "string" +}, +"pvkPassword": { +"description": "Password that encrypts the private key", +"type": "string" +}, +"pvkPath": { +"description": "Path to the Certificate Private Key (.pvk) in Cloud Storage, in the form `gs://bucketName/fileName`. The instance must have write permissions to the bucket and read access to the file.", +"type": "string" +} +}, +"type": "object" +}, +"noRecovery": { +"description": "Whether or not the backup importing will restore database with NORECOVERY option Applies only to Cloud SQL for SQL Server.", +"type": "boolean" +}, +"recoveryOnly": { +"description": "Whether or not the backup importing request will just bring database online without downloading Bak content only one of \"no_recovery\" and \"recovery_only\" can be true otherwise error will return. Applies only to Cloud SQL for SQL Server.", +"type": "boolean" +}, +"stopAt": { +"description": "Optional. The timestamp when the import should stop. This timestamp is in the [RFC 3339](https://tools.ietf.org/html/rfc3339) format (for example, `2023-10-01T16:19:00.094`). This field is equivalent to the STOPAT keyword and applies to Cloud SQL for SQL Server only.", +"format": "google-datetime", +"type": "string" +}, +"stopAtMark": { +"description": "Optional. The marked transaction where the import should stop. This field is equivalent to the STOPATMARK keyword and applies to Cloud SQL for SQL Server only.", +"type": "string" +}, +"striped": { +"description": "Whether or not the backup set being restored is striped. Applies only to Cloud SQL for SQL Server.", +"type": "boolean" +} +}, +"type": "object" +}, +"csvImportOptions": { +"description": "Options for importing data as CSV.", +"properties": { +"columns": { +"description": "The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.", +"items": { +"type": "string" +}, +"type": "array" +}, +"escapeCharacter": { +"description": "Specifies the character that should appear before a data character that needs to be escaped.", +"type": "string" +}, +"fieldsTerminatedBy": { +"description": "Specifies the character that separates columns within each row (line) of the file.", +"type": "string" +}, +"linesTerminatedBy": { +"description": "This is used to separate lines. If a line does not contain all fields, the rest of the columns are set to their default values.", +"type": "string" +}, +"quoteCharacter": { +"description": "Specifies the quoting character to be used when a data value is quoted.", +"type": "string" +}, +"table": { +"description": "The table to which CSV data is imported.", +"type": "string" +} +}, +"type": "object" +}, +"database": { +"description": "The target database for the import. If `fileType` is `SQL`, this field is required only if the import file does not specify a database, and is overridden by any database specification in the import file. If `fileType` is `CSV`, one database must be specified.", +"type": "string" +}, +"fileType": { +"description": "The file type for the specified uri.\\`SQL`: The file contains SQL statements. \\`CSV`: The file contains CSV data.", +"enum": [ +"SQL_FILE_TYPE_UNSPECIFIED", +"SQL", +"CSV", +"BAK" +], +"enumDescriptions": [ +"Unknown file type.", +"File containing SQL statements.", +"File in CSV format.", +"" +], +"type": "string" +}, +"importUser": { +"description": "The PostgreSQL user for this import operation. PostgreSQL instances only.", +"type": "string" +}, +"kind": { +"description": "This is always `sql#importContext`.", +"type": "string" +}, +"sqlImportOptions": { +"description": "Optional. Options for importing data from SQL statements.", +"properties": { +"parallel": { +"description": "Optional. Whether or not the import should be parallel.", +"type": "boolean" +}, +"postgresImportOptions": { +"description": "Optional. Options for importing from a Cloud SQL for PostgreSQL instance.", +"properties": { +"clean": { +"description": "Optional. The --clean flag for the pg_restore utility. This flag applies only if you enabled Cloud SQL to import files in parallel.", +"type": "boolean" +}, +"ifExists": { +"description": "Optional. The --if-exists flag for the pg_restore utility. This flag applies only if you enabled Cloud SQL to import files in parallel.", +"type": "boolean" +} +}, +"type": "object" +}, +"threads": { +"description": "Optional. The number of threads to use for parallel import.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"uri": { +"description": "Path to the import file in Cloud Storage, in the form `gs://bucketName/fileName`. Compressed gzip files (.gz) are supported when `fileType` is `SQL`. The instance must have write permissions to the bucket and read access to the file.", +"type": "string" +} +}, +"type": "object" +}, +"InsightsConfig": { +"description": "Insights configuration. This specifies when Cloud SQL Insights feature is enabled and optional configuration.", +"id": "InsightsConfig", +"properties": { +"queryInsightsEnabled": { +"description": "Whether Query Insights feature is enabled.", +"type": "boolean" +}, +"queryPlansPerMinute": { +"description": "Number of query execution plans captured by Insights per minute for all queries combined. Default is 5.", +"format": "int32", +"type": "integer" +}, +"queryStringLength": { +"description": "Maximum query length stored in bytes. Default value: 1024 bytes. Range: 256-4500 bytes. Query length more than this field value will be truncated to this value. When unset, query length will be the default value. Changing query length will restart the database.", +"format": "int32", +"type": "integer" +}, +"recordApplicationTags": { +"description": "Whether Query Insights will record application tags from query when enabled.", +"type": "boolean" +}, +"recordClientAddress": { +"description": "Whether Query Insights will record client address when enabled.", +"type": "boolean" +} +}, +"type": "object" +}, +"InstanceReference": { +"description": "Reference to another Cloud SQL instance.", +"id": "InstanceReference", +"properties": { +"name": { +"description": "The name of the Cloud SQL instance being referenced. This does not include the project ID.", +"type": "string" +}, +"project": { +"description": "The project ID of the Cloud SQL instance being referenced. The default is the same project ID as the instance references it.", +"type": "string" +}, +"region": { +"description": "The region of the Cloud SQL instance being referenced.", +"type": "string" +} +}, +"type": "object" +}, +"InstancesAcquireSsrsLeaseRequest": { +"description": "Request to acquire a lease for SSRS.", +"id": "InstancesAcquireSsrsLeaseRequest", +"properties": { +"acquireSsrsLeaseContext": { +"$ref": "AcquireSsrsLeaseContext", +"description": "Contains details about the acquire SSRS lease operation." +} +}, +"type": "object" +}, +"InstancesCloneRequest": { +"description": "Database instance clone request.", +"id": "InstancesCloneRequest", +"properties": { +"cloneContext": { +"$ref": "CloneContext", +"description": "Contains details about the clone operation." +} +}, +"type": "object" +}, +"InstancesDemoteMasterRequest": { +"description": "Database demote primary instance request.", +"id": "InstancesDemoteMasterRequest", +"properties": { +"demoteMasterContext": { +"$ref": "DemoteMasterContext", +"description": "Contains details about the demoteMaster operation." +} +}, +"type": "object" +}, +"InstancesDemoteRequest": { +"description": "This request is used to demote an existing standalone instance to be a Cloud SQL read replica for an external database server.", +"id": "InstancesDemoteRequest", +"properties": { +"demoteContext": { +"$ref": "DemoteContext", +"description": "Required. Contains details about the demote operation." +} +}, +"type": "object" +}, +"InstancesExportRequest": { +"description": "Database instance export request.", +"id": "InstancesExportRequest", +"properties": { +"exportContext": { +"$ref": "ExportContext", +"description": "Contains details about the export operation." +} +}, +"type": "object" +}, +"InstancesFailoverRequest": { +"description": "Instance failover request.", +"id": "InstancesFailoverRequest", +"properties": { +"failoverContext": { +"$ref": "FailoverContext", +"description": "Failover Context." +} +}, +"type": "object" +}, +"InstancesImportRequest": { +"description": "Database instance import request.", +"id": "InstancesImportRequest", +"properties": { +"importContext": { +"$ref": "ImportContext", +"description": "Contains details about the import operation." +} +}, +"type": "object" +}, +"InstancesListResponse": { +"description": "Database instances list response.", +"id": "InstancesListResponse", +"properties": { +"items": { +"description": "List of database instance resources.", +"items": { +"$ref": "DatabaseInstance" +}, +"type": "array" +}, +"kind": { +"description": "This is always `sql#instancesList`.", +"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" +}, +"warnings": { +"description": "List of warnings that occurred while handling the request.", +"items": { +"$ref": "ApiWarning" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstancesListServerCasResponse": { +"description": "Instances ListServerCas response.", +"id": "InstancesListServerCasResponse", +"properties": { +"activeVersion": { +"type": "string" +}, +"certs": { +"description": "List of server CA certificates for the instance.", +"items": { +"$ref": "SslCert" +}, +"type": "array" +}, +"kind": { +"description": "This is always `sql#instancesListServerCas`.", +"type": "string" +} +}, +"type": "object" +}, +"InstancesListServerCertificatesResponse": { +"description": "Instances ListServerCertificates response.", +"id": "InstancesListServerCertificatesResponse", +"properties": { +"activeVersion": { +"description": "The `sha1_fingerprint` of the active certificate from `server_certs`.", +"type": "string" +}, +"caCerts": { +"description": "List of server CA certificates for the instance.", +"items": { +"$ref": "SslCert" +}, +"type": "array" +}, +"kind": { +"description": "This is always `sql#instancesListServerCertificates`.", +"type": "string" +}, +"serverCerts": { +"description": "List of server certificates for the instance, signed by the corresponding CA from the `ca_certs` list.", +"items": { +"$ref": "SslCert" +}, +"type": "array" +} +}, +"type": "object" +}, +"InstancesReencryptRequest": { +"description": "Database Instance reencrypt request.", +"id": "InstancesReencryptRequest", +"properties": { +"backupReencryptionConfig": { +"$ref": "BackupReencryptionConfig", +"description": "Configuration specific to backup re-encryption" +} +}, +"type": "object" +}, +"InstancesRestoreBackupRequest": { +"description": "Database instance restore backup request.", +"id": "InstancesRestoreBackupRequest", +"properties": { +"restoreBackupContext": { +"$ref": "RestoreBackupContext", +"description": "Parameters required to perform the restore backup operation." +} +}, +"type": "object" +}, +"InstancesRotateServerCaRequest": { +"description": "Rotate server CA request.", +"id": "InstancesRotateServerCaRequest", +"properties": { +"rotateServerCaContext": { +"$ref": "RotateServerCaContext", +"description": "Contains details about the rotate server CA operation." +} +}, +"type": "object" +}, +"InstancesRotateServerCertificateRequest": { +"description": "Rotate server certificate request.", +"id": "InstancesRotateServerCertificateRequest", +"properties": { +"rotateServerCertificateContext": { +"$ref": "RotateServerCertificateContext", +"description": "Optional. Contains details about the rotate server certificate operation." +} +}, +"type": "object" +}, +"InstancesTruncateLogRequest": { +"description": "Instance truncate log request.", +"id": "InstancesTruncateLogRequest", +"properties": { +"truncateLogContext": { +"$ref": "TruncateLogContext", +"description": "Contains details about the truncate log operation." +} +}, +"type": "object" +}, +"IpConfiguration": { +"description": "IP Management configuration.", +"id": "IpConfiguration", +"properties": { +"allocatedIpRange": { +"description": "The name of the allocated ip range for the private ip Cloud SQL instance. For example: \"google-managed-services-default\". If set, the instance ip will be created in the allocated range. The range name must comply with [RFC 1035](https://tools.ietf.org/html/rfc1035). Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?.`", +"type": "string" +}, +"authorizedNetworks": { +"description": "The list of external networks that are allowed to connect to the instance using the IP. In 'CIDR' notation, also known as 'slash' notation (for example: `157.197.200.0/24`).", +"items": { +"$ref": "AclEntry" +}, +"type": "array" +}, +"customSubjectAlternativeNames": { +"description": "Optional. Custom Subject Alternative Name(SAN)s for a Cloud SQL instance.", +"items": { +"type": "string" +}, +"type": "array" +}, +"enablePrivatePathForGoogleCloudServices": { +"description": "Controls connectivity to private IP instances from Google services, such as BigQuery.", +"type": "boolean" +}, +"ipv4Enabled": { +"description": "Whether the instance is assigned a public IP address or not.", +"type": "boolean" +}, +"privateNetwork": { +"description": "The resource link for the VPC network from which the Cloud SQL instance is accessible for private IP. For example, `/projects/myProject/global/networks/default`. This setting can be updated, but it cannot be removed after it is set.", +"type": "string" +}, +"pscConfig": { +"$ref": "PscConfig", +"description": "PSC settings for this instance." +}, +"requireSsl": { +"description": "Use `ssl_mode` instead. Whether SSL/TLS connections over IP are enforced. If set to false, then allow both non-SSL/non-TLS and SSL/TLS connections. For SSL/TLS connections, the client certificate won't be verified. If set to true, then only allow connections encrypted with SSL/TLS and with valid client certificates. If you want to enforce SSL/TLS without enforcing the requirement for valid client certificates, then use the `ssl_mode` flag instead of the `require_ssl` flag.", +"type": "boolean" +}, +"serverCaMode": { +"description": "Specify what type of CA is used for the server certificate.", +"enum": [ +"CA_MODE_UNSPECIFIED", +"GOOGLE_MANAGED_INTERNAL_CA", +"GOOGLE_MANAGED_CAS_CA", +"CUSTOMER_MANAGED_CAS_CA" +], +"enumDescriptions": [ +"CA mode is unspecified. It is effectively the same as `GOOGLE_MANAGED_INTERNAL_CA`.", +"Google-managed self-signed internal CA.", +"Google-managed regional CA part of root CA hierarchy hosted on Google Cloud's Certificate Authority Service (CAS).", +"Customer-managed CA hosted on Google Cloud's Certificate Authority Service (CAS)." +], +"type": "string" +}, +"serverCaPool": { +"description": "Optional. The resource name of the server CA pool for an instance with `CUSTOMER_MANAGED_CAS_CA` as the `server_ca_mode`. Format: projects//locations//caPools/", +"type": "string" +}, +"sslMode": { +"description": "Specify how SSL/TLS is enforced in database connections. If you must use the `require_ssl` flag for backward compatibility, then only the following value pairs are valid: For PostgreSQL and MySQL: * `ssl_mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED` and `require_ssl=false` * `ssl_mode=ENCRYPTED_ONLY` and `require_ssl=false` * `ssl_mode=TRUSTED_CLIENT_CERTIFICATE_REQUIRED` and `require_ssl=true` For SQL Server: * `ssl_mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED` and `require_ssl=false` * `ssl_mode=ENCRYPTED_ONLY` and `require_ssl=true` The value of `ssl_mode` has priority over the value of `require_ssl`. For example, for the pair `ssl_mode=ENCRYPTED_ONLY` and `require_ssl=false`, `ssl_mode=ENCRYPTED_ONLY` means accept only SSL connections, while `require_ssl=false` means accept both non-SSL and SSL connections. In this case, MySQL and PostgreSQL databases respect `ssl_mode` and accepts only SSL connections.", +"enum": [ +"SSL_MODE_UNSPECIFIED", +"ALLOW_UNENCRYPTED_AND_ENCRYPTED", +"ENCRYPTED_ONLY", +"TRUSTED_CLIENT_CERTIFICATE_REQUIRED" +], +"enumDescriptions": [ +"The SSL mode is unknown.", +"Allow non-SSL/non-TLS and SSL/TLS connections. For SSL connections to MySQL and PostgreSQL, the client certificate isn't verified. When this value is used, the legacy `require_ssl` flag must be false or cleared to avoid a conflict between the values of the two flags.", +"Only allow connections encrypted with SSL/TLS. For SSL connections to MySQL and PostgreSQL, the client certificate isn't verified. When this value is used, the legacy `require_ssl` flag must be false or cleared to avoid a conflict between the values of the two flags.", +"Only allow connections encrypted with SSL/TLS and with valid client certificates. When this value is used, the legacy `require_ssl` flag must be true or cleared to avoid the conflict between values of two flags. PostgreSQL clients or users that connect using IAM database authentication must use either the [Cloud SQL Auth Proxy](https://cloud.google.com/sql/docs/postgres/connect-auth-proxy) or [Cloud SQL Connectors](https://cloud.google.com/sql/docs/postgres/connect-connectors) to enforce client identity verification. Only applicable to MySQL and PostgreSQL. Not applicable to SQL Server." +], +"type": "string" +} +}, +"type": "object" +}, +"IpMapping": { +"description": "Database instance IP mapping", +"id": "IpMapping", +"properties": { +"ipAddress": { +"description": "The IP address assigned.", +"type": "string" +}, +"timeToRetire": { +"description": "The due time for this IP to be retired in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`. This field is only available when the IP is scheduled to be retired.", +"format": "google-datetime", +"type": "string" +}, +"type": { +"description": "The type of this IP address. A `PRIMARY` address is a public address that can accept incoming connections. A `PRIVATE` address is a private address that can accept incoming connections. An `OUTGOING` address is the source address of connections originating from the instance, if supported.", +"enum": [ +"SQL_IP_ADDRESS_TYPE_UNSPECIFIED", +"PRIMARY", +"OUTGOING", +"PRIVATE", +"MIGRATED_1ST_GEN" +], +"enumDescriptions": [ +"This is an unknown IP address type.", +"IP address the customer is supposed to connect to. Usually this is the load balancer's IP address", +"Source IP address of the connection a read replica establishes to its external primary instance. This IP address can be allowlisted by the customer in case it has a firewall that filters incoming connection to its on premises primary instance.", +"Private IP used when using private IPs and network peering.", +"V1 IP of a migrated instance. We want the user to decommission this IP as soon as the migration is complete. Note: V1 instances with V1 ip addresses will be counted as PRIMARY." +], +"type": "string" +} +}, +"type": "object" +}, +"LocationPreference": { +"description": "Preferred location. This specifies where a Cloud SQL instance is located. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified.", +"id": "LocationPreference", +"properties": { +"followGaeApplication": { +"deprecated": true, +"description": "The App Engine application to follow, it must be in the same region as the Cloud SQL instance. WARNING: Changing this might restart the instance.", +"type": "string" +}, +"kind": { +"description": "This is always `sql#locationPreference`.", +"type": "string" +}, +"secondaryZone": { +"description": "The preferred Compute Engine zone for the secondary/failover (for example: us-central1-a, us-central1-b, etc.). To disable this field, set it to 'no_secondary_zone'.", +"type": "string" +}, +"zone": { +"description": "The preferred Compute Engine zone (for example: us-central1-a, us-central1-b, etc.). WARNING: Changing this might restart the instance.", +"type": "string" +} +}, +"type": "object" +}, +"MaintenanceWindow": { +"description": "Maintenance window. This specifies when a Cloud SQL instance is restarted for system maintenance purposes.", +"id": "MaintenanceWindow", +"properties": { +"day": { +"description": "Day of week - `MONDAY`, `TUESDAY`, `WEDNESDAY`, `THURSDAY`, `FRIDAY`, `SATURDAY`, or `SUNDAY`. Specify in the UTC time zone. Returned in output as an integer, 1 to 7, where `1` equals Monday.", +"format": "int32", +"type": "integer" +}, +"hour": { +"description": "Hour of day - 0 to 23. Specify in the UTC time zone.", +"format": "int32", +"type": "integer" +}, +"kind": { +"description": "This is always `sql#maintenanceWindow`.", +"type": "string" +}, +"updateTrack": { +"description": "Maintenance timing settings: `canary`, `stable`, or `week5`. For more information, see [About maintenance on Cloud SQL instances](https://cloud.google.com/sql/docs/mysql/maintenance).", +"enum": [ +"SQL_UPDATE_TRACK_UNSPECIFIED", +"canary", +"stable", +"week5" +], +"enumDescriptions": [ +"This is an unknown maintenance timing preference.", +"For an instance with a scheduled maintenance window, this maintenance timing indicates that the maintenance update is scheduled 7 to 14 days after the notification is sent out. Also referred to as `Week 1` (Console) and `preview` (gcloud CLI).", +"For an instance with a scheduled maintenance window, this maintenance timing indicates that the maintenance update is scheduled 15 to 21 days after the notification is sent out. Also referred to as `Week 2` (Console) and `production` (gcloud CLI).", +"For instance with a scheduled maintenance window, this maintenance timing indicates that the maintenance update is scheduled 35 to 42 days after the notification is sent out." +], +"type": "string" +} +}, +"type": "object" +}, +"MySqlReplicaConfiguration": { +"description": "Read-replica configuration specific to MySQL databases.", +"id": "MySqlReplicaConfiguration", +"properties": { +"caCertificate": { +"description": "PEM representation of the trusted CA's x509 certificate.", +"type": "string" +}, +"clientCertificate": { +"description": "PEM representation of the replica's x509 certificate.", +"type": "string" +}, +"clientKey": { +"description": "PEM representation of the replica's private key. The corresponsing public key is encoded in the client's certificate.", +"type": "string" +}, +"connectRetryInterval": { +"description": "Seconds to wait between connect retries. MySQL's default is 60 seconds.", +"format": "int32", +"type": "integer" +}, +"dumpFilePath": { +"description": "Path to a SQL dump file in Google Cloud Storage from which the replica instance is to be created. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are also supported. Dumps have the binlog co-ordinates from which replication begins. This can be accomplished by setting --master-data to 1 when using mysqldump.", +"type": "string" +}, +"kind": { +"description": "This is always `sql#mysqlReplicaConfiguration`.", +"type": "string" +}, +"masterHeartbeatPeriod": { +"description": "Interval in milliseconds between replication heartbeats.", +"format": "int64", +"type": "string" +}, +"password": { +"description": "The password for the replication connection.", +"type": "string" +}, +"sslCipher": { +"description": "A list of permissible ciphers to use for SSL encryption.", +"type": "string" +}, +"username": { +"description": "The username for the replication connection.", +"type": "string" +}, +"verifyServerCertificate": { +"description": "Whether or not to check the primary instance's Common Name value in the certificate that it sends during the SSL handshake.", +"type": "boolean" +} +}, +"type": "object" +}, +"MySqlSyncConfig": { +"description": "MySQL-specific external server sync settings.", +"id": "MySqlSyncConfig", +"properties": { +"initialSyncFlags": { +"description": "Flags to use for the initial dump.", +"items": { +"$ref": "SyncFlags" +}, +"type": "array" +} +}, +"type": "object" +}, +"OnPremisesConfiguration": { +"description": "On-premises instance configuration.", +"id": "OnPremisesConfiguration", +"properties": { +"caCertificate": { +"description": "PEM representation of the trusted CA's x509 certificate.", +"type": "string" +}, +"clientCertificate": { +"description": "PEM representation of the replica's x509 certificate.", +"type": "string" +}, +"clientKey": { +"description": "PEM representation of the replica's private key. The corresponsing public key is encoded in the client's certificate.", +"type": "string" +}, +"dumpFilePath": { +"description": "The dump file to create the Cloud SQL replica.", +"type": "string" +}, +"hostPort": { +"description": "The host and port of the on-premises instance in host:port format", +"type": "string" +}, +"kind": { +"description": "This is always `sql#onPremisesConfiguration`.", +"type": "string" +}, +"password": { +"description": "The password for connecting to on-premises instance.", +"type": "string" +}, +"selectedObjects": { +"description": "Optional. A list of objects that the user selects for replication from an external source instance.", +"items": { +"$ref": "SelectedObjects" +}, +"type": "array" +}, +"sourceInstance": { +"$ref": "InstanceReference", +"description": "The reference to Cloud SQL instance if the source is Cloud SQL." +}, +"sslOption": { +"description": "Optional. SSL option for replica connection to the on-premises source.", +"enum": [ +"SSL_OPTION_UNSPECIFIED", +"DISABLE", +"REQUIRE", +"VERIFY_CA" +], +"enumDescriptions": [ +"Unknown SSL option i.e. SSL option not specified by user.", +"SSL is not used for replica connection to the on-premises source.", +"SSL is required for replica connection to the on-premises source.", +"Verify CA is required for replica connection to the on-premises source." +], +"type": "string" +}, +"username": { +"description": "The username for connecting to on-premises instance.", +"type": "string" +} +}, +"type": "object" +}, +"Operation": { +"description": "An Operation resource. For successful operations that return an Operation resource, only the fields relevant to the operation are populated in the resource.", +"id": "Operation", +"properties": { +"acquireSsrsLeaseContext": { +"$ref": "AcquireSsrsLeaseContext", +"description": "The context for acquire SSRS lease operation, if applicable." +}, +"apiWarning": { +"$ref": "ApiWarning", +"description": "An Admin API warning message." +}, +"backupContext": { +"$ref": "BackupContext", +"description": "The context for backup operation, if applicable." +}, +"endTime": { +"description": "The time this operation finished in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.", +"format": "google-datetime", +"type": "string" +}, +"error": { +"$ref": "OperationErrors", +"description": "If errors occurred during processing of this operation, this field will be populated." +}, +"exportContext": { +"$ref": "ExportContext", +"description": "The context for export operation, if applicable." +}, +"importContext": { +"$ref": "ImportContext", +"description": "The context for import operation, if applicable." +}, +"insertTime": { +"description": "The time this operation was enqueued in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.", +"format": "google-datetime", +"type": "string" +}, +"kind": { +"description": "This is always `sql#operation`.", +"type": "string" +}, +"name": { +"description": "An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.", +"type": "string" +}, +"operationType": { +"description": "The type of the operation. Valid values are: * `CREATE` * `DELETE` * `UPDATE` * `RESTART` * `IMPORT` * `EXPORT` * `BACKUP_VOLUME` * `RESTORE_VOLUME` * `CREATE_USER` * `DELETE_USER` * `CREATE_DATABASE` * `DELETE_DATABASE`", +"enum": [ +"SQL_OPERATION_TYPE_UNSPECIFIED", +"IMPORT", +"EXPORT", +"CREATE", +"UPDATE", +"DELETE", +"RESTART", +"BACKUP", +"SNAPSHOT", +"BACKUP_VOLUME", +"DELETE_VOLUME", +"RESTORE_VOLUME", +"INJECT_USER", +"CLONE", +"STOP_REPLICA", +"START_REPLICA", +"PROMOTE_REPLICA", +"CREATE_REPLICA", +"CREATE_USER", +"DELETE_USER", +"UPDATE_USER", +"CREATE_DATABASE", +"DELETE_DATABASE", +"UPDATE_DATABASE", +"FAILOVER", +"DELETE_BACKUP", +"RECREATE_REPLICA", +"TRUNCATE_LOG", +"DEMOTE_MASTER", +"MAINTENANCE", +"ENABLE_PRIVATE_IP", +"DEFER_MAINTENANCE", +"CREATE_CLONE", +"RESCHEDULE_MAINTENANCE", +"START_EXTERNAL_SYNC", +"LOG_CLEANUP", +"AUTO_RESTART", +"REENCRYPT", +"SWITCHOVER", +"ACQUIRE_SSRS_LEASE", +"RELEASE_SSRS_LEASE", +"RECONFIGURE_OLD_PRIMARY", +"CLUSTER_MAINTENANCE", +"SELF_SERVICE_MAINTENANCE", +"SWITCHOVER_TO_REPLICA", +"MAJOR_VERSION_UPGRADE", +"ADVANCED_BACKUP" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +false, +true, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +true, +true, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +true, +true, +false, +false, +false +], +"enumDescriptions": [ +"Unknown operation type.", +"Imports data into a Cloud SQL instance.", +"Exports data from a Cloud SQL instance to a Cloud Storage bucket.", +"Creates a new Cloud SQL instance.", +"Updates the settings of a Cloud SQL instance.", +"Deletes a Cloud SQL instance.", +"Restarts the Cloud SQL instance.", +"", +"", +"Performs instance backup.", +"Deletes an instance backup.", +"Restores an instance backup.", +"Injects a privileged user in mysql for MOB instances.", +"Clones a Cloud SQL instance.", +"Stops replication on a Cloud SQL read replica instance.", +"Starts replication on a Cloud SQL read replica instance.", +"Promotes a Cloud SQL replica instance.", +"Creates a Cloud SQL replica instance.", +"Creates a new user in a Cloud SQL instance.", +"Deletes a user from a Cloud SQL instance.", +"Updates an existing user in a Cloud SQL instance.", +"Creates a database in the Cloud SQL instance.", +"Deletes a database in the Cloud SQL instance.", +"Updates a database in the Cloud SQL instance.", +"Performs failover of an HA-enabled Cloud SQL failover replica.", +"Deletes the backup taken by a backup run.", +"", +"Truncates a general or slow log table in MySQL.", +"Demotes the stand-alone instance to be a Cloud SQL read replica for an external database server.", +"Indicates that the instance is currently in maintenance. Maintenance typically causes the instance to be unavailable for 1-3 minutes.", +"This field is deprecated, and will be removed in future version of API.", +"", +"Creates clone instance.", +"Reschedule maintenance to another time.", +"Starts external sync of a Cloud SQL EM replica to an external primary instance.", +"Recovers logs from an instance's old data disk.", +"Performs auto-restart of an HA-enabled Cloud SQL database for auto recovery.", +"Re-encrypts CMEK instances with latest key version.", +"Switches the roles of the primary and replica pair. The target instance should be the replica.", +"Acquire a lease for the setup of SQL Server Reporting Services (SSRS).", +"Release a lease for the setup of SQL Server Reporting Services (SSRS).", +"Reconfigures old primary after a promote replica operation. Effect of a promote operation to the old primary is executed in this operation, asynchronously from the promote replica operation executed to the replica.", +"Indicates that the instance, its read replicas, and its cascading replicas are in maintenance. Maintenance typically gets initiated on groups of replicas first, followed by the primary instance. For each instance, maintenance typically causes the instance to be unavailable for 1-3 minutes.", +"Indicates that the instance (and any of its replicas) are currently in maintenance. This is initiated as a self-service request by using SSM. Maintenance typically causes the instance to be unavailable for 1-3 minutes.", +"Switches a primary instance to a replica. This operation runs as part of a switchover operation to the original primary instance.", +"Updates the major version of a Cloud SQL instance.", +"Creates a backup for an Advanced BackupTier Cloud SQL instance." +], +"type": "string" +}, +"selfLink": { +"description": "The URI of this resource.", +"type": "string" +}, +"startTime": { +"description": "The time this operation actually started in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.", +"format": "google-datetime", +"type": "string" +}, +"status": { +"description": "The status of an operation.", +"enum": [ +"SQL_OPERATION_STATUS_UNSPECIFIED", +"PENDING", +"RUNNING", +"DONE" +], +"enumDescriptions": [ +"The state of the operation is unknown.", +"The operation has been queued, but has not started yet.", +"The operation is running.", +"The operation completed." +], +"type": "string" +}, +"subOperationType": { +"$ref": "SqlSubOperationType", +"description": "Optional. The sub operation based on the operation type." +}, +"targetId": { +"type": "string" +}, +"targetLink": { +"type": "string" +}, +"targetProject": { +"description": "The project ID of the target instance related to this operation.", +"type": "string" +}, +"user": { +"description": "The email address of the user who initiated this operation.", +"type": "string" +} +}, +"type": "object" +}, +"OperationError": { +"description": "Database instance operation error.", +"id": "OperationError", +"properties": { +"code": { +"description": "Identifies the specific error that occurred.", +"type": "string" +}, +"kind": { +"description": "This is always `sql#operationError`.", +"type": "string" +}, +"message": { +"description": "Additional information about the error encountered.", +"type": "string" +} +}, +"type": "object" +}, +"OperationErrors": { +"description": "Database instance operation errors list wrapper.", +"id": "OperationErrors", +"properties": { +"errors": { +"description": "The list of errors encountered while processing this operation.", +"items": { +"$ref": "OperationError" +}, +"type": "array" +}, +"kind": { +"description": "This is always `sql#operationErrors`.", +"type": "string" +} +}, +"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 google.longrunning.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" +}, +"OperationsListResponse": { +"description": "Operations list response.", +"id": "OperationsListResponse", +"properties": { +"items": { +"description": "List of operation resources.", +"items": { +"$ref": "Operation" +}, +"type": "array" +}, +"kind": { +"description": "This is always `sql#operationsList`.", +"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" +}, +"PasswordStatus": { +"description": "Read-only password status.", +"id": "PasswordStatus", +"properties": { +"locked": { +"description": "If true, user does not have login privileges.", +"type": "boolean" +}, +"passwordExpirationTime": { +"description": "The expiration time of the current password.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"PasswordValidationPolicy": { +"description": "Database instance local user password validation policy", +"id": "PasswordValidationPolicy", +"properties": { +"complexity": { +"description": "The complexity of the password.", +"enum": [ +"COMPLEXITY_UNSPECIFIED", +"COMPLEXITY_DEFAULT" +], +"enumDescriptions": [ +"Complexity check is not specified.", +"A combination of lowercase, uppercase, numeric, and non-alphanumeric characters." +], +"type": "string" +}, +"disallowCompromisedCredentials": { +"deprecated": true, +"description": "This field is deprecated and will be removed in a future version of the API.", +"type": "boolean" +}, +"disallowUsernameSubstring": { +"description": "Disallow username as a part of the password.", +"type": "boolean" +}, +"enablePasswordPolicy": { +"description": "Whether the password policy is enabled or not.", +"type": "boolean" +}, +"minLength": { +"description": "Minimum number of characters allowed.", +"format": "int32", +"type": "integer" +}, +"passwordChangeInterval": { +"description": "Minimum interval after which the password can be changed. This flag is only supported for PostgreSQL.", +"format": "google-duration", +"type": "string" +}, +"reuseInterval": { +"description": "Number of previous passwords that cannot be reused.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"PerformDiskShrinkContext": { +"description": "Perform disk shrink context.", +"id": "PerformDiskShrinkContext", +"properties": { +"targetSizeGb": { +"description": "The target disk shrink size in GigaBytes.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"PscAutoConnectionConfig": { +"description": "Settings for an automatically-setup Private Service Connect consumer endpoint that is used to connect to a Cloud SQL instance.", +"id": "PscAutoConnectionConfig", +"properties": { +"consumerNetwork": { +"description": "The consumer network of this consumer endpoint. This must be a resource path that includes both the host project and the network name. For example, `projects/project1/global/networks/network1`. The consumer host project of this network might be different from the consumer service project.", +"type": "string" +}, +"consumerNetworkStatus": { +"description": "The connection policy status of the consumer network.", +"type": "string" +}, +"consumerProject": { +"description": "This is the project ID of consumer service project of this consumer endpoint. Optional. This is only applicable if consumer_network is a shared vpc network.", +"type": "string" +}, +"ipAddress": { +"description": "The IP address of the consumer endpoint.", +"type": "string" +}, +"status": { +"description": "The connection status of the consumer endpoint.", +"type": "string" +} +}, +"type": "object" +}, +"PscConfig": { +"description": "PSC settings for a Cloud SQL instance.", +"id": "PscConfig", +"properties": { +"allowedConsumerProjects": { +"description": "Optional. The list of consumer projects that are allow-listed for PSC connections to this instance. This instance can be connected to with PSC from any network in these projects. Each consumer project in this list may be represented by a project number (numeric) or by a project id (alphanumeric).", +"items": { +"type": "string" +}, +"type": "array" +}, +"pscAutoConnections": { +"description": "Optional. The list of settings for requested Private Service Connect consumer endpoints that can be used to connect to this Cloud SQL instance.", +"items": { +"$ref": "PscAutoConnectionConfig" +}, +"type": "array" +}, +"pscEnabled": { +"description": "Whether PSC connectivity is enabled for this instance.", +"type": "boolean" +} +}, +"type": "object" +}, +"ReplicaConfiguration": { +"description": "Read-replica configuration for connecting to the primary instance.", +"id": "ReplicaConfiguration", +"properties": { +"cascadableReplica": { +"description": "Optional. Specifies if a SQL Server replica is a cascadable replica. A cascadable replica is a SQL Server cross region replica that supports replica(s) under it.", +"type": "boolean" +}, +"failoverTarget": { +"description": "Specifies if the replica is the failover target. If the field is set to `true`, the replica will be designated as a failover replica. In case the primary instance fails, the replica instance will be promoted as the new primary instance. Only one replica can be specified as failover target, and the replica has to be in different zone with the primary instance.", +"type": "boolean" +}, +"kind": { +"description": "This is always `sql#replicaConfiguration`.", +"type": "string" +}, +"mysqlReplicaConfiguration": { +"$ref": "MySqlReplicaConfiguration", +"description": "MySQL specific configuration when replicating from a MySQL on-premises primary instance. Replication configuration information such as the username, password, certificates, and keys are not stored in the instance metadata. The configuration information is used only to set up the replication connection and is stored by MySQL in a file named `master.info` in the data directory." +} +}, +"type": "object" +}, +"ReplicationCluster": { +"description": "A primary instance and disaster recovery (DR) replica pair. A DR replica is a cross-region replica that you designate for failover in the event that the primary instance experiences regional failure. Applicable to MySQL and PostgreSQL.", +"id": "ReplicationCluster", +"properties": { +"drReplica": { +"description": "Output only. Read-only field that indicates whether the replica is a DR replica. This field is not set if the instance is a primary instance.", +"readOnly": true, +"type": "boolean" +}, +"failoverDrReplicaName": { +"description": "Optional. If the instance is a primary instance, then this field identifies the disaster recovery (DR) replica. A DR replica is an optional configuration for Enterprise Plus edition instances. If the instance is a read replica, then the field is not set. Set this field to a replica name to designate a DR replica for a primary instance. Remove the replica name to remove the DR replica designation.", +"type": "string" +}, +"psaWriteEndpoint": { +"description": "Output only. If set, this field indicates this instance has a private service access (PSA) DNS endpoint that is pointing to the primary instance of the cluster. If this instance is the primary, then the DNS endpoint points to this instance. After a switchover or replica failover operation, this DNS endpoint points to the promoted instance. This is a read-only field, returned to the user as information. This field can exist even if a standalone instance doesn't have a DR replica yet or the DR replica is deleted.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Reschedule": { +"id": "Reschedule", +"properties": { +"rescheduleType": { +"description": "Required. The type of the reschedule.", +"enum": [ +"RESCHEDULE_TYPE_UNSPECIFIED", +"IMMEDIATE", +"NEXT_AVAILABLE_WINDOW", +"SPECIFIC_TIME" +], +"enumDescriptions": [ +"", +"Reschedules maintenance to happen now (within 5 minutes).", +"Reschedules maintenance to occur within one week from the originally scheduled day and time.", +"Reschedules maintenance to a specific time and day." +], +"type": "string" +}, +"scheduleTime": { +"description": "Optional. Timestamp when the maintenance shall be rescheduled to if reschedule_type=SPECIFIC_TIME, in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"RestoreBackupContext": { +"description": "Database instance restore from backup context. Backup context contains source instance id and project id.", +"id": "RestoreBackupContext", +"properties": { +"backupRunId": { +"description": "The ID of the backup run to restore from.", +"format": "int64", +"type": "string" +}, +"instanceId": { +"description": "The ID of the instance that the backup was taken from.", +"type": "string" +}, +"kind": { +"description": "This is always `sql#restoreBackupContext`.", +"type": "string" +}, +"project": { +"description": "The full project ID of the source instance.", +"type": "string" +} +}, +"type": "object" +}, +"RotateServerCaContext": { +"description": "Instance rotate server CA context.", +"id": "RotateServerCaContext", +"properties": { +"kind": { +"description": "This is always `sql#rotateServerCaContext`.", +"type": "string" +}, +"nextVersion": { +"description": "The fingerprint of the next version to be rotated to. If left unspecified, will be rotated to the most recently added server CA version.", +"type": "string" +} +}, +"type": "object" +}, +"RotateServerCertificateContext": { +"description": "Instance rotate server certificate context.", +"id": "RotateServerCertificateContext", +"properties": { +"kind": { +"description": "Optional. This is always `sql#rotateServerCertificateContext`.", +"type": "string" +}, +"nextVersion": { +"description": "The fingerprint of the next version to be rotated to. If left unspecified, will be rotated to the most recently added server certificate version.", +"type": "string" +} +}, +"type": "object" +}, +"SelectedObjects": { +"description": "A list of objects that the user selects for replication from an external source instance.", +"id": "SelectedObjects", +"properties": { +"database": { +"description": "Required. The name of the database to migrate.", +"type": "string" +} +}, +"type": "object" +}, +"Settings": { +"description": "Database instance settings.", +"id": "Settings", +"properties": { +"activationPolicy": { +"description": "The activation policy specifies when the instance is activated; it is applicable only when the instance state is RUNNABLE. Valid values: * `ALWAYS`: The instance is on, and remains so even in the absence of connection requests. * `NEVER`: The instance is off; it is not activated, even if a connection request arrives.", +"enum": [ +"SQL_ACTIVATION_POLICY_UNSPECIFIED", +"ALWAYS", +"NEVER", +"ON_DEMAND" +], +"enumDeprecated": [ +false, +false, +false, +true +], +"enumDescriptions": [ +"Unknown activation plan.", +"The instance is always up and running.", +"The instance never starts.", +"The instance starts upon receiving requests." +], +"type": "string" +}, +"activeDirectoryConfig": { +"$ref": "SqlActiveDirectoryConfig", +"description": "Active Directory configuration, relevant only for Cloud SQL for SQL Server." +}, +"advancedMachineFeatures": { +"$ref": "AdvancedMachineFeatures", +"description": "Specifies advanced machine configuration for the instances relevant only for SQL Server." +}, +"authorizedGaeApplications": { +"deprecated": true, +"description": "The App Engine app IDs that can access this instance. (Deprecated) Applied to First Generation instances only.", +"items": { +"type": "string" +}, +"type": "array" +}, +"availabilityType": { +"description": "Availability type. Potential values: * `ZONAL`: The instance serves data from only one zone. Outages in that zone affect data accessibility. * `REGIONAL`: The instance can serve data from more than one zone in a region (it is highly available)./ For more information, see [Overview of the High Availability Configuration](https://cloud.google.com/sql/docs/mysql/high-availability).", +"enum": [ +"SQL_AVAILABILITY_TYPE_UNSPECIFIED", +"ZONAL", +"REGIONAL" +], +"enumDescriptions": [ +"This is an unknown Availability type.", +"Zonal available instance.", +"Regional available instance." +], +"type": "string" +}, +"backupConfiguration": { +"$ref": "BackupConfiguration", +"description": "The daily backup configuration for the instance." +}, +"collation": { +"description": "The name of server Instance collation.", +"type": "string" +}, +"connectorEnforcement": { +"description": "Specifies if connections must use Cloud SQL connectors. Option values include the following: `NOT_REQUIRED` (Cloud SQL instances can be connected without Cloud SQL Connectors) and `REQUIRED` (Only allow connections that use Cloud SQL Connectors). Note that using REQUIRED disables all existing authorized networks. If this field is not specified when creating a new instance, NOT_REQUIRED is used. If this field is not specified when patching or updating an existing instance, it is left unchanged in the instance.", +"enum": [ +"CONNECTOR_ENFORCEMENT_UNSPECIFIED", +"NOT_REQUIRED", +"REQUIRED" +], +"enumDescriptions": [ +"The requirement for Cloud SQL connectors is unknown.", +"Do not require Cloud SQL connectors.", +"Require all connections to use Cloud SQL connectors, including the Cloud SQL Auth Proxy and Cloud SQL Java, Python, and Go connectors. Note: This disables all existing authorized networks." +], +"type": "string" +}, +"crashSafeReplicationEnabled": { +"deprecated": true, +"description": "Configuration specific to read replica instances. Indicates whether database flags for crash-safe replication are enabled. This property was only applicable to First Generation instances.", +"type": "boolean" +}, +"dataCacheConfig": { +"$ref": "DataCacheConfig", +"description": "Configuration for data cache." +}, +"dataDiskSizeGb": { +"description": "The size of data disk, in GB. The data disk size minimum is 10GB.", +"format": "int64", +"type": "string" +}, +"dataDiskType": { +"description": "The type of data disk: `PD_SSD` (default) or `PD_HDD`. Not used for First Generation instances.", +"enum": [ +"SQL_DATA_DISK_TYPE_UNSPECIFIED", +"PD_SSD", +"PD_HDD", +"OBSOLETE_LOCAL_SSD" +], +"enumDeprecated": [ +false, +false, +false, +true +], +"enumDescriptions": [ +"This is an unknown data disk type.", +"An SSD data disk.", +"An HDD data disk.", +"This field is deprecated and will be removed from a future version of the API." +], +"type": "string" +}, +"databaseFlags": { +"description": "The database flags passed to the instance at startup.", +"items": { +"$ref": "DatabaseFlags" +}, +"type": "array" +}, +"databaseReplicationEnabled": { +"description": "Configuration specific to read replica instances. Indicates whether replication is enabled or not. WARNING: Changing this restarts the instance.", +"type": "boolean" +}, +"deletionProtectionEnabled": { +"description": "Configuration to protect against accidental instance deletion.", +"type": "boolean" +}, +"denyMaintenancePeriods": { +"description": "Deny maintenance periods", +"items": { +"$ref": "DenyMaintenancePeriod" +}, +"type": "array" +}, +"edition": { +"description": "Optional. The edition of the instance.", +"enum": [ +"EDITION_UNSPECIFIED", +"ENTERPRISE", +"ENTERPRISE_PLUS" +], +"enumDescriptions": [ +"The instance did not specify the edition.", +"The instance is an enterprise edition.", +"The instance is an Enterprise Plus edition." +], +"type": "string" +}, +"enableDataplexIntegration": { +"description": "Optional. By default, Cloud SQL instances have schema extraction disabled for Dataplex. When this parameter is set to true, schema extraction for Dataplex on Cloud SQL instances is activated.", +"type": "boolean" +}, +"enableGoogleMlIntegration": { +"description": "Optional. When this parameter is set to true, Cloud SQL instances can connect to Vertex AI to pass requests for real-time predictions and insights to the AI. The default value is false. This applies only to Cloud SQL for PostgreSQL instances.", +"type": "boolean" +}, +"insightsConfig": { +"$ref": "InsightsConfig", +"description": "Insights configuration, for now relevant only for Postgres." +}, +"ipConfiguration": { +"$ref": "IpConfiguration", +"description": "The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance. The IPv4 address cannot be disabled for Second Generation instances." +}, +"kind": { +"description": "This is always `sql#settings`.", +"type": "string" +}, +"locationPreference": { +"$ref": "LocationPreference", +"description": "The location preference settings. This allows the instance to be located as near as possible to either an App Engine app or Compute Engine zone for better performance. App Engine co-location was only applicable to First Generation instances." +}, +"maintenanceWindow": { +"$ref": "MaintenanceWindow", +"description": "The maintenance window for this instance. This specifies when the instance can be restarted for maintenance purposes." +}, +"passwordValidationPolicy": { +"$ref": "PasswordValidationPolicy", +"description": "The local user password validation policy of the instance." +}, +"pricingPlan": { +"description": "The pricing plan for this instance. This can be either `PER_USE` or `PACKAGE`. Only `PER_USE` is supported for Second Generation instances.", +"enum": [ +"SQL_PRICING_PLAN_UNSPECIFIED", +"PACKAGE", +"PER_USE" +], +"enumDescriptions": [ +"This is an unknown pricing plan for this instance.", +"The instance is billed at a monthly flat rate.", +"The instance is billed per usage." +], +"type": "string" +}, +"replicationType": { +"deprecated": true, +"description": "The type of replication this instance uses. This can be either `ASYNCHRONOUS` or `SYNCHRONOUS`. (Deprecated) This property was only applicable to First Generation instances.", +"enum": [ +"SQL_REPLICATION_TYPE_UNSPECIFIED", +"SYNCHRONOUS", +"ASYNCHRONOUS" +], +"enumDescriptions": [ +"This is an unknown replication type for a Cloud SQL instance.", +"The synchronous replication mode for First Generation instances. It is the default value.", +"The asynchronous replication mode for First Generation instances. It provides a slight performance gain, but if an outage occurs while this option is set to asynchronous, you can lose up to a few seconds of updates to your data." +], +"type": "string" +}, +"settingsVersion": { +"description": "The version of instance settings. This is a required field for update method to make sure concurrent updates are handled properly. During update, use the most recent settingsVersion value for this instance and do not try to update this value.", +"format": "int64", +"type": "string" +}, +"sqlServerAuditConfig": { +"$ref": "SqlServerAuditConfig", +"description": "SQL Server specific audit configuration." +}, +"storageAutoResize": { +"description": "Configuration to increase storage size automatically. The default value is true.", +"type": "boolean" +}, +"storageAutoResizeLimit": { +"description": "The maximum size to which storage capacity can be automatically increased. The default value is 0, which specifies that there is no limit.", +"format": "int64", +"type": "string" +}, +"tier": { +"description": "The tier (or machine type) for this instance, for example `db-custom-1-3840`. WARNING: Changing this restarts the instance.", +"type": "string" +}, +"timeZone": { +"description": "Server timezone, relevant only for Cloud SQL for SQL Server.", +"type": "string" +}, +"userLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "User-provided labels, represented as a dictionary where each label is a single key value pair.", +"type": "object" +} +}, +"type": "object" +}, +"SqlActiveDirectoryConfig": { +"description": "Active Directory configuration, relevant only for Cloud SQL for SQL Server.", +"id": "SqlActiveDirectoryConfig", +"properties": { +"domain": { +"description": "The name of the domain (e.g., mydomain.com).", +"type": "string" +}, +"kind": { +"description": "This is always sql#activeDirectoryConfig.", +"type": "string" +} +}, +"type": "object" +}, +"SqlExternalSyncSettingError": { +"description": "External primary instance migration setting error/warning.", +"id": "SqlExternalSyncSettingError", +"properties": { +"detail": { +"description": "Additional information about the error encountered.", +"type": "string" +}, +"kind": { +"description": "Can be `sql#externalSyncSettingError` or `sql#externalSyncSettingWarning`.", +"type": "string" +}, +"type": { +"description": "Identifies the specific error that occurred.", +"enum": [ +"SQL_EXTERNAL_SYNC_SETTING_ERROR_TYPE_UNSPECIFIED", +"CONNECTION_FAILURE", +"BINLOG_NOT_ENABLED", +"INCOMPATIBLE_DATABASE_VERSION", +"REPLICA_ALREADY_SETUP", +"INSUFFICIENT_PRIVILEGE", +"UNSUPPORTED_MIGRATION_TYPE", +"NO_PGLOGICAL_INSTALLED", +"PGLOGICAL_NODE_ALREADY_EXISTS", +"INVALID_WAL_LEVEL", +"INVALID_SHARED_PRELOAD_LIBRARY", +"INSUFFICIENT_MAX_REPLICATION_SLOTS", +"INSUFFICIENT_MAX_WAL_SENDERS", +"INSUFFICIENT_MAX_WORKER_PROCESSES", +"UNSUPPORTED_EXTENSIONS", +"INVALID_RDS_LOGICAL_REPLICATION", +"INVALID_LOGGING_SETUP", +"INVALID_DB_PARAM", +"UNSUPPORTED_GTID_MODE", +"SQLSERVER_AGENT_NOT_RUNNING", +"UNSUPPORTED_TABLE_DEFINITION", +"UNSUPPORTED_DEFINER", +"SQLSERVER_SERVERNAME_MISMATCH", +"PRIMARY_ALREADY_SETUP", +"UNSUPPORTED_BINLOG_FORMAT", +"BINLOG_RETENTION_SETTING", +"UNSUPPORTED_STORAGE_ENGINE", +"LIMITED_SUPPORT_TABLES", +"EXISTING_DATA_IN_REPLICA", +"MISSING_OPTIONAL_PRIVILEGES", +"RISKY_BACKUP_ADMIN_PRIVILEGE", +"INSUFFICIENT_GCS_PERMISSIONS", +"INVALID_FILE_INFO", +"UNSUPPORTED_DATABASE_SETTINGS", +"MYSQL_PARALLEL_IMPORT_INSUFFICIENT_PRIVILEGE", +"LOCAL_INFILE_OFF", +"TURN_ON_PITR_AFTER_PROMOTE", +"INCOMPATIBLE_DATABASE_MINOR_VERSION", +"SOURCE_MAX_SUBSCRIPTIONS", +"UNABLE_TO_VERIFY_DEFINERS", +"SUBSCRIPTION_CALCULATION_STATUS", +"PG_SUBSCRIPTION_COUNT", +"PG_SYNC_PARALLEL_LEVEL", +"INSUFFICIENT_DISK_SIZE", +"INSUFFICIENT_MACHINE_TIER", +"UNSUPPORTED_EXTENSIONS_NOT_MIGRATED", +"EXTENSIONS_NOT_MIGRATED", +"PG_CRON_FLAG_ENABLED_IN_REPLICA", +"EXTENSIONS_NOT_ENABLED_IN_REPLICA", +"UNSUPPORTED_COLUMNS", +"USERS_NOT_CREATED_IN_REPLICA", +"UNSUPPORTED_SYSTEM_OBJECTS", +"UNSUPPORTED_TABLES_WITH_REPLICA_IDENTITY", +"SELECTED_OBJECTS_NOT_EXIST_ON_SOURCE" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"The replication user is missing privileges that are required.", +"Unsupported migration type.", +"No pglogical extension installed on databases, applicable for postgres.", +"pglogical node already exists on databases, applicable for postgres.", +"The value of parameter wal_level is not set to logical.", +"The value of parameter shared_preload_libraries does not include pglogical.", +"The value of parameter max_replication_slots is not sufficient.", +"The value of parameter max_wal_senders is not sufficient.", +"The value of parameter max_worker_processes is not sufficient.", +"Extensions installed are either not supported or having unsupported versions.", +"The value of parameter rds.logical_replication is not set to 1.", +"The primary instance logging setup doesn't allow EM sync.", +"The primary instance database parameter setup doesn't allow EM sync.", +"The gtid_mode is not supported, applicable for MySQL.", +"SQL Server Agent is not running.", +"The table definition is not support due to missing primary key or replica identity, applicable for postgres. Note that this is a warning and won't block the migration.", +"The customer has a definer that will break EM setup.", +"SQL Server @@SERVERNAME does not match actual host name.", +"The primary instance has been setup and will fail the setup.", +"The primary instance has unsupported binary log format.", +"The primary instance's binary log retention setting.", +"The primary instance has tables with unsupported storage engine.", +"Source has tables with limited support eg: PostgreSQL tables without primary keys.", +"The replica instance contains existing data.", +"The replication user is missing privileges that are optional.", +"Additional BACKUP_ADMIN privilege is granted to the replication user which may lock source MySQL 8 instance for DDLs during initial sync.", +"The Cloud Storage bucket is missing necessary permissions.", +"The Cloud Storage bucket has an error in the file or contains invalid file information.", +"The source instance has unsupported database settings for migration.", +"The replication user is missing parallel import specific privileges. (e.g. LOCK TABLES) for MySQL.", +"The global variable local_infile is off on external server replica.", +"This code instructs customers to turn on point-in-time recovery manually for the instance after promoting the Cloud SQL for PostgreSQL instance.", +"The minor version of replica database is incompatible with the source.", +"This warning message indicates that Cloud SQL uses the maximum number of subscriptions to migrate data from the source to the destination.", +"Unable to verify definers on the source for MySQL.", +"If a time out occurs while the subscription counts are calculated, then this value is set to 1. Otherwise, this value is set to 2.", +"Count of subscriptions needed to sync source data for PostgreSQL database.", +"Final parallel level that is used to do migration.", +"The disk size of the replica instance is smaller than the data size of the source instance.", +"The data size of the source instance is greater than 1 TB, the number of cores of the replica instance is less than 8, and the memory of the replica is less than 32 GB.", +"The warning message indicates the unsupported extensions will not be migrated to the destination.", +"The warning message indicates the pg_cron extension and settings will not be migrated to the destination.", +"The error message indicates that pg_cron flags are enabled on the destination which is not supported during the migration.", +"This error message indicates that the specified extensions are not enabled on destination instance. For example, before you can migrate data to the destination instance, you must enable the PGAudit extension on the instance.", +"The source database has generated columns that can't be migrated. Please change them to regular columns before migration.", +"The source database has users that aren't created in the replica. First, create all users, which are in the pg_user_mappings table of the source database, in the destination instance. Then, perform the migration.", +"The selected objects include system objects that aren't supported for migration.", +"The source database has tables with the FULL or NOTHING replica identity. Before starting your migration, either remove the identity or change it to DEFAULT. Note that this is an error and will block the migration.", +"The selected objects don't exist on the source instance." +], +"type": "string" +} +}, +"type": "object" +}, +"SqlInstancesAcquireSsrsLeaseResponse": { +"description": "Response for the acquire SSRS lease request.", +"id": "SqlInstancesAcquireSsrsLeaseResponse", +"properties": { +"operationId": { +"description": "The unique identifier for this operation.", +"type": "string" +} +}, +"type": "object" +}, +"SqlInstancesGetDiskShrinkConfigResponse": { +"description": "Instance get disk shrink config response.", +"id": "SqlInstancesGetDiskShrinkConfigResponse", +"properties": { +"kind": { +"description": "This is always `sql#getDiskShrinkConfig`.", +"type": "string" +}, +"message": { +"description": "Additional message to customers.", +"type": "string" +}, +"minimalTargetSizeGb": { +"description": "The minimum size to which a disk can be shrunk in GigaBytes.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"SqlInstancesGetLatestRecoveryTimeResponse": { +"description": "Instance get latest recovery time response.", +"id": "SqlInstancesGetLatestRecoveryTimeResponse", +"properties": { +"kind": { +"description": "This is always `sql#getLatestRecoveryTime`.", +"type": "string" +}, +"latestRecoveryTime": { +"description": "Timestamp, identifies the latest recovery time of the source instance.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"SqlInstancesReleaseSsrsLeaseResponse": { +"description": "Response for the release SSRS lease request.", +"id": "SqlInstancesReleaseSsrsLeaseResponse", +"properties": { +"operationId": { +"description": "The unique identifier for this operation.", +"type": "string" +} +}, +"type": "object" +}, +"SqlInstancesRescheduleMaintenanceRequestBody": { +"description": "Reschedule options for maintenance windows.", +"id": "SqlInstancesRescheduleMaintenanceRequestBody", +"properties": { +"reschedule": { +"$ref": "Reschedule", +"description": "Required. The type of the reschedule the user wants." +} +}, +"type": "object" +}, +"SqlInstancesResetReplicaSizeRequest": { +"description": "Instance reset replica size request.", +"id": "SqlInstancesResetReplicaSizeRequest", +"properties": {}, +"type": "object" +}, +"SqlInstancesStartExternalSyncRequest": { +"description": "Instance start external sync request.", +"id": "SqlInstancesStartExternalSyncRequest", +"properties": { +"migrationType": { +"description": "Optional. MigrationType configures the migration to use physical files or logical dump files. If not set, then the logical dump file configuration is used. Valid values are `LOGICAL` or `PHYSICAL`. Only applicable to MySQL.", +"enum": [ +"MIGRATION_TYPE_UNSPECIFIED", +"LOGICAL", +"PHYSICAL" +], +"enumDescriptions": [ +"Default value is a logical dump file-based migration", +"Logical dump file-based migration", +"Physical file-based migration" +], +"type": "string" +}, +"mysqlSyncConfig": { +"$ref": "MySqlSyncConfig", +"description": "MySQL-specific settings for start external sync." +}, +"skipVerification": { +"description": "Whether to skip the verification step (VESS).", +"type": "boolean" +}, +"syncMode": { +"description": "External sync mode.", +"enum": [ +"EXTERNAL_SYNC_MODE_UNSPECIFIED", +"ONLINE", +"OFFLINE" +], +"enumDescriptions": [ +"Unknown external sync mode, will be defaulted to ONLINE mode", +"Online external sync will set up replication after initial data external sync", +"Offline external sync only dumps and loads a one-time snapshot of the primary instance's data" +], +"type": "string" +}, +"syncParallelLevel": { +"description": "Optional. Parallel level for initial data sync. Currently only applicable for MySQL.", +"enum": [ +"EXTERNAL_SYNC_PARALLEL_LEVEL_UNSPECIFIED", +"MIN", +"OPTIMAL", +"MAX" +], +"enumDescriptions": [ +"Unknown sync parallel level. Will be defaulted to OPTIMAL.", +"Minimal parallel level.", +"Optimal parallel level.", +"Maximum parallel level." +], +"type": "string" +} +}, +"type": "object" +}, +"SqlInstancesVerifyExternalSyncSettingsRequest": { +"description": "Instance verify external sync settings request.", +"id": "SqlInstancesVerifyExternalSyncSettingsRequest", +"properties": { +"migrationType": { +"description": "Optional. MigrationType configures the migration to use physical files or logical dump files. If not set, then the logical dump file configuration is used. Valid values are `LOGICAL` or `PHYSICAL`. Only applicable to MySQL.", +"enum": [ +"MIGRATION_TYPE_UNSPECIFIED", +"LOGICAL", +"PHYSICAL" +], +"enumDescriptions": [ +"Default value is a logical dump file-based migration", +"Logical dump file-based migration", +"Physical file-based migration" +], +"type": "string" +}, +"mysqlSyncConfig": { +"$ref": "MySqlSyncConfig", +"description": "Optional. MySQL-specific settings for start external sync." +}, +"selectedObjects": { +"description": "Optional. Migrate only the specified objects from the source instance. If this field is empty, then migrate all objects.", +"items": { +"$ref": "ExternalSyncSelectedObject" +}, +"type": "array" +}, +"syncMode": { +"description": "External sync mode", +"enum": [ +"EXTERNAL_SYNC_MODE_UNSPECIFIED", +"ONLINE", +"OFFLINE" +], +"enumDescriptions": [ +"Unknown external sync mode, will be defaulted to ONLINE mode", +"Online external sync will set up replication after initial data external sync", +"Offline external sync only dumps and loads a one-time snapshot of the primary instance's data" +], +"type": "string" +}, +"syncParallelLevel": { +"description": "Optional. Parallel level for initial data sync. Only applicable for PostgreSQL.", +"enum": [ +"EXTERNAL_SYNC_PARALLEL_LEVEL_UNSPECIFIED", +"MIN", +"OPTIMAL", +"MAX" +], +"enumDescriptions": [ +"Unknown sync parallel level. Will be defaulted to OPTIMAL.", +"Minimal parallel level.", +"Optimal parallel level.", +"Maximum parallel level." +], +"type": "string" +}, +"verifyConnectionOnly": { +"description": "Flag to enable verifying connection only", +"type": "boolean" +}, +"verifyReplicationOnly": { +"description": "Optional. Flag to verify settings required by replication setup only", +"type": "boolean" +} +}, +"type": "object" +}, +"SqlInstancesVerifyExternalSyncSettingsResponse": { +"description": "Instance verify external sync settings response.", +"id": "SqlInstancesVerifyExternalSyncSettingsResponse", +"properties": { +"errors": { +"description": "List of migration violations.", +"items": { +"$ref": "SqlExternalSyncSettingError" +}, +"type": "array" +}, +"kind": { +"description": "This is always `sql#migrationSettingErrorList`.", +"type": "string" +}, +"warnings": { +"description": "List of migration warnings.", +"items": { +"$ref": "SqlExternalSyncSettingError" +}, +"type": "array" +} +}, +"type": "object" +}, +"SqlOutOfDiskReport": { +"description": "This message wraps up the information written by out-of-disk detection job.", +"id": "SqlOutOfDiskReport", +"properties": { +"sqlMinRecommendedIncreaseSizeGb": { +"description": "The minimum recommended increase size in GigaBytes This field is consumed by the frontend * Writers: * the proactive database wellness job for OOD. * Readers:", +"format": "int32", +"type": "integer" +}, +"sqlOutOfDiskState": { +"description": "This field represents the state generated by the proactive database wellness job for OutOfDisk issues. * Writers: * the proactive database wellness job for OOD. * Readers: * the proactive database wellness job", +"enum": [ +"SQL_OUT_OF_DISK_STATE_UNSPECIFIED", +"NORMAL", +"SOFT_SHUTDOWN" +], +"enumDescriptions": [ +"Unspecified state", +"The instance has plenty space on data disk", +"Data disk is almost used up. It is shutdown to prevent data corruption." +], +"type": "string" +} +}, +"type": "object" +}, +"SqlScheduledMaintenance": { +"description": "Any scheduled maintenance for this instance.", +"id": "SqlScheduledMaintenance", +"properties": { +"canDefer": { +"deprecated": true, +"type": "boolean" +}, +"canReschedule": { +"description": "If the scheduled maintenance can be rescheduled.", +"type": "boolean" +}, +"scheduleDeadlineTime": { +"description": "Maintenance cannot be rescheduled to start beyond this deadline.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "The start time of any upcoming scheduled maintenance for this instance.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"SqlServerAuditConfig": { +"description": "SQL Server specific audit configuration.", +"id": "SqlServerAuditConfig", +"properties": { +"bucket": { +"description": "The name of the destination bucket (e.g., gs://mybucket).", +"type": "string" +}, +"kind": { +"description": "This is always sql#sqlServerAuditConfig", +"type": "string" +}, +"retentionInterval": { +"description": "How long to keep generated audit files.", +"format": "google-duration", +"type": "string" +}, +"uploadInterval": { +"description": "How often to upload generated audit files.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"SqlServerDatabaseDetails": { +"description": "Represents a Sql Server database on the Cloud SQL instance.", +"id": "SqlServerDatabaseDetails", +"properties": { +"compatibilityLevel": { +"description": "The version of SQL Server with which the database is to be made compatible", +"format": "int32", +"type": "integer" +}, +"recoveryModel": { +"description": "The recovery model of a SQL Server database", +"type": "string" +} +}, +"type": "object" +}, +"SqlServerUserDetails": { +"description": "Represents a Sql Server user on the Cloud SQL instance.", +"id": "SqlServerUserDetails", +"properties": { +"disabled": { +"description": "If the user has been disabled", +"type": "boolean" +}, +"serverRoles": { +"description": "The server roles for this user", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SqlSubOperationType": { +"description": "The sub operation type based on the operation type.", +"id": "SqlSubOperationType", +"properties": { +"maintenanceType": { +"description": "The type of maintenance to be performed on the instance.", +"enum": [ +"SQL_MAINTENANCE_TYPE_UNSPECIFIED", +"INSTANCE_MAINTENANCE", +"REPLICA_INCLUDED_MAINTENANCE", +"INSTANCE_SELF_SERVICE_MAINTENANCE", +"REPLICA_INCLUDED_SELF_SERVICE_MAINTENANCE" +], +"enumDescriptions": [ +"Maintenance type is unspecified.", +"Indicates that a standalone instance is undergoing maintenance. The instance can be either a primary instance or a replica.", +"Indicates that the primary instance and all of its replicas, including cascading replicas, are undergoing maintenance. Maintenance is performed on groups of replicas first, followed by the primary instance.", +"Indicates that the standalone instance is undergoing maintenance, initiated by self-service. The instance can be either a primary instance or a replica.", +"Indicates that the primary instance and all of its replicas are undergoing maintenance, initiated by self-service. Maintenance is performed on groups of replicas first, followed by the primary instance." +], +"type": "string" +} +}, +"type": "object" +}, +"SslCert": { +"description": "SslCerts Resource", +"id": "SslCert", +"properties": { +"cert": { +"description": "PEM representation.", +"type": "string" +}, +"certSerialNumber": { +"description": "Serial number, as extracted from the certificate.", +"type": "string" +}, +"commonName": { +"description": "User supplied name. Constrained to [a-zA-Z.-_ ]+.", +"type": "string" +}, +"createTime": { +"description": "The time when the certificate was created in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`", +"format": "google-datetime", +"type": "string" +}, +"expirationTime": { +"description": "The time when the certificate expires in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.", +"format": "google-datetime", +"type": "string" +}, +"instance": { +"description": "Name of the database instance.", +"type": "string" +}, +"kind": { +"description": "This is always `sql#sslCert`.", +"type": "string" +}, +"selfLink": { +"description": "The URI of this resource.", +"type": "string" +}, +"sha1Fingerprint": { +"description": "Sha1 Fingerprint.", +"type": "string" +} +}, +"type": "object" +}, +"SslCertDetail": { +"description": "SslCertDetail.", +"id": "SslCertDetail", +"properties": { +"certInfo": { +"$ref": "SslCert", +"description": "The public information about the cert." +}, +"certPrivateKey": { +"description": "The private key for the client cert, in pem format. Keep private in order to protect your security.", +"type": "string" +} +}, +"type": "object" +}, +"SslCertsCreateEphemeralRequest": { +"description": "SslCerts create ephemeral certificate request.", +"id": "SslCertsCreateEphemeralRequest", +"properties": { +"access_token": { +"description": "Access token to include in the signed certificate.", +"type": "string" +}, +"public_key": { +"description": "PEM encoded public key to include in the signed certificate.", +"type": "string" +} +}, +"type": "object" +}, +"SslCertsInsertRequest": { +"description": "SslCerts insert request.", +"id": "SslCertsInsertRequest", +"properties": { +"commonName": { +"description": "User supplied name. Must be a distinct name from the other certificates for this instance.", +"type": "string" +} +}, +"type": "object" +}, +"SslCertsInsertResponse": { +"description": "SslCert insert response.", +"id": "SslCertsInsertResponse", +"properties": { +"clientCert": { +"$ref": "SslCertDetail", +"description": "The new client certificate and private key." +}, +"kind": { +"description": "This is always `sql#sslCertsInsert`.", +"type": "string" +}, +"operation": { +"$ref": "Operation", +"description": "The operation to track the ssl certs insert request." +}, +"serverCaCert": { +"$ref": "SslCert", +"description": "The server Certificate Authority's certificate. If this is missing you can force a new one to be generated by calling resetSslConfig method on instances resource." +} +}, +"type": "object" +}, +"SslCertsListResponse": { +"description": "SslCerts list response.", +"id": "SslCertsListResponse", +"properties": { +"items": { +"description": "List of client certificates for the instance.", +"items": { +"$ref": "SslCert" +}, +"type": "array" +}, +"kind": { +"description": "This is always `sql#sslCertsList`.", +"type": "string" +} +}, +"type": "object" +}, +"SyncFlags": { +"description": "Initial sync flags for certain Cloud SQL APIs. Currently used for the MySQL external server initial dump.", +"id": "SyncFlags", +"properties": { +"name": { +"description": "The name of the flag.", +"type": "string" +}, +"value": { +"description": "The value of the flag. This field must be omitted if the flag doesn't take a value.", +"type": "string" +} +}, +"type": "object" +}, +"Tier": { +"description": "A Google Cloud SQL service tier resource.", +"id": "Tier", +"properties": { +"DiskQuota": { +"description": "The maximum disk size of this tier in bytes.", +"format": "int64", +"type": "string" +}, +"RAM": { +"description": "The maximum RAM usage of this tier in bytes.", +"format": "int64", +"type": "string" +}, +"kind": { +"description": "This is always `sql#tier`.", +"type": "string" +}, +"region": { +"description": "The applicable regions for this tier.", +"items": { +"type": "string" +}, +"type": "array" +}, +"tier": { +"description": "An identifier for the machine type, for example, `db-custom-1-3840`. For related information, see [Pricing](/sql/pricing).", +"type": "string" +} +}, +"type": "object" +}, +"TiersListResponse": { +"description": "Tiers list response.", +"id": "TiersListResponse", +"properties": { +"items": { +"description": "List of tiers.", +"items": { +"$ref": "Tier" +}, +"type": "array" +}, +"kind": { +"description": "This is always `sql#tiersList`.", +"type": "string" +} +}, +"type": "object" +}, +"TruncateLogContext": { +"description": "Database Instance truncate log context.", +"id": "TruncateLogContext", +"properties": { +"kind": { +"description": "This is always `sql#truncateLogContext`.", +"type": "string" +}, +"logType": { +"description": "The type of log to truncate. Valid values are `MYSQL_GENERAL_TABLE` and `MYSQL_SLOW_TABLE`.", +"type": "string" +} +}, +"type": "object" +}, +"User": { +"description": "A Cloud SQL user resource.", +"id": "User", +"properties": { +"dualPasswordType": { +"description": "Dual password status for the user.", +"enum": [ +"DUAL_PASSWORD_TYPE_UNSPECIFIED", +"NO_MODIFY_DUAL_PASSWORD", +"NO_DUAL_PASSWORD", +"DUAL_PASSWORD" +], +"enumDescriptions": [ +"The default value.", +"Do not update the user's dual password status.", +"No dual password usable for connecting using this user.", +"Dual password usable for connecting using this user." +], +"type": "string" +}, +"etag": { +"description": "This field is deprecated and will be removed from a future version of the API.", +"type": "string" +}, +"host": { +"description": "Optional. The host from which the user can connect. For `insert` operations, host defaults to an empty string. For `update` operations, host is specified as part of the request URL. The host name cannot be updated after insertion. For a MySQL instance, it's required; for a PostgreSQL or SQL Server instance, it's optional.", +"type": "string" +}, +"instance": { +"description": "The name of the Cloud SQL instance. This does not include the project ID. Can be omitted for `update` because it is already specified on the URL.", +"type": "string" +}, +"kind": { +"description": "This is always `sql#user`.", +"type": "string" +}, +"name": { +"description": "The name of the user in the Cloud SQL instance. Can be omitted for `update` because it is already specified in the URL.", +"type": "string" +}, +"password": { +"description": "The password for the user.", +"type": "string" +}, +"passwordPolicy": { +"$ref": "UserPasswordValidationPolicy", +"description": "User level password validation policy." +}, +"project": { +"description": "The project ID of the project containing the Cloud SQL database. The Google apps domain is prefixed if applicable. Can be omitted for `update` because it is already specified on the URL.", +"type": "string" +}, +"sqlserverUserDetails": { +"$ref": "SqlServerUserDetails" +}, +"type": { +"description": "The user type. It determines the method to authenticate the user during login. The default is the database's built-in user type.", +"enum": [ +"BUILT_IN", +"CLOUD_IAM_USER", +"CLOUD_IAM_SERVICE_ACCOUNT", +"CLOUD_IAM_GROUP", +"CLOUD_IAM_GROUP_USER", +"CLOUD_IAM_GROUP_SERVICE_ACCOUNT" +], +"enumDescriptions": [ +"The database's built-in user type.", +"Cloud IAM user.", +"Cloud IAM service account.", +"Cloud IAM group. Not used for login.", +"Read-only. Login for a user that belongs to the Cloud IAM group.", +"Read-only. Login for a service account that belongs to the Cloud IAM group." +], +"type": "string" +} +}, +"type": "object" +}, +"UserPasswordValidationPolicy": { +"description": "User level password validation policy.", +"id": "UserPasswordValidationPolicy", +"properties": { +"allowedFailedAttempts": { +"description": "Number of failed login attempts allowed before user get locked.", +"format": "int32", +"type": "integer" +}, +"enableFailedAttemptsCheck": { +"description": "If true, failed login attempts check will be enabled.", +"type": "boolean" +}, +"enablePasswordVerification": { +"description": "If true, the user must specify the current password before changing the password. This flag is supported only for MySQL.", +"type": "boolean" +}, +"passwordExpirationDuration": { +"description": "Expiration duration after password is updated.", +"format": "google-duration", +"type": "string" +}, +"status": { +"$ref": "PasswordStatus", +"description": "Output only. Read-only password status.", +"readOnly": true +} +}, +"type": "object" +}, +"UsersListResponse": { +"description": "User list response.", +"id": "UsersListResponse", +"properties": { +"items": { +"description": "List of user resources in the instance.", +"items": { +"$ref": "User" +}, +"type": "array" +}, +"kind": { +"description": "This is always `sql#usersList`.", +"type": "string" +}, +"nextPageToken": { +"deprecated": true, +"description": "Unused.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud SQL Admin API", +"version": "v1" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/storage.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/storage.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..2e18e9e4fb234a7e33fbae30189770a7ff7d75b8 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/storage.v1.json @@ -0,0 +1,6223 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/cloud-platform": { +"description": "View and manage your data across Google Cloud Platform services" +}, +"https://www.googleapis.com/auth/cloud-platform.read-only": { +"description": "View your data across Google Cloud Platform services" +}, +"https://www.googleapis.com/auth/devstorage.full_control": { +"description": "Manage your data and permissions in Google Cloud Storage" +}, +"https://www.googleapis.com/auth/devstorage.read_only": { +"description": "View your data in Google Cloud Storage" +}, +"https://www.googleapis.com/auth/devstorage.read_write": { +"description": "Manage your data in Google Cloud Storage" +} +} +} +}, +"basePath": "/storage/v1/", +"baseUrl": "https://storage.googleapis.com/storage/v1/", +"batchPath": "batch/storage/v1", +"description": "Stores and retrieves potentially large, immutable data objects.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/storage/docs/json_api/", +"endpoints": [ +{ +"description": "Regional Endpoint", +"endpointUrl": "https://storage.europe-west3.rep.googleapis.com/", +"location": "europe-west3" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://storage.europe-west8.rep.googleapis.com/", +"location": "europe-west8" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://storage.europe-west9.rep.googleapis.com/", +"location": "europe-west9" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://storage.me-central2.rep.googleapis.com/", +"location": "me-central2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://storage.us-central1.rep.googleapis.com/", +"location": "us-central1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://storage.us-east1.rep.googleapis.com/", +"location": "us-east1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://storage.us-east4.rep.googleapis.com/", +"location": "us-east4" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://storage.us-east5.rep.googleapis.com/", +"location": "us-east5" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://storage.us-south1.rep.googleapis.com/", +"location": "us-south1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://storage.us-west1.rep.googleapis.com/", +"location": "us-west1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://storage.us-west2.rep.googleapis.com/", +"location": "us-west2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://storage.us-west3.rep.googleapis.com/", +"location": "us-west3" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://storage.us-west4.rep.googleapis.com/", +"location": "us-west4" +} +], +"etag": "\"3133343838373034343130353038353234313337\"", +"icons": { +"x16": "https://www.google.com/images/icons/product/cloud_storage-16.png", +"x32": "https://www.google.com/images/icons/product/cloud_storage-32.png" +}, +"id": "storage:v1", +"kind": "discovery#restDescription", +"labels": [ +"labs" +], +"mtlsRootUrl": "https://storage.mtls.googleapis.com/", +"name": "storage", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"alt": { +"default": "json", +"description": "Data format for the response.", +"enum": [ +"json" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json" +], +"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": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Upload protocol for media (e.g. \"media\", \"multipart\", \"resumable\").", +"location": "query", +"type": "string" +}, +"userIp": { +"description": "Deprecated. Please use quotaUser instead.", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"anywhereCaches": { +"methods": { +"disable": { +"description": "Disables an Anywhere Cache instance.", +"httpMethod": "POST", +"id": "storage.anywhereCaches.disable", +"parameterOrder": [ +"bucket", +"anywhereCacheId" +], +"parameters": { +"anywhereCacheId": { +"description": "The ID of requested Anywhere Cache instance.", +"location": "path", +"required": true, +"type": "string" +}, +"bucket": { +"description": "Name of the parent bucket.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "b/{bucket}/anywhereCaches/{anywhereCacheId}/disable", +"response": { +"$ref": "AnywhereCache" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"get": { +"description": "Returns the metadata of an Anywhere Cache instance.", +"httpMethod": "GET", +"id": "storage.anywhereCaches.get", +"parameterOrder": [ +"bucket", +"anywhereCacheId" +], +"parameters": { +"anywhereCacheId": { +"description": "The ID of requested Anywhere Cache instance.", +"location": "path", +"required": true, +"type": "string" +}, +"bucket": { +"description": "Name of the parent bucket.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "b/{bucket}/anywhereCaches/{anywhereCacheId}", +"response": { +"$ref": "AnywhereCache" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"insert": { +"description": "Creates an Anywhere Cache instance.", +"httpMethod": "POST", +"id": "storage.anywhereCaches.insert", +"parameterOrder": [ +"bucket" +], +"parameters": { +"bucket": { +"description": "Name of the parent bucket.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "b/{bucket}/anywhereCaches", +"request": { +"$ref": "AnywhereCache" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"list": { +"description": "Returns a list of Anywhere Cache instances of the bucket matching the criteria.", +"httpMethod": "GET", +"id": "storage.anywhereCaches.list", +"parameterOrder": [ +"bucket" +], +"parameters": { +"bucket": { +"description": "Name of the parent bucket.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Maximum number of items to return in a single page of responses. Maximum 1000.", +"format": "int32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"pageToken": { +"description": "A previously-returned page token representing part of the larger set of results to view.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/anywhereCaches", +"response": { +"$ref": "AnywhereCaches" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"pause": { +"description": "Pauses an Anywhere Cache instance.", +"httpMethod": "POST", +"id": "storage.anywhereCaches.pause", +"parameterOrder": [ +"bucket", +"anywhereCacheId" +], +"parameters": { +"anywhereCacheId": { +"description": "The ID of requested Anywhere Cache instance.", +"location": "path", +"required": true, +"type": "string" +}, +"bucket": { +"description": "Name of the parent bucket.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "b/{bucket}/anywhereCaches/{anywhereCacheId}/pause", +"response": { +"$ref": "AnywhereCache" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"resume": { +"description": "Resumes a paused or disabled Anywhere Cache instance.", +"httpMethod": "POST", +"id": "storage.anywhereCaches.resume", +"parameterOrder": [ +"bucket", +"anywhereCacheId" +], +"parameters": { +"anywhereCacheId": { +"description": "The ID of requested Anywhere Cache instance.", +"location": "path", +"required": true, +"type": "string" +}, +"bucket": { +"description": "Name of the parent bucket.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "b/{bucket}/anywhereCaches/{anywhereCacheId}/resume", +"response": { +"$ref": "AnywhereCache" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"update": { +"description": "Updates the config(ttl and admissionPolicy) of an Anywhere Cache instance.", +"httpMethod": "PATCH", +"id": "storage.anywhereCaches.update", +"parameterOrder": [ +"bucket", +"anywhereCacheId" +], +"parameters": { +"anywhereCacheId": { +"description": "The ID of requested Anywhere Cache instance.", +"location": "path", +"required": true, +"type": "string" +}, +"bucket": { +"description": "Name of the parent bucket.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "b/{bucket}/anywhereCaches/{anywhereCacheId}", +"request": { +"$ref": "AnywhereCache" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_write" +] +} +} +}, +"bucketAccessControls": { +"methods": { +"delete": { +"description": "Permanently deletes the ACL entry for the specified entity on the specified bucket.", +"httpMethod": "DELETE", +"id": "storage.bucketAccessControls.delete", +"parameterOrder": [ +"bucket", +"entity" +], +"parameters": { +"bucket": { +"description": "Name of a bucket.", +"location": "path", +"required": true, +"type": "string" +}, +"entity": { +"description": "The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/acl/{entity}", +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control" +] +}, +"get": { +"description": "Returns the ACL entry for the specified entity on the specified bucket.", +"httpMethod": "GET", +"id": "storage.bucketAccessControls.get", +"parameterOrder": [ +"bucket", +"entity" +], +"parameters": { +"bucket": { +"description": "Name of a bucket.", +"location": "path", +"required": true, +"type": "string" +}, +"entity": { +"description": "The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/acl/{entity}", +"response": { +"$ref": "BucketAccessControl" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control" +] +}, +"insert": { +"description": "Creates a new ACL entry on the specified bucket.", +"httpMethod": "POST", +"id": "storage.bucketAccessControls.insert", +"parameterOrder": [ +"bucket" +], +"parameters": { +"bucket": { +"description": "Name of a bucket.", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/acl", +"request": { +"$ref": "BucketAccessControl" +}, +"response": { +"$ref": "BucketAccessControl" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control" +] +}, +"list": { +"description": "Retrieves ACL entries on the specified bucket.", +"httpMethod": "GET", +"id": "storage.bucketAccessControls.list", +"parameterOrder": [ +"bucket" +], +"parameters": { +"bucket": { +"description": "Name of a bucket.", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/acl", +"response": { +"$ref": "BucketAccessControls" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control" +] +}, +"patch": { +"description": "Patches an ACL entry on the specified bucket.", +"httpMethod": "PATCH", +"id": "storage.bucketAccessControls.patch", +"parameterOrder": [ +"bucket", +"entity" +], +"parameters": { +"bucket": { +"description": "Name of a bucket.", +"location": "path", +"required": true, +"type": "string" +}, +"entity": { +"description": "The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/acl/{entity}", +"request": { +"$ref": "BucketAccessControl" +}, +"response": { +"$ref": "BucketAccessControl" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control" +] +}, +"update": { +"description": "Updates an ACL entry on the specified bucket.", +"httpMethod": "PUT", +"id": "storage.bucketAccessControls.update", +"parameterOrder": [ +"bucket", +"entity" +], +"parameters": { +"bucket": { +"description": "Name of a bucket.", +"location": "path", +"required": true, +"type": "string" +}, +"entity": { +"description": "The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/acl/{entity}", +"request": { +"$ref": "BucketAccessControl" +}, +"response": { +"$ref": "BucketAccessControl" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control" +] +} +} +}, +"buckets": { +"methods": { +"delete": { +"description": "Deletes an empty bucket. Deletions are permanent unless soft delete is enabled on the bucket.", +"httpMethod": "DELETE", +"id": "storage.buckets.delete", +"parameterOrder": [ +"bucket" +], +"parameters": { +"bucket": { +"description": "Name of a bucket.", +"location": "path", +"required": true, +"type": "string" +}, +"ifMetagenerationMatch": { +"description": "If set, only deletes the bucket if its metageneration matches this value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifMetagenerationNotMatch": { +"description": "If set, only deletes the bucket if its metageneration does not match this value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}", +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"get": { +"description": "Returns metadata for the specified bucket.", +"httpMethod": "GET", +"id": "storage.buckets.get", +"parameterOrder": [ +"bucket" +], +"parameters": { +"bucket": { +"description": "Name of a bucket.", +"location": "path", +"required": true, +"type": "string" +}, +"generation": { +"description": "If present, specifies the generation of the bucket. This is required if softDeleted is true.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifMetagenerationMatch": { +"description": "Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifMetagenerationNotMatch": { +"description": "Makes the return of the bucket metadata conditional on whether the bucket's current metageneration does not match the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"projection": { +"description": "Set of properties to return. Defaults to noAcl.", +"enum": [ +"full", +"noAcl" +], +"enumDescriptions": [ +"Include all properties.", +"Omit owner, acl and defaultObjectAcl properties." +], +"location": "query", +"type": "string" +}, +"softDeleted": { +"description": "If true, return the soft-deleted version of this bucket. The default is false. For more information, see [Soft Delete](https://cloud.google.com/storage/docs/soft-delete).", +"location": "query", +"type": "boolean" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}", +"response": { +"$ref": "Bucket" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"getIamPolicy": { +"description": "Returns an IAM policy for the specified bucket.", +"httpMethod": "GET", +"id": "storage.buckets.getIamPolicy", +"parameterOrder": [ +"bucket" +], +"parameters": { +"bucket": { +"description": "Name of a bucket.", +"location": "path", +"required": true, +"type": "string" +}, +"optionsRequestedPolicyVersion": { +"description": "The IAM policy format version to be returned. If the optionsRequestedPolicyVersion is for an older version that doesn't support part of the requested IAM policy, the request fails.", +"format": "int32", +"location": "query", +"minimum": "1", +"type": "integer" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/iam", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control" +] +}, +"getStorageLayout": { +"description": "Returns the storage layout configuration for the specified bucket. Note that this operation requires storage.objects.list permission.", +"httpMethod": "GET", +"id": "storage.buckets.getStorageLayout", +"parameterOrder": [ +"bucket" +], +"parameters": { +"bucket": { +"description": "Name of a bucket.", +"location": "path", +"required": true, +"type": "string" +}, +"prefix": { +"description": "An optional prefix used for permission check. It is useful when the caller only has storage.objects.list permission under a specific prefix.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/storageLayout", +"response": { +"$ref": "BucketStorageLayout" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"insert": { +"description": "Creates a new bucket.", +"httpMethod": "POST", +"id": "storage.buckets.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"enableObjectRetention": { +"default": "false", +"description": "When set to true, object retention is enabled for this bucket.", +"location": "query", +"type": "boolean" +}, +"predefinedAcl": { +"description": "Apply a predefined set of access controls to this bucket.", +"enum": [ +"authenticatedRead", +"private", +"projectPrivate", +"publicRead", +"publicReadWrite" +], +"enumDescriptions": [ +"Project team owners get OWNER access, and allAuthenticatedUsers get READER access.", +"Project team owners get OWNER access.", +"Project team members get access according to their roles.", +"Project team owners get OWNER access, and allUsers get READER access.", +"Project team owners get OWNER access, and allUsers get WRITER access." +], +"location": "query", +"type": "string" +}, +"predefinedDefaultObjectAcl": { +"description": "Apply a predefined set of default object access controls to this bucket.", +"enum": [ +"authenticatedRead", +"bucketOwnerFullControl", +"bucketOwnerRead", +"private", +"projectPrivate", +"publicRead" +], +"enumDescriptions": [ +"Object owner gets OWNER access, and allAuthenticatedUsers get READER access.", +"Object owner gets OWNER access, and project team owners get OWNER access.", +"Object owner gets OWNER access, and project team owners get READER access.", +"Object owner gets OWNER access.", +"Object owner gets OWNER access, and project team members get access according to their roles.", +"Object owner gets OWNER access, and allUsers get READER access." +], +"location": "query", +"type": "string" +}, +"project": { +"description": "A valid API project identifier.", +"location": "query", +"required": true, +"type": "string" +}, +"projection": { +"description": "Set of properties to return. Defaults to noAcl, unless the bucket resource specifies acl or defaultObjectAcl properties, when it defaults to full.", +"enum": [ +"full", +"noAcl" +], +"enumDescriptions": [ +"Include all properties.", +"Omit owner, acl and defaultObjectAcl properties." +], +"location": "query", +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request.", +"location": "query", +"type": "string" +} +}, +"path": "b", +"request": { +"$ref": "Bucket" +}, +"response": { +"$ref": "Bucket" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"list": { +"description": "Retrieves a list of buckets for a given project.", +"httpMethod": "GET", +"id": "storage.buckets.list", +"parameterOrder": [ +"project" +], +"parameters": { +"maxResults": { +"default": "1000", +"description": "Maximum number of buckets to return in a single response. The service will use this parameter or 1,000 items, whichever is smaller.", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"pageToken": { +"description": "A previously-returned page token representing part of the larger set of results to view.", +"location": "query", +"type": "string" +}, +"prefix": { +"description": "Filter results to buckets whose names begin with this prefix.", +"location": "query", +"type": "string" +}, +"project": { +"description": "A valid API project identifier.", +"location": "query", +"required": true, +"type": "string" +}, +"projection": { +"description": "Set of properties to return. Defaults to noAcl.", +"enum": [ +"full", +"noAcl" +], +"enumDescriptions": [ +"Include all properties.", +"Omit owner, acl and defaultObjectAcl properties." +], +"location": "query", +"type": "string" +}, +"softDeleted": { +"description": "If true, only soft-deleted bucket versions will be returned. The default is false. For more information, see [Soft Delete](https://cloud.google.com/storage/docs/soft-delete).", +"location": "query", +"type": "boolean" +}, +"userProject": { +"description": "The project to be billed for this request.", +"location": "query", +"type": "string" +} +}, +"path": "b", +"response": { +"$ref": "Buckets" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"lockRetentionPolicy": { +"description": "Locks retention policy on a bucket.", +"httpMethod": "POST", +"id": "storage.buckets.lockRetentionPolicy", +"parameterOrder": [ +"bucket", +"ifMetagenerationMatch" +], +"parameters": { +"bucket": { +"description": "Name of a bucket.", +"location": "path", +"required": true, +"type": "string" +}, +"ifMetagenerationMatch": { +"description": "Makes the operation conditional on whether bucket's current metageneration matches the given value.", +"format": "int64", +"location": "query", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/lockRetentionPolicy", +"response": { +"$ref": "Bucket" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"patch": { +"description": "Patches a bucket. Changes to the bucket will be readable immediately after writing, but configuration changes may take time to propagate.", +"httpMethod": "PATCH", +"id": "storage.buckets.patch", +"parameterOrder": [ +"bucket" +], +"parameters": { +"bucket": { +"description": "Name of a bucket.", +"location": "path", +"required": true, +"type": "string" +}, +"ifMetagenerationMatch": { +"description": "Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifMetagenerationNotMatch": { +"description": "Makes the return of the bucket metadata conditional on whether the bucket's current metageneration does not match the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"predefinedAcl": { +"description": "Apply a predefined set of access controls to this bucket.", +"enum": [ +"authenticatedRead", +"private", +"projectPrivate", +"publicRead", +"publicReadWrite" +], +"enumDescriptions": [ +"Project team owners get OWNER access, and allAuthenticatedUsers get READER access.", +"Project team owners get OWNER access.", +"Project team members get access according to their roles.", +"Project team owners get OWNER access, and allUsers get READER access.", +"Project team owners get OWNER access, and allUsers get WRITER access." +], +"location": "query", +"type": "string" +}, +"predefinedDefaultObjectAcl": { +"description": "Apply a predefined set of default object access controls to this bucket.", +"enum": [ +"authenticatedRead", +"bucketOwnerFullControl", +"bucketOwnerRead", +"private", +"projectPrivate", +"publicRead" +], +"enumDescriptions": [ +"Object owner gets OWNER access, and allAuthenticatedUsers get READER access.", +"Object owner gets OWNER access, and project team owners get OWNER access.", +"Object owner gets OWNER access, and project team owners get READER access.", +"Object owner gets OWNER access.", +"Object owner gets OWNER access, and project team members get access according to their roles.", +"Object owner gets OWNER access, and allUsers get READER access." +], +"location": "query", +"type": "string" +}, +"projection": { +"description": "Set of properties to return. Defaults to full.", +"enum": [ +"full", +"noAcl" +], +"enumDescriptions": [ +"Include all properties.", +"Omit owner, acl and defaultObjectAcl properties." +], +"location": "query", +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}", +"request": { +"$ref": "Bucket" +}, +"response": { +"$ref": "Bucket" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control" +] +}, +"relocate": { +"description": "Initiates a long-running Relocate Bucket operation on the specified bucket.", +"httpMethod": "POST", +"id": "storage.buckets.relocate", +"parameterOrder": [ +"bucket" +], +"parameters": { +"bucket": { +"description": "Name of the bucket to be moved.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "b/{bucket}/relocate", +"request": { +"$ref": "RelocateBucketRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"restore": { +"description": "Restores a soft-deleted bucket.", +"httpMethod": "POST", +"id": "storage.buckets.restore", +"parameterOrder": [ +"bucket", +"generation" +], +"parameters": { +"bucket": { +"description": "Name of a bucket.", +"location": "path", +"required": true, +"type": "string" +}, +"generation": { +"description": "Generation of a bucket.", +"format": "int64", +"location": "query", +"required": true, +"type": "string" +}, +"projection": { +"description": "Set of properties to return. Defaults to full.", +"enum": [ +"full", +"noAcl" +], +"enumDescriptions": [ +"Include all properties.", +"Omit owner, acl and defaultObjectAcl properties." +], +"location": "query", +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/restore", +"response": { +"$ref": "Bucket" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"setIamPolicy": { +"description": "Updates an IAM policy for the specified bucket.", +"httpMethod": "PUT", +"id": "storage.buckets.setIamPolicy", +"parameterOrder": [ +"bucket" +], +"parameters": { +"bucket": { +"description": "Name of a bucket.", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/iam", +"request": { +"$ref": "Policy" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control" +] +}, +"testIamPermissions": { +"description": "Tests a set of permissions on the given bucket to see which, if any, are held by the caller.", +"httpMethod": "GET", +"id": "storage.buckets.testIamPermissions", +"parameterOrder": [ +"bucket", +"permissions" +], +"parameters": { +"bucket": { +"description": "Name of a bucket.", +"location": "path", +"required": true, +"type": "string" +}, +"permissions": { +"description": "Permissions to test.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/iam/testPermissions", +"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/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"update": { +"description": "Updates a bucket. Changes to the bucket will be readable immediately after writing, but configuration changes may take time to propagate.", +"httpMethod": "PUT", +"id": "storage.buckets.update", +"parameterOrder": [ +"bucket" +], +"parameters": { +"bucket": { +"description": "Name of a bucket.", +"location": "path", +"required": true, +"type": "string" +}, +"ifMetagenerationMatch": { +"description": "Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifMetagenerationNotMatch": { +"description": "Makes the return of the bucket metadata conditional on whether the bucket's current metageneration does not match the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"predefinedAcl": { +"description": "Apply a predefined set of access controls to this bucket.", +"enum": [ +"authenticatedRead", +"private", +"projectPrivate", +"publicRead", +"publicReadWrite" +], +"enumDescriptions": [ +"Project team owners get OWNER access, and allAuthenticatedUsers get READER access.", +"Project team owners get OWNER access.", +"Project team members get access according to their roles.", +"Project team owners get OWNER access, and allUsers get READER access.", +"Project team owners get OWNER access, and allUsers get WRITER access." +], +"location": "query", +"type": "string" +}, +"predefinedDefaultObjectAcl": { +"description": "Apply a predefined set of default object access controls to this bucket.", +"enum": [ +"authenticatedRead", +"bucketOwnerFullControl", +"bucketOwnerRead", +"private", +"projectPrivate", +"publicRead" +], +"enumDescriptions": [ +"Object owner gets OWNER access, and allAuthenticatedUsers get READER access.", +"Object owner gets OWNER access, and project team owners get OWNER access.", +"Object owner gets OWNER access, and project team owners get READER access.", +"Object owner gets OWNER access.", +"Object owner gets OWNER access, and project team members get access according to their roles.", +"Object owner gets OWNER access, and allUsers get READER access." +], +"location": "query", +"type": "string" +}, +"projection": { +"description": "Set of properties to return. Defaults to full.", +"enum": [ +"full", +"noAcl" +], +"enumDescriptions": [ +"Include all properties.", +"Omit owner, acl and defaultObjectAcl properties." +], +"location": "query", +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}", +"request": { +"$ref": "Bucket" +}, +"response": { +"$ref": "Bucket" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control" +] +} +} +}, +"channels": { +"methods": { +"stop": { +"description": "Stop watching resources through this channel", +"httpMethod": "POST", +"id": "storage.channels.stop", +"path": "channels/stop", +"request": { +"$ref": "Channel", +"parameterName": "resource" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only", +"https://www.googleapis.com/auth/devstorage.read_write" +] +} +} +}, +"defaultObjectAccessControls": { +"methods": { +"delete": { +"description": "Permanently deletes the default object ACL entry for the specified entity on the specified bucket.", +"httpMethod": "DELETE", +"id": "storage.defaultObjectAccessControls.delete", +"parameterOrder": [ +"bucket", +"entity" +], +"parameters": { +"bucket": { +"description": "Name of a bucket.", +"location": "path", +"required": true, +"type": "string" +}, +"entity": { +"description": "The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/defaultObjectAcl/{entity}", +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control" +] +}, +"get": { +"description": "Returns the default object ACL entry for the specified entity on the specified bucket.", +"httpMethod": "GET", +"id": "storage.defaultObjectAccessControls.get", +"parameterOrder": [ +"bucket", +"entity" +], +"parameters": { +"bucket": { +"description": "Name of a bucket.", +"location": "path", +"required": true, +"type": "string" +}, +"entity": { +"description": "The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/defaultObjectAcl/{entity}", +"response": { +"$ref": "ObjectAccessControl" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control" +] +}, +"insert": { +"description": "Creates a new default object ACL entry on the specified bucket.", +"httpMethod": "POST", +"id": "storage.defaultObjectAccessControls.insert", +"parameterOrder": [ +"bucket" +], +"parameters": { +"bucket": { +"description": "Name of a bucket.", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/defaultObjectAcl", +"request": { +"$ref": "ObjectAccessControl" +}, +"response": { +"$ref": "ObjectAccessControl" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control" +] +}, +"list": { +"description": "Retrieves default object ACL entries on the specified bucket.", +"httpMethod": "GET", +"id": "storage.defaultObjectAccessControls.list", +"parameterOrder": [ +"bucket" +], +"parameters": { +"bucket": { +"description": "Name of a bucket.", +"location": "path", +"required": true, +"type": "string" +}, +"ifMetagenerationMatch": { +"description": "If present, only return default ACL listing if the bucket's current metageneration matches this value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifMetagenerationNotMatch": { +"description": "If present, only return default ACL listing if the bucket's current metageneration does not match the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/defaultObjectAcl", +"response": { +"$ref": "ObjectAccessControls" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control" +] +}, +"patch": { +"description": "Patches a default object ACL entry on the specified bucket.", +"httpMethod": "PATCH", +"id": "storage.defaultObjectAccessControls.patch", +"parameterOrder": [ +"bucket", +"entity" +], +"parameters": { +"bucket": { +"description": "Name of a bucket.", +"location": "path", +"required": true, +"type": "string" +}, +"entity": { +"description": "The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/defaultObjectAcl/{entity}", +"request": { +"$ref": "ObjectAccessControl" +}, +"response": { +"$ref": "ObjectAccessControl" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control" +] +}, +"update": { +"description": "Updates a default object ACL entry on the specified bucket.", +"httpMethod": "PUT", +"id": "storage.defaultObjectAccessControls.update", +"parameterOrder": [ +"bucket", +"entity" +], +"parameters": { +"bucket": { +"description": "Name of a bucket.", +"location": "path", +"required": true, +"type": "string" +}, +"entity": { +"description": "The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/defaultObjectAcl/{entity}", +"request": { +"$ref": "ObjectAccessControl" +}, +"response": { +"$ref": "ObjectAccessControl" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control" +] +} +} +}, +"folders": { +"methods": { +"delete": { +"description": "Permanently deletes a folder. Only applicable to buckets with hierarchical namespace enabled.", +"httpMethod": "DELETE", +"id": "storage.folders.delete", +"parameterOrder": [ +"bucket", +"folder" +], +"parameters": { +"bucket": { +"description": "Name of the bucket in which the folder resides.", +"location": "path", +"required": true, +"type": "string" +}, +"folder": { +"description": "Name of a folder.", +"location": "path", +"required": true, +"type": "string" +}, +"ifMetagenerationMatch": { +"description": "If set, only deletes the folder if its metageneration matches this value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifMetagenerationNotMatch": { +"description": "If set, only deletes the folder if its metageneration does not match this value.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/folders/{folder}", +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"get": { +"description": "Returns metadata for the specified folder. Only applicable to buckets with hierarchical namespace enabled.", +"httpMethod": "GET", +"id": "storage.folders.get", +"parameterOrder": [ +"bucket", +"folder" +], +"parameters": { +"bucket": { +"description": "Name of the bucket in which the folder resides.", +"location": "path", +"required": true, +"type": "string" +}, +"folder": { +"description": "Name of a folder.", +"location": "path", +"required": true, +"type": "string" +}, +"ifMetagenerationMatch": { +"description": "Makes the return of the folder metadata conditional on whether the folder's current metageneration matches the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifMetagenerationNotMatch": { +"description": "Makes the return of the folder metadata conditional on whether the folder's current metageneration does not match the given value.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/folders/{folder}", +"response": { +"$ref": "Folder" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"insert": { +"description": "Creates a new folder. Only applicable to buckets with hierarchical namespace enabled.", +"httpMethod": "POST", +"id": "storage.folders.insert", +"parameterOrder": [ +"bucket" +], +"parameters": { +"bucket": { +"description": "Name of the bucket in which the folder resides.", +"location": "path", +"required": true, +"type": "string" +}, +"recursive": { +"description": "If true, any parent folder which doesn\u2019t exist will be created automatically.", +"location": "query", +"type": "boolean" +} +}, +"path": "b/{bucket}/folders", +"request": { +"$ref": "Folder" +}, +"response": { +"$ref": "Folder" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"list": { +"description": "Retrieves a list of folders matching the criteria. Only applicable to buckets with hierarchical namespace enabled.", +"httpMethod": "GET", +"id": "storage.folders.list", +"parameterOrder": [ +"bucket" +], +"parameters": { +"bucket": { +"description": "Name of the bucket in which to look for folders.", +"location": "path", +"required": true, +"type": "string" +}, +"delimiter": { +"description": "Returns results in a directory-like mode. The only supported value is '/'. If set, items will only contain folders that either exactly match the prefix, or are one level below the prefix.", +"location": "query", +"type": "string" +}, +"endOffset": { +"description": "Filter results to folders whose names are lexicographically before endOffset. If startOffset is also set, the folders listed will have names between startOffset (inclusive) and endOffset (exclusive).", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of items to return in a single page of responses.", +"format": "int32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"pageToken": { +"description": "A previously-returned page token representing part of the larger set of results to view.", +"location": "query", +"type": "string" +}, +"prefix": { +"description": "Filter results to folders whose paths begin with this prefix. If set, the value must either be an empty string or end with a '/'.", +"location": "query", +"type": "string" +}, +"startOffset": { +"description": "Filter results to folders whose names are lexicographically equal to or after startOffset. If endOffset is also set, the folders listed will have names between startOffset (inclusive) and endOffset (exclusive).", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/folders", +"response": { +"$ref": "Folders" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"rename": { +"description": "Renames a source folder to a destination folder. Only applicable to buckets with hierarchical namespace enabled.", +"httpMethod": "POST", +"id": "storage.folders.rename", +"parameterOrder": [ +"bucket", +"sourceFolder", +"destinationFolder" +], +"parameters": { +"bucket": { +"description": "Name of the bucket in which the folders are in.", +"location": "path", +"required": true, +"type": "string" +}, +"destinationFolder": { +"description": "Name of the destination folder.", +"location": "path", +"required": true, +"type": "string" +}, +"ifSourceMetagenerationMatch": { +"description": "Makes the operation conditional on whether the source object's current metageneration matches the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifSourceMetagenerationNotMatch": { +"description": "Makes the operation conditional on whether the source object's current metageneration does not match the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"sourceFolder": { +"description": "Name of the source folder.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "b/{bucket}/folders/{sourceFolder}/renameTo/folders/{destinationFolder}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_write" +] +} +} +}, +"managedFolders": { +"methods": { +"delete": { +"description": "Permanently deletes a managed folder.", +"httpMethod": "DELETE", +"id": "storage.managedFolders.delete", +"parameterOrder": [ +"bucket", +"managedFolder" +], +"parameters": { +"allowNonEmpty": { +"description": "Allows the deletion of a managed folder even if it is not empty. A managed folder is empty if there are no objects or managed folders that it applies to. Callers must have storage.managedFolders.setIamPolicy permission.", +"location": "query", +"type": "boolean" +}, +"bucket": { +"description": "Name of the bucket containing the managed folder.", +"location": "path", +"required": true, +"type": "string" +}, +"ifMetagenerationMatch": { +"description": "If set, only deletes the managed folder if its metageneration matches this value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifMetagenerationNotMatch": { +"description": "If set, only deletes the managed folder if its metageneration does not match this value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"managedFolder": { +"description": "The managed folder name/path.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "b/{bucket}/managedFolders/{managedFolder}", +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"get": { +"description": "Returns metadata of the specified managed folder.", +"httpMethod": "GET", +"id": "storage.managedFolders.get", +"parameterOrder": [ +"bucket", +"managedFolder" +], +"parameters": { +"bucket": { +"description": "Name of the bucket containing the managed folder.", +"location": "path", +"required": true, +"type": "string" +}, +"ifMetagenerationMatch": { +"description": "Makes the return of the managed folder metadata conditional on whether the managed folder's current metageneration matches the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifMetagenerationNotMatch": { +"description": "Makes the return of the managed folder metadata conditional on whether the managed folder's current metageneration does not match the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"managedFolder": { +"description": "The managed folder name/path.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "b/{bucket}/managedFolders/{managedFolder}", +"response": { +"$ref": "ManagedFolder" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"getIamPolicy": { +"description": "Returns an IAM policy for the specified managed folder.", +"httpMethod": "GET", +"id": "storage.managedFolders.getIamPolicy", +"parameterOrder": [ +"bucket", +"managedFolder" +], +"parameters": { +"bucket": { +"description": "Name of the bucket containing the managed folder.", +"location": "path", +"required": true, +"type": "string" +}, +"managedFolder": { +"description": "The managed folder name/path.", +"location": "path", +"required": true, +"type": "string" +}, +"optionsRequestedPolicyVersion": { +"description": "The IAM policy format version to be returned. If the optionsRequestedPolicyVersion is for an older version that doesn't support part of the requested IAM policy, the request fails.", +"format": "int32", +"location": "query", +"minimum": "1", +"type": "integer" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/managedFolders/{managedFolder}/iam", +"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/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"insert": { +"description": "Creates a new managed folder.", +"httpMethod": "POST", +"id": "storage.managedFolders.insert", +"parameterOrder": [ +"bucket" +], +"parameters": { +"bucket": { +"description": "Name of the bucket containing the managed folder.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "b/{bucket}/managedFolders", +"request": { +"$ref": "ManagedFolder" +}, +"response": { +"$ref": "ManagedFolder" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"list": { +"description": "Lists managed folders in the given bucket.", +"httpMethod": "GET", +"id": "storage.managedFolders.list", +"parameterOrder": [ +"bucket" +], +"parameters": { +"bucket": { +"description": "Name of the bucket containing the managed folder.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Maximum number of items to return in a single page of responses.", +"format": "int32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"pageToken": { +"description": "A previously-returned page token representing part of the larger set of results to view.", +"location": "query", +"type": "string" +}, +"prefix": { +"description": "The managed folder name/path prefix to filter the output list of results.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/managedFolders", +"response": { +"$ref": "ManagedFolders" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"setIamPolicy": { +"description": "Updates an IAM policy for the specified managed folder.", +"httpMethod": "PUT", +"id": "storage.managedFolders.setIamPolicy", +"parameterOrder": [ +"bucket", +"managedFolder" +], +"parameters": { +"bucket": { +"description": "Name of the bucket containing the managed folder.", +"location": "path", +"required": true, +"type": "string" +}, +"managedFolder": { +"description": "The managed folder name/path.", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/managedFolders/{managedFolder}/iam", +"request": { +"$ref": "Policy" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control" +] +}, +"testIamPermissions": { +"description": "Tests a set of permissions on the given managed folder to see which, if any, are held by the caller.", +"httpMethod": "GET", +"id": "storage.managedFolders.testIamPermissions", +"parameterOrder": [ +"bucket", +"managedFolder", +"permissions" +], +"parameters": { +"bucket": { +"description": "Name of the bucket containing the managed folder.", +"location": "path", +"required": true, +"type": "string" +}, +"managedFolder": { +"description": "The managed folder name/path.", +"location": "path", +"required": true, +"type": "string" +}, +"permissions": { +"description": "Permissions to test.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/managedFolders/{managedFolder}/iam/testPermissions", +"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/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only", +"https://www.googleapis.com/auth/devstorage.read_write" +] +} +} +}, +"notifications": { +"methods": { +"delete": { +"description": "Permanently deletes a notification subscription.", +"httpMethod": "DELETE", +"id": "storage.notifications.delete", +"parameterOrder": [ +"bucket", +"notification" +], +"parameters": { +"bucket": { +"description": "The parent bucket of the notification.", +"location": "path", +"required": true, +"type": "string" +}, +"notification": { +"description": "ID of the notification to delete.", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/notificationConfigs/{notification}", +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"get": { +"description": "View a notification configuration.", +"httpMethod": "GET", +"id": "storage.notifications.get", +"parameterOrder": [ +"bucket", +"notification" +], +"parameters": { +"bucket": { +"description": "The parent bucket of the notification.", +"location": "path", +"required": true, +"type": "string" +}, +"notification": { +"description": "Notification ID", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/notificationConfigs/{notification}", +"response": { +"$ref": "Notification" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"insert": { +"description": "Creates a notification subscription for a given bucket.", +"httpMethod": "POST", +"id": "storage.notifications.insert", +"parameterOrder": [ +"bucket" +], +"parameters": { +"bucket": { +"description": "The parent bucket of the notification.", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/notificationConfigs", +"request": { +"$ref": "Notification" +}, +"response": { +"$ref": "Notification" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"list": { +"description": "Retrieves a list of notification subscriptions for a given bucket.", +"httpMethod": "GET", +"id": "storage.notifications.list", +"parameterOrder": [ +"bucket" +], +"parameters": { +"bucket": { +"description": "Name of a Google Cloud Storage bucket.", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/notificationConfigs", +"response": { +"$ref": "Notifications" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only", +"https://www.googleapis.com/auth/devstorage.read_write" +] +} +} +}, +"objectAccessControls": { +"methods": { +"delete": { +"description": "Permanently deletes the ACL entry for the specified entity on the specified object.", +"httpMethod": "DELETE", +"id": "storage.objectAccessControls.delete", +"parameterOrder": [ +"bucket", +"object", +"entity" +], +"parameters": { +"bucket": { +"description": "Name of a bucket.", +"location": "path", +"required": true, +"type": "string" +}, +"entity": { +"description": "The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.", +"location": "path", +"required": true, +"type": "string" +}, +"generation": { +"description": "If present, selects a specific revision of this object (as opposed to the latest version, the default).", +"format": "int64", +"location": "query", +"type": "string" +}, +"object": { +"description": "Name of the object. For information about how to URL encode object names to be path safe, see [Encoding URI Path Parts](https://cloud.google.com/storage/docs/request-endpoints#encoding).", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/o/{object}/acl/{entity}", +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control" +] +}, +"get": { +"description": "Returns the ACL entry for the specified entity on the specified object.", +"httpMethod": "GET", +"id": "storage.objectAccessControls.get", +"parameterOrder": [ +"bucket", +"object", +"entity" +], +"parameters": { +"bucket": { +"description": "Name of a bucket.", +"location": "path", +"required": true, +"type": "string" +}, +"entity": { +"description": "The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.", +"location": "path", +"required": true, +"type": "string" +}, +"generation": { +"description": "If present, selects a specific revision of this object (as opposed to the latest version, the default).", +"format": "int64", +"location": "query", +"type": "string" +}, +"object": { +"description": "Name of the object. For information about how to URL encode object names to be path safe, see [Encoding URI Path Parts](https://cloud.google.com/storage/docs/request-endpoints#encoding).", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/o/{object}/acl/{entity}", +"response": { +"$ref": "ObjectAccessControl" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control" +] +}, +"insert": { +"description": "Creates a new ACL entry on the specified object.", +"httpMethod": "POST", +"id": "storage.objectAccessControls.insert", +"parameterOrder": [ +"bucket", +"object" +], +"parameters": { +"bucket": { +"description": "Name of a bucket.", +"location": "path", +"required": true, +"type": "string" +}, +"generation": { +"description": "If present, selects a specific revision of this object (as opposed to the latest version, the default).", +"format": "int64", +"location": "query", +"type": "string" +}, +"object": { +"description": "Name of the object. For information about how to URL encode object names to be path safe, see [Encoding URI Path Parts](https://cloud.google.com/storage/docs/request-endpoints#encoding).", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/o/{object}/acl", +"request": { +"$ref": "ObjectAccessControl" +}, +"response": { +"$ref": "ObjectAccessControl" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control" +] +}, +"list": { +"description": "Retrieves ACL entries on the specified object.", +"httpMethod": "GET", +"id": "storage.objectAccessControls.list", +"parameterOrder": [ +"bucket", +"object" +], +"parameters": { +"bucket": { +"description": "Name of a bucket.", +"location": "path", +"required": true, +"type": "string" +}, +"generation": { +"description": "If present, selects a specific revision of this object (as opposed to the latest version, the default).", +"format": "int64", +"location": "query", +"type": "string" +}, +"object": { +"description": "Name of the object. For information about how to URL encode object names to be path safe, see [Encoding URI Path Parts](https://cloud.google.com/storage/docs/request-endpoints#encoding).", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/o/{object}/acl", +"response": { +"$ref": "ObjectAccessControls" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control" +] +}, +"patch": { +"description": "Patches an ACL entry on the specified object.", +"httpMethod": "PATCH", +"id": "storage.objectAccessControls.patch", +"parameterOrder": [ +"bucket", +"object", +"entity" +], +"parameters": { +"bucket": { +"description": "Name of a bucket.", +"location": "path", +"required": true, +"type": "string" +}, +"entity": { +"description": "The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.", +"location": "path", +"required": true, +"type": "string" +}, +"generation": { +"description": "If present, selects a specific revision of this object (as opposed to the latest version, the default).", +"format": "int64", +"location": "query", +"type": "string" +}, +"object": { +"description": "Name of the object. For information about how to URL encode object names to be path safe, see [Encoding URI Path Parts](https://cloud.google.com/storage/docs/request-endpoints#encoding).", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/o/{object}/acl/{entity}", +"request": { +"$ref": "ObjectAccessControl" +}, +"response": { +"$ref": "ObjectAccessControl" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control" +] +}, +"update": { +"description": "Updates an ACL entry on the specified object.", +"httpMethod": "PUT", +"id": "storage.objectAccessControls.update", +"parameterOrder": [ +"bucket", +"object", +"entity" +], +"parameters": { +"bucket": { +"description": "Name of a bucket.", +"location": "path", +"required": true, +"type": "string" +}, +"entity": { +"description": "The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.", +"location": "path", +"required": true, +"type": "string" +}, +"generation": { +"description": "If present, selects a specific revision of this object (as opposed to the latest version, the default).", +"format": "int64", +"location": "query", +"type": "string" +}, +"object": { +"description": "Name of the object. For information about how to URL encode object names to be path safe, see [Encoding URI Path Parts](https://cloud.google.com/storage/docs/request-endpoints#encoding).", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/o/{object}/acl/{entity}", +"request": { +"$ref": "ObjectAccessControl" +}, +"response": { +"$ref": "ObjectAccessControl" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control" +] +} +} +}, +"objects": { +"methods": { +"bulkRestore": { +"description": "Initiates a long-running bulk restore operation on the specified bucket.", +"httpMethod": "POST", +"id": "storage.objects.bulkRestore", +"parameterOrder": [ +"bucket" +], +"parameters": { +"bucket": { +"description": "Name of the bucket in which the object resides.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "b/{bucket}/o/bulkRestore", +"request": { +"$ref": "BulkRestoreObjectsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"compose": { +"description": "Concatenates a list of existing objects into a new object in the same bucket.", +"httpMethod": "POST", +"id": "storage.objects.compose", +"parameterOrder": [ +"destinationBucket", +"destinationObject" +], +"parameters": { +"destinationBucket": { +"description": "Name of the bucket containing the source objects. The destination object is stored in this bucket.", +"location": "path", +"required": true, +"type": "string" +}, +"destinationObject": { +"description": "Name of the new object. For information about how to URL encode object names to be path safe, see [Encoding URI Path Parts](https://cloud.google.com/storage/docs/request-endpoints#encoding).", +"location": "path", +"required": true, +"type": "string" +}, +"destinationPredefinedAcl": { +"description": "Apply a predefined set of access controls to the destination object.", +"enum": [ +"authenticatedRead", +"bucketOwnerFullControl", +"bucketOwnerRead", +"private", +"projectPrivate", +"publicRead" +], +"enumDescriptions": [ +"Object owner gets OWNER access, and allAuthenticatedUsers get READER access.", +"Object owner gets OWNER access, and project team owners get OWNER access.", +"Object owner gets OWNER access, and project team owners get READER access.", +"Object owner gets OWNER access.", +"Object owner gets OWNER access, and project team members get access according to their roles.", +"Object owner gets OWNER access, and allUsers get READER access." +], +"location": "query", +"type": "string" +}, +"ifGenerationMatch": { +"description": "Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifMetagenerationMatch": { +"description": "Makes the operation conditional on whether the object's current metageneration matches the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"kmsKeyName": { +"description": "Resource name of the Cloud KMS key, of the form projects/my-project/locations/global/keyRings/my-kr/cryptoKeys/my-key, that will be used to encrypt the object. Overrides the object metadata's kms_key_name value, if any.", +"location": "query", +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{destinationBucket}/o/{destinationObject}/compose", +"request": { +"$ref": "ComposeRequest" +}, +"response": { +"$ref": "Object" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"copy": { +"description": "Copies a source object to a destination object. Optionally overrides metadata.", +"httpMethod": "POST", +"id": "storage.objects.copy", +"parameterOrder": [ +"sourceBucket", +"sourceObject", +"destinationBucket", +"destinationObject" +], +"parameters": { +"destinationBucket": { +"description": "Name of the bucket in which to store the new object. Overrides the provided object metadata's bucket value, if any.For information about how to URL encode object names to be path safe, see [Encoding URI Path Parts](https://cloud.google.com/storage/docs/request-endpoints#encoding).", +"location": "path", +"required": true, +"type": "string" +}, +"destinationKmsKeyName": { +"description": "Resource name of the Cloud KMS key, of the form projects/my-project/locations/global/keyRings/my-kr/cryptoKeys/my-key, that will be used to encrypt the object. Overrides the object metadata's kms_key_name value, if any.", +"location": "query", +"type": "string" +}, +"destinationObject": { +"description": "Name of the new object. Required when the object metadata is not otherwise provided. Overrides the object metadata's name value, if any.", +"location": "path", +"required": true, +"type": "string" +}, +"destinationPredefinedAcl": { +"description": "Apply a predefined set of access controls to the destination object.", +"enum": [ +"authenticatedRead", +"bucketOwnerFullControl", +"bucketOwnerRead", +"private", +"projectPrivate", +"publicRead" +], +"enumDescriptions": [ +"Object owner gets OWNER access, and allAuthenticatedUsers get READER access.", +"Object owner gets OWNER access, and project team owners get OWNER access.", +"Object owner gets OWNER access, and project team owners get READER access.", +"Object owner gets OWNER access.", +"Object owner gets OWNER access, and project team members get access according to their roles.", +"Object owner gets OWNER access, and allUsers get READER access." +], +"location": "query", +"type": "string" +}, +"ifGenerationMatch": { +"description": "Makes the operation conditional on whether the destination object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifGenerationNotMatch": { +"description": "Makes the operation conditional on whether the destination object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifMetagenerationMatch": { +"description": "Makes the operation conditional on whether the destination object's current metageneration matches the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifMetagenerationNotMatch": { +"description": "Makes the operation conditional on whether the destination object's current metageneration does not match the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifSourceGenerationMatch": { +"description": "Makes the operation conditional on whether the source object's current generation matches the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifSourceGenerationNotMatch": { +"description": "Makes the operation conditional on whether the source object's current generation does not match the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifSourceMetagenerationMatch": { +"description": "Makes the operation conditional on whether the source object's current metageneration matches the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifSourceMetagenerationNotMatch": { +"description": "Makes the operation conditional on whether the source object's current metageneration does not match the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"projection": { +"description": "Set of properties to return. Defaults to noAcl, unless the object resource specifies the acl property, when it defaults to full.", +"enum": [ +"full", +"noAcl" +], +"enumDescriptions": [ +"Include all properties.", +"Omit the owner, acl property." +], +"location": "query", +"type": "string" +}, +"sourceBucket": { +"description": "Name of the bucket in which to find the source object.", +"location": "path", +"required": true, +"type": "string" +}, +"sourceGeneration": { +"description": "If present, selects a specific revision of the source object (as opposed to the latest version, the default).", +"format": "int64", +"location": "query", +"type": "string" +}, +"sourceObject": { +"description": "Name of the source object. For information about how to URL encode object names to be path safe, see [Encoding URI Path Parts](https://cloud.google.com/storage/docs/request-endpoints#encoding).", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{sourceBucket}/o/{sourceObject}/copyTo/b/{destinationBucket}/o/{destinationObject}", +"request": { +"$ref": "Object" +}, +"response": { +"$ref": "Object" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"delete": { +"description": "Deletes an object and its metadata. Deletions are permanent if versioning is not enabled for the bucket, or if the generation parameter is used.", +"httpMethod": "DELETE", +"id": "storage.objects.delete", +"parameterOrder": [ +"bucket", +"object" +], +"parameters": { +"bucket": { +"description": "Name of the bucket in which the object resides.", +"location": "path", +"required": true, +"type": "string" +}, +"generation": { +"description": "If present, permanently deletes a specific revision of this object (as opposed to the latest version, the default).", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifGenerationMatch": { +"description": "Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifGenerationNotMatch": { +"description": "Makes the operation conditional on whether the object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifMetagenerationMatch": { +"description": "Makes the operation conditional on whether the object's current metageneration matches the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifMetagenerationNotMatch": { +"description": "Makes the operation conditional on whether the object's current metageneration does not match the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"object": { +"description": "Name of the object. For information about how to URL encode object names to be path safe, see [Encoding URI Path Parts](https://cloud.google.com/storage/docs/request-endpoints#encoding).", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/o/{object}", +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"get": { +"description": "Retrieves an object or its metadata.", +"httpMethod": "GET", +"id": "storage.objects.get", +"parameterOrder": [ +"bucket", +"object" +], +"parameters": { +"bucket": { +"description": "Name of the bucket in which the object resides.", +"location": "path", +"required": true, +"type": "string" +}, +"generation": { +"description": "If present, selects a specific revision of this object (as opposed to the latest version, the default).", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifGenerationMatch": { +"description": "Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifGenerationNotMatch": { +"description": "Makes the operation conditional on whether the object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifMetagenerationMatch": { +"description": "Makes the operation conditional on whether the object's current metageneration matches the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifMetagenerationNotMatch": { +"description": "Makes the operation conditional on whether the object's current metageneration does not match the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"object": { +"description": "Name of the object. For information about how to URL encode object names to be path safe, see [Encoding URI Path Parts](https://cloud.google.com/storage/docs/request-endpoints#encoding).", +"location": "path", +"required": true, +"type": "string" +}, +"projection": { +"description": "Set of properties to return. Defaults to noAcl.", +"enum": [ +"full", +"noAcl" +], +"enumDescriptions": [ +"Include all properties.", +"Omit the owner, acl property." +], +"location": "query", +"type": "string" +}, +"restoreToken": { +"description": "Restore token used to differentiate soft-deleted objects with the same name and generation. Only applicable for hierarchical namespace buckets and if softDeleted is set to true. This parameter is optional, and is only required in the rare case when there are multiple soft-deleted objects with the same name and generation.", +"location": "query", +"type": "string" +}, +"softDeleted": { +"description": "If true, only soft-deleted object versions will be listed. The default is false. For more information, see [Soft Delete](https://cloud.google.com/storage/docs/soft-delete).", +"location": "query", +"type": "boolean" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/o/{object}", +"response": { +"$ref": "Object" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only", +"https://www.googleapis.com/auth/devstorage.read_write" +], +"supportsMediaDownload": true, +"useMediaDownloadService": true +}, +"getIamPolicy": { +"description": "Returns an IAM policy for the specified object.", +"httpMethod": "GET", +"id": "storage.objects.getIamPolicy", +"parameterOrder": [ +"bucket", +"object" +], +"parameters": { +"bucket": { +"description": "Name of the bucket in which the object resides.", +"location": "path", +"required": true, +"type": "string" +}, +"generation": { +"description": "If present, selects a specific revision of this object (as opposed to the latest version, the default).", +"format": "int64", +"location": "query", +"type": "string" +}, +"object": { +"description": "Name of the object. For information about how to URL encode object names to be path safe, see [Encoding URI Path Parts](https://cloud.google.com/storage/docs/request-endpoints#encoding).", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/o/{object}/iam", +"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/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"insert": { +"description": "Stores a new object and metadata.", +"httpMethod": "POST", +"id": "storage.objects.insert", +"mediaUpload": { +"accept": [ +"*/*" +], +"protocols": { +"resumable": { +"multipart": true, +"path": "/resumable/upload/storage/v1/b/{bucket}/o" +}, +"simple": { +"multipart": true, +"path": "/upload/storage/v1/b/{bucket}/o" +} +} +}, +"parameterOrder": [ +"bucket" +], +"parameters": { +"bucket": { +"description": "Name of the bucket in which to store the new object. Overrides the provided object metadata's bucket value, if any.", +"location": "path", +"required": true, +"type": "string" +}, +"contentEncoding": { +"description": "If set, sets the contentEncoding property of the final object to this value. Setting this parameter is equivalent to setting the contentEncoding metadata property. This can be useful when uploading an object with uploadType=media to indicate the encoding of the content being uploaded.", +"location": "query", +"type": "string" +}, +"ifGenerationMatch": { +"description": "Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifGenerationNotMatch": { +"description": "Makes the operation conditional on whether the object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifMetagenerationMatch": { +"description": "Makes the operation conditional on whether the object's current metageneration matches the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifMetagenerationNotMatch": { +"description": "Makes the operation conditional on whether the object's current metageneration does not match the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"kmsKeyName": { +"description": "Resource name of the Cloud KMS key, of the form projects/my-project/locations/global/keyRings/my-kr/cryptoKeys/my-key, that will be used to encrypt the object. Overrides the object metadata's kms_key_name value, if any.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Name of the object. Required when the object metadata is not otherwise provided. Overrides the object metadata's name value, if any. For information about how to URL encode object names to be path safe, see [Encoding URI Path Parts](https://cloud.google.com/storage/docs/request-endpoints#encoding).", +"location": "query", +"type": "string" +}, +"predefinedAcl": { +"description": "Apply a predefined set of access controls to this object.", +"enum": [ +"authenticatedRead", +"bucketOwnerFullControl", +"bucketOwnerRead", +"private", +"projectPrivate", +"publicRead" +], +"enumDescriptions": [ +"Object owner gets OWNER access, and allAuthenticatedUsers get READER access.", +"Object owner gets OWNER access, and project team owners get OWNER access.", +"Object owner gets OWNER access, and project team owners get READER access.", +"Object owner gets OWNER access.", +"Object owner gets OWNER access, and project team members get access according to their roles.", +"Object owner gets OWNER access, and allUsers get READER access." +], +"location": "query", +"type": "string" +}, +"projection": { +"description": "Set of properties to return. Defaults to noAcl, unless the object resource specifies the acl property, when it defaults to full.", +"enum": [ +"full", +"noAcl" +], +"enumDescriptions": [ +"Include all properties.", +"Omit the owner, acl property." +], +"location": "query", +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/o", +"request": { +"$ref": "Object" +}, +"response": { +"$ref": "Object" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_write" +], +"supportsMediaUpload": true +}, +"list": { +"description": "Retrieves a list of objects matching the criteria.", +"httpMethod": "GET", +"id": "storage.objects.list", +"parameterOrder": [ +"bucket" +], +"parameters": { +"bucket": { +"description": "Name of the bucket in which to look for objects.", +"location": "path", +"required": true, +"type": "string" +}, +"delimiter": { +"description": "Returns results in a directory-like mode. items will contain only objects whose names, aside from the prefix, do not contain delimiter. Objects whose names, aside from the prefix, contain delimiter will have their name, truncated after the delimiter, returned in prefixes. Duplicate prefixes are omitted.", +"location": "query", +"type": "string" +}, +"endOffset": { +"description": "Filter results to objects whose names are lexicographically before endOffset. If startOffset is also set, the objects listed will have names between startOffset (inclusive) and endOffset (exclusive).", +"location": "query", +"type": "string" +}, +"includeFoldersAsPrefixes": { +"description": "Only applicable if delimiter is set to '/'. If true, will also include folders and managed folders (besides objects) in the returned prefixes.", +"location": "query", +"type": "boolean" +}, +"includeTrailingDelimiter": { +"description": "If true, objects that end in exactly one instance of delimiter will have their metadata included in items in addition to prefixes.", +"location": "query", +"type": "boolean" +}, +"matchGlob": { +"description": "Filter results to objects and prefixes that match this glob pattern.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "1000", +"description": "Maximum number of items plus prefixes to return in a single page of responses. As duplicate prefixes are omitted, fewer total results may be returned than requested. The service will use this parameter or 1,000 items, whichever is smaller.", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"pageToken": { +"description": "A previously-returned page token representing part of the larger set of results to view.", +"location": "query", +"type": "string" +}, +"prefix": { +"description": "Filter results to objects whose names begin with this prefix.", +"location": "query", +"type": "string" +}, +"projection": { +"description": "Set of properties to return. Defaults to noAcl.", +"enum": [ +"full", +"noAcl" +], +"enumDescriptions": [ +"Include all properties.", +"Omit the owner, acl property." +], +"location": "query", +"type": "string" +}, +"softDeleted": { +"description": "If true, only soft-deleted object versions will be listed. The default is false. For more information, see [Soft Delete](https://cloud.google.com/storage/docs/soft-delete).", +"location": "query", +"type": "boolean" +}, +"startOffset": { +"description": "Filter results to objects whose names are lexicographically equal to or after startOffset. If endOffset is also set, the objects listed will have names between startOffset (inclusive) and endOffset (exclusive).", +"location": "query", +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +}, +"versions": { +"description": "If true, lists all versions of an object as distinct results. The default is false. For more information, see [Object Versioning](https://cloud.google.com/storage/docs/object-versioning).", +"location": "query", +"type": "boolean" +} +}, +"path": "b/{bucket}/o", +"response": { +"$ref": "Objects" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only", +"https://www.googleapis.com/auth/devstorage.read_write" +], +"supportsSubscription": true +}, +"move": { +"description": "Moves the source object to the destination object in the same bucket.", +"httpMethod": "POST", +"id": "storage.objects.move", +"parameterOrder": [ +"bucket", +"sourceObject", +"destinationObject" +], +"parameters": { +"bucket": { +"description": "Name of the bucket in which the object resides.", +"location": "path", +"required": true, +"type": "string" +}, +"destinationObject": { +"description": "Name of the destination object. For information about how to URL encode object names to be path safe, see [Encoding URI Path Parts](https://cloud.google.com/storage/docs/request-endpoints#encoding).", +"location": "path", +"required": true, +"type": "string" +}, +"ifGenerationMatch": { +"description": "Makes the operation conditional on whether the destination object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object. `ifGenerationMatch` and `ifGenerationNotMatch` conditions are mutually exclusive: it's an error for both of them to be set in the request.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifGenerationNotMatch": { +"description": "Makes the operation conditional on whether the destination object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.`ifGenerationMatch` and `ifGenerationNotMatch` conditions are mutually exclusive: it's an error for both of them to be set in the request.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifMetagenerationMatch": { +"description": "Makes the operation conditional on whether the destination object's current metageneration matches the given value. `ifMetagenerationMatch` and `ifMetagenerationNotMatch` conditions are mutually exclusive: it's an error for both of them to be set in the request.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifMetagenerationNotMatch": { +"description": "Makes the operation conditional on whether the destination object's current metageneration does not match the given value. `ifMetagenerationMatch` and `ifMetagenerationNotMatch` conditions are mutually exclusive: it's an error for both of them to be set in the request.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifSourceGenerationMatch": { +"description": "Makes the operation conditional on whether the source object's current generation matches the given value. `ifSourceGenerationMatch` and `ifSourceGenerationNotMatch` conditions are mutually exclusive: it's an error for both of them to be set in the request.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifSourceGenerationNotMatch": { +"description": "Makes the operation conditional on whether the source object's current generation does not match the given value. `ifSourceGenerationMatch` and `ifSourceGenerationNotMatch` conditions are mutually exclusive: it's an error for both of them to be set in the request.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifSourceMetagenerationMatch": { +"description": "Makes the operation conditional on whether the source object's current metageneration matches the given value. `ifSourceMetagenerationMatch` and `ifSourceMetagenerationNotMatch` conditions are mutually exclusive: it's an error for both of them to be set in the request.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifSourceMetagenerationNotMatch": { +"description": "Makes the operation conditional on whether the source object's current metageneration does not match the given value. `ifSourceMetagenerationMatch` and `ifSourceMetagenerationNotMatch` conditions are mutually exclusive: it's an error for both of them to be set in the request.", +"format": "int64", +"location": "query", +"type": "string" +}, +"sourceObject": { +"description": "Name of the source object. For information about how to URL encode object names to be path safe, see [Encoding URI Path Parts](https://cloud.google.com/storage/docs/request-endpoints#encoding).", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/o/{sourceObject}/moveTo/o/{destinationObject}", +"response": { +"$ref": "Object" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"patch": { +"description": "Patches an object's metadata.", +"httpMethod": "PATCH", +"id": "storage.objects.patch", +"parameterOrder": [ +"bucket", +"object" +], +"parameters": { +"bucket": { +"description": "Name of the bucket in which the object resides.", +"location": "path", +"required": true, +"type": "string" +}, +"generation": { +"description": "If present, selects a specific revision of this object (as opposed to the latest version, the default).", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifGenerationMatch": { +"description": "Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifGenerationNotMatch": { +"description": "Makes the operation conditional on whether the object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifMetagenerationMatch": { +"description": "Makes the operation conditional on whether the object's current metageneration matches the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifMetagenerationNotMatch": { +"description": "Makes the operation conditional on whether the object's current metageneration does not match the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"object": { +"description": "Name of the object. For information about how to URL encode object names to be path safe, see [Encoding URI Path Parts](https://cloud.google.com/storage/docs/request-endpoints#encoding).", +"location": "path", +"required": true, +"type": "string" +}, +"overrideUnlockedRetention": { +"description": "Must be true to remove the retention configuration, reduce its unlocked retention period, or change its mode from unlocked to locked.", +"location": "query", +"type": "boolean" +}, +"predefinedAcl": { +"description": "Apply a predefined set of access controls to this object.", +"enum": [ +"authenticatedRead", +"bucketOwnerFullControl", +"bucketOwnerRead", +"private", +"projectPrivate", +"publicRead" +], +"enumDescriptions": [ +"Object owner gets OWNER access, and allAuthenticatedUsers get READER access.", +"Object owner gets OWNER access, and project team owners get OWNER access.", +"Object owner gets OWNER access, and project team owners get READER access.", +"Object owner gets OWNER access.", +"Object owner gets OWNER access, and project team members get access according to their roles.", +"Object owner gets OWNER access, and allUsers get READER access." +], +"location": "query", +"type": "string" +}, +"projection": { +"description": "Set of properties to return. Defaults to full.", +"enum": [ +"full", +"noAcl" +], +"enumDescriptions": [ +"Include all properties.", +"Omit the owner, acl property." +], +"location": "query", +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request, for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/o/{object}", +"request": { +"$ref": "Object" +}, +"response": { +"$ref": "Object" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control" +] +}, +"restore": { +"description": "Restores a soft-deleted object.", +"httpMethod": "POST", +"id": "storage.objects.restore", +"parameterOrder": [ +"bucket", +"object", +"generation" +], +"parameters": { +"bucket": { +"description": "Name of the bucket in which the object resides.", +"location": "path", +"required": true, +"type": "string" +}, +"copySourceAcl": { +"description": "If true, copies the source object's ACL; otherwise, uses the bucket's default object ACL. The default is false.", +"location": "query", +"type": "boolean" +}, +"generation": { +"description": "Selects a specific revision of this object.", +"format": "int64", +"location": "query", +"required": true, +"type": "string" +}, +"ifGenerationMatch": { +"description": "Makes the operation conditional on whether the object's one live generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifGenerationNotMatch": { +"description": "Makes the operation conditional on whether none of the object's live generations match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifMetagenerationMatch": { +"description": "Makes the operation conditional on whether the object's one live metageneration matches the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifMetagenerationNotMatch": { +"description": "Makes the operation conditional on whether none of the object's live metagenerations match the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"object": { +"description": "Name of the object. For information about how to URL encode object names to be path safe, see [Encoding URI Path Parts](https://cloud.google.com/storage/docs/request-endpoints#encoding).", +"location": "path", +"required": true, +"type": "string" +}, +"projection": { +"description": "Set of properties to return. Defaults to full.", +"enum": [ +"full", +"noAcl" +], +"enumDescriptions": [ +"Include all properties.", +"Omit the owner, acl property." +], +"location": "query", +"type": "string" +}, +"restoreToken": { +"description": "Restore token used to differentiate sof-deleted objects with the same name and generation. Only applicable for hierarchical namespace buckets. This parameter is optional, and is only required in the rare case when there are multiple soft-deleted objects with the same name and generation.", +"location": "query", +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/o/{object}/restore", +"response": { +"$ref": "Object" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control" +] +}, +"rewrite": { +"description": "Rewrites a source object to a destination object. Optionally overrides metadata.", +"httpMethod": "POST", +"id": "storage.objects.rewrite", +"parameterOrder": [ +"sourceBucket", +"sourceObject", +"destinationBucket", +"destinationObject" +], +"parameters": { +"destinationBucket": { +"description": "Name of the bucket in which to store the new object. Overrides the provided object metadata's bucket value, if any.", +"location": "path", +"required": true, +"type": "string" +}, +"destinationKmsKeyName": { +"description": "Resource name of the Cloud KMS key, of the form projects/my-project/locations/global/keyRings/my-kr/cryptoKeys/my-key, that will be used to encrypt the object. Overrides the object metadata's kms_key_name value, if any.", +"location": "query", +"type": "string" +}, +"destinationObject": { +"description": "Name of the new object. Required when the object metadata is not otherwise provided. Overrides the object metadata's name value, if any. For information about how to URL encode object names to be path safe, see [Encoding URI Path Parts](https://cloud.google.com/storage/docs/request-endpoints#encoding).", +"location": "path", +"required": true, +"type": "string" +}, +"destinationPredefinedAcl": { +"description": "Apply a predefined set of access controls to the destination object.", +"enum": [ +"authenticatedRead", +"bucketOwnerFullControl", +"bucketOwnerRead", +"private", +"projectPrivate", +"publicRead" +], +"enumDescriptions": [ +"Object owner gets OWNER access, and allAuthenticatedUsers get READER access.", +"Object owner gets OWNER access, and project team owners get OWNER access.", +"Object owner gets OWNER access, and project team owners get READER access.", +"Object owner gets OWNER access.", +"Object owner gets OWNER access, and project team members get access according to their roles.", +"Object owner gets OWNER access, and allUsers get READER access." +], +"location": "query", +"type": "string" +}, +"ifGenerationMatch": { +"description": "Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifGenerationNotMatch": { +"description": "Makes the operation conditional on whether the object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifMetagenerationMatch": { +"description": "Makes the operation conditional on whether the destination object's current metageneration matches the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifMetagenerationNotMatch": { +"description": "Makes the operation conditional on whether the destination object's current metageneration does not match the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifSourceGenerationMatch": { +"description": "Makes the operation conditional on whether the source object's current generation matches the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifSourceGenerationNotMatch": { +"description": "Makes the operation conditional on whether the source object's current generation does not match the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifSourceMetagenerationMatch": { +"description": "Makes the operation conditional on whether the source object's current metageneration matches the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifSourceMetagenerationNotMatch": { +"description": "Makes the operation conditional on whether the source object's current metageneration does not match the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"maxBytesRewrittenPerCall": { +"description": "The maximum number of bytes that will be rewritten per rewrite request. Most callers shouldn't need to specify this parameter - it is primarily in place to support testing. If specified the value must be an integral multiple of 1 MiB (1048576). Also, this only applies to requests where the source and destination span locations and/or storage classes. Finally, this value must not change across rewrite calls else you'll get an error that the rewriteToken is invalid.", +"format": "int64", +"location": "query", +"type": "string" +}, +"projection": { +"description": "Set of properties to return. Defaults to noAcl, unless the object resource specifies the acl property, when it defaults to full.", +"enum": [ +"full", +"noAcl" +], +"enumDescriptions": [ +"Include all properties.", +"Omit the owner, acl property." +], +"location": "query", +"type": "string" +}, +"rewriteToken": { +"description": "Include this field (from the previous rewrite response) on each rewrite request after the first one, until the rewrite response 'done' flag is true. Calls that provide a rewriteToken can omit all other request fields, but if included those fields must match the values provided in the first rewrite request.", +"location": "query", +"type": "string" +}, +"sourceBucket": { +"description": "Name of the bucket in which to find the source object.", +"location": "path", +"required": true, +"type": "string" +}, +"sourceGeneration": { +"description": "If present, selects a specific revision of the source object (as opposed to the latest version, the default).", +"format": "int64", +"location": "query", +"type": "string" +}, +"sourceObject": { +"description": "Name of the source object. For information about how to URL encode object names to be path safe, see [Encoding URI Path Parts](https://cloud.google.com/storage/docs/request-endpoints#encoding).", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{sourceBucket}/o/{sourceObject}/rewriteTo/b/{destinationBucket}/o/{destinationObject}", +"request": { +"$ref": "Object" +}, +"response": { +"$ref": "RewriteResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"setIamPolicy": { +"description": "Updates an IAM policy for the specified object.", +"httpMethod": "PUT", +"id": "storage.objects.setIamPolicy", +"parameterOrder": [ +"bucket", +"object" +], +"parameters": { +"bucket": { +"description": "Name of the bucket in which the object resides.", +"location": "path", +"required": true, +"type": "string" +}, +"generation": { +"description": "If present, selects a specific revision of this object (as opposed to the latest version, the default).", +"format": "int64", +"location": "query", +"type": "string" +}, +"object": { +"description": "Name of the object. For information about how to URL encode object names to be path safe, see [Encoding URI Path Parts](https://cloud.google.com/storage/docs/request-endpoints#encoding).", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/o/{object}/iam", +"request": { +"$ref": "Policy" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"testIamPermissions": { +"description": "Tests a set of permissions on the given object to see which, if any, are held by the caller.", +"httpMethod": "GET", +"id": "storage.objects.testIamPermissions", +"parameterOrder": [ +"bucket", +"object", +"permissions" +], +"parameters": { +"bucket": { +"description": "Name of the bucket in which the object resides.", +"location": "path", +"required": true, +"type": "string" +}, +"generation": { +"description": "If present, selects a specific revision of this object (as opposed to the latest version, the default).", +"format": "int64", +"location": "query", +"type": "string" +}, +"object": { +"description": "Name of the object. For information about how to URL encode object names to be path safe, see [Encoding URI Path Parts](https://cloud.google.com/storage/docs/request-endpoints#encoding).", +"location": "path", +"required": true, +"type": "string" +}, +"permissions": { +"description": "Permissions to test.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/o/{object}/iam/testPermissions", +"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/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"update": { +"description": "Updates an object's metadata.", +"httpMethod": "PUT", +"id": "storage.objects.update", +"parameterOrder": [ +"bucket", +"object" +], +"parameters": { +"bucket": { +"description": "Name of the bucket in which the object resides.", +"location": "path", +"required": true, +"type": "string" +}, +"generation": { +"description": "If present, selects a specific revision of this object (as opposed to the latest version, the default).", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifGenerationMatch": { +"description": "Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifGenerationNotMatch": { +"description": "Makes the operation conditional on whether the object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifMetagenerationMatch": { +"description": "Makes the operation conditional on whether the object's current metageneration matches the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"ifMetagenerationNotMatch": { +"description": "Makes the operation conditional on whether the object's current metageneration does not match the given value.", +"format": "int64", +"location": "query", +"type": "string" +}, +"object": { +"description": "Name of the object. For information about how to URL encode object names to be path safe, see [Encoding URI Path Parts](https://cloud.google.com/storage/docs/request-endpoints#encoding).", +"location": "path", +"required": true, +"type": "string" +}, +"overrideUnlockedRetention": { +"description": "Must be true to remove the retention configuration, reduce its unlocked retention period, or change its mode from unlocked to locked.", +"location": "query", +"type": "boolean" +}, +"predefinedAcl": { +"description": "Apply a predefined set of access controls to this object.", +"enum": [ +"authenticatedRead", +"bucketOwnerFullControl", +"bucketOwnerRead", +"private", +"projectPrivate", +"publicRead" +], +"enumDescriptions": [ +"Object owner gets OWNER access, and allAuthenticatedUsers get READER access.", +"Object owner gets OWNER access, and project team owners get OWNER access.", +"Object owner gets OWNER access, and project team owners get READER access.", +"Object owner gets OWNER access.", +"Object owner gets OWNER access, and project team members get access according to their roles.", +"Object owner gets OWNER access, and allUsers get READER access." +], +"location": "query", +"type": "string" +}, +"projection": { +"description": "Set of properties to return. Defaults to full.", +"enum": [ +"full", +"noAcl" +], +"enumDescriptions": [ +"Include all properties.", +"Omit the owner, acl property." +], +"location": "query", +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/o/{object}", +"request": { +"$ref": "Object" +}, +"response": { +"$ref": "Object" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control" +] +}, +"watchAll": { +"description": "Watch for changes on all objects in a bucket.", +"httpMethod": "POST", +"id": "storage.objects.watchAll", +"parameterOrder": [ +"bucket" +], +"parameters": { +"bucket": { +"description": "Name of the bucket in which to look for objects.", +"location": "path", +"required": true, +"type": "string" +}, +"delimiter": { +"description": "Returns results in a directory-like mode. items will contain only objects whose names, aside from the prefix, do not contain delimiter. Objects whose names, aside from the prefix, contain delimiter will have their name, truncated after the delimiter, returned in prefixes. Duplicate prefixes are omitted.", +"location": "query", +"type": "string" +}, +"endOffset": { +"description": "Filter results to objects whose names are lexicographically before endOffset. If startOffset is also set, the objects listed will have names between startOffset (inclusive) and endOffset (exclusive).", +"location": "query", +"type": "string" +}, +"includeTrailingDelimiter": { +"description": "If true, objects that end in exactly one instance of delimiter will have their metadata included in items in addition to prefixes.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "1000", +"description": "Maximum number of items plus prefixes to return in a single page of responses. As duplicate prefixes are omitted, fewer total results may be returned than requested. The service will use this parameter or 1,000 items, whichever is smaller.", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"pageToken": { +"description": "A previously-returned page token representing part of the larger set of results to view.", +"location": "query", +"type": "string" +}, +"prefix": { +"description": "Filter results to objects whose names begin with this prefix.", +"location": "query", +"type": "string" +}, +"projection": { +"description": "Set of properties to return. Defaults to noAcl.", +"enum": [ +"full", +"noAcl" +], +"enumDescriptions": [ +"Include all properties.", +"Omit the owner, acl property." +], +"location": "query", +"type": "string" +}, +"startOffset": { +"description": "Filter results to objects whose names are lexicographically equal to or after startOffset. If endOffset is also set, the objects listed will have names between startOffset (inclusive) and endOffset (exclusive).", +"location": "query", +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request. Required for Requester Pays buckets.", +"location": "query", +"type": "string" +}, +"versions": { +"description": "If true, lists all versions of an object as distinct results. The default is false. For more information, see [Object Versioning](https://cloud.google.com/storage/docs/object-versioning).", +"location": "query", +"type": "boolean" +} +}, +"path": "b/{bucket}/o/watch", +"request": { +"$ref": "Channel", +"parameterName": "resource" +}, +"response": { +"$ref": "Channel" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only", +"https://www.googleapis.com/auth/devstorage.read_write" +], +"supportsSubscription": true +} +} +}, +"operations": { +"methods": { +"advanceRelocateBucket": { +"description": "Starts asynchronous advancement of the relocate bucket operation in the case of required write downtime, to allow it to lock the bucket at the source location, and proceed with the bucket location swap. The server makes a best effort to advance the relocate bucket operation, but success is not guaranteed.", +"httpMethod": "POST", +"id": "storage.buckets.operations.advanceRelocateBucket", +"parameterOrder": [ +"bucket", +"operationId" +], +"parameters": { +"bucket": { +"description": "Name of the bucket to advance the relocate for.", +"location": "path", +"required": true, +"type": "string" +}, +"operationId": { +"description": "ID of the operation resource.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "b/{bucket}/operations/{operationId}/advanceRelocateBucket", +"request": { +"$ref": "AdvanceRelocateBucketOperationRequest" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"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.", +"httpMethod": "POST", +"id": "storage.buckets.operations.cancel", +"parameterOrder": [ +"bucket", +"operationId" +], +"parameters": { +"bucket": { +"description": "The parent bucket of the operation resource.", +"location": "path", +"required": true, +"type": "string" +}, +"operationId": { +"description": "The ID of the operation resource.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "b/{bucket}/operations/{operationId}/cancel", +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation.", +"httpMethod": "GET", +"id": "storage.buckets.operations.get", +"parameterOrder": [ +"bucket", +"operationId" +], +"parameters": { +"bucket": { +"description": "The parent bucket of the operation resource.", +"location": "path", +"required": true, +"type": "string" +}, +"operationId": { +"description": "The ID of the operation resource.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "b/{bucket}/operations/{operationId}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request.", +"httpMethod": "GET", +"id": "storage.buckets.operations.list", +"parameterOrder": [ +"bucket" +], +"parameters": { +"bucket": { +"description": "Name of the bucket in which to look for operations.", +"location": "path", +"required": true, +"type": "string" +}, +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of items to return in a single page of responses. Fewer total results may be returned than requested. The service uses this parameter or 100 items, whichever is smaller.", +"format": "int32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"pageToken": { +"description": "A previously-returned page token representing part of the larger set of results to view.", +"location": "query", +"type": "string" +} +}, +"path": "b/{bucket}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only", +"https://www.googleapis.com/auth/devstorage.read_write" +] +} +} +}, +"projects": { +"resources": { +"hmacKeys": { +"methods": { +"create": { +"description": "Creates a new HMAC key for the specified service account.", +"httpMethod": "POST", +"id": "storage.projects.hmacKeys.create", +"parameterOrder": [ +"projectId", +"serviceAccountEmail" +], +"parameters": { +"projectId": { +"description": "Project ID owning the service account.", +"location": "path", +"required": true, +"type": "string" +}, +"serviceAccountEmail": { +"description": "Email address of the service account.", +"location": "query", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request.", +"location": "query", +"type": "string" +} +}, +"path": "projects/{projectId}/hmacKeys", +"response": { +"$ref": "HmacKey" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control" +] +}, +"delete": { +"description": "Deletes an HMAC key.", +"httpMethod": "DELETE", +"id": "storage.projects.hmacKeys.delete", +"parameterOrder": [ +"projectId", +"accessId" +], +"parameters": { +"accessId": { +"description": "Name of the HMAC key to be deleted.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Project ID owning the requested key", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request.", +"location": "query", +"type": "string" +} +}, +"path": "projects/{projectId}/hmacKeys/{accessId}", +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_write" +] +}, +"get": { +"description": "Retrieves an HMAC key's metadata", +"httpMethod": "GET", +"id": "storage.projects.hmacKeys.get", +"parameterOrder": [ +"projectId", +"accessId" +], +"parameters": { +"accessId": { +"description": "Name of the HMAC key.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Project ID owning the service account of the requested key.", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request.", +"location": "query", +"type": "string" +} +}, +"path": "projects/{projectId}/hmacKeys/{accessId}", +"response": { +"$ref": "HmacKeyMetadata" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only" +] +}, +"list": { +"description": "Retrieves a list of HMAC keys matching the criteria.", +"httpMethod": "GET", +"id": "storage.projects.hmacKeys.list", +"parameterOrder": [ +"projectId" +], +"parameters": { +"maxResults": { +"default": "250", +"description": "Maximum number of items to return in a single page of responses. The service uses this parameter or 250 items, whichever is smaller. The max number of items per page will also be limited by the number of distinct service accounts in the response. If the number of service accounts in a single response is too high, the page will truncated and a next page token will be returned.", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"pageToken": { +"description": "A previously-returned page token representing part of the larger set of results to view.", +"location": "query", +"type": "string" +}, +"projectId": { +"description": "Name of the project in which to look for HMAC keys.", +"location": "path", +"required": true, +"type": "string" +}, +"serviceAccountEmail": { +"description": "If present, only keys for the given service account are returned.", +"location": "query", +"type": "string" +}, +"showDeletedKeys": { +"description": "Whether or not to show keys in the DELETED state.", +"location": "query", +"type": "boolean" +}, +"userProject": { +"description": "The project to be billed for this request.", +"location": "query", +"type": "string" +} +}, +"path": "projects/{projectId}/hmacKeys", +"response": { +"$ref": "HmacKeysMetadata" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only" +] +}, +"update": { +"description": "Updates the state of an HMAC key. See the [HMAC Key resource descriptor](https://cloud.google.com/storage/docs/json_api/v1/projects/hmacKeys/update#request-body) for valid states.", +"httpMethod": "PUT", +"id": "storage.projects.hmacKeys.update", +"parameterOrder": [ +"projectId", +"accessId" +], +"parameters": { +"accessId": { +"description": "Name of the HMAC key being updated.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Project ID owning the service account of the updated key.", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request.", +"location": "query", +"type": "string" +} +}, +"path": "projects/{projectId}/hmacKeys/{accessId}", +"request": { +"$ref": "HmacKeyMetadata" +}, +"response": { +"$ref": "HmacKeyMetadata" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/devstorage.full_control" +] +} +} +}, +"serviceAccount": { +"methods": { +"get": { +"description": "Get the email address of this project's Google Cloud Storage service account.", +"httpMethod": "GET", +"id": "storage.projects.serviceAccount.get", +"parameterOrder": [ +"projectId" +], +"parameters": { +"projectId": { +"description": "Project ID", +"location": "path", +"required": true, +"type": "string" +}, +"userProject": { +"description": "The project to be billed for this request.", +"location": "query", +"type": "string" +} +}, +"path": "projects/{projectId}/serviceAccount", +"response": { +"$ref": "ServiceAccount" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/devstorage.full_control", +"https://www.googleapis.com/auth/devstorage.read_only", +"https://www.googleapis.com/auth/devstorage.read_write" +] +} +} +} +} +} +}, +"revision": "20241206", +"rootUrl": "https://storage.googleapis.com/", +"schemas": { +"AdvanceRelocateBucketOperationRequest": { +"description": "An AdvanceRelocateBucketOperation request.", +"id": "AdvanceRelocateBucketOperationRequest", +"properties": { +"expireTime": { +"description": "Specifies the time when the relocation will revert to the sync stage if the relocation hasn't succeeded.", +"format": "date-time", +"type": "string" +}, +"ttl": { +"description": "Specifies the duration after which the relocation will revert to the sync stage if the relocation hasn't succeeded. Optional, if not supplied, a default value of 12h will be used.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"AnywhereCache": { +"description": "An Anywhere Cache instance.", +"id": "AnywhereCache", +"properties": { +"admissionPolicy": { +"description": "The cache-level entry admission policy.", +"type": "string" +}, +"anywhereCacheId": { +"description": "The ID of the Anywhere cache instance.", +"type": "string" +}, +"bucket": { +"description": "The name of the bucket containing this cache instance.", +"type": "string" +}, +"createTime": { +"description": "The creation time of the cache instance in RFC 3339 format.", +"format": "date-time", +"type": "string" +}, +"id": { +"description": "The ID of the resource, including the project number, bucket name and anywhere cache ID.", +"type": "string" +}, +"kind": { +"default": "storage#anywhereCache", +"description": "The kind of item this is. For Anywhere Cache, this is always storage#anywhereCache.", +"type": "string" +}, +"pendingUpdate": { +"description": "True if the cache instance has an active Update long-running operation.", +"type": "boolean" +}, +"selfLink": { +"description": "The link to this cache instance.", +"type": "string" +}, +"state": { +"description": "The current state of the cache instance.", +"type": "string" +}, +"ttl": { +"description": "The TTL of all cache entries in whole seconds. e.g., \"7200s\". ", +"format": "google-duration", +"type": "string" +}, +"updateTime": { +"description": "The modification time of the cache instance metadata in RFC 3339 format.", +"format": "date-time", +"type": "string" +}, +"zone": { +"description": "The zone in which the cache instance is running. For example, us-central1-a.", +"type": "string" +} +}, +"type": "object" +}, +"AnywhereCaches": { +"description": "A list of Anywhere Caches.", +"id": "AnywhereCaches", +"properties": { +"items": { +"description": "The list of items.", +"items": { +"$ref": "AnywhereCache" +}, +"type": "array" +}, +"kind": { +"default": "storage#anywhereCaches", +"description": "The kind of item this is. For lists of Anywhere Caches, this is always storage#anywhereCaches.", +"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" +}, +"Bucket": { +"description": "A bucket.", +"id": "Bucket", +"properties": { +"acl": { +"annotations": { +"required": [ +"storage.buckets.update" +] +}, +"description": "Access controls on the bucket.", +"items": { +"$ref": "BucketAccessControl" +}, +"type": "array" +}, +"autoclass": { +"description": "The bucket's Autoclass configuration.", +"properties": { +"enabled": { +"description": "Whether or not Autoclass is enabled on this bucket", +"type": "boolean" +}, +"terminalStorageClass": { +"description": "The storage class that objects in the bucket eventually transition to if they are not read for a certain length of time. Valid values are NEARLINE and ARCHIVE.", +"type": "string" +}, +"terminalStorageClassUpdateTime": { +"description": "A date and time in RFC 3339 format representing the time of the most recent update to \"terminalStorageClass\".", +"format": "date-time", +"type": "string" +}, +"toggleTime": { +"description": "A date and time in RFC 3339 format representing the instant at which \"enabled\" was last toggled.", +"format": "date-time", +"type": "string" +} +}, +"type": "object" +}, +"billing": { +"description": "The bucket's billing configuration.", +"properties": { +"requesterPays": { +"description": "When set to true, Requester Pays is enabled for this bucket.", +"type": "boolean" +} +}, +"type": "object" +}, +"cors": { +"description": "The bucket's Cross-Origin Resource Sharing (CORS) configuration.", +"items": { +"properties": { +"maxAgeSeconds": { +"description": "The value, in seconds, to return in the Access-Control-Max-Age header used in preflight responses.", +"format": "int32", +"type": "integer" +}, +"method": { +"description": "The list of HTTP methods on which to include CORS response headers, (GET, OPTIONS, POST, etc) Note: \"*\" is permitted in the list of methods, and means \"any method\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"origin": { +"description": "The list of Origins eligible to receive CORS response headers. Note: \"*\" is permitted in the list of origins, and means \"any Origin\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"responseHeader": { +"description": "The list of HTTP headers other than the simple response headers to give permission for the user-agent to share across domains.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"type": "array" +}, +"customPlacementConfig": { +"description": "The bucket's custom placement configuration for Custom Dual Regions.", +"properties": { +"dataLocations": { +"description": "The list of regional locations in which data is placed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"defaultEventBasedHold": { +"description": "The default value for event-based hold on newly created objects in this bucket. Event-based hold is a way to retain objects indefinitely until an event occurs, signified by the hold's release. After being released, such objects will be subject to bucket-level retention (if any). One sample use case of this flag is for banks to hold loan documents for at least 3 years after loan is paid in full. Here, bucket-level retention is 3 years and the event is loan being paid in full. In this example, these objects will be held intact for any number of years until the event has occurred (event-based hold on the object is released) and then 3 more years after that. That means retention duration of the objects begins from the moment event-based hold transitioned from true to false. Objects under event-based hold cannot be deleted, overwritten or archived until the hold is removed.", +"type": "boolean" +}, +"defaultObjectAcl": { +"description": "Default access controls to apply to new objects when no ACL is provided.", +"items": { +"$ref": "ObjectAccessControl" +}, +"type": "array" +}, +"encryption": { +"description": "Encryption configuration for a bucket.", +"properties": { +"defaultKmsKeyName": { +"description": "A Cloud KMS key that will be used to encrypt objects inserted into this bucket, if no encryption method is specified.", +"type": "string" +} +}, +"type": "object" +}, +"etag": { +"description": "HTTP 1.1 Entity tag for the bucket.", +"type": "string" +}, +"generation": { +"description": "The generation of this bucket.", +"format": "int64", +"type": "string" +}, +"hardDeleteTime": { +"description": "The hard delete time of the bucket in RFC 3339 format.", +"format": "date-time", +"type": "string" +}, +"hierarchicalNamespace": { +"description": "The bucket's hierarchical namespace configuration.", +"properties": { +"enabled": { +"description": "When set to true, hierarchical namespace is enabled for this bucket.", +"type": "boolean" +} +}, +"type": "object" +}, +"iamConfiguration": { +"description": "The bucket's IAM configuration.", +"properties": { +"bucketPolicyOnly": { +"description": "The bucket's uniform bucket-level access configuration. The feature was formerly known as Bucket Policy Only. For backward compatibility, this field will be populated with identical information as the uniformBucketLevelAccess field. We recommend using the uniformBucketLevelAccess field to enable and disable the feature.", +"properties": { +"enabled": { +"description": "If set, access is controlled only by bucket-level or above IAM policies.", +"type": "boolean" +}, +"lockedTime": { +"description": "The deadline for changing iamConfiguration.bucketPolicyOnly.enabled from true to false in RFC 3339 format. iamConfiguration.bucketPolicyOnly.enabled may be changed from true to false until the locked time, after which the field is immutable.", +"format": "date-time", +"type": "string" +} +}, +"type": "object" +}, +"publicAccessPrevention": { +"description": "The bucket's Public Access Prevention configuration. Currently, 'inherited' and 'enforced' are supported.", +"type": "string" +}, +"uniformBucketLevelAccess": { +"description": "The bucket's uniform bucket-level access configuration.", +"properties": { +"enabled": { +"description": "If set, access is controlled only by bucket-level or above IAM policies.", +"type": "boolean" +}, +"lockedTime": { +"description": "The deadline for changing iamConfiguration.uniformBucketLevelAccess.enabled from true to false in RFC 3339 format. iamConfiguration.uniformBucketLevelAccess.enabled may be changed from true to false until the locked time, after which the field is immutable.", +"format": "date-time", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"id": { +"description": "The ID of the bucket. For buckets, the id and name properties are the same.", +"type": "string" +}, +"ipFilter": { +"description": "The bucket's IP filter configuration. Specifies the network sources that are allowed to access the operations on the bucket, as well as its underlying objects. Only enforced when the mode is set to 'Enabled'.", +"properties": { +"mode": { +"description": "The mode of the IP filter. Valid values are 'Enabled' and 'Disabled'.", +"type": "string" +}, +"publicNetworkSource": { +"description": "The public network source of the bucket's IP filter.", +"properties": { +"allowedIpCidrRanges": { +"description": "The list of public IPv4, IPv6 cidr ranges that are allowed to access the bucket.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"vpcNetworkSources": { +"description": "The list of [VPC network](https://cloud.google.com/vpc/docs/vpc) sources of the bucket's IP filter.", +"items": { +"properties": { +"allowedIpCidrRanges": { +"description": "The list of IPv4, IPv6 cidr ranges subnetworks that are allowed to access the bucket.", +"items": { +"type": "string" +}, +"type": "array" +}, +"network": { +"description": "Name of the network. Format: projects/{PROJECT_ID}/global/networks/{NETWORK_NAME}", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"kind": { +"default": "storage#bucket", +"description": "The kind of item this is. For buckets, this is always storage#bucket.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"description": "An individual label entry.", +"type": "string" +}, +"description": "User-provided labels, in key/value pairs.", +"type": "object" +}, +"lifecycle": { +"description": "The bucket's lifecycle configuration. See [Lifecycle Management](https://cloud.google.com/storage/docs/lifecycle) for more information.", +"properties": { +"rule": { +"description": "A lifecycle management rule, which is made of an action to take and the condition(s) under which the action will be taken.", +"items": { +"properties": { +"action": { +"description": "The action to take.", +"properties": { +"storageClass": { +"description": "Target storage class. Required iff the type of the action is SetStorageClass.", +"type": "string" +}, +"type": { +"description": "Type of the action. Currently, only Delete, SetStorageClass, and AbortIncompleteMultipartUpload are supported.", +"type": "string" +} +}, +"type": "object" +}, +"condition": { +"description": "The condition(s) under which the action will be taken.", +"properties": { +"age": { +"description": "Age of an object (in days). This condition is satisfied when an object reaches the specified age.", +"format": "int32", +"type": "integer" +}, +"createdBefore": { +"description": "A date in RFC 3339 format with only the date part (for instance, \"2013-01-15\"). This condition is satisfied when an object is created before midnight of the specified date in UTC.", +"format": "date", +"type": "string" +}, +"customTimeBefore": { +"description": "A date in RFC 3339 format with only the date part (for instance, \"2013-01-15\"). This condition is satisfied when the custom time on an object is before this date in UTC.", +"format": "date", +"type": "string" +}, +"daysSinceCustomTime": { +"description": "Number of days elapsed since the user-specified timestamp set on an object. The condition is satisfied if the days elapsed is at least this number. If no custom timestamp is specified on an object, the condition does not apply.", +"format": "int32", +"type": "integer" +}, +"daysSinceNoncurrentTime": { +"description": "Number of days elapsed since the noncurrent timestamp of an object. The condition is satisfied if the days elapsed is at least this number. This condition is relevant only for versioned objects. The value of the field must be a nonnegative integer. If it's zero, the object version will become eligible for Lifecycle action as soon as it becomes noncurrent.", +"format": "int32", +"type": "integer" +}, +"isLive": { +"description": "Relevant only for versioned objects. If the value is true, this condition matches live objects; if the value is false, it matches archived objects.", +"type": "boolean" +}, +"matchesPattern": { +"description": "A regular expression that satisfies the RE2 syntax. This condition is satisfied when the name of the object matches the RE2 pattern. Note: This feature is currently in the \"Early Access\" launch stage and is only available to a whitelisted set of users; that means that this feature may be changed in backward-incompatible ways and that it is not guaranteed to be released.", +"type": "string" +}, +"matchesPrefix": { +"description": "List of object name prefixes. This condition will be satisfied when at least one of the prefixes exactly matches the beginning of the object name.", +"items": { +"type": "string" +}, +"type": "array" +}, +"matchesStorageClass": { +"description": "Objects having any of the storage classes specified by this condition will be matched. Values include MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, ARCHIVE, STANDARD, and DURABLE_REDUCED_AVAILABILITY.", +"items": { +"type": "string" +}, +"type": "array" +}, +"matchesSuffix": { +"description": "List of object name suffixes. This condition will be satisfied when at least one of the suffixes exactly matches the end of the object name.", +"items": { +"type": "string" +}, +"type": "array" +}, +"noncurrentTimeBefore": { +"description": "A date in RFC 3339 format with only the date part (for instance, \"2013-01-15\"). This condition is satisfied when the noncurrent time on an object is before this date in UTC. This condition is relevant only for versioned objects.", +"format": "date", +"type": "string" +}, +"numNewerVersions": { +"description": "Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"location": { +"description": "The location of the bucket. Object data for objects in the bucket resides in physical storage within this region. Defaults to US. See the [Developer's Guide](https://cloud.google.com/storage/docs/locations) for the authoritative list.", +"type": "string" +}, +"locationType": { +"description": "The type of the bucket location.", +"type": "string" +}, +"logging": { +"description": "The bucket's logging configuration, which defines the destination bucket and optional name prefix for the current bucket's logs.", +"properties": { +"logBucket": { +"description": "The destination bucket where the current bucket's logs should be placed.", +"type": "string" +}, +"logObjectPrefix": { +"description": "A prefix for log object names.", +"type": "string" +} +}, +"type": "object" +}, +"metageneration": { +"description": "The metadata generation of this bucket.", +"format": "int64", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"storage.buckets.insert" +] +}, +"description": "The name of the bucket.", +"type": "string" +}, +"objectRetention": { +"description": "The bucket's object retention config.", +"properties": { +"mode": { +"description": "The bucket's object retention mode. Can be Enabled.", +"type": "string" +} +}, +"type": "object" +}, +"owner": { +"description": "The owner of the bucket. This is always the project team's owner group.", +"properties": { +"entity": { +"description": "The entity, in the form project-owner-projectId.", +"type": "string" +}, +"entityId": { +"description": "The ID for the entity.", +"type": "string" +} +}, +"type": "object" +}, +"projectNumber": { +"description": "The project number of the project the bucket belongs to.", +"format": "uint64", +"type": "string" +}, +"retentionPolicy": { +"description": "The bucket's retention policy. The retention policy enforces a minimum retention time for all objects contained in the bucket, based on their creation time. Any attempt to overwrite or delete objects younger than the retention period will result in a PERMISSION_DENIED error. An unlocked retention policy can be modified or removed from the bucket via a storage.buckets.update operation. A locked retention policy cannot be removed or shortened in duration for the lifetime of the bucket. Attempting to remove or decrease period of a locked retention policy will result in a PERMISSION_DENIED error.", +"properties": { +"effectiveTime": { +"description": "Server-determined value that indicates the time from which policy was enforced and effective. This value is in RFC 3339 format.", +"format": "date-time", +"type": "string" +}, +"isLocked": { +"description": "Once locked, an object retention policy cannot be modified.", +"type": "boolean" +}, +"retentionPeriod": { +"description": "The duration in seconds that objects need to be retained. Retention duration must be greater than zero and less than 100 years. Note that enforcement of retention periods less than a day is not guaranteed. Such periods should only be used for testing purposes.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"rpo": { +"description": "The Recovery Point Objective (RPO) of this bucket. Set to ASYNC_TURBO to turn on Turbo Replication on a bucket.", +"type": "string" +}, +"satisfiesPZI": { +"description": "Reserved for future use.", +"type": "boolean" +}, +"satisfiesPZS": { +"description": "Reserved for future use.", +"type": "boolean" +}, +"selfLink": { +"description": "The URI of this bucket.", +"type": "string" +}, +"softDeletePolicy": { +"description": "The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot be permanently deleted.", +"properties": { +"effectiveTime": { +"description": "Server-determined value that indicates the time from which the policy, or one with a greater retention, was effective. This value is in RFC 3339 format.", +"format": "date-time", +"type": "string" +}, +"retentionDurationSeconds": { +"description": "The duration in seconds that soft-deleted objects in the bucket will be retained and cannot be permanently deleted.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"softDeleteTime": { +"description": "The soft delete time of the bucket in RFC 3339 format.", +"format": "date-time", +"type": "string" +}, +"storageClass": { +"description": "The bucket's default storage class, used whenever no storageClass is specified for a newly-created object. This defines how objects in the bucket are stored and determines the SLA and the cost of storage. Values include MULTI_REGIONAL, REGIONAL, STANDARD, NEARLINE, COLDLINE, ARCHIVE, and DURABLE_REDUCED_AVAILABILITY. If this value is not specified when the bucket is created, it will default to STANDARD. For more information, see [Storage Classes](https://cloud.google.com/storage/docs/storage-classes).", +"type": "string" +}, +"timeCreated": { +"description": "The creation time of the bucket in RFC 3339 format.", +"format": "date-time", +"type": "string" +}, +"updated": { +"description": "The modification time of the bucket in RFC 3339 format.", +"format": "date-time", +"type": "string" +}, +"versioning": { +"description": "The bucket's versioning configuration.", +"properties": { +"enabled": { +"description": "While set to true, versioning is fully enabled for this bucket.", +"type": "boolean" +} +}, +"type": "object" +}, +"website": { +"description": "The bucket's website configuration, controlling how the service behaves when accessing bucket contents as a web site. See the [Static Website Examples](https://cloud.google.com/storage/docs/static-website) for more information.", +"properties": { +"mainPageSuffix": { +"description": "If the requested object path is missing, the service will ensure the path has a trailing '/', append this suffix, and attempt to retrieve the resulting object. This allows the creation of index.html objects to represent directory pages.", +"type": "string" +}, +"notFoundPage": { +"description": "If the requested object path is missing, and any mainPageSuffix object is missing, if applicable, the service will return the named object from this bucket as the content for a 404 Not Found result.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"BucketAccessControl": { +"description": "An access-control entry.", +"id": "BucketAccessControl", +"properties": { +"bucket": { +"description": "The name of the bucket.", +"type": "string" +}, +"domain": { +"description": "The domain associated with the entity, if any.", +"type": "string" +}, +"email": { +"description": "The email address associated with the entity, if any.", +"type": "string" +}, +"entity": { +"annotations": { +"required": [ +"storage.bucketAccessControls.insert" +] +}, +"description": "The entity holding the permission, in one of the following forms: \n- user-userId \n- user-email \n- group-groupId \n- group-email \n- domain-domain \n- project-team-projectId \n- allUsers \n- allAuthenticatedUsers Examples: \n- The user liz@example.com would be user-liz@example.com. \n- The group example@googlegroups.com would be group-example@googlegroups.com. \n- To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.", +"type": "string" +}, +"entityId": { +"description": "The ID for the entity, if any.", +"type": "string" +}, +"etag": { +"description": "HTTP 1.1 Entity tag for the access-control entry.", +"type": "string" +}, +"id": { +"description": "The ID of the access-control entry.", +"type": "string" +}, +"kind": { +"default": "storage#bucketAccessControl", +"description": "The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.", +"type": "string" +}, +"projectTeam": { +"description": "The project team associated with the entity, if any.", +"properties": { +"projectNumber": { +"description": "The project number.", +"type": "string" +}, +"team": { +"description": "The team.", +"type": "string" +} +}, +"type": "object" +}, +"role": { +"annotations": { +"required": [ +"storage.bucketAccessControls.insert" +] +}, +"description": "The access permission for the entity.", +"type": "string" +}, +"selfLink": { +"description": "The link to this access-control entry.", +"type": "string" +} +}, +"type": "object" +}, +"BucketAccessControls": { +"description": "An access-control list.", +"id": "BucketAccessControls", +"properties": { +"items": { +"description": "The list of items.", +"items": { +"$ref": "BucketAccessControl" +}, +"type": "array" +}, +"kind": { +"default": "storage#bucketAccessControls", +"description": "The kind of item this is. For lists of bucket access control entries, this is always storage#bucketAccessControls.", +"type": "string" +} +}, +"type": "object" +}, +"BucketStorageLayout": { +"description": "The storage layout configuration of a bucket.", +"id": "BucketStorageLayout", +"properties": { +"bucket": { +"description": "The name of the bucket.", +"type": "string" +}, +"customPlacementConfig": { +"description": "The bucket's custom placement configuration for Custom Dual Regions.", +"properties": { +"dataLocations": { +"description": "The list of regional locations in which data is placed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"hierarchicalNamespace": { +"description": "The bucket's hierarchical namespace configuration.", +"properties": { +"enabled": { +"description": "When set to true, hierarchical namespace is enabled for this bucket.", +"type": "boolean" +} +}, +"type": "object" +}, +"kind": { +"default": "storage#storageLayout", +"description": "The kind of item this is. For storage layout, this is always storage#storageLayout.", +"type": "string" +}, +"location": { +"description": "The location of the bucket.", +"type": "string" +}, +"locationType": { +"description": "The type of the bucket location.", +"type": "string" +} +}, +"type": "object" +}, +"Buckets": { +"description": "A list of buckets.", +"id": "Buckets", +"properties": { +"items": { +"description": "The list of items.", +"items": { +"$ref": "Bucket" +}, +"type": "array" +}, +"kind": { +"default": "storage#buckets", +"description": "The kind of item this is. For lists of buckets, this is always storage#buckets.", +"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" +}, +"BulkRestoreObjectsRequest": { +"description": "A bulk restore objects request.", +"id": "BulkRestoreObjectsRequest", +"properties": { +"allowOverwrite": { +"description": "If false (default), the restore will not overwrite live objects with the same name at the destination. This means some deleted objects may be skipped. If true, live objects will be overwritten resulting in a noncurrent object (if versioning is enabled). If versioning is not enabled, overwriting the object will result in a soft-deleted object. In either case, if a noncurrent object already exists with the same name, a live version can be written without issue.", +"type": "boolean" +}, +"copySourceAcl": { +"description": "If true, copies the source object's ACL; otherwise, uses the bucket's default object ACL. The default is false.", +"type": "boolean" +}, +"matchGlobs": { +"description": "Restores only the objects matching any of the specified glob(s). If this parameter is not specified, all objects will be restored within the specified time range.", +"items": { +"type": "string" +}, +"type": "array" +}, +"softDeletedAfterTime": { +"description": "Restores only the objects that were soft-deleted after this time.", +"format": "date-time", +"type": "string" +}, +"softDeletedBeforeTime": { +"description": "Restores only the objects that were soft-deleted before this time.", +"format": "date-time", +"type": "string" +} +}, +"type": "object" +}, +"Channel": { +"description": "An notification channel used to watch for resource changes.", +"id": "Channel", +"properties": { +"address": { +"description": "The address where notifications are delivered for this channel.", +"type": "string" +}, +"expiration": { +"description": "Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.", +"format": "int64", +"type": "string" +}, +"id": { +"description": "A UUID or similar unique string that identifies this channel.", +"type": "string" +}, +"kind": { +"default": "api#channel", +"description": "Identifies this as a notification channel used to watch for changes to a resource, which is \"api#channel\".", +"type": "string" +}, +"params": { +"additionalProperties": { +"description": "Declares a new parameter by name.", +"type": "string" +}, +"description": "Additional parameters controlling delivery channel behavior. Optional.", +"type": "object" +}, +"payload": { +"description": "A Boolean value to indicate whether payload is wanted. Optional.", +"type": "boolean" +}, +"resourceId": { +"description": "An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.", +"type": "string" +}, +"resourceUri": { +"description": "A version-specific identifier for the watched resource.", +"type": "string" +}, +"token": { +"description": "An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.", +"type": "string" +}, +"type": { +"description": "The type of delivery mechanism used for this channel.", +"type": "string" +} +}, +"type": "object" +}, +"ComposeRequest": { +"description": "A Compose request.", +"id": "ComposeRequest", +"properties": { +"destination": { +"$ref": "Object", +"description": "Properties of the resulting object." +}, +"kind": { +"default": "storage#composeRequest", +"description": "The kind of item this is.", +"type": "string" +}, +"sourceObjects": { +"annotations": { +"required": [ +"storage.objects.compose" +] +}, +"description": "The list of source objects that will be concatenated into a single object.", +"items": { +"properties": { +"generation": { +"description": "The generation of this object to use as the source.", +"format": "int64", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"storage.objects.compose" +] +}, +"description": "The source object's name. All source objects must reside in the same bucket.", +"type": "string" +}, +"objectPreconditions": { +"description": "Conditions that must be met for this operation to execute.", +"properties": { +"ifGenerationMatch": { +"description": "Only perform the composition if the generation of the source object that would be used matches this value. If this value and a generation are both specified, they must be the same value or the call will fail.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"Expr": { +"description": "Represents an expression text. Example: title: \"User account presence\" description: \"Determines whether the request has a user account\" expression: \"size(request.user) > 0\"", +"id": "Expr", +"properties": { +"description": { +"description": "An 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. The application context of the containing message determines which well-known feature set of CEL is supported.", +"type": "string" +}, +"location": { +"description": "An 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": "An 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. Only available in buckets with hierarchical namespace enabled.", +"id": "Folder", +"properties": { +"bucket": { +"description": "The name of the bucket containing this folder.", +"type": "string" +}, +"createTime": { +"description": "The creation time of the folder in RFC 3339 format.", +"format": "date-time", +"type": "string" +}, +"id": { +"description": "The ID of the folder, including the bucket name, folder name.", +"type": "string" +}, +"kind": { +"default": "storage#folder", +"description": "The kind of item this is. For folders, this is always storage#folder.", +"type": "string" +}, +"metageneration": { +"description": "The version of the metadata for this folder. Used for preconditions and for detecting changes in metadata.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "The name of the folder. Required if not specified by URL parameter.", +"type": "string" +}, +"pendingRenameInfo": { +"description": "Only present if the folder is part of an ongoing rename folder operation. Contains information which can be used to query the operation status.", +"properties": { +"operationId": { +"description": "The ID of the rename folder operation.", +"type": "string" +} +}, +"type": "object" +}, +"selfLink": { +"description": "The link to this folder.", +"type": "string" +}, +"updateTime": { +"description": "The modification time of the folder metadata in RFC 3339 format.", +"format": "date-time", +"type": "string" +} +}, +"type": "object" +}, +"Folders": { +"description": "A list of folders.", +"id": "Folders", +"properties": { +"items": { +"description": "The list of items.", +"items": { +"$ref": "Folder" +}, +"type": "array" +}, +"kind": { +"default": "storage#folders", +"description": "The kind of item this is. For lists of folders, this is always storage#folders.", +"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" +}, +"GoogleLongrunningListOperationsResponse": { +"description": "The response message for storage.buckets.operations.list.", +"id": "GoogleLongrunningListOperationsResponse", +"properties": { +"kind": { +"default": "storage#operations", +"description": "The kind of item this is. For lists of operations, this is always storage#operations.", +"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" +}, +"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." +}, +"kind": { +"default": "storage#operation", +"description": "The kind of item this is. For operations, this is always storage#operation.", +"type": "string" +}, +"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/{operationId}\".", +"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" +}, +"selfLink": { +"description": "The link to this long running operation.", +"type": "string" +} +}, +"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.", +"type": "string" +} +}, +"type": "object" +}, +"HmacKey": { +"description": "JSON template to produce a JSON-style HMAC Key resource for Create responses.", +"id": "HmacKey", +"properties": { +"kind": { +"default": "storage#hmacKey", +"description": "The kind of item this is. For HMAC keys, this is always storage#hmacKey.", +"type": "string" +}, +"metadata": { +"$ref": "HmacKeyMetadata", +"description": "Key metadata." +}, +"secret": { +"description": "HMAC secret key material.", +"type": "string" +} +}, +"type": "object" +}, +"HmacKeyMetadata": { +"description": "JSON template to produce a JSON-style HMAC Key metadata resource.", +"id": "HmacKeyMetadata", +"properties": { +"accessId": { +"description": "The ID of the HMAC Key.", +"type": "string" +}, +"etag": { +"description": "HTTP 1.1 Entity tag for the HMAC key.", +"type": "string" +}, +"id": { +"description": "The ID of the HMAC key, including the Project ID and the Access ID.", +"type": "string" +}, +"kind": { +"default": "storage#hmacKeyMetadata", +"description": "The kind of item this is. For HMAC Key metadata, this is always storage#hmacKeyMetadata.", +"type": "string" +}, +"projectId": { +"description": "Project ID owning the service account to which the key authenticates.", +"type": "string" +}, +"selfLink": { +"description": "The link to this resource.", +"type": "string" +}, +"serviceAccountEmail": { +"description": "The email address of the key's associated service account.", +"type": "string" +}, +"state": { +"description": "The state of the key. Can be one of ACTIVE, INACTIVE, or DELETED.", +"type": "string" +}, +"timeCreated": { +"description": "The creation time of the HMAC key in RFC 3339 format.", +"format": "date-time", +"type": "string" +}, +"updated": { +"description": "The last modification time of the HMAC key metadata in RFC 3339 format.", +"format": "date-time", +"type": "string" +} +}, +"type": "object" +}, +"HmacKeysMetadata": { +"description": "A list of hmacKeys.", +"id": "HmacKeysMetadata", +"properties": { +"items": { +"description": "The list of items.", +"items": { +"$ref": "HmacKeyMetadata" +}, +"type": "array" +}, +"kind": { +"default": "storage#hmacKeysMetadata", +"description": "The kind of item this is. For lists of hmacKeys, this is always storage#hmacKeysMetadata.", +"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" +}, +"ManagedFolder": { +"description": "A managed folder.", +"id": "ManagedFolder", +"properties": { +"bucket": { +"description": "The name of the bucket containing this managed folder.", +"type": "string" +}, +"createTime": { +"description": "The creation time of the managed folder in RFC 3339 format.", +"format": "date-time", +"type": "string" +}, +"id": { +"description": "The ID of the managed folder, including the bucket name and managed folder name.", +"type": "string" +}, +"kind": { +"default": "storage#managedFolder", +"description": "The kind of item this is. For managed folders, this is always storage#managedFolder.", +"type": "string" +}, +"metageneration": { +"description": "The version of the metadata for this managed folder. Used for preconditions and for detecting changes in metadata.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "The name of the managed folder. Required if not specified by URL parameter.", +"type": "string" +}, +"selfLink": { +"description": "The link to this managed folder.", +"type": "string" +}, +"updateTime": { +"description": "The last update time of the managed folder metadata in RFC 3339 format.", +"format": "date-time", +"type": "string" +} +}, +"type": "object" +}, +"ManagedFolders": { +"description": "A list of managed folders.", +"id": "ManagedFolders", +"properties": { +"items": { +"description": "The list of items.", +"items": { +"$ref": "ManagedFolder" +}, +"type": "array" +}, +"kind": { +"default": "storage#managedFolders", +"description": "The kind of item this is. For lists of managed folders, this is always storage#managedFolders.", +"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" +}, +"Notification": { +"description": "A subscription to receive Google PubSub notifications.", +"id": "Notification", +"properties": { +"custom_attributes": { +"additionalProperties": { +"type": "string" +}, +"description": "An optional list of additional attributes to attach to each Cloud PubSub message published for this notification subscription.", +"type": "object" +}, +"etag": { +"description": "HTTP 1.1 Entity tag for this subscription notification.", +"type": "string" +}, +"event_types": { +"description": "If present, only send notifications about listed event types. If empty, sent notifications for all event types.", +"items": { +"type": "string" +}, +"type": "array" +}, +"id": { +"description": "The ID of the notification.", +"type": "string" +}, +"kind": { +"default": "storage#notification", +"description": "The kind of item this is. For notifications, this is always storage#notification.", +"type": "string" +}, +"object_name_prefix": { +"description": "If present, only apply this notification configuration to object names that begin with this prefix.", +"type": "string" +}, +"payload_format": { +"annotations": { +"required": [ +"storage.notifications.insert" +] +}, +"default": "JSON_API_V1", +"description": "The desired content of the Payload.", +"type": "string" +}, +"selfLink": { +"description": "The canonical URL of this notification.", +"type": "string" +}, +"topic": { +"annotations": { +"required": [ +"storage.notifications.insert" +] +}, +"description": "The Cloud PubSub topic to which this subscription publishes. Formatted as: '//pubsub.googleapis.com/projects/{project-identifier}/topics/{my-topic}'", +"type": "string" +} +}, +"type": "object" +}, +"Notifications": { +"description": "A list of notification subscriptions.", +"id": "Notifications", +"properties": { +"items": { +"description": "The list of items.", +"items": { +"$ref": "Notification" +}, +"type": "array" +}, +"kind": { +"default": "storage#notifications", +"description": "The kind of item this is. For lists of notifications, this is always storage#notifications.", +"type": "string" +} +}, +"type": "object" +}, +"Object": { +"description": "An object.", +"id": "Object", +"properties": { +"acl": { +"annotations": { +"required": [ +"storage.objects.update" +] +}, +"description": "Access controls on the object.", +"items": { +"$ref": "ObjectAccessControl" +}, +"type": "array" +}, +"bucket": { +"description": "The name of the bucket containing this object.", +"type": "string" +}, +"cacheControl": { +"description": "Cache-Control directive for the object data. If omitted, and the object is accessible to all anonymous users, the default will be public, max-age=3600.", +"type": "string" +}, +"componentCount": { +"description": "Number of underlying components that make up this object. Components are accumulated by compose operations.", +"format": "int32", +"type": "integer" +}, +"contentDisposition": { +"description": "Content-Disposition of the object data.", +"type": "string" +}, +"contentEncoding": { +"description": "Content-Encoding of the object data.", +"type": "string" +}, +"contentLanguage": { +"description": "Content-Language of the object data.", +"type": "string" +}, +"contentType": { +"description": "Content-Type of the object data. If an object is stored without a Content-Type, it is served as application/octet-stream.", +"type": "string" +}, +"crc32c": { +"description": "CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64 in big-endian byte order. For more information about using the CRC32c checksum, see [Data Validation and Change Detection](https://cloud.google.com/storage/docs/data-validation).", +"type": "string" +}, +"customTime": { +"description": "A timestamp in RFC 3339 format specified by the user for an object.", +"format": "date-time", +"type": "string" +}, +"customerEncryption": { +"description": "Metadata of customer-supplied encryption key, if the object is encrypted by such a key.", +"properties": { +"encryptionAlgorithm": { +"description": "The encryption algorithm.", +"type": "string" +}, +"keySha256": { +"description": "SHA256 hash value of the encryption key.", +"type": "string" +} +}, +"type": "object" +}, +"etag": { +"description": "HTTP 1.1 Entity tag for the object.", +"type": "string" +}, +"eventBasedHold": { +"description": "Whether an object is under event-based hold. Event-based hold is a way to retain objects until an event occurs, which is signified by the hold's release (i.e. this value is set to false). After being released (set to false), such objects will be subject to bucket-level retention (if any). One sample use case of this flag is for banks to hold loan documents for at least 3 years after loan is paid in full. Here, bucket-level retention is 3 years and the event is the loan being paid in full. In this example, these objects will be held intact for any number of years until the event has occurred (event-based hold on the object is released) and then 3 more years after that. That means retention duration of the objects begins from the moment event-based hold transitioned from true to false.", +"type": "boolean" +}, +"generation": { +"description": "The content generation of this object. Used for object versioning.", +"format": "int64", +"type": "string" +}, +"hardDeleteTime": { +"description": "This is the time (in the future) when the soft-deleted object will no longer be restorable. It is equal to the soft delete time plus the current soft delete retention duration of the bucket.", +"format": "date-time", +"type": "string" +}, +"id": { +"description": "The ID of the object, including the bucket name, object name, and generation number.", +"type": "string" +}, +"kind": { +"default": "storage#object", +"description": "The kind of item this is. For objects, this is always storage#object.", +"type": "string" +}, +"kmsKeyName": { +"description": "Not currently supported. Specifying the parameter causes the request to fail with status code 400 - Bad Request.", +"type": "string" +}, +"md5Hash": { +"description": "MD5 hash of the data; encoded using base64. For more information about using the MD5 hash, see [Data Validation and Change Detection](https://cloud.google.com/storage/docs/data-validation).", +"type": "string" +}, +"mediaLink": { +"description": "Media download link.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "An individual metadata entry.", +"type": "string" +}, +"description": "User-provided metadata, in key/value pairs.", +"type": "object" +}, +"metageneration": { +"description": "The version of the metadata for this object at this generation. Used for preconditions and for detecting changes in metadata. A metageneration number is only meaningful in the context of a particular generation of a particular object.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "The name of the object. Required if not specified by URL parameter.", +"type": "string" +}, +"owner": { +"description": "The owner of the object. This will always be the uploader of the object.", +"properties": { +"entity": { +"description": "The entity, in the form user-userId.", +"type": "string" +}, +"entityId": { +"description": "The ID for the entity.", +"type": "string" +} +}, +"type": "object" +}, +"restoreToken": { +"description": "Restore token used to differentiate deleted objects with the same name and generation. This field is only returned for deleted objects in hierarchical namespace buckets.", +"type": "string" +}, +"retention": { +"description": "A collection of object level retention parameters.", +"properties": { +"mode": { +"description": "The bucket's object retention mode, can only be Unlocked or Locked.", +"type": "string" +}, +"retainUntilTime": { +"description": "A time in RFC 3339 format until which object retention protects this object.", +"format": "date-time", +"type": "string" +} +}, +"type": "object" +}, +"retentionExpirationTime": { +"description": "A server-determined value that specifies the earliest time that the object's retention period expires. This value is in RFC 3339 format. Note 1: This field is not provided for objects with an active event-based hold, since retention expiration is unknown until the hold is removed. Note 2: This value can be provided even when temporary hold is set (so that the user can reason about policy without having to first unset the temporary hold).", +"format": "date-time", +"type": "string" +}, +"selfLink": { +"description": "The link to this object.", +"type": "string" +}, +"size": { +"description": "Content-Length of the data in bytes.", +"format": "uint64", +"type": "string" +}, +"softDeleteTime": { +"description": "The time at which the object became soft-deleted in RFC 3339 format.", +"format": "date-time", +"type": "string" +}, +"storageClass": { +"description": "Storage class of the object.", +"type": "string" +}, +"temporaryHold": { +"description": "Whether an object is under temporary hold. While this flag is set to true, the object is protected against deletion and overwrites. A common use case of this flag is regulatory investigations where objects need to be retained while the investigation is ongoing. Note that unlike event-based hold, temporary hold does not impact retention expiration time of an object.", +"type": "boolean" +}, +"timeCreated": { +"description": "The creation time of the object in RFC 3339 format.", +"format": "date-time", +"type": "string" +}, +"timeDeleted": { +"description": "The time at which the object became noncurrent in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.", +"format": "date-time", +"type": "string" +}, +"timeFinalized": { +"description": "The time when the object was finalized.", +"format": "date-time", +"type": "string" +}, +"timeStorageClassUpdated": { +"description": "The time at which the object's storage class was last changed. When the object is initially created, it will be set to timeCreated.", +"format": "date-time", +"type": "string" +}, +"updated": { +"description": "The modification time of the object metadata in RFC 3339 format. Set initially to object creation time and then updated whenever any metadata of the object changes. This includes changes made by a requester, such as modifying custom metadata, as well as changes made by Cloud Storage on behalf of a requester, such as changing the storage class based on an Object Lifecycle Configuration.", +"format": "date-time", +"type": "string" +} +}, +"type": "object" +}, +"ObjectAccessControl": { +"description": "An access-control entry.", +"id": "ObjectAccessControl", +"properties": { +"bucket": { +"description": "The name of the bucket.", +"type": "string" +}, +"domain": { +"description": "The domain associated with the entity, if any.", +"type": "string" +}, +"email": { +"description": "The email address associated with the entity, if any.", +"type": "string" +}, +"entity": { +"annotations": { +"required": [ +"storage.defaultObjectAccessControls.insert", +"storage.objectAccessControls.insert" +] +}, +"description": "The entity holding the permission, in one of the following forms: \n- user-userId \n- user-email \n- group-groupId \n- group-email \n- domain-domain \n- project-team-projectId \n- allUsers \n- allAuthenticatedUsers Examples: \n- The user liz@example.com would be user-liz@example.com. \n- The group example@googlegroups.com would be group-example@googlegroups.com. \n- To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.", +"type": "string" +}, +"entityId": { +"description": "The ID for the entity, if any.", +"type": "string" +}, +"etag": { +"description": "HTTP 1.1 Entity tag for the access-control entry.", +"type": "string" +}, +"generation": { +"description": "The content generation of the object, if applied to an object.", +"format": "int64", +"type": "string" +}, +"id": { +"description": "The ID of the access-control entry.", +"type": "string" +}, +"kind": { +"default": "storage#objectAccessControl", +"description": "The kind of item this is. For object access control entries, this is always storage#objectAccessControl.", +"type": "string" +}, +"object": { +"description": "The name of the object, if applied to an object.", +"type": "string" +}, +"projectTeam": { +"description": "The project team associated with the entity, if any.", +"properties": { +"projectNumber": { +"description": "The project number.", +"type": "string" +}, +"team": { +"description": "The team.", +"type": "string" +} +}, +"type": "object" +}, +"role": { +"annotations": { +"required": [ +"storage.defaultObjectAccessControls.insert", +"storage.objectAccessControls.insert" +] +}, +"description": "The access permission for the entity.", +"type": "string" +}, +"selfLink": { +"description": "The link to this access-control entry.", +"type": "string" +} +}, +"type": "object" +}, +"ObjectAccessControls": { +"description": "An access-control list.", +"id": "ObjectAccessControls", +"properties": { +"items": { +"description": "The list of items.", +"items": { +"$ref": "ObjectAccessControl" +}, +"type": "array" +}, +"kind": { +"default": "storage#objectAccessControls", +"description": "The kind of item this is. For lists of object access control entries, this is always storage#objectAccessControls.", +"type": "string" +} +}, +"type": "object" +}, +"Objects": { +"description": "A list of objects.", +"id": "Objects", +"properties": { +"items": { +"description": "The list of items.", +"items": { +"$ref": "Object" +}, +"type": "array" +}, +"kind": { +"default": "storage#objects", +"description": "The kind of item this is. For lists of objects, this is always storage#objects.", +"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" +}, +"prefixes": { +"description": "The list of prefixes of objects matching-but-not-listed up to and including the requested delimiter.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Policy": { +"description": "A bucket/object/managedFolder IAM policy.", +"id": "Policy", +"properties": { +"bindings": { +"annotations": { +"required": [ +"storage.buckets.setIamPolicy", +"storage.objects.setIamPolicy", +"storage.managedFolders.setIamPolicy" +] +}, +"description": "An association between a role, which comes with a set of permissions, and members who may assume that role.", +"items": { +"properties": { +"condition": { +"$ref": "Expr", +"description": "The condition that is associated with this binding. NOTE: an unsatisfied condition will not allow user access via current binding. Different bindings, including their conditions, are examined independently." +}, +"members": { +"annotations": { +"required": [ +"storage.buckets.setIamPolicy", +"storage.objects.setIamPolicy", +"storage.managedFolders.setIamPolicy" +] +}, +"description": "A collection of identifiers for members who may assume the provided role. Recognized identifiers are as follows: \n- allUsers \u2014 A special identifier that represents anyone on the internet; with or without a Google account. \n- allAuthenticatedUsers \u2014 A special identifier that represents anyone who is authenticated with a Google account or a service account. \n- user:emailid \u2014 An email address that represents a specific account. For example, user:alice@gmail.com or user:joe@example.com. \n- serviceAccount:emailid \u2014 An email address that represents a service account. For example, serviceAccount:my-other-app@appspot.gserviceaccount.com . \n- group:emailid \u2014 An email address that represents a Google group. For example, group:admins@example.com. \n- domain:domain \u2014 A Google Apps domain name that represents all the users of that domain. For example, domain:google.com or domain:example.com. \n- projectOwner:projectid \u2014 Owners of the given project. For example, projectOwner:my-example-project \n- projectEditor:projectid \u2014 Editors of the given project. For example, projectEditor:my-example-project \n- projectViewer:projectid \u2014 Viewers of the given project. For example, projectViewer:my-example-project", +"items": { +"type": "string" +}, +"type": "array" +}, +"role": { +"annotations": { +"required": [ +"storage.buckets.setIamPolicy", +"storage.objects.setIamPolicy", +"storage.managedFolders.setIamPolicy" +] +}, +"description": "The role to which members belong. Two types of roles are supported: new IAM roles, which grant permissions that do not map directly to those provided by ACLs, and legacy IAM roles, which do map directly to ACL permissions. All roles are of the format roles/storage.specificRole.\nThe new IAM roles are: \n- roles/storage.admin \u2014 Full control of Google Cloud Storage resources. \n- roles/storage.objectViewer \u2014 Read-Only access to Google Cloud Storage objects. \n- roles/storage.objectCreator \u2014 Access to create objects in Google Cloud Storage. \n- roles/storage.objectAdmin \u2014 Full control of Google Cloud Storage objects. The legacy IAM roles are: \n- roles/storage.legacyObjectReader \u2014 Read-only access to objects without listing. Equivalent to an ACL entry on an object with the READER role. \n- roles/storage.legacyObjectOwner \u2014 Read/write access to existing objects without listing. Equivalent to an ACL entry on an object with the OWNER role. \n- roles/storage.legacyBucketReader \u2014 Read access to buckets with object listing. Equivalent to an ACL entry on a bucket with the READER role. \n- roles/storage.legacyBucketWriter \u2014 Read access to buckets with object listing/creation/deletion. Equivalent to an ACL entry on a bucket with the WRITER role. \n- roles/storage.legacyBucketOwner \u2014 Read and write access to existing buckets with object listing/creation/deletion. Equivalent to an ACL entry on a bucket with the OWNER role.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"etag": { +"description": "HTTP 1.1 Entity tag for the policy.", +"format": "byte", +"type": "string" +}, +"kind": { +"default": "storage#policy", +"description": "The kind of item this is. For policies, this is always storage#policy. This field is ignored on input.", +"type": "string" +}, +"resourceId": { +"description": "The ID of the resource to which this policy belongs. Will be of the form projects/_/buckets/bucket for buckets, projects/_/buckets/bucket/objects/object for objects, and projects/_/buckets/bucket/managedFolders/managedFolder. A specific generation may be specified by appending #generationNumber to the end of the object name, e.g. projects/_/buckets/my-bucket/objects/data.txt#17. The current generation can be denoted with #0. This field is ignored on input.", +"type": "string" +}, +"version": { +"description": "The IAM policy format version.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"RelocateBucketRequest": { +"description": "A Relocate Bucket request.", +"id": "RelocateBucketRequest", +"properties": { +"destinationCustomPlacementConfig": { +"description": "The bucket's new custom placement configuration if relocating to a Custom Dual Region.", +"properties": { +"dataLocations": { +"description": "The list of regional locations in which data is placed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"destinationLocation": { +"description": "The new location the bucket will be relocated to.", +"type": "string" +}, +"validateOnly": { +"description": "If true, validate the operation, but do not actually relocate the bucket.", +"type": "boolean" +} +}, +"type": "object" +}, +"RewriteResponse": { +"description": "A rewrite response.", +"id": "RewriteResponse", +"properties": { +"done": { +"description": "true if the copy is finished; otherwise, false if the copy is in progress. This property is always present in the response.", +"type": "boolean" +}, +"kind": { +"default": "storage#rewriteResponse", +"description": "The kind of item this is.", +"type": "string" +}, +"objectSize": { +"description": "The total size of the object being copied in bytes. This property is always present in the response.", +"format": "int64", +"type": "string" +}, +"resource": { +"$ref": "Object", +"description": "A resource containing the metadata for the copied-to object. This property is present in the response only when copying completes." +}, +"rewriteToken": { +"description": "A token to use in subsequent requests to continue copying data. This token is present in the response only when there is more data to copy.", +"type": "string" +}, +"totalBytesRewritten": { +"description": "The total bytes written so far, which can be used to provide a waiting user with a progress indicator. This property is always present in the response.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ServiceAccount": { +"description": "A subscription to receive Google PubSub notifications.", +"id": "ServiceAccount", +"properties": { +"email_address": { +"description": "The ID of the notification.", +"type": "string" +}, +"kind": { +"default": "storage#serviceAccount", +"description": "The kind of item this is. For notifications, this is always storage#notification.", +"type": "string" +} +}, +"type": "object" +}, +"TestIamPermissionsResponse": { +"description": "A storage.(buckets|objects|managedFolders).testIamPermissions response.", +"id": "TestIamPermissionsResponse", +"properties": { +"kind": { +"default": "storage#testIamPermissionsResponse", +"description": "The kind of item this is.", +"type": "string" +}, +"permissions": { +"description": "The permissions held by the caller. Permissions are always of the format storage.resource.capability, where resource is one of buckets, objects, or managedFolders. The supported permissions are as follows: \n- storage.buckets.delete \u2014 Delete bucket. \n- storage.buckets.get \u2014 Read bucket metadata. \n- storage.buckets.getIamPolicy \u2014 Read bucket IAM policy. \n- storage.buckets.create \u2014 Create bucket. \n- storage.buckets.list \u2014 List buckets. \n- storage.buckets.setIamPolicy \u2014 Update bucket IAM policy. \n- storage.buckets.update \u2014 Update bucket metadata. \n- storage.objects.delete \u2014 Delete object. \n- storage.objects.get \u2014 Read object data and metadata. \n- storage.objects.getIamPolicy \u2014 Read object IAM policy. \n- storage.objects.create \u2014 Create object. \n- storage.objects.list \u2014 List objects. \n- storage.objects.setIamPolicy \u2014 Update object IAM policy. \n- storage.objects.update \u2014 Update object metadata. \n- storage.managedFolders.delete \u2014 Delete managed folder. \n- storage.managedFolders.get \u2014 Read managed folder metadata. \n- storage.managedFolders.getIamPolicy \u2014 Read managed folder IAM policy. \n- storage.managedFolders.create \u2014 Create managed folder. \n- storage.managedFolders.list \u2014 List managed folders. \n- storage.managedFolders.setIamPolicy \u2014 Update managed folder IAM policy.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +} +}, +"servicePath": "storage/v1/", +"title": "Cloud Storage JSON API", +"version": "v1" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/sts.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/sts.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..e14ed77f3770b63dbbdfabd363c8c254361b187d --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/sts.v1.json @@ -0,0 +1,345 @@ +{ +"basePath": "", +"baseUrl": "https://sts.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Cloud Security Token", +"description": "The Security Token Service exchanges Google or third-party credentials for a short-lived access token to Google Cloud resources.", +"discoveryVersion": "v1", +"documentationLink": "http://cloud.google.com/iam/docs/workload-identity-federation", +"endpoints": [ +{ +"description": "Regional Endpoint", +"endpointUrl": "https://sts.us-east7.rep.googleapis.com/", +"location": "us-east7" +} +], +"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": "sts:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://sts.mtls.googleapis.com/", +"name": "sts", +"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": { +"v1": { +"methods": { +"token": { +"description": "Exchanges a credential for a Google OAuth 2.0 access token. The token asserts an external identity within an identity pool, or it applies a Credential Access Boundary to a Google access token. Note that workforce pools do not support Credential Access Boundaries. When you call this method, do not send the `Authorization` HTTP header in the request. This method does not require the `Authorization` header, and using the header can cause the request to fail.", +"flatPath": "v1/token", +"httpMethod": "POST", +"id": "sts.token", +"parameterOrder": [], +"parameters": {}, +"path": "v1/token", +"request": { +"$ref": "GoogleIdentityStsV1ExchangeTokenRequest" +}, +"response": { +"$ref": "GoogleIdentityStsV1ExchangeTokenResponse" +} +} +} +} +}, +"revision": "20241106", +"rootUrl": "https://sts.googleapis.com/", +"schemas": { +"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" +}, +"GoogleIdentityStsV1AccessBoundary": { +"description": "An access boundary defines the upper bound of what a principal may access. It includes a list of access boundary rules that each defines the resource that may be allowed as well as permissions that may be used on those resources.", +"id": "GoogleIdentityStsV1AccessBoundary", +"properties": { +"accessBoundaryRules": { +"description": "A list of access boundary rules which defines the upper bound of the permission a principal may carry. If multiple rules are specified, the effective access boundary is the union of all the access boundary rules attached. One access boundary can contain at most 10 rules.", +"items": { +"$ref": "GoogleIdentityStsV1AccessBoundaryRule" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleIdentityStsV1AccessBoundaryRule": { +"description": "An access boundary rule defines an upper bound of IAM permissions on a single resource.", +"id": "GoogleIdentityStsV1AccessBoundaryRule", +"properties": { +"availabilityCondition": { +"$ref": "GoogleTypeExpr", +"description": "The availability condition further constrains the access allowed by the access boundary rule. If the condition evaluates to `true`, then this access boundary rule will provide access to the specified resource, assuming the principal has the required permissions for the resource. If the condition does not evaluate to `true`, then access to the specified resource will not be available. Note that all access boundary rules in an access boundary are evaluated together as a union. As such, another access boundary rule may allow access to the resource, even if this access boundary rule does not allow access. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). The maximum length of the `expression` field is 2048 characters." +}, +"availablePermissions": { +"description": "A list of permissions that may be allowed for use on the specified resource. The only supported values in the list are IAM roles, following the format of google.iam.v1.Binding.role. Example value: `inRole:roles/logging.viewer` for predefined roles and `inRole:organizations/{ORGANIZATION_ID}/roles/logging.viewer` for custom roles.", +"items": { +"type": "string" +}, +"type": "array" +}, +"availableResource": { +"description": "The full resource name of a Google Cloud resource entity. The format definition is at https://cloud.google.com/apis/design/resource_names. Example value: `//cloudresourcemanager.googleapis.com/projects/my-project`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIdentityStsV1ExchangeTokenRequest": { +"description": "Request message for ExchangeToken.", +"id": "GoogleIdentityStsV1ExchangeTokenRequest", +"properties": { +"audience": { +"description": "The full resource name of the identity provider; for example: `//iam.googleapis.com/projects//locations/global/workloadIdentityPools//providers/` for workload identity pool providers, or `//iam.googleapis.com/locations/global/workforcePools//providers/` for workforce pool providers. Required when exchanging an external credential for a Google access token.", +"type": "string" +}, +"grantType": { +"description": "Required. The grant type. Must be `urn:ietf:params:oauth:grant-type:token-exchange`, which indicates a token exchange.", +"type": "string" +}, +"options": { +"description": "A set of features that Security Token Service supports, in addition to the standard OAuth 2.0 token exchange, formatted as a serialized JSON object of Options. The size of the parameter value must not exceed 4096 characters.", +"type": "string" +}, +"requestedTokenType": { +"description": "Required. An identifier for the type of requested security token. Can be `urn:ietf:params:oauth:token-type:access_token` or `urn:ietf:params:oauth:token-type:access_boundary_intermediary_token`.", +"type": "string" +}, +"scope": { +"description": "The OAuth 2.0 scopes to include on the resulting access token, formatted as a list of space-delimited, case-sensitive strings. Required when exchanging an external credential for a Google access token.", +"type": "string" +}, +"subjectToken": { +"description": "Required. The input token. This token is either an external credential issued by a workload identity pool provider, or a short-lived access token issued by Google. If the token is an OIDC JWT, it must use the JWT format defined in [RFC 7523](https://tools.ietf.org/html/rfc7523), and the `subject_token_type` must be either `urn:ietf:params:oauth:token-type:jwt` or `urn:ietf:params:oauth:token-type:id_token`. The following headers are required: - `kid`: The identifier of the signing key securing the JWT. - `alg`: The cryptographic algorithm securing the JWT. Must be `RS256` or `ES256`. The following payload fields are required. For more information, see [RFC 7523, Section 3](https://tools.ietf.org/html/rfc7523#section-3): - `iss`: The issuer of the token. The issuer must provide a discovery document at the URL `/.well-known/openid-configuration`, where `` is the value of this field. The document must be formatted according to section 4.2 of the [OIDC 1.0 Discovery specification](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfigurationResponse). - `iat`: The issue time, in seconds, since the Unix epoch. Must be in the past. - `exp`: The expiration time, in seconds, since the Unix epoch. Must be less than 48 hours after `iat`. Shorter expiration times are more secure. If possible, we recommend setting an expiration time less than 6 hours. - `sub`: The identity asserted in the JWT. - `aud`: For workload identity pools, this must be a value specified in the allowed audiences for the workload identity pool provider, or one of the audiences allowed by default if no audiences were specified. See https://cloud.google.com/iam/docs/reference/rest/v1/projects.locations.workloadIdentityPools.providers#oidc. For workforce pools, this must match the client ID specified in the provider configuration. See https://cloud.google.com/iam/docs/reference/rest/v1/locations.workforcePools.providers#oidc. Example header: ``` { \"alg\": \"RS256\", \"kid\": \"us-east-11\" } ``` Example payload: ``` { \"iss\": \"https://accounts.google.com\", \"iat\": 1517963104, \"exp\": 1517966704, \"aud\": \"//iam.googleapis.com/projects/1234567890123/locations/global/workloadIdentityPools/my-pool/providers/my-provider\", \"sub\": \"113475438248934895348\", \"my_claims\": { \"additional_claim\": \"value\" } } ``` If `subject_token` is for AWS, it must be a serialized `GetCallerIdentity` token. This token contains the same information as a request to the AWS [`GetCallerIdentity()`](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity) method, as well as the AWS [signature](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) for the request information. Use Signature Version 4. Format the request as URL-encoded JSON, and set the `subject_token_type` parameter to `urn:ietf:params:aws:token-type:aws4_request`. The following parameters are required: - `url`: The URL of the AWS STS endpoint for `GetCallerIdentity()`, such as `https://sts.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15`. Regional endpoints are also supported. - `method`: The HTTP request method: `POST`. - `headers`: The HTTP request headers, which must include: - `Authorization`: The request signature. - `x-amz-date`: The time you will send the request, formatted as an [ISO8601 Basic](https://docs.aws.amazon.com/general/latest/gr/sigv4_elements.html#sigv4_elements_date) string. This value is typically set to the current time and is used to help prevent replay attacks. - `host`: The hostname of the `url` field; for example, `sts.amazonaws.com`. - `x-goog-cloud-target-resource`: The full, canonical resource name of the workload identity pool provider, with or without an `https:` prefix. To help ensure data integrity, we recommend including this header in the `SignedHeaders` field of the signed request. For example: //iam.googleapis.com/projects//locations/global/workloadIdentityPools//providers/ https://iam.googleapis.com/projects//locations/global/workloadIdentityPools//providers/ If you are using temporary security credentials provided by AWS, you must also include the header `x-amz-security-token`, with the value set to the session token. The following example shows a `GetCallerIdentity` token: ``` { \"headers\": [ {\"key\": \"x-amz-date\", \"value\": \"20200815T015049Z\"}, {\"key\": \"Authorization\", \"value\": \"AWS4-HMAC-SHA256+Credential=$credential,+SignedHeaders=host;x-amz-date;x-goog-cloud-target-resource,+Signature=$signature\"}, {\"key\": \"x-goog-cloud-target-resource\", \"value\": \"//iam.googleapis.com/projects//locations/global/workloadIdentityPools//providers/\"}, {\"key\": \"host\", \"value\": \"sts.amazonaws.com\"} . ], \"method\": \"POST\", \"url\": \"https://sts.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15\" } ``` If the token is a SAML 2.0 assertion, it must use the format defined in [the SAML 2.0 spec](https://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-tech-overview-2.0-cd-02.pdf), and the `subject_token_type` must be `urn:ietf:params:oauth:token-type:saml2`. See [Verification of external credentials](https://cloud.google.com/iam/docs/using-workload-identity-federation#verification_of_external_credentials) for details on how SAML 2.0 assertions are validated during token exchanges. You can also use a Google-issued OAuth 2.0 access token with this field to obtain an access token with new security attributes applied, such as a Credential Access Boundary. In this case, set `subject_token_type` to `urn:ietf:params:oauth:token-type:access_token`. If an access token already contains security attributes, you cannot apply additional security attributes.", +"type": "string" +}, +"subjectTokenType": { +"description": "Required. An identifier that indicates the type of the security token in the `subject_token` parameter. Supported values are `urn:ietf:params:oauth:token-type:jwt`, `urn:ietf:params:oauth:token-type:id_token`, `urn:ietf:params:aws:token-type:aws4_request`, `urn:ietf:params:oauth:token-type:access_token`, and `urn:ietf:params:oauth:token-type:saml2`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIdentityStsV1ExchangeTokenResponse": { +"description": "Response message for ExchangeToken.", +"id": "GoogleIdentityStsV1ExchangeTokenResponse", +"properties": { +"access_boundary_session_key": { +"description": "The access boundary session key. This key is used along with the access boundary intermediary token to generate Credential Access Boundary tokens at client side. This field is absent when the `requested_token_type` from the request is not `urn:ietf:params:oauth:token-type:access_boundary_intermediary_token`.", +"format": "byte", +"type": "string" +}, +"access_token": { +"description": "An OAuth 2.0 security token, issued by Google, in response to the token exchange request. Tokens can vary in size, depending in part on the size of mapped claims, up to a maximum of 12288 bytes (12 KB). Google reserves the right to change the token size and the maximum length at any time.", +"type": "string" +}, +"expires_in": { +"description": "The amount of time, in seconds, between the time when the access token was issued and the time when the access token will expire. This field is absent when the `subject_token` in the request is a a short-lived access token for a Cloud Identity or Google Workspace user account. In this case, the access token has the same expiration time as the `subject_token`.", +"format": "int32", +"type": "integer" +}, +"issued_token_type": { +"description": "The token type. Always matches the value of `requested_token_type` from the request.", +"type": "string" +}, +"token_type": { +"description": "The type of access token. Always has the value `Bearer`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIdentityStsV1Options": { +"description": "An `Options` object configures features that the Security Token Service supports, but that are not supported by standard OAuth 2.0 token exchange endpoints, as defined in https://tools.ietf.org/html/rfc8693.", +"id": "GoogleIdentityStsV1Options", +"properties": { +"accessBoundary": { +"$ref": "GoogleIdentityStsV1AccessBoundary", +"description": "An access boundary that defines the upper bound of permissions the credential may have. The value should be a JSON object of AccessBoundary. The access boundary can include up to 10 rules. The size of the parameter value should not exceed 2048 characters." +}, +"userProject": { +"description": "A Google project used for quota and billing purposes when the credential is used to access Google APIs. The provided project overrides the project bound to the credential. The value must be a project number or a project ID. Example: `my-sample-project-191923`. The maximum length is 32 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIdentityStsV1betaAccessBoundary": { +"description": "An access boundary defines the upper bound of what a principal may access. It includes a list of access boundary rules that each defines the resource that may be allowed as well as permissions that may be used on those resources.", +"id": "GoogleIdentityStsV1betaAccessBoundary", +"properties": { +"accessBoundaryRules": { +"description": "A list of access boundary rules which defines the upper bound of the permission a principal may carry. If multiple rules are specified, the effective access boundary is the union of all the access boundary rules attached. One access boundary can contain at most 10 rules.", +"items": { +"$ref": "GoogleIdentityStsV1betaAccessBoundaryRule" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleIdentityStsV1betaAccessBoundaryRule": { +"description": "An access boundary rule defines an upper bound of IAM permissions on a single resource.", +"id": "GoogleIdentityStsV1betaAccessBoundaryRule", +"properties": { +"availabilityCondition": { +"$ref": "GoogleTypeExpr", +"description": "The availability condition further constrains the access allowed by the access boundary rule. If the condition evaluates to `true`, then this access boundary rule will provide access to the specified resource, assuming the principal has the required permissions for the resource. If the condition does not evaluate to `true`, then access to the specified resource will not be available. Note that all access boundary rules in an access boundary are evaluated together as a union. As such, another access boundary rule may allow access to the resource, even if this access boundary rule does not allow access. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). The maximum length of the `expression` field is 2048 characters." +}, +"availablePermissions": { +"description": "A list of permissions that may be allowed for use on the specified resource. The only supported values in the list are IAM roles, following the format of google.iam.v1.Binding.role. Example value: `inRole:roles/logging.viewer` for predefined roles and `inRole:organizations/{ORGANIZATION_ID}/roles/logging.viewer` for custom roles.", +"items": { +"type": "string" +}, +"type": "array" +}, +"availableResource": { +"description": "The full resource name of a Google Cloud resource entity. The format definition is at https://cloud.google.com/apis/design/resource_names. Example value: `//cloudresourcemanager.googleapis.com/projects/my-project`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIdentityStsV1betaOptions": { +"description": "An `Options` object configures features that the Security Token Service supports, but that are not supported by standard OAuth 2.0 token exchange endpoints, as defined in https://tools.ietf.org/html/rfc8693.", +"id": "GoogleIdentityStsV1betaOptions", +"properties": { +"accessBoundary": { +"$ref": "GoogleIdentityStsV1betaAccessBoundary", +"description": "An access boundary that defines the upper bound of permissions the credential may have. The value should be a JSON object of AccessBoundary. The access boundary can include up to 10 rules. The size of the parameter value should not exceed 2048 characters." +}, +"userProject": { +"description": "A Google project used for quota and billing purposes when the credential is used to access Google APIs. The provided project overrides the project bound to the credential. The value must be a project number or a project ID. Example: `my-sample-project-191923`. The maximum length is 32 characters.", +"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" +} +}, +"servicePath": "", +"title": "Security Token Service 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/transcoder.v1beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/transcoder.v1beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..e4d9b5ae1e34681de88f4e183beac535bcbf0746 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/transcoder.v1beta1.json @@ -0,0 +1,1506 @@ +{ + "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://transcoder.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Transcoder", + "description": "This API converts video files into formats suitable for consumer distribution. ", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/transcoder/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": "transcoder:v1beta1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://transcoder.mtls.googleapis.com/", + "name": "transcoder", + "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": { + "jobTemplates": { + "methods": { + "create": { + "description": "Creates a job template in the specified region.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/jobTemplates", + "httpMethod": "POST", + "id": "transcoder.projects.locations.jobTemplates.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "jobTemplateId": { + "description": "Required. The ID to use for the job template, which will become the final component of the job template's resource name. This value should be 4-63 characters, and valid characters must match the regular expression `a-zA-Z*`.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent location to create this job template. Format: `projects/{project}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/jobTemplates", + "request": { + "$ref": "JobTemplate" + }, + "response": { + "$ref": "JobTemplate" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a job template.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/jobTemplates/{jobTemplatesId}", + "httpMethod": "DELETE", + "id": "transcoder.projects.locations.jobTemplates.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the job template to delete. `projects/{project}/locations/{location}/jobTemplates/{job_template}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/jobTemplates/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the job template data.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/jobTemplates/{jobTemplatesId}", + "httpMethod": "GET", + "id": "transcoder.projects.locations.jobTemplates.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the job template to retrieve. Format: `projects/{project}/locations/{location}/jobTemplates/{job_template}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/jobTemplates/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "JobTemplate" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists job templates in the specified region.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/jobTemplates", + "httpMethod": "GET", + "id": "transcoder.projects.locations.jobTemplates.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 location from which to retrieve the collection of job templates. Format: `projects/{project}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/jobTemplates", + "response": { + "$ref": "ListJobTemplatesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "jobs": { + "methods": { + "create": { + "description": "Creates a job in the specified region.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/jobs", + "httpMethod": "POST", + "id": "transcoder.projects.locations.jobs.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent location to create and process this job. Format: `projects/{project}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/jobs", + "request": { + "$ref": "Job" + }, + "response": { + "$ref": "Job" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a job.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}", + "httpMethod": "DELETE", + "id": "transcoder.projects.locations.jobs.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the job to delete. Format: `projects/{project}/locations/{location}/jobs/{job}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the job data.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}", + "httpMethod": "GET", + "id": "transcoder.projects.locations.jobs.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the job to retrieve. Format: `projects/{project}/locations/{location}/jobs/{job}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Job" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists jobs in the specified region.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/jobs", + "httpMethod": "GET", + "id": "transcoder.projects.locations.jobs.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. Format: `projects/{project}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/jobs", + "response": { + "$ref": "ListJobsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20211108", + "rootUrl": "https://transcoder.googleapis.com/", + "schemas": { + "AdBreak": { + "description": "Ad break.", + "id": "AdBreak", + "properties": { + "startTimeOffset": { + "description": "Start time in seconds for the ad break, relative to the output file timeline. The default is `0s`.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "Aes128Encryption": { + "description": "Configuration for AES-128 encryption.", + "id": "Aes128Encryption", + "properties": { + "keyUri": { + "description": "Required. URI of the key delivery service. This URI is inserted into the M3U8 header.", + "type": "string" + } + }, + "type": "object" + }, + "Animation": { + "description": "Animation types.", + "id": "Animation", + "properties": { + "animationEnd": { + "$ref": "AnimationEnd", + "description": "End previous animation." + }, + "animationFade": { + "$ref": "AnimationFade", + "description": "Display overlay object with fade animation." + }, + "animationStatic": { + "$ref": "AnimationStatic", + "description": "Display static overlay object." + } + }, + "type": "object" + }, + "AnimationEnd": { + "description": "End previous overlay animation from the video. Without AnimationEnd, the overlay object will keep the state of previous animation until the end of the video.", + "id": "AnimationEnd", + "properties": { + "startTimeOffset": { + "description": "The time to end overlay object, in seconds. Default: 0", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "AnimationFade": { + "description": "Display overlay object with fade animation.", + "id": "AnimationFade", + "properties": { + "endTimeOffset": { + "description": "The time to end the fade animation, in seconds. Default: `start_time_offset` + 1s", + "format": "google-duration", + "type": "string" + }, + "fadeType": { + "description": "Required. Type of fade animation: `FADE_IN` or `FADE_OUT`.", + "enum": [ + "FADE_TYPE_UNSPECIFIED", + "FADE_IN", + "FADE_OUT" + ], + "enumDescriptions": [ + "The fade type is not specified.", + "Fade the overlay object into view.", + "Fade the overlay object out of view." + ], + "type": "string" + }, + "startTimeOffset": { + "description": "The time to start the fade animation, in seconds. Default: 0", + "format": "google-duration", + "type": "string" + }, + "xy": { + "$ref": "NormalizedCoordinate", + "description": "Normalized coordinates based on output video resolution. Valid values: `0.0`\u2013`1.0`. `xy` is the upper-left coordinate of the overlay object. For example, use the x and y coordinates {0,0} to position the top-left corner of the overlay animation in the top-left corner of the output video." + } + }, + "type": "object" + }, + "AnimationStatic": { + "description": "Display static overlay object.", + "id": "AnimationStatic", + "properties": { + "startTimeOffset": { + "description": "The time to start displaying the overlay object, in seconds. Default: 0", + "format": "google-duration", + "type": "string" + }, + "xy": { + "$ref": "NormalizedCoordinate", + "description": "Normalized coordinates based on output video resolution. Valid values: `0.0`\u2013`1.0`. `xy` is the upper-left coordinate of the overlay object. For example, use the x and y coordinates {0,0} to position the top-left corner of the overlay animation in the top-left corner of the output video." + } + }, + "type": "object" + }, + "Audio": { + "description": "Audio preprocessing configuration.", + "id": "Audio", + "properties": { + "highBoost": { + "description": "Enable boosting high frequency components. The default is `false`.", + "type": "boolean" + }, + "lowBoost": { + "description": "Enable boosting low frequency components. The default is `false`.", + "type": "boolean" + }, + "lufs": { + "description": "Specify audio loudness normalization in loudness units relative to full scale (LUFS). Enter a value between -24 and 0 (the default), where: * -24 is the Advanced Television Systems Committee (ATSC A/85) standard * -23 is the EU R128 broadcast standard * -19 is the prior standard for online mono audio * -18 is the ReplayGain standard * -16 is the prior standard for stereo audio * -14 is the new online audio standard recommended by Spotify, as well as Amazon Echo * 0 disables normalization", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "AudioAtom": { + "description": "The mapping for the `Job.edit_list` atoms with audio `EditAtom.inputs`.", + "id": "AudioAtom", + "properties": { + "channels": { + "description": "List of `Channel`s for this audio stream. for in-depth explanation.", + "items": { + "$ref": "AudioChannel" + }, + "type": "array" + }, + "key": { + "description": "Required. The `EditAtom.key` that references the atom with audio inputs in the `Job.edit_list`.", + "type": "string" + } + }, + "type": "object" + }, + "AudioChannel": { + "description": "The audio channel.", + "id": "AudioChannel", + "properties": { + "inputs": { + "description": "List of `Job.inputs` for this audio channel.", + "items": { + "$ref": "AudioChannelInput" + }, + "type": "array" + } + }, + "type": "object" + }, + "AudioChannelInput": { + "description": "Identifies which input file, track, and channel should be used.", + "id": "AudioChannelInput", + "properties": { + "channel": { + "description": "Required. The zero-based index of the channel in the input file.", + "format": "int32", + "type": "integer" + }, + "gainDb": { + "description": "Audio volume control in dB. Negative values decrease volume, positive values increase. The default is 0.", + "format": "double", + "type": "number" + }, + "key": { + "description": "Required. The `Input.key` that identifies the input file.", + "type": "string" + }, + "track": { + "description": "Required. The zero-based index of the track in the input file.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "AudioStream": { + "description": "Audio stream resource.", + "id": "AudioStream", + "properties": { + "bitrateBps": { + "description": "Required. Audio bitrate in bits per second. Must be between 1 and 10,000,000.", + "format": "int32", + "type": "integer" + }, + "channelCount": { + "description": "Number of audio channels. Must be between 1 and 6. The default is 2.", + "format": "int32", + "type": "integer" + }, + "channelLayout": { + "description": "A list of channel names specifying layout of the audio channels. This only affects the metadata embedded in the container headers, if supported by the specified format. The default is `[\"fl\", \"fr\"]`. Supported channel names: - 'fl' - Front left channel - 'fr' - Front right channel - 'sl' - Side left channel - 'sr' - Side right channel - 'fc' - Front center channel - 'lfe' - Low frequency", + "items": { + "type": "string" + }, + "type": "array" + }, + "codec": { + "description": "The codec for this audio stream. The default is `\"aac\"`. Supported audio codecs: - 'aac' - 'aac-he' - 'aac-he-v2' - 'mp3' - 'ac3' - 'eac3'", + "type": "string" + }, + "mapping": { + "description": "The mapping for the `Job.edit_list` atoms with audio `EditAtom.inputs`.", + "items": { + "$ref": "AudioAtom" + }, + "type": "array" + }, + "sampleRateHertz": { + "description": "The audio sample rate in Hertz. The default is 48000 Hertz.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Color": { + "description": "Color preprocessing configuration.", + "id": "Color", + "properties": { + "brightness": { + "description": "Control brightness of the video. Enter a value between -1 and 1, where -1 is minimum brightness and 1 is maximum brightness. 0 is no change. The default is 0.", + "format": "double", + "type": "number" + }, + "contrast": { + "description": "Control black and white contrast of the video. Enter a value between -1 and 1, where -1 is minimum contrast and 1 is maximum contrast. 0 is no change. The default is 0.", + "format": "double", + "type": "number" + }, + "saturation": { + "description": "Control color saturation of the video. Enter a value between -1 and 1, where -1 is fully desaturated and 1 is maximum saturation. 0 is no change. The default is 0.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "Crop": { + "description": "Video cropping configuration for the input video. The cropped input video is scaled to match the output resolution.", + "id": "Crop", + "properties": { + "bottomPixels": { + "description": "The number of pixels to crop from the bottom. The default is 0.", + "format": "int32", + "type": "integer" + }, + "leftPixels": { + "description": "The number of pixels to crop from the left. The default is 0.", + "format": "int32", + "type": "integer" + }, + "rightPixels": { + "description": "The number of pixels to crop from the right. The default is 0.", + "format": "int32", + "type": "integer" + }, + "topPixels": { + "description": "The number of pixels to crop from the top. The default is 0.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Deblock": { + "description": "Deblock preprocessing configuration.", + "id": "Deblock", + "properties": { + "enabled": { + "description": "Enable deblocker. The default is `false`.", + "type": "boolean" + }, + "strength": { + "description": "Set strength of the deblocker. Enter a value between 0 and 1. The higher the value, the stronger the block removal. 0 is no deblocking. The default is 0.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "Denoise": { + "description": "Denoise preprocessing configuration.", + "id": "Denoise", + "properties": { + "strength": { + "description": "Set strength of the denoise. Enter a value between 0 and 1. The higher the value, the smoother the image. 0 is no denoising. The default is 0.", + "format": "double", + "type": "number" + }, + "tune": { + "description": "Set the denoiser mode. The default is `\"standard\"`. Supported denoiser modes: - 'standard' - 'grain'", + "type": "string" + } + }, + "type": "object" + }, + "EditAtom": { + "description": "Edit atom.", + "id": "EditAtom", + "properties": { + "endTimeOffset": { + "description": "End time in seconds for the atom, relative to the input file timeline. When `end_time_offset` is not specified, the `inputs` are used until the end of the atom.", + "format": "google-duration", + "type": "string" + }, + "inputs": { + "description": "List of `Input.key`s identifying files that should be used in this atom. The listed `inputs` must have the same timeline.", + "items": { + "type": "string" + }, + "type": "array" + }, + "key": { + "description": "A unique key for this atom. Must be specified when using advanced mapping.", + "type": "string" + }, + "startTimeOffset": { + "description": "Start time in seconds for the atom, relative to the input file timeline. The default is `0s`.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "ElementaryStream": { + "description": "Encoding of an input file such as an audio, video, or text track. Elementary streams must be packaged before mapping and sharing between different output formats.", + "id": "ElementaryStream", + "properties": { + "audioStream": { + "$ref": "AudioStream", + "description": "Encoding of an audio stream." + }, + "key": { + "description": "A unique key for this elementary stream.", + "type": "string" + }, + "textStream": { + "$ref": "TextStream", + "description": "Encoding of a text stream. For example, closed captions or subtitles." + }, + "videoStream": { + "$ref": "VideoStream", + "description": "Encoding of a video stream." + } + }, + "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); } The JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "Encryption": { + "description": "Encryption settings.", + "id": "Encryption", + "properties": { + "aes128": { + "$ref": "Aes128Encryption", + "description": "Configuration for AES-128 encryption." + }, + "iv": { + "description": "Required. 128 bit Initialization Vector (IV) represented as lowercase hexadecimal digits.", + "type": "string" + }, + "key": { + "description": "Required. 128 bit encryption key represented as lowercase hexadecimal digits.", + "type": "string" + }, + "mpegCenc": { + "$ref": "MpegCommonEncryption", + "description": "Configuration for MPEG Common Encryption (MPEG-CENC)." + }, + "sampleAes": { + "$ref": "SampleAesEncryption", + "description": "Configuration for SAMPLE-AES encryption." + } + }, + "type": "object" + }, + "FailureDetail": { + "description": "Additional information about the reasons for the failure.", + "id": "FailureDetail", + "properties": { + "description": { + "description": "A description of the failure.", + "type": "string" + } + }, + "type": "object" + }, + "Image": { + "description": "Overlaid jpeg image.", + "id": "Image", + "properties": { + "alpha": { + "description": "Target image opacity. Valid values are from `1.0` (solid, default) to `0.0` (transparent), exclusive. Set this to a value greater than `0.0`.", + "format": "double", + "type": "number" + }, + "resolution": { + "$ref": "NormalizedCoordinate", + "description": "Normalized image resolution, based on output video resolution. Valid values: `0.0`\u2013`1.0`. To respect the original image aspect ratio, set either `x` or `y` to `0.0`. To use the original image resolution, set both `x` and `y` to `0.0`." + }, + "uri": { + "description": "Required. URI of the JPEG image in Cloud Storage. For example, `gs://bucket/inputs/image.jpeg`. JPEG is the only supported image type.", + "type": "string" + } + }, + "type": "object" + }, + "Input": { + "description": "Input asset.", + "id": "Input", + "properties": { + "key": { + "description": "A unique key for this input. Must be specified when using advanced mapping and edit lists.", + "type": "string" + }, + "preprocessingConfig": { + "$ref": "PreprocessingConfig", + "description": "Preprocessing configurations." + }, + "uri": { + "description": "URI of the media. Input files must be at least 5 seconds in duration and stored in Cloud Storage (for example, `gs://bucket/inputs/file.mp4`). If empty, the value will be populated from `Job.input_uri`.", + "type": "string" + } + }, + "type": "object" + }, + "Job": { + "description": "Transcoding job resource.", + "id": "Job", + "properties": { + "config": { + "$ref": "JobConfig", + "description": "The configuration for this job." + }, + "createTime": { + "description": "Output only. The time the job was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the transcoding finished.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "failureDetails": { + "description": "Output only. List of failure details. This property may contain additional information about the failure when `failure_reason` is present. *Note*: This feature is not yet available.", + "items": { + "$ref": "FailureDetail" + }, + "readOnly": true, + "type": "array" + }, + "failureReason": { + "description": "Output only. A description of the reason for the failure. This property is always present when `state` is `FAILED`.", + "readOnly": true, + "type": "string" + }, + "inputUri": { + "description": "Input only. Specify the `input_uri` to populate empty `uri` fields in each element of `Job.config.inputs` or `JobTemplate.config.inputs` when using template. URI of the media. Input files must be at least 5 seconds in duration and stored in Cloud Storage (for example, `gs://bucket/inputs/file.mp4`).", + "type": "string" + }, + "name": { + "description": "The resource name of the job. Format: `projects/{project}/locations/{location}/jobs/{job}`", + "type": "string" + }, + "originUri": { + "$ref": "OriginUri", + "description": "Output only. The origin URI. *Note*: This feature is not yet available.", + "readOnly": true + }, + "outputUri": { + "description": "Input only. Specify the `output_uri` to populate an empty `Job.config.output.uri` or `JobTemplate.config.output.uri` when using template. URI for the output file(s). For example, `gs://my-bucket/outputs/`.", + "type": "string" + }, + "priority": { + "description": "Specify the priority of the job. Enter a value between 0 and 100, where 0 is the lowest priority and 100 is the highest priority. The default is 0.", + "format": "int32", + "type": "integer" + }, + "progress": { + "$ref": "Progress", + "description": "Output only. Estimated fractional progress, from `0` to `1` for each step. *Note*: This feature is not yet available.", + "readOnly": true + }, + "startTime": { + "description": "Output only. The time the transcoding started.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The current state of the job.", + "enum": [ + "PROCESSING_STATE_UNSPECIFIED", + "PENDING", + "RUNNING", + "SUCCEEDED", + "FAILED" + ], + "enumDescriptions": [ + "The processing state is not specified.", + "The job is enqueued and will be picked up for processing soon.", + "The job is being processed.", + "The job has been completed successfully.", + "The job has failed. For additional information, see `failure_reason` and `failure_details`" + ], + "readOnly": true, + "type": "string" + }, + "templateId": { + "description": "Input only. Specify the `template_id` to use for populating `Job.config`. The default is `preset/web-hd`. Preset Transcoder templates: - `preset/{preset_id}` - User defined JobTemplate: `{job_template_id}`", + "type": "string" + }, + "ttlAfterCompletionDays": { + "description": "Job time to live value in days, which will be effective after job completion. Job should be deleted automatically after the given TTL. Enter a value between 1 and 90. The default is 30.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "JobConfig": { + "description": "Job configuration", + "id": "JobConfig", + "properties": { + "adBreaks": { + "description": "List of ad breaks. Specifies where to insert ad break tags in the output manifests.", + "items": { + "$ref": "AdBreak" + }, + "type": "array" + }, + "editList": { + "description": "List of `Edit atom`s. Defines the ultimate timeline of the resulting file or manifest.", + "items": { + "$ref": "EditAtom" + }, + "type": "array" + }, + "elementaryStreams": { + "description": "List of elementary streams.", + "items": { + "$ref": "ElementaryStream" + }, + "type": "array" + }, + "inputs": { + "description": "List of input assets stored in Cloud Storage.", + "items": { + "$ref": "Input" + }, + "type": "array" + }, + "manifests": { + "description": "List of output manifests.", + "items": { + "$ref": "Manifest" + }, + "type": "array" + }, + "muxStreams": { + "description": "List of multiplexing settings for output streams.", + "items": { + "$ref": "MuxStream" + }, + "type": "array" + }, + "output": { + "$ref": "Output", + "description": "Output configuration." + }, + "overlays": { + "description": "List of overlays on the output video, in descending Z-order.", + "items": { + "$ref": "Overlay" + }, + "type": "array" + }, + "pubsubDestination": { + "$ref": "PubsubDestination", + "description": "Destination on Pub/Sub." + }, + "spriteSheets": { + "description": "List of output sprite sheets.", + "items": { + "$ref": "SpriteSheet" + }, + "type": "array" + } + }, + "type": "object" + }, + "JobTemplate": { + "description": "Transcoding job template resource.", + "id": "JobTemplate", + "properties": { + "config": { + "$ref": "JobConfig", + "description": "The configuration for this template." + }, + "name": { + "description": "The resource name of the job template. Format: `projects/{project}/locations/{location}/jobTemplates/{job_template}`", + "type": "string" + } + }, + "type": "object" + }, + "ListJobTemplatesResponse": { + "description": "Response message for `TranscoderService.ListJobTemplates`.", + "id": "ListJobTemplatesResponse", + "properties": { + "jobTemplates": { + "description": "List of job templates in the specified region.", + "items": { + "$ref": "JobTemplate" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The pagination token.", + "type": "string" + } + }, + "type": "object" + }, + "ListJobsResponse": { + "description": "Response message for `TranscoderService.ListJobs`.", + "id": "ListJobsResponse", + "properties": { + "jobs": { + "description": "List of jobs in the specified region.", + "items": { + "$ref": "Job" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The pagination token.", + "type": "string" + } + }, + "type": "object" + }, + "Manifest": { + "description": "Manifest configuration.", + "id": "Manifest", + "properties": { + "fileName": { + "description": "The name of the generated file. The default is `\"manifest\"` with the extension suffix corresponding to the `Manifest.type`.", + "type": "string" + }, + "muxStreams": { + "description": "Required. List of user given `MuxStream.key`s that should appear in this manifest. When `Manifest.type` is `HLS`, a media manifest with name `MuxStream.key` and `.m3u8` extension is generated for each element of the `Manifest.mux_streams`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "type": { + "description": "Required. Type of the manifest, can be \"HLS\" or \"DASH\".", + "enum": [ + "MANIFEST_TYPE_UNSPECIFIED", + "HLS", + "DASH" + ], + "enumDescriptions": [ + "The manifest type is not specified.", + "Create `\"HLS\"` manifest. The corresponding file extension is `\".m3u8\"`.", + "Create `\"DASH\"` manifest. The corresponding file extension is `\".mpd\"`." + ], + "type": "string" + } + }, + "type": "object" + }, + "MpegCommonEncryption": { + "description": "Configuration for MPEG Common Encryption (MPEG-CENC).", + "id": "MpegCommonEncryption", + "properties": { + "keyId": { + "description": "Required. 128 bit Key ID represented as lowercase hexadecimal digits for use with common encryption.", + "type": "string" + }, + "scheme": { + "description": "Required. Specify the encryption scheme. Supported encryption schemes: - 'cenc' - 'cbcs'", + "type": "string" + } + }, + "type": "object" + }, + "MuxStream": { + "description": "Multiplexing settings for output stream.", + "id": "MuxStream", + "properties": { + "container": { + "description": "The container format. The default is `\"mp4\"` Supported container formats: - 'ts' - 'fmp4'- the corresponding file extension is `\".m4s\"` - 'mp4' - 'vtt'", + "type": "string" + }, + "elementaryStreams": { + "description": "List of `ElementaryStream.key`s multiplexed in this stream.", + "items": { + "type": "string" + }, + "type": "array" + }, + "encryption": { + "$ref": "Encryption", + "description": "Encryption settings." + }, + "fileName": { + "description": "The name of the generated file. The default is `MuxStream.key` with the extension suffix corresponding to the `MuxStream.container`. Individual segments also have an incremental 10-digit zero-padded suffix starting from 0 before the extension, such as `\"mux_stream0000000123.ts\"`.", + "type": "string" + }, + "key": { + "description": "A unique key for this multiplexed stream. HLS media manifests will be named `MuxStream.key` with the `\".m3u8\"` extension suffix.", + "type": "string" + }, + "segmentSettings": { + "$ref": "SegmentSettings", + "description": "Segment settings for `\"ts\"`, `\"fmp4\"` and `\"vtt\"`." + } + }, + "type": "object" + }, + "NormalizedCoordinate": { + "description": "2D normalized coordinates. Default: `{0.0, 0.0}`", + "id": "NormalizedCoordinate", + "properties": { + "x": { + "description": "Normalized x coordinate.", + "format": "double", + "type": "number" + }, + "y": { + "description": "Normalized y coordinate.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "OriginUri": { + "description": "The origin URI.", + "id": "OriginUri", + "properties": { + "dash": { + "description": "Dash manifest URI. If multiple Dash manifests are created, only the first one is listed.", + "type": "string" + }, + "hls": { + "description": "HLS manifest URI per https://tools.ietf.org/html/rfc8216#section-4.3.4. If multiple HLS manifests are created, only the first one is listed.", + "type": "string" + } + }, + "type": "object" + }, + "Output": { + "description": "Location of output file(s) in a Cloud Storage bucket.", + "id": "Output", + "properties": { + "uri": { + "description": "URI for the output file(s). For example, `gs://my-bucket/outputs/`. If empty the value is populated from `Job.output_uri`.", + "type": "string" + } + }, + "type": "object" + }, + "Overlay": { + "description": "Overlay configuration.", + "id": "Overlay", + "properties": { + "animations": { + "description": "List of Animations. The list should be chronological, without any time overlap.", + "items": { + "$ref": "Animation" + }, + "type": "array" + }, + "image": { + "$ref": "Image", + "description": "Image overlay." + } + }, + "type": "object" + }, + "Pad": { + "description": "Pad filter configuration for the input video. The padded input video is scaled after padding with black to match the output resolution.", + "id": "Pad", + "properties": { + "bottomPixels": { + "description": "The number of pixels to add to the bottom. The default is 0.", + "format": "int32", + "type": "integer" + }, + "leftPixels": { + "description": "The number of pixels to add to the left. The default is 0.", + "format": "int32", + "type": "integer" + }, + "rightPixels": { + "description": "The number of pixels to add to the right. The default is 0.", + "format": "int32", + "type": "integer" + }, + "topPixels": { + "description": "The number of pixels to add to the top. The default is 0.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "PreprocessingConfig": { + "description": "Preprocessing configurations.", + "id": "PreprocessingConfig", + "properties": { + "audio": { + "$ref": "Audio", + "description": "Audio preprocessing configuration." + }, + "color": { + "$ref": "Color", + "description": "Color preprocessing configuration." + }, + "crop": { + "$ref": "Crop", + "description": "Specify the video cropping configuration." + }, + "deblock": { + "$ref": "Deblock", + "description": "Deblock preprocessing configuration." + }, + "denoise": { + "$ref": "Denoise", + "description": "Denoise preprocessing configuration." + }, + "pad": { + "$ref": "Pad", + "description": "Specify the video pad filter configuration." + } + }, + "type": "object" + }, + "Progress": { + "description": "Estimated fractional progress for each step, from `0` to `1`.", + "id": "Progress", + "properties": { + "analyzed": { + "description": "Estimated fractional progress for `analyzing` step.", + "format": "double", + "type": "number" + }, + "encoded": { + "description": "Estimated fractional progress for `encoding` step.", + "format": "double", + "type": "number" + }, + "notified": { + "description": "Estimated fractional progress for `notifying` step.", + "format": "double", + "type": "number" + }, + "uploaded": { + "description": "Estimated fractional progress for `uploading` step.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "PubsubDestination": { + "description": "A Pub/Sub destination.", + "id": "PubsubDestination", + "properties": { + "topic": { + "description": "The name of the Pub/Sub topic to publish job completion notification to. For example: `projects/{project}/topics/{topic}`.", + "type": "string" + } + }, + "type": "object" + }, + "SampleAesEncryption": { + "description": "Configuration for SAMPLE-AES encryption.", + "id": "SampleAesEncryption", + "properties": { + "keyUri": { + "description": "Required. URI of the key delivery service. This URI is inserted into the M3U8 header.", + "type": "string" + } + }, + "type": "object" + }, + "SegmentSettings": { + "description": "Segment settings for `\"ts\"`, `\"fmp4\"` and `\"vtt\"`.", + "id": "SegmentSettings", + "properties": { + "individualSegments": { + "description": "Required. Create an individual segment file. The default is `false`.", + "type": "boolean" + }, + "segmentDuration": { + "description": "Duration of the segments in seconds. The default is `\"6.0s\"`. Note that `segmentDuration` must be greater than or equal to [`gopDuration`](#videostream), and `segmentDuration` must be divisible by [`gopDuration`](#videostream).", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "SpriteSheet": { + "description": "Sprite sheet configuration.", + "id": "SpriteSheet", + "properties": { + "columnCount": { + "description": "The maximum number of sprites per row in a sprite sheet. The default is 0, which indicates no maximum limit.", + "format": "int32", + "type": "integer" + }, + "endTimeOffset": { + "description": "End time in seconds, relative to the output file timeline. When `end_time_offset` is not specified, the sprites are generated until the end of the output file.", + "format": "google-duration", + "type": "string" + }, + "filePrefix": { + "description": "Required. File name prefix for the generated sprite sheets. Each sprite sheet has an incremental 10-digit zero-padded suffix starting from 0 before the extension, such as `\"sprite_sheet0000000123.jpeg\"`.", + "type": "string" + }, + "format": { + "description": "Format type. The default is `\"jpeg\"`. Supported formats: - 'jpeg'", + "type": "string" + }, + "interval": { + "description": "Starting from `0s`, create sprites at regular intervals. Specify the interval value in seconds.", + "format": "google-duration", + "type": "string" + }, + "quality": { + "description": "The quality of the generated sprite sheet. Enter a value between 1 and 100, where 1 is the lowest quality and 100 is the highest quality. The default is 100. A high quality value corresponds to a low image data compression ratio.", + "format": "int32", + "type": "integer" + }, + "rowCount": { + "description": "The maximum number of rows per sprite sheet. When the sprite sheet is full, a new sprite sheet is created. The default is 0, which indicates no maximum limit.", + "format": "int32", + "type": "integer" + }, + "spriteHeightPixels": { + "description": "Required. The height of sprite in pixels. Must be an even integer. To preserve the source aspect ratio, set the SpriteSheet.sprite_height_pixels field or the SpriteSheet.sprite_width_pixels field, but not both (the API will automatically calculate the missing field).", + "format": "int32", + "type": "integer" + }, + "spriteWidthPixels": { + "description": "Required. The width of sprite in pixels. Must be an even integer. To preserve the source aspect ratio, set the SpriteSheet.sprite_width_pixels field or the SpriteSheet.sprite_height_pixels field, but not both (the API will automatically calculate the missing field).", + "format": "int32", + "type": "integer" + }, + "startTimeOffset": { + "description": "Start time in seconds, relative to the output file timeline. Determines the first sprite to pick. The default is `0s`.", + "format": "google-duration", + "type": "string" + }, + "totalCount": { + "description": "Total number of sprites. Create the specified number of sprites distributed evenly across the timeline of the output media. The default is 100.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "TextAtom": { + "description": "The mapping for the `Job.edit_list` atoms with text `EditAtom.inputs`.", + "id": "TextAtom", + "properties": { + "inputs": { + "description": "List of `Job.inputs` that should be embedded in this atom. Only one input is supported.", + "items": { + "$ref": "TextInput" + }, + "type": "array" + }, + "key": { + "description": "Required. The `EditAtom.key` that references atom with text inputs in the `Job.edit_list`.", + "type": "string" + } + }, + "type": "object" + }, + "TextInput": { + "description": "Identifies which input file and track should be used.", + "id": "TextInput", + "properties": { + "key": { + "description": "Required. The `Input.key` that identifies the input file.", + "type": "string" + }, + "track": { + "description": "Required. The zero-based index of the track in the input file.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "TextStream": { + "description": "Encoding of a text stream. For example, closed captions or subtitles.", + "id": "TextStream", + "properties": { + "codec": { + "description": "The codec for this text stream. The default is `\"webvtt\"`. Supported text codecs: - 'srt' - 'ttml' - 'cea608' - 'cea708' - 'webvtt'", + "type": "string" + }, + "languageCode": { + "description": "Required. The BCP-47 language code, such as `\"en-US\"` or `\"sr-Latn\"`. For more information, see https://www.unicode.org/reports/tr35/#Unicode_locale_identifier.", + "type": "string" + }, + "mapping": { + "description": "The mapping for the `Job.edit_list` atoms with text `EditAtom.inputs`.", + "items": { + "$ref": "TextAtom" + }, + "type": "array" + } + }, + "type": "object" + }, + "VideoStream": { + "description": "Video stream resource.", + "id": "VideoStream", + "properties": { + "allowOpenGop": { + "description": "Specifies whether an open Group of Pictures (GOP) structure should be allowed or not. The default is `false`.", + "type": "boolean" + }, + "aqStrength": { + "description": "Specify the intensity of the adaptive quantizer (AQ). Must be between 0 and 1, where 0 disables the quantizer and 1 maximizes the quantizer. A higher value equals a lower bitrate but smoother image. The default is 0.", + "format": "double", + "type": "number" + }, + "bFrameCount": { + "description": "The number of consecutive B-frames. Must be greater than or equal to zero. Must be less than `VideoStream.gop_frame_count` if set. The default is 0.", + "format": "int32", + "type": "integer" + }, + "bPyramid": { + "description": "Allow B-pyramid for reference frame selection. This may not be supported on all decoders. The default is `false`.", + "type": "boolean" + }, + "bitrateBps": { + "description": "Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value for H264/H265 is 800,000,000. The maximum value for VP9 is 480,000,000.", + "format": "int32", + "type": "integer" + }, + "codec": { + "description": "Codec type. The following codecs are supported: * `h264` (default) * `h265` * `vp9`", + "type": "string" + }, + "crfLevel": { + "description": "Target CRF level. Must be between 10 and 36, where 10 is the highest quality and 36 is the most efficient compression. The default is 21.", + "format": "int32", + "type": "integer" + }, + "enableTwoPass": { + "description": "Use two-pass encoding strategy to achieve better video quality. `VideoStream.rate_control_mode` must be `\"vbr\"`. The default is `false`.", + "type": "boolean" + }, + "entropyCoder": { + "description": "The entropy coder to use. The default is `\"cabac\"`. Supported entropy coders: - 'cavlc' - 'cabac'", + "type": "string" + }, + "frameRate": { + "description": "Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 120. Will default to the input frame rate if larger than the input frame rate. The API will generate an output FPS that is divisible by the input FPS, and smaller or equal to the target FPS. See [Calculate frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for more information.", + "format": "double", + "type": "number" + }, + "gopDuration": { + "description": "Select the GOP size based on the specified duration. The default is `\"3s\"`. Note that `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.", + "format": "google-duration", + "type": "string" + }, + "gopFrameCount": { + "description": "Select the GOP size based on the specified frame count. Must be greater than zero.", + "format": "int32", + "type": "integer" + }, + "heightPixels": { + "description": "The height of the video in pixels. Must be an even integer. When not specified, the height is adjusted to match the specified width and input aspect ratio. If both are omitted, the input height is used.", + "format": "int32", + "type": "integer" + }, + "pixelFormat": { + "description": "Pixel format to use. The default is `\"yuv420p\"`. Supported pixel formats: - 'yuv420p' pixel format. - 'yuv422p' pixel format. - 'yuv444p' pixel format. - 'yuv420p10' 10-bit HDR pixel format. - 'yuv422p10' 10-bit HDR pixel format. - 'yuv444p10' 10-bit HDR pixel format. - 'yuv420p12' 12-bit HDR pixel format. - 'yuv422p12' 12-bit HDR pixel format. - 'yuv444p12' 12-bit HDR pixel format.", + "type": "string" + }, + "preset": { + "description": "Enforces the specified codec preset. The default is `veryfast`. The available options are FFmpeg-compatible. Note that certain values for this field may cause the transcoder to override other fields you set in the `VideoStream` message.", + "type": "string" + }, + "profile": { + "description": "Enforces the specified codec profile. The following profiles are supported: * `baseline` * `main` * `high` (default) The available options are FFmpeg-compatible. Note that certain values for this field may cause the transcoder to override other fields you set in the `VideoStream` message.", + "type": "string" + }, + "rateControlMode": { + "description": "Specify the `rate_control_mode`. The default is `\"vbr\"`. Supported rate control modes: - 'vbr' - variable bitrate - 'crf' - constant rate factor", + "type": "string" + }, + "tune": { + "description": "Enforces the specified codec tune. The available options are FFmpeg-compatible. Note that certain values for this field may cause the transcoder to override other fields you set in the `VideoStream` message.", + "type": "string" + }, + "vbvFullnessBits": { + "description": "Initial fullness of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to 90% of `VideoStream.vbv_size_bits`.", + "format": "int32", + "type": "integer" + }, + "vbvSizeBits": { + "description": "Size of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to `VideoStream.bitrate_bps`.", + "format": "int32", + "type": "integer" + }, + "widthPixels": { + "description": "The width of the video in pixels. Must be an even integer. When not specified, the width is adjusted to match the specified height and input aspect ratio. If both are omitted, the input width is used.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Transcoder 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/translate.v3beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/translate.v3beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..786ca33d3bc90a5a69e3b859d6199035326a1ea4 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/translate.v3beta1.json @@ -0,0 +1,1526 @@ +{ +"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-translation": { +"description": "Translate text from one language to another using Google Translate" +} +} +} +}, +"basePath": "", +"baseUrl": "https://translation.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Translate", +"description": "Integrates text translation into your website or application.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/translate/docs/quickstarts", +"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": "translate:v3beta1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://translation.mtls.googleapis.com/", +"name": "translate", +"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": { +"detectLanguage": { +"description": "Detects the language of text within a request.", +"flatPath": "v3beta1/projects/{projectsId}:detectLanguage", +"httpMethod": "POST", +"id": "translate.projects.detectLanguage", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Project or location to make a call. Must refer to a caller's project. Format: `projects/{project-number-or-id}/locations/{location-id}` or `projects/{project-number-or-id}`. For global calls, use `projects/{project-number-or-id}/locations/global` or `projects/{project-number-or-id}`. Only models within the same region (has same location-id) can be used. Otherwise an INVALID_ARGUMENT (400) error is returned.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}:detectLanguage", +"request": { +"$ref": "DetectLanguageRequest" +}, +"response": { +"$ref": "DetectLanguageResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-translation" +] +}, +"getSupportedLanguages": { +"description": "Returns a list of supported languages for translation.", +"flatPath": "v3beta1/projects/{projectsId}/supportedLanguages", +"httpMethod": "GET", +"id": "translate.projects.getSupportedLanguages", +"parameterOrder": [ +"parent" +], +"parameters": { +"displayLanguageCode": { +"description": "Optional. The language to use to return localized, human readable names of supported languages. If missing, then display names are not returned in a response.", +"location": "query", +"type": "string" +}, +"model": { +"description": "Optional. Get supported languages of this model. The format depends on model type: - AutoML Translation models: `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}` - General (built-in) models: `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`, Returns languages supported by the specified model. If missing, we get supported languages of Google general NMT model.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Project or location to make a call. Must refer to a caller's project. Format: `projects/{project-number-or-id}` or `projects/{project-number-or-id}/locations/{location-id}`. For global calls, use `projects/{project-number-or-id}/locations/global` or `projects/{project-number-or-id}`. Non-global location is required for AutoML models. Only models within the same region (have same location-id) can be used, otherwise an INVALID_ARGUMENT (400) error is returned.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/supportedLanguages", +"response": { +"$ref": "SupportedLanguages" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-translation" +] +}, +"translateText": { +"description": "Translates input text and returns translated text.", +"flatPath": "v3beta1/projects/{projectsId}:translateText", +"httpMethod": "POST", +"id": "translate.projects.translateText", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Project or location to make a call. Must refer to a caller's project. Format: `projects/{project-number-or-id}` or `projects/{project-number-or-id}/locations/{location-id}`. For global calls, use `projects/{project-number-or-id}/locations/global` or `projects/{project-number-or-id}`. Non-global location is required for requests using AutoML models or custom glossaries. Models and glossaries must be within the same region (have same location-id), otherwise an INVALID_ARGUMENT (400) error is returned.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}:translateText", +"request": { +"$ref": "TranslateTextRequest" +}, +"response": { +"$ref": "TranslateTextResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-translation" +] +} +}, +"resources": { +"locations": { +"methods": { +"batchTranslateDocument": { +"description": "Translates a large volume of document in asynchronous batch mode. This function provides real-time output as the inputs are being processed. If caller cancels a request, the partial results (for an input file, it's all or nothing) may still be available on the specified output location. This call returns immediately and you can use google.longrunning.Operation.name to poll the status of the call.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}:batchTranslateDocument", +"httpMethod": "POST", +"id": "translate.projects.locations.batchTranslateDocument", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Location to make a regional call. Format: `projects/{project-number-or-id}/locations/{location-id}`. The `global` location is not supported for batch translation. Only AutoML Translation models or glossaries within the same region (have the same location-id) can be used, otherwise an INVALID_ARGUMENT (400) error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}:batchTranslateDocument", +"request": { +"$ref": "BatchTranslateDocumentRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-translation" +] +}, +"batchTranslateText": { +"description": "Translates a large volume of text in asynchronous batch mode. This function provides real-time output as the inputs are being processed. If caller cancels a request, the partial results (for an input file, it's all or nothing) may still be available on the specified output location. This call returns immediately and you can use google.longrunning.Operation.name to poll the status of the call.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}:batchTranslateText", +"httpMethod": "POST", +"id": "translate.projects.locations.batchTranslateText", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Location to make a call. Must refer to a caller's project. Format: `projects/{project-number-or-id}/locations/{location-id}`. The `global` location is not supported for batch translation. Only AutoML Translation models or glossaries within the same region (have the same location-id) can be used, otherwise an INVALID_ARGUMENT (400) error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}:batchTranslateText", +"request": { +"$ref": "BatchTranslateTextRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-translation" +] +}, +"detectLanguage": { +"description": "Detects the language of text within a request.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}:detectLanguage", +"httpMethod": "POST", +"id": "translate.projects.locations.detectLanguage", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Project or location to make a call. Must refer to a caller's project. Format: `projects/{project-number-or-id}/locations/{location-id}` or `projects/{project-number-or-id}`. For global calls, use `projects/{project-number-or-id}/locations/global` or `projects/{project-number-or-id}`. Only models within the same region (has same location-id) can be used. Otherwise an INVALID_ARGUMENT (400) error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}:detectLanguage", +"request": { +"$ref": "DetectLanguageRequest" +}, +"response": { +"$ref": "DetectLanguageResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-translation" +] +}, +"get": { +"description": "Gets information about a location.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "translate.projects.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-translation" +] +}, +"getSupportedLanguages": { +"description": "Returns a list of supported languages for translation.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/supportedLanguages", +"httpMethod": "GET", +"id": "translate.projects.locations.getSupportedLanguages", +"parameterOrder": [ +"parent" +], +"parameters": { +"displayLanguageCode": { +"description": "Optional. The language to use to return localized, human readable names of supported languages. If missing, then display names are not returned in a response.", +"location": "query", +"type": "string" +}, +"model": { +"description": "Optional. Get supported languages of this model. The format depends on model type: - AutoML Translation models: `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}` - General (built-in) models: `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`, Returns languages supported by the specified model. If missing, we get supported languages of Google general NMT model.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Project or location to make a call. Must refer to a caller's project. Format: `projects/{project-number-or-id}` or `projects/{project-number-or-id}/locations/{location-id}`. For global calls, use `projects/{project-number-or-id}/locations/global` or `projects/{project-number-or-id}`. Non-global location is required for AutoML models. Only models within the same region (have same location-id) can be used, otherwise an INVALID_ARGUMENT (400) error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/supportedLanguages", +"response": { +"$ref": "SupportedLanguages" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-translation" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v3beta1/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "translate.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": "v3beta1/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-translation" +] +}, +"translateDocument": { +"description": "Translates documents in synchronous mode.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}:translateDocument", +"httpMethod": "POST", +"id": "translate.projects.locations.translateDocument", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Location to make a regional call. Format: `projects/{project-number-or-id}/locations/{location-id}`. For global calls, use `projects/{project-number-or-id}/locations/global`. Non-global location is required for requests using AutoML models or custom glossaries. Models and glossaries must be within the same region (have the same location-id), otherwise an INVALID_ARGUMENT (400) error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}:translateDocument", +"request": { +"$ref": "TranslateDocumentRequest" +}, +"response": { +"$ref": "TranslateDocumentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-translation" +] +}, +"translateText": { +"description": "Translates input text and returns translated text.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}:translateText", +"httpMethod": "POST", +"id": "translate.projects.locations.translateText", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Project or location to make a call. Must refer to a caller's project. Format: `projects/{project-number-or-id}` or `projects/{project-number-or-id}/locations/{location-id}`. For global calls, use `projects/{project-number-or-id}/locations/global` or `projects/{project-number-or-id}`. Non-global location is required for requests using AutoML models or custom glossaries. Models and glossaries must be within the same region (have same location-id), otherwise an INVALID_ARGUMENT (400) error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}:translateText", +"request": { +"$ref": "TranslateTextRequest" +}, +"response": { +"$ref": "TranslateTextResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-translation" +] +} +}, +"resources": { +"glossaries": { +"methods": { +"create": { +"description": "Creates a glossary and returns the long-running operation. Returns NOT_FOUND, if the project doesn't exist.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/glossaries", +"httpMethod": "POST", +"id": "translate.projects.locations.glossaries.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The project name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/glossaries", +"request": { +"$ref": "Glossary" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-translation" +] +}, +"delete": { +"description": "Deletes a glossary, or cancels glossary construction if the glossary isn't created yet. Returns NOT_FOUND, if the glossary doesn't exist.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}", +"httpMethod": "DELETE", +"id": "translate.projects.locations.glossaries.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the glossary to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-translation" +] +}, +"get": { +"description": "Gets a glossary. Returns NOT_FOUND, if the glossary doesn't exist.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}", +"httpMethod": "GET", +"id": "translate.projects.locations.glossaries.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the glossary to retrieve.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+name}", +"response": { +"$ref": "Glossary" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-translation" +] +}, +"list": { +"description": "Lists glossaries in a project. Returns NOT_FOUND, if the project doesn't exist.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/glossaries", +"httpMethod": "GET", +"id": "translate.projects.locations.glossaries.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filter specifying constraints of a list operation. Specify the constraint by the format of \"key=value\", where key must be \"src\" or \"tgt\", and the value must be a valid language code. For multiple restrictions, concatenate them by \"AND\" (uppercase only), such as: \"src=en-US AND tgt=zh-CN\". Notice that the exact match is used here, which means using 'en-US' and 'en' can lead to different results, which depends on the language code you used when you create the glossary. For the unidirectional glossaries, the \"src\" and \"tgt\" add restrictions on the source and target language code separately. For the equivalent term set glossaries, the \"src\" and/or \"tgt\" add restrictions on the term set. For example: \"src=en-US AND tgt=zh-CN\" will only pick the unidirectional glossaries which exactly match the source language code as \"en-US\" and the target language code \"zh-CN\", but all equivalent term set glossaries which contain \"en-US\" and \"zh-CN\" in their language set will be picked. If missing, no filtering is performed.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Requested page size. The server may return fewer glossaries than requested. If unspecified, the server picks an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A token identifying a page of results the server should return. Typically, this is the value of [ListGlossariesResponse.next_page_token] returned from the previous call to `ListGlossaries` method. The first page is returned if `page_token`is empty or missing.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the project from which to list all of the glossaries.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v3beta1/{+parent}/glossaries", +"response": { +"$ref": "ListGlossariesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-translation" +] +} +} +}, +"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": "v3beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "translate.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": "v3beta1/{+name}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-translation" +] +}, +"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": "v3beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "translate.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": "v3beta1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-translation" +] +}, +"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": "v3beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "translate.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": "v3beta1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-translation" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "translate.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": "v3beta1/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-translation" +] +}, +"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": "v3beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "translate.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" +} +}, +"path": "v3beta1/{+name}:wait", +"request": { +"$ref": "WaitOperationRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-translation" +] +} +} +} +} +} +} +} +}, +"revision": "20241218", +"rootUrl": "https://translation.googleapis.com/", +"schemas": { +"BatchDocumentInputConfig": { +"description": "Input configuration for BatchTranslateDocument request.", +"id": "BatchDocumentInputConfig", +"properties": { +"gcsSource": { +"$ref": "GcsSource", +"description": "Google Cloud Storage location for the source input. This can be a single file (for example, `gs://translation-test/input.docx`) or a wildcard (for example, `gs://translation-test/*`). File mime type is determined based on extension. Supported mime type includes: - `pdf`, application/pdf - `docx`, application/vnd.openxmlformats-officedocument.wordprocessingml.document - `pptx`, application/vnd.openxmlformats-officedocument.presentationml.presentation - `xlsx`, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet The max file size to support for `.docx`, `.pptx` and `.xlsx` is 100MB. The max file size to support for `.pdf` is 1GB and the max page limit is 1000 pages. The max file size to support for all input documents is 1GB." +} +}, +"type": "object" +}, +"BatchDocumentOutputConfig": { +"description": "Output configuration for BatchTranslateDocument request.", +"id": "BatchDocumentOutputConfig", +"properties": { +"gcsDestination": { +"$ref": "GcsDestination", +"description": "Google Cloud Storage destination for output content. For every single input document (for example, gs://a/b/c.[extension]), we generate at most 2 * n output files. (n is the # of target_language_codes in the BatchTranslateDocumentRequest). While the input documents are being processed, we write/update an index file `index.csv` under `gcs_destination.output_uri_prefix` (for example, gs://translation_output/index.csv) The index file is generated/updated as new files are being translated. The format is: input_document,target_language_code,translation_output,error_output, glossary_translation_output,glossary_error_output `input_document` is one file we matched using gcs_source.input_uri. `target_language_code` is provided in the request. `translation_output` contains the translations. (details provided below) `error_output` contains the error message during processing of the file. Both translations_file and errors_file could be empty strings if we have no content to output. `glossary_translation_output` and `glossary_error_output` are the translated output/error when we apply glossaries. They could also be empty if we have no content to output. Once a row is present in index.csv, the input/output matching never changes. Callers should also expect all the content in input_file are processed and ready to be consumed (that is, no partial output file is written). Since index.csv will be keeping updated during the process, please make sure there is no custom retention policy applied on the output bucket that may avoid file updating. (https://cloud.google.com/storage/docs/bucket-lock#retention-policy) The naming format of translation output files follows (for target language code [trg]): `translation_output`: `gs://translation_output/a_b_c_[trg]_translation.[extension]` `glossary_translation_output`: `gs://translation_test/a_b_c_[trg]_glossary_translation.[extension]`. The output document will maintain the same file format as the input document. The naming format of error output files follows (for target language code [trg]): `error_output`: `gs://translation_test/a_b_c_[trg]_errors.txt` `glossary_error_output`: `gs://translation_test/a_b_c_[trg]_glossary_translation.txt` The error output is a txt file containing error details." +} +}, +"type": "object" +}, +"BatchTranslateDocumentRequest": { +"description": "The BatchTranslateDocument request.", +"id": "BatchTranslateDocumentRequest", +"properties": { +"customizedAttribution": { +"description": "Optional. This flag is to support user customized attribution. If not provided, the default is `Machine Translated by Google`. Customized attribution should follow rules in https://cloud.google.com/translate/attribution#attribution_and_logos", +"type": "string" +}, +"enableRotationCorrection": { +"description": "Optional. If true, enable auto rotation correction in DVS.", +"type": "boolean" +}, +"enableShadowRemovalNativePdf": { +"description": "Optional. If true, use the text removal server to remove the shadow text on background image for native pdf translation. Shadow removal feature can only be enabled when is_translate_native_pdf_only: false && pdf_native_only: false", +"type": "boolean" +}, +"formatConversions": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. File format conversion map to be applied to all input files. Map's key is the original mime_type. Map's value is the target mime_type of translated documents. Supported file format conversion includes: - `application/pdf` to `application/vnd.openxmlformats-officedocument.wordprocessingml.document` If nothing specified, output files will be in the same format as the original file.", +"type": "object" +}, +"glossaries": { +"additionalProperties": { +"$ref": "TranslateTextGlossaryConfig" +}, +"description": "Optional. Glossaries to be applied. It's keyed by target language code.", +"type": "object" +}, +"inputConfigs": { +"description": "Required. Input configurations. The total number of files matched should be <= 100. The total content size to translate should be <= 100M Unicode codepoints. The files must use UTF-8 encoding.", +"items": { +"$ref": "BatchDocumentInputConfig" +}, +"type": "array" +}, +"models": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The models to use for translation. Map's key is target language code. Map's value is the model name. Value can be a built-in general model, or an AutoML Translation model. The value format depends on model type: - AutoML Translation models: `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}` - General (built-in) models: `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`, If the map is empty or a specific model is not requested for a language pair, then default google model (nmt) is used.", +"type": "object" +}, +"outputConfig": { +"$ref": "BatchDocumentOutputConfig", +"description": "Required. Output configuration. If 2 input configs match to the same file (that is, same input path), we don't generate output for duplicate inputs." +}, +"sourceLanguageCode": { +"description": "Required. The BCP-47 language code of the input document if known, for example, \"en-US\" or \"sr-Latn\". Supported language codes are listed in [Language Support](https://cloud.google.com/translate/docs/languages).", +"type": "string" +}, +"targetLanguageCodes": { +"description": "Required. The BCP-47 language code to use for translation of the input document. Specify up to 10 language codes here.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"BatchTranslateTextRequest": { +"description": "The batch translation request.", +"id": "BatchTranslateTextRequest", +"properties": { +"glossaries": { +"additionalProperties": { +"$ref": "TranslateTextGlossaryConfig" +}, +"description": "Optional. Glossaries to be applied for translation. It's keyed by target language code.", +"type": "object" +}, +"inputConfigs": { +"description": "Required. Input configurations. The total number of files matched should be <= 100. The total content size should be <= 100M Unicode codepoints. The files must use UTF-8 encoding.", +"items": { +"$ref": "InputConfig" +}, +"type": "array" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels with user-defined metadata for the request. Label keys and values can be no longer than 63 characters (Unicode codepoints), 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. See https://cloud.google.com/translate/docs/labels for more information.", +"type": "object" +}, +"models": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The models to use for translation. Map's key is target language code. Map's value is model name. Value can be a built-in general model, or an AutoML Translation model. The value format depends on model type: - AutoML Translation models: `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}` - General (built-in) models: `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`, If the map is empty or a specific model is not requested for a language pair, then default google model (nmt) is used.", +"type": "object" +}, +"outputConfig": { +"$ref": "OutputConfig", +"description": "Required. Output configuration. If 2 input configs match to the same file (that is, same input path), we don't generate output for duplicate inputs." +}, +"sourceLanguageCode": { +"description": "Required. Source language code.", +"type": "string" +}, +"targetLanguageCodes": { +"description": "Required. Specify up to 10 language codes here.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"DetectLanguageRequest": { +"description": "The request message for language detection.", +"id": "DetectLanguageRequest", +"properties": { +"content": { +"description": "The content of the input stored as a string.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels with user-defined metadata for the request. Label keys and values can be no longer than 63 characters (Unicode codepoints), 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. See https://cloud.google.com/translate/docs/labels for more information.", +"type": "object" +}, +"mimeType": { +"description": "Optional. The format of the source text, for example, \"text/html\", \"text/plain\". If left blank, the MIME type defaults to \"text/html\".", +"type": "string" +}, +"model": { +"description": "Optional. The language detection model to be used. Format: `projects/{project-number-or-id}/locations/{location-id}/models/language-detection/{model-id}` Only one language detection model is currently supported: `projects/{project-number-or-id}/locations/{location-id}/models/language-detection/default`. If not specified, the default model is used.", +"type": "string" +} +}, +"type": "object" +}, +"DetectLanguageResponse": { +"description": "The response message for language detection.", +"id": "DetectLanguageResponse", +"properties": { +"languages": { +"description": "A list of detected languages sorted by detection confidence in descending order. The most probable language first.", +"items": { +"$ref": "DetectedLanguage" +}, +"type": "array" +} +}, +"type": "object" +}, +"DetectedLanguage": { +"description": "The response message for language detection.", +"id": "DetectedLanguage", +"properties": { +"confidence": { +"description": "The confidence of the detection result for this language.", +"format": "float", +"type": "number" +}, +"languageCode": { +"description": "The BCP-47 language code of source content in the request, detected automatically.", +"type": "string" +} +}, +"type": "object" +}, +"DocumentInputConfig": { +"description": "A document translation request input config.", +"id": "DocumentInputConfig", +"properties": { +"content": { +"description": "Document's content represented as a stream of bytes.", +"format": "byte", +"type": "string" +}, +"gcsSource": { +"$ref": "GcsSource", +"description": "Google Cloud Storage location. This must be a single file. For example: gs://example_bucket/example_file.pdf" +}, +"mimeType": { +"description": "Specifies the input document's mime_type. If not specified it will be determined using the file extension for gcs_source provided files. For a file provided through bytes content the mime_type must be provided. Currently supported mime types are: - application/pdf - application/vnd.openxmlformats-officedocument.wordprocessingml.document - application/vnd.openxmlformats-officedocument.presentationml.presentation - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", +"type": "string" +} +}, +"type": "object" +}, +"DocumentOutputConfig": { +"description": "A document translation request output config.", +"id": "DocumentOutputConfig", +"properties": { +"gcsDestination": { +"$ref": "GcsDestination", +"description": "Optional. Google Cloud Storage destination for the translation output, e.g., `gs://my_bucket/my_directory/`. The destination directory provided does not have to be empty, but the bucket must exist. If a file with the same name as the output file already exists in the destination an error will be returned. For a DocumentInputConfig.contents provided document, the output file will have the name \"output_[trg]_translations.[ext]\", where - [trg] corresponds to the translated file's language code, - [ext] corresponds to the translated file's extension according to its mime type. For a DocumentInputConfig.gcs_uri provided document, the output file will have a name according to its URI. For example: an input file with URI: `gs://a/b/c.[extension]` stored in a gcs_destination bucket with name \"my_bucket\" will have an output URI: `gs://my_bucket/a_b_c_[trg]_translations.[ext]`, where - [trg] corresponds to the translated file's language code, - [ext] corresponds to the translated file's extension according to its mime type. If the document was directly provided through the request, then the output document will have the format: `gs://my_bucket/translated_document_[trg]_translations.[ext]`, where - [trg] corresponds to the translated file's language code, - [ext] corresponds to the translated file's extension according to its mime type. If a glossary was provided, then the output URI for the glossary translation will be equal to the default output URI but have `glossary_translations` instead of `translations`. For the previous example, its glossary URI would be: `gs://my_bucket/a_b_c_[trg]_glossary_translations.[ext]`. Thus the max number of output files will be 2 (Translated document, Glossary translated document). Callers should expect no partial outputs. If there is any error during document translation, no output will be stored in the Cloud Storage bucket." +}, +"mimeType": { +"description": "Optional. Specifies the translated document's mime_type. If not specified, the translated file's mime type will be the same as the input file's mime type. Currently only support the output mime type to be the same as input mime type. - application/pdf - application/vnd.openxmlformats-officedocument.wordprocessingml.document - application/vnd.openxmlformats-officedocument.presentationml.presentation - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", +"type": "string" +} +}, +"type": "object" +}, +"DocumentTranslation": { +"description": "A translated document message.", +"id": "DocumentTranslation", +"properties": { +"byteStreamOutputs": { +"description": "The array of translated documents. It is expected to be size 1 for now. We may produce multiple translated documents in the future for other type of file formats.", +"items": { +"format": "byte", +"type": "string" +}, +"type": "array" +}, +"detectedLanguageCode": { +"description": "The detected language for the input document. If the user did not provide the source language for the input document, this field will have the language code automatically detected. If the source language was passed, auto-detection of the language does not occur and this field is empty.", +"type": "string" +}, +"mimeType": { +"description": "The translated document's mime type.", +"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" +}, +"GcsDestination": { +"description": "The Google Cloud Storage location for the output content.", +"id": "GcsDestination", +"properties": { +"outputUriPrefix": { +"description": "Required. There must be no files under 'output_uri_prefix'. 'output_uri_prefix' must end with \"/\" and start with \"gs://\", otherwise an INVALID_ARGUMENT (400) error is returned.", +"type": "string" +} +}, +"type": "object" +}, +"GcsSource": { +"description": "The Google Cloud Storage location for the input content.", +"id": "GcsSource", +"properties": { +"inputUri": { +"description": "Required. Source data URI. For example, `gs://my_bucket/my_object`.", +"type": "string" +} +}, +"type": "object" +}, +"Glossary": { +"description": "Represents a glossary built from user provided data.", +"id": "Glossary", +"properties": { +"endTime": { +"description": "Output only. When the glossary creation was finished.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"entryCount": { +"description": "Output only. The number of entries defined in the glossary.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"inputConfig": { +"$ref": "GlossaryInputConfig", +"description": "Required. Provides examples to build the glossary from. Total glossary must not exceed 10M Unicode codepoints." +}, +"languageCodesSet": { +"$ref": "LanguageCodesSet", +"description": "Used with equivalent term set glossaries." +}, +"languagePair": { +"$ref": "LanguageCodePair", +"description": "Used with unidirectional glossaries." +}, +"name": { +"description": "Required. The resource name of the glossary. Glossary names have the form `projects/{project-number-or-id}/locations/{location-id}/glossaries/{glossary-id}`.", +"type": "string" +}, +"submitTime": { +"description": "Output only. When CreateGlossary was called.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GlossaryInputConfig": { +"description": "Input configuration for glossaries.", +"id": "GlossaryInputConfig", +"properties": { +"gcsSource": { +"$ref": "GcsSource", +"description": "Required. Google Cloud Storage location of glossary data. File format is determined based on the filename extension. API returns [google.rpc.Code.INVALID_ARGUMENT] for unsupported URI-s and file formats. Wildcards are not allowed. This must be a single file in one of the following formats: For unidirectional glossaries: - TSV/CSV (`.tsv`/`.csv`): 2 column file, tab- or comma-separated. The first column is source text. The second column is target text. The file must not contain headers. That is, the first row is data, not column names. - TMX (`.tmx`): TMX file with parallel data defining source/target term pairs. For equivalent term sets glossaries: - CSV (`.csv`): Multi-column CSV file defining equivalent glossary terms in multiple languages. See documentation for more information - [glossaries](https://cloud.google.com/translate/docs/advanced/glossary)." +} +}, +"type": "object" +}, +"InputConfig": { +"description": "Input configuration for BatchTranslateText request.", +"id": "InputConfig", +"properties": { +"gcsSource": { +"$ref": "GcsSource", +"description": "Required. Google Cloud Storage location for the source input. This can be a single file (for example, `gs://translation-test/input.tsv`) or a wildcard (for example, `gs://translation-test/*`). If a file extension is `.tsv`, it can contain either one or two columns. The first column (optional) is the id of the text request. If the first column is missing, we use the row number (0-based) from the input file as the ID in the output file. The second column is the actual text to be translated. We recommend each row be <= 10K Unicode codepoints, otherwise an error might be returned. Note that the input tsv must be RFC 4180 compliant. You could use https://github.com/Clever/csvlint to check potential formatting errors in your tsv file. csvlint --delimiter='\\t' your_input_file.tsv The other supported file extensions are `.txt` or `.html`, which is treated as a single large chunk of text." +}, +"mimeType": { +"description": "Optional. Can be \"text/plain\" or \"text/html\". For `.tsv`, \"text/html\" is used if mime_type is missing. For `.html`, this field must be \"text/html\" or empty. For `.txt`, this field must be \"text/plain\" or empty.", +"type": "string" +} +}, +"type": "object" +}, +"LanguageCodePair": { +"description": "Used with unidirectional glossaries.", +"id": "LanguageCodePair", +"properties": { +"sourceLanguageCode": { +"description": "Required. The BCP-47 language code of the input text, for example, \"en-US\". Expected to be an exact match for GlossaryTerm.language_code.", +"type": "string" +}, +"targetLanguageCode": { +"description": "Required. The BCP-47 language code for translation output, for example, \"zh-CN\". Expected to be an exact match for GlossaryTerm.language_code.", +"type": "string" +} +}, +"type": "object" +}, +"LanguageCodesSet": { +"description": "Used with equivalent term set glossaries.", +"id": "LanguageCodesSet", +"properties": { +"languageCodes": { +"description": "The BCP-47 language code(s) for terms defined in the glossary. All entries are unique. The list contains at least two entries. Expected to be an exact match for GlossaryTerm.language_code.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListGlossariesResponse": { +"description": "Response message for ListGlossaries.", +"id": "ListGlossariesResponse", +"properties": { +"glossaries": { +"description": "The list of glossaries for a project.", +"items": { +"$ref": "Glossary" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve a page of results. Pass this value in the [ListGlossariesRequest.page_token] field in the subsequent call to `ListGlossaries` method to retrieve 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" +}, +"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" +}, +"OutputConfig": { +"description": "Output configuration for BatchTranslateText request.", +"id": "OutputConfig", +"properties": { +"gcsDestination": { +"$ref": "GcsDestination", +"description": "Google Cloud Storage destination for output content. For every single input file (for example, gs://a/b/c.[extension]), we generate at most 2 * n output files. (n is the # of target_language_codes in the BatchTranslateTextRequest). Output files (tsv) generated are compliant with RFC 4180 except that record delimiters are '\\n' instead of '\\r\\n'. We don't provide any way to change record delimiters. While the input files are being processed, we write/update an index file 'index.csv' under 'output_uri_prefix' (for example, gs://translation-test/index.csv) The index file is generated/updated as new files are being translated. The format is: input_file,target_language_code,translations_file,errors_file, glossary_translations_file,glossary_errors_file input_file is one file we matched using gcs_source.input_uri. target_language_code is provided in the request. translations_file contains the translations. (details provided below) errors_file contains the errors during processing of the file. (details below). Both translations_file and errors_file could be empty strings if we have no content to output. glossary_translations_file and glossary_errors_file are always empty strings if the input_file is tsv. They could also be empty if we have no content to output. Once a row is present in index.csv, the input/output matching never changes. Callers should also expect all the content in input_file are processed and ready to be consumed (that is, no partial output file is written). Since index.csv will be keeping updated during the process, please make sure there is no custom retention policy applied on the output bucket that may avoid file updating. (https://cloud.google.com/storage/docs/bucket-lock#retention-policy) The format of translations_file (for target language code 'trg') is: `gs://translation_test/a_b_c_'trg'_translations.[extension]` If the input file extension is tsv, the output has the following columns: Column 1: ID of the request provided in the input, if it's not provided in the input, then the input row number is used (0-based). Column 2: source sentence. Column 3: translation without applying a glossary. Empty string if there is an error. Column 4 (only present if a glossary is provided in the request): translation after applying the glossary. Empty string if there is an error applying the glossary. Could be same string as column 3 if there is no glossary applied. If input file extension is a txt or html, the translation is directly written to the output file. If glossary is requested, a separate glossary_translations_file has format of `gs://translation_test/a_b_c_'trg'_glossary_translations.[extension]` The format of errors file (for target language code 'trg') is: `gs://translation_test/a_b_c_'trg'_errors.[extension]` If the input file extension is tsv, errors_file contains the following: Column 1: ID of the request provided in the input, if it's not provided in the input, then the input row number is used (0-based). Column 2: source sentence. Column 3: Error detail for the translation. Could be empty. Column 4 (only present if a glossary is provided in the request): Error when applying the glossary. If the input file extension is txt or html, glossary_error_file will be generated that contains error details. glossary_error_file has format of `gs://translation_test/a_b_c_'trg'_glossary_errors.[extension]`" +} +}, +"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" +}, +"SupportedLanguage": { +"description": "A single supported language response corresponds to information related to one supported language.", +"id": "SupportedLanguage", +"properties": { +"displayName": { +"description": "Human readable name of the language localized in the display language specified in the request.", +"type": "string" +}, +"languageCode": { +"description": "Supported language code, generally consisting of its ISO 639-1 identifier, for example, 'en', 'ja'. In certain cases, BCP-47 codes including language and region identifiers are returned (for example, 'zh-TW' and 'zh-CN')", +"type": "string" +}, +"supportSource": { +"description": "Can be used as source language.", +"type": "boolean" +}, +"supportTarget": { +"description": "Can be used as target language.", +"type": "boolean" +} +}, +"type": "object" +}, +"SupportedLanguages": { +"description": "The response message for discovering supported languages.", +"id": "SupportedLanguages", +"properties": { +"languages": { +"description": "A list of supported language responses. This list contains an entry for each language the Translation API supports.", +"items": { +"$ref": "SupportedLanguage" +}, +"type": "array" +} +}, +"type": "object" +}, +"TranslateDocumentRequest": { +"description": "A document translation request.", +"id": "TranslateDocumentRequest", +"properties": { +"customizedAttribution": { +"description": "Optional. This flag is to support user customized attribution. If not provided, the default is `Machine Translated by Google`. Customized attribution should follow rules in https://cloud.google.com/translate/attribution#attribution_and_logos", +"type": "string" +}, +"documentInputConfig": { +"$ref": "DocumentInputConfig", +"description": "Required. Input configurations." +}, +"documentOutputConfig": { +"$ref": "DocumentOutputConfig", +"description": "Optional. Output configurations. Defines if the output file should be stored within Cloud Storage as well as the desired output format. If not provided the translated file will only be returned through a byte-stream and its output mime type will be the same as the input file's mime type." +}, +"enableRotationCorrection": { +"description": "Optional. If true, enable auto rotation correction in DVS.", +"type": "boolean" +}, +"enableShadowRemovalNativePdf": { +"description": "Optional. If true, use the text removal server to remove the shadow text on background image for native pdf translation. Shadow removal feature can only be enabled when is_translate_native_pdf_only: false && pdf_native_only: false", +"type": "boolean" +}, +"glossaryConfig": { +"$ref": "TranslateTextGlossaryConfig", +"description": "Optional. Glossary to be applied. The glossary must be within the same region (have the same location-id) as the model, otherwise an INVALID_ARGUMENT (400) error is returned." +}, +"isTranslateNativePdfOnly": { +"description": "Optional. is_translate_native_pdf_only field for external customers. If true, the page limit of online native pdf translation is 300 and only native pdf pages will be translated.", +"type": "boolean" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels with user-defined metadata for the request. Label keys and values can be no longer than 63 characters (Unicode codepoints), 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. See https://cloud.google.com/translate/docs/advanced/labels for more information.", +"type": "object" +}, +"model": { +"description": "Optional. The `model` type requested for this translation. The format depends on model type: - AutoML Translation models: `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}` - General (built-in) models: `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`, If not provided, the default Google model (NMT) will be used for translation.", +"type": "string" +}, +"sourceLanguageCode": { +"description": "Optional. The BCP-47 language code of the input document if known, for example, \"en-US\" or \"sr-Latn\". Supported language codes are listed in Language Support. If the source language isn't specified, the API attempts to identify the source language automatically and returns the source language within the response. Source language must be specified if the request contains a glossary or a custom model.", +"type": "string" +}, +"targetLanguageCode": { +"description": "Required. The BCP-47 language code to use for translation of the input document, set to one of the language codes listed in Language Support.", +"type": "string" +} +}, +"type": "object" +}, +"TranslateDocumentResponse": { +"description": "A translated document response message.", +"id": "TranslateDocumentResponse", +"properties": { +"documentTranslation": { +"$ref": "DocumentTranslation", +"description": "Translated document." +}, +"glossaryConfig": { +"$ref": "TranslateTextGlossaryConfig", +"description": "The `glossary_config` used for this translation." +}, +"glossaryDocumentTranslation": { +"$ref": "DocumentTranslation", +"description": "The document's translation output if a glossary is provided in the request. This can be the same as [TranslateDocumentResponse.document_translation] if no glossary terms apply." +}, +"model": { +"description": "Only present when 'model' is present in the request. 'model' is normalized to have a project number. For example: If the 'model' field in TranslateDocumentRequest is: `projects/{project-id}/locations/{location-id}/models/general/nmt` then `model` here would be normalized to `projects/{project-number}/locations/{location-id}/models/general/nmt`.", +"type": "string" +} +}, +"type": "object" +}, +"TranslateTextGlossaryConfig": { +"description": "----------------------------------------------------------------------------- Configures which glossary should be used for a specific target language, and defines options for applying that glossary.", +"id": "TranslateTextGlossaryConfig", +"properties": { +"contextualTranslationEnabled": { +"description": "Optional. If set to true, the glossary will be used for contextual translation.", +"type": "boolean" +}, +"glossary": { +"description": "Required. Specifies the glossary used for this translation. Use this format: projects/*/locations/*/glossaries/*", +"type": "string" +}, +"ignoreCase": { +"description": "Optional. Indicates match is case-insensitive. Default value is false if missing.", +"type": "boolean" +} +}, +"type": "object" +}, +"TranslateTextRequest": { +"description": "The request message for synchronous translation.", +"id": "TranslateTextRequest", +"properties": { +"contents": { +"description": "Required. The content of the input in string format. We recommend the total content be less than 30k codepoints. The max length of this field is 1024. Use BatchTranslateText for larger text.", +"items": { +"type": "string" +}, +"type": "array" +}, +"glossaryConfig": { +"$ref": "TranslateTextGlossaryConfig", +"description": "Optional. Glossary to be applied. The glossary must be within the same region (have the same location-id) as the model, otherwise an INVALID_ARGUMENT (400) error is returned." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels with user-defined metadata for the request. Label keys and values can be no longer than 63 characters (Unicode codepoints), 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. See https://cloud.google.com/translate/docs/labels for more information.", +"type": "object" +}, +"mimeType": { +"description": "Optional. The format of the source text, for example, \"text/html\", \"text/plain\". If left blank, the MIME type defaults to \"text/html\".", +"type": "string" +}, +"model": { +"description": "Optional. The `model` type requested for this translation. The format depends on model type: - AutoML Translation models: `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}` - General (built-in) models: `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`, For global (non-regionalized) requests, use `location-id` `global`. For example, `projects/{project-number-or-id}/locations/global/models/general/nmt`. If not provided, the default Google model (NMT) will be used", +"type": "string" +}, +"sourceLanguageCode": { +"description": "Optional. The BCP-47 language code of the input text if known, for example, \"en-US\" or \"sr-Latn\". Supported language codes are listed in Language Support. If the source language isn't specified, the API attempts to identify the source language automatically and returns the source language within the response.", +"type": "string" +}, +"targetLanguageCode": { +"description": "Required. The BCP-47 language code to use for translation of the input text, set to one of the language codes listed in Language Support.", +"type": "string" +} +}, +"type": "object" +}, +"TranslateTextResponse": { +"id": "TranslateTextResponse", +"properties": { +"glossaryTranslations": { +"description": "Text translation responses if a glossary is provided in the request. This can be the same as `translations` if no terms apply. This field has the same length as `contents`.", +"items": { +"$ref": "Translation" +}, +"type": "array" +}, +"translations": { +"description": "Text translation responses with no glossary applied. This field has the same length as `contents`.", +"items": { +"$ref": "Translation" +}, +"type": "array" +} +}, +"type": "object" +}, +"Translation": { +"description": "A single translation response.", +"id": "Translation", +"properties": { +"detectedLanguageCode": { +"description": "The BCP-47 language code of source text in the initial request, detected automatically, if no source language was passed within the initial request. If the source language was passed, auto-detection of the language does not occur and this field is empty.", +"type": "string" +}, +"glossaryConfig": { +"$ref": "TranslateTextGlossaryConfig", +"description": "The `glossary_config` used for this translation." +}, +"model": { +"description": "Only present when `model` is present in the request. `model` here is normalized to have project number. For example: If the `model` requested in TranslationTextRequest is `projects/{project-id}/locations/{location-id}/models/general/nmt` then `model` here would be normalized to `projects/{project-number}/locations/{location-id}/models/general/nmt`.", +"type": "string" +}, +"translatedText": { +"description": "Text translated into the target language. If an error occurs during translation, this field might be excluded from the response.", +"type": "string" +} +}, +"type": "object" +}, +"WaitOperationRequest": { +"description": "The request message for Operations.WaitOperation.", +"id": "WaitOperationRequest", +"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" +} +}, +"servicePath": "", +"title": "Cloud Translation API", +"version": "v3beta1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/videointelligence.v1p2beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/videointelligence.v1p2beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..02736240dd38e1ed81f505e3de52a4fac089d9b3 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/videointelligence.v1p2beta1.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:v1p2beta1", +"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": "v1p2beta1/videos:annotate", +"httpMethod": "POST", +"id": "videointelligence.videos.annotate", +"parameterOrder": [], +"parameters": {}, +"path": "v1p2beta1/videos:annotate", +"request": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_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_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_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_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_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_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_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_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_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_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_AnnotateVideoRequest": { +"description": "Video annotation request.", +"id": "GoogleCloudVideointelligenceV1p2beta1_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": "GoogleCloudVideointelligenceV1p2beta1_VideoContext", +"description": "Additional video context and/or feature-specific parameters." +} +}, +"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_ExplicitContentDetectionConfig": { +"description": "Config for EXPLICIT_CONTENT_DETECTION.", +"id": "GoogleCloudVideointelligenceV1p2beta1_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" +}, +"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_FaceDetectionConfig": { +"description": "Config for FACE_DETECTION.", +"id": "GoogleCloudVideointelligenceV1p2beta1_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" +}, +"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_LabelDetectionConfig": { +"description": "Config for LABEL_DETECTION.", +"id": "GoogleCloudVideointelligenceV1p2beta1_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" +}, +"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_ObjectTrackingConfig": { +"description": "Config for OBJECT_TRACKING.", +"id": "GoogleCloudVideointelligenceV1p2beta1_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" +}, +"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_PersonDetectionConfig": { +"description": "Config for PERSON_DETECTION.", +"id": "GoogleCloudVideointelligenceV1p2beta1_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" +}, +"GoogleCloudVideointelligenceV1p2beta1_ShotChangeDetectionConfig": { +"description": "Config for SHOT_CHANGE_DETECTION.", +"id": "GoogleCloudVideointelligenceV1p2beta1_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" +}, +"GoogleCloudVideointelligenceV1p2beta1_SpeechContext": { +"description": "Provides \"hints\" to the speech recognizer to favor specific words and phrases in the results.", +"id": "GoogleCloudVideointelligenceV1p2beta1_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" +}, +"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_SpeechTranscriptionConfig": { +"description": "Config for SPEECH_TRANSCRIPTION.", +"id": "GoogleCloudVideointelligenceV1p2beta1_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": "GoogleCloudVideointelligenceV1p2beta1_SpeechContext" +}, +"type": "array" +} +}, +"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_TextDetectionConfig": { +"description": "Config for TEXT_DETECTION.", +"id": "GoogleCloudVideointelligenceV1p2beta1_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" +}, +"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_VideoContext": { +"description": "Video context and/or feature-specific parameters.", +"id": "GoogleCloudVideointelligenceV1p2beta1_VideoContext", +"properties": { +"explicitContentDetectionConfig": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_ExplicitContentDetectionConfig", +"description": "Config for EXPLICIT_CONTENT_DETECTION." +}, +"faceDetectionConfig": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_FaceDetectionConfig", +"description": "Config for FACE_DETECTION." +}, +"labelDetectionConfig": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_LabelDetectionConfig", +"description": "Config for LABEL_DETECTION." +}, +"objectTrackingConfig": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_ObjectTrackingConfig", +"description": "Config for OBJECT_TRACKING." +}, +"personDetectionConfig": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_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": "GoogleCloudVideointelligenceV1p2beta1_VideoSegment" +}, +"type": "array" +}, +"shotChangeDetectionConfig": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_ShotChangeDetectionConfig", +"description": "Config for SHOT_CHANGE_DETECTION." +}, +"speechTranscriptionConfig": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_SpeechTranscriptionConfig", +"description": "Config for SPEECH_TRANSCRIPTION." +}, +"textDetectionConfig": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_TextDetectionConfig", +"description": "Config for TEXT_DETECTION." +} +}, +"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": "v1p2beta1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/vmmigration.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/vmmigration.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..d54572f4fc2e36c76d66c46602f3cc92aed4cef5 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/vmmigration.v1.json @@ -0,0 +1,6114 @@ +{ +"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://vmmigration.googleapis.com/", +"batchPath": "batch", +"canonicalName": "VM Migration Service", +"description": "Use the Migrate to Virtual Machines API to programmatically migrate workloads. ", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/migrate/virtual-machines", +"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": "vmmigration:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://vmmigration.mtls.googleapis.com/", +"name": "vmmigration", +"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": "vmmigration.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": "vmmigration.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": { +"groups": { +"methods": { +"addGroupMigration": { +"description": "Adds a MigratingVm to a Group.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/groups/{groupsId}:addGroupMigration", +"httpMethod": "POST", +"id": "vmmigration.projects.locations.groups.addGroupMigration", +"parameterOrder": [ +"group" +], +"parameters": { +"group": { +"description": "Required. The full path name of the Group to add to.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/groups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+group}:addGroupMigration", +"request": { +"$ref": "AddGroupMigrationRequest" +}, +"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": "vmmigration.projects.locations.groups.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"groupId": { +"description": "Required. The group identifier.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The Group's parent.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "A 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 single Group.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/groups/{groupsId}", +"httpMethod": "DELETE", +"id": "vmmigration.projects.locations.groups.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Group name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/groups/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A 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 Group.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/groups/{groupsId}", +"httpMethod": "GET", +"id": "vmmigration.projects.locations.groups.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The group name.", +"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 Groups in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/groups", +"httpMethod": "GET", +"id": "vmmigration.projects.locations.groups.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The filter request.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. the order by fields for the result.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of groups to return. The service may return fewer than this value. If unspecified, at most 500 groups will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Required. 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 parent, which owns this collection of groups.", +"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 single Group.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/groups/{groupsId}", +"httpMethod": "PATCH", +"id": "vmmigration.projects.locations.groups.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The Group name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/groups/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "A 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": "Field mask is used to specify the fields to be overwritten in the Group 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": "Group" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"removeGroupMigration": { +"description": "Removes a MigratingVm from a Group.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/groups/{groupsId}:removeGroupMigration", +"httpMethod": "POST", +"id": "vmmigration.projects.locations.groups.removeGroupMigration", +"parameterOrder": [ +"group" +], +"parameters": { +"group": { +"description": "Required. The name of the Group.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/groups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+group}:removeGroupMigration", +"request": { +"$ref": "RemoveGroupMigrationRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"imageImports": { +"methods": { +"create": { +"description": "Creates a new ImageImport in a given project.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/imageImports", +"httpMethod": "POST", +"id": "vmmigration.projects.locations.imageImports.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"imageImportId": { +"description": "Required. The image import identifier. This value maximum length is 63 characters, and valid characters are /a-z-/. It must start with an english letter and must not end with a hyphen.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The ImageImport's parent.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A 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}/imageImports", +"request": { +"$ref": "ImageImport" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single ImageImport.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/imageImports/{imageImportsId}", +"httpMethod": "DELETE", +"id": "vmmigration.projects.locations.imageImports.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The ImageImport name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/imageImports/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A 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 t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"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 ImageImport.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/imageImports/{imageImportsId}", +"httpMethod": "GET", +"id": "vmmigration.projects.locations.imageImports.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The ImageImport name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/imageImports/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ImageImport" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists ImageImports in a given project.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/imageImports", +"httpMethod": "GET", +"id": "vmmigration.projects.locations.imageImports.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The filter request (according to AIP-160).", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. The order by fields for the result (according to AIP-132). Currently ordering is only possible by \"name\" field.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of targets to return. The service may return fewer than this value. If unspecified, at most 500 targets 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 `ListImageImports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListImageImports` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of targets.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/imageImports", +"response": { +"$ref": "ListImageImportsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"imageImportJobs": { +"methods": { +"cancel": { +"description": "Initiates the cancellation of a running clone job.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/imageImports/{imageImportsId}/imageImportJobs/{imageImportJobsId}:cancel", +"httpMethod": "POST", +"id": "vmmigration.projects.locations.imageImports.imageImportJobs.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The image import job id.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/imageImports/[^/]+/imageImportJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "CancelImageImportJobRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single ImageImportJob.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/imageImports/{imageImportsId}/imageImportJobs/{imageImportJobsId}", +"httpMethod": "GET", +"id": "vmmigration.projects.locations.imageImports.imageImportJobs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The ImageImportJob name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/imageImports/[^/]+/imageImportJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ImageImportJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists ImageImportJobs in a given project.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/imageImports/{imageImportsId}/imageImportJobs", +"httpMethod": "GET", +"id": "vmmigration.projects.locations.imageImports.imageImportJobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The filter request (according to AIP-160).", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. The order by fields for the result (according to AIP-132). Currently ordering is only possible by \"name\" field.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of targets to return. The service may return fewer than this value. If unspecified, at most 500 targets 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 `ListImageImportJobs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListImageImportJobs` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of targets.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/imageImports/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/imageImportJobs", +"response": { +"$ref": "ListImageImportJobsResponse" +}, +"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": "vmmigration.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": "vmmigration.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": "vmmigration.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": "vmmigration.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" +] +} +} +}, +"sources": { +"methods": { +"create": { +"description": "Creates a new Source in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources", +"httpMethod": "POST", +"id": "vmmigration.projects.locations.sources.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The Source's parent.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "A 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. The source identifier.", +"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 single Source.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}", +"httpMethod": "DELETE", +"id": "vmmigration.projects.locations.sources.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Source name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A 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" +] +}, +"fetchInventory": { +"description": "List remote source's inventory of VMs. The remote source is the onprem vCenter (remote in the sense it's not in Compute Engine). The inventory describes the list of existing VMs in that source. Note that this operation lists the VMs on the remote source, as opposed to listing the MigratingVms resources in the vmmigration service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}:fetchInventory", +"httpMethod": "GET", +"id": "vmmigration.projects.locations.sources.fetchInventory", +"parameterOrder": [ +"source" +], +"parameters": { +"forceRefresh": { +"description": "If this flag is set to true, the source will be queried instead of using cached results. Using this flag will make the call slower.", +"location": "query", +"type": "boolean" +}, +"pageSize": { +"description": "The maximum number of VMs to return. The service may return fewer than this value. For AWS source: If unspecified, at most 500 VMs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. For VMWare source: If unspecified, all VMs will be returned. There is no limit for maximum value.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `FetchInventory` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `FetchInventory` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"source": { +"description": "Required. The name of the Source.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+source}:fetchInventory", +"response": { +"$ref": "FetchInventoryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single Source.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}", +"httpMethod": "GET", +"id": "vmmigration.projects.locations.sources.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Source name.", +"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 Sources in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources", +"httpMethod": "GET", +"id": "vmmigration.projects.locations.sources.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The filter request.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. the order by fields for the result.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of sources to return. The service may return fewer than this value. If unspecified, at most 500 sources will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Required. A page token, received from a previous `ListSources` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSources` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of sources.", +"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 single Source.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}", +"httpMethod": "PATCH", +"id": "vmmigration.projects.locations.sources.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The Source name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "A 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": "Field mask is used to specify the fields to be overwritten in the Source 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": "Source" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"datacenterConnectors": { +"methods": { +"create": { +"description": "Creates a new DatacenterConnector in a given Source.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/datacenterConnectors", +"httpMethod": "POST", +"id": "vmmigration.projects.locations.sources.datacenterConnectors.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"datacenterConnectorId": { +"description": "Required. The datacenterConnector identifier.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The DatacenterConnector's parent. Required. The Source in where the new DatacenterConnector will be created. For example: `projects/my-project/locations/us-central1/sources/my-source`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "A 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}/datacenterConnectors", +"request": { +"$ref": "DatacenterConnector" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single DatacenterConnector.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/datacenterConnectors/{datacenterConnectorsId}", +"httpMethod": "DELETE", +"id": "vmmigration.projects.locations.sources.datacenterConnectors.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The DatacenterConnector name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+/datacenterConnectors/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "A 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 DatacenterConnector.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/datacenterConnectors/{datacenterConnectorsId}", +"httpMethod": "GET", +"id": "vmmigration.projects.locations.sources.datacenterConnectors.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the DatacenterConnector.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+/datacenterConnectors/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "DatacenterConnector" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists DatacenterConnectors in a given Source.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/datacenterConnectors", +"httpMethod": "GET", +"id": "vmmigration.projects.locations.sources.datacenterConnectors.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The filter request.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. the order by fields for the result.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of connectors to return. The service may return fewer than this value. If unspecified, at most 500 sources will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Required. A page token, received from a previous `ListDatacenterConnectors` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDatacenterConnectors` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of connectors.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/datacenterConnectors", +"response": { +"$ref": "ListDatacenterConnectorsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"upgradeAppliance": { +"description": "Upgrades the appliance relate to this DatacenterConnector to the in-place updateable version.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/datacenterConnectors/{datacenterConnectorsId}:upgradeAppliance", +"httpMethod": "POST", +"id": "vmmigration.projects.locations.sources.datacenterConnectors.upgradeAppliance", +"parameterOrder": [ +"datacenterConnector" +], +"parameters": { +"datacenterConnector": { +"description": "Required. The DatacenterConnector name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+/datacenterConnectors/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+datacenterConnector}:upgradeAppliance", +"request": { +"$ref": "UpgradeApplianceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"migratingVms": { +"methods": { +"create": { +"description": "Creates a new MigratingVm in a given Source.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/migratingVms", +"httpMethod": "POST", +"id": "vmmigration.projects.locations.sources.migratingVms.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"migratingVmId": { +"description": "Required. The migratingVm identifier.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The MigratingVm's parent.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "A 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}/migratingVms", +"request": { +"$ref": "MigratingVm" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single MigratingVm.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/migratingVms/{migratingVmsId}", +"httpMethod": "DELETE", +"id": "vmmigration.projects.locations.sources.migratingVms.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the MigratingVm.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+/migratingVms/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"finalizeMigration": { +"description": "Marks a migration as completed, deleting migration resources that are no longer being used. Only applicable after cutover is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/migratingVms/{migratingVmsId}:finalizeMigration", +"httpMethod": "POST", +"id": "vmmigration.projects.locations.sources.migratingVms.finalizeMigration", +"parameterOrder": [ +"migratingVm" +], +"parameters": { +"migratingVm": { +"description": "Required. The name of the MigratingVm.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+/migratingVms/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+migratingVm}:finalizeMigration", +"request": { +"$ref": "FinalizeMigrationRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single MigratingVm.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/migratingVms/{migratingVmsId}", +"httpMethod": "GET", +"id": "vmmigration.projects.locations.sources.migratingVms.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the MigratingVm.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+/migratingVms/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Optional. The level of details of the migrating VM.", +"enum": [ +"MIGRATING_VM_VIEW_UNSPECIFIED", +"MIGRATING_VM_VIEW_BASIC", +"MIGRATING_VM_VIEW_FULL" +], +"enumDescriptions": [ +"View is unspecified. The API will fallback to the default value.", +"Get the migrating VM basic details. The basic details do not include the recent clone jobs and recent cutover jobs lists.", +"Include everything." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "MigratingVm" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists MigratingVms in a given Source.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/migratingVms", +"httpMethod": "GET", +"id": "vmmigration.projects.locations.sources.migratingVms.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The filter request.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. the order by fields for the result.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of migrating VMs to return. The service may return fewer than this value. If unspecified, at most 500 migrating VMs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Required. A page token, received from a previous `ListMigratingVms` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMigratingVms` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of MigratingVms.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Optional. The level of details of each migrating VM.", +"enum": [ +"MIGRATING_VM_VIEW_UNSPECIFIED", +"MIGRATING_VM_VIEW_BASIC", +"MIGRATING_VM_VIEW_FULL" +], +"enumDescriptions": [ +"View is unspecified. The API will fallback to the default value.", +"Get the migrating VM basic details. The basic details do not include the recent clone jobs and recent cutover jobs lists.", +"Include everything." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/migratingVms", +"response": { +"$ref": "ListMigratingVmsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single MigratingVm.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/migratingVms/{migratingVmsId}", +"httpMethod": "PATCH", +"id": "vmmigration.projects.locations.sources.migratingVms.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The identifier of the MigratingVm.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+/migratingVms/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "A 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": "Field mask is used to specify the fields to be overwritten in the MigratingVm 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": "MigratingVm" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"pauseMigration": { +"description": "Pauses a migration for a VM. If cycle tasks are running they will be cancelled, preserving source task data. Further replication cycles will not be triggered while the VM is paused.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/migratingVms/{migratingVmsId}:pauseMigration", +"httpMethod": "POST", +"id": "vmmigration.projects.locations.sources.migratingVms.pauseMigration", +"parameterOrder": [ +"migratingVm" +], +"parameters": { +"migratingVm": { +"description": "Required. The name of the MigratingVm.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+/migratingVms/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+migratingVm}:pauseMigration", +"request": { +"$ref": "PauseMigrationRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"resumeMigration": { +"description": "Resumes a migration for a VM. When called on a paused migration, will start the process of uploading data and creating snapshots; when called on a completed cut-over migration, will update the migration to active state and start the process of uploading data and creating snapshots.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/migratingVms/{migratingVmsId}:resumeMigration", +"httpMethod": "POST", +"id": "vmmigration.projects.locations.sources.migratingVms.resumeMigration", +"parameterOrder": [ +"migratingVm" +], +"parameters": { +"migratingVm": { +"description": "Required. The name of the MigratingVm.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+/migratingVms/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+migratingVm}:resumeMigration", +"request": { +"$ref": "ResumeMigrationRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"startMigration": { +"description": "Starts migration for a VM. Starts the process of uploading data and creating snapshots, in replication cycles scheduled by the policy.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/migratingVms/{migratingVmsId}:startMigration", +"httpMethod": "POST", +"id": "vmmigration.projects.locations.sources.migratingVms.startMigration", +"parameterOrder": [ +"migratingVm" +], +"parameters": { +"migratingVm": { +"description": "Required. The name of the MigratingVm.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+/migratingVms/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+migratingVm}:startMigration", +"request": { +"$ref": "StartMigrationRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"cloneJobs": { +"methods": { +"cancel": { +"description": "Initiates the cancellation of a running clone job.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/migratingVms/{migratingVmsId}/cloneJobs/{cloneJobsId}:cancel", +"httpMethod": "POST", +"id": "vmmigration.projects.locations.sources.migratingVms.cloneJobs.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The clone job id", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+/migratingVms/[^/]+/cloneJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "CancelCloneJobRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Initiates a Clone of a specific migrating VM.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/migratingVms/{migratingVmsId}/cloneJobs", +"httpMethod": "POST", +"id": "vmmigration.projects.locations.sources.migratingVms.cloneJobs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"cloneJobId": { +"description": "Required. The clone job identifier.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The Clone's parent.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+/migratingVms/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "A 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}/cloneJobs", +"request": { +"$ref": "CloneJob" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single CloneJob.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/migratingVms/{migratingVmsId}/cloneJobs/{cloneJobsId}", +"httpMethod": "GET", +"id": "vmmigration.projects.locations.sources.migratingVms.cloneJobs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the CloneJob.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+/migratingVms/[^/]+/cloneJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "CloneJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists the CloneJobs of a migrating VM. Only 25 most recent CloneJobs are listed.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/migratingVms/{migratingVmsId}/cloneJobs", +"httpMethod": "GET", +"id": "vmmigration.projects.locations.sources.migratingVms.cloneJobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The filter request.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. the order by fields for the result.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of clone jobs to return. The service may return fewer than this value. If unspecified, at most 500 clone jobs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Required. A page token, received from a previous `ListCloneJobs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCloneJobs` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of source VMs.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+/migratingVms/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/cloneJobs", +"response": { +"$ref": "ListCloneJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"cutoverJobs": { +"methods": { +"cancel": { +"description": "Initiates the cancellation of a running cutover job.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/migratingVms/{migratingVmsId}/cutoverJobs/{cutoverJobsId}:cancel", +"httpMethod": "POST", +"id": "vmmigration.projects.locations.sources.migratingVms.cutoverJobs.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The cutover job id", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+/migratingVms/[^/]+/cutoverJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "CancelCutoverJobRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Initiates a Cutover of a specific migrating VM. The returned LRO is completed when the cutover job resource is created and the job is initiated.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/migratingVms/{migratingVmsId}/cutoverJobs", +"httpMethod": "POST", +"id": "vmmigration.projects.locations.sources.migratingVms.cutoverJobs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"cutoverJobId": { +"description": "Required. The cutover job identifier.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The Cutover's parent.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+/migratingVms/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "A 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}/cutoverJobs", +"request": { +"$ref": "CutoverJob" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single CutoverJob.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/migratingVms/{migratingVmsId}/cutoverJobs/{cutoverJobsId}", +"httpMethod": "GET", +"id": "vmmigration.projects.locations.sources.migratingVms.cutoverJobs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the CutoverJob.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+/migratingVms/[^/]+/cutoverJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "CutoverJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists the CutoverJobs of a migrating VM. Only 25 most recent CutoverJobs are listed.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/migratingVms/{migratingVmsId}/cutoverJobs", +"httpMethod": "GET", +"id": "vmmigration.projects.locations.sources.migratingVms.cutoverJobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The filter request.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. the order by fields for the result.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of cutover jobs to return. The service may return fewer than this value. If unspecified, at most 500 cutover jobs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Required. A page token, received from a previous `ListCutoverJobs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCutoverJobs` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of migrating VMs.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+/migratingVms/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/cutoverJobs", +"response": { +"$ref": "ListCutoverJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"replicationCycles": { +"methods": { +"get": { +"description": "Gets details of a single ReplicationCycle.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/migratingVms/{migratingVmsId}/replicationCycles/{replicationCyclesId}", +"httpMethod": "GET", +"id": "vmmigration.projects.locations.sources.migratingVms.replicationCycles.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the ReplicationCycle.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+/migratingVms/[^/]+/replicationCycles/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ReplicationCycle" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists ReplicationCycles in a given MigratingVM.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/migratingVms/{migratingVmsId}/replicationCycles", +"httpMethod": "GET", +"id": "vmmigration.projects.locations.sources.migratingVms.replicationCycles.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The filter request.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. the order by fields for the result.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of replication cycles to return. The service may return fewer than this value. If unspecified, at most 100 migrating VMs will be returned. The maximum value is 100; values above 100 will be coerced to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Required. A page token, received from a previous `ListReplicationCycles` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReplicationCycles` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of ReplicationCycles.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+/migratingVms/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/replicationCycles", +"response": { +"$ref": "ListReplicationCyclesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"utilizationReports": { +"methods": { +"create": { +"description": "Creates a new UtilizationReport.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/utilizationReports", +"httpMethod": "POST", +"id": "vmmigration.projects.locations.sources.utilizationReports.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The Utilization Report's parent.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "A 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" +}, +"utilizationReportId": { +"description": "Required. The ID to use for the report, which will become the final component of the reports's resource name. This value maximum length is 63 characters, and valid characters are /a-z-/. It must start with an english letter and must not end with a hyphen.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/utilizationReports", +"request": { +"$ref": "UtilizationReport" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single Utilization Report.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/utilizationReports/{utilizationReportsId}", +"httpMethod": "DELETE", +"id": "vmmigration.projects.locations.sources.utilizationReports.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Utilization Report name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+/utilizationReports/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A 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 a single Utilization Report.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/utilizationReports/{utilizationReportsId}", +"httpMethod": "GET", +"id": "vmmigration.projects.locations.sources.utilizationReports.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Utilization Report name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+/utilizationReports/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Optional. The level of details of the report. Defaults to FULL", +"enum": [ +"UTILIZATION_REPORT_VIEW_UNSPECIFIED", +"BASIC", +"FULL" +], +"enumDescriptions": [ +"The default / unset value. The API will default to FULL on single report request and BASIC for multiple reports request.", +"Get the report metadata, without the list of VMs and their utilization info.", +"Include everything." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "UtilizationReport" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Utilization Reports of the given Source.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/utilizationReports", +"httpMethod": "GET", +"id": "vmmigration.projects.locations.sources.utilizationReports.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The filter request.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. the order by fields for the result.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of reports to return. The service may return fewer than this value. If unspecified, at most 500 reports will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Required. A page token, received from a previous `ListUtilizationReports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListUtilizationReports` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The Utilization Reports parent.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Optional. The level of details of each report. Defaults to BASIC.", +"enum": [ +"UTILIZATION_REPORT_VIEW_UNSPECIFIED", +"BASIC", +"FULL" +], +"enumDescriptions": [ +"The default / unset value. The API will default to FULL on single report request and BASIC for multiple reports request.", +"Get the report metadata, without the list of VMs and their utilization info.", +"Include everything." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/utilizationReports", +"response": { +"$ref": "ListUtilizationReportsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"targetProjects": { +"methods": { +"create": { +"description": "Creates a new TargetProject in a given project. NOTE: TargetProject is a global resource; hence the only supported value for location is `global`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/targetProjects", +"httpMethod": "POST", +"id": "vmmigration.projects.locations.targetProjects.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The TargetProject's parent.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "A 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" +}, +"targetProjectId": { +"description": "Required. The target_project identifier.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/targetProjects", +"request": { +"$ref": "TargetProject" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single TargetProject. NOTE: TargetProject is a global resource; hence the only supported value for location is `global`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/targetProjects/{targetProjectsId}", +"httpMethod": "DELETE", +"id": "vmmigration.projects.locations.targetProjects.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The TargetProject name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/targetProjects/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A 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 TargetProject. NOTE: TargetProject is a global resource; hence the only supported value for location is `global`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/targetProjects/{targetProjectsId}", +"httpMethod": "GET", +"id": "vmmigration.projects.locations.targetProjects.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The TargetProject name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/targetProjects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "TargetProject" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists TargetProjects in a given project. NOTE: TargetProject is a global resource; hence the only supported value for location is `global`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/targetProjects", +"httpMethod": "GET", +"id": "vmmigration.projects.locations.targetProjects.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The filter request.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. the order by fields for the result.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of targets to return. The service may return fewer than this value. If unspecified, at most 500 targets will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Required. A page token, received from a previous `ListTargets` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListTargets` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of targets.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/targetProjects", +"response": { +"$ref": "ListTargetProjectsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single TargetProject. NOTE: TargetProject is a global resource; hence the only supported value for location is `global`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/targetProjects/{targetProjectsId}", +"httpMethod": "PATCH", +"id": "vmmigration.projects.locations.targetProjects.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The name of the target project.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/targetProjects/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "A 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": "Field mask is used to specify the fields to be overwritten in the TargetProject 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": "TargetProject" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20241114", +"rootUrl": "https://vmmigration.googleapis.com/", +"schemas": { +"AccessKeyCredentials": { +"description": "Message describing AWS Credentials using access key id and secret.", +"id": "AccessKeyCredentials", +"properties": { +"accessKeyId": { +"description": "AWS access key ID.", +"type": "string" +}, +"secretAccessKey": { +"description": "Input only. AWS secret access key.", +"type": "string" +}, +"sessionToken": { +"description": "Input only. AWS session token. Used only when AWS security token service (STS) is responsible for creating the temporary credentials.", +"type": "string" +} +}, +"type": "object" +}, +"AdaptingOSStep": { +"description": "AdaptingOSStep contains specific step details.", +"id": "AdaptingOSStep", +"properties": {}, +"type": "object" +}, +"AddGroupMigrationRequest": { +"description": "Request message for 'AddGroupMigration' request.", +"id": "AddGroupMigrationRequest", +"properties": { +"migratingVm": { +"description": "The full path name of the MigratingVm to add.", +"type": "string" +} +}, +"type": "object" +}, +"ApplianceVersion": { +"description": "Describes an appliance version.", +"id": "ApplianceVersion", +"properties": { +"critical": { +"description": "Determine whether it's critical to upgrade the appliance to this version.", +"type": "boolean" +}, +"releaseNotesUri": { +"description": "Link to a page that contains the version release notes.", +"type": "string" +}, +"uri": { +"description": "A link for downloading the version.", +"type": "string" +}, +"version": { +"description": "The appliance version.", +"type": "string" +} +}, +"type": "object" +}, +"AppliedLicense": { +"description": "AppliedLicense holds the license data returned by adaptation module report.", +"id": "AppliedLicense", +"properties": { +"osLicense": { +"description": "The OS license returned from the adaptation module's report.", +"type": "string" +}, +"type": { +"description": "The license type that was used in OS adaptation.", +"enum": [ +"TYPE_UNSPECIFIED", +"NONE", +"PAYG", +"BYOL" +], +"enumDescriptions": [ +"Unspecified license for the OS.", +"No license available for the OS.", +"The license type is Pay As You Go license type.", +"The license type is Bring Your Own License type." +], +"type": "string" +} +}, +"type": "object" +}, +"AvailableUpdates": { +"description": "Holds informatiom about the available versions for upgrade.", +"id": "AvailableUpdates", +"properties": { +"inPlaceUpdate": { +"$ref": "ApplianceVersion", +"description": "The latest version for in place update. The current appliance can be updated to this version using the API or m4c CLI." +}, +"newDeployableAppliance": { +"$ref": "ApplianceVersion", +"description": "The newest deployable version of the appliance. The current appliance can't be updated into this version, and the owner must manually deploy this OVA to a new appliance." +} +}, +"type": "object" +}, +"AwsDiskDetails": { +"description": "The details of an AWS instance disk.", +"id": "AwsDiskDetails", +"properties": { +"diskNumber": { +"description": "Output only. The ordinal number of the disk.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"sizeGb": { +"description": "Output only. Size in GB.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"volumeId": { +"description": "Output only. AWS volume ID.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AwsSecurityGroup": { +"description": "AwsSecurityGroup describes a security group of an AWS VM.", +"id": "AwsSecurityGroup", +"properties": { +"id": { +"description": "The AWS security group id.", +"type": "string" +}, +"name": { +"description": "The AWS security group name.", +"type": "string" +} +}, +"type": "object" +}, +"AwsSourceDetails": { +"description": "AwsSourceDetails message describes a specific source details for the AWS source type.", +"id": "AwsSourceDetails", +"properties": { +"accessKeyCreds": { +"$ref": "AccessKeyCredentials", +"description": "AWS Credentials using access key id and secret." +}, +"awsRegion": { +"description": "Immutable. The AWS region that the source VMs will be migrated from.", +"type": "string" +}, +"error": { +"$ref": "Status", +"description": "Output only. Provides details on the state of the Source in case of an error.", +"readOnly": true +}, +"inventorySecurityGroupNames": { +"description": "AWS security group names to limit the scope of the source inventory.", +"items": { +"type": "string" +}, +"type": "array" +}, +"inventoryTagList": { +"description": "AWS resource tags to limit the scope of the source inventory.", +"items": { +"$ref": "Tag" +}, +"type": "array" +}, +"migrationResourcesUserTags": { +"additionalProperties": { +"type": "string" +}, +"description": "User specified tags to add to every M2VM generated resource in AWS. These tags will be set in addition to the default tags that are set as part of the migration process. The tags must not begin with the reserved prefix `m2vm`.", +"type": "object" +}, +"publicIp": { +"description": "Output only. The source's public IP. All communication initiated by this source will originate from this IP.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. State of the source as determined by the health check.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"FAILED", +"ACTIVE" +], +"enumDescriptions": [ +"The state is unknown. This is used for API compatibility only and is not used by the system.", +"The state was not sampled by the health checks yet.", +"The source is available but might not be usable yet due to invalid credentials or another reason. The error message will contain further details.", +"The source exists and its credentials were verified." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AwsSourceVmDetails": { +"description": "Represent the source AWS VM details.", +"id": "AwsSourceVmDetails", +"properties": { +"architecture": { +"description": "Output only. The VM architecture.", +"enum": [ +"VM_ARCHITECTURE_UNSPECIFIED", +"VM_ARCHITECTURE_X86_FAMILY", +"VM_ARCHITECTURE_ARM64" +], +"enumDescriptions": [ +"The architecture is unknown.", +"The architecture is one of the x86 architectures.", +"The architecture is ARM64." +], +"readOnly": true, +"type": "string" +}, +"committedStorageBytes": { +"description": "Output only. The total size of the disks being migrated in bytes.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"disks": { +"description": "Output only. The disks attached to the source VM.", +"items": { +"$ref": "AwsDiskDetails" +}, +"readOnly": true, +"type": "array" +}, +"firmware": { +"description": "Output only. The firmware type of the source VM.", +"enum": [ +"FIRMWARE_UNSPECIFIED", +"EFI", +"BIOS" +], +"enumDescriptions": [ +"The firmware is unknown.", +"The firmware is EFI.", +"The firmware is BIOS." +], +"readOnly": true, +"type": "string" +}, +"vmCapabilitiesInfo": { +"$ref": "VmCapabilities", +"description": "Output only. Information about VM capabilities needed for some Compute Engine features.", +"readOnly": true +} +}, +"type": "object" +}, +"AwsVmDetails": { +"description": "AwsVmDetails describes a VM in AWS.", +"id": "AwsVmDetails", +"properties": { +"architecture": { +"description": "The CPU architecture.", +"enum": [ +"VM_ARCHITECTURE_UNSPECIFIED", +"I386", +"X86_64", +"ARM64", +"X86_64_MAC" +], +"enumDescriptions": [ +"The architecture is unknown.", +"The architecture is I386.", +"The architecture is X86_64.", +"The architecture is ARM64.", +"The architecture is X86_64_MAC." +], +"type": "string" +}, +"bootOption": { +"description": "The VM Boot Option.", +"enum": [ +"BOOT_OPTION_UNSPECIFIED", +"EFI", +"BIOS" +], +"enumDescriptions": [ +"The boot option is unknown.", +"The boot option is UEFI.", +"The boot option is LEGACY-BIOS." +], +"type": "string" +}, +"committedStorageMb": { +"description": "The total size of the storage allocated to the VM in MB.", +"format": "int64", +"type": "string" +}, +"cpuCount": { +"description": "The number of cpus the VM has.", +"format": "int32", +"type": "integer" +}, +"diskCount": { +"description": "The number of disks the VM has.", +"format": "int32", +"type": "integer" +}, +"displayName": { +"description": "The display name of the VM. Note that this value is not necessarily unique.", +"type": "string" +}, +"instanceType": { +"description": "The instance type of the VM.", +"type": "string" +}, +"memoryMb": { +"description": "The memory size of the VM in MB.", +"format": "int32", +"type": "integer" +}, +"osDescription": { +"description": "The VM's OS.", +"type": "string" +}, +"powerState": { +"description": "Output only. The power state of the VM at the moment list was taken.", +"enum": [ +"POWER_STATE_UNSPECIFIED", +"ON", +"OFF", +"SUSPENDED", +"PENDING" +], +"enumDescriptions": [ +"Power state is not specified.", +"The VM is turned on.", +"The VM is turned off.", +"The VM is suspended. This is similar to hibernation or sleep mode.", +"The VM is starting." +], +"readOnly": true, +"type": "string" +}, +"securityGroups": { +"description": "The security groups the VM belongs to.", +"items": { +"$ref": "AwsSecurityGroup" +}, +"type": "array" +}, +"sourceDescription": { +"description": "The descriptive name of the AWS's source this VM is connected to.", +"type": "string" +}, +"sourceId": { +"description": "The id of the AWS's source this VM is connected to.", +"type": "string" +}, +"tags": { +"additionalProperties": { +"type": "string" +}, +"description": "The tags of the VM.", +"type": "object" +}, +"virtualizationType": { +"description": "The virtualization type.", +"enum": [ +"VM_VIRTUALIZATION_TYPE_UNSPECIFIED", +"HVM", +"PARAVIRTUAL" +], +"enumDescriptions": [ +"The virtualization type is unknown.", +"The virtualziation type is HVM.", +"The virtualziation type is PARAVIRTUAL." +], +"type": "string" +}, +"vmId": { +"description": "The VM ID in AWS.", +"type": "string" +}, +"vpcId": { +"description": "The VPC ID the VM belongs to.", +"type": "string" +}, +"zone": { +"description": "The AWS zone of the VM.", +"type": "string" +} +}, +"type": "object" +}, +"AwsVmsDetails": { +"description": "AWSVmsDetails describes VMs in AWS.", +"id": "AwsVmsDetails", +"properties": { +"details": { +"description": "The details of the AWS VMs.", +"items": { +"$ref": "AwsVmDetails" +}, +"type": "array" +} +}, +"type": "object" +}, +"AzureDiskDetails": { +"description": "The details of an Azure VM disk.", +"id": "AzureDiskDetails", +"properties": { +"diskId": { +"description": "Output only. Azure disk ID.", +"readOnly": true, +"type": "string" +}, +"diskNumber": { +"description": "Output only. The ordinal number of the disk.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"sizeGb": { +"description": "Output only. Size in GB.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AzureSourceDetails": { +"description": "AzureSourceDetails message describes a specific source details for the Azure source type.", +"id": "AzureSourceDetails", +"properties": { +"azureLocation": { +"description": "Immutable. The Azure location (region) that the source VMs will be migrated from.", +"type": "string" +}, +"clientSecretCreds": { +"$ref": "ClientSecretCredentials", +"description": "Azure Credentials using tenant ID, client ID and secret." +}, +"error": { +"$ref": "Status", +"description": "Output only. Provides details on the state of the Source in case of an error.", +"readOnly": true +}, +"migrationResourcesUserTags": { +"additionalProperties": { +"type": "string" +}, +"description": "User specified tags to add to every M2VM generated resource in Azure. These tags will be set in addition to the default tags that are set as part of the migration process. The tags must not begin with the reserved prefix `m4ce` or `m2vm`.", +"type": "object" +}, +"resourceGroupId": { +"description": "Output only. The ID of the Azure resource group that contains all resources related to the migration process of this source.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. State of the source as determined by the health check.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"FAILED", +"ACTIVE" +], +"enumDescriptions": [ +"The state is unknown. This is used for API compatibility only and is not used by the system.", +"The state was not sampled by the health checks yet.", +"The source is available but might not be usable yet due to invalid credentials or another reason. The error message will contain further details.", +"The source exists and its credentials were verified." +], +"readOnly": true, +"type": "string" +}, +"subscriptionId": { +"description": "Immutable. Azure subscription ID.", +"type": "string" +} +}, +"type": "object" +}, +"AzureSourceVmDetails": { +"description": "Represent the source Azure VM details.", +"id": "AzureSourceVmDetails", +"properties": { +"architecture": { +"description": "Output only. The VM architecture.", +"enum": [ +"VM_ARCHITECTURE_UNSPECIFIED", +"VM_ARCHITECTURE_X86_FAMILY", +"VM_ARCHITECTURE_ARM64" +], +"enumDescriptions": [ +"The architecture is unknown.", +"The architecture is one of the x86 architectures.", +"The architecture is ARM64." +], +"readOnly": true, +"type": "string" +}, +"committedStorageBytes": { +"description": "Output only. The total size of the disks being migrated in bytes.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"disks": { +"description": "Output only. The disks attached to the source VM.", +"items": { +"$ref": "AzureDiskDetails" +}, +"readOnly": true, +"type": "array" +}, +"firmware": { +"description": "Output only. The firmware type of the source VM.", +"enum": [ +"FIRMWARE_UNSPECIFIED", +"EFI", +"BIOS" +], +"enumDescriptions": [ +"The firmware is unknown.", +"The firmware is EFI.", +"The firmware is BIOS." +], +"readOnly": true, +"type": "string" +}, +"vmCapabilitiesInfo": { +"$ref": "VmCapabilities", +"description": "Output only. Information about VM capabilities needed for some Compute Engine features.", +"readOnly": true +} +}, +"type": "object" +}, +"AzureVmDetails": { +"description": "AzureVmDetails describes a VM in Azure.", +"id": "AzureVmDetails", +"properties": { +"architecture": { +"description": "The CPU architecture.", +"enum": [ +"VM_ARCHITECTURE_UNSPECIFIED", +"VM_ARCHITECTURE_X86_FAMILY", +"VM_ARCHITECTURE_ARM64" +], +"enumDescriptions": [ +"The architecture is unknown.", +"The architecture is one of the x86 architectures.", +"The architecture is ARM64." +], +"type": "string" +}, +"bootOption": { +"description": "The VM Boot Option.", +"enum": [ +"BOOT_OPTION_UNSPECIFIED", +"EFI", +"BIOS" +], +"enumDescriptions": [ +"The boot option is unknown.", +"The boot option is UEFI.", +"The boot option is BIOS." +], +"type": "string" +}, +"committedStorageMb": { +"description": "The total size of the storage allocated to the VM in MB.", +"format": "int64", +"type": "string" +}, +"computerName": { +"description": "The VM's ComputerName.", +"type": "string" +}, +"cpuCount": { +"description": "The number of cpus the VM has.", +"format": "int32", +"type": "integer" +}, +"diskCount": { +"description": "The number of disks the VM has, including OS disk.", +"format": "int32", +"type": "integer" +}, +"disks": { +"description": "Description of the data disks.", +"items": { +"$ref": "Disk" +}, +"type": "array" +}, +"memoryMb": { +"description": "The memory size of the VM in MB.", +"format": "int32", +"type": "integer" +}, +"osDescription": { +"$ref": "OSDescription", +"description": "Description of the OS." +}, +"osDisk": { +"$ref": "OSDisk", +"description": "Description of the OS disk." +}, +"powerState": { +"description": "The power state of the VM at the moment list was taken.", +"enum": [ +"POWER_STATE_UNSPECIFIED", +"STARTING", +"RUNNING", +"STOPPING", +"STOPPED", +"DEALLOCATING", +"DEALLOCATED", +"UNKNOWN" +], +"enumDescriptions": [ +"Power state is not specified.", +"The VM is starting.", +"The VM is running.", +"The VM is stopping.", +"The VM is stopped.", +"The VM is deallocating.", +"The VM is deallocated.", +"The VM's power state is unknown." +], +"type": "string" +}, +"tags": { +"additionalProperties": { +"type": "string" +}, +"description": "The tags of the VM.", +"type": "object" +}, +"vmId": { +"description": "The VM full path in Azure.", +"type": "string" +}, +"vmSize": { +"description": "VM size as configured in Azure. Determines the VM's hardware spec.", +"type": "string" +} +}, +"type": "object" +}, +"AzureVmsDetails": { +"description": "AzureVmsDetails describes VMs in Azure.", +"id": "AzureVmsDetails", +"properties": { +"details": { +"description": "The details of the Azure VMs.", +"items": { +"$ref": "AzureVmDetails" +}, +"type": "array" +} +}, +"type": "object" +}, +"BootDiskDefaults": { +"description": "BootDiskDefaults hold information about the boot disk of a VM.", +"id": "BootDiskDefaults", +"properties": { +"deviceName": { +"description": "Optional. Specifies a unique device name of your choice that is reflected into the /dev/disk/by-id/google-* tree of a Linux operating system running within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disk-x, where x is a number assigned by Google Compute Engine. This field is only applicable for persistent disks.", +"type": "string" +}, +"diskName": { +"description": "Optional. The name of the disk.", +"type": "string" +}, +"diskType": { +"description": "Optional. The type of disk provisioning to use for the VM.", +"enum": [ +"COMPUTE_ENGINE_DISK_TYPE_UNSPECIFIED", +"COMPUTE_ENGINE_DISK_TYPE_STANDARD", +"COMPUTE_ENGINE_DISK_TYPE_SSD", +"COMPUTE_ENGINE_DISK_TYPE_BALANCED", +"COMPUTE_ENGINE_DISK_TYPE_HYPERDISK_BALANCED" +], +"enumDescriptions": [ +"An unspecified disk type. Will be used as STANDARD.", +"A Standard disk type.", +"SSD hard disk type.", +"An alternative to SSD persistent disks that balance performance and cost.", +"Hyperdisk balanced disk type." +], +"type": "string" +}, +"encryption": { +"$ref": "Encryption", +"description": "Optional. The encryption to apply to the boot disk." +}, +"image": { +"$ref": "DiskImageDefaults", +"description": "The image to use when creating the disk." +} +}, +"type": "object" +}, +"CancelCloneJobRequest": { +"description": "Request message for 'CancelCloneJob' request.", +"id": "CancelCloneJobRequest", +"properties": {}, +"type": "object" +}, +"CancelCutoverJobRequest": { +"description": "Request message for 'CancelCutoverJob' request.", +"id": "CancelCutoverJobRequest", +"properties": {}, +"type": "object" +}, +"CancelImageImportJobRequest": { +"description": "Request message for 'CancelImageImportJob' request.", +"id": "CancelImageImportJobRequest", +"properties": {}, +"type": "object" +}, +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"ClientSecretCredentials": { +"description": "Message describing Azure Credentials using tenant ID, client ID and secret.", +"id": "ClientSecretCredentials", +"properties": { +"clientId": { +"description": "Azure client ID.", +"type": "string" +}, +"clientSecret": { +"description": "Input only. Azure client secret.", +"type": "string" +}, +"tenantId": { +"description": "Azure tenant ID.", +"type": "string" +} +}, +"type": "object" +}, +"CloneJob": { +"description": "CloneJob describes the process of creating a clone of a MigratingVM to the requested target based on the latest successful uploaded snapshots. While the migration cycles of a MigratingVm take place, it is possible to verify the uploaded VM can be started in the cloud, by creating a clone. The clone can be created without any downtime, and it is created using the latest snapshots which are already in the cloud. The cloneJob is only responsible for its work, not its products, which means once it is finished, it will never touch the instance it created. It will only delete it in case of the CloneJob being cancelled or upon failure to clone.", +"id": "CloneJob", +"properties": { +"computeEngineDisksTargetDetails": { +"$ref": "ComputeEngineDisksTargetDetails", +"description": "Output only. Details of the target Persistent Disks in Compute Engine.", +"readOnly": true +}, +"computeEngineTargetDetails": { +"$ref": "ComputeEngineTargetDetails", +"description": "Output only. Details of the target VM in Compute Engine.", +"readOnly": true +}, +"createTime": { +"description": "Output only. The time the clone job was created (as an API call, not when it was actually created in the target).", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the clone job was ended.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "Status", +"description": "Output only. Provides details for the errors that led to the Clone Job's state.", +"readOnly": true +}, +"name": { +"description": "Output only. The name of the clone.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. State of the clone job.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"ACTIVE", +"FAILED", +"SUCCEEDED", +"CANCELLED", +"CANCELLING", +"ADAPTING_OS" +], +"enumDescriptions": [ +"The state is unknown. This is used for API compatibility only and is not used by the system.", +"The clone job has not yet started.", +"The clone job is active and running.", +"The clone job finished with errors.", +"The clone job finished successfully.", +"The clone job was cancelled.", +"The clone job is being cancelled.", +"OS adaptation is running as part of the clone job to generate license." +], +"readOnly": true, +"type": "string" +}, +"stateTime": { +"description": "Output only. The time the state was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"steps": { +"description": "Output only. The clone steps list representing its progress.", +"items": { +"$ref": "CloneStep" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"CloneStep": { +"description": "CloneStep holds information about the clone step progress.", +"id": "CloneStep", +"properties": { +"adaptingOs": { +"$ref": "AdaptingOSStep", +"description": "Adapting OS step." +}, +"endTime": { +"description": "The time the step has ended.", +"format": "google-datetime", +"type": "string" +}, +"instantiatingMigratedVm": { +"$ref": "InstantiatingMigratedVMStep", +"description": "Instantiating migrated VM step." +}, +"preparingVmDisks": { +"$ref": "PreparingVMDisksStep", +"description": "Preparing VM disks step." +}, +"startTime": { +"description": "The time the step has started.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"ComputeEngineDisksTargetDefaults": { +"description": "ComputeEngineDisksTargetDefaults is a collection of details for creating Persistent Disks in a target Compute Engine project.", +"id": "ComputeEngineDisksTargetDefaults", +"properties": { +"disks": { +"description": "The details of each Persistent Disk to create.", +"items": { +"$ref": "PersistentDiskDefaults" +}, +"type": "array" +}, +"disksTargetDefaults": { +"$ref": "DisksMigrationDisksTargetDefaults", +"description": "Details of the disk only migration target." +}, +"targetProject": { +"description": "The full path of the resource of type TargetProject which represents the Compute Engine project in which to create the Persistent Disks.", +"type": "string" +}, +"vmTargetDefaults": { +"$ref": "DisksMigrationVmTargetDefaults", +"description": "Details of the VM migration target." +}, +"zone": { +"description": "The zone in which to create the Persistent Disks.", +"type": "string" +} +}, +"type": "object" +}, +"ComputeEngineDisksTargetDetails": { +"description": "ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details.", +"id": "ComputeEngineDisksTargetDetails", +"properties": { +"disks": { +"description": "The details of each created Persistent Disk.", +"items": { +"$ref": "PersistentDisk" +}, +"type": "array" +}, +"disksTargetDetails": { +"$ref": "DisksMigrationDisksTargetDetails", +"description": "Details of the disks-only migration target." +}, +"vmTargetDetails": { +"$ref": "DisksMigrationVmTargetDetails", +"description": "Details for the VM the migrated data disks are attached to." +} +}, +"type": "object" +}, +"ComputeEngineTargetDefaults": { +"description": "ComputeEngineTargetDefaults is a collection of details for creating a VM in a target Compute Engine project.", +"id": "ComputeEngineTargetDefaults", +"properties": { +"additionalLicenses": { +"description": "Additional licenses to assign to the VM.", +"items": { +"type": "string" +}, +"type": "array" +}, +"appliedLicense": { +"$ref": "AppliedLicense", +"description": "Output only. The OS license returned from the adaptation module report.", +"readOnly": true +}, +"bootConversion": { +"description": "Optional. By default the virtual machine will keep its existing boot option. Setting this property will trigger an internal process which will convert the virtual machine from using the existing boot option to another.", +"enum": [ +"BOOT_CONVERSION_UNSPECIFIED", +"NONE", +"BIOS_TO_EFI" +], +"enumDescriptions": [ +"Unspecified conversion type.", +"No conversion.", +"Convert from BIOS to EFI." +], +"type": "string" +}, +"bootOption": { +"description": "Output only. The VM Boot Option, as set in the source VM.", +"enum": [ +"COMPUTE_ENGINE_BOOT_OPTION_UNSPECIFIED", +"COMPUTE_ENGINE_BOOT_OPTION_EFI", +"COMPUTE_ENGINE_BOOT_OPTION_BIOS" +], +"enumDescriptions": [ +"The boot option is unknown.", +"The boot option is EFI.", +"The boot option is BIOS." +], +"readOnly": true, +"type": "string" +}, +"computeScheduling": { +"$ref": "ComputeScheduling", +"description": "Compute instance scheduling information (if empty default is used)." +}, +"diskType": { +"description": "The disk type to use in the VM.", +"enum": [ +"COMPUTE_ENGINE_DISK_TYPE_UNSPECIFIED", +"COMPUTE_ENGINE_DISK_TYPE_STANDARD", +"COMPUTE_ENGINE_DISK_TYPE_SSD", +"COMPUTE_ENGINE_DISK_TYPE_BALANCED", +"COMPUTE_ENGINE_DISK_TYPE_HYPERDISK_BALANCED" +], +"enumDescriptions": [ +"An unspecified disk type. Will be used as STANDARD.", +"A Standard disk type.", +"SSD hard disk type.", +"An alternative to SSD persistent disks that balance performance and cost.", +"Hyperdisk balanced disk type." +], +"type": "string" +}, +"enableIntegrityMonitoring": { +"description": "Optional. Defines whether the instance has integrity monitoring enabled. This can be set to true only if the VM boot option is EFI, and vTPM is enabled.", +"type": "boolean" +}, +"enableVtpm": { +"description": "Optional. Defines whether the instance has vTPM enabled. This can be set to true only if the VM boot option is EFI.", +"type": "boolean" +}, +"encryption": { +"$ref": "Encryption", +"description": "Optional. Immutable. The encryption to apply to the VM disks." +}, +"hostname": { +"description": "The hostname to assign to the VM.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "A map of labels to associate with the VM.", +"type": "object" +}, +"licenseType": { +"description": "The license type to use in OS adaptation.", +"enum": [ +"COMPUTE_ENGINE_LICENSE_TYPE_DEFAULT", +"COMPUTE_ENGINE_LICENSE_TYPE_PAYG", +"COMPUTE_ENGINE_LICENSE_TYPE_BYOL" +], +"enumDescriptions": [ +"The license type is the default for the OS.", +"The license type is Pay As You Go license type.", +"The license type is Bring Your Own License type." +], +"type": "string" +}, +"machineType": { +"description": "The machine type to create the VM with.", +"type": "string" +}, +"machineTypeSeries": { +"description": "The machine type series to create the VM with.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "The metadata key/value pairs to assign to the VM.", +"type": "object" +}, +"networkInterfaces": { +"description": "List of NICs connected to this VM.", +"items": { +"$ref": "NetworkInterface" +}, +"type": "array" +}, +"networkTags": { +"description": "A list of network tags to associate with the VM.", +"items": { +"type": "string" +}, +"type": "array" +}, +"secureBoot": { +"description": "Defines whether the instance has Secure Boot enabled. This can be set to true only if the VM boot option is EFI.", +"type": "boolean" +}, +"serviceAccount": { +"description": "The service account to associate the VM with.", +"type": "string" +}, +"targetProject": { +"description": "The full path of the resource of type TargetProject which represents the Compute Engine project in which to create this VM.", +"type": "string" +}, +"vmName": { +"description": "The name of the VM to create.", +"type": "string" +}, +"zone": { +"description": "The zone in which to create the VM.", +"type": "string" +} +}, +"type": "object" +}, +"ComputeEngineTargetDetails": { +"description": "ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project.", +"id": "ComputeEngineTargetDetails", +"properties": { +"additionalLicenses": { +"description": "Additional licenses to assign to the VM.", +"items": { +"type": "string" +}, +"type": "array" +}, +"appliedLicense": { +"$ref": "AppliedLicense", +"description": "The OS license returned from the adaptation module report." +}, +"bootConversion": { +"description": "Optional. By default the virtual machine will keep its existing boot option. Setting this property will trigger an internal process which will convert the virtual machine from using the existing boot option to another.", +"enum": [ +"BOOT_CONVERSION_UNSPECIFIED", +"NONE", +"BIOS_TO_EFI" +], +"enumDescriptions": [ +"Unspecified conversion type.", +"No conversion.", +"Convert from BIOS to EFI." +], +"type": "string" +}, +"bootOption": { +"description": "The VM Boot Option, as set in the source VM.", +"enum": [ +"COMPUTE_ENGINE_BOOT_OPTION_UNSPECIFIED", +"COMPUTE_ENGINE_BOOT_OPTION_EFI", +"COMPUTE_ENGINE_BOOT_OPTION_BIOS" +], +"enumDescriptions": [ +"The boot option is unknown.", +"The boot option is EFI.", +"The boot option is BIOS." +], +"type": "string" +}, +"computeScheduling": { +"$ref": "ComputeScheduling", +"description": "Compute instance scheduling information (if empty default is used)." +}, +"diskType": { +"description": "The disk type to use in the VM.", +"enum": [ +"COMPUTE_ENGINE_DISK_TYPE_UNSPECIFIED", +"COMPUTE_ENGINE_DISK_TYPE_STANDARD", +"COMPUTE_ENGINE_DISK_TYPE_SSD", +"COMPUTE_ENGINE_DISK_TYPE_BALANCED", +"COMPUTE_ENGINE_DISK_TYPE_HYPERDISK_BALANCED" +], +"enumDescriptions": [ +"An unspecified disk type. Will be used as STANDARD.", +"A Standard disk type.", +"SSD hard disk type.", +"An alternative to SSD persistent disks that balance performance and cost.", +"Hyperdisk balanced disk type." +], +"type": "string" +}, +"enableIntegrityMonitoring": { +"description": "Optional. Defines whether the instance has integrity monitoring enabled.", +"type": "boolean" +}, +"enableVtpm": { +"description": "Optional. Defines whether the instance has vTPM enabled.", +"type": "boolean" +}, +"encryption": { +"$ref": "Encryption", +"description": "Optional. The encryption to apply to the VM disks." +}, +"hostname": { +"description": "The hostname to assign to the VM.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "A map of labels to associate with the VM.", +"type": "object" +}, +"licenseType": { +"description": "The license type to use in OS adaptation.", +"enum": [ +"COMPUTE_ENGINE_LICENSE_TYPE_DEFAULT", +"COMPUTE_ENGINE_LICENSE_TYPE_PAYG", +"COMPUTE_ENGINE_LICENSE_TYPE_BYOL" +], +"enumDescriptions": [ +"The license type is the default for the OS.", +"The license type is Pay As You Go license type.", +"The license type is Bring Your Own License type." +], +"type": "string" +}, +"machineType": { +"description": "The machine type to create the VM with.", +"type": "string" +}, +"machineTypeSeries": { +"description": "The machine type series to create the VM with.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "The metadata key/value pairs to assign to the VM.", +"type": "object" +}, +"networkInterfaces": { +"description": "List of NICs connected to this VM.", +"items": { +"$ref": "NetworkInterface" +}, +"type": "array" +}, +"networkTags": { +"description": "A list of network tags to associate with the VM.", +"items": { +"type": "string" +}, +"type": "array" +}, +"project": { +"description": "The Google Cloud target project ID or project name.", +"type": "string" +}, +"secureBoot": { +"description": "Defines whether the instance has Secure Boot enabled. This can be set to true only if the VM boot option is EFI.", +"type": "boolean" +}, +"serviceAccount": { +"description": "The service account to associate the VM with.", +"type": "string" +}, +"vmName": { +"description": "The name of the VM to create.", +"type": "string" +}, +"zone": { +"description": "The zone in which to create the VM.", +"type": "string" +} +}, +"type": "object" +}, +"ComputeScheduling": { +"description": "Scheduling information for VM on maintenance/restart behaviour and node allocation in sole tenant nodes. Options for instance behavior when the host machine undergoes maintenance that may temporarily impact instance performance.", +"id": "ComputeScheduling", +"properties": { +"minNodeCpus": { +"description": "The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node. Ignored if no node_affinites are configured.", +"format": "int32", +"type": "integer" +}, +"nodeAffinities": { +"description": "A set of node affinity and anti-affinity configurations for sole tenant nodes.", +"items": { +"$ref": "SchedulingNodeAffinity" +}, +"type": "array" +}, +"onHostMaintenance": { +"description": "How the instance should behave when the host machine undergoes maintenance that may temporarily impact instance performance.", +"enum": [ +"ON_HOST_MAINTENANCE_UNSPECIFIED", +"TERMINATE", +"MIGRATE" +], +"enumDescriptions": [ +"An unknown, unexpected behavior.", +"Terminate the instance when the host machine undergoes maintenance.", +"Migrate the instance when the host machine undergoes maintenance." +], +"type": "string" +}, +"restartType": { +"description": "Whether the Instance should be automatically restarted whenever it is terminated by Compute Engine (not terminated by user). This configuration is identical to `automaticRestart` field in Compute Engine create instance under scheduling. It was changed to an enum (instead of a boolean) to match the default value in Compute Engine which is automatic restart.", +"enum": [ +"RESTART_TYPE_UNSPECIFIED", +"AUTOMATIC_RESTART", +"NO_AUTOMATIC_RESTART" +], +"enumDescriptions": [ +"Unspecified behavior. This will use the default.", +"The Instance should be automatically restarted whenever it is terminated by Compute Engine.", +"The Instance isn't automatically restarted whenever it is terminated by Compute Engine." +], +"type": "string" +} +}, +"type": "object" +}, +"CreatingImageStep": { +"description": "CreatingImageStep contains specific step details.", +"id": "CreatingImageStep", +"properties": {}, +"type": "object" +}, +"CutoverForecast": { +"description": "CutoverForecast holds information about future CutoverJobs of a MigratingVm.", +"id": "CutoverForecast", +"properties": { +"estimatedCutoverJobDuration": { +"description": "Output only. Estimation of the CutoverJob duration.", +"format": "google-duration", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"CutoverJob": { +"description": "CutoverJob message describes a cutover of a migrating VM. The CutoverJob is the operation of shutting down the VM, creating a snapshot and clonning the VM using the replicated snapshot.", +"id": "CutoverJob", +"properties": { +"computeEngineDisksTargetDetails": { +"$ref": "ComputeEngineDisksTargetDetails", +"description": "Output only. Details of the target Persistent Disks in Compute Engine.", +"readOnly": true +}, +"computeEngineTargetDetails": { +"$ref": "ComputeEngineTargetDetails", +"description": "Output only. Details of the target VM in Compute Engine.", +"readOnly": true +}, +"createTime": { +"description": "Output only. The time the cutover job was created (as an API call, not when it was actually created in the target).", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the cutover job had finished.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "Status", +"description": "Output only. Provides details for the errors that led to the Cutover Job's state.", +"readOnly": true +}, +"name": { +"description": "Output only. The name of the cutover job.", +"readOnly": true, +"type": "string" +}, +"progressPercent": { +"description": "Output only. The current progress in percentage of the cutover job.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"state": { +"description": "Output only. State of the cutover job.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"FAILED", +"SUCCEEDED", +"CANCELLED", +"CANCELLING", +"ACTIVE", +"ADAPTING_OS" +], +"enumDescriptions": [ +"The state is unknown. This is used for API compatibility only and is not used by the system.", +"The cutover job has not yet started.", +"The cutover job finished with errors.", +"The cutover job finished successfully.", +"The cutover job was cancelled.", +"The cutover job is being cancelled.", +"The cutover job is active and running.", +"OS adaptation is running as part of the cutover job to generate license." +], +"readOnly": true, +"type": "string" +}, +"stateMessage": { +"description": "Output only. A message providing possible extra details about the current state.", +"readOnly": true, +"type": "string" +}, +"stateTime": { +"description": "Output only. The time the state was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"steps": { +"description": "Output only. The cutover steps list representing its progress.", +"items": { +"$ref": "CutoverStep" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"CutoverStep": { +"description": "CutoverStep holds information about the cutover step progress.", +"id": "CutoverStep", +"properties": { +"endTime": { +"description": "The time the step has ended.", +"format": "google-datetime", +"type": "string" +}, +"finalSync": { +"$ref": "ReplicationCycle", +"description": "Final sync step." +}, +"instantiatingMigratedVm": { +"$ref": "InstantiatingMigratedVMStep", +"description": "Instantiating migrated VM step." +}, +"preparingVmDisks": { +"$ref": "PreparingVMDisksStep", +"description": "Preparing VM disks step." +}, +"previousReplicationCycle": { +"$ref": "ReplicationCycle", +"description": "A replication cycle prior cutover step." +}, +"shuttingDownSourceVm": { +"$ref": "ShuttingDownSourceVMStep", +"description": "Shutting down VM step." +}, +"startTime": { +"description": "The time the step has started.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"CycleStep": { +"description": "CycleStep holds information about a step progress.", +"id": "CycleStep", +"properties": { +"endTime": { +"description": "The time the cycle step has ended.", +"format": "google-datetime", +"type": "string" +}, +"initializingReplication": { +"$ref": "InitializingReplicationStep", +"description": "Initializing replication step." +}, +"postProcessing": { +"$ref": "PostProcessingStep", +"description": "Post processing step." +}, +"replicating": { +"$ref": "ReplicatingStep", +"description": "Replicating step." +}, +"startTime": { +"description": "The time the cycle step has started.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"DataDiskImageImport": { +"description": "Mentions that the image import is not using OS adaptation process.", +"id": "DataDiskImageImport", +"properties": {}, +"type": "object" +}, +"DatacenterConnector": { +"description": "DatacenterConnector message describes a connector between the Source and Google Cloud, which is installed on a vmware datacenter (an OVA vm installed by the user) to connect the Datacenter to Google Cloud and support vm migration data transfer.", +"id": "DatacenterConnector", +"properties": { +"applianceInfrastructureVersion": { +"description": "Output only. Appliance OVA version. This is the OVA which is manually installed by the user and contains the infrastructure for the automatically updatable components on the appliance.", +"readOnly": true, +"type": "string" +}, +"applianceSoftwareVersion": { +"description": "Output only. Appliance last installed update bundle version. This is the version of the automatically updatable components on the appliance.", +"readOnly": true, +"type": "string" +}, +"availableVersions": { +"$ref": "AvailableUpdates", +"description": "Output only. The available versions for updating this appliance.", +"readOnly": true +}, +"bucket": { +"description": "Output only. The communication channel between the datacenter connector and Google Cloud.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the connector was created (as an API call, not when it was actually installed).", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "Status", +"description": "Output only. Provides details on the state of the Datacenter Connector in case of an error.", +"readOnly": true +}, +"name": { +"description": "Output only. The connector's name.", +"readOnly": true, +"type": "string" +}, +"registrationId": { +"description": "Immutable. A unique key for this connector. This key is internal to the OVA connector and is supplied with its creation during the registration process and can not be modified.", +"type": "string" +}, +"serviceAccount": { +"description": "The service account to use in the connector when communicating with the cloud.", +"type": "string" +}, +"state": { +"description": "Output only. State of the DatacenterConnector, as determined by the health checks.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"OFFLINE", +"FAILED", +"ACTIVE" +], +"enumDescriptions": [ +"The state is unknown. This is used for API compatibility only and is not used by the system.", +"The state was not sampled by the health checks yet.", +"The source was sampled by health checks and is not available.", +"The source is available but might not be usable yet due to unvalidated credentials or another reason. The credentials referred to are the ones to the Source. The error message will contain further details.", +"The source exists and its credentials were verified." +], +"readOnly": true, +"type": "string" +}, +"stateTime": { +"description": "Output only. The time the state was last set.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The last time the connector was updated with an API call.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"upgradeStatus": { +"$ref": "UpgradeStatus", +"description": "Output only. The status of the current / last upgradeAppliance operation.", +"readOnly": true +}, +"version": { +"description": "The version running in the DatacenterConnector. This is supplied by the OVA connector during the registration process and can not be modified.", +"type": "string" +} +}, +"type": "object" +}, +"Disk": { +"description": "A message describing a data disk.", +"id": "Disk", +"properties": { +"lun": { +"description": "The disk's Logical Unit Number (LUN).", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "The disk name.", +"type": "string" +}, +"sizeGb": { +"description": "The disk size in GB.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"DiskImageDefaults": { +"description": "Contains details about the image source used to create the disk.", +"id": "DiskImageDefaults", +"properties": { +"sourceImage": { +"description": "Required. The Image resource used when creating the disk.", +"type": "string" +} +}, +"type": "object" +}, +"DiskImageTargetDetails": { +"description": "The target details of the image resource that will be created by the import job.", +"id": "DiskImageTargetDetails", +"properties": { +"additionalLicenses": { +"description": "Optional. Additional licenses to assign to the image. Format: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/licenses/LICENSE_NAME Or https://www.googleapis.com/compute/beta/projects/PROJECT_ID/global/licenses/LICENSE_NAME", +"items": { +"type": "string" +}, +"type": "array" +}, +"dataDiskImageImport": { +"$ref": "DataDiskImageImport", +"description": "Optional. Use to skip OS adaptation process." +}, +"description": { +"description": "Optional. An optional description of the image.", +"type": "string" +}, +"encryption": { +"$ref": "Encryption", +"description": "Immutable. The encryption to apply to the image." +}, +"familyName": { +"description": "Optional. The name of the image family to which the new image belongs.", +"type": "string" +}, +"imageName": { +"description": "Required. The name of the image to be created.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. A map of labels to associate with the image.", +"type": "object" +}, +"osAdaptationParameters": { +"$ref": "ImageImportOsAdaptationParameters", +"description": "Optional. Use to set the parameters relevant for the OS adaptation process." +}, +"singleRegionStorage": { +"description": "Optional. Set to true to set the image storageLocations to the single region of the import job. When false, the closest multi-region is selected.", +"type": "boolean" +}, +"targetProject": { +"description": "Required. Reference to the TargetProject resource that represents the target project in which the imported image will be created.", +"type": "string" +} +}, +"type": "object" +}, +"DisksMigrationDisksTargetDefaults": { +"description": "Details for a disk only migration.", +"id": "DisksMigrationDisksTargetDefaults", +"properties": {}, +"type": "object" +}, +"DisksMigrationDisksTargetDetails": { +"description": "Details for a disks-only migration.", +"id": "DisksMigrationDisksTargetDetails", +"properties": {}, +"type": "object" +}, +"DisksMigrationVmTargetDefaults": { +"description": "Details for creation of a VM that migrated data disks will be attached to.", +"id": "DisksMigrationVmTargetDefaults", +"properties": { +"additionalLicenses": { +"description": "Optional. Additional licenses to assign to the VM.", +"items": { +"type": "string" +}, +"type": "array" +}, +"bootDiskDefaults": { +"$ref": "BootDiskDefaults", +"description": "Optional. Details of the boot disk of the VM." +}, +"computeScheduling": { +"$ref": "ComputeScheduling", +"description": "Optional. Compute instance scheduling information (if empty default is used)." +}, +"enableIntegrityMonitoring": { +"description": "Optional. Defines whether the instance has integrity monitoring enabled.", +"type": "boolean" +}, +"enableVtpm": { +"description": "Optional. Defines whether the instance has vTPM enabled.", +"type": "boolean" +}, +"encryption": { +"$ref": "Encryption", +"description": "Optional. The encryption to apply to the VM." +}, +"hostname": { +"description": "Optional. The hostname to assign to the VM.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. A map of labels to associate with the VM.", +"type": "object" +}, +"machineType": { +"description": "Required. The machine type to create the VM with.", +"type": "string" +}, +"machineTypeSeries": { +"description": "Optional. The machine type series to create the VM with. For presentation only.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The metadata key/value pairs to assign to the VM.", +"type": "object" +}, +"networkInterfaces": { +"description": "Optional. NICs to attach to the VM.", +"items": { +"$ref": "NetworkInterface" +}, +"type": "array" +}, +"networkTags": { +"description": "Optional. A list of network tags to associate with the VM.", +"items": { +"type": "string" +}, +"type": "array" +}, +"secureBoot": { +"description": "Optional. Defines whether the instance has Secure Boot enabled. This can be set to true only if the VM boot option is EFI.", +"type": "boolean" +}, +"serviceAccount": { +"description": "Optional. The service account to associate the VM with.", +"type": "string" +}, +"vmName": { +"description": "Required. The name of the VM to create.", +"type": "string" +} +}, +"type": "object" +}, +"DisksMigrationVmTargetDetails": { +"description": "Details for the VM created VM as part of disks migration.", +"id": "DisksMigrationVmTargetDetails", +"properties": { +"vmUri": { +"description": "Output only. The URI of the Compute Engine VM.", +"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" +}, +"Encryption": { +"description": "Encryption message describes the details of the applied encryption.", +"id": "Encryption", +"properties": { +"kmsKey": { +"description": "Required. The name of the encryption key that is stored in Google Cloud KMS.", +"type": "string" +} +}, +"type": "object" +}, +"FetchInventoryResponse": { +"description": "Response message for fetchInventory.", +"id": "FetchInventoryResponse", +"properties": { +"awsVms": { +"$ref": "AwsVmsDetails", +"description": "The description of the VMs in a Source of type AWS." +}, +"azureVms": { +"$ref": "AzureVmsDetails", +"description": "The description of the VMs in a Source of type Azure." +}, +"nextPageToken": { +"description": "Output only. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The timestamp when the source was last queried (if the result is from the cache).", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"vmwareVms": { +"$ref": "VmwareVmsDetails", +"description": "The description of the VMs in a Source of type Vmware." +} +}, +"type": "object" +}, +"FinalizeMigrationRequest": { +"description": "Request message for 'FinalizeMigration' request.", +"id": "FinalizeMigrationRequest", +"properties": {}, +"type": "object" +}, +"Group": { +"description": "Describes message for 'Group' resource. The Group is a collections of several MigratingVms.", +"id": "Group", +"properties": { +"createTime": { +"description": "Output only. The create time timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "User-provided description of the group.", +"type": "string" +}, +"displayName": { +"description": "Display name is a user defined name for this group which can be updated.", +"type": "string" +}, +"migrationTargetType": { +"description": "Immutable. The target type of this group.", +"enum": [ +"MIGRATION_TARGET_TYPE_UNSPECIFIED", +"MIGRATION_TARGET_TYPE_GCE", +"MIGRATION_TARGET_TYPE_DISKS" +], +"enumDescriptions": [ +"Group type is not specified. This defaults to Compute Engine targets.", +"All MigratingVMs in the group must have Compute Engine targets.", +"All MigratingVMs in the group must have Compute Engine Disks targets." +], +"type": "string" +}, +"name": { +"description": "Output only. The Group name.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The update time timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ImageImport": { +"description": "ImageImport describes the configuration of the image import to run.", +"id": "ImageImport", +"properties": { +"cloudStorageUri": { +"description": "Immutable. The path to the Cloud Storage file from which the image should be imported.", +"type": "string" +}, +"createTime": { +"description": "Output only. The time the image import was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"diskImageTargetDefaults": { +"$ref": "DiskImageTargetDetails", +"description": "Immutable. Target details for importing a disk image, will be used by ImageImportJob." +}, +"encryption": { +"$ref": "Encryption", +"description": "Immutable. The encryption details used by the image import process during the image adaptation for Compute Engine." +}, +"machineImageTargetDefaults": { +"$ref": "MachineImageTargetDetails", +"description": "Immutable. Target details for importing a machine image, will be used by ImageImportJob." +}, +"name": { +"description": "Output only. The resource path of the ImageImport.", +"readOnly": true, +"type": "string" +}, +"recentImageImportJobs": { +"description": "Output only. The result of the most recent runs for this ImageImport. All jobs for this ImageImport can be listed via ListImageImportJobs.", +"items": { +"$ref": "ImageImportJob" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"ImageImportJob": { +"description": "ImageImportJob describes the progress and result of an image import.", +"id": "ImageImportJob", +"properties": { +"cloudStorageUri": { +"description": "Output only. The path to the Cloud Storage file from which the image should be imported.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the image import was created (as an API call, not when it was actually created in the target).", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"createdResources": { +"description": "Output only. The resource paths of the resources created by the image import job.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"diskImageTargetDetails": { +"$ref": "DiskImageTargetDetails", +"description": "Output only. Target details used to import a disk image.", +"readOnly": true +}, +"endTime": { +"description": "Output only. The time the image import was ended.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"errors": { +"description": "Output only. Provides details on the error that led to the image import state in case of an error.", +"items": { +"$ref": "Status" +}, +"readOnly": true, +"type": "array" +}, +"machineImageTargetDetails": { +"$ref": "MachineImageTargetDetails", +"description": "Output only. Target details used to import a machine image.", +"readOnly": true +}, +"name": { +"description": "Output only. The resource path of the ImageImportJob.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The state of the image import.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"RUNNING", +"SUCCEEDED", +"FAILED", +"CANCELLING", +"CANCELLED" +], +"enumDescriptions": [ +"The state is unknown.", +"The image import has not yet started.", +"The image import is active and running.", +"The image import has finished successfully.", +"The image import has finished with errors.", +"The image import is being cancelled.", +"The image import was cancelled." +], +"readOnly": true, +"type": "string" +}, +"steps": { +"description": "Output only. The image import steps list representing its progress.", +"items": { +"$ref": "ImageImportStep" +}, +"readOnly": true, +"type": "array" +}, +"warnings": { +"description": "Output only. Warnings that occurred during the image import.", +"items": { +"$ref": "MigrationWarning" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"ImageImportOsAdaptationParameters": { +"description": "Parameters affecting the OS adaptation process.", +"id": "ImageImportOsAdaptationParameters", +"properties": { +"generalize": { +"description": "Optional. Set to true in order to generalize the imported image. The generalization process enables co-existence of multiple VMs created from the same image. For Windows, generalizing the image removes computer-specific information such as installed drivers and the computer security identifier (SID).", +"type": "boolean" +}, +"licenseType": { +"description": "Optional. Choose which type of license to apply to the imported image.", +"enum": [ +"COMPUTE_ENGINE_LICENSE_TYPE_DEFAULT", +"COMPUTE_ENGINE_LICENSE_TYPE_PAYG", +"COMPUTE_ENGINE_LICENSE_TYPE_BYOL" +], +"enumDescriptions": [ +"The license type is the default for the OS.", +"The license type is Pay As You Go license type.", +"The license type is Bring Your Own License type." +], +"type": "string" +} +}, +"type": "object" +}, +"ImageImportStep": { +"description": "ImageImportStep holds information about the image import step progress.", +"id": "ImageImportStep", +"properties": { +"adaptingOs": { +"$ref": "AdaptingOSStep", +"description": "Adapting OS step." +}, +"creatingImage": { +"$ref": "CreatingImageStep", +"description": "Creating image step." +}, +"endTime": { +"description": "Output only. The time the step has ended.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"initializing": { +"$ref": "InitializingImageImportStep", +"description": "Initializing step." +}, +"loadingSourceFiles": { +"$ref": "LoadingImageSourceFilesStep", +"description": "Loading source files step." +}, +"startTime": { +"description": "Output only. The time the step has started.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"InitializingImageImportStep": { +"description": "InitializingImageImportStep contains specific step details.", +"id": "InitializingImageImportStep", +"properties": {}, +"type": "object" +}, +"InitializingReplicationStep": { +"description": "InitializingReplicationStep contains specific step details.", +"id": "InitializingReplicationStep", +"properties": {}, +"type": "object" +}, +"InstantiatingMigratedVMStep": { +"description": "InstantiatingMigratedVMStep contains specific step details.", +"id": "InstantiatingMigratedVMStep", +"properties": {}, +"type": "object" +}, +"Link": { +"description": "Describes a URL link.", +"id": "Link", +"properties": { +"description": { +"description": "Describes what the link offers.", +"type": "string" +}, +"url": { +"description": "The URL of the link.", +"type": "string" +} +}, +"type": "object" +}, +"ListCloneJobsResponse": { +"description": "Response message for 'ListCloneJobs' request.", +"id": "ListCloneJobsResponse", +"properties": { +"cloneJobs": { +"description": "Output only. The list of clone jobs response.", +"items": { +"$ref": "CloneJob" +}, +"readOnly": true, +"type": "array" +}, +"nextPageToken": { +"description": "Output only. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"readOnly": true, +"type": "string" +}, +"unreachable": { +"description": "Output only. Locations that could not be reached.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"ListCutoverJobsResponse": { +"description": "Response message for 'ListCutoverJobs' request.", +"id": "ListCutoverJobsResponse", +"properties": { +"cutoverJobs": { +"description": "Output only. The list of cutover jobs response.", +"items": { +"$ref": "CutoverJob" +}, +"readOnly": true, +"type": "array" +}, +"nextPageToken": { +"description": "Output only. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"readOnly": true, +"type": "string" +}, +"unreachable": { +"description": "Output only. Locations that could not be reached.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"ListDatacenterConnectorsResponse": { +"description": "Response message for 'ListDatacenterConnectors' request.", +"id": "ListDatacenterConnectorsResponse", +"properties": { +"datacenterConnectors": { +"description": "Output only. The list of sources response.", +"items": { +"$ref": "DatacenterConnector" +}, +"readOnly": true, +"type": "array" +}, +"nextPageToken": { +"description": "Output only. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"readOnly": true, +"type": "string" +}, +"unreachable": { +"description": "Output only. Locations that could not be reached.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"ListGroupsResponse": { +"description": "Response message for 'ListGroups' request.", +"id": "ListGroupsResponse", +"properties": { +"groups": { +"description": "Output only. The list of groups response.", +"items": { +"$ref": "Group" +}, +"readOnly": true, +"type": "array" +}, +"nextPageToken": { +"description": "Output only. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"readOnly": true, +"type": "string" +}, +"unreachable": { +"description": "Output only. Locations that could not be reached.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"ListImageImportJobsResponse": { +"description": "Response message for 'ListImageImportJobs' call.", +"id": "ListImageImportJobsResponse", +"properties": { +"imageImportJobs": { +"description": "Output only. The list of target response.", +"items": { +"$ref": "ImageImportJob" +}, +"readOnly": true, +"type": "array" +}, +"nextPageToken": { +"description": "Output only. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"readOnly": true, +"type": "string" +}, +"unreachable": { +"description": "Output only. Locations that could not be reached.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"ListImageImportsResponse": { +"description": "Response message for 'ListImageImports' call.", +"id": "ListImageImportsResponse", +"properties": { +"imageImports": { +"description": "Output only. The list of target response.", +"items": { +"$ref": "ImageImport" +}, +"readOnly": true, +"type": "array" +}, +"nextPageToken": { +"description": "Output only. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"readOnly": true, +"type": "string" +}, +"unreachable": { +"description": "Output only. Locations that could not be reached.", +"items": { +"type": "string" +}, +"readOnly": true, +"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" +}, +"ListMigratingVmsResponse": { +"description": "Response message for 'ListMigratingVms' request.", +"id": "ListMigratingVmsResponse", +"properties": { +"migratingVms": { +"description": "Output only. The list of Migrating VMs response.", +"items": { +"$ref": "MigratingVm" +}, +"readOnly": true, +"type": "array" +}, +"nextPageToken": { +"description": "Output only. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"readOnly": true, +"type": "string" +}, +"unreachable": { +"description": "Output only. Locations that could not be reached.", +"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" +}, +"ListReplicationCyclesResponse": { +"description": "Response message for 'ListReplicationCycles' request.", +"id": "ListReplicationCyclesResponse", +"properties": { +"nextPageToken": { +"description": "Output only. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"readOnly": true, +"type": "string" +}, +"replicationCycles": { +"description": "Output only. The list of replication cycles response.", +"items": { +"$ref": "ReplicationCycle" +}, +"readOnly": true, +"type": "array" +}, +"unreachable": { +"description": "Output only. Locations that could not be reached.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"ListSourcesResponse": { +"description": "Response message for 'ListSources' request.", +"id": "ListSourcesResponse", +"properties": { +"nextPageToken": { +"description": "Output only. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"readOnly": true, +"type": "string" +}, +"sources": { +"description": "Output only. The list of sources response.", +"items": { +"$ref": "Source" +}, +"readOnly": true, +"type": "array" +}, +"unreachable": { +"description": "Output only. Locations that could not be reached.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"ListTargetProjectsResponse": { +"description": "Response message for 'ListTargetProjects' call.", +"id": "ListTargetProjectsResponse", +"properties": { +"nextPageToken": { +"description": "Output only. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"readOnly": true, +"type": "string" +}, +"targetProjects": { +"description": "Output only. The list of target response.", +"items": { +"$ref": "TargetProject" +}, +"readOnly": true, +"type": "array" +}, +"unreachable": { +"description": "Output only. Locations that could not be reached.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"ListUtilizationReportsResponse": { +"description": "Response message for 'ListUtilizationReports' request.", +"id": "ListUtilizationReportsResponse", +"properties": { +"nextPageToken": { +"description": "Output only. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"readOnly": true, +"type": "string" +}, +"unreachable": { +"description": "Output only. Locations that could not be reached.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"utilizationReports": { +"description": "Output only. The list of reports.", +"items": { +"$ref": "UtilizationReport" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"LoadingImageSourceFilesStep": { +"description": "LoadingImageSourceFilesStep contains specific step details.", +"id": "LoadingImageSourceFilesStep", +"properties": {}, +"type": "object" +}, +"LocalizedMessage": { +"description": "Provides a localized error message that is safe to return to the user which can be attached to an RPC error.", +"id": "LocalizedMessage", +"properties": { +"locale": { +"description": "The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: \"en-US\", \"fr-CH\", \"es-MX\"", +"type": "string" +}, +"message": { +"description": "The localized error message in the above locale.", +"type": "string" +} +}, +"type": "object" +}, +"Location": { +"description": "A resource that represents a Google Cloud location.", +"id": "Location", +"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" +}, +"MachineImageParametersOverrides": { +"description": "Parameters overriding decisions based on the source machine image configurations.", +"id": "MachineImageParametersOverrides", +"properties": { +"machineType": { +"description": "Optional. The machine type to create the MachineImage with. If empty, the service will choose a relevant machine type based on the information from the source image. For more information about machine types, please refer to https://cloud.google.com/compute/docs/machine-resource.", +"type": "string" +} +}, +"type": "object" +}, +"MachineImageTargetDetails": { +"description": "The target details of the machine image resource that will be created by the image import job.", +"id": "MachineImageTargetDetails", +"properties": { +"additionalLicenses": { +"description": "Optional. Additional licenses to assign to the instance created by the machine image. Format: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/licenses/LICENSE_NAME Or https://www.googleapis.com/compute/beta/projects/PROJECT_ID/global/licenses/LICENSE_NAME", +"items": { +"type": "string" +}, +"type": "array" +}, +"description": { +"description": "Optional. An optional description of the machine image.", +"type": "string" +}, +"encryption": { +"$ref": "Encryption", +"description": "Immutable. The encryption to apply to the machine image." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels to apply to the instance created by the machine image.", +"type": "object" +}, +"machineImageName": { +"description": "Required. The name of the machine image to be created.", +"type": "string" +}, +"machineImageParametersOverrides": { +"$ref": "MachineImageParametersOverrides", +"description": "Optional. Parameters overriding decisions based on the source machine image configurations." +}, +"networkInterfaces": { +"description": "Optional. The network interfaces to create with the instance created by the machine image. Internal and external IP addresses are ignored for machine image import.", +"items": { +"$ref": "NetworkInterface" +}, +"type": "array" +}, +"osAdaptationParameters": { +"$ref": "ImageImportOsAdaptationParameters", +"description": "Optional. Use to set the parameters relevant for the OS adaptation process." +}, +"serviceAccount": { +"$ref": "ServiceAccount", +"description": "Optional. The service account to assign to the instance created by the machine image." +}, +"shieldedInstanceConfig": { +"$ref": "ShieldedInstanceConfig", +"description": "Optional. Shielded instance configuration." +}, +"singleRegionStorage": { +"description": "Optional. Set to true to set the machine image storageLocations to the single region of the import job. When false, the closest multi-region is selected.", +"type": "boolean" +}, +"skipOsAdaptation": { +"$ref": "SkipOsAdaptation", +"description": "Optional. Use to skip OS adaptation process." +}, +"tags": { +"description": "Optional. The tags to apply to the instance created by the machine image.", +"items": { +"type": "string" +}, +"type": "array" +}, +"targetProject": { +"description": "Required. Reference to the TargetProject resource that represents the target project in which the imported machine image will be created.", +"type": "string" +} +}, +"type": "object" +}, +"MigratingVm": { +"description": "MigratingVm describes the VM that will be migrated from a Source environment and its replication state.", +"id": "MigratingVm", +"properties": { +"awsSourceVmDetails": { +"$ref": "AwsSourceVmDetails", +"description": "Output only. Details of the VM from an AWS source.", +"readOnly": true +}, +"azureSourceVmDetails": { +"$ref": "AzureSourceVmDetails", +"description": "Output only. Details of the VM from an Azure source.", +"readOnly": true +}, +"computeEngineDisksTargetDefaults": { +"$ref": "ComputeEngineDisksTargetDefaults", +"description": "Details of the target Persistent Disks in Compute Engine." +}, +"computeEngineTargetDefaults": { +"$ref": "ComputeEngineTargetDefaults", +"description": "Details of the target VM in Compute Engine." +}, +"createTime": { +"description": "Output only. The time the migrating VM was created (this refers to this resource and not to the time it was installed in the source).", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"currentSyncInfo": { +"$ref": "ReplicationCycle", +"description": "Output only. Details of the current running replication cycle.", +"readOnly": true +}, +"cutoverForecast": { +"$ref": "CutoverForecast", +"description": "Output only. Provides details of future CutoverJobs of a MigratingVm. Set to empty when cutover forecast is unavailable.", +"readOnly": true +}, +"description": { +"description": "The description attached to the migrating VM by the user.", +"type": "string" +}, +"displayName": { +"description": "The display name attached to the MigratingVm by the user.", +"type": "string" +}, +"error": { +"$ref": "Status", +"description": "Output only. Provides details on the state of the Migrating VM in case of an error in replication.", +"readOnly": true +}, +"group": { +"description": "Output only. The group this migrating vm is included in, if any. The group is represented by the full path of the appropriate Group resource.", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels of the migrating VM.", +"type": "object" +}, +"lastReplicationCycle": { +"$ref": "ReplicationCycle", +"description": "Output only. Details of the last replication cycle. This will be updated whenever a replication cycle is finished and is not to be confused with last_sync which is only updated on successful replication cycles.", +"readOnly": true +}, +"lastSync": { +"$ref": "ReplicationSync", +"description": "Output only. The most updated snapshot created time in the source that finished replication.", +"readOnly": true +}, +"name": { +"description": "Output only. The identifier of the MigratingVm.", +"readOnly": true, +"type": "string" +}, +"policy": { +"$ref": "SchedulePolicy", +"description": "The replication schedule policy." +}, +"recentCloneJobs": { +"description": "Output only. The recent clone jobs performed on the migrating VM. This field holds the vm's last completed clone job and the vm's running clone job, if one exists. Note: To have this field populated you need to explicitly request it via the \"view\" parameter of the Get/List request.", +"items": { +"$ref": "CloneJob" +}, +"readOnly": true, +"type": "array" +}, +"recentCutoverJobs": { +"description": "Output only. The recent cutover jobs performed on the migrating VM. This field holds the vm's last completed cutover job and the vm's running cutover job, if one exists. Note: To have this field populated you need to explicitly request it via the \"view\" parameter of the Get/List request.", +"items": { +"$ref": "CutoverJob" +}, +"readOnly": true, +"type": "array" +}, +"sourceVmId": { +"description": "The unique ID of the VM in the source. The VM's name in vSphere can be changed, so this is not the VM's name but rather its moRef id. This id is of the form vm-.", +"type": "string" +}, +"state": { +"description": "Output only. State of the MigratingVm.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"READY", +"FIRST_SYNC", +"ACTIVE", +"CUTTING_OVER", +"CUTOVER", +"FINAL_SYNC", +"PAUSED", +"FINALIZING", +"FINALIZED", +"ERROR" +], +"enumDescriptions": [ +"The state was not sampled by the health checks yet.", +"The VM in the source is being verified.", +"The source VM was verified, and it's ready to start replication.", +"Migration is going through the first sync cycle.", +"The replication is active, and it's running or scheduled to run.", +"The source VM is being turned off, and a final replication is currently running.", +"The source VM was stopped and replicated. The replication is currently paused.", +"A cutover job is active and replication cycle is running the final sync.", +"The replication was paused by the user and no cycles are scheduled to run.", +"The migrating VM is being finalized and migration resources are being removed.", +"The replication process is done. The migrating VM is finalized and no longer consumes billable resources.", +"The replication process encountered an unrecoverable error and was aborted." +], +"readOnly": true, +"type": "string" +}, +"stateTime": { +"description": "Output only. The last time the migrating VM state was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The last time the migrating VM resource was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"vmwareSourceVmDetails": { +"$ref": "VmwareSourceVmDetails", +"description": "Output only. Details of the VM from a Vmware source.", +"readOnly": true +} +}, +"type": "object" +}, +"MigrationError": { +"description": "Represents migration resource error information that can be used with google.rpc.Status message. MigrationError is used to present the user with error information in migration operations.", +"id": "MigrationError", +"properties": { +"actionItem": { +"$ref": "LocalizedMessage", +"description": "Output only. Suggested action for solving the error.", +"readOnly": true +}, +"code": { +"description": "Output only. The error code.", +"enum": [ +"ERROR_CODE_UNSPECIFIED", +"UNKNOWN_ERROR", +"SOURCE_VALIDATION_ERROR", +"SOURCE_REPLICATION_ERROR", +"TARGET_REPLICATION_ERROR", +"OS_ADAPTATION_ERROR", +"CLONE_ERROR", +"CUTOVER_ERROR", +"UTILIZATION_REPORT_ERROR", +"APPLIANCE_UPGRADE_ERROR", +"IMAGE_IMPORT_ERROR" +], +"enumDescriptions": [ +"Default value. This value is not used.", +"Migrate to Virtual Machines encountered an unknown error.", +"Migrate to Virtual Machines encountered an error while validating replication source health.", +"Migrate to Virtual Machines encountered an error during source data operation.", +"Migrate to Virtual Machines encountered an error during target data operation.", +"Migrate to Virtual Machines encountered an error during OS adaptation.", +"Migrate to Virtual Machines encountered an error in clone operation.", +"Migrate to Virtual Machines encountered an error in cutover operation.", +"Migrate to Virtual Machines encountered an error during utilization report creation.", +"Migrate to Virtual Machines encountered an error during appliance upgrade.", +"Migrate to Virtual Machines encountered an error in image import operation." +], +"readOnly": true, +"type": "string" +}, +"errorMessage": { +"$ref": "LocalizedMessage", +"description": "Output only. The localized error message.", +"readOnly": true +}, +"errorTime": { +"description": "Output only. The time the error occurred.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"helpLinks": { +"description": "Output only. URL(s) pointing to additional information on handling the current error.", +"items": { +"$ref": "Link" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"MigrationWarning": { +"description": "Represents migration resource warning information that can be used with google.rpc.Status message. MigrationWarning is used to present the user with warning information in migration operations.", +"id": "MigrationWarning", +"properties": { +"actionItem": { +"$ref": "LocalizedMessage", +"description": "Output only. Suggested action for solving the warning.", +"readOnly": true +}, +"code": { +"description": "The warning code.", +"enum": [ +"WARNING_CODE_UNSPECIFIED", +"ADAPTATION_WARNING" +], +"enumDescriptions": [ +"Default value. This value is not used.", +"A warning originated from OS Adaptation." +], +"type": "string" +}, +"helpLinks": { +"description": "Output only. URL(s) pointing to additional information on handling the current warning.", +"items": { +"$ref": "Link" +}, +"readOnly": true, +"type": "array" +}, +"warningMessage": { +"$ref": "LocalizedMessage", +"description": "Output only. The localized warning message.", +"readOnly": true +}, +"warningTime": { +"description": "The time the warning occurred.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"NetworkInterface": { +"description": "NetworkInterface represents a NIC of a VM.", +"id": "NetworkInterface", +"properties": { +"externalIp": { +"description": "Optional. The external IP to define in the NIC.", +"type": "string" +}, +"internalIp": { +"description": "Optional. The internal IP to define in the NIC. The formats accepted are: `ephemeral` \\ ipv4 address \\ a named address resource full path.", +"type": "string" +}, +"network": { +"description": "The network to connect the NIC to.", +"type": "string" +}, +"networkTier": { +"description": "Optional. The networking tier used for optimizing connectivity between instances and systems on the internet. Applies only for external ephemeral IP addresses. If left empty, will default to PREMIUM.", +"enum": [ +"COMPUTE_ENGINE_NETWORK_TIER_UNSPECIFIED", +"NETWORK_TIER_STANDARD", +"NETWORK_TIER_PREMIUM" +], +"enumDescriptions": [ +"An unspecified network tier. Will be used as PREMIUM.", +"A standard network tier.", +"A premium network tier." +], +"type": "string" +}, +"subnetwork": { +"description": "Optional. The subnetwork to connect the NIC to.", +"type": "string" +} +}, +"type": "object" +}, +"OSDescription": { +"description": "A message describing the VM's OS. Including OS, Publisher, Offer and Plan if applicable.", +"id": "OSDescription", +"properties": { +"offer": { +"description": "OS offer.", +"type": "string" +}, +"plan": { +"description": "OS plan.", +"type": "string" +}, +"publisher": { +"description": "OS publisher.", +"type": "string" +}, +"type": { +"description": "OS type.", +"type": "string" +} +}, +"type": "object" +}, +"OSDisk": { +"description": "A message describing the OS disk.", +"id": "OSDisk", +"properties": { +"name": { +"description": "The disk's full name.", +"type": "string" +}, +"sizeGb": { +"description": "The disk's size in GB.", +"format": "int32", +"type": "integer" +}, +"type": { +"description": "The disk's type.", +"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 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" +}, +"PauseMigrationRequest": { +"description": "Request message for 'PauseMigration' request.", +"id": "PauseMigrationRequest", +"properties": {}, +"type": "object" +}, +"PersistentDisk": { +"description": "Details of a created Persistent Disk.", +"id": "PersistentDisk", +"properties": { +"diskUri": { +"description": "The URI of the Persistent Disk.", +"type": "string" +}, +"sourceDiskNumber": { +"description": "The ordinal number of the source VM disk.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"PersistentDiskDefaults": { +"description": "Details for creation of a Persistent Disk.", +"id": "PersistentDiskDefaults", +"properties": { +"additionalLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "A map of labels to associate with the Persistent Disk.", +"type": "object" +}, +"diskName": { +"description": "Optional. The name of the Persistent Disk to create.", +"type": "string" +}, +"diskType": { +"description": "The disk type to use.", +"enum": [ +"COMPUTE_ENGINE_DISK_TYPE_UNSPECIFIED", +"COMPUTE_ENGINE_DISK_TYPE_STANDARD", +"COMPUTE_ENGINE_DISK_TYPE_SSD", +"COMPUTE_ENGINE_DISK_TYPE_BALANCED", +"COMPUTE_ENGINE_DISK_TYPE_HYPERDISK_BALANCED" +], +"enumDescriptions": [ +"An unspecified disk type. Will be used as STANDARD.", +"A Standard disk type.", +"SSD hard disk type.", +"An alternative to SSD persistent disks that balance performance and cost.", +"Hyperdisk balanced disk type." +], +"type": "string" +}, +"encryption": { +"$ref": "Encryption", +"description": "Optional. The encryption to apply to the disk." +}, +"sourceDiskNumber": { +"description": "Required. The ordinal number of the source VM disk.", +"format": "int32", +"type": "integer" +}, +"vmAttachmentDetails": { +"$ref": "VmAttachmentDetails", +"description": "Optional. Details for attachment of the disk to a VM. Used when the disk is set to be attached to a target VM." +} +}, +"type": "object" +}, +"PostProcessingStep": { +"description": "PostProcessingStep contains specific step details.", +"id": "PostProcessingStep", +"properties": {}, +"type": "object" +}, +"PreparingVMDisksStep": { +"description": "PreparingVMDisksStep contains specific step details.", +"id": "PreparingVMDisksStep", +"properties": {}, +"type": "object" +}, +"RemoveGroupMigrationRequest": { +"description": "Request message for 'RemoveMigration' request.", +"id": "RemoveGroupMigrationRequest", +"properties": { +"migratingVm": { +"description": "The MigratingVm to remove.", +"type": "string" +} +}, +"type": "object" +}, +"ReplicatingStep": { +"description": "ReplicatingStep contains specific step details.", +"id": "ReplicatingStep", +"properties": { +"lastThirtyMinutesAverageBytesPerSecond": { +"description": "The source disks replication rate for the last 30 minutes in bytes per second.", +"format": "int64", +"type": "string" +}, +"lastTwoMinutesAverageBytesPerSecond": { +"description": "The source disks replication rate for the last 2 minutes in bytes per second.", +"format": "int64", +"type": "string" +}, +"replicatedBytes": { +"description": "Replicated bytes in the step.", +"format": "int64", +"type": "string" +}, +"totalBytes": { +"description": "Total bytes to be handled in the step.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ReplicationCycle": { +"description": "ReplicationCycle contains information about the current replication cycle status.", +"id": "ReplicationCycle", +"properties": { +"cycleNumber": { +"description": "The cycle's ordinal number.", +"format": "int32", +"type": "integer" +}, +"endTime": { +"description": "The time the replication cycle has ended.", +"format": "google-datetime", +"type": "string" +}, +"error": { +"$ref": "Status", +"description": "Output only. Provides details on the state of the cycle in case of an error.", +"readOnly": true +}, +"name": { +"description": "The identifier of the ReplicationCycle.", +"type": "string" +}, +"progressPercent": { +"deprecated": true, +"description": "The current progress in percentage of this cycle. Was replaced by 'steps' field, which breaks down the cycle progression more accurately.", +"format": "int32", +"type": "integer" +}, +"startTime": { +"description": "The time the replication cycle has started.", +"format": "google-datetime", +"type": "string" +}, +"state": { +"description": "State of the ReplicationCycle.", +"enum": [ +"STATE_UNSPECIFIED", +"RUNNING", +"PAUSED", +"FAILED", +"SUCCEEDED" +], +"enumDescriptions": [ +"The state is unknown. This is used for API compatibility only and is not used by the system.", +"The replication cycle is running.", +"The replication cycle is paused.", +"The replication cycle finished with errors.", +"The replication cycle finished successfully." +], +"type": "string" +}, +"steps": { +"description": "The cycle's steps list representing its progress.", +"items": { +"$ref": "CycleStep" +}, +"type": "array" +}, +"totalPauseDuration": { +"description": "The accumulated duration the replication cycle was paused.", +"format": "google-duration", +"type": "string" +}, +"warnings": { +"description": "Output only. Warnings that occurred during the cycle.", +"items": { +"$ref": "MigrationWarning" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"ReplicationSync": { +"description": "ReplicationSync contain information about the last replica sync to the cloud.", +"id": "ReplicationSync", +"properties": { +"lastSyncTime": { +"description": "The most updated snapshot created time in the source that finished replication.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"ResumeMigrationRequest": { +"description": "Request message for 'ResumeMigration' request.", +"id": "ResumeMigrationRequest", +"properties": {}, +"type": "object" +}, +"SchedulePolicy": { +"description": "A policy for scheduling replications.", +"id": "SchedulePolicy", +"properties": { +"idleDuration": { +"description": "The idle duration between replication stages.", +"format": "google-duration", +"type": "string" +}, +"skipOsAdaptation": { +"description": "A flag to indicate whether to skip OS adaptation during the replication sync. OS adaptation is a process where the VM's operating system undergoes changes and adaptations to fully function on Compute Engine.", +"type": "boolean" +} +}, +"type": "object" +}, +"SchedulingNodeAffinity": { +"description": "Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled. Based on https://cloud.google.com/compute/docs/reference/rest/v1/instances/setScheduling", +"id": "SchedulingNodeAffinity", +"properties": { +"key": { +"description": "The label key of Node resource to reference.", +"type": "string" +}, +"operator": { +"description": "The operator to use for the node resources specified in the `values` parameter.", +"enum": [ +"OPERATOR_UNSPECIFIED", +"IN", +"NOT_IN" +], +"enumDescriptions": [ +"An unknown, unexpected behavior.", +"The node resource group should be in these resources affinity.", +"The node resource group should not be in these resources affinity." +], +"type": "string" +}, +"values": { +"description": "Corresponds to the label values of Node resource.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ServiceAccount": { +"description": "Service account to assign to the instance created by the machine image.", +"id": "ServiceAccount", +"properties": { +"email": { +"description": "Required. The email address of the service account.", +"type": "string" +}, +"scopes": { +"description": "Optional. The list of scopes to be made available for this service account.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ShieldedInstanceConfig": { +"description": "Shielded instance configuration.", +"id": "ShieldedInstanceConfig", +"properties": { +"enableIntegrityMonitoring": { +"description": "Optional. Defines whether the instance created by the machine image has integrity monitoring enabled. This can be set to true only if the image boot option is EFI, and vTPM is enabled.", +"type": "boolean" +}, +"enableVtpm": { +"description": "Optional. Defines whether the instance created by the machine image has vTPM enabled. This can be set to true only if the image boot option is EFI.", +"type": "boolean" +}, +"secureBoot": { +"description": "Optional. Defines whether the instance created by the machine image has Secure Boot enabled. This can be set to true only if the image boot option is EFI.", +"enum": [ +"SECURE_BOOT_UNSPECIFIED", +"TRUE", +"FALSE" +], +"enumDescriptions": [ +"No explicit value is selected. Will use the configuration of the source (if exists, otherwise the default will be false).", +"Use secure boot. This can be set to true only if the image boot option is EFI.", +"Do not use secure boot." +], +"type": "string" +} +}, +"type": "object" +}, +"ShuttingDownSourceVMStep": { +"description": "ShuttingDownSourceVMStep contains specific step details.", +"id": "ShuttingDownSourceVMStep", +"properties": {}, +"type": "object" +}, +"SkipOsAdaptation": { +"description": "Mentions that the machine image import is not using OS adaptation process.", +"id": "SkipOsAdaptation", +"properties": {}, +"type": "object" +}, +"Source": { +"description": "Source message describes a specific vm migration Source resource. It contains the source environment information.", +"id": "Source", +"properties": { +"aws": { +"$ref": "AwsSourceDetails", +"description": "AWS type source details." +}, +"azure": { +"$ref": "AzureSourceDetails", +"description": "Azure type source details." +}, +"createTime": { +"description": "Output only. The create time timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "User-provided description of the source.", +"type": "string" +}, +"encryption": { +"$ref": "Encryption", +"description": "Optional. Immutable. The encryption details of the source data stored by the service." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels of the source.", +"type": "object" +}, +"name": { +"description": "Output only. The Source name.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The update time timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"vmware": { +"$ref": "VmwareSourceDetails", +"description": "Vmware type source details." +} +}, +"type": "object" +}, +"StartMigrationRequest": { +"description": "Request message for 'StartMigrationRequest' request.", +"id": "StartMigrationRequest", +"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" +}, +"Tag": { +"description": "Tag is an AWS tag representation.", +"id": "Tag", +"properties": { +"key": { +"description": "Required. Key of tag.", +"type": "string" +}, +"value": { +"description": "Required. Value of tag.", +"type": "string" +} +}, +"type": "object" +}, +"TargetProject": { +"description": "TargetProject message represents a target Compute Engine project for a migration or a clone.", +"id": "TargetProject", +"properties": { +"createTime": { +"description": "Output only. The time this target project resource was created (not related to when the Compute Engine project it points to was created).", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "The target project's description.", +"type": "string" +}, +"name": { +"description": "Output only. The name of the target project.", +"readOnly": true, +"type": "string" +}, +"project": { +"description": "Required. The target project ID (number) or project name.", +"type": "string" +}, +"updateTime": { +"description": "Output only. The last time the target project resource was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"UpgradeApplianceRequest": { +"description": "Request message for 'UpgradeAppliance' request.", +"id": "UpgradeApplianceRequest", +"properties": { +"requestId": { +"description": "A 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" +}, +"UpgradeStatus": { +"description": "UpgradeStatus contains information about upgradeAppliance operation.", +"id": "UpgradeStatus", +"properties": { +"error": { +"$ref": "Status", +"description": "Output only. Provides details on the state of the upgrade operation in case of an error.", +"readOnly": true +}, +"previousVersion": { +"description": "The version from which we upgraded.", +"type": "string" +}, +"startTime": { +"description": "The time the operation was started.", +"format": "google-datetime", +"type": "string" +}, +"state": { +"description": "The state of the upgradeAppliance operation.", +"enum": [ +"STATE_UNSPECIFIED", +"RUNNING", +"FAILED", +"SUCCEEDED" +], +"enumDescriptions": [ +"The state was not sampled by the health checks yet.", +"The upgrade has started.", +"The upgrade failed.", +"The upgrade finished successfully." +], +"type": "string" +}, +"version": { +"description": "The version to upgrade to.", +"type": "string" +} +}, +"type": "object" +}, +"UtilizationReport": { +"description": "Utilization report details the utilization (CPU, memory, etc.) of selected source VMs.", +"id": "UtilizationReport", +"properties": { +"createTime": { +"description": "Output only. The time the report was created (this refers to the time of the request, not the time the report creation completed).", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "The report display name, as assigned by the user.", +"type": "string" +}, +"error": { +"$ref": "Status", +"description": "Output only. Provides details on the state of the report in case of an error.", +"readOnly": true +}, +"frameEndTime": { +"description": "Output only. The point in time when the time frame ends. Notice that the time frame is counted backwards. For instance if the \"frame_end_time\" value is 2021/01/20 and the time frame is WEEK then the report covers the week between 2021/01/20 and 2021/01/14.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The report unique name.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. Current state of the report.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"SUCCEEDED", +"FAILED" +], +"enumDescriptions": [ +"The state is unknown. This value is not in use.", +"The report is in the making.", +"Report creation completed successfully.", +"Report creation failed." +], +"readOnly": true, +"type": "string" +}, +"stateTime": { +"description": "Output only. The time the state was last set.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"timeFrame": { +"description": "Time frame of the report.", +"enum": [ +"TIME_FRAME_UNSPECIFIED", +"WEEK", +"MONTH", +"YEAR" +], +"enumDescriptions": [ +"The time frame was not specified and will default to WEEK.", +"One week.", +"One month.", +"One year." +], +"type": "string" +}, +"vmCount": { +"description": "Output only. Total number of VMs included in the report.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"vms": { +"description": "List of utilization information per VM. When sent as part of the request, the \"vm_id\" field is used in order to specify which VMs to include in the report. In that case all other fields are ignored.", +"items": { +"$ref": "VmUtilizationInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"VmAttachmentDetails": { +"description": "Details for attachment of the disk to a VM.", +"id": "VmAttachmentDetails", +"properties": { +"deviceName": { +"description": "Optional. Specifies a unique device name of your choice that is reflected into the /dev/disk/by-id/google-* tree of a Linux operating system running within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disk-x, where x is a number assigned by Google Compute Engine. This field is only applicable for persistent disks.", +"type": "string" +} +}, +"type": "object" +}, +"VmCapabilities": { +"description": "Migrating VM source information about the VM capabilities needed for some Compute Engine features.", +"id": "VmCapabilities", +"properties": { +"lastOsCapabilitiesUpdateTime": { +"description": "Output only. The last time OS capabilities list was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"osCapabilities": { +"description": "Output only. Unordered list. List of certain VM OS capabilities needed for some Compute Engine features.", +"items": { +"enum": [ +"OS_CAPABILITY_UNSPECIFIED", +"OS_CAPABILITY_NVME_STORAGE_ACCESS", +"OS_CAPABILITY_GVNIC_NETWORK_INTERFACE" +], +"enumDescriptions": [ +"This is for API compatibility only and is not in use.", +"NVMe driver installed and the VM can use NVMe PD or local SSD.", +"gVNIC virtual NIC driver supported." +], +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"VmUtilizationInfo": { +"description": "Utilization information of a single VM.", +"id": "VmUtilizationInfo", +"properties": { +"utilization": { +"$ref": "VmUtilizationMetrics", +"description": "Utilization metrics for this VM." +}, +"vmId": { +"description": "The VM's ID in the source.", +"type": "string" +}, +"vmwareVmDetails": { +"$ref": "VmwareVmDetails", +"description": "The description of the VM in a Source of type Vmware." +} +}, +"type": "object" +}, +"VmUtilizationMetrics": { +"description": "Utilization metrics values for a single VM.", +"id": "VmUtilizationMetrics", +"properties": { +"cpuAveragePercent": { +"description": "Average CPU usage, percent.", +"format": "int32", +"type": "integer" +}, +"cpuMaxPercent": { +"description": "Max CPU usage, percent.", +"format": "int32", +"type": "integer" +}, +"diskIoRateAverageKbps": { +"description": "Average disk IO rate, in kilobytes per second.", +"format": "int64", +"type": "string" +}, +"diskIoRateMaxKbps": { +"description": "Max disk IO rate, in kilobytes per second.", +"format": "int64", +"type": "string" +}, +"memoryAveragePercent": { +"description": "Average memory usage, percent.", +"format": "int32", +"type": "integer" +}, +"memoryMaxPercent": { +"description": "Max memory usage, percent.", +"format": "int32", +"type": "integer" +}, +"networkThroughputAverageKbps": { +"description": "Average network throughput (combined transmit-rates and receive-rates), in kilobytes per second.", +"format": "int64", +"type": "string" +}, +"networkThroughputMaxKbps": { +"description": "Max network throughput (combined transmit-rates and receive-rates), in kilobytes per second.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"VmwareDiskDetails": { +"description": "The details of a Vmware VM disk.", +"id": "VmwareDiskDetails", +"properties": { +"diskNumber": { +"description": "Output only. The ordinal number of the disk.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"label": { +"description": "Output only. The disk label.", +"readOnly": true, +"type": "string" +}, +"sizeGb": { +"description": "Output only. Size in GB.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"VmwareSourceDetails": { +"description": "VmwareSourceDetails message describes a specific source details for the vmware source type.", +"id": "VmwareSourceDetails", +"properties": { +"password": { +"description": "Input only. The credentials password. This is write only and can not be read in a GET operation.", +"type": "string" +}, +"resolvedVcenterHost": { +"description": "The hostname of the vcenter.", +"type": "string" +}, +"thumbprint": { +"description": "The thumbprint representing the certificate for the vcenter.", +"type": "string" +}, +"username": { +"description": "The credentials username.", +"type": "string" +}, +"vcenterIp": { +"description": "The ip address of the vcenter this Source represents.", +"type": "string" +} +}, +"type": "object" +}, +"VmwareSourceVmDetails": { +"description": "Represent the source Vmware VM details.", +"id": "VmwareSourceVmDetails", +"properties": { +"architecture": { +"description": "Output only. The VM architecture.", +"enum": [ +"VM_ARCHITECTURE_UNSPECIFIED", +"VM_ARCHITECTURE_X86_FAMILY", +"VM_ARCHITECTURE_ARM64" +], +"enumDescriptions": [ +"The architecture is unknown.", +"The architecture is one of the x86 architectures.", +"The architecture is ARM64." +], +"readOnly": true, +"type": "string" +}, +"committedStorageBytes": { +"description": "Output only. The total size of the disks being migrated in bytes.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"disks": { +"description": "Output only. The disks attached to the source VM.", +"items": { +"$ref": "VmwareDiskDetails" +}, +"readOnly": true, +"type": "array" +}, +"firmware": { +"description": "Output only. The firmware type of the source VM.", +"enum": [ +"FIRMWARE_UNSPECIFIED", +"EFI", +"BIOS" +], +"enumDescriptions": [ +"The firmware is unknown.", +"The firmware is EFI.", +"The firmware is BIOS." +], +"readOnly": true, +"type": "string" +}, +"vmCapabilitiesInfo": { +"$ref": "VmCapabilities", +"description": "Output only. Information about VM capabilities needed for some Compute Engine features.", +"readOnly": true +} +}, +"type": "object" +}, +"VmwareVmDetails": { +"description": "VmwareVmDetails describes a VM in vCenter.", +"id": "VmwareVmDetails", +"properties": { +"architecture": { +"description": "Output only. The CPU architecture.", +"enum": [ +"VM_ARCHITECTURE_UNSPECIFIED", +"VM_ARCHITECTURE_X86_FAMILY", +"VM_ARCHITECTURE_ARM64" +], +"enumDescriptions": [ +"The architecture is unknown.", +"The architecture is one of the x86 architectures.", +"The architecture is ARM64." +], +"readOnly": true, +"type": "string" +}, +"bootOption": { +"description": "Output only. The VM Boot Option.", +"enum": [ +"BOOT_OPTION_UNSPECIFIED", +"EFI", +"BIOS" +], +"enumDescriptions": [ +"The boot option is unknown.", +"The boot option is EFI.", +"The boot option is BIOS." +], +"readOnly": true, +"type": "string" +}, +"committedStorageMb": { +"description": "The total size of the storage allocated to the VM in MB.", +"format": "int64", +"type": "string" +}, +"cpuCount": { +"description": "The number of cpus in the VM.", +"format": "int32", +"type": "integer" +}, +"datacenterDescription": { +"description": "The descriptive name of the vCenter's datacenter this VM is contained in.", +"type": "string" +}, +"datacenterId": { +"description": "The id of the vCenter's datacenter this VM is contained in.", +"type": "string" +}, +"diskCount": { +"description": "The number of disks the VM has.", +"format": "int32", +"type": "integer" +}, +"displayName": { +"description": "The display name of the VM. Note that this is not necessarily unique.", +"type": "string" +}, +"guestDescription": { +"description": "The VM's OS. See for example 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 for types of strings this might hold.", +"type": "string" +}, +"memoryMb": { +"description": "The size of the memory of the VM in MB.", +"format": "int32", +"type": "integer" +}, +"powerState": { +"description": "The power state of the VM at the moment list was taken.", +"enum": [ +"POWER_STATE_UNSPECIFIED", +"ON", +"OFF", +"SUSPENDED" +], +"enumDescriptions": [ +"Power state is not specified.", +"The VM is turned ON.", +"The VM is turned OFF.", +"The VM is suspended. This is similar to hibernation or sleep mode." +], +"type": "string" +}, +"uuid": { +"description": "The unique identifier of the VM in vCenter.", +"type": "string" +}, +"vmId": { +"description": "The VM's id in the source (note that this is not the MigratingVm's id). This is the moref id of the VM.", +"type": "string" +} +}, +"type": "object" +}, +"VmwareVmsDetails": { +"description": "VmwareVmsDetails describes VMs in vCenter.", +"id": "VmwareVmsDetails", +"properties": { +"details": { +"description": "The details of the vmware VMs.", +"items": { +"$ref": "VmwareVmDetails" +}, +"type": "array" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "VM Migration 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/workflowexecutions.v1beta.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/workflowexecutions.v1beta.json new file mode 100644 index 0000000000000000000000000000000000000000..c31a055cea305afa23ab27b1f0844123aba9a8ca --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/workflowexecutions.v1beta.json @@ -0,0 +1,492 @@ +{ +"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://workflowexecutions.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Workflow Executions", +"description": "Execute workflows created with Workflows API.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/workflows", +"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": "workflowexecutions:v1beta", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://workflowexecutions.mtls.googleapis.com/", +"name": "workflowexecutions", +"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": { +"workflows": { +"resources": { +"executions": { +"methods": { +"cancel": { +"description": "Cancels an execution of the given name.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/workflows/{workflowsId}/executions/{executionsId}:cancel", +"httpMethod": "POST", +"id": "workflowexecutions.projects.locations.workflows.executions.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the execution to be cancelled. Format: projects/{project}/locations/{location}/workflows/{workflow}/executions/{execution}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workflows/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}:cancel", +"request": { +"$ref": "CancelExecutionRequest" +}, +"response": { +"$ref": "Execution" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a new execution using the latest revision of the given workflow.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/workflows/{workflowsId}/executions", +"httpMethod": "POST", +"id": "workflowexecutions.projects.locations.workflows.executions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Name of the workflow for which an execution should be created. Format: projects/{project}/locations/{location}/workflows/{workflow} The latest revision of the workflow will be used.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workflows/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/executions", +"request": { +"$ref": "Execution" +}, +"response": { +"$ref": "Execution" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns an execution of the given name.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/workflows/{workflowsId}/executions/{executionsId}", +"httpMethod": "GET", +"id": "workflowexecutions.projects.locations.workflows.executions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the execution to be retrieved. Format: projects/{project}/locations/{location}/workflows/{workflow}/executions/{execution}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workflows/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Optional. A view defining which fields should be filled in the returned execution. The API will default to the FULL view.", +"enum": [ +"EXECUTION_VIEW_UNSPECIFIED", +"BASIC", +"FULL" +], +"enumDescriptions": [ +"The default / unset value.", +"Includes only basic metadata about the execution. Following fields are returned: name, start_time, end_time, state and workflow_revision_id.", +"Includes all data." +], +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "Execution" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Returns a list of executions which belong to the workflow with the given name. The method returns executions of all workflow revisions. Returned executions are ordered by their start time (newest first).", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/workflows/{workflowsId}/executions", +"httpMethod": "GET", +"id": "workflowexecutions.projects.locations.workflows.executions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of executions to return per call. Max supported value depends on the selected Execution view: it's 10000 for BASIC and 100 for FULL. The default value used if the field is not specified is 100, regardless of the selected view. Values greater than the max value will be coerced down to it.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListExecutions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListExecutions` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Name of the workflow for which the executions should be listed. Format: projects/{project}/locations/{location}/workflows/{workflow}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workflows/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Optional. A view defining which fields should be filled in the returned executions. The API will default to the BASIC view.", +"enum": [ +"EXECUTION_VIEW_UNSPECIFIED", +"BASIC", +"FULL" +], +"enumDescriptions": [ +"The default / unset value.", +"Includes only basic metadata about the execution. Following fields are returned: name, start_time, end_time, state and workflow_revision_id.", +"Includes all data." +], +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+parent}/executions", +"response": { +"$ref": "ListExecutionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +} +}, +"revision": "20240625", +"rootUrl": "https://workflowexecutions.googleapis.com/", +"schemas": { +"CancelExecutionRequest": { +"description": "Request for the CancelExecution method.", +"id": "CancelExecutionRequest", +"properties": {}, +"type": "object" +}, +"Error": { +"description": "Error describes why the execution was abnormally terminated.", +"id": "Error", +"properties": { +"context": { +"description": "Human-readable stack trace string.", +"type": "string" +}, +"payload": { +"description": "Error message and data returned represented as a JSON string.", +"type": "string" +}, +"stackTrace": { +"$ref": "StackTrace", +"description": "Stack trace with detailed information of where error was generated." +} +}, +"type": "object" +}, +"Execution": { +"description": "A running instance of a [Workflow](/workflows/docs/reference/rest/v1beta/projects.locations.workflows).", +"id": "Execution", +"properties": { +"argument": { +"description": "Input parameters of the execution represented as a JSON string. The size limit is 32KB. *Note*: If you are using the REST API directly to run your workflow, you must escape any JSON string value of `argument`. Example: `'{\"argument\":\"{\\\"firstName\\\":\\\"FIRST\\\",\\\"lastName\\\":\\\"LAST\\\"}\"}'`", +"type": "string" +}, +"callLogLevel": { +"description": "The call logging level associated to this execution.", +"enum": [ +"CALL_LOG_LEVEL_UNSPECIFIED", +"LOG_ALL_CALLS", +"LOG_ERRORS_ONLY" +], +"enumDescriptions": [ +"No call logging level specified.", +"Log all call steps within workflows, all call returns, and all exceptions raised.", +"Log only exceptions that are raised from call steps within workflows." +], +"type": "string" +}, +"endTime": { +"description": "Output only. Marks the end of execution, successful or not.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "Error", +"description": "Output only. The error which caused the execution to finish prematurely. The value is only present if the execution's state is `FAILED` or `CANCELLED`.", +"readOnly": true +}, +"name": { +"description": "Output only. The resource name of the execution. Format: projects/{project}/locations/{location}/workflows/{workflow}/executions/{execution}", +"readOnly": true, +"type": "string" +}, +"result": { +"description": "Output only. Output of the execution represented as a JSON string. The value can only be present if the execution's state is `SUCCEEDED`.", +"readOnly": true, +"type": "string" +}, +"startTime": { +"description": "Output only. Marks the beginning of execution.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. Current state of the execution.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"SUCCEEDED", +"FAILED", +"CANCELLED", +"UNAVAILABLE", +"QUEUED" +], +"enumDescriptions": [ +"Invalid state.", +"The execution is in progress.", +"The execution finished successfully.", +"The execution failed with an error.", +"The execution was stopped intentionally.", +"Reserved for future use.", +"Request has been placed in the backlog for processing at a later time." +], +"readOnly": true, +"type": "string" +}, +"status": { +"$ref": "Status", +"description": "Output only. Status tracks the current steps and progress data of this execution.", +"readOnly": true +}, +"workflowRevisionId": { +"description": "Output only. Revision of the workflow this execution is using.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ListExecutionsResponse": { +"description": "Response for the ListExecutions method.", +"id": "ListExecutionsResponse", +"properties": { +"executions": { +"description": "The executions which match the request.", +"items": { +"$ref": "Execution" +}, +"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" +}, +"Position": { +"description": "Position contains source position information about the stack trace element such as line number, column number and length of the code block in bytes.", +"id": "Position", +"properties": { +"column": { +"description": "The source code column position (of the line) the current instruction was generated from.", +"format": "int64", +"type": "string" +}, +"length": { +"description": "The number of bytes of source code making up this stack trace element.", +"format": "int64", +"type": "string" +}, +"line": { +"description": "The source code line number the current instruction was generated from.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"StackTrace": { +"description": "A collection of stack elements (frames) where an error occurred.", +"id": "StackTrace", +"properties": { +"elements": { +"description": "An array of stack elements.", +"items": { +"$ref": "StackTraceElement" +}, +"type": "array" +} +}, +"type": "object" +}, +"StackTraceElement": { +"description": "A single stack element (frame) where an error occurred.", +"id": "StackTraceElement", +"properties": { +"position": { +"$ref": "Position", +"description": "The source position information of the stack trace element." +}, +"routine": { +"description": "The routine where the error occurred.", +"type": "string" +}, +"step": { +"description": "The step the error occurred at.", +"type": "string" +} +}, +"type": "object" +}, +"Status": { +"description": "Represents the current status of this execution.", +"id": "Status", +"properties": { +"currentSteps": { +"description": "A list of currently executing or last executed step names for the workflow execution currently running. If the workflow has succeeded or failed, this is the last attempted or executed step. Presently, if the current step is inside a subworkflow, the list only includes that step. In the future, the list will contain items for each step in the call stack, starting with the outermost step in the `main` subworkflow, and ending with the most deeply nested step.", +"items": { +"$ref": "Step" +}, +"type": "array" +} +}, +"type": "object" +}, +"Step": { +"description": "Represents a step of the workflow this execution is running.", +"id": "Step", +"properties": { +"routine": { +"description": "Name of a routine within the workflow.", +"type": "string" +}, +"step": { +"description": "Name of a step within the routine.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Workflow Executions 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/youtube.v3.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/youtube.v3.json new file mode 100644 index 0000000000000000000000000000000000000000..56cf6550709c5d0a1fc7fdeb80fcd08a1e15133b --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/youtube.v3.json @@ -0,0 +1,12290 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/youtube": { +"description": "Manage your YouTube account" +}, +"https://www.googleapis.com/auth/youtube.channel-memberships.creator": { +"description": "See a list of your current active channel members, their current level, and when they became a member" +}, +"https://www.googleapis.com/auth/youtube.force-ssl": { +"description": "See, edit, and permanently delete your YouTube videos, ratings, comments and captions" +}, +"https://www.googleapis.com/auth/youtube.readonly": { +"description": "View your YouTube account" +}, +"https://www.googleapis.com/auth/youtube.upload": { +"description": "Manage your YouTube videos" +}, +"https://www.googleapis.com/auth/youtubepartner": { +"description": "View and manage your assets and associated content on YouTube" +}, +"https://www.googleapis.com/auth/youtubepartner-channel-audit": { +"description": "View private information of your YouTube channel relevant during the audit process with a YouTube partner" +} +} +} +}, +"basePath": "", +"baseUrl": "https://youtube.googleapis.com/", +"batchPath": "batch", +"canonicalName": "YouTube", +"description": "The YouTube Data API v3 is an API that provides access to YouTube data, such as videos, playlists, and channels.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/youtube/", +"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": "youtube:v3", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://youtube.mtls.googleapis.com/", +"name": "youtube", +"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": { +"abuseReports": { +"methods": { +"insert": { +"description": "Inserts a new resource into this collection.", +"flatPath": "youtube/v3/abuseReports", +"httpMethod": "POST", +"id": "youtube.abuseReports.insert", +"parameterOrder": [ +"part" +], +"parameters": { +"part": { +"description": "The *part* parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/abuseReports", +"request": { +"$ref": "AbuseReport" +}, +"response": { +"$ref": "AbuseReport" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl" +] +} +} +}, +"activities": { +"methods": { +"list": { +"description": "Retrieves a list of resources, possibly filtered.", +"flatPath": "youtube/v3/activities", +"httpMethod": "GET", +"id": "youtube.activities.list", +"parameterOrder": [ +"part" +], +"parameters": { +"channelId": { +"location": "query", +"type": "string" +}, +"home": { +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "5", +"description": "The *maxResults* parameter specifies the maximum number of items that should be returned in the result set.", +"format": "uint32", +"location": "query", +"maximum": "50", +"minimum": "0", +"type": "integer" +}, +"mine": { +"location": "query", +"type": "boolean" +}, +"pageToken": { +"description": "The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter specifies a comma-separated list of one or more activity resource properties that the API response will include. If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in an activity resource, the snippet property contains other properties that identify the type of activity, a display title for the activity, and so forth. If you set *part=snippet*, the API response will also contain all of those nested properties.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +}, +"publishedAfter": { +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"publishedBefore": { +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"regionCode": { +"location": "query", +"type": "string" +} +}, +"path": "youtube/v3/activities", +"response": { +"$ref": "ActivityListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtube.readonly" +] +} +} +}, +"captions": { +"methods": { +"delete": { +"description": "Deletes a resource.", +"flatPath": "youtube/v3/captions", +"httpMethod": "DELETE", +"id": "youtube.captions.delete", +"parameterOrder": [ +"id" +], +"parameters": { +"id": { +"location": "query", +"required": true, +"type": "string" +}, +"onBehalfOf": { +"description": "ID of the Google+ Page for the channel that the request is be on behalf of", +"location": "query", +"type": "string" +}, +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +} +}, +"path": "youtube/v3/captions", +"scopes": [ +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtubepartner" +] +}, +"download": { +"description": "Downloads a caption track.", +"flatPath": "youtube/v3/captions/{id}", +"httpMethod": "GET", +"id": "youtube.captions.download", +"parameterOrder": [ +"id" +], +"parameters": { +"id": { +"description": "The ID of the caption track to download, required for One Platform.", +"location": "path", +"required": true, +"type": "string" +}, +"onBehalfOf": { +"description": "ID of the Google+ Page for the channel that the request is be on behalf of", +"location": "query", +"type": "string" +}, +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"tfmt": { +"description": "Convert the captions into this format. Supported options are sbv, srt, and vtt.", +"location": "query", +"type": "string" +}, +"tlang": { +"description": "tlang is the language code; machine translate the captions into this language.", +"location": "query", +"type": "string" +} +}, +"path": "youtube/v3/captions/{id}", +"scopes": [ +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtubepartner" +], +"supportsMediaDownload": true, +"useMediaDownloadService": true +}, +"insert": { +"description": "Inserts a new resource into this collection.", +"flatPath": "youtube/v3/captions", +"httpMethod": "POST", +"id": "youtube.captions.insert", +"mediaUpload": { +"accept": [ +"text/xml", +"application/octet-stream", +"*/*" +], +"maxSize": "104857600", +"protocols": { +"resumable": { +"multipart": true, +"path": "/resumable/upload/youtube/v3/captions" +}, +"simple": { +"multipart": true, +"path": "/upload/youtube/v3/captions" +} +} +}, +"parameterOrder": [ +"part" +], +"parameters": { +"onBehalfOf": { +"description": "ID of the Google+ Page for the channel that the request is be on behalf of", +"location": "query", +"type": "string" +}, +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter specifies the caption resource parts that the API response will include. Set the parameter value to snippet.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +}, +"sync": { +"description": "Extra parameter to allow automatically syncing the uploaded caption/transcript with the audio.", +"location": "query", +"type": "boolean" +} +}, +"path": "youtube/v3/captions", +"request": { +"$ref": "Caption" +}, +"response": { +"$ref": "Caption" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtubepartner" +], +"supportsMediaUpload": true +}, +"list": { +"description": "Retrieves a list of resources, possibly filtered.", +"flatPath": "youtube/v3/captions", +"httpMethod": "GET", +"id": "youtube.captions.list", +"parameterOrder": [ +"part", +"videoId" +], +"parameters": { +"id": { +"description": "Returns the captions with the given IDs for Stubby or Apiary.", +"location": "query", +"repeated": true, +"type": "string" +}, +"onBehalfOf": { +"description": "ID of the Google+ Page for the channel that the request is on behalf of.", +"location": "query", +"type": "string" +}, +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter specifies a comma-separated list of one or more caption resource parts that the API response will include. The part names that you can include in the parameter value are id and snippet.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +}, +"videoId": { +"description": "Returns the captions for the specified video.", +"location": "query", +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/captions", +"response": { +"$ref": "CaptionListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtubepartner" +] +}, +"update": { +"description": "Updates an existing resource.", +"flatPath": "youtube/v3/captions", +"httpMethod": "PUT", +"id": "youtube.captions.update", +"mediaUpload": { +"accept": [ +"text/xml", +"application/octet-stream", +"*/*" +], +"maxSize": "104857600", +"protocols": { +"resumable": { +"multipart": true, +"path": "/resumable/upload/youtube/v3/captions" +}, +"simple": { +"multipart": true, +"path": "/upload/youtube/v3/captions" +} +} +}, +"parameterOrder": [ +"part" +], +"parameters": { +"onBehalfOf": { +"description": "ID of the Google+ Page for the channel that the request is on behalf of.", +"location": "query", +"type": "string" +}, +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter specifies a comma-separated list of one or more caption resource parts that the API response will include. The part names that you can include in the parameter value are id and snippet.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +}, +"sync": { +"description": "Extra parameter to allow automatically syncing the uploaded caption/transcript with the audio.", +"location": "query", +"type": "boolean" +} +}, +"path": "youtube/v3/captions", +"request": { +"$ref": "Caption" +}, +"response": { +"$ref": "Caption" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtubepartner" +], +"supportsMediaUpload": true +} +} +}, +"channelBanners": { +"methods": { +"insert": { +"description": "Inserts a new resource into this collection.", +"flatPath": "youtube/v3/channelBanners/insert", +"httpMethod": "POST", +"id": "youtube.channelBanners.insert", +"mediaUpload": { +"accept": [ +"image/jpeg", +"image/png", +"application/octet-stream" +], +"maxSize": "6291456", +"protocols": { +"resumable": { +"multipart": true, +"path": "/resumable/upload/youtube/v3/channelBanners/insert" +}, +"simple": { +"multipart": true, +"path": "/upload/youtube/v3/channelBanners/insert" +} +} +}, +"parameterOrder": [], +"parameters": { +"channelId": { +"description": "Unused, channel_id is currently derived from the security context of the requestor.", +"location": "query", +"type": "string" +}, +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"onBehalfOfContentOwnerChannel": { +"description": "This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", +"location": "query", +"type": "string" +} +}, +"path": "youtube/v3/channelBanners/insert", +"request": { +"$ref": "ChannelBannerResource" +}, +"response": { +"$ref": "ChannelBannerResource" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtube.upload" +], +"supportsMediaUpload": true +} +} +}, +"channelSections": { +"methods": { +"delete": { +"description": "Deletes a resource.", +"flatPath": "youtube/v3/channelSections", +"httpMethod": "DELETE", +"id": "youtube.channelSections.delete", +"parameterOrder": [ +"id" +], +"parameters": { +"id": { +"location": "query", +"required": true, +"type": "string" +}, +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +} +}, +"path": "youtube/v3/channelSections", +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtubepartner" +] +}, +"insert": { +"description": "Inserts a new resource into this collection.", +"flatPath": "youtube/v3/channelSections", +"httpMethod": "POST", +"id": "youtube.channelSections.insert", +"parameterOrder": [ +"part" +], +"parameters": { +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"onBehalfOfContentOwnerChannel": { +"description": "This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include. The part names that you can include in the parameter value are snippet and contentDetails.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/channelSections", +"request": { +"$ref": "ChannelSection" +}, +"response": { +"$ref": "ChannelSection" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtubepartner" +] +}, +"list": { +"description": "Retrieves a list of resources, possibly filtered.", +"flatPath": "youtube/v3/channelSections", +"httpMethod": "GET", +"id": "youtube.channelSections.list", +"parameterOrder": [ +"part" +], +"parameters": { +"channelId": { +"description": "Return the ChannelSections owned by the specified channel ID.", +"location": "query", +"type": "string" +}, +"hl": { +"deprecated": true, +"description": "Return content in specified language", +"location": "query", +"type": "string" +}, +"id": { +"description": "Return the ChannelSections with the given IDs for Stubby or Apiary.", +"location": "query", +"repeated": true, +"type": "string" +}, +"mine": { +"description": "Return the ChannelSections owned by the authenticated user.", +"location": "query", +"type": "boolean" +}, +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter specifies a comma-separated list of one or more channelSection resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, and contentDetails. If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a channelSection resource, the snippet property contains other properties, such as a display title for the channelSection. If you set *part=snippet*, the API response will also contain all of those nested properties.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/channelSections", +"response": { +"$ref": "ChannelSectionListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtube.readonly", +"https://www.googleapis.com/auth/youtubepartner" +] +}, +"update": { +"description": "Updates an existing resource.", +"flatPath": "youtube/v3/channelSections", +"httpMethod": "PUT", +"id": "youtube.channelSections.update", +"parameterOrder": [ +"part" +], +"parameters": { +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include. The part names that you can include in the parameter value are snippet and contentDetails.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/channelSections", +"request": { +"$ref": "ChannelSection" +}, +"response": { +"$ref": "ChannelSection" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtubepartner" +] +} +} +}, +"channels": { +"methods": { +"list": { +"description": "Retrieves a list of resources, possibly filtered.", +"flatPath": "youtube/v3/channels", +"httpMethod": "GET", +"id": "youtube.channels.list", +"parameterOrder": [ +"part" +], +"parameters": { +"categoryId": { +"description": "Return the channels within the specified guide category ID.", +"location": "query", +"type": "string" +}, +"forHandle": { +"description": "Return the channel associated with a YouTube handle.", +"location": "query", +"type": "string" +}, +"forUsername": { +"description": "Return the channel associated with a YouTube username.", +"location": "query", +"type": "string" +}, +"hl": { +"description": "Stands for \"host language\". Specifies the localization language of the metadata to be filled into snippet.localized. The field is filled with the default metadata if there is no localization in the specified language. The parameter value must be a language code included in the list returned by the i18nLanguages.list method (e.g. en_US, es_MX).", +"location": "query", +"type": "string" +}, +"id": { +"description": "Return the channels with the specified IDs.", +"location": "query", +"repeated": true, +"type": "string" +}, +"managedByMe": { +"description": "Return the channels managed by the authenticated user.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "5", +"description": "The *maxResults* parameter specifies the maximum number of items that should be returned in the result set.", +"format": "uint32", +"location": "query", +"maximum": "50", +"minimum": "0", +"type": "integer" +}, +"mine": { +"description": "Return the ids of channels owned by the authenticated user.", +"location": "query", +"type": "boolean" +}, +"mySubscribers": { +"description": "Return the channels subscribed to the authenticated user", +"location": "query", +"type": "boolean" +}, +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter specifies a comma-separated list of one or more channel resource properties that the API response will include. If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a channel resource, the contentDetails property contains other properties, such as the uploads properties. As such, if you set *part=contentDetails*, the API response will also contain all of those nested properties.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/channels", +"response": { +"$ref": "ChannelListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtube.readonly", +"https://www.googleapis.com/auth/youtubepartner", +"https://www.googleapis.com/auth/youtubepartner-channel-audit" +] +}, +"update": { +"description": "Updates an existing resource.", +"flatPath": "youtube/v3/channels", +"httpMethod": "PUT", +"id": "youtube.channels.update", +"parameterOrder": [ +"part" +], +"parameters": { +"onBehalfOfContentOwner": { +"description": "The *onBehalfOfContentOwner* parameter indicates that the authenticated user is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with needs to be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include. The API currently only allows the parameter value to be set to either brandingSettings or invideoPromotion. (You cannot update both of those parts with a single request.) Note that this method overrides the existing values for all of the mutable properties that are contained in any parts that the parameter value specifies.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/channels", +"request": { +"$ref": "Channel" +}, +"response": { +"$ref": "Channel" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtubepartner" +] +} +} +}, +"commentThreads": { +"methods": { +"insert": { +"description": "Inserts a new resource into this collection.", +"flatPath": "youtube/v3/commentThreads", +"httpMethod": "POST", +"id": "youtube.commentThreads.insert", +"parameterOrder": [ +"part" +], +"parameters": { +"part": { +"description": "The *part* parameter identifies the properties that the API response will include. Set the parameter value to snippet. The snippet part has a quota cost of 2 units.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/commentThreads", +"request": { +"$ref": "CommentThread" +}, +"response": { +"$ref": "CommentThread" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube.force-ssl" +] +}, +"list": { +"description": "Retrieves a list of resources, possibly filtered.", +"flatPath": "youtube/v3/commentThreads", +"httpMethod": "GET", +"id": "youtube.commentThreads.list", +"parameterOrder": [ +"part" +], +"parameters": { +"allThreadsRelatedToChannelId": { +"description": "Returns the comment threads of all videos of the channel and the channel comments as well.", +"location": "query", +"type": "string" +}, +"channelId": { +"description": "Returns the comment threads for all the channel comments (ie does not include comments left on videos).", +"location": "query", +"type": "string" +}, +"id": { +"description": "Returns the comment threads with the given IDs for Stubby or Apiary.", +"location": "query", +"repeated": true, +"type": "string" +}, +"maxResults": { +"default": "20", +"description": "The *maxResults* parameter specifies the maximum number of items that should be returned in the result set.", +"format": "uint32", +"location": "query", +"maximum": "100", +"minimum": "1", +"type": "integer" +}, +"moderationStatus": { +"default": "published", +"description": "Limits the returned comment threads to those with the specified moderation status. Not compatible with the 'id' filter. Valid values: published, heldForReview, likelySpam.", +"enum": [ +"published", +"heldForReview", +"likelySpam", +"rejected" +], +"enumDescriptions": [ +"The comment is available for public display.", +"The comment is awaiting review by a moderator.", +"", +"The comment is unfit for display." +], +"location": "query", +"type": "string" +}, +"order": { +"default": "time", +"enum": [ +"orderUnspecified", +"time", +"relevance" +], +"enumDescriptions": [ +"", +"Order by time.", +"Order by relevance." +], +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter specifies a comma-separated list of one or more commentThread resource properties that the API response will include.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +}, +"searchTerms": { +"description": "Limits the returned comment threads to those matching the specified key words. Not compatible with the 'id' filter.", +"location": "query", +"type": "string" +}, +"textFormat": { +"default": "html", +"description": "The requested text format for the returned comments.", +"enum": [ +"textFormatUnspecified", +"html", +"plainText" +], +"enumDescriptions": [ +"", +"Returns the comments in HTML format. This is the default value.", +"Returns the comments in plain text format." +], +"location": "query", +"type": "string" +}, +"videoId": { +"description": "Returns the comment threads of the specified video.", +"location": "query", +"type": "string" +} +}, +"path": "youtube/v3/commentThreads", +"response": { +"$ref": "CommentThreadListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube.force-ssl" +] +} +} +}, +"comments": { +"methods": { +"delete": { +"description": "Deletes a resource.", +"flatPath": "youtube/v3/comments", +"httpMethod": "DELETE", +"id": "youtube.comments.delete", +"parameterOrder": [ +"id" +], +"parameters": { +"id": { +"location": "query", +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/comments", +"scopes": [ +"https://www.googleapis.com/auth/youtube.force-ssl" +] +}, +"insert": { +"description": "Inserts a new resource into this collection.", +"flatPath": "youtube/v3/comments", +"httpMethod": "POST", +"id": "youtube.comments.insert", +"parameterOrder": [ +"part" +], +"parameters": { +"part": { +"description": "The *part* parameter identifies the properties that the API response will include. Set the parameter value to snippet. The snippet part has a quota cost of 2 units.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/comments", +"request": { +"$ref": "Comment" +}, +"response": { +"$ref": "Comment" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube.force-ssl" +] +}, +"list": { +"description": "Retrieves a list of resources, possibly filtered.", +"flatPath": "youtube/v3/comments", +"httpMethod": "GET", +"id": "youtube.comments.list", +"parameterOrder": [ +"part" +], +"parameters": { +"id": { +"description": "Returns the comments with the given IDs for One Platform.", +"location": "query", +"repeated": true, +"type": "string" +}, +"maxResults": { +"default": "20", +"description": "The *maxResults* parameter specifies the maximum number of items that should be returned in the result set.", +"format": "uint32", +"location": "query", +"maximum": "100", +"minimum": "1", +"type": "integer" +}, +"pageToken": { +"description": "The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.", +"location": "query", +"type": "string" +}, +"parentId": { +"description": "Returns replies to the specified comment. Note, currently YouTube features only one level of replies (ie replies to top level comments). However replies to replies may be supported in the future.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter specifies a comma-separated list of one or more comment resource properties that the API response will include.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +}, +"textFormat": { +"default": "html", +"description": "The requested text format for the returned comments.", +"enum": [ +"textFormatUnspecified", +"html", +"plainText" +], +"enumDescriptions": [ +"", +"Returns the comments in HTML format. This is the default value.", +"Returns the comments in plain text format." +], +"location": "query", +"type": "string" +} +}, +"path": "youtube/v3/comments", +"response": { +"$ref": "CommentListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube.force-ssl" +] +}, +"markAsSpam": { +"description": "Expresses the caller's opinion that one or more comments should be flagged as spam.", +"flatPath": "youtube/v3/comments/markAsSpam", +"httpMethod": "POST", +"id": "youtube.comments.markAsSpam", +"parameterOrder": [ +"id" +], +"parameters": { +"id": { +"description": "Flags the comments with the given IDs as spam in the caller's opinion.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/comments/markAsSpam", +"scopes": [ +"https://www.googleapis.com/auth/youtube.force-ssl" +] +}, +"setModerationStatus": { +"description": "Sets the moderation status of one or more comments.", +"flatPath": "youtube/v3/comments/setModerationStatus", +"httpMethod": "POST", +"id": "youtube.comments.setModerationStatus", +"parameterOrder": [ +"id", +"moderationStatus" +], +"parameters": { +"banAuthor": { +"default": "false", +"description": "If set to true the author of the comment gets added to the ban list. This means all future comments of the author will autmomatically be rejected. Only valid in combination with STATUS_REJECTED.", +"location": "query", +"type": "boolean" +}, +"id": { +"description": "Modifies the moderation status of the comments with the given IDs", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +}, +"moderationStatus": { +"description": "Specifies the requested moderation status. Note, comments can be in statuses, which are not available through this call. For example, this call does not allow to mark a comment as 'likely spam'. Valid values: 'heldForReview', 'published' or 'rejected'.", +"enum": [ +"published", +"heldForReview", +"likelySpam", +"rejected" +], +"enumDescriptions": [ +"The comment is available for public display.", +"The comment is awaiting review by a moderator.", +"", +"The comment is unfit for display." +], +"location": "query", +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/comments/setModerationStatus", +"scopes": [ +"https://www.googleapis.com/auth/youtube.force-ssl" +] +}, +"update": { +"description": "Updates an existing resource.", +"flatPath": "youtube/v3/comments", +"httpMethod": "PUT", +"id": "youtube.comments.update", +"parameterOrder": [ +"part" +], +"parameters": { +"part": { +"description": "The *part* parameter identifies the properties that the API response will include. You must at least include the snippet part in the parameter value since that part contains all of the properties that the API request can update.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/comments", +"request": { +"$ref": "Comment" +}, +"response": { +"$ref": "Comment" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube.force-ssl" +] +} +} +}, +"i18nLanguages": { +"methods": { +"list": { +"description": "Retrieves a list of resources, possibly filtered.", +"flatPath": "youtube/v3/i18nLanguages", +"httpMethod": "GET", +"id": "youtube.i18nLanguages.list", +"parameterOrder": [ +"part" +], +"parameters": { +"hl": { +"default": "en_US", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter specifies the i18nLanguage resource properties that the API response will include. Set the parameter value to snippet.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/i18nLanguages", +"response": { +"$ref": "I18nLanguageListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtube.readonly", +"https://www.googleapis.com/auth/youtubepartner" +] +} +} +}, +"i18nRegions": { +"methods": { +"list": { +"description": "Retrieves a list of resources, possibly filtered.", +"flatPath": "youtube/v3/i18nRegions", +"httpMethod": "GET", +"id": "youtube.i18nRegions.list", +"parameterOrder": [ +"part" +], +"parameters": { +"hl": { +"default": "en_US", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter specifies the i18nRegion resource properties that the API response will include. Set the parameter value to snippet.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/i18nRegions", +"response": { +"$ref": "I18nRegionListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtube.readonly", +"https://www.googleapis.com/auth/youtubepartner" +] +} +} +}, +"liveBroadcasts": { +"methods": { +"bind": { +"description": "Bind a broadcast to a stream.", +"flatPath": "youtube/v3/liveBroadcasts/bind", +"httpMethod": "POST", +"id": "youtube.liveBroadcasts.bind", +"parameterOrder": [ +"id", +"part" +], +"parameters": { +"id": { +"description": "Broadcast to bind to the stream", +"location": "query", +"required": true, +"type": "string" +}, +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"onBehalfOfContentOwnerChannel": { +"description": "This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter specifies a comma-separated list of one or more liveBroadcast resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, and status.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +}, +"streamId": { +"description": "Stream to bind, if not set unbind the current one.", +"location": "query", +"type": "string" +} +}, +"path": "youtube/v3/liveBroadcasts/bind", +"response": { +"$ref": "LiveBroadcast" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl" +] +}, +"delete": { +"description": "Delete a given broadcast.", +"flatPath": "youtube/v3/liveBroadcasts", +"httpMethod": "DELETE", +"id": "youtube.liveBroadcasts.delete", +"parameterOrder": [ +"id" +], +"parameters": { +"id": { +"description": "Broadcast to delete.", +"location": "query", +"required": true, +"type": "string" +}, +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"onBehalfOfContentOwnerChannel": { +"description": "This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", +"location": "query", +"type": "string" +} +}, +"path": "youtube/v3/liveBroadcasts", +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl" +] +}, +"insert": { +"description": "Inserts a new stream for the authenticated user.", +"flatPath": "youtube/v3/liveBroadcasts", +"httpMethod": "POST", +"id": "youtube.liveBroadcasts.insert", +"parameterOrder": [ +"part" +], +"parameters": { +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"onBehalfOfContentOwnerChannel": { +"description": "This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include. The part properties that you can include in the parameter value are id, snippet, contentDetails, and status.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/liveBroadcasts", +"request": { +"$ref": "LiveBroadcast" +}, +"response": { +"$ref": "LiveBroadcast" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl" +] +}, +"insertCuepoint": { +"description": "Insert cuepoints in a broadcast", +"flatPath": "youtube/v3/liveBroadcasts/cuepoint", +"httpMethod": "POST", +"id": "youtube.liveBroadcasts.insertCuepoint", +"parameterOrder": [], +"parameters": { +"id": { +"description": "Broadcast to insert ads to, or equivalently `external_video_id` for internal use.", +"location": "query", +"type": "string" +}, +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"onBehalfOfContentOwnerChannel": { +"description": "This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter specifies a comma-separated list of one or more liveBroadcast resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, and status.", +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "youtube/v3/liveBroadcasts/cuepoint", +"request": { +"$ref": "Cuepoint" +}, +"response": { +"$ref": "Cuepoint" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtubepartner" +] +}, +"list": { +"description": "Retrieve the list of broadcasts associated with the given channel.", +"flatPath": "youtube/v3/liveBroadcasts", +"httpMethod": "GET", +"id": "youtube.liveBroadcasts.list", +"parameterOrder": [ +"part" +], +"parameters": { +"broadcastStatus": { +"description": "Return broadcasts with a certain status, e.g. active broadcasts.", +"enum": [ +"broadcastStatusFilterUnspecified", +"all", +"active", +"upcoming", +"completed" +], +"enumDescriptions": [ +"", +"Return all broadcasts.", +"Return current live broadcasts.", +"Return broadcasts that have not yet started.", +"Return broadcasts that have already ended." +], +"location": "query", +"type": "string" +}, +"broadcastType": { +"default": "event", +"description": "Return only broadcasts with the selected type.", +"enum": [ +"broadcastTypeFilterUnspecified", +"all", +"event", +"persistent" +], +"enumDescriptions": [ +"", +"Return all broadcasts.", +"Return only scheduled event broadcasts.", +"Return only persistent broadcasts." +], +"location": "query", +"type": "string" +}, +"id": { +"description": "Return broadcasts with the given ids from Stubby or Apiary.", +"location": "query", +"repeated": true, +"type": "string" +}, +"maxResults": { +"default": "5", +"description": "The *maxResults* parameter specifies the maximum number of items that should be returned in the result set.", +"format": "uint32", +"location": "query", +"maximum": "50", +"minimum": "0", +"type": "integer" +}, +"mine": { +"location": "query", +"type": "boolean" +}, +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"onBehalfOfContentOwnerChannel": { +"description": "This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter specifies a comma-separated list of one or more liveBroadcast resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, status and statistics.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/liveBroadcasts", +"response": { +"$ref": "LiveBroadcastListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtube.readonly" +] +}, +"transition": { +"description": "Transition a broadcast to a given status.", +"flatPath": "youtube/v3/liveBroadcasts/transition", +"httpMethod": "POST", +"id": "youtube.liveBroadcasts.transition", +"parameterOrder": [ +"broadcastStatus", +"id", +"part" +], +"parameters": { +"broadcastStatus": { +"description": "The status to which the broadcast is going to transition.", +"enum": [ +"statusUnspecified", +"testing", +"live", +"complete" +], +"enumDescriptions": [ +"", +"Start testing the broadcast. YouTube transmits video to the broadcast's monitor stream. Note that you can only transition a broadcast to the testing state if its contentDetails.monitorStream.enableMonitorStream property is set to true.\",", +"Return only persistent broadcasts.", +"The broadcast is over. YouTube stops transmitting video." +], +"location": "query", +"required": true, +"type": "string" +}, +"id": { +"description": "Broadcast to transition.", +"location": "query", +"required": true, +"type": "string" +}, +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"onBehalfOfContentOwnerChannel": { +"description": "This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter specifies a comma-separated list of one or more liveBroadcast resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, and status.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/liveBroadcasts/transition", +"response": { +"$ref": "LiveBroadcast" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl" +] +}, +"update": { +"description": "Updates an existing broadcast for the authenticated user.", +"flatPath": "youtube/v3/liveBroadcasts", +"httpMethod": "PUT", +"id": "youtube.liveBroadcasts.update", +"parameterOrder": [ +"part" +], +"parameters": { +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"onBehalfOfContentOwnerChannel": { +"description": "This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include. The part properties that you can include in the parameter value are id, snippet, contentDetails, and status. Note that this method will override the existing values for all of the mutable properties that are contained in any parts that the parameter value specifies. For example, a broadcast's privacy status is defined in the status part. As such, if your request is updating a private or unlisted broadcast, and the request's part parameter value includes the status part, the broadcast's privacy setting will be updated to whatever value the request body specifies. If the request body does not specify a value, the existing privacy setting will be removed and the broadcast will revert to the default privacy setting.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/liveBroadcasts", +"request": { +"$ref": "LiveBroadcast" +}, +"response": { +"$ref": "LiveBroadcast" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl" +] +} +} +}, +"liveChatBans": { +"methods": { +"delete": { +"description": "Deletes a chat ban.", +"flatPath": "youtube/v3/liveChat/bans", +"httpMethod": "DELETE", +"id": "youtube.liveChatBans.delete", +"parameterOrder": [ +"id" +], +"parameters": { +"id": { +"location": "query", +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/liveChat/bans", +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl" +] +}, +"insert": { +"description": "Inserts a new resource into this collection.", +"flatPath": "youtube/v3/liveChat/bans", +"httpMethod": "POST", +"id": "youtube.liveChatBans.insert", +"parameterOrder": [ +"part" +], +"parameters": { +"part": { +"description": "The *part* parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response returns. Set the parameter value to snippet.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/liveChat/bans", +"request": { +"$ref": "LiveChatBan" +}, +"response": { +"$ref": "LiveChatBan" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl" +] +} +} +}, +"liveChatMessages": { +"methods": { +"delete": { +"description": "Deletes a chat message.", +"flatPath": "youtube/v3/liveChat/messages", +"httpMethod": "DELETE", +"id": "youtube.liveChatMessages.delete", +"parameterOrder": [ +"id" +], +"parameters": { +"id": { +"location": "query", +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/liveChat/messages", +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl" +] +}, +"insert": { +"description": "Inserts a new resource into this collection.", +"flatPath": "youtube/v3/liveChat/messages", +"httpMethod": "POST", +"id": "youtube.liveChatMessages.insert", +"parameterOrder": [ +"part" +], +"parameters": { +"part": { +"description": "The *part* parameter serves two purposes. It identifies the properties that the write operation will set as well as the properties that the API response will include. Set the parameter value to snippet.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/liveChat/messages", +"request": { +"$ref": "LiveChatMessage" +}, +"response": { +"$ref": "LiveChatMessage" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl" +] +}, +"list": { +"description": "Retrieves a list of resources, possibly filtered.", +"flatPath": "youtube/v3/liveChat/messages", +"httpMethod": "GET", +"id": "youtube.liveChatMessages.list", +"parameterOrder": [ +"liveChatId", +"part" +], +"parameters": { +"hl": { +"description": "Specifies the localization language in which the system messages should be returned.", +"location": "query", +"type": "string" +}, +"liveChatId": { +"description": "The id of the live chat for which comments should be returned.", +"location": "query", +"required": true, +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The *maxResults* parameter specifies the maximum number of items that should be returned in the result set. Not used in the streaming RPC.", +"format": "uint32", +"location": "query", +"maximum": "2000", +"minimum": "200", +"type": "integer" +}, +"pageToken": { +"description": "The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken property identify other pages that could be retrieved.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter specifies the liveChatComment resource parts that the API response will include. Supported values are id, snippet, and authorDetails.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +}, +"profileImageSize": { +"description": "Specifies the size of the profile image that should be returned for each user.", +"format": "uint32", +"location": "query", +"maximum": "720", +"minimum": "16", +"type": "integer" +} +}, +"path": "youtube/v3/liveChat/messages", +"response": { +"$ref": "LiveChatMessageListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtube.readonly" +] +}, +"transition": { +"description": "Transition a durable chat event.", +"flatPath": "youtube/v3/liveChat/messages/transition", +"httpMethod": "POST", +"id": "youtube.liveChatMessages.transition", +"parameterOrder": [], +"parameters": { +"id": { +"description": "The ID that uniquely identify the chat message event to transition.", +"location": "query", +"type": "string" +}, +"status": { +"description": "The status to which the chat event is going to transition.", +"enum": [ +"statusUnspecified", +"closed" +], +"enumDescriptions": [ +"Default unknown enum value.", +"The durable chat event is over." +], +"location": "query", +"type": "string" +} +}, +"path": "youtube/v3/liveChat/messages/transition", +"response": { +"$ref": "LiveChatMessage" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl" +] +} +} +}, +"liveChatModerators": { +"methods": { +"delete": { +"description": "Deletes a chat moderator.", +"flatPath": "youtube/v3/liveChat/moderators", +"httpMethod": "DELETE", +"id": "youtube.liveChatModerators.delete", +"parameterOrder": [ +"id" +], +"parameters": { +"id": { +"location": "query", +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/liveChat/moderators", +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl" +] +}, +"insert": { +"description": "Inserts a new resource into this collection.", +"flatPath": "youtube/v3/liveChat/moderators", +"httpMethod": "POST", +"id": "youtube.liveChatModerators.insert", +"parameterOrder": [ +"part" +], +"parameters": { +"part": { +"description": "The *part* parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response returns. Set the parameter value to snippet.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/liveChat/moderators", +"request": { +"$ref": "LiveChatModerator" +}, +"response": { +"$ref": "LiveChatModerator" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl" +] +}, +"list": { +"description": "Retrieves a list of resources, possibly filtered.", +"flatPath": "youtube/v3/liveChat/moderators", +"httpMethod": "GET", +"id": "youtube.liveChatModerators.list", +"parameterOrder": [ +"liveChatId", +"part" +], +"parameters": { +"liveChatId": { +"description": "The id of the live chat for which moderators should be returned.", +"location": "query", +"required": true, +"type": "string" +}, +"maxResults": { +"default": "5", +"description": "The *maxResults* parameter specifies the maximum number of items that should be returned in the result set.", +"format": "uint32", +"location": "query", +"maximum": "50", +"minimum": "0", +"type": "integer" +}, +"pageToken": { +"description": "The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter specifies the liveChatModerator resource parts that the API response will include. Supported values are id and snippet.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/liveChat/moderators", +"response": { +"$ref": "LiveChatModeratorListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtube.readonly" +] +} +} +}, +"liveStreams": { +"methods": { +"delete": { +"description": "Deletes an existing stream for the authenticated user.", +"flatPath": "youtube/v3/liveStreams", +"httpMethod": "DELETE", +"id": "youtube.liveStreams.delete", +"parameterOrder": [ +"id" +], +"parameters": { +"id": { +"location": "query", +"required": true, +"type": "string" +}, +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"onBehalfOfContentOwnerChannel": { +"description": "This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", +"location": "query", +"type": "string" +} +}, +"path": "youtube/v3/liveStreams", +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl" +] +}, +"insert": { +"description": "Inserts a new stream for the authenticated user.", +"flatPath": "youtube/v3/liveStreams", +"httpMethod": "POST", +"id": "youtube.liveStreams.insert", +"parameterOrder": [ +"part" +], +"parameters": { +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"onBehalfOfContentOwnerChannel": { +"description": "This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include. The part properties that you can include in the parameter value are id, snippet, cdn, content_details, and status.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/liveStreams", +"request": { +"$ref": "LiveStream" +}, +"response": { +"$ref": "LiveStream" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl" +] +}, +"list": { +"description": "Retrieve the list of streams associated with the given channel. --", +"flatPath": "youtube/v3/liveStreams", +"httpMethod": "GET", +"id": "youtube.liveStreams.list", +"parameterOrder": [ +"part" +], +"parameters": { +"id": { +"description": "Return LiveStreams with the given ids from Stubby or Apiary.", +"location": "query", +"repeated": true, +"type": "string" +}, +"maxResults": { +"default": "5", +"description": "The *maxResults* parameter specifies the maximum number of items that should be returned in the result set.", +"format": "uint32", +"location": "query", +"maximum": "50", +"minimum": "0", +"type": "integer" +}, +"mine": { +"location": "query", +"type": "boolean" +}, +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"onBehalfOfContentOwnerChannel": { +"description": "This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter specifies a comma-separated list of one or more liveStream resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, cdn, and status.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/liveStreams", +"response": { +"$ref": "LiveStreamListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtube.readonly" +] +}, +"update": { +"description": "Updates an existing stream for the authenticated user.", +"flatPath": "youtube/v3/liveStreams", +"httpMethod": "PUT", +"id": "youtube.liveStreams.update", +"parameterOrder": [ +"part" +], +"parameters": { +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"onBehalfOfContentOwnerChannel": { +"description": "This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include. The part properties that you can include in the parameter value are id, snippet, cdn, and status. Note that this method will override the existing values for all of the mutable properties that are contained in any parts that the parameter value specifies. If the request body does not specify a value for a mutable property, the existing value for that property will be removed.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/liveStreams", +"request": { +"$ref": "LiveStream" +}, +"response": { +"$ref": "LiveStream" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl" +] +} +} +}, +"members": { +"methods": { +"list": { +"description": "Retrieves a list of members that match the request criteria for a channel.", +"flatPath": "youtube/v3/members", +"httpMethod": "GET", +"id": "youtube.members.list", +"parameterOrder": [ +"part" +], +"parameters": { +"filterByMemberChannelId": { +"description": "Comma separated list of channel IDs. Only data about members that are part of this list will be included in the response.", +"location": "query", +"type": "string" +}, +"hasAccessToLevel": { +"description": "Filter members in the results set to the ones that have access to a level.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "5", +"description": "The *maxResults* parameter specifies the maximum number of items that should be returned in the result set.", +"format": "uint32", +"location": "query", +"maximum": "1000", +"minimum": "0", +"type": "integer" +}, +"mode": { +"default": "all_current", +"description": "Parameter that specifies which channel members to return.", +"enum": [ +"listMembersModeUnknown", +"updates", +"all_current" +], +"enumDescriptions": [ +"", +"Return only members that joined after the first call with this mode was made.", +"Return all current members, from newest to oldest." +], +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter specifies the member resource parts that the API response will include. Set the parameter value to snippet.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/members", +"response": { +"$ref": "MemberListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube.channel-memberships.creator" +] +} +} +}, +"membershipsLevels": { +"methods": { +"list": { +"description": "Retrieves a list of all pricing levels offered by a creator to the fans.", +"flatPath": "youtube/v3/membershipsLevels", +"httpMethod": "GET", +"id": "youtube.membershipsLevels.list", +"parameterOrder": [ +"part" +], +"parameters": { +"part": { +"description": "The *part* parameter specifies the membershipsLevel resource parts that the API response will include. Supported values are id and snippet.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/membershipsLevels", +"response": { +"$ref": "MembershipsLevelListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube.channel-memberships.creator" +] +} +} +}, +"playlistImages": { +"methods": { +"delete": { +"description": "Deletes a resource.", +"flatPath": "youtube/v3/playlistImages", +"httpMethod": "DELETE", +"id": "youtube.playlistImages.delete", +"parameterOrder": [], +"parameters": { +"id": { +"description": "Id to identify this image. This is returned from by the List method.", +"location": "query", +"type": "string" +}, +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +} +}, +"path": "youtube/v3/playlistImages", +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtubepartner" +] +}, +"insert": { +"description": "Inserts a new resource into this collection.", +"flatPath": "youtube/v3/playlistImages", +"httpMethod": "POST", +"id": "youtube.playlistImages.insert", +"mediaUpload": { +"accept": [ +"image/jpeg", +"image/png", +"application/octet-stream" +], +"maxSize": "2097152", +"protocols": { +"resumable": { +"multipart": true, +"path": "/resumable/upload/youtube/v3/playlistImages" +}, +"simple": { +"multipart": true, +"path": "/upload/youtube/v3/playlistImages" +} +} +}, +"parameterOrder": [], +"parameters": { +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"onBehalfOfContentOwnerChannel": { +"description": "This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter specifies the properties that the API response will include.", +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "youtube/v3/playlistImages", +"request": { +"$ref": "PlaylistImage" +}, +"response": { +"$ref": "PlaylistImage" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtubepartner" +], +"supportsMediaUpload": true +}, +"list": { +"description": "Retrieves a list of resources, possibly filtered.", +"flatPath": "youtube/v3/playlistImages", +"httpMethod": "GET", +"id": "youtube.playlistImages.list", +"parameterOrder": [], +"parameters": { +"maxResults": { +"default": "5", +"description": "The *maxResults* parameter specifies the maximum number of items that should be returned in the result set.", +"format": "uint32", +"location": "query", +"maximum": "50", +"minimum": "0", +"type": "integer" +}, +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"onBehalfOfContentOwnerChannel": { +"description": "This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Return PlaylistImages for this playlist id.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter specifies a comma-separated list of one or more playlistImage resource properties that the API response will include. If the parameter identifies a property that contains child properties, the child properties will be included in the response.", +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "youtube/v3/playlistImages", +"response": { +"$ref": "PlaylistImageListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtube.readonly", +"https://www.googleapis.com/auth/youtubepartner" +] +}, +"update": { +"description": "Updates an existing resource.", +"flatPath": "youtube/v3/playlistImages", +"httpMethod": "PUT", +"id": "youtube.playlistImages.update", +"mediaUpload": { +"accept": [ +"image/jpeg", +"image/png", +"application/octet-stream" +], +"maxSize": "2097152", +"protocols": { +"resumable": { +"multipart": true, +"path": "/resumable/upload/youtube/v3/playlistImages" +}, +"simple": { +"multipart": true, +"path": "/upload/youtube/v3/playlistImages" +} +} +}, +"parameterOrder": [], +"parameters": { +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter specifies the properties that the API response will include.", +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "youtube/v3/playlistImages", +"request": { +"$ref": "PlaylistImage" +}, +"response": { +"$ref": "PlaylistImage" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtubepartner" +], +"supportsMediaUpload": true +} +} +}, +"playlistItems": { +"methods": { +"delete": { +"description": "Deletes a resource.", +"flatPath": "youtube/v3/playlistItems", +"httpMethod": "DELETE", +"id": "youtube.playlistItems.delete", +"parameterOrder": [ +"id" +], +"parameters": { +"id": { +"location": "query", +"required": true, +"type": "string" +}, +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +} +}, +"path": "youtube/v3/playlistItems", +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtubepartner" +] +}, +"insert": { +"description": "Inserts a new resource into this collection.", +"flatPath": "youtube/v3/playlistItems", +"httpMethod": "POST", +"id": "youtube.playlistItems.insert", +"parameterOrder": [ +"part" +], +"parameters": { +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/playlistItems", +"request": { +"$ref": "PlaylistItem" +}, +"response": { +"$ref": "PlaylistItem" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtubepartner" +] +}, +"list": { +"description": "Retrieves a list of resources, possibly filtered.", +"flatPath": "youtube/v3/playlistItems", +"httpMethod": "GET", +"id": "youtube.playlistItems.list", +"parameterOrder": [ +"part" +], +"parameters": { +"id": { +"location": "query", +"repeated": true, +"type": "string" +}, +"maxResults": { +"default": "5", +"description": "The *maxResults* parameter specifies the maximum number of items that should be returned in the result set.", +"format": "uint32", +"location": "query", +"maximum": "50", +"minimum": "0", +"type": "integer" +}, +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter specifies a comma-separated list of one or more playlistItem resource properties that the API response will include. If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a playlistItem resource, the snippet property contains numerous fields, including the title, description, position, and resourceId properties. As such, if you set *part=snippet*, the API response will contain all of those properties.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +}, +"playlistId": { +"description": "Return the playlist items within the given playlist.", +"location": "query", +"type": "string" +}, +"videoId": { +"description": "Return the playlist items associated with the given video ID.", +"location": "query", +"type": "string" +} +}, +"path": "youtube/v3/playlistItems", +"response": { +"$ref": "PlaylistItemListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtube.readonly", +"https://www.googleapis.com/auth/youtubepartner" +] +}, +"update": { +"description": "Updates an existing resource.", +"flatPath": "youtube/v3/playlistItems", +"httpMethod": "PUT", +"id": "youtube.playlistItems.update", +"parameterOrder": [ +"part" +], +"parameters": { +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include. Note that this method will override the existing values for all of the mutable properties that are contained in any parts that the parameter value specifies. For example, a playlist item can specify a start time and end time, which identify the times portion of the video that should play when users watch the video in the playlist. If your request is updating a playlist item that sets these values, and the request's part parameter value includes the contentDetails part, the playlist item's start and end times will be updated to whatever value the request body specifies. If the request body does not specify values, the existing start and end times will be removed and replaced with the default settings.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/playlistItems", +"request": { +"$ref": "PlaylistItem" +}, +"response": { +"$ref": "PlaylistItem" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtubepartner" +] +} +} +}, +"playlists": { +"methods": { +"delete": { +"description": "Deletes a resource.", +"flatPath": "youtube/v3/playlists", +"httpMethod": "DELETE", +"id": "youtube.playlists.delete", +"parameterOrder": [ +"id" +], +"parameters": { +"id": { +"location": "query", +"required": true, +"type": "string" +}, +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +} +}, +"path": "youtube/v3/playlists", +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtubepartner" +] +}, +"insert": { +"description": "Inserts a new resource into this collection.", +"flatPath": "youtube/v3/playlists", +"httpMethod": "POST", +"id": "youtube.playlists.insert", +"parameterOrder": [ +"part" +], +"parameters": { +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"onBehalfOfContentOwnerChannel": { +"description": "This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/playlists", +"request": { +"$ref": "Playlist" +}, +"response": { +"$ref": "Playlist" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtubepartner" +] +}, +"list": { +"description": "Retrieves a list of resources, possibly filtered.", +"flatPath": "youtube/v3/playlists", +"httpMethod": "GET", +"id": "youtube.playlists.list", +"parameterOrder": [ +"part" +], +"parameters": { +"channelId": { +"description": "Return the playlists owned by the specified channel ID.", +"location": "query", +"type": "string" +}, +"hl": { +"description": "Return content in specified language", +"location": "query", +"type": "string" +}, +"id": { +"description": "Return the playlists with the given IDs for Stubby or Apiary.", +"location": "query", +"repeated": true, +"type": "string" +}, +"maxResults": { +"default": "5", +"description": "The *maxResults* parameter specifies the maximum number of items that should be returned in the result set.", +"format": "uint32", +"location": "query", +"maximum": "50", +"minimum": "0", +"type": "integer" +}, +"mine": { +"description": "Return the playlists owned by the authenticated user.", +"location": "query", +"type": "boolean" +}, +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"onBehalfOfContentOwnerChannel": { +"description": "This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter specifies a comma-separated list of one or more playlist resource properties that the API response will include. If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a playlist resource, the snippet property contains properties like author, title, description, tags, and timeCreated. As such, if you set *part=snippet*, the API response will contain all of those properties.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/playlists", +"response": { +"$ref": "PlaylistListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtube.readonly", +"https://www.googleapis.com/auth/youtubepartner" +] +}, +"update": { +"description": "Updates an existing resource.", +"flatPath": "youtube/v3/playlists", +"httpMethod": "PUT", +"id": "youtube.playlists.update", +"parameterOrder": [ +"part" +], +"parameters": { +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include. Note that this method will override the existing values for mutable properties that are contained in any parts that the request body specifies. For example, a playlist's description is contained in the snippet part, which must be included in the request body. If the request does not specify a value for the snippet.description property, the playlist's existing description will be deleted.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/playlists", +"request": { +"$ref": "Playlist" +}, +"response": { +"$ref": "Playlist" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtubepartner" +] +} +} +}, +"search": { +"methods": { +"list": { +"description": "Retrieves a list of search resources", +"flatPath": "youtube/v3/search", +"httpMethod": "GET", +"id": "youtube.search.list", +"parameterOrder": [ +"part" +], +"parameters": { +"channelId": { +"description": "Filter on resources belonging to this channelId.", +"location": "query", +"type": "string" +}, +"channelType": { +"description": "Add a filter on the channel search.", +"enum": [ +"channelTypeUnspecified", +"any", +"show" +], +"enumDescriptions": [ +"", +"Return all channels.", +"Only retrieve shows." +], +"location": "query", +"type": "string" +}, +"eventType": { +"description": "Filter on the livestream status of the videos.", +"enum": [ +"none", +"upcoming", +"live", +"completed" +], +"enumDescriptions": [ +"", +"The live broadcast is upcoming.", +"The live broadcast is active.", +"The live broadcast has been completed." +], +"location": "query", +"type": "string" +}, +"forContentOwner": { +"description": "Search owned by a content owner.", +"location": "query", +"type": "boolean" +}, +"forDeveloper": { +"description": "Restrict the search to only retrieve videos uploaded using the project id of the authenticated user.", +"location": "query", +"type": "boolean" +}, +"forMine": { +"description": "Search for the private videos of the authenticated user.", +"location": "query", +"type": "boolean" +}, +"location": { +"description": "Filter on location of the video", +"location": "query", +"type": "string" +}, +"locationRadius": { +"description": "Filter on distance from the location (specified above).", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "5", +"description": "The *maxResults* parameter specifies the maximum number of items that should be returned in the result set.", +"format": "uint32", +"location": "query", +"maximum": "50", +"minimum": "0", +"type": "integer" +}, +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"order": { +"default": "relevance", +"description": "Sort order of the results.", +"enum": [ +"searchSortUnspecified", +"date", +"rating", +"viewCount", +"relevance", +"title", +"videoCount" +], +"enumDescriptions": [ +"", +"Resources are sorted in reverse chronological order based on the date they were created.", +"Resources are sorted from highest to lowest rating.", +"Resources are sorted from highest to lowest number of views.", +"Resources are sorted based on their relevance to the search query. This is the default value for this parameter.", +"Resources are sorted alphabetically by title.", +"Channels are sorted in descending order of their number of uploaded videos." +], +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter specifies a comma-separated list of one or more search resource properties that the API response will include. Set the parameter value to snippet.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +}, +"publishedAfter": { +"description": "Filter on resources published after this date.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"publishedBefore": { +"description": "Filter on resources published before this date.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"q": { +"description": "Textual search terms to match.", +"location": "query", +"type": "string" +}, +"regionCode": { +"description": "Display the content as seen by viewers in this country.", +"location": "query", +"type": "string" +}, +"relevanceLanguage": { +"description": "Return results relevant to this language.", +"location": "query", +"type": "string" +}, +"safeSearch": { +"default": "moderate", +"description": "Indicates whether the search results should include restricted content as well as standard content.", +"enum": [ +"safeSearchSettingUnspecified", +"none", +"moderate", +"strict" +], +"enumDescriptions": [ +"", +"YouTube will not filter the search result set.", +"YouTube will filter some content from search results and, at the least, will filter content that is restricted in your locale. Based on their content, search results could be removed from search results or demoted in search results. This is the default parameter value.", +"YouTube will try to exclude all restricted content from the search result set. Based on their content, search results could be removed from search results or demoted in search results." +], +"location": "query", +"type": "string" +}, +"topicId": { +"description": "Restrict results to a particular topic.", +"location": "query", +"type": "string" +}, +"type": { +"description": "Restrict results to a particular set of resource types from One Platform.", +"location": "query", +"repeated": true, +"type": "string" +}, +"videoCaption": { +"description": "Filter on the presence of captions on the videos.", +"enum": [ +"videoCaptionUnspecified", +"any", +"closedCaption", +"none" +], +"enumDescriptions": [ +"", +"Do not filter results based on caption availability.", +"Only include videos that have captions.", +"Only include videos that do not have captions." +], +"location": "query", +"type": "string" +}, +"videoCategoryId": { +"description": "Filter on videos in a specific category.", +"location": "query", +"type": "string" +}, +"videoDefinition": { +"description": "Filter on the definition of the videos.", +"enum": [ +"any", +"standard", +"high" +], +"enumDescriptions": [ +"Return all videos, regardless of their resolution.", +"Only retrieve videos in standard definition.", +"Only retrieve HD videos." +], +"location": "query", +"type": "string" +}, +"videoDimension": { +"description": "Filter on 3d videos.", +"enum": [ +"any", +"2d", +"3d" +], +"enumDescriptions": [ +"Include both 3D and non-3D videos in returned results. This is the default value.", +"Restrict search results to exclude 3D videos.", +"Restrict search results to only include 3D videos." +], +"location": "query", +"type": "string" +}, +"videoDuration": { +"description": "Filter on the duration of the videos.", +"enum": [ +"videoDurationUnspecified", +"any", +"short", +"medium", +"long" +], +"enumDescriptions": [ +"", +"Do not filter video search results based on their duration. This is the default value.", +"Only include videos that are less than four minutes long.", +"Only include videos that are between four and 20 minutes long (inclusive).", +"Only include videos longer than 20 minutes." +], +"location": "query", +"type": "string" +}, +"videoEmbeddable": { +"description": "Filter on embeddable videos.", +"enum": [ +"videoEmbeddableUnspecified", +"any", +"true" +], +"enumDescriptions": [ +"", +"Return all videos, embeddable or not.", +"Only retrieve embeddable videos." +], +"location": "query", +"type": "string" +}, +"videoLicense": { +"description": "Filter on the license of the videos.", +"enum": [ +"any", +"youtube", +"creativeCommon" +], +"enumDescriptions": [ +"Return all videos, regardless of which license they have, that match the query parameters.", +"Only return videos that have the standard YouTube license.", +"Only return videos that have a Creative Commons license. Users can reuse videos with this license in other videos that they create. Learn more." +], +"location": "query", +"type": "string" +}, +"videoPaidProductPlacement": { +"enum": [ +"videoPaidProductPlacementUnspecified", +"any", +"true" +], +"enumDescriptions": [ +"", +"Return all videos, paid product placement or not.", +"Restrict results to only videos with paid product placement." +], +"location": "query", +"type": "string" +}, +"videoSyndicated": { +"description": "Filter on syndicated videos.", +"enum": [ +"videoSyndicatedUnspecified", +"any", +"true" +], +"enumDescriptions": [ +"", +"Return all videos, syndicated or not.", +"Only retrieve syndicated videos." +], +"location": "query", +"type": "string" +}, +"videoType": { +"description": "Filter on videos of a specific type.", +"enum": [ +"videoTypeUnspecified", +"any", +"movie", +"episode" +], +"enumDescriptions": [ +"", +"Return all videos.", +"Only retrieve movies.", +"Only retrieve episodes of shows." +], +"location": "query", +"type": "string" +} +}, +"path": "youtube/v3/search", +"response": { +"$ref": "SearchListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtube.readonly", +"https://www.googleapis.com/auth/youtubepartner" +] +} +} +}, +"subscriptions": { +"methods": { +"delete": { +"description": "Deletes a resource.", +"flatPath": "youtube/v3/subscriptions", +"httpMethod": "DELETE", +"id": "youtube.subscriptions.delete", +"parameterOrder": [ +"id" +], +"parameters": { +"id": { +"location": "query", +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/subscriptions", +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtubepartner" +] +}, +"insert": { +"description": "Inserts a new resource into this collection.", +"flatPath": "youtube/v3/subscriptions", +"httpMethod": "POST", +"id": "youtube.subscriptions.insert", +"parameterOrder": [ +"part" +], +"parameters": { +"part": { +"description": "The *part* parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/subscriptions", +"request": { +"$ref": "Subscription" +}, +"response": { +"$ref": "Subscription" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtubepartner" +] +}, +"list": { +"description": "Retrieves a list of resources, possibly filtered.", +"flatPath": "youtube/v3/subscriptions", +"httpMethod": "GET", +"id": "youtube.subscriptions.list", +"parameterOrder": [ +"part" +], +"parameters": { +"channelId": { +"description": "Return the subscriptions of the given channel owner.", +"location": "query", +"type": "string" +}, +"forChannelId": { +"description": "Return the subscriptions to the subset of these channels that the authenticated user is subscribed to.", +"location": "query", +"type": "string" +}, +"id": { +"description": "Return the subscriptions with the given IDs for Stubby or Apiary.", +"location": "query", +"repeated": true, +"type": "string" +}, +"maxResults": { +"default": "5", +"description": "The *maxResults* parameter specifies the maximum number of items that should be returned in the result set.", +"format": "uint32", +"location": "query", +"maximum": "50", +"minimum": "0", +"type": "integer" +}, +"mine": { +"description": "Flag for returning the subscriptions of the authenticated user.", +"location": "query", +"type": "boolean" +}, +"myRecentSubscribers": { +"location": "query", +"type": "boolean" +}, +"mySubscribers": { +"description": "Return the subscribers of the given channel owner.", +"location": "query", +"type": "boolean" +}, +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"onBehalfOfContentOwnerChannel": { +"description": "This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", +"location": "query", +"type": "string" +}, +"order": { +"default": "relevance", +"description": "The order of the returned subscriptions", +"enum": [ +"subscriptionOrderUnspecified", +"relevance", +"unread", +"alphabetical" +], +"enumDescriptions": [ +"", +"Sort by relevance.", +"Sort by order of activity.", +"Sort alphabetically." +], +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter specifies a comma-separated list of one or more subscription resource properties that the API response will include. If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a subscription resource, the snippet property contains other properties, such as a display title for the subscription. If you set *part=snippet*, the API response will also contain all of those nested properties.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/subscriptions", +"response": { +"$ref": "SubscriptionListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtube.readonly", +"https://www.googleapis.com/auth/youtubepartner" +] +} +} +}, +"superChatEvents": { +"methods": { +"list": { +"description": "Retrieves a list of resources, possibly filtered.", +"flatPath": "youtube/v3/superChatEvents", +"httpMethod": "GET", +"id": "youtube.superChatEvents.list", +"parameterOrder": [ +"part" +], +"parameters": { +"hl": { +"description": "Return rendered funding amounts in specified language.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "5", +"description": "The *maxResults* parameter specifies the maximum number of items that should be returned in the result set.", +"format": "uint32", +"location": "query", +"maximum": "50", +"minimum": "1", +"type": "integer" +}, +"pageToken": { +"description": "The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter specifies the superChatEvent resource parts that the API response will include. This parameter is currently not supported.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/superChatEvents", +"response": { +"$ref": "SuperChatEventListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtube.readonly" +] +} +} +}, +"tests": { +"methods": { +"insert": { +"description": "POST method.", +"flatPath": "youtube/v3/tests", +"httpMethod": "POST", +"id": "youtube.tests.insert", +"parameterOrder": [ +"part" +], +"parameters": { +"externalChannelId": { +"location": "query", +"type": "string" +}, +"part": { +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/tests", +"request": { +"$ref": "TestItem" +}, +"response": { +"$ref": "TestItem" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube.readonly" +] +} +} +}, +"thirdPartyLinks": { +"methods": { +"delete": { +"description": "Deletes a resource.", +"flatPath": "youtube/v3/thirdPartyLinks", +"httpMethod": "DELETE", +"id": "youtube.thirdPartyLinks.delete", +"parameterOrder": [ +"linkingToken", +"type" +], +"parameters": { +"externalChannelId": { +"description": "Channel ID to which changes should be applied, for delegation.", +"location": "query", +"type": "string" +}, +"linkingToken": { +"description": "Delete the partner links with the given linking token.", +"location": "query", +"required": true, +"type": "string" +}, +"part": { +"description": "Do not use. Required for compatibility.", +"location": "query", +"repeated": true, +"type": "string" +}, +"type": { +"description": "Type of the link to be deleted.", +"enum": [ +"linkUnspecified", +"channelToStoreLink" +], +"enumDescriptions": [ +"", +"A link that is connecting (or about to connect) a channel with a store on a merchandising platform in order to enable retail commerce capabilities for that channel on YouTube." +], +"location": "query", +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/thirdPartyLinks" +}, +"insert": { +"description": "Inserts a new resource into this collection.", +"flatPath": "youtube/v3/thirdPartyLinks", +"httpMethod": "POST", +"id": "youtube.thirdPartyLinks.insert", +"parameterOrder": [ +"part" +], +"parameters": { +"externalChannelId": { +"description": "Channel ID to which changes should be applied, for delegation.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter specifies the thirdPartyLink resource parts that the API request and response will include. Supported values are linkingToken, status, and snippet.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/thirdPartyLinks", +"request": { +"$ref": "ThirdPartyLink" +}, +"response": { +"$ref": "ThirdPartyLink" +} +}, +"list": { +"description": "Retrieves a list of resources, possibly filtered.", +"flatPath": "youtube/v3/thirdPartyLinks", +"httpMethod": "GET", +"id": "youtube.thirdPartyLinks.list", +"parameterOrder": [ +"part" +], +"parameters": { +"externalChannelId": { +"description": "Channel ID to which changes should be applied, for delegation.", +"location": "query", +"type": "string" +}, +"linkingToken": { +"description": "Get a third party link with the given linking token.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter specifies the thirdPartyLink resource parts that the API response will include. Supported values are linkingToken, status, and snippet.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +}, +"type": { +"description": "Get a third party link of the given type.", +"enum": [ +"linkUnspecified", +"channelToStoreLink" +], +"enumDescriptions": [ +"", +"A link that is connecting (or about to connect) a channel with a store on a merchandising platform in order to enable retail commerce capabilities for that channel on YouTube." +], +"location": "query", +"type": "string" +} +}, +"path": "youtube/v3/thirdPartyLinks", +"response": { +"$ref": "ThirdPartyLinkListResponse" +} +}, +"update": { +"description": "Updates an existing resource.", +"flatPath": "youtube/v3/thirdPartyLinks", +"httpMethod": "PUT", +"id": "youtube.thirdPartyLinks.update", +"parameterOrder": [ +"part" +], +"parameters": { +"externalChannelId": { +"description": "Channel ID to which changes should be applied, for delegation.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter specifies the thirdPartyLink resource parts that the API request and response will include. Supported values are linkingToken, status, and snippet.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/thirdPartyLinks", +"request": { +"$ref": "ThirdPartyLink" +}, +"response": { +"$ref": "ThirdPartyLink" +} +} +} +}, +"thumbnails": { +"methods": { +"set": { +"description": "As this is not an insert in a strict sense (it supports uploading/setting of a thumbnail for multiple videos, which doesn't result in creation of a single resource), I use a custom verb here.", +"flatPath": "youtube/v3/thumbnails/set", +"httpMethod": "POST", +"id": "youtube.thumbnails.set", +"mediaUpload": { +"accept": [ +"image/jpeg", +"image/png", +"application/octet-stream" +], +"maxSize": "2097152", +"protocols": { +"resumable": { +"multipart": true, +"path": "/resumable/upload/youtube/v3/thumbnails/set" +}, +"simple": { +"multipart": true, +"path": "/upload/youtube/v3/thumbnails/set" +} +} +}, +"parameterOrder": [ +"videoId" +], +"parameters": { +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"videoId": { +"description": "Returns the Thumbnail with the given video IDs for Stubby or Apiary.", +"location": "query", +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/thumbnails/set", +"response": { +"$ref": "ThumbnailSetResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtube.upload", +"https://www.googleapis.com/auth/youtubepartner" +], +"supportsMediaUpload": true +} +} +}, +"videoAbuseReportReasons": { +"methods": { +"list": { +"description": "Retrieves a list of resources, possibly filtered.", +"flatPath": "youtube/v3/videoAbuseReportReasons", +"httpMethod": "GET", +"id": "youtube.videoAbuseReportReasons.list", +"parameterOrder": [ +"part" +], +"parameters": { +"hl": { +"default": "en-US", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter specifies the videoCategory resource parts that the API response will include. Supported values are id and snippet.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/videoAbuseReportReasons", +"response": { +"$ref": "VideoAbuseReportReasonListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtube.readonly" +] +} +} +}, +"videoCategories": { +"methods": { +"list": { +"description": "Retrieves a list of resources, possibly filtered.", +"flatPath": "youtube/v3/videoCategories", +"httpMethod": "GET", +"id": "youtube.videoCategories.list", +"parameterOrder": [ +"part" +], +"parameters": { +"hl": { +"default": "en-US", +"location": "query", +"type": "string" +}, +"id": { +"description": "Returns the video categories with the given IDs for Stubby or Apiary.", +"location": "query", +"repeated": true, +"type": "string" +}, +"part": { +"description": "The *part* parameter specifies the videoCategory resource properties that the API response will include. Set the parameter value to snippet.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +}, +"regionCode": { +"location": "query", +"type": "string" +} +}, +"path": "youtube/v3/videoCategories", +"response": { +"$ref": "VideoCategoryListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtube.readonly", +"https://www.googleapis.com/auth/youtubepartner" +] +} +} +}, +"videos": { +"methods": { +"delete": { +"description": "Deletes a resource.", +"flatPath": "youtube/v3/videos", +"httpMethod": "DELETE", +"id": "youtube.videos.delete", +"parameterOrder": [ +"id" +], +"parameters": { +"id": { +"location": "query", +"required": true, +"type": "string" +}, +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +} +}, +"path": "youtube/v3/videos", +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtubepartner" +] +}, +"getRating": { +"description": "Retrieves the ratings that the authorized user gave to a list of specified videos.", +"flatPath": "youtube/v3/videos/getRating", +"httpMethod": "GET", +"id": "youtube.videos.getRating", +"parameterOrder": [ +"id" +], +"parameters": { +"id": { +"location": "query", +"repeated": true, +"required": true, +"type": "string" +}, +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +} +}, +"path": "youtube/v3/videos/getRating", +"response": { +"$ref": "VideoGetRatingResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtubepartner" +] +}, +"insert": { +"description": "Inserts a new resource into this collection.", +"flatPath": "youtube/v3/videos", +"httpMethod": "POST", +"id": "youtube.videos.insert", +"mediaUpload": { +"accept": [ +"video/*", +"application/octet-stream" +], +"maxSize": "274877906944", +"protocols": { +"resumable": { +"multipart": true, +"path": "/resumable/upload/youtube/v3/videos" +}, +"simple": { +"multipart": true, +"path": "/upload/youtube/v3/videos" +} +} +}, +"parameterOrder": [ +"part" +], +"parameters": { +"autoLevels": { +"description": "Should auto-levels be applied to the upload.", +"location": "query", +"type": "boolean" +}, +"notifySubscribers": { +"default": "true", +"description": "Notify the channel subscribers about the new video. As default, the notification is enabled.", +"location": "query", +"type": "boolean" +}, +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"onBehalfOfContentOwnerChannel": { +"description": "This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include. Note that not all parts contain properties that can be set when inserting or updating a video. For example, the statistics object encapsulates statistics that YouTube calculates for a video and does not contain values that you can set or modify. If the parameter value specifies a part that does not contain mutable values, that part will still be included in the API response.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +}, +"stabilize": { +"description": "Should stabilize be applied to the upload.", +"location": "query", +"type": "boolean" +} +}, +"path": "youtube/v3/videos", +"request": { +"$ref": "Video" +}, +"response": { +"$ref": "Video" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtube.upload", +"https://www.googleapis.com/auth/youtubepartner" +], +"supportsMediaUpload": true +}, +"list": { +"description": "Retrieves a list of resources, possibly filtered.", +"flatPath": "youtube/v3/videos", +"httpMethod": "GET", +"id": "youtube.videos.list", +"parameterOrder": [ +"part" +], +"parameters": { +"chart": { +"description": "Return the videos that are in the specified chart.", +"enum": [ +"chartUnspecified", +"mostPopular" +], +"enumDescriptions": [ +"", +"Return the most popular videos for the specified content region and video category." +], +"location": "query", +"type": "string" +}, +"hl": { +"description": "Stands for \"host language\". Specifies the localization language of the metadata to be filled into snippet.localized. The field is filled with the default metadata if there is no localization in the specified language. The parameter value must be a language code included in the list returned by the i18nLanguages.list method (e.g. en_US, es_MX).", +"location": "query", +"type": "string" +}, +"id": { +"description": "Return videos with the given ids.", +"location": "query", +"repeated": true, +"type": "string" +}, +"locale": { +"deprecated": true, +"location": "query", +"type": "string" +}, +"maxHeight": { +"format": "int32", +"location": "query", +"maximum": "8192", +"minimum": "72", +"type": "integer" +}, +"maxResults": { +"default": "5", +"description": "The *maxResults* parameter specifies the maximum number of items that should be returned in the result set. *Note:* This parameter is supported for use in conjunction with the myRating and chart parameters, but it is not supported for use in conjunction with the id parameter.", +"format": "uint32", +"location": "query", +"maximum": "50", +"minimum": "1", +"type": "integer" +}, +"maxWidth": { +"description": "Return the player with maximum height specified in", +"format": "int32", +"location": "query", +"maximum": "8192", +"minimum": "72", +"type": "integer" +}, +"myRating": { +"description": "Return videos liked/disliked by the authenticated user. Does not support RateType.RATED_TYPE_NONE.", +"enum": [ +"none", +"like", +"dislike" +], +"enumDescriptions": [ +"", +"The entity is liked.", +"The entity is disliked." +], +"location": "query", +"type": "string" +}, +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved. *Note:* This parameter is supported for use in conjunction with the myRating and chart parameters, but it is not supported for use in conjunction with the id parameter.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter specifies a comma-separated list of one or more video resource properties that the API response will include. If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a video resource, the snippet property contains the channelId, title, description, tags, and categoryId properties. As such, if you set *part=snippet*, the API response will contain all of those properties.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +}, +"regionCode": { +"description": "Use a chart that is specific to the specified region", +"location": "query", +"type": "string" +}, +"videoCategoryId": { +"default": "0", +"description": "Use chart that is specific to the specified video category", +"location": "query", +"type": "string" +} +}, +"path": "youtube/v3/videos", +"response": { +"$ref": "VideoListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtube.readonly", +"https://www.googleapis.com/auth/youtubepartner" +] +}, +"rate": { +"description": "Adds a like or dislike rating to a video or removes a rating from a video.", +"flatPath": "youtube/v3/videos/rate", +"httpMethod": "POST", +"id": "youtube.videos.rate", +"parameterOrder": [ +"id", +"rating" +], +"parameters": { +"id": { +"location": "query", +"required": true, +"type": "string" +}, +"rating": { +"enum": [ +"none", +"like", +"dislike" +], +"enumDescriptions": [ +"", +"The entity is liked.", +"The entity is disliked." +], +"location": "query", +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/videos/rate", +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtubepartner" +] +}, +"reportAbuse": { +"description": "Report abuse for a video.", +"flatPath": "youtube/v3/videos/reportAbuse", +"httpMethod": "POST", +"id": "youtube.videos.reportAbuse", +"parameterOrder": [], +"parameters": { +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +} +}, +"path": "youtube/v3/videos/reportAbuse", +"request": { +"$ref": "VideoAbuseReport" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtubepartner" +] +}, +"update": { +"description": "Updates an existing resource.", +"flatPath": "youtube/v3/videos", +"httpMethod": "PUT", +"id": "youtube.videos.update", +"parameterOrder": [ +"part" +], +"parameters": { +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"part": { +"description": "The *part* parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include. Note that this method will override the existing values for all of the mutable properties that are contained in any parts that the parameter value specifies. For example, a video's privacy setting is contained in the status part. As such, if your request is updating a private video, and the request's part parameter value includes the status part, the video's privacy setting will be updated to whatever value the request body specifies. If the request body does not specify a value, the existing privacy setting will be removed and the video will revert to the default privacy setting. In addition, not all parts contain properties that can be set when inserting or updating a video. For example, the statistics object encapsulates statistics that YouTube calculates for a video and does not contain values that you can set or modify. If the parameter value specifies a part that does not contain mutable values, that part will still be included in the API response.", +"location": "query", +"repeated": true, +"required": true, +"type": "string" +} +}, +"path": "youtube/v3/videos", +"request": { +"$ref": "Video" +}, +"response": { +"$ref": "Video" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtubepartner" +] +} +} +}, +"watermarks": { +"methods": { +"set": { +"description": "Allows upload of watermark image and setting it for a channel.", +"flatPath": "youtube/v3/watermarks/set", +"httpMethod": "POST", +"id": "youtube.watermarks.set", +"mediaUpload": { +"accept": [ +"image/jpeg", +"image/png", +"application/octet-stream" +], +"maxSize": "10485760", +"protocols": { +"resumable": { +"multipart": true, +"path": "/resumable/upload/youtube/v3/watermarks/set" +}, +"simple": { +"multipart": true, +"path": "/upload/youtube/v3/watermarks/set" +} +} +}, +"parameterOrder": [ +"channelId" +], +"parameters": { +"channelId": { +"location": "query", +"required": true, +"type": "string" +}, +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +} +}, +"path": "youtube/v3/watermarks/set", +"request": { +"$ref": "InvideoBranding" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtube.upload", +"https://www.googleapis.com/auth/youtubepartner" +], +"supportsMediaUpload": true +}, +"unset": { +"description": "Allows removal of channel watermark.", +"flatPath": "youtube/v3/watermarks/unset", +"httpMethod": "POST", +"id": "youtube.watermarks.unset", +"parameterOrder": [ +"channelId" +], +"parameters": { +"channelId": { +"location": "query", +"required": true, +"type": "string" +}, +"onBehalfOfContentOwner": { +"description": "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +} +}, +"path": "youtube/v3/watermarks/unset", +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtubepartner" +] +} +} +}, +"youtube": { +"resources": { +"v3": { +"methods": { +"updateCommentThreads": { +"description": "Updates an existing resource.", +"flatPath": "youtube/v3/commentThreads", +"httpMethod": "PUT", +"id": "youtube.youtube.v3.updateCommentThreads", +"parameterOrder": [], +"parameters": { +"part": { +"description": "The *part* parameter specifies a comma-separated list of commentThread resource properties that the API response will include. You must at least include the snippet part in the parameter value since that part contains all of the properties that the API request can update.", +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "youtube/v3/commentThreads", +"request": { +"$ref": "CommentThread" +}, +"response": { +"$ref": "CommentThread" +} +} +} +} +} +} +}, +"revision": "20250101", +"rootUrl": "https://youtube.googleapis.com/", +"schemas": { +"AbuseReport": { +"id": "AbuseReport", +"properties": { +"abuseTypes": { +"items": { +"$ref": "AbuseType" +}, +"type": "array" +}, +"description": { +"type": "string" +}, +"relatedEntities": { +"items": { +"$ref": "RelatedEntity" +}, +"type": "array" +}, +"subject": { +"$ref": "Entity" +} +}, +"type": "object" +}, +"AbuseType": { +"id": "AbuseType", +"properties": { +"id": { +"type": "string" +} +}, +"type": "object" +}, +"AccessPolicy": { +"description": "Rights management policy for YouTube resources.", +"id": "AccessPolicy", +"properties": { +"allowed": { +"description": "The value of allowed indicates whether the access to the policy is allowed or denied by default.", +"type": "boolean" +}, +"exception": { +"description": "A list of region codes that identify countries where the default policy do not apply.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Activity": { +"description": "An *activity* resource contains information about an action that a particular channel, or user, has taken on YouTube.The actions reported in activity feeds include rating a video, sharing a video, marking a video as a favorite, commenting on a video, uploading a video, and so forth. Each activity resource identifies the type of action, the channel associated with the action, and the resource(s) associated with the action, such as the video that was rated or uploaded.", +"id": "Activity", +"properties": { +"contentDetails": { +"$ref": "ActivityContentDetails", +"description": "The contentDetails object contains information about the content associated with the activity. For example, if the snippet.type value is videoRated, then the contentDetails object's content identifies the rated video." +}, +"etag": { +"description": "Etag of this resource", +"type": "string" +}, +"id": { +"description": "The ID that YouTube uses to uniquely identify the activity.", +"type": "string" +}, +"kind": { +"default": "youtube#activity", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#activity\".", +"type": "string" +}, +"snippet": { +"$ref": "ActivitySnippet", +"description": "The snippet object contains basic details about the activity, including the activity's type and group ID." +} +}, +"type": "object" +}, +"ActivityContentDetails": { +"description": "Details about the content of an activity: the video that was shared, the channel that was subscribed to, etc.", +"id": "ActivityContentDetails", +"properties": { +"bulletin": { +"$ref": "ActivityContentDetailsBulletin", +"description": "The bulletin object contains details about a channel bulletin post. This object is only present if the snippet.type is bulletin." +}, +"channelItem": { +"$ref": "ActivityContentDetailsChannelItem", +"description": "The channelItem object contains details about a resource which was added to a channel. This property is only present if the snippet.type is channelItem." +}, +"comment": { +"$ref": "ActivityContentDetailsComment", +"description": "The comment object contains information about a resource that received a comment. This property is only present if the snippet.type is comment." +}, +"favorite": { +"$ref": "ActivityContentDetailsFavorite", +"description": "The favorite object contains information about a video that was marked as a favorite video. This property is only present if the snippet.type is favorite." +}, +"like": { +"$ref": "ActivityContentDetailsLike", +"description": "The like object contains information about a resource that received a positive (like) rating. This property is only present if the snippet.type is like." +}, +"playlistItem": { +"$ref": "ActivityContentDetailsPlaylistItem", +"description": "The playlistItem object contains information about a new playlist item. This property is only present if the snippet.type is playlistItem." +}, +"promotedItem": { +"$ref": "ActivityContentDetailsPromotedItem", +"description": "The promotedItem object contains details about a resource which is being promoted. This property is only present if the snippet.type is promotedItem." +}, +"recommendation": { +"$ref": "ActivityContentDetailsRecommendation", +"description": "The recommendation object contains information about a recommended resource. This property is only present if the snippet.type is recommendation." +}, +"social": { +"$ref": "ActivityContentDetailsSocial", +"description": "The social object contains details about a social network post. This property is only present if the snippet.type is social." +}, +"subscription": { +"$ref": "ActivityContentDetailsSubscription", +"description": "The subscription object contains information about a channel that a user subscribed to. This property is only present if the snippet.type is subscription." +}, +"upload": { +"$ref": "ActivityContentDetailsUpload", +"description": "The upload object contains information about the uploaded video. This property is only present if the snippet.type is upload." +} +}, +"type": "object" +}, +"ActivityContentDetailsBulletin": { +"description": "Details about a channel bulletin post.", +"id": "ActivityContentDetailsBulletin", +"properties": { +"resourceId": { +"$ref": "ResourceId", +"description": "The resourceId object contains information that identifies the resource associated with a bulletin post. @mutable youtube.activities.insert" +} +}, +"type": "object" +}, +"ActivityContentDetailsChannelItem": { +"description": "Details about a resource which was added to a channel.", +"id": "ActivityContentDetailsChannelItem", +"properties": { +"resourceId": { +"$ref": "ResourceId", +"description": "The resourceId object contains information that identifies the resource that was added to the channel." +} +}, +"type": "object" +}, +"ActivityContentDetailsComment": { +"description": "Information about a resource that received a comment.", +"id": "ActivityContentDetailsComment", +"properties": { +"resourceId": { +"$ref": "ResourceId", +"description": "The resourceId object contains information that identifies the resource associated with the comment." +} +}, +"type": "object" +}, +"ActivityContentDetailsFavorite": { +"description": "Information about a video that was marked as a favorite video.", +"id": "ActivityContentDetailsFavorite", +"properties": { +"resourceId": { +"$ref": "ResourceId", +"description": "The resourceId object contains information that identifies the resource that was marked as a favorite." +} +}, +"type": "object" +}, +"ActivityContentDetailsLike": { +"description": "Information about a resource that received a positive (like) rating.", +"id": "ActivityContentDetailsLike", +"properties": { +"resourceId": { +"$ref": "ResourceId", +"description": "The resourceId object contains information that identifies the rated resource." +} +}, +"type": "object" +}, +"ActivityContentDetailsPlaylistItem": { +"description": "Information about a new playlist item.", +"id": "ActivityContentDetailsPlaylistItem", +"properties": { +"playlistId": { +"description": "The value that YouTube uses to uniquely identify the playlist.", +"type": "string" +}, +"playlistItemId": { +"description": "ID of the item within the playlist.", +"type": "string" +}, +"resourceId": { +"$ref": "ResourceId", +"description": "The resourceId object contains information about the resource that was added to the playlist." +} +}, +"type": "object" +}, +"ActivityContentDetailsPromotedItem": { +"description": "Details about a resource which is being promoted.", +"id": "ActivityContentDetailsPromotedItem", +"properties": { +"adTag": { +"description": "The URL the client should fetch to request a promoted item.", +"type": "string" +}, +"clickTrackingUrl": { +"description": "The URL the client should ping to indicate that the user clicked through on this promoted item.", +"type": "string" +}, +"creativeViewUrl": { +"description": "The URL the client should ping to indicate that the user was shown this promoted item.", +"type": "string" +}, +"ctaType": { +"description": "The type of call-to-action, a message to the user indicating action that can be taken.", +"enum": [ +"ctaTypeUnspecified", +"visitAdvertiserSite" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"customCtaButtonText": { +"description": "The custom call-to-action button text. If specified, it will override the default button text for the cta_type.", +"type": "string" +}, +"descriptionText": { +"description": "The text description to accompany the promoted item.", +"type": "string" +}, +"destinationUrl": { +"description": "The URL the client should direct the user to, if the user chooses to visit the advertiser's website.", +"type": "string" +}, +"forecastingUrl": { +"description": "The list of forecasting URLs. The client should ping all of these URLs when a promoted item is not available, to indicate that a promoted item could have been shown.", +"items": { +"type": "string" +}, +"type": "array" +}, +"impressionUrl": { +"description": "The list of impression URLs. The client should ping all of these URLs to indicate that the user was shown this promoted item.", +"items": { +"type": "string" +}, +"type": "array" +}, +"videoId": { +"description": "The ID that YouTube uses to uniquely identify the promoted video.", +"type": "string" +} +}, +"type": "object" +}, +"ActivityContentDetailsRecommendation": { +"description": "Information that identifies the recommended resource.", +"id": "ActivityContentDetailsRecommendation", +"properties": { +"reason": { +"description": "The reason that the resource is recommended to the user.", +"enum": [ +"reasonUnspecified", +"videoFavorited", +"videoLiked", +"videoWatched" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"resourceId": { +"$ref": "ResourceId", +"description": "The resourceId object contains information that identifies the recommended resource." +}, +"seedResourceId": { +"$ref": "ResourceId", +"description": "The seedResourceId object contains information about the resource that caused the recommendation." +} +}, +"type": "object" +}, +"ActivityContentDetailsSocial": { +"description": "Details about a social network post.", +"id": "ActivityContentDetailsSocial", +"properties": { +"author": { +"description": "The author of the social network post.", +"type": "string" +}, +"imageUrl": { +"description": "An image of the post's author.", +"type": "string" +}, +"referenceUrl": { +"description": "The URL of the social network post.", +"type": "string" +}, +"resourceId": { +"$ref": "ResourceId", +"description": "The resourceId object encapsulates information that identifies the resource associated with a social network post." +}, +"type": { +"description": "The name of the social network.", +"enum": [ +"unspecified", +"googlePlus", +"facebook", +"twitter" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"ActivityContentDetailsSubscription": { +"description": "Information about a channel that a user subscribed to.", +"id": "ActivityContentDetailsSubscription", +"properties": { +"resourceId": { +"$ref": "ResourceId", +"description": "The resourceId object contains information that identifies the resource that the user subscribed to." +} +}, +"type": "object" +}, +"ActivityContentDetailsUpload": { +"description": "Information about the uploaded video.", +"id": "ActivityContentDetailsUpload", +"properties": { +"videoId": { +"description": "The ID that YouTube uses to uniquely identify the uploaded video.", +"type": "string" +} +}, +"type": "object" +}, +"ActivityListResponse": { +"id": "ActivityListResponse", +"properties": { +"etag": { +"description": "Etag of this resource.", +"type": "string" +}, +"eventId": { +"deprecated": true, +"description": "Serialized EventId of the request which produced this response.", +"type": "string" +}, +"items": { +"items": { +"$ref": "Activity" +}, +"type": "array" +}, +"kind": { +"default": "youtube#activityListResponse", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#activityListResponse\".", +"type": "string" +}, +"nextPageToken": { +"description": "The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.", +"type": "string" +}, +"pageInfo": { +"$ref": "PageInfo", +"description": "General pagination information." +}, +"prevPageToken": { +"description": "The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.", +"type": "string" +}, +"tokenPagination": { +"$ref": "TokenPagination", +"deprecated": true +}, +"visitorId": { +"deprecated": true, +"description": "The visitorId identifies the visitor.", +"type": "string" +} +}, +"type": "object" +}, +"ActivitySnippet": { +"description": "Basic details about an activity, including title, description, thumbnails, activity type and group. Next ID: 12", +"id": "ActivitySnippet", +"properties": { +"channelId": { +"description": "The ID that YouTube uses to uniquely identify the channel associated with the activity.", +"type": "string" +}, +"channelTitle": { +"description": "Channel title for the channel responsible for this activity", +"type": "string" +}, +"description": { +"description": "The description of the resource primarily associated with the activity. @mutable youtube.activities.insert", +"type": "string" +}, +"groupId": { +"description": "The group ID associated with the activity. A group ID identifies user events that are associated with the same user and resource. For example, if a user rates a video and marks the same video as a favorite, the entries for those events would have the same group ID in the user's activity feed. In your user interface, you can avoid repetition by grouping events with the same groupId value.", +"type": "string" +}, +"publishedAt": { +"description": "The date and time that the video was uploaded.", +"format": "date-time", +"type": "string" +}, +"thumbnails": { +"$ref": "ThumbnailDetails", +"description": "A map of thumbnail images associated with the resource that is primarily associated with the activity. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail." +}, +"title": { +"description": "The title of the resource primarily associated with the activity.", +"type": "string" +}, +"type": { +"description": "The type of activity that the resource describes.", +"enum": [ +"typeUnspecified", +"upload", +"like", +"favorite", +"comment", +"subscription", +"playlistItem", +"recommendation", +"bulletin", +"social", +"channelItem", +"promotedItem" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"Caption": { +"description": "A *caption* resource represents a YouTube caption track. A caption track is associated with exactly one YouTube video.", +"id": "Caption", +"properties": { +"etag": { +"description": "Etag of this resource.", +"type": "string" +}, +"id": { +"annotations": { +"required": [ +"youtube.captions.update" +] +}, +"description": "The ID that YouTube uses to uniquely identify the caption track.", +"type": "string" +}, +"kind": { +"default": "youtube#caption", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#caption\".", +"type": "string" +}, +"snippet": { +"$ref": "CaptionSnippet", +"description": "The snippet object contains basic details about the caption." +} +}, +"type": "object" +}, +"CaptionListResponse": { +"id": "CaptionListResponse", +"properties": { +"etag": { +"description": "Etag of this resource.", +"type": "string" +}, +"eventId": { +"deprecated": true, +"description": "Serialized EventId of the request which produced this response.", +"type": "string" +}, +"items": { +"description": "A list of captions that match the request criteria.", +"items": { +"$ref": "Caption" +}, +"type": "array" +}, +"kind": { +"default": "youtube#captionListResponse", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#captionListResponse\".", +"type": "string" +}, +"visitorId": { +"deprecated": true, +"description": "The visitorId identifies the visitor.", +"type": "string" +} +}, +"type": "object" +}, +"CaptionSnippet": { +"description": "Basic details about a caption track, such as its language and name.", +"id": "CaptionSnippet", +"properties": { +"audioTrackType": { +"description": "The type of audio track associated with the caption track.", +"enum": [ +"unknown", +"primary", +"commentary", +"descriptive" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"failureReason": { +"description": "The reason that YouTube failed to process the caption track. This property is only present if the state property's value is failed.", +"enum": [ +"unknownFormat", +"unsupportedFormat", +"processingFailed" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"isAutoSynced": { +"description": "Indicates whether YouTube synchronized the caption track to the audio track in the video. The value will be true if a sync was explicitly requested when the caption track was uploaded. For example, when calling the captions.insert or captions.update methods, you can set the sync parameter to true to instruct YouTube to sync the uploaded track to the video. If the value is false, YouTube uses the time codes in the uploaded caption track to determine when to display captions.", +"type": "boolean" +}, +"isCC": { +"description": "Indicates whether the track contains closed captions for the deaf and hard of hearing. The default value is false.", +"type": "boolean" +}, +"isDraft": { +"description": "Indicates whether the caption track is a draft. If the value is true, then the track is not publicly visible. The default value is false. @mutable youtube.captions.insert youtube.captions.update", +"type": "boolean" +}, +"isEasyReader": { +"description": "Indicates whether caption track is formatted for \"easy reader,\" meaning it is at a third-grade level for language learners. The default value is false.", +"type": "boolean" +}, +"isLarge": { +"description": "Indicates whether the caption track uses large text for the vision-impaired. The default value is false.", +"type": "boolean" +}, +"language": { +"annotations": { +"required": [ +"youtube.captions.insert" +] +}, +"description": "The language of the caption track. The property value is a BCP-47 language tag.", +"type": "string" +}, +"lastUpdated": { +"description": "The date and time when the caption track was last updated.", +"format": "date-time", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"youtube.captions.insert" +] +}, +"description": "The name of the caption track. The name is intended to be visible to the user as an option during playback.", +"type": "string" +}, +"status": { +"description": "The caption track's status.", +"enum": [ +"serving", +"syncing", +"failed" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"trackKind": { +"description": "The caption track's type.", +"enum": [ +"standard", +"ASR", +"forced" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"videoId": { +"annotations": { +"required": [ +"youtube.captions.insert" +] +}, +"description": "The ID that YouTube uses to uniquely identify the video associated with the caption track. @mutable youtube.captions.insert", +"type": "string" +} +}, +"type": "object" +}, +"CdnSettings": { +"description": "Brief description of the live stream cdn settings.", +"id": "CdnSettings", +"properties": { +"format": { +"annotations": { +"required": [ +"youtube.liveStreams.insert", +"youtube.liveStreams.update" +] +}, +"deprecated": true, +"description": "The format of the video stream that you are sending to Youtube. ", +"type": "string" +}, +"frameRate": { +"description": "The frame rate of the inbound video data.", +"enum": [ +"30fps", +"60fps", +"variable" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"ingestionInfo": { +"$ref": "IngestionInfo", +"description": "The ingestionInfo object contains information that YouTube provides that you need to transmit your RTMP or HTTP stream to YouTube." +}, +"ingestionType": { +"annotations": { +"required": [ +"youtube.liveStreams.insert", +"youtube.liveStreams.update" +] +}, +"description": " The method or protocol used to transmit the video stream.", +"enum": [ +"rtmp", +"dash", +"webrtc", +"hls" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"resolution": { +"description": "The resolution of the inbound video data.", +"enum": [ +"240p", +"360p", +"480p", +"720p", +"1080p", +"1440p", +"2160p", +"variable" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"Channel": { +"description": "A *channel* resource contains information about a YouTube channel.", +"id": "Channel", +"properties": { +"auditDetails": { +"$ref": "ChannelAuditDetails", +"description": "The auditionDetails object encapsulates channel data that is relevant for YouTube Partners during the audition process." +}, +"brandingSettings": { +"$ref": "ChannelBrandingSettings", +"description": "The brandingSettings object encapsulates information about the branding of the channel." +}, +"contentDetails": { +"$ref": "ChannelContentDetails", +"description": "The contentDetails object encapsulates information about the channel's content." +}, +"contentOwnerDetails": { +"$ref": "ChannelContentOwnerDetails", +"description": "The contentOwnerDetails object encapsulates channel data that is relevant for YouTube Partners linked with the channel." +}, +"conversionPings": { +"$ref": "ChannelConversionPings", +"deprecated": true, +"description": "The conversionPings object encapsulates information about conversion pings that need to be respected by the channel." +}, +"etag": { +"description": "Etag of this resource.", +"type": "string" +}, +"id": { +"description": "The ID that YouTube uses to uniquely identify the channel.", +"type": "string" +}, +"kind": { +"default": "youtube#channel", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#channel\".", +"type": "string" +}, +"localizations": { +"additionalProperties": { +"$ref": "ChannelLocalization" +}, +"description": "Localizations for different languages", +"type": "object" +}, +"snippet": { +"$ref": "ChannelSnippet", +"description": "The snippet object contains basic details about the channel, such as its title, description, and thumbnail images." +}, +"statistics": { +"$ref": "ChannelStatistics", +"description": "The statistics object encapsulates statistics for the channel." +}, +"status": { +"$ref": "ChannelStatus", +"description": "The status object encapsulates information about the privacy status of the channel." +}, +"topicDetails": { +"$ref": "ChannelTopicDetails", +"description": "The topicDetails object encapsulates information about Freebase topics associated with the channel." +} +}, +"type": "object" +}, +"ChannelAuditDetails": { +"description": "The auditDetails object encapsulates channel data that is relevant for YouTube Partners during the audit process.", +"id": "ChannelAuditDetails", +"properties": { +"communityGuidelinesGoodStanding": { +"description": "Whether or not the channel respects the community guidelines.", +"type": "boolean" +}, +"contentIdClaimsGoodStanding": { +"description": "Whether or not the channel has any unresolved claims.", +"type": "boolean" +}, +"copyrightStrikesGoodStanding": { +"description": "Whether or not the channel has any copyright strikes.", +"type": "boolean" +} +}, +"type": "object" +}, +"ChannelBannerResource": { +"description": "A channel banner returned as the response to a channel_banner.insert call.", +"id": "ChannelBannerResource", +"properties": { +"etag": { +"type": "string" +}, +"kind": { +"default": "youtube#channelBannerResource", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#channelBannerResource\".", +"type": "string" +}, +"url": { +"description": "The URL of this banner image.", +"type": "string" +} +}, +"type": "object" +}, +"ChannelBrandingSettings": { +"description": "Branding properties of a YouTube channel.", +"id": "ChannelBrandingSettings", +"properties": { +"channel": { +"$ref": "ChannelSettings", +"description": "Branding properties for the channel view." +}, +"hints": { +"deprecated": true, +"description": "Additional experimental branding properties.", +"items": { +"$ref": "PropertyValue" +}, +"type": "array" +}, +"image": { +"$ref": "ImageSettings", +"description": "Branding properties for branding images." +}, +"watch": { +"$ref": "WatchSettings", +"deprecated": true, +"description": "Branding properties for the watch page." +} +}, +"type": "object" +}, +"ChannelContentDetails": { +"description": "Details about the content of a channel.", +"id": "ChannelContentDetails", +"properties": { +"relatedPlaylists": { +"properties": { +"favorites": { +"deprecated": true, +"description": "The ID of the playlist that contains the channel\"s favorite videos. Use the playlistItems.insert and playlistItems.delete to add or remove items from that list.", +"type": "string" +}, +"likes": { +"description": "The ID of the playlist that contains the channel\"s liked videos. Use the playlistItems.insert and playlistItems.delete to add or remove items from that list.", +"type": "string" +}, +"uploads": { +"description": "The ID of the playlist that contains the channel\"s uploaded videos. Use the videos.insert method to upload new videos and the videos.delete method to delete previously uploaded videos.", +"type": "string" +}, +"watchHistory": { +"deprecated": true, +"description": "The ID of the playlist that contains the channel\"s watch history. Use the playlistItems.insert and playlistItems.delete to add or remove items from that list.", +"type": "string" +}, +"watchLater": { +"deprecated": true, +"description": "The ID of the playlist that contains the channel\"s watch later playlist. Use the playlistItems.insert and playlistItems.delete to add or remove items from that list.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, +"ChannelContentOwnerDetails": { +"description": "The contentOwnerDetails object encapsulates channel data that is relevant for YouTube Partners linked with the channel.", +"id": "ChannelContentOwnerDetails", +"properties": { +"contentOwner": { +"description": "The ID of the content owner linked to the channel.", +"type": "string" +}, +"timeLinked": { +"description": "The date and time when the channel was linked to the content owner.", +"format": "date-time", +"type": "string" +} +}, +"type": "object" +}, +"ChannelConversionPing": { +"description": "Pings that the app shall fire (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.", +"id": "ChannelConversionPing", +"properties": { +"context": { +"description": "Defines the context of the ping.", +"enum": [ +"subscribe", +"unsubscribe", +"cview" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"conversionUrl": { +"description": "The url (without the schema) that the player shall send the ping to. It's at caller's descretion to decide which schema to use (http vs https) Example of a returned url: //googleads.g.doubleclick.net/pagead/ viewthroughconversion/962985656/?data=path%3DtHe_path%3Btype%3D cview%3Butuid%3DGISQtTNGYqaYl4sKxoVvKA&labe=default The caller must append biscotti authentication (ms param in case of mobile, for example) to this ping.", +"type": "string" +} +}, +"type": "object" +}, +"ChannelConversionPings": { +"description": "The conversionPings object encapsulates information about conversion pings that need to be respected by the channel.", +"id": "ChannelConversionPings", +"properties": { +"pings": { +"description": "Pings that the app shall fire (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.", +"items": { +"$ref": "ChannelConversionPing" +}, +"type": "array" +} +}, +"type": "object" +}, +"ChannelListResponse": { +"id": "ChannelListResponse", +"properties": { +"etag": { +"description": "Etag of this resource.", +"type": "string" +}, +"eventId": { +"deprecated": true, +"description": "Serialized EventId of the request which produced this response.", +"type": "string" +}, +"items": { +"items": { +"$ref": "Channel" +}, +"type": "array" +}, +"kind": { +"default": "youtube#channelListResponse", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#channelListResponse\".", +"type": "string" +}, +"nextPageToken": { +"description": "The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.", +"type": "string" +}, +"pageInfo": { +"$ref": "PageInfo", +"description": "General pagination information." +}, +"prevPageToken": { +"description": "The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.", +"type": "string" +}, +"tokenPagination": { +"$ref": "TokenPagination", +"deprecated": true +}, +"visitorId": { +"deprecated": true, +"description": "The visitorId identifies the visitor.", +"type": "string" +} +}, +"type": "object" +}, +"ChannelLocalization": { +"description": "Channel localization setting", +"id": "ChannelLocalization", +"properties": { +"description": { +"description": "The localized strings for channel's description.", +"type": "string" +}, +"title": { +"description": "The localized strings for channel's title.", +"type": "string" +} +}, +"type": "object" +}, +"ChannelProfileDetails": { +"id": "ChannelProfileDetails", +"properties": { +"channelId": { +"description": "The YouTube channel ID.", +"type": "string" +}, +"channelUrl": { +"description": "The channel's URL.", +"type": "string" +}, +"displayName": { +"description": "The channel's display name.", +"type": "string" +}, +"profileImageUrl": { +"description": "The channels's avatar URL.", +"type": "string" +} +}, +"type": "object" +}, +"ChannelSection": { +"id": "ChannelSection", +"properties": { +"contentDetails": { +"$ref": "ChannelSectionContentDetails", +"description": "The contentDetails object contains details about the channel section content, such as a list of playlists or channels featured in the section." +}, +"etag": { +"description": "Etag of this resource.", +"type": "string" +}, +"id": { +"description": "The ID that YouTube uses to uniquely identify the channel section.", +"type": "string" +}, +"kind": { +"default": "youtube#channelSection", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#channelSection\".", +"type": "string" +}, +"localizations": { +"additionalProperties": { +"$ref": "ChannelSectionLocalization" +}, +"deprecated": true, +"description": "Localizations for different languages", +"type": "object" +}, +"snippet": { +"$ref": "ChannelSectionSnippet", +"description": "The snippet object contains basic details about the channel section, such as its type, style and title." +}, +"targeting": { +"$ref": "ChannelSectionTargeting", +"deprecated": true, +"description": "The targeting object contains basic targeting settings about the channel section." +} +}, +"type": "object" +}, +"ChannelSectionContentDetails": { +"description": "Details about a channelsection, including playlists and channels.", +"id": "ChannelSectionContentDetails", +"properties": { +"channels": { +"description": "The channel ids for type multiple_channels.", +"items": { +"type": "string" +}, +"type": "array" +}, +"playlists": { +"description": "The playlist ids for type single_playlist and multiple_playlists. For singlePlaylist, only one playlistId is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ChannelSectionListResponse": { +"id": "ChannelSectionListResponse", +"properties": { +"etag": { +"description": "Etag of this resource.", +"type": "string" +}, +"eventId": { +"deprecated": true, +"description": "Serialized EventId of the request which produced this response.", +"type": "string" +}, +"items": { +"description": "A list of ChannelSections that match the request criteria.", +"items": { +"$ref": "ChannelSection" +}, +"type": "array" +}, +"kind": { +"default": "youtube#channelSectionListResponse", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#channelSectionListResponse\".", +"type": "string" +}, +"visitorId": { +"deprecated": true, +"description": "The visitorId identifies the visitor.", +"type": "string" +} +}, +"type": "object" +}, +"ChannelSectionLocalization": { +"description": "ChannelSection localization setting", +"id": "ChannelSectionLocalization", +"properties": { +"title": { +"deprecated": true, +"description": "The localized strings for channel section's title.", +"type": "string" +} +}, +"type": "object" +}, +"ChannelSectionSnippet": { +"description": "Basic details about a channel section, including title, style and position.", +"id": "ChannelSectionSnippet", +"properties": { +"channelId": { +"description": "The ID that YouTube uses to uniquely identify the channel that published the channel section.", +"type": "string" +}, +"defaultLanguage": { +"deprecated": true, +"description": "The language of the channel section's default title and description.", +"type": "string" +}, +"localized": { +"$ref": "ChannelSectionLocalization", +"deprecated": true, +"description": "Localized title, read-only." +}, +"position": { +"description": "The position of the channel section in the channel.", +"format": "uint32", +"type": "integer" +}, +"style": { +"deprecated": true, +"description": "The style of the channel section.", +"enum": [ +"channelsectionStyleUnspecified", +"horizontalRow", +"verticalList" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"title": { +"description": "The channel section's title for multiple_playlists and multiple_channels.", +"type": "string" +}, +"type": { +"description": "The type of the channel section.", +"enum": [ +"channelsectionTypeUndefined", +"singlePlaylist", +"multiplePlaylists", +"popularUploads", +"recentUploads", +"likes", +"allPlaylists", +"likedPlaylists", +"recentPosts", +"recentActivity", +"liveEvents", +"upcomingEvents", +"completedEvents", +"multipleChannels", +"postedVideos", +"postedPlaylists", +"subscriptions" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +true, +false, +true, +true, +true, +false, +false, +false, +false, +true, +true, +false +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"ChannelSectionTargeting": { +"description": "ChannelSection targeting setting.", +"id": "ChannelSectionTargeting", +"properties": { +"countries": { +"deprecated": true, +"description": "The country the channel section is targeting.", +"items": { +"type": "string" +}, +"type": "array" +}, +"languages": { +"deprecated": true, +"description": "The language the channel section is targeting.", +"items": { +"type": "string" +}, +"type": "array" +}, +"regions": { +"deprecated": true, +"description": "The region the channel section is targeting.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ChannelSettings": { +"description": "Branding properties for the channel view.", +"id": "ChannelSettings", +"properties": { +"country": { +"description": "The country of the channel.", +"type": "string" +}, +"defaultLanguage": { +"type": "string" +}, +"defaultTab": { +"deprecated": true, +"description": "Which content tab users should see when viewing the channel.", +"type": "string" +}, +"description": { +"description": "Specifies the channel description.", +"type": "string" +}, +"featuredChannelsTitle": { +"deprecated": true, +"description": "Title for the featured channels tab.", +"type": "string" +}, +"featuredChannelsUrls": { +"deprecated": true, +"description": "The list of featured channels.", +"items": { +"type": "string" +}, +"type": "array" +}, +"keywords": { +"description": "Lists keywords associated with the channel, comma-separated.", +"type": "string" +}, +"moderateComments": { +"deprecated": true, +"description": "Whether user-submitted comments left on the channel page need to be approved by the channel owner to be publicly visible.", +"type": "boolean" +}, +"profileColor": { +"deprecated": true, +"description": "A prominent color that can be rendered on this channel page.", +"type": "string" +}, +"showBrowseView": { +"deprecated": true, +"description": "Whether the tab to browse the videos should be displayed.", +"type": "boolean" +}, +"showRelatedChannels": { +"deprecated": true, +"description": "Whether related channels should be proposed.", +"type": "boolean" +}, +"title": { +"description": "Specifies the channel title.", +"type": "string" +}, +"trackingAnalyticsAccountId": { +"description": "The ID for a Google Analytics account to track and measure traffic to the channels.", +"type": "string" +}, +"unsubscribedTrailer": { +"description": "The trailer of the channel, for users that are not subscribers.", +"type": "string" +} +}, +"type": "object" +}, +"ChannelSnippet": { +"description": "Basic details about a channel, including title, description and thumbnails.", +"id": "ChannelSnippet", +"properties": { +"country": { +"description": "The country of the channel.", +"type": "string" +}, +"customUrl": { +"description": "The custom url of the channel.", +"type": "string" +}, +"defaultLanguage": { +"description": "The language of the channel's default title and description.", +"type": "string" +}, +"description": { +"description": "The description of the channel.", +"type": "string" +}, +"localized": { +"$ref": "ChannelLocalization", +"description": "Localized title and description, read-only." +}, +"publishedAt": { +"description": "The date and time that the channel was created.", +"format": "date-time", +"type": "string" +}, +"thumbnails": { +"$ref": "ThumbnailDetails", +"description": "A map of thumbnail images associated with the channel. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail. When displaying thumbnails in your application, make sure that your code uses the image URLs exactly as they are returned in API responses. For example, your application should not use the http domain instead of the https domain in a URL returned in an API response. Beginning in July 2018, channel thumbnail URLs will only be available in the https domain, which is how the URLs appear in API responses. After that time, you might see broken images in your application if it tries to load YouTube images from the http domain. Thumbnail images might be empty for newly created channels and might take up to one day to populate." +}, +"title": { +"description": "The channel's title.", +"type": "string" +} +}, +"type": "object" +}, +"ChannelStatistics": { +"description": "Statistics about a channel: number of subscribers, number of videos in the channel, etc.", +"id": "ChannelStatistics", +"properties": { +"commentCount": { +"description": "The number of comments for the channel.", +"format": "uint64", +"type": "string" +}, +"hiddenSubscriberCount": { +"description": "Whether or not the number of subscribers is shown for this user.", +"type": "boolean" +}, +"subscriberCount": { +"description": "The number of subscribers that the channel has.", +"format": "uint64", +"type": "string" +}, +"videoCount": { +"description": "The number of videos uploaded to the channel.", +"format": "uint64", +"type": "string" +}, +"viewCount": { +"description": "The number of times the channel has been viewed.", +"format": "uint64", +"type": "string" +} +}, +"type": "object" +}, +"ChannelStatus": { +"description": "JSON template for the status part of a channel.", +"id": "ChannelStatus", +"properties": { +"isLinked": { +"description": "If true, then the user is linked to either a YouTube username or G+ account. Otherwise, the user doesn't have a public YouTube identity.", +"type": "boolean" +}, +"longUploadsStatus": { +"description": "The long uploads status of this channel. See https://support.google.com/youtube/answer/71673 for more information.", +"enum": [ +"longUploadsUnspecified", +"allowed", +"eligible", +"disallowed" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"madeForKids": { +"type": "boolean" +}, +"privacyStatus": { +"description": "Privacy status of the channel.", +"enum": [ +"public", +"unlisted", +"private" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"selfDeclaredMadeForKids": { +"type": "boolean" +} +}, +"type": "object" +}, +"ChannelToStoreLinkDetails": { +"description": "Information specific to a store on a merchandising platform linked to a YouTube channel.", +"id": "ChannelToStoreLinkDetails", +"properties": { +"billingDetails": { +"$ref": "ChannelToStoreLinkDetailsBillingDetails", +"description": "Information specific to billing (read-only)." +}, +"merchantAffiliateProgramDetails": { +"$ref": "ChannelToStoreLinkDetailsMerchantAffiliateProgramDetails", +"description": "Information specific to merchant affiliate program (read-only)." +}, +"merchantId": { +"description": "Google Merchant Center id of the store.", +"format": "uint64", +"type": "string" +}, +"storeName": { +"description": "Name of the store.", +"type": "string" +}, +"storeUrl": { +"description": "Landing page of the store.", +"type": "string" +} +}, +"type": "object" +}, +"ChannelToStoreLinkDetailsBillingDetails": { +"description": "Information specific to billing.", +"id": "ChannelToStoreLinkDetailsBillingDetails", +"properties": { +"billingStatus": { +"description": "The current billing profile status.", +"enum": [ +"billingStatusUnspecified", +"billingStatusPending", +"billingStatusActive", +"billingStatusInactive" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"ChannelToStoreLinkDetailsMerchantAffiliateProgramDetails": { +"description": "Information specific to merchant affiliate program.", +"id": "ChannelToStoreLinkDetailsMerchantAffiliateProgramDetails", +"properties": { +"status": { +"description": "The current merchant affiliate program status.", +"enum": [ +"merchantAffiliateProgramStatusUnspecified", +"merchantAffiliateProgramStatusEligible", +"merchantAffiliateProgramStatusActive", +"merchantAffiliateProgramStatusPaused" +], +"enumDescriptions": [ +"Unspecified status.", +"Merchant is eligible for the merchant affiliate program.", +"Merchant affiliate program is active.", +"Merchant affiliate program is paused." +], +"type": "string" +} +}, +"type": "object" +}, +"ChannelTopicDetails": { +"description": "Freebase topic information related to the channel.", +"id": "ChannelTopicDetails", +"properties": { +"topicCategories": { +"description": "A list of Wikipedia URLs that describe the channel's content.", +"items": { +"type": "string" +}, +"type": "array" +}, +"topicIds": { +"deprecated": true, +"description": "A list of Freebase topic IDs associated with the channel. You can retrieve information about each topic using the Freebase Topic API.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Comment": { +"description": "A *comment* represents a single YouTube comment.", +"id": "Comment", +"properties": { +"etag": { +"description": "Etag of this resource.", +"type": "string" +}, +"id": { +"description": "The ID that YouTube uses to uniquely identify the comment.", +"type": "string" +}, +"kind": { +"default": "youtube#comment", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#comment\".", +"type": "string" +}, +"snippet": { +"$ref": "CommentSnippet", +"description": "The snippet object contains basic details about the comment." +} +}, +"type": "object" +}, +"CommentListResponse": { +"id": "CommentListResponse", +"properties": { +"etag": { +"description": "Etag of this resource.", +"type": "string" +}, +"eventId": { +"deprecated": true, +"description": "Serialized EventId of the request which produced this response.", +"type": "string" +}, +"items": { +"description": "A list of comments that match the request criteria.", +"items": { +"$ref": "Comment" +}, +"type": "array" +}, +"kind": { +"default": "youtube#commentListResponse", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#commentListResponse\".", +"type": "string" +}, +"nextPageToken": { +"description": "The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.", +"type": "string" +}, +"pageInfo": { +"$ref": "PageInfo", +"description": "General pagination information." +}, +"tokenPagination": { +"$ref": "TokenPagination", +"deprecated": true +}, +"visitorId": { +"deprecated": true, +"description": "The visitorId identifies the visitor.", +"type": "string" +} +}, +"type": "object" +}, +"CommentSnippet": { +"description": "Basic details about a comment, such as its author and text.", +"id": "CommentSnippet", +"properties": { +"authorChannelId": { +"$ref": "CommentSnippetAuthorChannelId" +}, +"authorChannelUrl": { +"description": "Link to the author's YouTube channel, if any.", +"type": "string" +}, +"authorDisplayName": { +"description": "The name of the user who posted the comment.", +"type": "string" +}, +"authorProfileImageUrl": { +"description": "The URL for the avatar of the user who posted the comment.", +"type": "string" +}, +"canRate": { +"description": "Whether the current viewer can rate this comment.", +"type": "boolean" +}, +"channelId": { +"description": "The id of the corresponding YouTube channel. In case of a channel comment this is the channel the comment refers to. In case of a video comment it's the video's channel.", +"type": "string" +}, +"likeCount": { +"description": "The total number of likes this comment has received.", +"format": "uint32", +"type": "integer" +}, +"moderationStatus": { +"description": "The comment's moderation status. Will not be set if the comments were requested through the id filter.", +"enum": [ +"published", +"heldForReview", +"likelySpam", +"rejected" +], +"enumDescriptions": [ +"The comment is available for public display.", +"The comment is awaiting review by a moderator.", +"", +"The comment is unfit for display." +], +"type": "string" +}, +"parentId": { +"description": "The unique id of the parent comment, only set for replies.", +"type": "string" +}, +"publishedAt": { +"description": "The date and time when the comment was originally published.", +"format": "date-time", +"type": "string" +}, +"textDisplay": { +"description": "The comment's text. The format is either plain text or HTML dependent on what has been requested. Even the plain text representation may differ from the text originally posted in that it may replace video links with video titles etc.", +"type": "string" +}, +"textOriginal": { +"description": "The comment's original raw text as initially posted or last updated. The original text will only be returned if it is accessible to the viewer, which is only guaranteed if the viewer is the comment's author.", +"type": "string" +}, +"updatedAt": { +"description": "The date and time when the comment was last updated.", +"format": "date-time", +"type": "string" +}, +"videoId": { +"description": "The ID of the video the comment refers to, if any.", +"type": "string" +}, +"viewerRating": { +"description": "The rating the viewer has given to this comment. For the time being this will never return RATE_TYPE_DISLIKE and instead return RATE_TYPE_NONE. This may change in the future.", +"enum": [ +"none", +"like", +"dislike" +], +"enumDescriptions": [ +"", +"The entity is liked.", +"The entity is disliked." +], +"type": "string" +} +}, +"type": "object" +}, +"CommentSnippetAuthorChannelId": { +"description": "The id of the author's YouTube channel, if any.", +"id": "CommentSnippetAuthorChannelId", +"properties": { +"value": { +"type": "string" +} +}, +"type": "object" +}, +"CommentThread": { +"description": "A *comment thread* represents information that applies to a top level comment and all its replies. It can also include the top level comment itself and some of the replies.", +"id": "CommentThread", +"properties": { +"etag": { +"description": "Etag of this resource.", +"type": "string" +}, +"id": { +"description": "The ID that YouTube uses to uniquely identify the comment thread.", +"type": "string" +}, +"kind": { +"default": "youtube#commentThread", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#commentThread\".", +"type": "string" +}, +"replies": { +"$ref": "CommentThreadReplies", +"description": "The replies object contains a limited number of replies (if any) to the top level comment found in the snippet." +}, +"snippet": { +"$ref": "CommentThreadSnippet", +"description": "The snippet object contains basic details about the comment thread and also the top level comment." +} +}, +"type": "object" +}, +"CommentThreadListResponse": { +"id": "CommentThreadListResponse", +"properties": { +"etag": { +"description": "Etag of this resource.", +"type": "string" +}, +"eventId": { +"deprecated": true, +"description": "Serialized EventId of the request which produced this response.", +"type": "string" +}, +"items": { +"description": "A list of comment threads that match the request criteria.", +"items": { +"$ref": "CommentThread" +}, +"type": "array" +}, +"kind": { +"default": "youtube#commentThreadListResponse", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#commentThreadListResponse\".", +"type": "string" +}, +"nextPageToken": { +"description": "The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.", +"type": "string" +}, +"pageInfo": { +"$ref": "PageInfo", +"description": "General pagination information." +}, +"tokenPagination": { +"$ref": "TokenPagination", +"deprecated": true +}, +"visitorId": { +"deprecated": true, +"description": "The visitorId identifies the visitor.", +"type": "string" +} +}, +"type": "object" +}, +"CommentThreadReplies": { +"description": "Comments written in (direct or indirect) reply to the top level comment.", +"id": "CommentThreadReplies", +"properties": { +"comments": { +"description": "A limited number of replies. Unless the number of replies returned equals total_reply_count in the snippet the returned replies are only a subset of the total number of replies.", +"items": { +"$ref": "Comment" +}, +"type": "array" +} +}, +"type": "object" +}, +"CommentThreadSnippet": { +"description": "Basic details about a comment thread.", +"id": "CommentThreadSnippet", +"properties": { +"canReply": { +"description": "Whether the current viewer of the thread can reply to it. This is viewer specific - other viewers may see a different value for this field.", +"type": "boolean" +}, +"channelId": { +"description": "The YouTube channel the comments in the thread refer to or the channel with the video the comments refer to. If video_id isn't set the comments refer to the channel itself.", +"type": "string" +}, +"isPublic": { +"description": "Whether the thread (and therefore all its comments) is visible to all YouTube users.", +"type": "boolean" +}, +"topLevelComment": { +"$ref": "Comment", +"description": "The top level comment of this thread." +}, +"totalReplyCount": { +"description": "The total number of replies (not including the top level comment).", +"format": "uint32", +"type": "integer" +}, +"videoId": { +"description": "The ID of the video the comments refer to, if any. No video_id implies a channel discussion comment.", +"type": "string" +} +}, +"type": "object" +}, +"ContentRating": { +"description": "Ratings schemes. The country-specific ratings are mostly for movies and shows. LINT.IfChange", +"id": "ContentRating", +"properties": { +"acbRating": { +"description": "The video's Australian Classification Board (ACB) or Australian Communications and Media Authority (ACMA) rating. ACMA ratings are used to classify children's television programming.", +"enum": [ +"acbUnspecified", +"acbE", +"acbP", +"acbC", +"acbG", +"acbPg", +"acbM", +"acbMa15plus", +"acbR18plus", +"acbUnrated" +], +"enumDescriptions": [ +"", +"E", +"Programs that have been given a P classification by the Australian Communications and Media Authority. These programs are intended for preschool children.", +"Programs that have been given a C classification by the Australian Communications and Media Authority. These programs are intended for children (other than preschool children) who are younger than 14 years of age.", +"G", +"PG", +"M", +"MA15+", +"R18+", +"" +], +"type": "string" +}, +"agcomRating": { +"description": "The video's rating from Italy's Autorit\u00e0 per le Garanzie nelle Comunicazioni (AGCOM).", +"enum": [ +"agcomUnspecified", +"agcomT", +"agcomVm14", +"agcomVm18", +"agcomUnrated" +], +"enumDescriptions": [ +"", +"T", +"VM14", +"VM18", +"" +], +"type": "string" +}, +"anatelRating": { +"description": "The video's Anatel (Asociaci\u00f3n Nacional de Televisi\u00f3n) rating for Chilean television.", +"enum": [ +"anatelUnspecified", +"anatelF", +"anatelI", +"anatelI7", +"anatelI10", +"anatelI12", +"anatelR", +"anatelA", +"anatelUnrated" +], +"enumDescriptions": [ +"", +"F", +"I", +"I-7", +"I-10", +"I-12", +"R", +"A", +"" +], +"type": "string" +}, +"bbfcRating": { +"description": "The video's British Board of Film Classification (BBFC) rating.", +"enum": [ +"bbfcUnspecified", +"bbfcU", +"bbfcPg", +"bbfc12a", +"bbfc12", +"bbfc15", +"bbfc18", +"bbfcR18", +"bbfcUnrated" +], +"enumDescriptions": [ +"", +"U", +"PG", +"12A", +"12", +"15", +"18", +"R18", +"" +], +"type": "string" +}, +"bfvcRating": { +"description": "The video's rating from Thailand's Board of Film and Video Censors.", +"enum": [ +"bfvcUnspecified", +"bfvcG", +"bfvcE", +"bfvc13", +"bfvc15", +"bfvc18", +"bfvc20", +"bfvcB", +"bfvcUnrated" +], +"enumDescriptions": [ +"", +"G", +"E", +"13", +"15", +"18", +"20", +"B", +"" +], +"type": "string" +}, +"bmukkRating": { +"description": "The video's rating from the Austrian Board of Media Classification (Bundesministerium f\u00fcr Unterricht, Kunst und Kultur).", +"enum": [ +"bmukkUnspecified", +"bmukkAa", +"bmukk6", +"bmukk8", +"bmukk10", +"bmukk12", +"bmukk14", +"bmukk16", +"bmukkUnrated" +], +"enumDescriptions": [ +"", +"Unrestricted", +"6+", +"8+", +"10+", +"12+", +"14+", +"16+", +"" +], +"type": "string" +}, +"catvRating": { +"description": "Rating system for Canadian TV - Canadian TV Classification System The video's rating from the Canadian Radio-Television and Telecommunications Commission (CRTC) for Canadian English-language broadcasts. For more information, see the Canadian Broadcast Standards Council website.", +"enum": [ +"catvUnspecified", +"catvC", +"catvC8", +"catvG", +"catvPg", +"catv14plus", +"catv18plus", +"catvUnrated", +"catvE" +], +"enumDescriptions": [ +"", +"C", +"C8", +"G", +"PG", +"14+", +"18+", +"", +"" +], +"type": "string" +}, +"catvfrRating": { +"description": "The video's rating from the Canadian Radio-Television and Telecommunications Commission (CRTC) for Canadian French-language broadcasts. For more information, see the Canadian Broadcast Standards Council website.", +"enum": [ +"catvfrUnspecified", +"catvfrG", +"catvfr8plus", +"catvfr13plus", +"catvfr16plus", +"catvfr18plus", +"catvfrUnrated", +"catvfrE" +], +"enumDescriptions": [ +"", +"G", +"8+", +"13+", +"16+", +"18+", +"", +"" +], +"type": "string" +}, +"cbfcRating": { +"description": "The video's Central Board of Film Certification (CBFC - India) rating.", +"enum": [ +"cbfcUnspecified", +"cbfcU", +"cbfcUA", +"cbfcUA7plus", +"cbfcUA13plus", +"cbfcUA16plus", +"cbfcA", +"cbfcS", +"cbfcUnrated" +], +"enumDescriptions": [ +"", +"U", +"U/A", +"U/A 7+", +"U/A 13+", +"U/A 16+", +"A", +"S", +"" +], +"type": "string" +}, +"cccRating": { +"description": "The video's Consejo de Calificaci\u00f3n Cinematogr\u00e1fica (Chile) rating.", +"enum": [ +"cccUnspecified", +"cccTe", +"ccc6", +"ccc14", +"ccc18", +"ccc18v", +"ccc18s", +"cccUnrated" +], +"enumDescriptions": [ +"", +"Todo espectador", +"6+ - Inconveniente para menores de 7 a\u00f1os", +"14+", +"18+", +"18+ - contenido excesivamente violento", +"18+ - contenido pornogr\u00e1fico", +"" +], +"type": "string" +}, +"cceRating": { +"description": "The video's rating from Portugal's Comiss\u00e3o de Classifica\u00e7\u00e3o de Espect\u00b4culos.", +"enum": [ +"cceUnspecified", +"cceM4", +"cceM6", +"cceM12", +"cceM16", +"cceM18", +"cceUnrated", +"cceM14" +], +"enumDescriptions": [ +"", +"4", +"6", +"12", +"16", +"18", +"", +"14" +], +"type": "string" +}, +"chfilmRating": { +"description": "The video's rating in Switzerland.", +"enum": [ +"chfilmUnspecified", +"chfilm0", +"chfilm6", +"chfilm12", +"chfilm16", +"chfilm18", +"chfilmUnrated" +], +"enumDescriptions": [ +"", +"0", +"6", +"12", +"16", +"18", +"" +], +"type": "string" +}, +"chvrsRating": { +"description": "The video's Canadian Home Video Rating System (CHVRS) rating.", +"enum": [ +"chvrsUnspecified", +"chvrsG", +"chvrsPg", +"chvrs14a", +"chvrs18a", +"chvrsR", +"chvrsE", +"chvrsUnrated" +], +"enumDescriptions": [ +"", +"G", +"PG", +"14A", +"18A", +"R", +"E", +"" +], +"type": "string" +}, +"cicfRating": { +"description": "The video's rating from the Commission de Contr\u00f4le des Films (Belgium).", +"enum": [ +"cicfUnspecified", +"cicfE", +"cicfKtEa", +"cicfKntEna", +"cicfUnrated" +], +"enumDescriptions": [ +"", +"E", +"KT/EA", +"KNT/ENA", +"" +], +"type": "string" +}, +"cnaRating": { +"description": "The video's rating from Romania's CONSILIUL NATIONAL AL AUDIOVIZUALULUI (CNA).", +"enum": [ +"cnaUnspecified", +"cnaAp", +"cna12", +"cna15", +"cna18", +"cna18plus", +"cnaUnrated" +], +"enumDescriptions": [ +"", +"AP", +"12", +"15", +"18", +"18+", +"" +], +"type": "string" +}, +"cncRating": { +"description": "Rating system in France - Commission de classification cinematographique", +"enum": [ +"cncUnspecified", +"cncT", +"cnc10", +"cnc12", +"cnc16", +"cnc18", +"cncE", +"cncInterdiction", +"cncUnrated" +], +"enumDescriptions": [ +"", +"T", +"10", +"12", +"16", +"18", +"E", +"interdiction", +"" +], +"type": "string" +}, +"csaRating": { +"description": "The video's rating from France's Conseil sup\u00e9rieur de l\u2019audiovisuel, which rates broadcast content.", +"enum": [ +"csaUnspecified", +"csaT", +"csa10", +"csa12", +"csa16", +"csa18", +"csaInterdiction", +"csaUnrated" +], +"enumDescriptions": [ +"", +"T", +"10", +"12", +"16", +"18", +"Interdiction", +"" +], +"type": "string" +}, +"cscfRating": { +"description": "The video's rating from Luxembourg's Commission de surveillance de la classification des films (CSCF).", +"enum": [ +"cscfUnspecified", +"cscfAl", +"cscfA", +"cscf6", +"cscf9", +"cscf12", +"cscf16", +"cscf18", +"cscfUnrated" +], +"enumDescriptions": [ +"", +"AL", +"A", +"6", +"9", +"12", +"16", +"18", +"" +], +"type": "string" +}, +"czfilmRating": { +"description": "The video's rating in the Czech Republic.", +"enum": [ +"czfilmUnspecified", +"czfilmU", +"czfilm12", +"czfilm14", +"czfilm18", +"czfilmUnrated" +], +"enumDescriptions": [ +"", +"U", +"12", +"14", +"18", +"" +], +"type": "string" +}, +"djctqRating": { +"description": "The video's Departamento de Justi\u00e7a, Classifica\u00e7\u00e3o, Qualifica\u00e7\u00e3o e T\u00edtulos (DJCQT - Brazil) rating.", +"enum": [ +"djctqUnspecified", +"djctqL", +"djctq10", +"djctq12", +"djctq14", +"djctq16", +"djctq18", +"djctqEr", +"djctqL10", +"djctqL12", +"djctqL14", +"djctqL16", +"djctqL18", +"djctq1012", +"djctq1014", +"djctq1016", +"djctq1018", +"djctq1214", +"djctq1216", +"djctq1218", +"djctq1416", +"djctq1418", +"djctq1618", +"djctqUnrated" +], +"enumDescriptions": [ +"", +"L", +"10", +"12", +"14", +"16", +"18", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"djctqRatingReasons": { +"description": "Reasons that explain why the video received its DJCQT (Brazil) rating.", +"items": { +"enum": [ +"djctqRatingReasonUnspecified", +"djctqViolence", +"djctqExtremeViolence", +"djctqSexualContent", +"djctqNudity", +"djctqSex", +"djctqExplicitSex", +"djctqDrugs", +"djctqLegalDrugs", +"djctqIllegalDrugs", +"djctqInappropriateLanguage", +"djctqCriminalActs", +"djctqImpactingContent" +], +"enumDescriptions": [ +"", +"Brazil rating content descriptors. See http://go/brazilratings section F. Viol\u00eancia (Violence)", +"Viol\u00eancia extrema (Extreme violence)", +"Conte\u00fado sexual (Sexual content)", +"Nudez (Nudity)", +"Sexo (Sex)", +"Sexo Expl\u00edcito (Explicit sex)", +"Drogas (Drugs)", +"Drogas L\u00edcitas (Legal drugs)", +"Drogas Il\u00edcitas (Illegal drugs)", +"Linguagem Impr\u00f3pria (Inappropriate language)", +"Atos Criminosos (Criminal Acts)", +"Conte\u00fado Impactante (Impacting content)" +], +"type": "string" +}, +"type": "array" +}, +"ecbmctRating": { +"description": "Rating system in Turkey - Evaluation and Classification Board of the Ministry of Culture and Tourism", +"enum": [ +"ecbmctUnspecified", +"ecbmctG", +"ecbmct7a", +"ecbmct7plus", +"ecbmct13a", +"ecbmct13plus", +"ecbmct15a", +"ecbmct15plus", +"ecbmct18plus", +"ecbmctUnrated" +], +"enumDescriptions": [ +"", +"G", +"7A", +"7+", +"13A", +"13+", +"15A", +"15+", +"18+", +"" +], +"type": "string" +}, +"eefilmRating": { +"description": "The video's rating in Estonia.", +"enum": [ +"eefilmUnspecified", +"eefilmPere", +"eefilmL", +"eefilmMs6", +"eefilmK6", +"eefilmMs12", +"eefilmK12", +"eefilmK14", +"eefilmK16", +"eefilmUnrated" +], +"enumDescriptions": [ +"", +"Pere", +"L", +"MS-6", +"K-6", +"MS-12", +"K-12", +"K-14", +"K-16", +"" +], +"type": "string" +}, +"egfilmRating": { +"description": "The video's rating in Egypt.", +"enum": [ +"egfilmUnspecified", +"egfilmGn", +"egfilm18", +"egfilmBn", +"egfilmUnrated" +], +"enumDescriptions": [ +"", +"GN", +"18", +"BN", +"" +], +"type": "string" +}, +"eirinRating": { +"description": "The video's Eirin (\u6620\u502b) rating. Eirin is the Japanese rating system.", +"enum": [ +"eirinUnspecified", +"eirinG", +"eirinPg12", +"eirinR15plus", +"eirinR18plus", +"eirinUnrated" +], +"enumDescriptions": [ +"", +"G", +"PG-12", +"R15+", +"R18+", +"" +], +"type": "string" +}, +"fcbmRating": { +"description": "The video's rating from Malaysia's Film Censorship Board.", +"enum": [ +"fcbmUnspecified", +"fcbmU", +"fcbmPg13", +"fcbmP13", +"fcbm18", +"fcbm18sx", +"fcbm18pa", +"fcbm18sg", +"fcbm18pl", +"fcbmUnrated" +], +"enumDescriptions": [ +"", +"U", +"PG13", +"P13", +"18", +"18SX", +"18PA", +"18SG", +"18PL", +"" +], +"type": "string" +}, +"fcoRating": { +"description": "The video's rating from Hong Kong's Office for Film, Newspaper and Article Administration.", +"enum": [ +"fcoUnspecified", +"fcoI", +"fcoIia", +"fcoIib", +"fcoIi", +"fcoIii", +"fcoUnrated" +], +"enumDescriptions": [ +"", +"I", +"IIA", +"IIB", +"II", +"III", +"" +], +"type": "string" +}, +"fmocRating": { +"deprecated": true, +"description": "This property has been deprecated. Use the contentDetails.contentRating.cncRating instead.", +"enum": [ +"fmocUnspecified", +"fmocU", +"fmoc10", +"fmoc12", +"fmoc16", +"fmoc18", +"fmocE", +"fmocUnrated" +], +"enumDescriptions": [ +"", +"U", +"10", +"12", +"16", +"18", +"E", +"" +], +"type": "string" +}, +"fpbRating": { +"description": "The video's rating from South Africa's Film and Publication Board.", +"enum": [ +"fpbUnspecified", +"fpbA", +"fpbPg", +"fpb79Pg", +"fpb1012Pg", +"fpb13", +"fpb16", +"fpb18", +"fpbX18", +"fpbXx", +"fpbUnrated", +"fpb10" +], +"enumDescriptions": [ +"", +"A", +"PG", +"7-9PG", +"10-12PG", +"13", +"16", +"18", +"X18", +"XX", +"", +"10" +], +"type": "string" +}, +"fpbRatingReasons": { +"description": "Reasons that explain why the video received its FPB (South Africa) rating.", +"items": { +"enum": [ +"fpbRatingReasonUnspecified", +"fpbBlasphemy", +"fpbLanguage", +"fpbNudity", +"fpbPrejudice", +"fpbSex", +"fpbViolence", +"fpbDrugs", +"fpbSexualViolence", +"fpbHorror", +"fpbCriminalTechniques", +"fpbImitativeActsTechniques" +], +"enumDescriptions": [ +"", +"South Africa rating content descriptors.", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"type": "array" +}, +"fskRating": { +"description": "The video's Freiwillige Selbstkontrolle der Filmwirtschaft (FSK - Germany) rating.", +"enum": [ +"fskUnspecified", +"fsk0", +"fsk6", +"fsk12", +"fsk16", +"fsk18", +"fskUnrated" +], +"enumDescriptions": [ +"", +"FSK 0", +"FSK 6", +"FSK 12", +"FSK 16", +"FSK 18", +"" +], +"type": "string" +}, +"grfilmRating": { +"description": "The video's rating in Greece.", +"enum": [ +"grfilmUnspecified", +"grfilmK", +"grfilmE", +"grfilmK12", +"grfilmK13", +"grfilmK15", +"grfilmK17", +"grfilmK18", +"grfilmUnrated" +], +"enumDescriptions": [ +"", +"K", +"E", +"K-12", +"K-13", +"K-15", +"K-17", +"K-18", +"" +], +"type": "string" +}, +"icaaRating": { +"description": "The video's Instituto de la Cinematograf\u00eda y de las Artes Audiovisuales (ICAA - Spain) rating.", +"enum": [ +"icaaUnspecified", +"icaaApta", +"icaa7", +"icaa12", +"icaa13", +"icaa16", +"icaa18", +"icaaX", +"icaaUnrated" +], +"enumDescriptions": [ +"", +"APTA", +"7", +"12", +"13", +"16", +"18", +"X", +"" +], +"type": "string" +}, +"ifcoRating": { +"description": "The video's Irish Film Classification Office (IFCO - Ireland) rating. See the IFCO website for more information.", +"enum": [ +"ifcoUnspecified", +"ifcoG", +"ifcoPg", +"ifco12", +"ifco12a", +"ifco15", +"ifco15a", +"ifco16", +"ifco18", +"ifcoUnrated" +], +"enumDescriptions": [ +"", +"G", +"PG", +"12", +"12A", +"15", +"15A", +"16", +"18", +"" +], +"type": "string" +}, +"ilfilmRating": { +"description": "The video's rating in Israel.", +"enum": [ +"ilfilmUnspecified", +"ilfilmAa", +"ilfilm12", +"ilfilm14", +"ilfilm16", +"ilfilm18", +"ilfilmUnrated" +], +"enumDescriptions": [ +"", +"AA", +"12", +"14", +"16", +"18", +"" +], +"type": "string" +}, +"incaaRating": { +"description": "The video's INCAA (Instituto Nacional de Cine y Artes Audiovisuales - Argentina) rating.", +"enum": [ +"incaaUnspecified", +"incaaAtp", +"incaaSam13", +"incaaSam16", +"incaaSam18", +"incaaC", +"incaaUnrated" +], +"enumDescriptions": [ +"", +"ATP (Apta para todo publico)", +"13 (Solo apta para mayores de 13 a\u00f1os)", +"16 (Solo apta para mayores de 16 a\u00f1os)", +"18 (Solo apta para mayores de 18 a\u00f1os)", +"X (Solo apta para mayores de 18 a\u00f1os, de exhibici\u00f3n condicionada)", +"" +], +"type": "string" +}, +"kfcbRating": { +"description": "The video's rating from the Kenya Film Classification Board.", +"enum": [ +"kfcbUnspecified", +"kfcbG", +"kfcbPg", +"kfcb16plus", +"kfcbR", +"kfcbUnrated" +], +"enumDescriptions": [ +"", +"GE", +"PG", +"16", +"18", +"" +], +"type": "string" +}, +"kijkwijzerRating": { +"description": "The video's NICAM/Kijkwijzer rating from the Nederlands Instituut voor de Classificatie van Audiovisuele Media (Netherlands).", +"enum": [ +"kijkwijzerUnspecified", +"kijkwijzerAl", +"kijkwijzer6", +"kijkwijzer9", +"kijkwijzer12", +"kijkwijzer16", +"kijkwijzer18", +"kijkwijzerUnrated" +], +"enumDescriptions": [ +"", +"AL", +"6", +"9", +"12", +"16", +"", +"" +], +"type": "string" +}, +"kmrbRating": { +"description": "The video's Korea Media Rating Board (\uc601\uc0c1\ubb3c\ub4f1\uae09\uc704\uc6d0\ud68c) rating. The KMRB rates videos in South Korea.", +"enum": [ +"kmrbUnspecified", +"kmrbAll", +"kmrb12plus", +"kmrb15plus", +"kmrbTeenr", +"kmrbR", +"kmrbUnrated" +], +"enumDescriptions": [ +"", +"\uc804\uccb4\uad00\ub78c\uac00", +"12\uc138 \uc774\uc0c1 \uad00\ub78c\uac00", +"15\uc138 \uc774\uc0c1 \uad00\ub78c\uac00", +"", +"\uccad\uc18c\ub144 \uad00\ub78c\ubd88\uac00", +"" +], +"type": "string" +}, +"lsfRating": { +"description": "The video's rating from Indonesia's Lembaga Sensor Film.", +"enum": [ +"lsfUnspecified", +"lsfSu", +"lsfA", +"lsfBo", +"lsf13", +"lsfR", +"lsf17", +"lsfD", +"lsf21", +"lsfUnrated" +], +"enumDeprecated": [ +false, +false, +false, +true, +false, +true, +false, +true, +false, +true +], +"enumDescriptions": [ +"", +"SU", +"A", +"BO", +"13", +"R", +"17", +"D", +"21", +"" +], +"type": "string" +}, +"mccaaRating": { +"description": "The video's rating from Malta's Film Age-Classification Board.", +"enum": [ +"mccaaUnspecified", +"mccaaU", +"mccaaPg", +"mccaa12a", +"mccaa12", +"mccaa14", +"mccaa15", +"mccaa16", +"mccaa18", +"mccaaUnrated" +], +"enumDescriptions": [ +"", +"U", +"PG", +"12A", +"12", +"14 - this rating was removed from the new classification structure introduced in 2013.", +"15", +"16 - this rating was removed from the new classification structure introduced in 2013.", +"18", +"" +], +"type": "string" +}, +"mccypRating": { +"description": "The video's rating from the Danish Film Institute's (Det Danske Filminstitut) Media Council for Children and Young People.", +"enum": [ +"mccypUnspecified", +"mccypA", +"mccyp7", +"mccyp11", +"mccyp15", +"mccypUnrated" +], +"enumDescriptions": [ +"", +"A", +"7", +"11", +"15", +"" +], +"type": "string" +}, +"mcstRating": { +"description": "The video's rating system for Vietnam - MCST", +"enum": [ +"mcstUnspecified", +"mcstP", +"mcst0", +"mcstC13", +"mcstC16", +"mcst16plus", +"mcstC18", +"mcstGPg", +"mcstUnrated" +], +"enumDescriptions": [ +"", +"P", +"0", +"C13", +"C16", +"16+", +"C18", +"MCST_G_PG", +"" +], +"type": "string" +}, +"mdaRating": { +"description": "The video's rating from Singapore's Media Development Authority (MDA) and, specifically, it's Board of Film Censors (BFC).", +"enum": [ +"mdaUnspecified", +"mdaG", +"mdaPg", +"mdaPg13", +"mdaNc16", +"mdaM18", +"mdaR21", +"mdaUnrated" +], +"enumDescriptions": [ +"", +"G", +"PG", +"PG13", +"NC16", +"M18", +"R21", +"" +], +"type": "string" +}, +"medietilsynetRating": { +"description": "The video's rating from Medietilsynet, the Norwegian Media Authority.", +"enum": [ +"medietilsynetUnspecified", +"medietilsynetA", +"medietilsynet6", +"medietilsynet7", +"medietilsynet9", +"medietilsynet11", +"medietilsynet12", +"medietilsynet15", +"medietilsynet18", +"medietilsynetUnrated" +], +"enumDescriptions": [ +"", +"A", +"6", +"7", +"9", +"11", +"12", +"15", +"18", +"" +], +"type": "string" +}, +"mekuRating": { +"description": "The video's rating from Finland's Kansallinen Audiovisuaalinen Instituutti (National Audiovisual Institute).", +"enum": [ +"mekuUnspecified", +"mekuS", +"meku7", +"meku12", +"meku16", +"meku18", +"mekuUnrated" +], +"enumDescriptions": [ +"", +"S", +"7", +"12", +"16", +"18", +"" +], +"type": "string" +}, +"menaMpaaRating": { +"description": "The rating system for MENA countries, a clone of MPAA. It is needed to prevent titles go live w/o additional QC check, since some of them can be inappropriate for the countries at all. See b/33408548 for more details.", +"enum": [ +"menaMpaaUnspecified", +"menaMpaaG", +"menaMpaaPg", +"menaMpaaPg13", +"menaMpaaR", +"menaMpaaUnrated" +], +"enumDescriptions": [ +"", +"G", +"PG", +"PG-13", +"R", +"To keep the same enum values as MPAA's items have, skip NC_17." +], +"type": "string" +}, +"mibacRating": { +"description": "The video's rating from the Ministero dei Beni e delle Attivit\u00e0 Culturali e del Turismo (Italy).", +"enum": [ +"mibacUnspecified", +"mibacT", +"mibacVap", +"mibacVm6", +"mibacVm12", +"mibacVm14", +"mibacVm16", +"mibacVm18", +"mibacUnrated" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"mocRating": { +"description": "The video's Ministerio de Cultura (Colombia) rating.", +"enum": [ +"mocUnspecified", +"mocE", +"mocT", +"moc7", +"moc12", +"moc15", +"moc18", +"mocX", +"mocBanned", +"mocUnrated" +], +"enumDescriptions": [ +"", +"E", +"T", +"7", +"12", +"15", +"18", +"X", +"Banned", +"" +], +"type": "string" +}, +"moctwRating": { +"description": "The video's rating from Taiwan's Ministry of Culture (\u6587\u5316\u90e8).", +"enum": [ +"moctwUnspecified", +"moctwG", +"moctwP", +"moctwPg", +"moctwR", +"moctwUnrated", +"moctwR12", +"moctwR15" +], +"enumDescriptions": [ +"", +"G", +"P", +"PG", +"R", +"", +"R-12", +"R-15" +], +"type": "string" +}, +"mpaaRating": { +"description": "The video's Motion Picture Association of America (MPAA) rating.", +"enum": [ +"mpaaUnspecified", +"mpaaG", +"mpaaPg", +"mpaaPg13", +"mpaaR", +"mpaaNc17", +"mpaaX", +"mpaaUnrated" +], +"enumDescriptions": [ +"", +"G", +"PG", +"PG-13", +"R", +"NC-17", +"! X", +"" +], +"type": "string" +}, +"mpaatRating": { +"description": "The rating system for trailer, DVD, and Ad in the US. See http://movielabs.com/md/ratings/v2.3/html/US_MPAAT_Ratings.html.", +"enum": [ +"mpaatUnspecified", +"mpaatGb", +"mpaatRb" +], +"enumDescriptions": [ +"", +"GB", +"RB" +], +"type": "string" +}, +"mtrcbRating": { +"description": "The video's rating from the Movie and Television Review and Classification Board (Philippines).", +"enum": [ +"mtrcbUnspecified", +"mtrcbG", +"mtrcbPg", +"mtrcbR13", +"mtrcbR16", +"mtrcbR18", +"mtrcbX", +"mtrcbUnrated" +], +"enumDescriptions": [ +"", +"G", +"PG", +"R-13", +"R-16", +"R-18", +"X", +"" +], +"type": "string" +}, +"nbcRating": { +"description": "The video's rating from the Maldives National Bureau of Classification.", +"enum": [ +"nbcUnspecified", +"nbcG", +"nbcPg", +"nbc12plus", +"nbc15plus", +"nbc18plus", +"nbc18plusr", +"nbcPu", +"nbcUnrated" +], +"enumDescriptions": [ +"", +"G", +"PG", +"12+", +"15+", +"18+", +"18+R", +"PU", +"" +], +"type": "string" +}, +"nbcplRating": { +"description": "The video's rating in Poland.", +"enum": [ +"nbcplUnspecified", +"nbcplI", +"nbcplIi", +"nbcplIii", +"nbcplIv", +"nbcpl18plus", +"nbcplUnrated" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"nfrcRating": { +"description": "The video's rating from the Bulgarian National Film Center.", +"enum": [ +"nfrcUnspecified", +"nfrcA", +"nfrcB", +"nfrcC", +"nfrcD", +"nfrcX", +"nfrcUnrated" +], +"enumDescriptions": [ +"", +"A", +"B", +"C", +"D", +"X", +"" +], +"type": "string" +}, +"nfvcbRating": { +"description": "The video's rating from Nigeria's National Film and Video Censors Board.", +"enum": [ +"nfvcbUnspecified", +"nfvcbG", +"nfvcbPg", +"nfvcb12", +"nfvcb12a", +"nfvcb15", +"nfvcb18", +"nfvcbRe", +"nfvcbUnrated" +], +"enumDescriptions": [ +"", +"G", +"PG", +"12", +"12A", +"15", +"18", +"RE", +"" +], +"type": "string" +}, +"nkclvRating": { +"description": "The video's rating from the Nacion\u00e3lais Kino centrs (National Film Centre of Latvia).", +"enum": [ +"nkclvUnspecified", +"nkclvU", +"nkclv7plus", +"nkclv12plus", +"nkclv16plus", +"nkclv18plus", +"nkclvUnrated" +], +"enumDescriptions": [ +"", +"U", +"7+", +"12+", +"! 16+", +"18+", +"" +], +"type": "string" +}, +"nmcRating": { +"description": "The National Media Council ratings system for United Arab Emirates.", +"enum": [ +"nmcUnspecified", +"nmcG", +"nmcPg", +"nmcPg13", +"nmcPg15", +"nmc15plus", +"nmc18plus", +"nmc18tc", +"nmcUnrated" +], +"enumDescriptions": [ +"", +"G", +"PG", +"PG-13", +"PG-15", +"15+", +"18+", +"18TC", +"" +], +"type": "string" +}, +"oflcRating": { +"description": "The video's Office of Film and Literature Classification (OFLC - New Zealand) rating.", +"enum": [ +"oflcUnspecified", +"oflcG", +"oflcPg", +"oflcM", +"oflcR13", +"oflcR15", +"oflcR16", +"oflcR18", +"oflcUnrated", +"oflcRp13", +"oflcRp16", +"oflcRp18" +], +"enumDescriptions": [ +"", +"G", +"PG", +"M", +"R13", +"R15", +"R16", +"R18", +"", +"RP13", +"RP16", +"RP18" +], +"type": "string" +}, +"pefilmRating": { +"description": "The video's rating in Peru.", +"enum": [ +"pefilmUnspecified", +"pefilmPt", +"pefilmPg", +"pefilm14", +"pefilm18", +"pefilmUnrated" +], +"enumDescriptions": [ +"", +"PT", +"PG", +"14", +"18", +"" +], +"type": "string" +}, +"rcnofRating": { +"description": "The video's rating from the Hungarian Nemzeti Filmiroda, the Rating Committee of the National Office of Film.", +"enum": [ +"rcnofUnspecified", +"rcnofI", +"rcnofIi", +"rcnofIii", +"rcnofIv", +"rcnofV", +"rcnofVi", +"rcnofUnrated" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"resorteviolenciaRating": { +"description": "The video's rating in Venezuela.", +"enum": [ +"resorteviolenciaUnspecified", +"resorteviolenciaA", +"resorteviolenciaB", +"resorteviolenciaC", +"resorteviolenciaD", +"resorteviolenciaE", +"resorteviolenciaUnrated" +], +"enumDescriptions": [ +"", +"A", +"B", +"C", +"D", +"E", +"" +], +"type": "string" +}, +"rtcRating": { +"description": "The video's General Directorate of Radio, Television and Cinematography (Mexico) rating.", +"enum": [ +"rtcUnspecified", +"rtcAa", +"rtcA", +"rtcB", +"rtcB15", +"rtcC", +"rtcD", +"rtcUnrated" +], +"enumDescriptions": [ +"", +"AA", +"A", +"B", +"B15", +"C", +"D", +"" +], +"type": "string" +}, +"rteRating": { +"description": "The video's rating from Ireland's Raidi\u00f3 Teilif\u00eds \u00c9ireann.", +"enum": [ +"rteUnspecified", +"rteGa", +"rteCh", +"rtePs", +"rteMa", +"rteUnrated" +], +"enumDescriptions": [ +"", +"GA", +"CH", +"PS", +"MA", +"" +], +"type": "string" +}, +"russiaRating": { +"description": "The video's National Film Registry of the Russian Federation (MKRF - Russia) rating.", +"enum": [ +"russiaUnspecified", +"russia0", +"russia6", +"russia12", +"russia16", +"russia18", +"russiaUnrated" +], +"enumDescriptions": [ +"", +"0+", +"6+", +"12+", +"16+", +"18+", +"" +], +"type": "string" +}, +"skfilmRating": { +"description": "The video's rating in Slovakia.", +"enum": [ +"skfilmUnspecified", +"skfilmG", +"skfilmP2", +"skfilmP5", +"skfilmP8", +"skfilmUnrated" +], +"enumDescriptions": [ +"", +"G", +"P2", +"P5", +"P8", +"" +], +"type": "string" +}, +"smaisRating": { +"description": "The video's rating in Iceland.", +"enum": [ +"smaisUnspecified", +"smaisL", +"smais7", +"smais12", +"smais14", +"smais16", +"smais18", +"smaisUnrated" +], +"enumDescriptions": [ +"", +"L", +"7", +"12", +"14", +"16", +"18", +"" +], +"type": "string" +}, +"smsaRating": { +"description": "The video's rating from Statens medier\u00e5d (Sweden's National Media Council).", +"enum": [ +"smsaUnspecified", +"smsaA", +"smsa7", +"smsa11", +"smsa15", +"smsaUnrated" +], +"enumDescriptions": [ +"", +"All ages", +"7", +"11", +"15", +"" +], +"type": "string" +}, +"tvpgRating": { +"description": "The video's TV Parental Guidelines (TVPG) rating.", +"enum": [ +"tvpgUnspecified", +"tvpgY", +"tvpgY7", +"tvpgY7Fv", +"tvpgG", +"tvpgPg", +"pg14", +"tvpgMa", +"tvpgUnrated" +], +"enumDescriptions": [ +"", +"TV-Y", +"TV-Y7", +"TV-Y7-FV", +"TV-G", +"TV-PG", +"TV-14", +"TV-MA", +"" +], +"type": "string" +}, +"ytRating": { +"description": "A rating that YouTube uses to identify age-restricted content.", +"enum": [ +"ytUnspecified", +"ytAgeRestricted" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"Cuepoint": { +"description": "Note that there may be a 5-second end-point resolution issue. For instance, if a cuepoint comes in for 22:03:27, we may stuff the cuepoint into 22:03:25 or 22:03:30, depending. This is an artifact of HLS.", +"id": "Cuepoint", +"properties": { +"cueType": { +"enum": [ +"cueTypeUnspecified", +"cueTypeAd" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"durationSecs": { +"description": "The duration of this cuepoint.", +"format": "uint32", +"type": "integer" +}, +"etag": { +"type": "string" +}, +"id": { +"description": "The identifier for cuepoint resource.", +"type": "string" +}, +"insertionOffsetTimeMs": { +"description": "The time when the cuepoint should be inserted by offset to the broadcast actual start time.", +"format": "int64", +"type": "string" +}, +"walltimeMs": { +"description": "The wall clock time at which the cuepoint should be inserted. Only one of insertion_offset_time_ms and walltime_ms may be set at a time.", +"format": "uint64", +"type": "string" +} +}, +"type": "object" +}, +"CuepointSchedule": { +"description": "Schedule to insert cuepoints into a broadcast by ads automator.", +"id": "CuepointSchedule", +"properties": { +"enabled": { +"description": "This field is semantically required. If it is set false or not set, other fields in this message will be ignored.", +"type": "boolean" +}, +"pauseAdsUntil": { +"description": "If set, automatic cuepoint insertion is paused until this timestamp (\"No Ad Zone\"). The value is specified in ISO 8601 format.", +"type": "string" +}, +"repeatIntervalSecs": { +"deprecated": true, +"description": "Interval frequency in seconds that api uses to insert cuepoints automatically.", +"format": "int32", +"type": "integer" +}, +"scheduleStrategy": { +"deprecated": true, +"description": "The strategy to use when scheduling cuepoints.", +"enum": [ +"scheduleStrategyUnspecified", +"concurrent", +"nonConcurrent" +], +"enumDescriptions": [ +"", +"Strategy to schedule cuepoints at one time for all viewers.", +"Strategy to schedule cuepoints at an increased rate to allow viewers to receive cuepoints when eligible. See go/lcr-non-concurrent-ads for more details." +], +"type": "string" +} +}, +"type": "object" +}, +"Entity": { +"id": "Entity", +"properties": { +"id": { +"type": "string" +}, +"typeId": { +"type": "string" +}, +"url": { +"type": "string" +} +}, +"type": "object" +}, +"GeoPoint": { +"description": "Geographical coordinates of a point, in WGS84.", +"id": "GeoPoint", +"properties": { +"altitude": { +"description": "Altitude above the reference ellipsoid, in meters.", +"format": "double", +"type": "number" +}, +"latitude": { +"description": "Latitude in degrees.", +"format": "double", +"type": "number" +}, +"longitude": { +"description": "Longitude in degrees.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"I18nLanguage": { +"description": "An *i18nLanguage* resource identifies a UI language currently supported by YouTube.", +"id": "I18nLanguage", +"properties": { +"etag": { +"description": "Etag of this resource.", +"type": "string" +}, +"id": { +"description": "The ID that YouTube uses to uniquely identify the i18n language.", +"type": "string" +}, +"kind": { +"default": "youtube#i18nLanguage", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#i18nLanguage\".", +"type": "string" +}, +"snippet": { +"$ref": "I18nLanguageSnippet", +"description": "The snippet object contains basic details about the i18n language, such as language code and human-readable name." +} +}, +"type": "object" +}, +"I18nLanguageListResponse": { +"id": "I18nLanguageListResponse", +"properties": { +"etag": { +"description": "Etag of this resource.", +"type": "string" +}, +"eventId": { +"description": "Serialized EventId of the request which produced this response.", +"type": "string" +}, +"items": { +"description": "A list of supported i18n languages. In this map, the i18n language ID is the map key, and its value is the corresponding i18nLanguage resource.", +"items": { +"$ref": "I18nLanguage" +}, +"type": "array" +}, +"kind": { +"default": "youtube#i18nLanguageListResponse", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#i18nLanguageListResponse\".", +"type": "string" +}, +"visitorId": { +"description": "The visitorId identifies the visitor.", +"type": "string" +} +}, +"type": "object" +}, +"I18nLanguageSnippet": { +"description": "Basic details about an i18n language, such as language code and human-readable name.", +"id": "I18nLanguageSnippet", +"properties": { +"hl": { +"description": "A short BCP-47 code that uniquely identifies a language.", +"type": "string" +}, +"name": { +"description": "The human-readable name of the language in the language itself.", +"type": "string" +} +}, +"type": "object" +}, +"I18nRegion": { +"description": "A *i18nRegion* resource identifies a region where YouTube is available.", +"id": "I18nRegion", +"properties": { +"etag": { +"description": "Etag of this resource.", +"type": "string" +}, +"id": { +"description": "The ID that YouTube uses to uniquely identify the i18n region.", +"type": "string" +}, +"kind": { +"default": "youtube#i18nRegion", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#i18nRegion\".", +"type": "string" +}, +"snippet": { +"$ref": "I18nRegionSnippet", +"description": "The snippet object contains basic details about the i18n region, such as region code and human-readable name." +} +}, +"type": "object" +}, +"I18nRegionListResponse": { +"id": "I18nRegionListResponse", +"properties": { +"etag": { +"description": "Etag of this resource.", +"type": "string" +}, +"eventId": { +"deprecated": true, +"description": "Serialized EventId of the request which produced this response.", +"type": "string" +}, +"items": { +"description": "A list of regions where YouTube is available. In this map, the i18n region ID is the map key, and its value is the corresponding i18nRegion resource.", +"items": { +"$ref": "I18nRegion" +}, +"type": "array" +}, +"kind": { +"default": "youtube#i18nRegionListResponse", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#i18nRegionListResponse\".", +"type": "string" +}, +"visitorId": { +"deprecated": true, +"description": "The visitorId identifies the visitor.", +"type": "string" +} +}, +"type": "object" +}, +"I18nRegionSnippet": { +"description": "Basic details about an i18n region, such as region code and human-readable name.", +"id": "I18nRegionSnippet", +"properties": { +"gl": { +"description": "The region code as a 2-letter ISO country code.", +"type": "string" +}, +"name": { +"description": "The human-readable name of the region.", +"type": "string" +} +}, +"type": "object" +}, +"ImageSettings": { +"description": "Branding properties for images associated with the channel.", +"id": "ImageSettings", +"properties": { +"backgroundImageUrl": { +"$ref": "LocalizedProperty", +"deprecated": true, +"description": "The URL for the background image shown on the video watch page. The image should be 1200px by 615px, with a maximum file size of 128k." +}, +"bannerExternalUrl": { +"description": "This is generated when a ChannelBanner.Insert request has succeeded for the given channel.", +"type": "string" +}, +"bannerImageUrl": { +"deprecated": true, +"description": "Banner image. Desktop size (1060x175).", +"type": "string" +}, +"bannerMobileExtraHdImageUrl": { +"deprecated": true, +"description": "Banner image. Mobile size high resolution (1440x395).", +"type": "string" +}, +"bannerMobileHdImageUrl": { +"deprecated": true, +"description": "Banner image. Mobile size high resolution (1280x360).", +"type": "string" +}, +"bannerMobileImageUrl": { +"deprecated": true, +"description": "Banner image. Mobile size (640x175).", +"type": "string" +}, +"bannerMobileLowImageUrl": { +"deprecated": true, +"description": "Banner image. Mobile size low resolution (320x88).", +"type": "string" +}, +"bannerMobileMediumHdImageUrl": { +"deprecated": true, +"description": "Banner image. Mobile size medium/high resolution (960x263).", +"type": "string" +}, +"bannerTabletExtraHdImageUrl": { +"deprecated": true, +"description": "Banner image. Tablet size extra high resolution (2560x424).", +"type": "string" +}, +"bannerTabletHdImageUrl": { +"deprecated": true, +"description": "Banner image. Tablet size high resolution (2276x377).", +"type": "string" +}, +"bannerTabletImageUrl": { +"deprecated": true, +"description": "Banner image. Tablet size (1707x283).", +"type": "string" +}, +"bannerTabletLowImageUrl": { +"deprecated": true, +"description": "Banner image. Tablet size low resolution (1138x188).", +"type": "string" +}, +"bannerTvHighImageUrl": { +"deprecated": true, +"description": "Banner image. TV size high resolution (1920x1080).", +"type": "string" +}, +"bannerTvImageUrl": { +"deprecated": true, +"description": "Banner image. TV size extra high resolution (2120x1192).", +"type": "string" +}, +"bannerTvLowImageUrl": { +"deprecated": true, +"description": "Banner image. TV size low resolution (854x480).", +"type": "string" +}, +"bannerTvMediumImageUrl": { +"deprecated": true, +"description": "Banner image. TV size medium resolution (1280x720).", +"type": "string" +}, +"largeBrandedBannerImageImapScript": { +"$ref": "LocalizedProperty", +"deprecated": true, +"description": "The image map script for the large banner image." +}, +"largeBrandedBannerImageUrl": { +"$ref": "LocalizedProperty", +"deprecated": true, +"description": "The URL for the 854px by 70px image that appears below the video player in the expanded video view of the video watch page." +}, +"smallBrandedBannerImageImapScript": { +"$ref": "LocalizedProperty", +"deprecated": true, +"description": "The image map script for the small banner image." +}, +"smallBrandedBannerImageUrl": { +"$ref": "LocalizedProperty", +"deprecated": true, +"description": "The URL for the 640px by 70px banner image that appears below the video player in the default view of the video watch page. The URL for the image that appears above the top-left corner of the video player. This is a 25-pixel-high image with a flexible width that cannot exceed 170 pixels." +}, +"trackingImageUrl": { +"deprecated": true, +"description": "The URL for a 1px by 1px tracking pixel that can be used to collect statistics for views of the channel or video pages.", +"type": "string" +}, +"watchIconImageUrl": { +"deprecated": true, +"type": "string" +} +}, +"type": "object" +}, +"IngestionInfo": { +"description": "Describes information necessary for ingesting an RTMP, HTTP, or SRT stream.", +"id": "IngestionInfo", +"properties": { +"backupIngestionAddress": { +"description": "The backup ingestion URL that you should use to stream video to YouTube. You have the option of simultaneously streaming the content that you are sending to the ingestionAddress to this URL.", +"type": "string" +}, +"ingestionAddress": { +"description": "The primary ingestion URL that you should use to stream video to YouTube. You must stream video to this URL. Depending on which application or tool you use to encode your video stream, you may need to enter the stream URL and stream name separately or you may need to concatenate them in the following format: *STREAM_URL/STREAM_NAME* ", +"type": "string" +}, +"rtmpsBackupIngestionAddress": { +"description": "This ingestion url may be used instead of backupIngestionAddress in order to stream via RTMPS. Not applicable to non-RTMP streams.", +"type": "string" +}, +"rtmpsIngestionAddress": { +"description": "This ingestion url may be used instead of ingestionAddress in order to stream via RTMPS. Not applicable to non-RTMP streams.", +"type": "string" +}, +"streamName": { +"description": "The stream name that YouTube assigns to the video stream.", +"type": "string" +} +}, +"type": "object" +}, +"InvideoBranding": { +"description": "Describes an invideo branding.", +"id": "InvideoBranding", +"properties": { +"imageBytes": { +"description": "The bytes the uploaded image. Only used in api to youtube communication.", +"format": "byte", +"type": "string" +}, +"imageUrl": { +"description": "The url of the uploaded image. Only used in apiary to api communication.", +"type": "string" +}, +"position": { +"$ref": "InvideoPosition", +"deprecated": true, +"description": "The spatial position within the video where the branding watermark will be displayed." +}, +"targetChannelId": { +"description": "The channel to which this branding links. If not present it defaults to the current channel.", +"type": "string" +}, +"timing": { +"$ref": "InvideoTiming", +"description": "The temporal position within the video where watermark will be displayed." +} +}, +"type": "object" +}, +"InvideoPosition": { +"description": "Describes the spatial position of a visual widget inside a video. It is a union of various position types, out of which only will be set one.", +"id": "InvideoPosition", +"properties": { +"cornerPosition": { +"description": "Describes in which corner of the video the visual widget will appear.", +"enum": [ +"topLeft", +"topRight", +"bottomLeft", +"bottomRight" +], +"enumDeprecated": [ +true, +false, +true, +true +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"type": { +"description": "Defines the position type.", +"enum": [ +"corner" +], +"enumDescriptions": [ +"" +], +"type": "string" +} +}, +"type": "object" +}, +"InvideoTiming": { +"description": "Describes a temporal position of a visual widget inside a video.", +"id": "InvideoTiming", +"properties": { +"durationMs": { +"description": "Defines the duration in milliseconds for which the promotion should be displayed. If missing, the client should use the default.", +"format": "uint64", +"type": "string" +}, +"offsetMs": { +"description": "Defines the time at which the promotion will appear. Depending on the value of type the value of the offsetMs field will represent a time offset from the start or from the end of the video, expressed in milliseconds.", +"format": "uint64", +"type": "string" +}, +"type": { +"description": "Describes a timing type. If the value is offsetFromStart, then the offsetMs field represents an offset from the start of the video. If the value is offsetFromEnd, then the offsetMs field represents an offset from the end of the video.", +"enum": [ +"offsetFromStart", +"offsetFromEnd" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"LanguageTag": { +"id": "LanguageTag", +"properties": { +"value": { +"type": "string" +} +}, +"type": "object" +}, +"LevelDetails": { +"id": "LevelDetails", +"properties": { +"displayName": { +"description": "The name that should be used when referring to this level.", +"type": "string" +} +}, +"type": "object" +}, +"LiveBroadcast": { +"description": "A *liveBroadcast* resource represents an event that will be streamed, via live video, on YouTube.", +"id": "LiveBroadcast", +"properties": { +"contentDetails": { +"$ref": "LiveBroadcastContentDetails", +"description": "The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded." +}, +"etag": { +"description": "Etag of this resource.", +"type": "string" +}, +"id": { +"annotations": { +"required": [ +"youtube.liveBroadcasts.update" +] +}, +"description": "The ID that YouTube assigns to uniquely identify the broadcast.", +"type": "string" +}, +"kind": { +"default": "youtube#liveBroadcast", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#liveBroadcast\".", +"type": "string" +}, +"monetizationDetails": { +"$ref": "LiveBroadcastMonetizationDetails", +"description": "The monetizationDetails object contains information about the event's monetization details." +}, +"snippet": { +"$ref": "LiveBroadcastSnippet", +"description": "The snippet object contains basic details about the event, including its title, description, start time, and end time." +}, +"statistics": { +"$ref": "LiveBroadcastStatistics", +"description": "The statistics object contains info about the event's current stats. These include concurrent viewers and total chat count. Statistics can change (in either direction) during the lifetime of an event. Statistics are only returned while the event is live." +}, +"status": { +"$ref": "LiveBroadcastStatus", +"description": "The status object contains information about the event's status." +} +}, +"type": "object" +}, +"LiveBroadcastContentDetails": { +"description": "Detailed settings of a broadcast.", +"id": "LiveBroadcastContentDetails", +"properties": { +"boundStreamId": { +"description": "This value uniquely identifies the live stream bound to the broadcast.", +"type": "string" +}, +"boundStreamLastUpdateTimeMs": { +"description": "The date and time that the live stream referenced by boundStreamId was last updated.", +"format": "date-time", +"type": "string" +}, +"closedCaptionsType": { +"enum": [ +"closedCaptionsTypeUnspecified", +"closedCaptionsDisabled", +"closedCaptionsHttpPost", +"closedCaptionsEmbedded" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"enableAutoStart": { +"description": "This setting indicates whether auto start is enabled for this broadcast. The default value for this property is false. This setting can only be used by Events.", +"type": "boolean" +}, +"enableAutoStop": { +"description": "This setting indicates whether auto stop is enabled for this broadcast. The default value for this property is false. This setting can only be used by Events.", +"type": "boolean" +}, +"enableClosedCaptions": { +"deprecated": true, +"description": "This setting indicates whether HTTP POST closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API. This is mutually exclusive with using the closed_captions_type property, and is equivalent to setting closed_captions_type to CLOSED_CAPTIONS_HTTP_POST.", +"type": "boolean" +}, +"enableContentEncryption": { +"description": "This setting indicates whether YouTube should enable content encryption for the broadcast.", +"type": "boolean" +}, +"enableDvr": { +"description": "This setting determines whether viewers can access DVR controls while watching the video. DVR controls enable the viewer to control the video playback experience by pausing, rewinding, or fast forwarding content. The default value for this property is true. *Important:* You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends.", +"type": "boolean" +}, +"enableEmbed": { +"description": "This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video.", +"type": "boolean" +}, +"enableLowLatency": { +"deprecated": true, +"description": "Indicates whether this broadcast has low latency enabled.", +"type": "boolean" +}, +"latencyPreference": { +"description": "If both this and enable_low_latency are set, they must match. LATENCY_NORMAL should match enable_low_latency=false LATENCY_LOW should match enable_low_latency=true LATENCY_ULTRA_LOW should have enable_low_latency omitted.", +"enum": [ +"latencyPreferenceUnspecified", +"normal", +"low", +"ultraLow" +], +"enumDescriptions": [ +"", +"Best for: highest quality viewer playbacks and higher resolutions.", +"Best for: near real-time interaction, with minimal playback buffering.", +"Best for: real-time interaction Does not support: Closed captions, 1440p, and 4k resolutions" +], +"type": "string" +}, +"mesh": { +"description": "The mesh for projecting the video if projection is mesh. The mesh value must be a UTF-8 string containing the base-64 encoding of 3D mesh data that follows the Spherical Video V2 RFC specification for an mshp box, excluding the box size and type but including the following four reserved zero bytes for the version and flags.", +"format": "byte", +"type": "string" +}, +"monitorStream": { +"$ref": "MonitorStreamInfo", +"description": "The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly." +}, +"projection": { +"description": "The projection format of this broadcast. This defaults to rectangular.", +"enum": [ +"projectionUnspecified", +"rectangular", +"360", +"mesh" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"recordFromStart": { +"description": "Automatically start recording after the event goes live. The default value for this property is true. *Important:* You must also set the enableDvr property's value to true if you want the playback to be available immediately after the broadcast ends. If you set this property's value to true but do not also set the enableDvr property to true, there may be a delay of around one day before the archived video will be available for playback.", +"type": "boolean" +}, +"startWithSlate": { +"deprecated": true, +"description": "This setting indicates whether the broadcast should automatically begin with an in-stream slate when you update the broadcast's status to live. After updating the status, you then need to send a liveCuepoints.insert request that sets the cuepoint's eventState to end to remove the in-stream slate and make your broadcast stream visible to viewers.", +"type": "boolean" +}, +"stereoLayout": { +"description": "The 3D stereo layout of this broadcast. This defaults to mono.", +"enum": [ +"stereoLayoutUnspecified", +"mono", +"leftRight", +"topBottom" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"LiveBroadcastListResponse": { +"id": "LiveBroadcastListResponse", +"properties": { +"etag": { +"description": "Etag of this resource.", +"type": "string" +}, +"eventId": { +"deprecated": true, +"description": "Serialized EventId of the request which produced this response.", +"type": "string" +}, +"items": { +"description": "A list of broadcasts that match the request criteria.", +"items": { +"$ref": "LiveBroadcast" +}, +"type": "array" +}, +"kind": { +"default": "youtube#liveBroadcastListResponse", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#liveBroadcastListResponse\".", +"type": "string" +}, +"nextPageToken": { +"description": "The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.", +"type": "string" +}, +"pageInfo": { +"$ref": "PageInfo", +"description": "General pagination information." +}, +"prevPageToken": { +"description": "The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.", +"type": "string" +}, +"tokenPagination": { +"$ref": "TokenPagination", +"deprecated": true +}, +"visitorId": { +"deprecated": true, +"description": "The visitorId identifies the visitor.", +"type": "string" +} +}, +"type": "object" +}, +"LiveBroadcastMonetizationDetails": { +"description": "Monetization settings of a broadcast.", +"id": "LiveBroadcastMonetizationDetails", +"properties": { +"cuepointSchedule": { +"$ref": "CuepointSchedule" +} +}, +"type": "object" +}, +"LiveBroadcastSnippet": { +"description": "Basic broadcast information.", +"id": "LiveBroadcastSnippet", +"properties": { +"actualEndTime": { +"description": "The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete.", +"format": "date-time", +"type": "string" +}, +"actualStartTime": { +"description": "The date and time that the broadcast actually started. This information is only available once the broadcast's state is live.", +"format": "date-time", +"type": "string" +}, +"channelId": { +"description": "The ID that YouTube uses to uniquely identify the channel that is publishing the broadcast.", +"type": "string" +}, +"description": { +"description": "The broadcast's description. As with the title, you can set this field by modifying the broadcast resource or by setting the description field of the corresponding video resource.", +"type": "string" +}, +"isDefaultBroadcast": { +"description": "Indicates whether this broadcast is the default broadcast. Internal only.", +"type": "boolean" +}, +"liveChatId": { +"description": "The id of the live chat for this broadcast.", +"type": "string" +}, +"publishedAt": { +"description": "The date and time that the broadcast was added to YouTube's live broadcast schedule.", +"format": "date-time", +"type": "string" +}, +"scheduledEndTime": { +"description": "The date and time that the broadcast is scheduled to end.", +"format": "date-time", +"type": "string" +}, +"scheduledStartTime": { +"annotations": { +"required": [ +"youtube.liveBroadcasts.insert", +"youtube.liveBroadcasts.update" +] +}, +"description": "The date and time that the broadcast is scheduled to start.", +"format": "date-time", +"type": "string" +}, +"thumbnails": { +"$ref": "ThumbnailDetails", +"description": "A map of thumbnail images associated with the broadcast. For each nested object in this object, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail." +}, +"title": { +"annotations": { +"required": [ +"youtube.liveBroadcasts.insert", +"youtube.liveBroadcasts.update" +] +}, +"description": "The broadcast's title. Note that the broadcast represents exactly one YouTube video. You can set this field by modifying the broadcast resource or by setting the title field of the corresponding video resource.", +"type": "string" +} +}, +"type": "object" +}, +"LiveBroadcastStatistics": { +"description": "Statistics about the live broadcast. These represent a snapshot of the values at the time of the request. Statistics are only returned for live broadcasts.", +"id": "LiveBroadcastStatistics", +"properties": { +"concurrentViewers": { +"description": "The number of viewers currently watching the broadcast. The property and its value will be present if the broadcast has current viewers and the broadcast owner has not hidden the viewcount for the video. Note that YouTube stops tracking the number of concurrent viewers for a broadcast when the broadcast ends. So, this property would not identify the number of viewers watching an archived video of a live broadcast that already ended.", +"format": "uint64", +"type": "string" +} +}, +"type": "object" +}, +"LiveBroadcastStatus": { +"description": "Live broadcast state.", +"id": "LiveBroadcastStatus", +"properties": { +"lifeCycleStatus": { +"description": "The broadcast's status. The status can be updated using the API's liveBroadcasts.transition method.", +"enum": [ +"lifeCycleStatusUnspecified", +"created", +"ready", +"testing", +"live", +"complete", +"revoked", +"testStarting", +"liveStarting" +], +"enumDescriptions": [ +"No value or the value is unknown.", +"Incomplete settings, but otherwise valid", +"Complete settings", +"Visible only to partner, may need special UI treatment", +"Viper is recording; this means the \"clock\" is running", +"The broadcast is finished.", +"This broadcast was removed by admin action", +"Transition into TESTING has been requested", +"Transition into LIVE has been requested" +], +"type": "string" +}, +"liveBroadcastPriority": { +"description": "Priority of the live broadcast event (internal state).", +"enum": [ +"liveBroadcastPriorityUnspecified", +"low", +"normal", +"high" +], +"enumDescriptions": [ +"", +"Low priority broadcast: for low view count HoAs or other low priority broadcasts.", +"Normal priority broadcast: for regular HoAs and broadcasts.", +"High priority broadcast: for high profile HoAs, like PixelCorp ones." +], +"type": "string" +}, +"madeForKids": { +"description": "Whether the broadcast is made for kids or not, decided by YouTube instead of the creator. This field is read only.", +"type": "boolean" +}, +"privacyStatus": { +"annotations": { +"required": [ +"youtube.liveBroadcasts.insert", +"youtube.liveBroadcasts.update" +] +}, +"description": "The broadcast's privacy status. Note that the broadcast represents exactly one YouTube video, so the privacy settings are identical to those supported for videos. In addition, you can set this field by modifying the broadcast resource or by setting the privacyStatus field of the corresponding video resource.", +"enum": [ +"public", +"unlisted", +"private" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"recordingStatus": { +"description": "The broadcast's recording status.", +"enum": [ +"liveBroadcastRecordingStatusUnspecified", +"notRecording", +"recording", +"recorded" +], +"enumDescriptions": [ +"No value or the value is unknown.", +"The recording has not yet been started.", +"The recording is currently on.", +"The recording is completed, and cannot be started again." +], +"type": "string" +}, +"selfDeclaredMadeForKids": { +"description": "This field will be set to True if the creator declares the broadcast to be kids only: go/live-cw-work.", +"type": "boolean" +} +}, +"type": "object" +}, +"LiveChatBan": { +"description": "A `__liveChatBan__` resource represents a ban for a YouTube live chat.", +"id": "LiveChatBan", +"properties": { +"etag": { +"description": "Etag of this resource.", +"type": "string" +}, +"id": { +"description": "The ID that YouTube assigns to uniquely identify the ban.", +"type": "string" +}, +"kind": { +"default": "youtube#liveChatBan", +"description": "Identifies what kind of resource this is. Value: the fixed string `\"youtube#liveChatBan\"`.", +"type": "string" +}, +"snippet": { +"$ref": "LiveChatBanSnippet", +"description": "The `snippet` object contains basic details about the ban." +} +}, +"type": "object" +}, +"LiveChatBanSnippet": { +"id": "LiveChatBanSnippet", +"properties": { +"banDurationSeconds": { +"description": "The duration of a ban, only filled if the ban has type TEMPORARY.", +"format": "uint64", +"type": "string" +}, +"bannedUserDetails": { +"$ref": "ChannelProfileDetails" +}, +"liveChatId": { +"description": "The chat this ban is pertinent to.", +"type": "string" +}, +"type": { +"description": "The type of ban.", +"enum": [ +"liveChatBanTypeUnspecified", +"permanent", +"temporary" +], +"enumDescriptions": [ +"An invalid ban type.", +"A permanent ban.", +"A temporary ban." +], +"type": "string" +} +}, +"type": "object" +}, +"LiveChatFanFundingEventDetails": { +"id": "LiveChatFanFundingEventDetails", +"properties": { +"amountDisplayString": { +"description": "A rendered string that displays the fund amount and currency to the user.", +"type": "string" +}, +"amountMicros": { +"description": "The amount of the fund.", +"format": "uint64", +"type": "string" +}, +"currency": { +"description": "The currency in which the fund was made.", +"type": "string" +}, +"userComment": { +"description": "The comment added by the user to this fan funding event.", +"type": "string" +} +}, +"type": "object" +}, +"LiveChatGiftMembershipReceivedDetails": { +"id": "LiveChatGiftMembershipReceivedDetails", +"properties": { +"associatedMembershipGiftingMessageId": { +"description": "The ID of the membership gifting message that is related to this gift membership. This ID will always refer to a message whose type is 'membershipGiftingEvent'.", +"type": "string" +}, +"gifterChannelId": { +"description": "The ID of the user that made the membership gifting purchase. This matches the `snippet.authorChannelId` of the associated membership gifting message.", +"type": "string" +}, +"memberLevelName": { +"description": "The name of the Level at which the viewer is a member. This matches the `snippet.membershipGiftingDetails.giftMembershipsLevelName` of the associated membership gifting message. The Level names are defined by the YouTube channel offering the Membership. In some situations this field isn't filled.", +"type": "string" +} +}, +"type": "object" +}, +"LiveChatMemberMilestoneChatDetails": { +"id": "LiveChatMemberMilestoneChatDetails", +"properties": { +"memberLevelName": { +"description": "The name of the Level at which the viever is a member. The Level names are defined by the YouTube channel offering the Membership. In some situations this field isn't filled.", +"type": "string" +}, +"memberMonth": { +"description": "The total amount of months (rounded up) the viewer has been a member that granted them this Member Milestone Chat. This is the same number of months as is being displayed to YouTube users.", +"format": "uint32", +"type": "integer" +}, +"userComment": { +"description": "The comment added by the member to this Member Milestone Chat. This field is empty for messages without a comment from the member.", +"type": "string" +} +}, +"type": "object" +}, +"LiveChatMembershipGiftingDetails": { +"id": "LiveChatMembershipGiftingDetails", +"properties": { +"giftMembershipsCount": { +"description": "The number of gift memberships purchased by the user.", +"format": "int32", +"type": "integer" +}, +"giftMembershipsLevelName": { +"description": "The name of the level of the gift memberships purchased by the user. The Level names are defined by the YouTube channel offering the Membership. In some situations this field isn't filled.", +"type": "string" +} +}, +"type": "object" +}, +"LiveChatMessage": { +"description": "A *liveChatMessage* resource represents a chat message in a YouTube Live Chat.", +"id": "LiveChatMessage", +"properties": { +"authorDetails": { +"$ref": "LiveChatMessageAuthorDetails", +"description": "The authorDetails object contains basic details about the user that posted this message." +}, +"etag": { +"description": "Etag of this resource.", +"type": "string" +}, +"id": { +"description": "The ID that YouTube assigns to uniquely identify the message.", +"type": "string" +}, +"kind": { +"default": "youtube#liveChatMessage", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#liveChatMessage\".", +"type": "string" +}, +"snippet": { +"$ref": "LiveChatMessageSnippet", +"description": "The snippet object contains basic details about the message." +} +}, +"type": "object" +}, +"LiveChatMessageAuthorDetails": { +"id": "LiveChatMessageAuthorDetails", +"properties": { +"channelId": { +"description": "The YouTube channel ID.", +"type": "string" +}, +"channelUrl": { +"description": "The channel's URL.", +"type": "string" +}, +"displayName": { +"description": "The channel's display name.", +"type": "string" +}, +"isChatModerator": { +"description": "Whether the author is a moderator of the live chat.", +"type": "boolean" +}, +"isChatOwner": { +"description": "Whether the author is the owner of the live chat.", +"type": "boolean" +}, +"isChatSponsor": { +"description": "Whether the author is a sponsor of the live chat.", +"type": "boolean" +}, +"isVerified": { +"description": "Whether the author's identity has been verified by YouTube.", +"type": "boolean" +}, +"profileImageUrl": { +"description": "The channels's avatar URL.", +"type": "string" +} +}, +"type": "object" +}, +"LiveChatMessageDeletedDetails": { +"id": "LiveChatMessageDeletedDetails", +"properties": { +"deletedMessageId": { +"type": "string" +} +}, +"type": "object" +}, +"LiveChatMessageListResponse": { +"id": "LiveChatMessageListResponse", +"properties": { +"activePollItem": { +"$ref": "LiveChatMessage", +"description": "Set when there is an active poll." +}, +"etag": { +"description": "Etag of this resource.", +"type": "string" +}, +"eventId": { +"deprecated": true, +"description": "Serialized EventId of the request which produced this response.", +"type": "string" +}, +"items": { +"items": { +"$ref": "LiveChatMessage" +}, +"type": "array" +}, +"kind": { +"default": "youtube#liveChatMessageListResponse", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#liveChatMessageListResponse\".", +"type": "string" +}, +"nextPageToken": { +"type": "string" +}, +"offlineAt": { +"description": "The date and time when the underlying stream went offline.", +"format": "date-time", +"type": "string" +}, +"pageInfo": { +"$ref": "PageInfo", +"description": "General pagination information." +}, +"pollingIntervalMillis": { +"description": "The amount of time the client should wait before polling again.", +"format": "uint32", +"type": "integer" +}, +"tokenPagination": { +"$ref": "TokenPagination", +"deprecated": true +}, +"visitorId": { +"deprecated": true, +"description": "The visitorId identifies the visitor.", +"type": "string" +} +}, +"type": "object" +}, +"LiveChatMessageRetractedDetails": { +"id": "LiveChatMessageRetractedDetails", +"properties": { +"retractedMessageId": { +"type": "string" +} +}, +"type": "object" +}, +"LiveChatMessageSnippet": { +"description": "Next ID: 34", +"id": "LiveChatMessageSnippet", +"properties": { +"authorChannelId": { +"description": "The ID of the user that authored this message, this field is not always filled. textMessageEvent - the user that wrote the message fanFundingEvent - the user that funded the broadcast newSponsorEvent - the user that just became a sponsor memberMilestoneChatEvent - the member that sent the message membershipGiftingEvent - the user that made the purchase giftMembershipReceivedEvent - the user that received the gift membership messageDeletedEvent - the moderator that took the action messageRetractedEvent - the author that retracted their message userBannedEvent - the moderator that took the action superChatEvent - the user that made the purchase superStickerEvent - the user that made the purchase pollEvent - the user that created the poll", +"type": "string" +}, +"displayMessage": { +"description": "Contains a string that can be displayed to the user. If this field is not present the message is silent, at the moment only messages of type TOMBSTONE and CHAT_ENDED_EVENT are silent.", +"type": "string" +}, +"fanFundingEventDetails": { +"$ref": "LiveChatFanFundingEventDetails", +"deprecated": true, +"description": "Details about the funding event, this is only set if the type is 'fanFundingEvent'." +}, +"giftMembershipReceivedDetails": { +"$ref": "LiveChatGiftMembershipReceivedDetails", +"description": "Details about the Gift Membership Received event, this is only set if the type is 'giftMembershipReceivedEvent'." +}, +"hasDisplayContent": { +"description": "Whether the message has display content that should be displayed to users.", +"type": "boolean" +}, +"liveChatId": { +"type": "string" +}, +"memberMilestoneChatDetails": { +"$ref": "LiveChatMemberMilestoneChatDetails", +"description": "Details about the Member Milestone Chat event, this is only set if the type is 'memberMilestoneChatEvent'." +}, +"membershipGiftingDetails": { +"$ref": "LiveChatMembershipGiftingDetails", +"description": "Details about the Membership Gifting event, this is only set if the type is 'membershipGiftingEvent'." +}, +"messageDeletedDetails": { +"$ref": "LiveChatMessageDeletedDetails" +}, +"messageRetractedDetails": { +"$ref": "LiveChatMessageRetractedDetails" +}, +"newSponsorDetails": { +"$ref": "LiveChatNewSponsorDetails", +"description": "Details about the New Member Announcement event, this is only set if the type is 'newSponsorEvent'. Please note that \"member\" is the new term for \"sponsor\"." +}, +"pollDetails": { +"$ref": "LiveChatPollDetails", +"description": "Details about the poll event, this is only set if the type is 'pollEvent'." +}, +"publishedAt": { +"description": "The date and time when the message was orignally published.", +"format": "date-time", +"type": "string" +}, +"superChatDetails": { +"$ref": "LiveChatSuperChatDetails", +"description": "Details about the Super Chat event, this is only set if the type is 'superChatEvent'." +}, +"superStickerDetails": { +"$ref": "LiveChatSuperStickerDetails", +"description": "Details about the Super Sticker event, this is only set if the type is 'superStickerEvent'." +}, +"textMessageDetails": { +"$ref": "LiveChatTextMessageDetails", +"description": "Details about the text message, this is only set if the type is 'textMessageEvent'." +}, +"type": { +"description": "The type of message, this will always be present, it determines the contents of the message as well as which fields will be present.", +"enum": [ +"invalidType", +"textMessageEvent", +"tombstone", +"fanFundingEvent", +"chatEndedEvent", +"sponsorOnlyModeStartedEvent", +"sponsorOnlyModeEndedEvent", +"newSponsorEvent", +"memberMilestoneChatEvent", +"membershipGiftingEvent", +"giftMembershipReceivedEvent", +"messageDeletedEvent", +"messageRetractedEvent", +"userBannedEvent", +"superChatEvent", +"superStickerEvent", +"pollEvent" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"userBannedDetails": { +"$ref": "LiveChatUserBannedMessageDetails" +} +}, +"type": "object" +}, +"LiveChatModerator": { +"description": "A *liveChatModerator* resource represents a moderator for a YouTube live chat. A chat moderator has the ability to ban/unban users from a chat, remove message, etc.", +"id": "LiveChatModerator", +"properties": { +"etag": { +"description": "Etag of this resource.", +"type": "string" +}, +"id": { +"description": "The ID that YouTube assigns to uniquely identify the moderator.", +"type": "string" +}, +"kind": { +"default": "youtube#liveChatModerator", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#liveChatModerator\".", +"type": "string" +}, +"snippet": { +"$ref": "LiveChatModeratorSnippet", +"description": "The snippet object contains basic details about the moderator." +} +}, +"type": "object" +}, +"LiveChatModeratorListResponse": { +"id": "LiveChatModeratorListResponse", +"properties": { +"etag": { +"description": "Etag of this resource.", +"type": "string" +}, +"eventId": { +"deprecated": true, +"description": "Serialized EventId of the request which produced this response.", +"type": "string" +}, +"items": { +"description": "A list of moderators that match the request criteria.", +"items": { +"$ref": "LiveChatModerator" +}, +"type": "array" +}, +"kind": { +"default": "youtube#liveChatModeratorListResponse", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#liveChatModeratorListResponse\".", +"type": "string" +}, +"nextPageToken": { +"description": "The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.", +"type": "string" +}, +"pageInfo": { +"$ref": "PageInfo", +"description": "General pagination information." +}, +"prevPageToken": { +"description": "The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.", +"type": "string" +}, +"tokenPagination": { +"$ref": "TokenPagination", +"deprecated": true +}, +"visitorId": { +"deprecated": true, +"description": "The visitorId identifies the visitor.", +"type": "string" +} +}, +"type": "object" +}, +"LiveChatModeratorSnippet": { +"id": "LiveChatModeratorSnippet", +"properties": { +"liveChatId": { +"description": "The ID of the live chat this moderator can act on.", +"type": "string" +}, +"moderatorDetails": { +"$ref": "ChannelProfileDetails", +"description": "Details about the moderator." +} +}, +"type": "object" +}, +"LiveChatNewSponsorDetails": { +"id": "LiveChatNewSponsorDetails", +"properties": { +"isUpgrade": { +"description": "If the viewer just had upgraded from a lower level. For viewers that were not members at the time of purchase, this field is false.", +"type": "boolean" +}, +"memberLevelName": { +"description": "The name of the Level that the viewer just had joined. The Level names are defined by the YouTube channel offering the Membership. In some situations this field isn't filled.", +"type": "string" +} +}, +"type": "object" +}, +"LiveChatPollDetails": { +"id": "LiveChatPollDetails", +"properties": { +"metadata": { +"$ref": "LiveChatPollDetailsPollMetadata" +}, +"status": { +"enum": [ +"unknown", +"active", +"closed" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"LiveChatPollDetailsPollMetadata": { +"id": "LiveChatPollDetailsPollMetadata", +"properties": { +"options": { +"description": "The options will be returned in the order that is displayed in 1P", +"items": { +"$ref": "LiveChatPollDetailsPollMetadataPollOption" +}, +"type": "array" +}, +"questionText": { +"type": "string" +} +}, +"type": "object" +}, +"LiveChatPollDetailsPollMetadataPollOption": { +"id": "LiveChatPollDetailsPollMetadataPollOption", +"properties": { +"optionText": { +"type": "string" +}, +"tally": { +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"LiveChatSuperChatDetails": { +"id": "LiveChatSuperChatDetails", +"properties": { +"amountDisplayString": { +"description": "A rendered string that displays the fund amount and currency to the user.", +"type": "string" +}, +"amountMicros": { +"description": "The amount purchased by the user, in micros (1,750,000 micros = 1.75).", +"format": "uint64", +"type": "string" +}, +"currency": { +"description": "The currency in which the purchase was made.", +"type": "string" +}, +"tier": { +"description": "The tier in which the amount belongs. Lower amounts belong to lower tiers. The lowest tier is 1.", +"format": "uint32", +"type": "integer" +}, +"userComment": { +"description": "The comment added by the user to this Super Chat event.", +"type": "string" +} +}, +"type": "object" +}, +"LiveChatSuperStickerDetails": { +"id": "LiveChatSuperStickerDetails", +"properties": { +"amountDisplayString": { +"description": "A rendered string that displays the fund amount and currency to the user.", +"type": "string" +}, +"amountMicros": { +"description": "The amount purchased by the user, in micros (1,750,000 micros = 1.75).", +"format": "uint64", +"type": "string" +}, +"currency": { +"description": "The currency in which the purchase was made.", +"type": "string" +}, +"superStickerMetadata": { +"$ref": "SuperStickerMetadata", +"description": "Information about the Super Sticker." +}, +"tier": { +"description": "The tier in which the amount belongs. Lower amounts belong to lower tiers. The lowest tier is 1.", +"format": "uint32", +"type": "integer" +} +}, +"type": "object" +}, +"LiveChatTextMessageDetails": { +"id": "LiveChatTextMessageDetails", +"properties": { +"messageText": { +"description": "The user's message.", +"type": "string" +} +}, +"type": "object" +}, +"LiveChatUserBannedMessageDetails": { +"id": "LiveChatUserBannedMessageDetails", +"properties": { +"banDurationSeconds": { +"description": "The duration of the ban. This property is only present if the banType is temporary.", +"format": "uint64", +"type": "string" +}, +"banType": { +"description": "The type of ban.", +"enum": [ +"permanent", +"temporary" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"bannedUserDetails": { +"$ref": "ChannelProfileDetails", +"description": "The details of the user that was banned." +} +}, +"type": "object" +}, +"LiveStream": { +"description": "A live stream describes a live ingestion point.", +"id": "LiveStream", +"properties": { +"cdn": { +"$ref": "CdnSettings", +"description": "The cdn object defines the live stream's content delivery network (CDN) settings. These settings provide details about the manner in which you stream your content to YouTube." +}, +"contentDetails": { +"$ref": "LiveStreamContentDetails", +"description": "The content_details object contains information about the stream, including the closed captions ingestion URL." +}, +"etag": { +"description": "Etag of this resource.", +"type": "string" +}, +"id": { +"annotations": { +"required": [ +"youtube.liveStreams.update" +] +}, +"description": "The ID that YouTube assigns to uniquely identify the stream.", +"type": "string" +}, +"kind": { +"default": "youtube#liveStream", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#liveStream\".", +"type": "string" +}, +"snippet": { +"$ref": "LiveStreamSnippet", +"description": "The snippet object contains basic details about the stream, including its channel, title, and description." +}, +"status": { +"$ref": "LiveStreamStatus", +"description": "The status object contains information about live stream's status." +} +}, +"type": "object" +}, +"LiveStreamConfigurationIssue": { +"id": "LiveStreamConfigurationIssue", +"properties": { +"description": { +"description": "The long-form description of the issue and how to resolve it.", +"type": "string" +}, +"reason": { +"description": "The short-form reason for this issue.", +"type": "string" +}, +"severity": { +"description": "How severe this issue is to the stream.", +"enum": [ +"info", +"warning", +"error" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"type": { +"description": "The kind of error happening.", +"enum": [ +"gopSizeOver", +"gopSizeLong", +"gopSizeShort", +"openGop", +"badContainer", +"audioBitrateHigh", +"audioBitrateLow", +"audioSampleRate", +"bitrateHigh", +"bitrateLow", +"audioCodec", +"videoCodec", +"noAudioStream", +"noVideoStream", +"multipleVideoStreams", +"multipleAudioStreams", +"audioTooManyChannels", +"interlacedVideo", +"frameRateHigh", +"resolutionMismatch", +"videoCodecMismatch", +"videoInterlaceMismatch", +"videoProfileMismatch", +"videoBitrateMismatch", +"framerateMismatch", +"gopMismatch", +"audioSampleRateMismatch", +"audioStereoMismatch", +"audioCodecMismatch", +"audioBitrateMismatch", +"videoResolutionSuboptimal", +"videoResolutionUnsupported", +"videoIngestionStarved", +"videoIngestionFasterThanRealtime" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"LiveStreamContentDetails": { +"description": "Detailed settings of a stream.", +"id": "LiveStreamContentDetails", +"properties": { +"closedCaptionsIngestionUrl": { +"description": "The ingestion URL where the closed captions of this stream are sent.", +"type": "string" +}, +"isReusable": { +"description": "Indicates whether the stream is reusable, which means that it can be bound to multiple broadcasts. It is common for broadcasters to reuse the same stream for many different broadcasts if those broadcasts occur at different times. If you set this value to false, then the stream will not be reusable, which means that it can only be bound to one broadcast. Non-reusable streams differ from reusable streams in the following ways: - A non-reusable stream can only be bound to one broadcast. - A non-reusable stream might be deleted by an automated process after the broadcast ends. - The liveStreams.list method does not list non-reusable streams if you call the method and set the mine parameter to true. The only way to use that method to retrieve the resource for a non-reusable stream is to use the id parameter to identify the stream. ", +"type": "boolean" +} +}, +"type": "object" +}, +"LiveStreamHealthStatus": { +"id": "LiveStreamHealthStatus", +"properties": { +"configurationIssues": { +"description": "The configurations issues on this stream", +"items": { +"$ref": "LiveStreamConfigurationIssue" +}, +"type": "array" +}, +"lastUpdateTimeSeconds": { +"description": "The last time this status was updated (in seconds)", +"format": "uint64", +"type": "string" +}, +"status": { +"description": "The status code of this stream", +"enum": [ +"good", +"ok", +"bad", +"noData", +"revoked" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"LiveStreamListResponse": { +"id": "LiveStreamListResponse", +"properties": { +"etag": { +"description": "Etag of this resource.", +"type": "string" +}, +"eventId": { +"deprecated": true, +"description": "Serialized EventId of the request which produced this response.", +"type": "string" +}, +"items": { +"description": "A list of live streams that match the request criteria.", +"items": { +"$ref": "LiveStream" +}, +"type": "array" +}, +"kind": { +"default": "youtube#liveStreamListResponse", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#liveStreamListResponse\".", +"type": "string" +}, +"nextPageToken": { +"description": "The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.", +"type": "string" +}, +"pageInfo": { +"$ref": "PageInfo" +}, +"prevPageToken": { +"description": "The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.", +"type": "string" +}, +"tokenPagination": { +"$ref": "TokenPagination", +"deprecated": true +}, +"visitorId": { +"deprecated": true, +"description": "The visitorId identifies the visitor.", +"type": "string" +} +}, +"type": "object" +}, +"LiveStreamSnippet": { +"id": "LiveStreamSnippet", +"properties": { +"channelId": { +"description": "The ID that YouTube uses to uniquely identify the channel that is transmitting the stream.", +"type": "string" +}, +"description": { +"description": "The stream's description. The value cannot be longer than 10000 characters.", +"type": "string" +}, +"isDefaultStream": { +"type": "boolean" +}, +"publishedAt": { +"description": "The date and time that the stream was created.", +"format": "date-time", +"type": "string" +}, +"title": { +"annotations": { +"required": [ +"youtube.liveStreams.insert", +"youtube.liveStreams.update" +] +}, +"description": "The stream's title. The value must be between 1 and 128 characters long.", +"type": "string" +} +}, +"type": "object" +}, +"LiveStreamStatus": { +"description": "Brief description of the live stream status.", +"id": "LiveStreamStatus", +"properties": { +"healthStatus": { +"$ref": "LiveStreamHealthStatus", +"description": "The health status of the stream." +}, +"streamStatus": { +"enum": [ +"created", +"ready", +"active", +"inactive", +"error" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"LocalizedProperty": { +"id": "LocalizedProperty", +"properties": { +"default": { +"type": "string" +}, +"defaultLanguage": { +"$ref": "LanguageTag", +"description": "The language of the default property." +}, +"localized": { +"items": { +"$ref": "LocalizedString" +}, +"type": "array" +} +}, +"type": "object" +}, +"LocalizedString": { +"id": "LocalizedString", +"properties": { +"language": { +"type": "string" +}, +"value": { +"type": "string" +} +}, +"type": "object" +}, +"Member": { +"description": "A *member* resource represents a member for a YouTube channel. A member provides recurring monetary support to a creator and receives special benefits.", +"id": "Member", +"properties": { +"etag": { +"description": "Etag of this resource.", +"type": "string" +}, +"kind": { +"default": "youtube#member", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#member\".", +"type": "string" +}, +"snippet": { +"$ref": "MemberSnippet", +"description": "The snippet object contains basic details about the member." +} +}, +"type": "object" +}, +"MemberListResponse": { +"id": "MemberListResponse", +"properties": { +"etag": { +"description": "Etag of this resource.", +"type": "string" +}, +"eventId": { +"deprecated": true, +"description": "Serialized EventId of the request which produced this response.", +"type": "string" +}, +"items": { +"description": "A list of members that match the request criteria.", +"items": { +"$ref": "Member" +}, +"type": "array" +}, +"kind": { +"default": "youtube#memberListResponse", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#memberListResponse\".", +"type": "string" +}, +"nextPageToken": { +"description": "The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.", +"type": "string" +}, +"pageInfo": { +"$ref": "PageInfo" +}, +"tokenPagination": { +"$ref": "TokenPagination", +"deprecated": true +}, +"visitorId": { +"deprecated": true, +"description": "The visitorId identifies the visitor.", +"type": "string" +} +}, +"type": "object" +}, +"MemberSnippet": { +"id": "MemberSnippet", +"properties": { +"creatorChannelId": { +"description": "The id of the channel that's offering memberships.", +"type": "string" +}, +"memberDetails": { +"$ref": "ChannelProfileDetails", +"description": "Details about the member." +}, +"membershipsDetails": { +"$ref": "MembershipsDetails", +"description": "Details about the user's membership." +} +}, +"type": "object" +}, +"MembershipsDetails": { +"id": "MembershipsDetails", +"properties": { +"accessibleLevels": { +"description": "Ids of all levels that the user has access to. This includes the currently active level and all other levels that are included because of a higher purchase.", +"items": { +"type": "string" +}, +"type": "array" +}, +"highestAccessibleLevel": { +"description": "Id of the highest level that the user has access to at the moment.", +"type": "string" +}, +"highestAccessibleLevelDisplayName": { +"description": "Display name for the highest level that the user has access to at the moment.", +"type": "string" +}, +"membershipsDuration": { +"$ref": "MembershipsDuration", +"description": "Data about memberships duration without taking into consideration pricing levels." +}, +"membershipsDurationAtLevels": { +"description": "Data about memberships duration on particular pricing levels.", +"items": { +"$ref": "MembershipsDurationAtLevel" +}, +"type": "array" +} +}, +"type": "object" +}, +"MembershipsDuration": { +"id": "MembershipsDuration", +"properties": { +"memberSince": { +"description": "The date and time when the user became a continuous member across all levels.", +"type": "string" +}, +"memberTotalDurationMonths": { +"description": "The cumulative time the user has been a member across all levels in complete months (the time is rounded down to the nearest integer).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"MembershipsDurationAtLevel": { +"id": "MembershipsDurationAtLevel", +"properties": { +"level": { +"description": "Pricing level ID.", +"type": "string" +}, +"memberSince": { +"description": "The date and time when the user became a continuous member for the given level.", +"type": "string" +}, +"memberTotalDurationMonths": { +"description": "The cumulative time the user has been a member for the given level in complete months (the time is rounded down to the nearest integer).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"MembershipsLevel": { +"description": "A *membershipsLevel* resource represents an offer made by YouTube creators for their fans. Users can become members of the channel by joining one of the available levels. They will provide recurring monetary support and receives special benefits.", +"id": "MembershipsLevel", +"properties": { +"etag": { +"description": "Etag of this resource.", +"type": "string" +}, +"id": { +"description": "The ID that YouTube assigns to uniquely identify the memberships level.", +"type": "string" +}, +"kind": { +"default": "youtube#membershipsLevel", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#membershipsLevelListResponse\".", +"type": "string" +}, +"snippet": { +"$ref": "MembershipsLevelSnippet", +"description": "The snippet object contains basic details about the level." +} +}, +"type": "object" +}, +"MembershipsLevelListResponse": { +"id": "MembershipsLevelListResponse", +"properties": { +"etag": { +"description": "Etag of this resource.", +"type": "string" +}, +"eventId": { +"deprecated": true, +"description": "Serialized EventId of the request which produced this response.", +"type": "string" +}, +"items": { +"description": "A list of pricing levels offered by a creator to the fans.", +"items": { +"$ref": "MembershipsLevel" +}, +"type": "array" +}, +"kind": { +"default": "youtube#membershipsLevelListResponse", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#membershipsLevelListResponse\".", +"type": "string" +}, +"visitorId": { +"deprecated": true, +"description": "The visitorId identifies the visitor.", +"type": "string" +} +}, +"type": "object" +}, +"MembershipsLevelSnippet": { +"id": "MembershipsLevelSnippet", +"properties": { +"creatorChannelId": { +"description": "The id of the channel that's offering channel memberships.", +"type": "string" +}, +"levelDetails": { +"$ref": "LevelDetails", +"description": "Details about the pricing level." +} +}, +"type": "object" +}, +"MonitorStreamInfo": { +"description": "Settings and Info of the monitor stream", +"id": "MonitorStreamInfo", +"properties": { +"broadcastStreamDelayMs": { +"annotations": { +"required": [ +"youtube.liveBroadcasts.update" +] +}, +"description": "If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay.", +"format": "uint32", +"type": "integer" +}, +"embedHtml": { +"description": "HTML code that embeds a player that plays the monitor stream.", +"type": "string" +}, +"enableMonitorStream": { +"annotations": { +"required": [ +"youtube.liveBroadcasts.update" +] +}, +"description": "This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints. You need to set this value to true if you intend to have a broadcast delay for your event. *Note:* This property cannot be updated once the broadcast is in the testing or live state.", +"type": "boolean" +} +}, +"type": "object" +}, +"PageInfo": { +"description": "Paging details for lists of resources, including total number of items available and number of resources returned in a single page.", +"id": "PageInfo", +"properties": { +"resultsPerPage": { +"description": "The number of results included in the API response.", +"format": "int32", +"type": "integer" +}, +"totalResults": { +"description": "The total number of results in the result set.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Playlist": { +"description": "A *playlist* resource represents a YouTube playlist. A playlist is a collection of videos that can be viewed sequentially and shared with other users. A playlist can contain up to 200 videos, and YouTube does not limit the number of playlists that each user creates. By default, playlists are publicly visible to other users, but playlists can be public or private. YouTube also uses playlists to identify special collections of videos for a channel, such as: - uploaded videos - favorite videos - positively rated (liked) videos - watch history - watch later To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information. You can retrieve the playlist IDs for each of these lists from the channel resource for a given channel. You can then use the playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the playlistItems.insert and playlistItems.delete methods.", +"id": "Playlist", +"properties": { +"contentDetails": { +"$ref": "PlaylistContentDetails", +"description": "The contentDetails object contains information like video count." +}, +"etag": { +"description": "Etag of this resource.", +"type": "string" +}, +"id": { +"description": "The ID that YouTube uses to uniquely identify the playlist.", +"type": "string" +}, +"kind": { +"default": "youtube#playlist", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#playlist\".", +"type": "string" +}, +"localizations": { +"additionalProperties": { +"$ref": "PlaylistLocalization" +}, +"description": "Localizations for different languages", +"type": "object" +}, +"player": { +"$ref": "PlaylistPlayer", +"description": "The player object contains information that you would use to play the playlist in an embedded player." +}, +"snippet": { +"$ref": "PlaylistSnippet", +"description": "The snippet object contains basic details about the playlist, such as its title and description." +}, +"status": { +"$ref": "PlaylistStatus", +"description": "The status object contains status information for the playlist." +} +}, +"type": "object" +}, +"PlaylistContentDetails": { +"id": "PlaylistContentDetails", +"properties": { +"itemCount": { +"description": "The number of videos in the playlist.", +"format": "uint32", +"type": "integer" +} +}, +"type": "object" +}, +"PlaylistImage": { +"id": "PlaylistImage", +"properties": { +"id": { +"description": "Identifies this resource (playlist id and image type).", +"type": "string" +}, +"kind": { +"default": "youtube#playlistImage", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#playlistImages\".", +"type": "string" +}, +"snippet": { +"$ref": "PlaylistImageSnippet" +} +}, +"type": "object" +}, +"PlaylistImageListResponse": { +"id": "PlaylistImageListResponse", +"properties": { +"items": { +"items": { +"$ref": "PlaylistImage" +}, +"type": "array" +}, +"kind": { +"default": "youtube#playlistImageListResponse", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#playlistImageListResponse\".", +"type": "string" +}, +"nextPageToken": { +"description": "The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.", +"type": "string" +}, +"pageInfo": { +"$ref": "PageInfo", +"description": "General pagination information." +}, +"prevPageToken": { +"description": "The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.", +"type": "string" +} +}, +"type": "object" +}, +"PlaylistImageSnippet": { +"description": "A *playlistImage* resource identifies another resource, such as a image, that is associated with a playlist. In addition, the playlistImage resource contains details about the included resource that pertain specifically to how that resource is used in that playlist. YouTube uses playlists to identify special collections of videos for a channel, such as: - uploaded videos - favorite videos - positively rated (liked) videos - watch history To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information. You can retrieve the playlist IDs for each of these lists from the channel resource for a given channel. You can then use the playlistImages.list method to retrieve image data for any of those playlists. You can also add or remove images from those lists by calling the playlistImages.insert and playlistImages.delete methods.", +"id": "PlaylistImageSnippet", +"properties": { +"height": { +"description": "The image height.", +"format": "int32", +"type": "integer" +}, +"playlistId": { +"description": "The Playlist ID of the playlist this image is associated with.", +"type": "string" +}, +"type": { +"description": "The image type.", +"enum": [ +"hero" +], +"enumDescriptions": [ +"The main image that will be used for this playlist." +], +"type": "string" +}, +"width": { +"description": "The image width.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"PlaylistItem": { +"description": "A *playlistItem* resource identifies another resource, such as a video, that is included in a playlist. In addition, the playlistItem resource contains details about the included resource that pertain specifically to how that resource is used in that playlist. YouTube uses playlists to identify special collections of videos for a channel, such as: - uploaded videos - favorite videos - positively rated (liked) videos - watch history - watch later To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information. You can retrieve the playlist IDs for each of these lists from the channel resource for a given channel. You can then use the playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the playlistItems.insert and playlistItems.delete methods. For example, if a user gives a positive rating to a video, you would insert that video into the liked videos playlist for that user's channel.", +"id": "PlaylistItem", +"properties": { +"contentDetails": { +"$ref": "PlaylistItemContentDetails", +"description": "The contentDetails object is included in the resource if the included item is a YouTube video. The object contains additional information about the video." +}, +"etag": { +"description": "Etag of this resource.", +"type": "string" +}, +"id": { +"description": "The ID that YouTube uses to uniquely identify the playlist item.", +"type": "string" +}, +"kind": { +"default": "youtube#playlistItem", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#playlistItem\".", +"type": "string" +}, +"snippet": { +"$ref": "PlaylistItemSnippet", +"description": "The snippet object contains basic details about the playlist item, such as its title and position in the playlist." +}, +"status": { +"$ref": "PlaylistItemStatus", +"description": "The status object contains information about the playlist item's privacy status." +} +}, +"type": "object" +}, +"PlaylistItemContentDetails": { +"id": "PlaylistItemContentDetails", +"properties": { +"endAt": { +"deprecated": true, +"description": "The time, measured in seconds from the start of the video, when the video should stop playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) By default, assume that the video.endTime is the end of the video.", +"type": "string" +}, +"note": { +"description": "A user-generated note for this item.", +"type": "string" +}, +"startAt": { +"deprecated": true, +"description": "The time, measured in seconds from the start of the video, when the video should start playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) The default value is 0.", +"type": "string" +}, +"videoId": { +"description": "The ID that YouTube uses to uniquely identify a video. To retrieve the video resource, set the id query parameter to this value in your API request.", +"type": "string" +}, +"videoPublishedAt": { +"description": "The date and time that the video was published to YouTube.", +"format": "date-time", +"type": "string" +} +}, +"type": "object" +}, +"PlaylistItemListResponse": { +"id": "PlaylistItemListResponse", +"properties": { +"etag": { +"type": "string" +}, +"eventId": { +"description": "Serialized EventId of the request which produced this response.", +"type": "string" +}, +"items": { +"description": "A list of playlist items that match the request criteria.", +"items": { +"$ref": "PlaylistItem" +}, +"type": "array" +}, +"kind": { +"default": "youtube#playlistItemListResponse", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#playlistItemListResponse\".", +"type": "string" +}, +"nextPageToken": { +"description": "The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.", +"type": "string" +}, +"pageInfo": { +"$ref": "PageInfo", +"description": "General pagination information." +}, +"prevPageToken": { +"description": "The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.", +"type": "string" +}, +"tokenPagination": { +"$ref": "TokenPagination" +}, +"visitorId": { +"description": "The visitorId identifies the visitor.", +"type": "string" +} +}, +"type": "object" +}, +"PlaylistItemSnippet": { +"description": "Basic details about a playlist, including title, description and thumbnails. Basic details of a YouTube Playlist item provided by the author. Next ID: 15", +"id": "PlaylistItemSnippet", +"properties": { +"channelId": { +"description": "The ID that YouTube uses to uniquely identify the user that added the item to the playlist.", +"type": "string" +}, +"channelTitle": { +"description": "Channel title for the channel that the playlist item belongs to.", +"type": "string" +}, +"description": { +"description": "The item's description.", +"type": "string" +}, +"playlistId": { +"annotations": { +"required": [ +"youtube.playlistItems.insert", +"youtube.playlistItems.update" +] +}, +"description": "The ID that YouTube uses to uniquely identify thGe playlist that the playlist item is in.", +"type": "string" +}, +"position": { +"description": "The order in which the item appears in the playlist. The value uses a zero-based index, so the first item has a position of 0, the second item has a position of 1, and so forth.", +"format": "uint32", +"type": "integer" +}, +"publishedAt": { +"description": "The date and time that the item was added to the playlist.", +"format": "date-time", +"type": "string" +}, +"resourceId": { +"$ref": "ResourceId", +"annotations": { +"required": [ +"youtube.playlistItems.insert", +"youtube.playlistItems.update" +] +}, +"description": "The id object contains information that can be used to uniquely identify the resource that is included in the playlist as the playlist item." +}, +"thumbnails": { +"$ref": "ThumbnailDetails", +"description": "A map of thumbnail images associated with the playlist item. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail." +}, +"title": { +"description": "The item's title.", +"type": "string" +}, +"videoOwnerChannelId": { +"description": "Channel id for the channel this video belongs to.", +"type": "string" +}, +"videoOwnerChannelTitle": { +"description": "Channel title for the channel this video belongs to.", +"type": "string" +} +}, +"type": "object" +}, +"PlaylistItemStatus": { +"description": "Information about the playlist item's privacy status.", +"id": "PlaylistItemStatus", +"properties": { +"privacyStatus": { +"description": "This resource's privacy status.", +"enum": [ +"public", +"unlisted", +"private" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"PlaylistListResponse": { +"id": "PlaylistListResponse", +"properties": { +"etag": { +"description": "Etag of this resource.", +"type": "string" +}, +"eventId": { +"deprecated": true, +"description": "Serialized EventId of the request which produced this response.", +"type": "string" +}, +"items": { +"description": "A list of playlists that match the request criteria", +"items": { +"$ref": "Playlist" +}, +"type": "array" +}, +"kind": { +"default": "youtube#playlistListResponse", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#playlistListResponse\".", +"type": "string" +}, +"nextPageToken": { +"description": "The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.", +"type": "string" +}, +"pageInfo": { +"$ref": "PageInfo", +"description": "General pagination information." +}, +"prevPageToken": { +"description": "The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.", +"type": "string" +}, +"tokenPagination": { +"$ref": "TokenPagination", +"deprecated": true +}, +"visitorId": { +"deprecated": true, +"description": "The visitorId identifies the visitor.", +"type": "string" +} +}, +"type": "object" +}, +"PlaylistLocalization": { +"description": "Playlist localization setting", +"id": "PlaylistLocalization", +"properties": { +"description": { +"description": "The localized strings for playlist's description.", +"type": "string" +}, +"title": { +"description": "The localized strings for playlist's title.", +"type": "string" +} +}, +"type": "object" +}, +"PlaylistPlayer": { +"id": "PlaylistPlayer", +"properties": { +"embedHtml": { +"description": "An